HowTo How To

2011-02-17

: Ensight Howto HowTo EnSight92_Docs

Open the PDF directly: View PDF PDF.
Page Count: 443

DownloadHowTo  How To
Open PDF In BrowserView PDF
Index

Alphabetical Listing

Table of Contents

Introduction
Use the Online Documentation
Using The How To Manual
EnSight Overview
Connect EnSight Client and Server
Command Line Start-up Options
Use Environment Variables
Use MPI

Read and Load Data
Read Data
Use ens_checker
Load Multiple Datasets (Cases)
Load Transient Data
Use Server of Servers
Load Spatially Decomposed Case Files
Read User Defined
Do Structured Extraction
Use Block Continuation
Use Resource Management

Save or Output
Save or Restore an Archive
Record and Play Command Files
Print/Save an Image
Save Geometric Entities
Save/Restore Context
Save Scenario
Save/Restore Session
Output for Povray

Manipulate Viewing Parameters
Rotate, Zoom, Translate, Scale
Set Drawing Mode (Line, Surface, Hidden Line)
Set Global Viewing Parameters
Set Z Clipping
Set LookFrom / LookAt
Set Auxiliary Clipping
Define and Change Viewports
Control Lighting Attributes
Display Remotely
Save and Restore Viewing Parameters
Create and Manipulate Frames
Reset Tools and Viewports
Use the Color Selector
Enable Stereo Viewing
Pick Center of Transformation
Set Model Axis/Extent Bounds
Do Viewport Tracking
View a Viewport Through a Camera
Manage Views

Manipulate Tools
Use the Cursor (Point) Tool
Use the Line Tool

Use the Plane Tool
Use the Box Tool
Use the Cylinder Tool
Use the Sphere Tool
Use the Cone Tool
Use the Surface of Revolution Tool
Use the Selection Tool
Use the Spline Tool

Visualize Data
Introduction to Part Creation
Create Contours
Create Isosurfaces
Create Particle Traces
Create Clips
Create Clip Lines
Create Clip Planes
Create Box Clips
Create Quadric Clips
Create IJK Clips
Create XYZ Clips
Create RTZ Clips
Create Revolution Tool Clips
Create Revolution of 1D Part Clips
Create General Quadric Clips
Create Clip Splines
Create Vector Arrows
Create Elevated Surfaces
Extrude Parts
Create Profile Plots
Create Developed (Unrolled) Surfaces
Create Subset Parts
Create Tensor Glyphs
Display Displacements
Display Discrete or Experimental Data
Change Time Steps
Extract Vortex Cores
Extract Separation and Attachment Lines
Extract Shock Surfaces
Create Material Parts
Remove Failed Elements
Do Element Blanking
Use Point Parts

Create and Manipulate Variables
Activate Variables
Create New Variables
Extract Boundary Layer Variables
Edit Color Palettes
Use Volume Rendering

Query, Probe, Plot
Get Point, Node, Element, and Part Information
Probe Interactively
Query/Plot
Page 1

Change Plot Attributes
Query Datasets

Manipulate Parts
Change Color
Copy a Part
Group Parts
Merge Parts
Extract Part Representations
Cut Parts
Delete a Part
Change the Visual Representation
Set Attributes
Display Labels
Set Transparency
Select Parts
Set Symmetry
Map Textures

Animate
Animate Transient Data
Create a Flipbook Animation
Create a Keyframe Animation
Animate Particle Traces

Annotate
Create Text Annotation
Create Lines
Create 2D Shapes
Create 3D Arrows
Create Dials
Create Gauges
Load Custom Logos
Create Color Legends
Manipulate Fonts

Configure EnSight
Customize Icon Bars
Customize Mouse Button Actions
Save GUI Settings
Define and Use Macros
Set or Modify Preferences
Enable User Defined Input Devices
Produce Customized Pop-Up Menus
Produce Customized Access to Tools & Features
Setup For Parallel Computation
Setup For Parallel Rendering

Miscellaneous
Select Files

Page 2

Print/Save an Image, 98
Activate Variables, 273
Animate Particle Traces, 365
Animate Transient Data, 348
Change Color, 314
Change Plot Attributes, 305
Change the Visual Representation, 322
Change Time Steps, 256
Command Line Start-up Options, 22
Connect EnSight Client and Server, 12
Control Lighting Attributes, 142
Copy a Part, 316
Create 2D Shapes, 373
Create 3D Arrows, 375
Create a Flipbook Animation, 351
Create a Keyframe Animation, 355
Create and Manipulate Frames, 145
Create Box Clips, 222
Create Clip Lines, 214
Create Clip Planes, 217
Create Clip Splines, 236
Create Clips, 213
Create Color Legends, 383
Create Contours, 198
Create Developed (Unrolled) Surfaces, 247
Create Dials, 377
Create Elevated Surfaces, 243
Create Gauges, 380
Create General Quadric Clips, 234
Create IJK Clips, 225
Create Isosurfaces, 200
Create Lines, 371
Create Material Parts, 265
Create New Variables, 275
Create Particle Traces, 204
Create Profile Plots, 246
Create Quadric Clips, 223
Create Revolution of 1D Part Clips, 233
Create Revolution Tool Clips, 232
Create RTZ Clips, 230
Create Subset Parts, 248
Create Tensor Glyphs, 249
Create Text Annotation, 367
Create Vector Arrows, 238
Create XYZ Clips, 228
Customize Icon Bars, 390
Customize Mouse Button Actions, 392
Cut Parts, 320
Define and Change Viewports, 133
Define and Use Macros, 395
Delete a Part, 321
Display Discrete or Experimental Data, 254
Display Displacements, 251
Display Labels, 329
Display Remotely, 143
Do Element Blanking, 269
Do Structured Extraction, 73
Do Viewport Tracking, 159
Edit Color Palettes, 285

Enable Stereo Viewing, 155
Enable User Defined Input Devices, 416
EnSight Overview, 10
Extract Boundary Layer Variables, 283
Extract Part Representations, 319
Extract Separation and Attachment Lines, 261
Extract Shock Surfaces, 263
Extract Vortex Cores, 259
Extrude Parts, 244
Get Point, Node, Element, and Part Information, 291
Group Parts, 317
Introduction to Part Creation, 191
Load Custom Logos, 382
Load Multiple Datasets (Cases), 52
Load Spatially Decomposed Case Files, 66
Load Transient Data, 57
Manage Views, 162
Manipulate Fonts, 386
Map Textures, 338
Merge Parts, 318
Output for Povray, 116
Pick Center of Transformation, 156
Probe Interactively, 294
Produce Customized Access to Tools & Features, 424
Produce Customized Pop-Up Menus, 417
Query Datasets, 313
Query/Plot, 297
Read Data, 36
Read User Defined, 72
Record and Play Command Files, 95
Remove Failed Elements, 267
Reset Tools and Viewports, 152
Rotate, Zoom, Translate, Scale, 120
Save and Restore Viewing Parameters, 144
Save Geometric Entities, 106
Save GUI Settings, 394
Save or Restore an Archive, 92
Save Scenario, 112
Save/Restore Context, 110
Save/Restore Session, 115
Select Files, 434
Select Parts, 332
Set Attributes, 324
Set Auxiliary Clipping, 132
Set Drawing Mode (Line, Surface, Hidden Line), 123
Set Global Viewing Parameters, 125
Set LookFrom / LookAt, 129
Set Model Axis/Extent Bounds, 157
Set or Modify Preferences, 399
Set Symmetry, 335
Set Transparency, 331
Set Z Clipping, 127
Setup For Parallel Computation, 432
Setup For Parallel Rendering, 433
Use Block Continuation, 79
Use ens_checker, 46
Use Environment Variables, 28
Use MPI, 31
Use Point Parts, 271

Page 3

Use Resource Management, 84
Use Server of Servers, 59
Use the Box Tool, 174
Use the Color Selector, 154
Use the Cone Tool, 181
Use the Cursor (Point) Tool, 164
Use the Cylinder Tool, 177
Use the Line Tool, 166
Use the Online Documentation, 5

Use the Plane Tool, 169
Use the Selection Tool, 186
Use the Sphere Tool, 179
Use the Spline Tool, 189
Use the Surface of Revolution Tool, 183
Use Volume Rendering, 289
Using The How To Manual, 7
View a Viewport Through a Camera, 160

Page 4

Introduction
Use the Online Documentation

INTRODUCTION
The EnSight online documentation consists of:
Installation Guide

Consists of a .pdf file in the doc directory (as well as being available for easy reading
from the web install page). Also goes out as hardcopy with an EnSight distribution CD.

Getting Started
Manual

The Getting Started Manual contains basic Graphical User Interface overview
information and several tutorials. This manual is not cross-referenced with any of the
other manuals.

How To Manual

The How To documentation consists of relatively short articles that describe how to
perform a specific operation in EnSight, such as change the color of an object or
create an isosurface. Step-by-step instructions and pictures of relevant dialogs are
included. In addition, each How To article typically contains numerous hyperlinks
(colored blue) to other related articles (and relevant sections of the User Manual).
Note that, although the entries in the How To table of contents and index are not
colored blue, you can still click on an entry and jump to the appropriate document.
How To Use the How To Manual
How To Table of Contents
How To Index

User Manual

The User Manual is a more traditional document providing a detailed reference for
EnSight. The User Manual contains blue hyperlinks as well. Both the User Manual
table of contents and index entries are hotlinked as well as cross-reference entries
within chapters (which typically start with “See Section ...” or “See How To ...”).
User Manual Table of Contents
User Manual Index

Command Language
Manual

The Command Language Reference Manual documents command language used
within EnSight. This manual contains some cross-references to the How To and User
Manuals, but cross-referencing from them back is extremely minimal.

Interface Manual

The Interface Manual contains the information needed for creating user-defined
readers, creating user-defined writers, creating user-defined math functions,
interacting with EnSight through the external command driver, and using the EnSight
python interpreter.

WHERE TO START?
If you are new to EnSight you should read the EnSight Overview article. Chapter 1 and Chapter 5 in the User
Manual also provide overview information. The Introduction to Part Creation provides fundamental information on
EnSight’s part concept.

PDF READER
The EnSight online documentation is in pdf format. EnSight uses a pdf reader such as the Acrobat® Reader software
from Adobe Systems, Inc., Xpdf, or Apple’s Preview. Any of these readers provide similar capabilities. For the
purposes of this documentation, the Acrobat Reader will be pictured. A pdf reader provides much the same
functionality as a World Wide Web browser while providing greater control over document content quality. To use a
different reader (from the default), simply set the environment variable CEI_PDFREADER to a different reader
application. See How To Use the How To Manual for more information on using a pdf reader.

Page 5

HOW TO PRINT THE DOCUMENTATION
Printing Topics From a PDF Reader
You can easily print any topic in the How To manual or any pages from the other documentation from within the pdf
reader. The documents have been optimized for screen manipulation, but will still produce decent hardcopy printouts.
To print a topic:
1. Navigate to the topic you want to print.
2. Choose Print... from the File menu.
3. Be sure the Printer Command setting is correct for your environment and then click OK. Your document should
print to the selected (or default) printer. If you do not have a printer available on your network or you wish to save
the PostScript file to disk, you can do so: click the File button, enter a filename, and click OK.

Printing EnSight Manuals
You can print (all or portions of) the EnSight manuals from provided .pdf files. These files have been print optimized
and should produce reasonably high quality hardcopy. They have all been formatted for letter size paper. These files
are located in the doc/Manuals directory of the EnSight installation.
$CEI_HOME/ensight92/doc/Manuals/GettingStarted.pdf
$CEI_HOME/ensight92/doc/Manuals/HowTo.pdf
$CEI_HOME/ensight92/doc/Manuals/UserManual.pdf
$CEI_HOME/ensight92/doc/Manuals/CLmanual.pdf
$CEI_HOME/ensight92/doc/Manuals/InterfaceManual.pdf
You can open these manuals in the pdf reader and print any or all pages, or send them to an outside source for
printing, or order printed copies from our website.

CONTACTING CEI
If you have questions or problems, please contact CEI:
Computational Engineering International, Inc.
2166 N. Salem Street, Suite 101
Apex, NC 27523 USA
Email:
Hotline:

support@ensight.com
800-551-4448 (U.S.)
919-363-0883 (Non-U.S.)

Phone:
FAX:

919-363-0883
919-363-0833

WWW:

http://www.ceintl.com

or

http://www.ensight.com

Page 6

Using The How To Manual

INTRODUCTION
The “How To” documentation provides quick access to various topics of interest. The topics provide basic and some
advanced usage information about a specific tool or feature of EnSight. Each topic will provide links to the
appropriate section of the EnSight User Manual as well as links to other applicable How To articles. When you hit a
Help button within the various dialogs in EnSight, you will generally be taken to one of the topics in the “How To”
manual.
Topics typically contain the following sections:
Introduction

Introduction to the topic

Basic Operation

Quick steps for simple usage

Advanced Usage

Detailed information on topic

Other Notes

Other items of interest

See Also

Links to related topics and documentation

(See below for how to quickly jump to a specific section using document navigation.)
The header and footer of each article page provides simple navigation controls:
Return to How To
Topics List

Access this page

First page of
current topic

Previous page

Last page of
current topic

Next page

In addition, links to other documents are displayed as highlighted text. Note that all links and navigation controls
(except index and table of contents) are colored blue.

PDF READER
The EnSight online documentation is in .pdf format. EnSight uses a pdf reader such as the Acrobat® Reader software
from Adobe Systems, Inc., Xpdf, or Apple’s Preview. Any of these readers provide similar capabilities. For the
purposes of this documentation, the Acrobat Reader is pictured. A pdf reader provides much the same functionality
as a World Wide Web browser while providing greater control over document content quality. To use a different pdf
reader, simply set the environment variable CEI_PDFREADER to a different reader application.
The user interface for the various pdf readers is very simple and provides intuitive navigation controls. Keep in mind
that the pages were designed to be viewed at 100% magnification. Although you can use other magnification
settings, the quality of the dialog images may be degraded.

Page 7

Thus, in addition to the navigation controls within the document itself which are described above, a pdf reader
(Acrobat for example) provides quick access to various display options and navigation controls. A few of them are
pointed out for the Acrobat Reader below. Please use the Help option for your reader for a more comprehensive
description of its options.
Select Tool
Grab and move page
Print

Click and zoom in
(Ctl-click to zoom out)
Standard page
magnification controls
For additional help

Standard page
navigation

Go forward to previously
viewed page
Go back to last
viewed page

Each How To topic provides a set of bookmarks that match the standard
section titles. You can quickly navigate to one of these sections by using
the bookmark list in pdf reader.
The “Go back/forward” buttons are particularly useful – they operate somewhat like the “Back” and “Forward” buttons
on standard Web browsers. If your previously viewed page was in a different document, the pdf reader will
automatically reload the appropriate file and jump to the correct page. Note that most pdf readers also consider a
change of view (e.g. scrolling) or magnification as an event to remember in the back/forward list.

Page 8

PRINTING
Printing Topics From The PDF Reader
You can easily print any topic in the How To manual or pages from the other documentation from within the pdf
reader. The documents will produce decent hardcopy printouts. To print a topic:
1. Navigate to the topic you want to print.
2. Choose Print... from the File menu (or hit the printer icon).
3. Be sure the Printer Command setting is correct for your environment and then click OK. Your document should
print to the selected (or default) printer. If you do not have a printer available on your network or you wish to save
the PostScript file to disk, you can do so: click the File button, enter a filename, and click OK.

Printing EnSight Manuals
You can print (all or portions of) the EnSight manuals from provided .pdf files. These files have been print optimized
and should produce reasonably high quality hardcopy. They have all been formatted for letter size paper. These files
are located in the doc/Manuals directory of the EnSight installation.
$CEI_HOME/ensight92/doc/Manuals/Installation.pdf
$CEI_HOME/ensight92/doc/Manuals/GettingStarted.pdf
$CEI_HOME/ensight92/doc/Manuals/HowTo.pdf
$CEI_HOME/ensight92/doc/Manuals/UserManual.pdf
$CEI_HOME/ensight92/doc/Manuals/CLmanual.pdf
$CEI_HOME/ensight92/doc/Manuals/InterfaceManual.pdf
You can open these manuals in the pdf reader and print any or all pages, or send them to an outside source for
printing.

Page 9

EnSight Overview

ENSIGHT OVERVIEW
EnSight is a powerful software package for the postprocessing, visualization, and animation of complex datasets.
Although EnSight is designed primarily for use with the results of computational analyses, it can also be used for
other types of data. Please note that EnSight CFD is a separate product.
This document provides a very brief overview of EnSight. Consult Chapter 1 in the User Manual for additional
overview information. This article is divided into the following sections:
Graphical User Interface
Client / Server Architecture
EnSight’s Parts Concept
Online Documentation

Graphical User Interface
The graphical user interface (GUI) of EnSight contains the following major components:
Note: This whole upper level of the GUI
is referred to as the “Desktop”

Information Area Button
Click to see information dialog.
Message Area
Quick Interaction Area
Interface controls associated with the current
feature selected from the Feature Icon Bar.

Main Menu
Feature Icon Bar
Sets the current feature. Click an
icon to open the associated Quick
Interaction area.
Main Parts List
All parts from your model as well as
created parts (e.g. clips, isosurfaces)
are listed here. Click an item to
select part(s) to operate on.
Mode Selection Area
Sets the major mode of EnSight (Part,
Annot, Plot, VPort, ...) and loads the
applicable set of icons into the
vertical Mode Icon Bar. Click the
button to select the Mode.

Mode Icon Bar
The set of icons associated with the
current Mode. Click the icon to
access the function. If Tool Tips are
on (bottom right of desktop), the
icon’s function name will be shown
when mouse is over the icon. If
necessary, use the vertical scroll bar
to access the remainder of the icons.
Transformation Control Area
Buttons that control the current
transformation operation (e.g. rotate
or translate) associated with mouse
action in the Graphics Window. Other
buttons open dialogs providing
detailed transformation control.

Graphics Window showing inset plot and viewport

Chapter 5 in the User Manual provides additional overview information on the user interface.
Page 10

Client / Server Architecture
To facilitate the handling of large datasets and efficiently use networked resources, EnSight was designed to
distribute the postprocessing workload. Data I/O and all compute intensive functions are performed by a server
process. The server transmits 3D geometry (and other information) to a client running on a graphics workstation.
The client handles all user interface interaction and graphic rendering using the workstation’s built-in graphics
hardware.
host1

host2

Server
Requests

Server
3D objects

host1

Client

Client

Stand-alone Operation

Distributed Operation

The client and server each run as separate processes on one or more computers. When distributed between a
compute server and a graphics workstation, EnSight leverages the strengths of both machines. When both tasks
reside on the same machine, a stand-alone capability is achieved. The client–server architecture allows EnSight to
be used effectively, even on systems widely separated geographically.
Before EnSight can be used, the client and server must be connected. For standalone operation, you simply run the
“ensight8” script and the client and server are started and connected for you. For distributed operation (as well as for
standalone operation when more control is desired), there are two methods of achieving a connection: a manual
connection (described in the Getting Started manual) or an automatic connection (described in How To Connect
EnSight Client and Server).
EnSight’s cases feature allows you to postprocess multiple datasets simultaneously. Cases is implemented by
having a single client connected to multiple servers running on the same or different machines.

EnSight’s Parts Concept
One of the central concepts of EnSight is that of the part. A part is a named collection of elements (or cells) and
associated nodes. The nodes and/or elements may have zero or more variables (such as pressure or stress). All
components of a part share the same set of attributes (such as color or line width).
Parts are either built during the loading process (based on your computational mesh and associated surfaces) or
created during an EnSight session. Parts created during loading are called model parts.
All other parts are created during an EnSight session and are called created or derived parts. Created parts are built
using one or more other parts as the parent parts. The created parts are said to depend on the parent parts. If one or
more of the parent parts change, all parts depending on those parent parts are automatically recalculated and
redisplayed to reflect the change. As an example, consider the following case. A clipping plane is created through
some 3D computational domain and a contour is created on the clipping plane. The contour’s parent is the clipping
plane, and the clipping plane’s parent is the 3D domain. If the 3D domain is changed (e.g. the time step changes),
the clipping plane will first be recalculated, followed by the contour. In this way, part coherence is maintained.
One of the major modes of EnSight is Part Mode. Operations in Part Mode (performed by clicking one of the icons in
the vertical Mode Icon bar) operate on the parts currently selected in the Main Parts list. See How To Select Parts
for more information.
See the Introduction to Part Creation for more information on parts.

Online Documentation
Documentation for EnSight is available online. See How To Use the Online Documentation for more information as
well as hyperlinks to the main documents. Online documentation is accessed from the Main Help menu in the user
interface. In addition, major dialog windows contain Help buttons that will open a relevant “How To” article.

Page 11

Connect EnSight Client and Server

INTRODUCTION
EnSight is a distributed application with a client that manages the user interface and graphics, and a server that reads
data and performs compute-intensive calculations. The client and server each run as separate processes on one or
more computers. Before EnSight can do anything useful, the client process must be connected to the server process.
For a simple operation on the same machine (standalone), the client and server processes will be started and
connected for you. If you desire more control over the standalone operation or want to take advantage of a
distributed operation, you have the options described below.

Necessary Prerequisites
EnSight must have been installed, the CEI_HOME and the command search path set properly. If you successfully
performed the installation as described in the Installation Guide, then these settings should be correct.
(See $CEI_HOME/ensight92/doc/Manuals/Installation.pdf if you need this manual.)

SIMPLE STANDALONE OPERATION (CONNECTION OCCURS AUTOMATICALLY)
If you want to run Ensight client and server (or SOS) on the same machine (standalone), and you have not changed
the default automatic connections to be elsewhere, you can simply do the following:
To Start Ensight:
Non Windows:

Windows:

EnSight92

Either double click the EnSight 9.2
icon on the desktop,

or
Start > CEI > EnSight 9.2

At the prompt In a shell window, type:
ensight92

To Start Ensight in SOS mode: (reminder that you need a gold license key for this)
Non Windows:

Windows:
Start > CEI > EnSight 9.2 SOS

At the prompt in a shell window, type:
ensight92 -sos

Note: To add another dataset or replace the existing dataset (which EnSight refers to as another case), see Adding Another Case
below

Page 12

CONNECTING AUTOMATICALLY
Automatic connections are made according to the “default” connection settings that have been stored (and are
visible) in the Job Launch Settings Dialog. The connection that occurs on startup will be according to the settings
saved in this dialog (and its associated file). Thus, it is important that you know how to get to this dialog.
The Job Launch Settings dialog is accessed via Case on the
main menu.
For each connection, fields are provided for
the needed information.
The default connection is indicated with a True
value for ‘Default configuration’. If EnSight is
started with a connection to an existing
Configuration then it uses those settings. For
example,
ensight92 -c remote_conn
will start up with the indicated options. If the
Configuration is not found, then EnSight will
start up with your default settings but then use
the host name as given by the ‘-c’ command
line option.
When you make changes to any of the fields,
the Save button is activated so you can save
these settings.

To add a new entry, click “New”, name your
entry in Configuration name, fill in your data,
toggle the Default configuration toggle if you
wish this to be your default connection setting,
and press “Save” to save your entry.
Working directory is used when the server is
first started and the browser is opened (e.g. for
case add or case replace). If the working
directory is not set, EnSight uses the
preferences directory. If that is not set, then
the current working directory will be
dependent on the platform, operating system,
and user settings.

If a numerical field has a -1 in it or if a string field is empty,
then it uses the default setting for that field. Currently, the
field Number of Nodes should be left to 1.

Page 13

CONNECTING MANUALLY
ensight92.client -cm will start a client that expects a manual connection and will prompt the user to start the
server/SOS manually, you can do something like the following:
Note: the machine you are running the client on will be referred to as CLIENT_HOST.
the machine you desire to run the server on will be referred to as SERVER_HOST
In a second window, log onto the SERVER_HOST machine using telnet (or ssh or equivalent).
The SERVER_HOST does not have to be of the same operating system as the CLIENT_HOST.

Example of doing a telnet from a
linux machine to a unix machine.

Example of doing a telnet
from a windows machine to
a windows machine.

Start the ensight server on the SERVER_HOST machine, using the appropriate script and the -c option.
If the SERVER_HOST machine is
Windows:
ensight92_server -c CLIENT_HOST
Note the difference ( . vs _ )
Non-Windows: ensight92.server -c CLIENT_HOST
or for SOS
Windows:
Non-Windows:

ensight92_sos -c CLIENT_HOST
ensight92.sos -c CLIENT_HOST

Note the difference ( . vs _ )

The -c CLIENT_HOST option tells the EnSight Server to connect to the EnSight Client listening on CLIENT_HOST.

Example if doing a
telnet into a
SERVER_HOST which is a
windows machine

Example if doing a telnet into a
SERVER_HOST which is a linux machine.

The Server should now make the connection. To see if the connection is successful, you can click on the Information

Page 14

button on the Desktop. You should see “Connection accepted” in the EnSight Message Window which comes up. You
can also check the Connection Details under the Case menu. Licensing information should also appear in the
Graphics Window. If the connection failed, please consult Manual Connection Troubleshooting below and
Troubleshooting the Connection in the Installation Guide before contacting CEI support.

Manual Connection Troubleshooting
A manual connection can fail for any of several reasons. Because of the complexity of networking and customized
computing environments, we recommend that you consult your local system administrator and/or CEI support if the
following remedies fail to resolve the problem.
Problem

Probable Causes

Solutions

Unable to telnet into the
SERVER_HOST machine

Telnet service not allowed or not
running on the SERVER_HOST
machine.

Get system administration help to be able to perform this
operation. It may be that your site requires the use of ssh
or some other equivalent.

Ensight server does not start on
SERVER_HOST machine.

EnSight is not properly installed on
the SERVER_HOST

Verify the installation on the SERVER_HOST as described
in the Installation Guide. Making sure that the proper
environment variables and command path have been set.

For Unix Systems:

ADVANCED USAGE
Command Line Options
Command line options can be used to streamline many of the connection processes.Connection Details
Startup Command

Description

ensight92
ensight92.client -c

Starts up client and autoconnects according to default job launch configuration settings.

ensight92 -sos
ensight92.client -c -sos

Starts up client and auto connects to sos according to default job launch configuration
settings. This requires a gold key.

ensight92.client

Starts up client with no connection.

ensight92.client -c connname

Starts up client and auto connects to the host specified in the job launch configuration
settings. The default settings are used if connname is not listed.

ensight92.client -c connname -sos Starts up client and auto connects the sos to the host specified in the job launch configuration
setttings.
ensight92.client -cm

Starts up a client, and prompts for a manual connection.

* Note that if you are starting from a PC in a command window, change the period to an underscore: ensight92.client becomes
ensight92_client. Also if you specify a resource file to use in the start up, it takes precedence over connection settings.

Connection Details
You can always check the status of the current connection by accessing the Connection details dialog from the Case

Page 15

menu.

The Connection details dialog is informational; the fields
cannot be changed by the user.
Press Update to refresh the information, if this dialog has been
open while activity is occurring.

Page 16

Adding Another Case
You would add another case when you want to add an additional dataset (called a “case”) to your EnSight session.
This is often used for things like A-B comparisons or for assembling components that have been analyzed in different
solvers. You can also use the process described below to replace the current case with a new one without having to
restart EnSight.
You can add or replace cases directly from the
Case menu,

From either option, this dialog will
appear when adding a case.

Additionally, this dialog will appear first
when replacing a case.

For more information on Cases, see How To Load Multiple Datasets (Cases)

Page 17

Other Auto connection requirements
The auto-connect mechanism requires that certain conditions exist in your computing environment for auto
connections to work when running the EnSight server or SOS process on a different computer. Specifically, EnSight
depends on a correctly working 'ssh' command that doesn't require passwords. The notes below assume using the
default 'ssh' command.
Alternatively, EnSight can use a replacement command for 'ssh' as long as that replacement command follows 'ssh'
syntax or ‘rsh’ syntax
(i.e. rsh [-l username] hostname command)
Should you wish to use an alternative command for 'ssh', you may specify this command in the Job Launch
Configuration Setting dialog or on the EnSight command line with the '-rsh alternative_command_name' command
line option where 'alternative_command_name' is the replacement command. Typically, one of these mechanisms is
used in computing environments that use either 'ssh' or 'k5rsh'.

On Unix Systems:
1. You have a .cshrc file (even if you are running some other command shell such as /bin/sh) in your home
directory on the EnSight server host that contains valid settings for CEI_HOME, and that your path variable
includes the bin directory of CEI_HOME. For example, if your EnSight distribution is installed in /usr/local/
CEI and you are running EnSight on an Linux or Unix system (other architectures use a different library path
variable), your .cshrc should contain:
setenv CEI_HOME /usr/local/CEI
set path = ( $path $CEI_HOME/bin )
To verify the settings, simply try to start the server.
2. Your .cshrc file (or files sourced or executed from there) has no commands that cause output to be written (e.g.
date or pwd). Any output can interfere with EnSight server startup.
3. You can successfully execute a remote shell command from the client host system to the server host system. The
name of the remote shell command varies from system to system. While logged on to the client host system,
execute one of the following (where serverhost is the name of your server host system):
ssh serverhost date
If successful, the command should print the current date.
If any of these conditions are not met, you will be unable to establish a connection automatically and will have to use
the manual connection mechanism. Note that it is not uncommon for system administrators to disable operation of all
remote commands for security reasons. Consult your local system administrator for help or more information.
Note that if you wish to use ‘rsh’ instead of ‘ssh’, then you need to have a valid .rhosts file in your home directory
on all systems on which you wish to run the EnSight server. The file permission for this file must be such that only the
owner (you) has write permission (e.g. chmod 600 ~/.rhosts). A .rhosts file grants permission for certain
commands (e.g. rsh or rlogin) originating on a remote host to execute on the system containing the .rhosts file.
For example, the following line grants permission for remote commands from host clienthost executed by user
username to execute on the system containing the .rhosts file:
clienthost username
There should be one line like this for every client host system that you wish to be able issue remote commands from.
It is sometimes necessary to add an additional line for each client host of the form clienthost.domain.com
username (where domain.com should be changed to the full Internet domain name of the client host system). To
verify this, simply try to rsh to the remote machine.

On Windows Systems:
1. You have the EnSight server (ensight92_server) installed on the same system as your EnSight client (if you plan to
connect to the same system)
---- OR ---2. You can successfully execute a remote shell command from the client host system to the server host system.

Page 18

Note: By default EnSight will use the ‘ssh’ command. ssh is not a default component on Windows
workstations and must be installed by the user from one of many third party sources. However, Windows
does include a rsh command which EnSight can optionally use. Note, however, only systems running
Windows Server have the RSH service and can respond by executing the EnSight server.
The name of the remote shell command varies from system to system. While logged on to the client host system,
execute one of the following (where serverhost is the name of your server host system):
ssh serverhost date
rsh serverhost date
If successful, the command should print the current date.
If condition 1. or 2. is not met, you will be unable to establish a connection automatically and will have to use the
manual connection mechanism. Note that it is not uncommon for system administrators to disable operation of all
remote commands for security reasons. Consult your local system administrator for help or more information.

Manual connection Troubleshooting
An automatic connection can fail for any of several reasons. Because of the complexity of networking and customized
computing environments, we recommend that you consult your local system administrator and/or CEI support if the
following remedies fail to resolve the problem.
Problem

Probable Causes

Solutions

Server (remote) host name is
incorrect for some reason.

Is the server host entered correctly in the Hostname
field? Try running telnet serverhost from the client
machine.

Incorrect or missing .rhosts file
in your home directory on the
server host.

Follow the instructions on .rhosts files (as described in
the Basic Operation section, step 1 above). If you cannot
successfully execute a remote command (such rlogin
or rsh) from the client host to the server host, you will not
be able to connect automatically.

The user account (i.e. login name)
on the client host does not exist on
the server host.

Enter your login name on the server host in the Login
name field.

The server executable is not found
on the server system

Is the entry in the Executable [path/]name field correct? If
the server executable is NOT in your default command
search path on the server, you must include the full path
name to the executable. For example, /usr/local/
CEI/ensight92/bin/ensight92.server.

Your .cshrc does not contain a
valid setting for CEI_HOME.

Add the appropriate line as described in the Basic
Operation section, step 2 above.

Your .cshrc file (or files executed
by it) causes output to be written.
This is interpreted as a server
startup error.

Remove the offending commands from your .cshrc file.
As a test, do the following:

For Unix Systems:
Automatic connection fails or is
refused

% cd
% mv .cshrc .cshrc-SAVE
Create a new .cshrc file that contains only the lines to set
CEI_HOME and path as described in the Basic
Operation section, step 2 above. If that test works, you
will need to examine your .cshrc to find and remove the
offending lines.

For Windows Systems:
Automatic connection fails or is
refused (trying to connect to
same host system)

Server not installed or not
executable.

You should be able to locate the server executable
(ensight92_server) using Windows Explorer. Double click
on it and see if a console window opens with “This is
EnSight Server 9.2” etc. If this doesn’t happen, refer to
“Troubleshooting the Installation” in the Getting Started
Manual.

Page 19

Problem

Probable Causes

Solutions

Path to the server is incorrect

If using the EnSight Connect dialog, check that the
correct path is specified in the “Executable” field.
If running from the ensight92 command, first ensure that
your PATH environment variable contains the paths for
the ensight92 “client” and “server” directories. You can
check and correct the value of PATH in the Start
>Settings >ControlPanel >System_Environment dialog.

Incorrect hostname entered in the
“Hostname” field of the Connection
settings dialog.

Make sure that the hostname is correct, including the
case of all letters. The ONLY way to confidently see the
hostname (in the correct case) from Windows is to open
a Command Prompt window and type:
> ipconfig /all
The Host Name will be one of the first things listed.

Automatic connection fails or is
refused (trying to connect to a
remote server)

Same causes as for a Unix system

See “For Unix Systems” portion of this table above.

Other Notes
Connection Name - Hostname flexibility
When you specify '-c name' on the command line, EnSight will match the specified 'name' to a Job Launch
Configuration name. If a match is found, then the Configuration’s Hostname (not Configuration name) is used as the
computer name for the EnSight Server or EnSight SOS. Should a match not be found, then EnSight will use all the
settings for the default Configuration but substitute the name specified by '-c name' for the hostname.
The Job Launch Configuration Setting dialog lists entries by a 'Configuration name' which can be different than the
'Hostname'. The Hostname must be a properly routable intranet/Internet hostname and/or TCP/IP address. A
Configuration name can be any name that doesn't include spaces or special characters. The configuration name and
hostname can be identical.

Network ports used by EnSight and SLiM
Client/Server Mode
The EnSight client connects to the slimd8 license manager via TCP port 7790 typically. This actual port used is
defined in $CEI_HOME/license8/slim8.key and appears on the 'slimd' line as the number after 'slimd'.
The client listens for connections from the EnSight server on TCP port 1106. It also communicates with the
collaborative hub on TCP port 1107. If the client is listening for external commands, it will use TCP port 1104.
If port 1106 is used by another process, EnSight will give you an error "Address already in use", and there are two
possible solutions:
1: use another port with command line option "-ports ####" for both client and server (inconvenient)
2: kill (or have root kill) the process that has the port locked.
For example, determine the process:
/sbin/fuser 1106/tcp
the result comes back....
1106/tcp: 314159o
in this case you(or root, if necessary) would kill it...
kill -9 314159
Note that the specific commands to use will vary depending on operating system.
Server of Server Mode
When running in Server of Server mode (SOS), the SOS is threaded and will start up server processes in parallel
(subject to CPU availability and license restrictions) using ports 1110 through 1117. To limit the number of threads,
set the environmental variable ENSIGHT9_MAX_SOSTHREADS to the maximum number of threads (max is 8).

Page 20

Distributed Renderer - used by parallel compositor
Ports 8739 to 8789 must be available to EnSight for its own internal TCP/IP connections when running the parallel
compositor in EnSight DR.

SEE ALSO
Chapter 2 of the Getting Started Manual
How To Load Multiple Datasets (Cases)

Page 21

Command Line Start-up Options

INTRODUCTION
There are a number of options that can be included on the command line when starting EnSight. The following tables
indicate the commands that can be issued for the EnSight script (ensight92), the EnSight client (ensight92.client), the
EnSight server (ensight92.server), or the EnSight server-of-servers (ensight92.sos). To see the most current listing
for any of these, issue one or more of the following:
Linux/Unix/Mac
ensight92 -help
ensight92.client -help
ensight92.server -help
ensight92.sos -help

Windows
ensight92_client -help
ensight92_server -help
ensight92_sos -help

BASIC USAGE
ensight92 [options]
or

ensight92.client [options]
Section 1. EnSight Startup/Client-Server Options
-ar 
Restore from specified archive file “f”
-c [[:]]
Do an auto connection, with optional “host” machine and executable. If only -c is used, the
auto connection will be according to the values set in your ensight_conn_settings file (which is
created in your EnSight Defaults directory (located at
%HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at
C:\Users\username\ on Vista and Win7, C:\Documents and Settings\yourusername\ on older
Windows, ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac) if
you connect via the Connect dialog). EnSight server will run on “host” if you include it after

-case 
-cierr
-cip

-cm
-collab_port <#>
-ctx 
-custom
-cwd 

-d # -display # -delay_refresh -extcfd -externalcmdport -externalcmds -gold -hide_console -homecwd -lite -localhostname -no_delay_refresh -p the -c. And you can also optionally specify the server executable to run on said “host”. Read EnSight casefile name ”f” and display part loader Connect auto and ignore errors Send client’s IP address to the server for auto connect. The IP address will be used instead of the internet hostname. This can be useful for clients which use dynamic IP address assignment (i.e. dhcp). (However, it may not send the correct address if the client computer has multiple network interfaces (e.g. WiFi and wired ethernet).) Do a manual connection of server Specify the port for collaboration socket communication. Applies context file “f” as soon as connection is made Force the license manager to look for a custom token Sets the client working directory to the path specified by ‘p’ Command line display? Graphics window is not updated during command file playback, until finished Extended CFD variables automatically placed in variable list Specify the port on which to receive external commands. See -externalcmds. Has EnSight start listening for a connection on port 1104 (or the port specified with the -externalcmdport) for an external command stream. Once connected, all commands must then come from the external source - as the GUI commands will be ignored. Force the license manager to look for a gold token (Windows only) hides console on startup (Windows only) Sets the client working directory to HOME Start EnSight in Lite mode Host name to force server(s) to use to connect to client Graphics window is updated during command file playback, until finished Plays playfile “f” as soon as connection is made Page 22 -part_loader If a file is specified on the command line, this command will bring up the part loader to allow for part selection. If a file is specified on the command line without this command, all parts will be loaded. -ports # Allows user specification of socket communication port. (passed on to server or sos) -prdist # Specify a parallel rendering distribution config file. -pyargv . . . [-endpyargv] Anything on the command line between these two options will appear as ‘sys.argv’ in Python. sys.argv[0] = “ensight” except if a python startup file is specified via -qtguipy, in which case, that filename becomes sys.argv[0]. Note, -pyargv will swallow arguments up to the end of the argument list or -endpyargv, whichever comes first. -rsh Remote shell program to use for automatic connection. (passed on to server or sos) -security [#] Forces a handshake between the client and server using the # provided or a random number -sos Set up to connect to the Server-of-Servers (ensight92.sos) instead of normal server. -soshostname Host name to force server(s) to use to connect to Server-of-Servers -standard Force the license manager to look for a standard token -timeout <#> Number of seconds to wait for server connection; default = 60, infinite = -1 -token_try_again <#> If can’t obtain a license token, try again in # minutes. where # is a float value. If neither -token_wait_for nor -token_wait_until is specified, will try for 1 hour. -token_wait_for # If can’t obtain a license token, try again for # minutes, where # is a float value. If -token_try_again is not specified, sets -token_try_again to 10. Supersedes -token_wait_until. -token_wait_until # If can’t obtain a license token, try again until the time is hour:minute. If -token_try_again is not specified, sets -token_try_again to 10. -v # Output verbosity 0 to 10 -version Prints out EnSight’s version number. (Does not start EnSight) Section 2. EnSight Client GUI Options -E Call a method on a registered user-defined extension (see EnSight extension mechanism and How to Produce Customized Access to Tools & Features) using the name of the extension. There must be no space between the -E and the extension name and the option can be used repeatedly in the same command line (the order of execution matches the order on the command line). These calls are made just prior to playing command files or python files after EnSight starts up. By default, the method ‘cmdLine()’ is invoked, but options exist to specify the method as well as parameters to the method. The whole option may need to be enclosed in quotes if some of these latter features are used. For example, suppose you have a registered extension named ‘foo’. The following usages are permitted. ‘-Efoo’ will call foo.cmdLine(). ‘-Efoo.run()’ will call foo.run(), a specific object method. ‘-Efoo=10.0’ will call foo.cmdLine(10.0), the default method with a parameter. ‘-Efoo.bar(10.0,”hello”)’ will call foo.bar(10.0, “hello”), a specific object method with multiple parameters. -iconlblf <#> Mode panel icon label font size -ignorexerr Ignore X window errors -jumboicons Adds support for high resolution displays such as IBM Big Bertha (linux/unix) (see -mag) -largeicons Uses larger feature icons in EnSight (non-Windows only) -mag # Magnification factor of menus, titlebars, icons using a float number that is greater than 1.0 on high resolution displays or power wall (Windows only). -menuf # Menu font size (4 to 50) -ni Will use text in place of icons -sc Section Label color name “c” string < 24 chars long -smallscreen Sets window attributes based on the screen size of 1024x768 (non-Windows only) -smallicons Uses smaller feature icons in EnSight (default) Section 3. EnSight Server Specific Options Page 23 -buffer_size <#> -gdbg -iwd -maxoff -no_ghosts -no_metric -readerdbg -scaleg <#> -scalev <#> -swd

-time -writerdbg Set element buffer size for Unstructured Auto Distribute (passed from client down) Print some debugging info for EnSight format geometries (passed from client to server) Ignore the working directory in the ensight.connect.default file Turns off maxsize checking (passed from client to server) Don’t produce ghosts in Unstructured Auto Distribute (passed from client down) Don’t print metric for Unstructured Auto Distribute (passed from client down) Prints user-defined-reader library loading information in shell window upon startup of server (passed from client to server) Provide scale factor to scale geometry by (passed from client to server) Provide scale factor to scale all vectors by (passed from client to server) Set the server working directory Prints out timing information (passed from client to server) Prints user-defined-writer library loading information in shell window upon startup of server (passed from client to server) Section 4. Miscellaneous Options -h, -help, -Z Prints the usage list -inputdbg Prints user-defined input device information -nb No automatic backup recording -no_file_locking Turns off file locking (lock()). Some systems don’t support this properly -no_prefs Do not load saved user preferences (uses all original defaults) -pal_tex Use 1D textures for color palettes. -pal_rgb Use rgb colors for color palettes -range10 Use palette ranges which are 10% in from the extremes -silent Causes all stdout and stderr messages to be thrown away -slimtimeout # Allow slimd token to expire if idle. -stderr Cause all stderr messages to be written to the file. -stdout Causes all stdout messages to be written to the file. Section 5. Rendering Options -batch < height> Batch mode with optional width and height. -bbox Render only bounding boxes in the GUI window (useful for detached displays with -prsd2 option). (See How To Setup For Parallel Rendering) -box_resolution <#> Resolution of bounding boxes for part culling (max 9). Implies -no_display_list -ctarget <#> Set the number of chunks per server for parallel rendering (passed from client to server(s)). -dconfig Specify a display configuration file -display_list Use OpenGL display lists -frustrum_cull Use frustrum culling where possible -glconfig Prints current OpenGL configuration parameter defaults to screen -glsw Forces use of software implementation of OpenGL, bypassing the hardware graphics card (same as -X) -gl Sets line drawing mode to draw polygons -ogl Sets line drawing mode to draw lines -no_display_list Force EnSight to use immediate mode graphics -no_frustrum_cull Do not use frustrum culling -norm_per_vert Use one normal per vertex for flat-shading -norm_per_poly Use one normal per polygon for flat-shading -multi_sampling Turns MultiSampling on -multi_sampling_sw Use software MultiSampling -no_multi_sampling Do not use MultiSampling -no_start_screen Ignore the start screen image (Good for HP using TGS OpenGL) -num_samples <#> Specify number of samples for software multi-sampling -num_samples_st <#> Specify number of samples for hardware stereo multi-sampling -occlusion_test Use the HP occlusion extension if available Page 24 -no_occlusion_test -stencil_buff -no_stencil_buff -double_buffer -single_buffer -sort_first -sort_last -unmapdd -vcount <#> -X Do not use the HP occlusion extension Use the OpenGL stencil buffer (even if not enabled by default) Assumes there is not a working stencil buffer (some Windows video cards) Use double-buffering for the graphics window (default) Do not use double-buffering Sets the default parallel rendering sorting method to be the sort first method Sets the default parallel rendering sorting method to be the sort last method Don’t map the detached display on startup Specifies the maximum number of vertices between begin/end pairs in a OpenGL display list object. This option is useful for certain graphics cards (most modern Nvidia based) when dealing with large display objects - it will usually impact the performance of creating the display list objects. Every graphics card/driver will be optimal at a different vcount value so testing is necessary to achieve maximum performance. Starts the X version of EnSight (uses Mesa OpenGL instead of native OpenGL, bypassing the hardware graphics card. This is the same as -glsw) Section 6. X Window Specific Options -bg Background “color” colorname, such as “white” -fg Foreground “color” colorname, such as “black” -fn (UNIX only) Motif GUI font where “fn” is the XLFD font name -font Same as -fn -hc User Interface Current Selection Highlight “color” colorname, such as “yellow”. Section 7. Resource Options -chres Collab hub resource filename -res Resource filename -sosres SOS resource filename -use_lsf_for_renderers Evaluate environmental variable LSB_MCPU_HOSTS for renderer resources (See Client Resources in How To Use Resource Management) -use_lsf_for_servers Evaluate environmental variable LSB_MCPU_HOSTS for server resources (See Client Resources in How To Use Resource Management) -use_pbs_for_renderers Evaluate environmental variable PBS_NODEFILE for renderer resources (See Client Resources in How To Use Resource Management) -use_pbs_for_servers Evaluate environmental variable PBS_NODEFILE for server resources (See Client Resources in How To Use Resource Management) Section 8. Distributed Rendering (DR) Specific Options -cr Chromium mode -offscreen Batch offscreen rendering -onscreen Batch onscreen rendering -pc Compositing mode -pr_out File name for parallel rendering worker output Client Examples: ensight92 -cm -p myplayfile This will allow the user to do a manual connection, after which the “myplayfile” will be run. ensight92 -c -gold -ports 1310 -case myfile.case This will do an automatic connection (according to information in the user’s ensight.connect.default file) on port 1310, using a gold seat. After the connection is made, the “myfile.case” casefile will be run. ensight92 -rsh ssh -hc yellow (or ensight92.client -c -rsh ssh -hc yellow) This will use ssh as the remote shell for an automatic connection, and will set the highlight color to yellow (instead of the default color of green). Page 25 ensight92.server [options] -buffer_size <#> -c -ctarget <#> -ctries <#> -ether -gdbg -h, -help -maxoff -no_ghosts -no_metric -pipe -ports <#> -readerdbg -scaleg <#> -scalev <#> -security <#> -sock -soshostname -time -writerdbg Set element buffer size for Unstructured Auto Distribute “host” indicates where the client is running Set the number of chunks per server for parallel rendering. The number of times (1 second per try) to try to connect client and server. Ethernet device name such as ln0 Print some debugging info for EnSight format geometries Prints the usage list Turns off maxsize checking Don’t produce ghosts in Unstructured Auto Distribute Don’t print metric for Unstructured Auto Distribute Forces the server to use a named pipe connection (must be on same machine) Allows user specification of socket communication port. Prints user-defined-reader lib loading information in shell window upon startup of server Provide scale factor to scale geometry by Provide scale factor to scale all vectors by Provide number for client to server security check or else random token is generated Forces the server to use a socket connection Allows different name for servers to connect back to Server-of-Servers with Prints out timing information Prints user-defined-reader lib loading information in shell window upon startup of server Server Examples (when started manually): ensight92.server -c clientmachine -readerdbg Specifies “clientmachine” as the machine on which the client is running, and that information on user-defined-reader library loading should be printed out. ensight92.server -ports 1310 -scaleg 10.0 -scalev 10.0 Specifies that communication is to occur on port 1310, and that the geometry and all vectors are to be scaled by a factor of 10. ensight92.sos [options] -buffer_size <#> -c -cports -ctarget <#> -ctries <#> -ether -gdbg -h, -help -maxoff -no_ghosts -no_metric -pipe -ports <#> -readerdbg -rsh -scaleg <#> Set element buffer size for Unstructured Auto Distribute (passes on to servers) “host” indicates where the client is running Allows specification of socket communication port to the client. See also -ports, -sports. Set the number of chunks per server for parallel rendering (passes on to servers). The number of times (1 second per try) to try to connect client and server. Ethernet device name such as ln0 Print some debugging info for EnSight format geometries (passes on to servers) Prints the usage list Turns off maxsize checking (passes on to servers) Don’t produce ghosts in Unstructured Auto Distribute (passes on to servers) Don’t print metric for Unstructured Auto Distribute (passes on to servers) Forces the server to use a named pipe connection (must be on same machine) (passes on to servers) Allows user specification of socket communication port. (passes on to servers) Has the effect of setting -cports and -sports to be the same. Prints user-defined-reader library loading information in shell window upon startup of server (passes on to servers) Remote shell program to use for automatic connection of servers. (passes on to servers) Provide scale factor to scale geometry by (passes on to servers) Page 26 -scalev <#> -security <#> -slog -sock -soshostname -sports -time -writerdbg Provide scale factor to scale all vectors by (passes on to server) Provide number for client to server security check (passes on to servers) Create SOS log file ‘f’ Forces the server to use a socket connection Allows different name for servers to connect back to Server-of-Servers with (passes on to servers) Allows specification of socket communication port to the servers. See also -ports, -cports. Prints out timing information (passes on to servers) Prints user-defined-reader library loading information in shell window upon startup of server (passes on to servers) SOS (Server-of-Servers) Examples (when started manually): ensight92.sos -c clientmachinename -soshostname sosmachinename Specifies “clientmachinename” as the machine on which the client is running, and that the individual servers should connect back to “sosmachinename”. ensight92.sos -readerdbg -gdbg Specifies that the sos and any servers print out user-defined-reader library loading information, and that the servers print out EnSight data format geometry loading information. Page 27 Use Environment Variables INTRODUCTION There are a number of environment variables that can be set to control and modify aspects of EnSight. These are generally described in sections of the documentation where they apply. However, for convenience, a summary of them is indicated below. All, except those indicated otherwise, are optional. Note: None of the environment variables associated with specific user defined readers and writers are included here. See the appropriate README files or other documentation for each reader/writer. BASIC USAGE List sorted by Category: Name Locatio Category n Description ENSIGHT9_COLLABHUB_SPAWNDELAY Collab DR ENSIGHT9_HUB_APP Collab DR ENSIGHT9_HUB_ARGS Collab DR ENSIGHT9_HUB_CONNBACKHOST Collab DR ENSIGHT9_HUB_HOST Client DR ENSIGHT9_HUB_OUTPUTFILE Collab DR ENSIGHT9_RENDERER_HOSTS Client/ Collab DR ENSIGHT9_WORKER_APP Collab DR ENSIGHT9_WORKER_ARGS Collab DR ENSIGHT9_WORKER_CONNBACKHOST Collab DR Delay time (in seconds) between spawning distributed rendering clients the executable name for the collabhub when used with distributed rendering a string of arguments passed to the collabhub executable when used with distributed rendering the hostname that the collabhub should use for the computer where the main client executes the hostname that the client should use for the collabhub if not specified by other means. a file name containing the output from the collabhub when used with distributed rendering a space delimited string consisting of the hostnames to use for distributed rendering clients. See current client documentation as well. Also see the Resources documentation for additional information the executable name for the client when used with distributed rendering a string of arguments passed to the distributed rendering client executable the collabhub executable hostname (used by distributed rendering clients) CEI_FONT_GLYPHCACHESIZE Client Font CEI_FONT_NOSYSTEMFONTS Client Font CEI_FONTPATH Client Font ENSIGHT_FONT_DEFAULT_ANNOT ENSIGHT_FONT_DEFAULT_ANNOT_STYLE ENSIGHT_FONT_DEFAULT_OUTLINE ENSIGHT_FONT_DEFAULT_OUTLINE_SCALE Client Client Client Client Font Font Font Font ENSIGHT_FONT_DEFAULT_OUTLINE_STYLE ENSIGHT_FONT_DEFAULT_SYMBOL ENSIGHT_FONT_DEFAULT_SYMBOL_STYLE ENSIGHT9_FIXED_FONT_SIZE Client Client Client Client Font Font Font Font CEI_ENABLE_PBUF CEI_ENABLE_PMAP CEI_PIXELFORMAT CEI_PIXELFORMAT_ST CVF_NO_WM_OVERRIDE Client Client Client Client Client Graphics Graphics Graphics Graphics Graphics ENSIGHT_PICK_SCALE Client Graphics Number of font characters to keep in memory at a given time (default 500). Increasing this number will use more memory but may increase rendering speed if many different characters are in use. Disable the loading of fonts from the system directories, and use only the fonts provided by CEI. A list of ":" separated directories (";" on Windows) where EnSight looks for .ttf and .ttc font files. Specify family to be used for annotation defaults Specify style to be used for annotation defaults Specify family to be used for ID and axis defaults Specify the relative scale for the outline font. (The value 100.0 is the default, 200.0 is 2x larger, 50.0 is 1/2 size). Specify style to be used for ID and axis defaults Specify family to be used instead of the symbol font Specify style to be used with the symbol font defines font size - expecting range between 10 and 100 (old) Enable/disable the use of pbuffers for off-screen rendering Enable/disable the use of pixmaps for off-screen rendering Specify pixel format for mono rendering Specify pixel format for stereo rendering Change the behavior of detached displays so that the 'OverrideRedirect' attribute is not used on the Windows. If > 1, modifies the scaling of the GL viewport Page 28 Name Locatio Category n CEI_RSH Client/ SoS Client/ Server Client/ SoS/ Server CVF_COMM2_NAGLE ENSIGHT9_SOCKBUF Description Networking Alternative to default ssh command Networking Enable Nagle (RFC896) network feature (on by default). Networking Sets socket buffer size (can be different between client and server) DISPLAY Client Other Do not remote the display from a different machine as this is inefficient and prone to problems. Run the client on your local machine and the server remotely and connect them as EnSight is optimized for this configuration. ENSIGHT9_MAX_CTHREADS Client Parallel ENSIGHT9_MAX_SOSTHREADS SoS Parallel ENSIGHT9_MAX_THREADS Server Parallel The maximum number of threads to use for each EnSight client. Threads in the client are used to accelerate sorting of transparent surfaces. If not defined, then the EnSight client chooses the number of threads based on the number of processors available and license limitations. The maximum number of threads to use on the server of server in order to start up server processes in parallel rather than serially. If not defined, then EnSight chooses the number of threads based on the number of processors available and license limitations. The maximum number of threads to use for each EnSight server. Threads are used to accelerate the computation of streamlines, clips, isosurfaces, and other compute-intensive operations. If not defined, then the EnSight server chooses the number of threads based on the number of processors available and license limitations. ENSIGHT9_RES Client/ SoS/ Collab Client/ SoS Resources Specify a resource file name that the client reads Resources LSB_MCPU_HOSTS Client/ SoS Resources Specify quoted strings of space delimited host names (e.g. “host1 host2 host1 host3”) to be used for EnSight servers. The host names are used in the order they occur. A host name may occur multiple times If either the ‘-use_lsf_for_servers’ or ‘use_lsf_for_renderers’ command line options are specified, then the client will evaluate this environment variable for resources. The environment variable specifies a quoted string such as “host1 5 host2 4 host3 1” which indicates 5 CPUs should be used on host1, 4 CPUs should be used on host2, and 1 CPU should be used on host3. The hosts will be used in a round-robin fashion. CEI_ARCH All Path CEI_HOME All Path Description of hardware & OS (set automatically on EnSight startup) Location of EnSight installation (required) CEI_PDFREADER Client Path Application for reading EnSight .pdf help files CEI_PYTHONHOME Client Path CEI_UDILPATH Client Path ENSIGHT_PATHREPLACE Client Path PATH Path TMPDIR Client Server Point to a different Python runtime library. Default is CEI_HOME/apex12/machines/CEI_ARCH/Python242 A list of ":" separated directories (";" on Windows) where EnSight looks for user-defined image libraries. Replaces the data path with the path found in this environment variable Must include $CEI_HOME/bin Path Location for temporary files. Default is usually /tmp or /usr/ tmp CEI_CONTROLLER_KEY Client Tracking See CEI_INPUT ENSIGHT9_SERVER_HOSTS Page 29 Name Locatio Category n Description CEI_INPUT Client Tracking CEI_TRACKD_DEBUG Client Tracking CEI_TRACKER_KEY Client Tracking To specify the tracking library. To select trackd, use: setenv CEI_INPUT trackd (for csh or equivalent users) The value of CEI_INPUT can either be a fully-qualified path and filename or simply the name of the driver, in which case EnSight will load the library libuserd_input.so from directory: $CEI_HOME/apex21/machines/$CEI_ARCH/udi/ $CEI_INPUT/ For the trackd interface you will also need to set: CEI_TRACKER_KEY CEI_CONTROLLER_KEY Turn on debug information from the trackD user defined input library. See CEI_INPUT ENSIGHT9_INPUT Client Tracking Input device to use for EnSight (same as CEI_INPUT) ENSIGHT9_READER Server User Path to the location of additional user-defined readers ENSIGHT9_READER_GUI Server User ENSIGHT9_UDMF Server User ENSIGHT9_UDW Server User Set to 0 in order to not load user-defined extra GUI. Any other setting (or unset) loads extra GUI. Sets directory location of user defined math functions to be loaded by EnSight at startup Sets directory location of user defined writers to be loaded by Ensight at startup Page 30 Use MPI INTRODUCTION EnSight includes support for MPI (Message Passing Interface; see http://www.mcs.anl.gov/research/projects/mpich2/ ) for use between EnSight's Server-of-Servers (SOS) application and EnSight Servers (server). Note that EnSight still has the same SOS support as previous versions of EnSight; MPI support is in addition to previous capabilities. The user should note that MPI support is an evolving area for EnSight. In particular CEI Inc. is still determining the best method to distribute the various components related to MPI, how best to support varying MPI implementations and job schedulers, and the type and degree of support required by end-users. This documentation will be updated at a future date. Please contact EnSight support if you desire to use MPI with EnSight. Page 31 Page 32 Page 33 Page 34 Page 35 Read and Load Data Read Data INTRODUCTION EnSight supports a number of file formats common in computational analysis. In addition, CEI has defined generic data formats (in both ASCII and binary versions) that can be used for both structured and unstructured data. In many cases analysis codes output this data directly (i.e. FLUENT, STAR-CD, KIVA, etc.) Reading data into Ensight can be a one-step quick process if an association is known for the data format type and you wish to load all parts. A two-step process is also available. This is the more traditional method for EnSight, and provides more control over the reading of data files and the part creation process. The first step is the selection of appropriate files. The second step is the loading of parts. Both steps have many similarities regardless of the data format. These basic steps are described below. Variations from the methods shown will be described in Chapter 2 (Reader Basics) of the User Manual for the various formats. Both of these methods are accessed under File->Open... One-Step Quick Method (Simple Interface) One-Step Quick Method (Advanced Interface/Load All) Ensight_reader_extension.map file example: Two-Step Method (Advanced Interface/Choose Parts) First Step (Specifying Files): Second Step (Loading Parts): BASIC OPERATION One-Step Quick Method (Simple Interface) The one-step method of reading data into EnSight works for most formats and requires a file extension-to-reader mapping file (ensight_reader_extension.map). This file can reside in the site_preferences directory and/or each user can have his own personal one in his personal EnSight defaults directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac). A sample of this file is shown below. The mapping file associates file extensions to readers. If this file is not provided or an association is not known, or the format doesn’t allow it due to required intermediate information (such as Plot3D currently), the one-step method (Simple Interface) Page 36 will default to the first step of the two-step method (Advanced Interface) 1. Select File > Open... 2. If not already selected, toggle Simple Interface on. 3. Navigate to the desired directory using typical navigation methods. 4. Filter the list using the File type, if desired. 5. Select the desired file. This file’s extension is what will be mapped to a reader in the ensight_reader_extension.map. 6. Click Okay (Double clicking the file in step 4. is also allowed.) At this point (provided the association is successful and the data is readable) all parts of the model will be loaded into EnSight and will appear in the graphics screen and in the Parts List. If the association is not successful, an error message will result. One-Step Quick Method (Advanced Interface/Load All) A variation of the one-step method of reading data into EnSight can also use the Advanced interface and the Load All button. The extension-to-reader mapping file (ensight_reader_extension.map) is also used for this variation - but if no mapping is set, the user can specify the format manually. Note also that this method gives you more control over Page 37 other format and time options. 1. Select File > Open... 2. If not already selected, toggle Advanced Interface on. 3. Navigate to the desired directory using typical navigation methods. 4. Filter the list using the File type, if desired. 5. Select the desired file. This file’s extension is what will be mapped to a reader in the ensight_reader_extension.map. 6. Click appropriate Set Button. If a mapping is known, the correct Format will be automatically chosen for you. 7. Select the correct Format - if not already correct. 8. Click Load All. At this point (provided the settings are correct) all parts of the model will be loaded into EnSight and will appear in the graphics screen and in the Parts List. Otherwise an error message will result. Format options and Time options are documented in the next section. Page 38 Ensight_reader_extension.map file example: The following is a sample containing associations for EnSight Case, EnSight5, STL and MSC/Dytran: EnSight file extension to format association file Version 1.0 # # Comment lines start with a # # # # The format of this file is as follows: # # READER_NAME: reader name as it appears in the Format chooser in the EnSight Data Reader dialog # NUM_FILE_1: the number of file_1_ext lines to follow # FILE_1_EXT: the extension that follows a file name minus the “.”, i.e., “geo”, “case”, etc. # There should be one definition after the :. Multiple FILE_1_EXT lines may exist # NUM_FILE_2: the number of file_2_ext lines to follow # FILE_2_EXT: the extension of a second file that will act as the result file. This is only used # for formats that require two file names. As with FILE_1_EXT, there may be multiple # FILE_2_EXT lines. # ELEMENT_REP: A key word that describes how the parts will be loaded (all parts will be loaded the # same way). One of the following: # “3D border, 2D full” # “3D feature, 2D full” # “3D nonvisual, 2D full” # “Border” # “Feature angle” # “Bounding Box” # “Full” # “Non Visual” # If option is not set then 3D border, 2D full is used # READ_BEFORE: (optional) The name of a command file to play before reading the file(s) # READ_AFTER: (optional) The name of a command file to read after loading the parts # Definition for Case files READER_NAME: Case NUM_FILE_1: 2 FILE_1_EXT: case FILE_1_EXT: encas ELEMENT_REP: 3D feature, 2D full # Definition for EnSight5 files READER_NAME: EnSight 5 NUM_FILE_1: 2 FILE_1_EXT: geo FILE_1_EXT: GEOM NUM_FILE_2: 2 FILE_2_EXT: res FILE_2_EXT: RESULTS ELEMENT_REP: 3D feature, 2D full # Definition for STL files READER_NAME: STL NUM_FILE_1: 4 FILE_1_EXT: stl FILE_1_EXT: STL FILE_1_EXT: xct FILE_1_EXT: XCT ELEMENT_REP: 3D feature, 2D full # Definition for Dytran files READER_NAME: MSC/Dytran NUM_FILE_1: 2 FILE_1_EXT: dat FILE_1_EXT: ARC ELEMENT_REP: 3D border, 2D full READ_AFTER: read_after_dytran.enc Page 39 Two-Step Method (Advanced Interface/Choose Parts) First Step (Specifying Files): Each data format requires a different set of files for proper data loading. A table is provided below that briefly describes these files for various formats. Links to the User Manual are also provided - so you can get detailed information for each format 1. Select File > Open... 2. Toggle Advanced Interface, if not already set. 3. Navigate to the desired directory using typical navigation methods. 4. Filter the list using the File type, if desired. 5. Select the desired file. This file’s extension is what will be mapped to a reader in the ensight_reader_extension.map. 6. Click the applicable Set Button(s) (in this case, the Set d3plot button) If a mapping is known, the correct Format will be automatically chosen for you. 7. Select the correct Format - if not already correct. The list shown is dependent on the presence of internal and user-defined readers at your site, and in your preference settings. For the list of available readers please see Native EnSight Format Readers or Other Readers. 8. Optionally set any Format options. Note the options presented will vary according to the data format. All but the Casefile format will allow input of measured data. See EnSight5 Measured/Particle File Format. Plot3d, Casefile, and Special HDF5 structured formats will provide a field for a boundary file. See EnSight Boundary File Format 9. Optionally set any Time options. If desired, specify a starting time. The default is the last time step, unless you have set a preference otherwise. 10. Click Choose Parts. Page 40 The Data Part Loader dialog for the applicable format will now open and you are ready for the second step in the data reading process. There are a couple of exceptions to this, where additional information must be entered. For example, the Plot3D reader requires some confirmation on various formatting possibilities, the ESTET reader allows for vector building from scalar components, etc. If not obvious, please see the details for specific readers in Chapter 2 (Other Readers) of the User Manual Second Step (Loading Parts): There are several ways that parts are specified for loading into EnSight. Many formats use similar procedures, while a few have custom methods. Below we present the more common part loading methods. For formats that vary from these - you will be referred to the User Manual which gives the details for each. To build unstructured parts for EnSight Case (Ensight Gold, EnSight6), EnSight5, ABAQUS_ODB, Medina bif/bof, Ansys Results (v8), AVUS, AVUS Case, CFF, CFX-4, CGNS, ExodusIIgold, Special HDF5, LS-DYNA3D, MSC/ Dytran, Nastran OP2, NetCDF, RADIOSS_4.x, SCRYU, Silo, TECPLOT 7.x, Tecplot_ASCII, Vectis, and any other User-defined formats: 1. If the Data Part Loader dialog is not open, select File > Load parts... The available parts are listed in the Parts List. You can build them all by clicking Load All at the bottom. Alternately, you can build the selected ones or even one by one and choose a different visual representation and part name for each. To build selected parts: 2. Select the desired part(s) in the Parts list. 3. Choose the desired initial Visual Representation for the select part(s). Optionally, you can have each of the elements indicated by the visual rep be represented as a point and a normal. 4. Toggle on if you want the selected parts to be grouped together. If on, the “New part description” field will be used as the group name. 5. If desired, enter a name for the part (to use in the Main Parts list). The default name is the same as the entry in this Parts List. 6. Click Load Selected. 7. Click Close when done. Note that you can re-enter the part loader and build more parts later for formats which use this method. Page 41 For ANSYS RESULTS, FAST UNSTRUCTURED, FIDAP NEUTRAL, FLUENT UNIVERSAL, Movie, and MPGS 4.1 formats: All parts defined in the file will be loaded to the EnSight server. However, you have a choice for the initial visual representation of some parts as displayed on the client. The choice is made with the Load pull-down: All Parts: all parts are loaded to the client in the default visual representation (typically 3D Border, 2D Full). Part 1 Only: Only the first part is loaded to the client in the default visual representation. The other parts will have the NonVisual representation. All But Part 1: All parts other than part 1 are loaded to the client in the default visual representation. Part 1 will be NonVisual. No Parts: No parts are loaded to the client (i.e. the representation of all parts is set to NonVisual). Note that you can easily change the visual representation of a part at any time. See How To Change Visual Representation for more information. 1. Select the desired Load option. 2. Click Okay. Note that you will not be able to re-enter the part loader for formats which use this method For the N3S format, see N3S Reader For the Abaqus_fil format all parts are automatically loaded. Page 42 To build structured parts for EnSight Case (EnSight Gold, EnSight6), Special HDF5, Plot3D, and any other Userdefined formats: 1. If the Data Part Loader dialog is not open, select File > Load parts... 2. Be sure Structured Data is selected to display only the structured parts in the Parts List. 3. Select the desired part(s) in the Parts List. 4. Choose the desired initial Visual Representation for the select part(s). Optionally, you can have each of the elements indicated by the visual rep be represented as a point and a normal. 5. If the selected part has Iblanking, you can build based on the value (Inside selects cells where Iblank=1, Outside selects Iblank=0, All selects all cells ignoring Iblanking). 6. You can specify From, To, and Step IJK values for the selected part(s). The From and To values are inclusive. Valid values in the From and To fields are numbers advancing from 1(the min for each part), or numbers decreasing from 0(the max for each part): 1,2,3,... ---> <--- ...-3,-2,-1,0 |-------------------------------------------| min max (always 1) (varies per part) If you specify values that will be outside of the range of an individual part, the proper min or max values for the given part will be used. The Min and Max fields are for reference only. 8. If desired, enter a name for the part (to use in the Main Parts list). The default name is the same as the entry in the Parts List. 9. Open this turndown section to create unstructured parts based on boundary Iblanking from any parts created above. 7. If you desire to extract multiple surfaces (at a constant delta) from the same zone, set one of the directions to the desired non-zero delta value. This is a “blade row” kind of operation. Please note that this results in an unstructured part instead of a structured one. 10. Click Create/load from selected. (or Create/load all if you want to load all the structured parts) 11. Click Close when done. For the ESTET format the procedure is similar. See ESTET Reader Page 43 SEE ALSO How To Use ens_checker User Manual: Reader Basics EnSight Case Reader EnSight5 Reader Other Readers Page 44 Page 45 Use ens_checker INTRODUCTION This program attempts to check the integrity of the EnSight Gold (or EnSight6) file formats. Most files that pass this check will be able to be read by EnSight (see Other Notes below). If EnSight Gold (or EnSight6) data fails to read into Ensight, one should run it through this checker to see if any problems are found. Ens_checker makes no attempt to check the validity of floating point values, such as coordinates, results, etc. It is just checking the existence and format of such. BASIC OPERATION Program invocation: If you invoke the program without any arguments, it will prompt you for the casefile to read. For example: > ens_checker ***************************************************************** * EnSight Data Format Checker * * =========================== * * Currently, * * 1. Must be run from directory in which casefile is located. * * 2. Handles EnSight6 and EnSight Gold formats only. * * 3. Does not process SOS casefiles. * ***************************************************************** mydata.case You can alternatively invoke the program with the casefile on the command line. > ens_checker mydata.case Sample runs: As ens_checker works it will be providing feedback. This feedback is important in interpreting what is wrong in the files. Here is a sample run, which was successful: > ens_checker 3by3.case ***************************************************************** * EnSight Data Format Checker * * =========================== * * Currently, * * 1. Must be run from directory in which casefile is located. * * 2. Handles EnSight6 and EnSight Gold formats only. * * 3. Does not process SOS casefiles. * ***************************************************************** 3by3.case Casefile to Process: -------------------3by3.case (Opened successfully) --------------------Major Sections Found: --------------------Required FORMAT section Required GEOMETRY section Optional VARIABLE section Optional TIME section --------------FORMAT Section: --------------EnSight 6 Format (at (at (at (at line line line line 1) 4) 7) 11) (set at line 2) Page 46 ------------TIME section: ------------Info for timeset number: 1 ---------------------------Time set: 1 (at line 12) No description provided Number of steps: 1 (at line 13) Time values: (starting on line 14) time values[1] = 0 >-------------------< > TIME section OKAY < >-------------------< ----------------GEOMETRY Section: -----------------------Model filename is: 3by3.geo (at line 5) Static geometry -------Opened 3by3.geo successfully File type is: Description 1: Description 2: node ids: element ids: ASCII EnSight test geometry file ========================== assign assign Global section: Number of nodes: 64 Coordinates for (64) nodes found Part 1: Description is: 3 x 3 xy Unstructured Part Number of quad4 elements is: 9 Connectivities for (9) quad4 elements found Part 2: Description is: 3 x 3 yz Unstructured Part Number of quad4 elements is: 9 Connectivities for (9) quad4 elements found Part 3: Description is: 3 x 3 xz Unstructured Part Number of quad4 elements is: 9 Connectivities for (9) quad4 elements found Part 4: Description is: 3 x 3 45 Unstructured Part Number of quad4 elements is: 9 Connectivities for (9) quad4 elements found >-----------------------< > GEOMETRY section OKAY < >-----------------------< ----------------VARIABLE Section: ----------------scalar per node: scalar Filename is: 3by3.scl Non transient variable (at line 8) Page 47 -------Opened 3by3.scl successfully Description: 3by3 scalar variable Global section: (64) Nodal scalar values for unstructured nodes found vector per node: vector Filename is: 3by3.vct Non transient variable (at line 9) -------Opened 3by3.vct successfully Description: 3by3 vector variable Global section: (192) Nodal vector values for unstructured nodes found >-----------------------< > VARIABLE section OKAY < >-----------------------< >----------- Hooray! ----------< > < > Data verification SUCCESSFUL < > < > with No Warnings < > < >------------------------------< And here is a sample run, with a problem, namely a ‘block’ line is missing: > ens_checker 3by3s.case ***************************************************************** * EnSight Data Format Checker * * =========================== * * Currently, * * 1. Must be run from directory in which casefile is located. * * 2. Handles EnSight6 and EnSight Gold formats only. * * 3. Does not process SOS casefiles. * ***************************************************************** Casefile to Process: -------------------3by3s.case (Opened successfully) --------------------Major Sections Found: --------------------Required FORMAT section Required GEOMETRY section Optional VARIABLE section Optional TIME section --------------FORMAT Section: --------------EnSight 6 Format (at (at (at (at line line line line 1) 4) 7) 11) (set at line 2) ------------TIME section: ------------Info for timeset number: 1 ---------------------------- Page 48 Time set: 1 (at line 12) No description provided Number of steps: 1 (at line 13) Time values: (starting on line 14) time values[1] = 0 >-------------------< > TIME section OKAY < >-------------------< ----------------GEOMETRY Section: -----------------------Model filename is: 3by3s.geo (at line 5) Static geometry -------Opened 3by3s.geo successfully File type is: Description 1: Description 2: node ids: element ids: ASCII EnSight test geometry file ========================== assign assign Global section: Number of nodes: 0 Part 1: Description is: 3 x 3 xy block Structured Part Not iblanked i j k = 4 4 1 Number of nodes: 16 Number of cells: 9 Block X coordinates for (16) nodes found Block Y coordinates for (16) nodes found Block Z coordinates for (16) nodes found Part 2: Description is: 3 x 3 yz block ===> Problem: ------------Looking for one of the following valid line types: element type (unstructured types, any of the following: point tria6 tetra10 penta15 bar2 quad4 pyramid5 hexa8 bar3 quad8 pyramid13 hexa20 tria3 tetra4 penta6 block (structured block) part (the next part) but found the following: 4 4 1 >-------------------------< > GEOMETRY section FAILED < >-------------------------< >-*-*-*-*-*-* bummer! *-*-*-*-*-*-< > < > Verification of the data FAILED < > < >-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-< After fixing the ‘block’ line and running the program again, another problem is encountered - namely, an extra space Page 49 at the end of the second line of x coordinates for the block that is part 2. > ens_checker 3by3s.case ***************************************************************** * EnSight Data Format Checker * * =========================== * * Currently, * * 1. Must be run from directory in which casefile is located. * * 2. Handles EnSight6 and EnSight Gold formats only. * * 3. Does not process SOS casefiles. * ***************************************************************** Casefile to Process: -------------------3by3s.case (Opened successfully) --------------------Major Sections Found: --------------------Required FORMAT section Required GEOMETRY section Optional VARIABLE section Optional TIME section --------------FORMAT Section: --------------EnSight 6 Format (at (at (at (at line line line line 1) 4) 7) 11) (set at line 2) ------------TIME section: ------------Info for timeset number: 1 ---------------------------Time set: 1 (at line 12) No description provided Number of steps: 1 (at line 13) Time values: (starting on line 14) time values[1] = 0 >-------------------< > TIME section OKAY < >-------------------< ----------------GEOMETRY Section: -----------------------Model filename is: 3by3s.geo (at line 5) Static geometry -------Opened 3by3s.geo successfully File type is: Description 1: Description 2: node ids: element ids: ASCII EnSight test geometry file ========================== assign assign Global section: Number of nodes: 0 Part 1: Description is: 3 x 3 xy block Structured Part Not iblanked i j k = 4 4 1 Number of nodes: 16 Page 50 Number of cells: 9 Block X coordinates for (16) nodes found Block Y coordinates for (16) nodes found Block Z coordinates for (16) nodes found Part 2: Description is: 3 x 3 yz block Structured Part Not iblanked i j k = 4 4 1 Number of nodes: 16 Number of cells: 9 ===> Problem: ------------Previous lines end with 1 extra chars on the line, but line 2 has 2 extra chars. The lines must be consistent or EnSight will have trouble reading it. ===> Problem: ------------Not successful reading 16 X block coordinates >-------------------------< > GEOMETRY section FAILED < >-------------------------< >-*-*-*-*-*-* bummer! *-*-*-*-*-*-< > < > Verification of the data FAILED < > < >-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-< After eliminating the extra space, the file then checked out fine. ADVANCED USAGE Redirecting Output to a File: ens_checker is writing to stderr, so if you want to redirect output to a file, you need to use “>&”. For example, the following will place the output of the run into a file called output.file: > ens_checker 3by3.case >& output.file OTHER NOTES The word “most” is used above because one of the things that could pass the checker, but fail in EnSight is element connectivity of EnSight6 files with node ids. The ens_checker checks that node ids used in the element connectivities lie within the min and max range of the node ids, but does not verify that there is actually a node with each individual id. The validity of model extents, presence of nan’s, etc. are currently checked to some degree in ens_checker, but again, this is a format checker - not a model integrity checker. SEE ALSO User Manual: EnSight Gold Casefile Format EnSight6 Casefile Format Page 51 Load Multiple Datasets (Cases) INTRODUCTION Normal operation of EnSight involves one client process (the graphics and GUI) interfacing with one server process (data I/O and computation) to postprocess your data. There however several other configurations possible. One of these is the ability to connect a single client to multiple servers at the same time, with each server maintaining a unique dataset. Each of these servers can potentially run on different machines. Server Client Normal Operation Server Server Client Two Cases The main use of this capability is to visualize multiple datasets simultaneously. Each dataset is loaded into a separate case and can be viewed in the same window or in separate viewports. You can perform before and after comparisons of the same problem or compare experimental with simulated results. The same operation (such as a clip or a particle trace) can be performed in both cases simultaneously. Created parts always belong to the same case as the parent from which the part was created. As a consequence, you cannot perform operations that combine parts (such as a merge) from multiple cases. When EnSight reads a new case, it searches the current list of variables for matches with the variables from the new case. If it finds a match (based on an exact match of the variable name), it will not enter the new variable in the list. Rather, the matched name will be used for both. This behavior is based on the assumption that the identical variable names represent the same physical entity and should therefore be treated the same. If the new variable name does not match any existing name, the new variable is added to the list as usual. Up to 16 cases can be active at one time. You can add a new case or replace an existing case to a running session by using the File->Open... process (if you want to load all parts and don’t need to control other options available when loading cases) or the File->Data (reader)... process (which provides greater control). Adding a case starts a new server process, connects it to the client, and either loads all the parts (if you used Open...) or allows you to specify the data format and files as well as which parts to load into the new server and what optional settings to use as the case is created. One of the helpful uses of the replace case option is to load a new dataset into EnSight without re-starting the client. You can of course also delete cases you no longer need. Page 52 BASIC OPERATION Simplified case operations (Add or Replace and load all parts) can be accessed through the File->Open dialog. All other case operations (including control of various options can be accessed through the Case menu or through the File->Data (reader) dialog. Both methods will be shown below. Add a Case To add a case to a running EnSight session Using simple File->Open dialog method: 1.Select File->Open... to open the File Selection dialog. 2. Select Keep currently loaded data This will add, rather than replace, the case 3. Select the desired directory and files for the new case. 4. Click Okay. The EnSight client will now start the connection process for the new server. If your original connection was automatic, the new server will be started automatically. If your original connection was manual, you will have to manually start another server. You can follow the progress of the connection in the Message area. See the EnSight Getting Started Manual or How To Connect EnSight Client and Server for more information. Once connected, EnSight will also load all parts of this new case if you use this method. Page 53 Using File->Data (reader) dialog method: 1. Select Case > Add, Replace, Delete... to open the data reader File Selection dialog. 2. If the Case section is not open, click the turndown. 3. Click Add... 4. If desired, enter a name for the case (other than the default). The name will be displayed in the Case menu so this case can be selected as the current case. 5. Set optional settings. Create new viewport for this case will place the new case in a new viewport. Apply Context From Case 1 will cause the new case to inherit positioning etc. from case 1. Reflect Model About Axis allows the model to be reflected as it is read in. Pick the axis and specify the origin location. 6. Click Okay. The EnSight client will now start the connection process for the new server. If your original connection was automatic, the new server will be started automatically. If your original connection was manual, you will have to manually start another server. You can follow the progress of the connection in the Message area. See the EnSight Getting Started Manual or How To Connect EnSight Client and Server for more information. Page 54 Replace a Case You can replace an existing case. This is most useful when you wish to load a new dataset without having to stop and re-start the client. To replace a case: Using simple File->Open dialog method: Do the same thing you do for adding a case, but select the Replace currently loaded data toggle. Using File->Data (reader) dialog method 1. Select the case you wish to replace in the Case menu (Case > casename). 2. Select Case > Add, Replace, Delete... to open the data reader File Selection dialog. 3. If the Case section is not open, click the turndown. 4. Click Replace... You will be asked to confirm the replacement. If confirmed, the server associated with the selected case is terminated and the EnSight client will now start the connection process for the new server. If your original connection was automatic, the new server will be started automatically. If your original connection was manual, you will have to manually start another server. You can follow the progress of the connection in the Message area. See How To Connect EnSight Client and Server for more information. Delete a Case To delete a case: 1. Select the case you wish to delete in the Case menu (Case > casename). 2. Select Case > Add, Replace, Delete... to open the data reader File Selection dialog. 3. If the Case section is not open, click the turndown. 4. Click Delete... You will be asked to confirm the deletion. If confirmed, the server associated with the selected case is terminated. Displaying Parts by Case By default all parts from all cases are displayed in the Main Parts list and they are displayed in a hierarchical manner by case. There are several different ways to show or not show things in the list. These are controlled by the Sort... button under the list. See How To... Introduction to Part Creation for more details on viewing the parts list. Page 55 Case Viewport Display One of the chief advantages of the case feature is the ability to perform side-by-side comparisons of different datasets. One way to do this is to display each case in a separate viewport. To do this: 1. Create as many additional viewports as you need to display your cases. See How To Define and Change Viewports for more information. 2. Select the case whose parts you wish to display only in certain viewports in the Case menu (Case > casename). 3. Select Case > Viewport Visibility... 4. Click in the desired viewport to enable or disable display of the selected case. Black means the selected case is not displayed in the viewport, green means that it is displayed. ADVANCED USAGE EnSight’s cases capability has also been used to achieve coarse-grained parallelism for very large datasets by partitioning a mesh into blocks and reading each block into a different case. Each case can run on different machines or on different CPUs of a multiprocessor host. Since the EnSight client places the geometry from the different cases in the same coordinate system, the blocks are effectively “stitched” back together for viewing. Operations such as clipping and isosurface calculation are then automatically performed in parallel. However, since there is no communication between the servers (in the current release) you cannot trace particles originating in one block and expect them to cross a block boundary into a different block. (It should be noted that EnSight’s server-of-server capability is an alternate, and usually better way to do parallel operations on a model.) OTHER NOTES When you perform an archive operation, a binary dump file is produced for each active server (case). The archive information file contains details about the cases and can be used to restart the EnSight client as well as all servers active when the archive was performed. See How To Save and Restore an Archive for more information. SEE ALSO User Manual: Case Menu Functions Page 56 Load Transient Data INTRODUCTION From it’s inception, EnSight has been used extensively to postprocess time-varying or transient data. In many cases, dynamic phenomena can only be understood through interactive exploration as a transient case is animated. EnSight handles all types of transient data. All variables as well as mesh coordinates and connectivity can vary over time. The rate at which variables (or the mesh) change can differ (supported through the EnSight Gold and EnSight6 Case data format only). EnSight can postprocess transient data in many ways. The Solution Time Quick Interaction area lets you easily set the current time step, step through time (manually or automatically), or restrict the range of time to a region of interest. You can perform query operations to extract information over time. You can use the flipbook capability to create an on-screen animation of your data changing over time and continue to interact with it during animation playback. EnSight’s keyframe animation capability can be used to create high-quality video animations of transient data. This article covers reading transient data into EnSight. BASIC OPERATION Reading transient data into EnSight is essentially the same as reading static data (see How To Read Data for more information). By default, the last time step will become the current time step. This behavior is based on the assumption that the last step will contain the largest dynamic range of the variable data so that variable palettes will be initialized properly. However, you can override this by clicking the Specify Starting Time Step toggle and entering the desired time step in the data reader File Selection dialog (File > Data (Reader)...). For most data formats, the “results” file supplies the necessary time information, including number of steps, actual solution time at each step, and how to access the dynamic variable and geometry files. However, some formats supported by EnSight include this information in the same file that contains other geometry or variable data. The following table lists how transient data is specified for each format type. And for the latest and most detailed information, please look at the README file in the reader folder under $CEI_HOME/ensight92/src/readers. Format Type Case What File Contains Time Info? Notes EnSight 6 file.case Standard EnSight case file EnSight Gold file.case Standard EnSight case file EnSight 5 file.res Standard EnSight results file ABAQUS file.fil ABAQUS_ODB file.odb ANSYS RESULTS file.rst, file.rth, etc. Ansys Results (v8) file.rst, file.rth, etc. AVUS Does not handle transient data directly AVUS Case file.txt CFF file CFX-4 file.dmp CGNS file.cgns ESTET AVUS text case file Does not handle transient data ExodusIIgold file.exo FAST UNSTRUCTURED file.res. Can handle transient geometry as well as solution and function files. Special FAST format results file. See FAST UNSTRUCTURED Results File Format FIDAP NEUTRAL file.fdneut All time steps must be contained in the same neutral file (i.e. there is only one file, not one for every time step). Fluent file.cas, file.dat FLUENT UNIVERSAL file.unv Special FLUENT format results file. See FLUENT UNIVERSAL Results File Format Page 57 Format Type What File Contains Time Info? Notes Special HDF5 file (each file contains one time value) Special casefile containing number of files and the list of files to use. LS-DYNA3D file.d3plot Can be all in one file or in a family of d3plot files. Medina bif/bof file.konfig Movie file.res Standard EnSight results file MPGS 4.1 file.res Standard EnSight results file MSC/Dytran file.arc files Remember file.dat can be used to assemble multiple “parts” from multiple file.arc files. Nastran OP2 file.op2 N3S file.res NetCDF file.ncase PLOT3D file.res. Can handle transient geometry as well as solution and function files. RADIOSS_4.x file.anim SCRYU file.pre Silo file.silo or file.case STL N3S results file Special PLOT3D format results file. See PLOT3D Results File Format. Multiple times can be in the file.silo file, or the file.case file can contain reference to multiple files and their times. Does not handle transient data TECPLOT 7.x file.plt Tecplot_ASCII file.dat for single file transient or file*.dat (file1.dat, file2.dat, etc.) For a single file transient solution, use SOLUTIONTIME=# keyword after each ZONE T keyword where # is a number representing the time and check the Single File Transient Toggle in the Format Options Tab of the data reader. For multiple files, use file*.dat where the * represents the file number of the timestep. Vectis Other User Defined varies with each reader See How to Read User Defined SEE ALSO How To Change Time Steps, How To Animate Transient Data, How To Query/Plot User Manual: Flipbook Animation, Query/Plot Page 58 Use Server of Servers INTRODUCTION ensight92 (with gold license key) has the capability of dealing with partitioned data in an efficient distributed manner by utilizing what we call a server-of-servers (SOS for short). An SOS server resides between a normal client and a number of normal servers. Thus, it appears as a normal server to the client, and as a normal client to the various normal servers. This arrangement allows for distributed parallel processing of the various portions of a model, and has been shown to scale quite well. Currently, EnSight SOS capability is only available for EnSight5, EnSight6, EnSight Gold, Plot3d, and any EnSight User-Defined Reader data. (It is not directly available for Fidap Neutral, Fluent Universal, N3S, Estet, MPGS4, Movie, Ansys, Abaqus, or FAST Unstructured data.) Please recognize that your data must be partitioned in some manner (hopefully in a way that will be reasonably load balanced) in order for this approach to be useful. (The exception to this is the use of the auto_distribute capability for structured or unstructured data. This option can be used if the data is available to all servers defined. It will automatically distribute each portion of the data over the defined servers - without the user having to partition the data. If you also use “resources”, a SOS casefile is not even needed. Please note that currently only EnSight Gold, Plot3d, and any 2.06 (or greater) user-defined readers (which have implemented structured reader cinching) can be used for structured auto_distribute - and that only EnSight Gold and any 2.08 (or greater) user-defined readers (which have implemented the “*_in_buffers” routines ) can be used for unstructured auto_distribute.) (Included in the EnSight distribution is an unsupported utility that will take most EnSight Gold binary unstructured datasets and partition it externally for you. The source for this utility (called “chopper”) can be found in the $CEI_HOME/ensight92/unsupported/partitioner directory.) Note: If you do your own partitioning of data into EnSight6 or EnSight Gold format, please be aware that each part must be in each partition - but, any given part can be “empty” in any given partition. (All that is required for an empty part is the “part” line, the part number, and the “description” line.) You should place each partitioned portion of the model on the machine that will compute that portion. Each partitioned portion is actually a self contained set of EnSight data files, which could typically be read by a normal client - server session of EnSight. For example, if it were EnSight gold format, there will be a casefile and associated gold geometry and variable results file(s). On the machine where the EnSight SOS will be run, you will need to place the sos casefile. The sos casefile is a simple ascii file which informs the SOS about pertinent information needed to run a server on each of the machines that will compute the various portions. Page 59 The format for this file is as follows: (Note that [ ] indicates optional information, and a blank line or a line with # in the first column are comments.) FORMAT type: master_server datatype (Required) (Required) where: datatype is required and is one of the formats of EnSight’s internal readers (which use the Part builder), namely: gold ensight6 ensight5 plot3d or it can be the string used to name any of the user-defined readers. Note: For user-defined readers, the string must be exactly that which is defined in the USERD_get_name_of_reader routine of the reader (which is what is presented in the Format pulldown of the Data Reader dialog). If datatype is blank, it will default to EnSight6 data type. [auto_distribute: on/off] (Optional for structured or unstructured data) EnSight will automatically distribute data to the servers specified below if this option is present and set to “on”. This will require that each of the servers have access to the same data (or identical copies of it). For structured data: use only if the datatype is gold, plot3d or a 2.06 or greater user-defined reader (which has implemented structured cinching). For unstructured data: use only if the datatype is gold, or a 2.08 (or greater) user-defined reader. Additionally, be aware that 2.* user-defined readers should implement the special functions defined in README_USERD_IN_BUFFERS file if memory is to be used efficiently in the unstructured auto-distribute process. [use_resources: on/off] (Optional, to allow specification of server machines to come from the “resource file”) [plot3d_iblanked: true/false] (Required only if doing auto_distribute and datatype is plot3d) [plot3d_multi_zone: true/false] (Required only if doing auto_distribute and datatype is plot3d) [plot3d_dimension: 1d/2d/3d] (Required only if doing auto_distribute and datatype is plot3d) [plot3d_source: ascii/cbin/fortranbin](Required only if doing auto_distribute and datatype is plot3d) [plot3d_grid_double: true/false] (Required only if doing auto_distribute and datatype is plot3d) [plot3d_results_double: true/false] (Required only if doing auto_distribute and datatype is plot3d) where: iblanking, multi_zone, dimension, source type, grid file double precision, and results file double precision information should be provided. If it is not provided, it will default to the following (which is likely not to be correct): plot3d_iblanked: plot3d_muti_zone: plot3d_dimension: plot3d_source: plot3d_grid_double: plot3d_results_double: false false 3d cbin false false [do_ghosts: on/off] (Optional for unstructured auto_distribute - default is on) Allows user to control whether ghost cells will be produced between the distributed portions. [buffer_size: n] (Optional for unstructured auto_distribute and do_ghosts - default is 100000) Allows user to modify the default buffer size that is used when reading node and element information of the model when producing ghost cells. [want_metric: on/off] (Optional for unstructured auto_distribute and do_ghosts - default is on) If set on, a simple metric will be printed in the shell window that can indicate the quality of the auto_distribution. The unstructured auto_distribute method relies on some coherence in the element connectivity - namely, that elements that lie next to each other are generally listed close to each other in the data format. The metric is simply the (#total_nodes / #nodes_needed_if_no_ghosts). When no ghosts, the value will be 1.0. The more ghosts you must have, the higher this metric will be. If the number gets much more than 2.0, you may want to consider partitioning yourself. NETWORK_INTERFACES (Note: This whole section is optional. It is needed only when more than one network interface to the sos host is available and it is desired to use them. Thus, distributing the servers to sos communication over more than one network interface) Page 60 number of network interfaces: num(Required - if section used) where: num is the number of network interfaces to be used for the sos host. network interface: sos_network_interface_name_1(Required - if section used) network interface: sos_network_interface_name_2(Required - if section used) . . network interface: sos_network_interface_name_num(Required - if section used) SERVERS (Required) number of servers: num [repeat](Required) where: num is the number of servers that will be started and run concurrently. repeat indicates that the first server specification should be repeated num times for use with resources. Other server specifications will be ignored. #Server 1 machine id: mid (Comment only) (Required) where: mid is the machine id of the server. executable: /.../ensight92.server(Linux/Unix/Apple Required, must use full path) or ensight92_server.bat (Windows only Required, must use .bat extension) [directory: wd] (Optional) where: wd is the working directory from which ensight92.server will be run [login id: id] (Optional) where: id is the login id. Only needed if it is different on this machine. [data_path: /.../dd] (Optional) where: dd is the directory where the data resides. Full path must be provided if you use this line. casefile: yourfile.case (Required, but depending on format, may vary as to whether it is a casefile, geometry file, neutral file, universal file, etc. Relates to the first data field of the Data Reader Dialog.) [resfile: yourfile.res] (Depends on format as to whether required or not. Relates to the second data field of the Data Reader Dialog.) [measfile: yourfile.mea] (Depends on format as to whether required or not. Relates to the third data field of the Data Reader Dialog.) [bndfile: yourfile.bnd] (Depends on format as to whether required or not. Relates to the fourth data field of the Data Reader Dialog.) --- Repeat pertinent lines for as many servers as declared to be in this file --- BASIC OPERATION To use Server of Servers, you must: 1. Partition your data, and distribute it (or make it available) to the various machines on which you will run servers. (Or if all servers have access to the data, you can use the auto_distribute option in the sos casefile.) 2. Create the sos casefile, which defines the server machines, the location of server executables on those machines, and the name and location of the [partitioned] data for the servers. 3. Use ensight92.sos in place of ensight92.server, and provide it with the sos casefile. Example SOS Casefile This example deals with a EnSight Gold dataset that has been partitioned into 3 portions, each running on a different machine. The machines are named joe, sally, and bill. The executables for all machines are located in similar locations, but the data is not. Note that the optional data_path line is used on two of the servers, but not the third. FORMAT type: master_server gold SERVERS number of servers: 3 #Server 1 machine id: joe executable: /usr/local/bin/ensight92/bin/ensight92.server Page 61 data_path: /usr/people/john/data casefile: portion_1.case #Server 2 is a Windows machine (notice .bat extension) machine id: sally executable: C:\Program Files\CEI\ensight92\bin\ensight92_server.bat data_path: D:\john\data casefile: portion_2.case #Server 3 machine id: bill executable: /usr/local/bin/ensight92/bin/ensight92.server casefile: /scratch/temp/john/portion_3.case If we name this example sos casefile - “all.sos”, and we run it on yet another machine - one named george, you would want the data distributed as follows: On george: On joe (in /usr/people/john/data): On sally (in /scratch/sally/john/data): On bill (in /scratch/temp/john): all.sos portion_1.case, and all files referenced by it. portion_2.case, and all files referenced by it. portion_3.case, and all file referenced by it. By starting EnSight with the -sos command line option (which will autoconnect using ensight92.sos instead of ensight92.server), or by manually running ensight92.sos in place of ensight92.server, and providing all.sos as the casefile to read in the Data Reader dialog - EnSight will actually start three servers and compute the respective portions on them in parallel. So, one could do the following (after preparing the all.sos file): On “george”, run the client and the sos by invoking the ensight92 script in a shell window (non-windows) or Command Prompt window (windows), like: george>> ensight92 -sos Or one could run the client on the “myclient” machine, telnet (or equivalent) into the “george” machine and run the sos there, by using the following commands: If “myclient” is a non-windows machine: In a window on “myclient”: In a window that is telneted into the “george” machine: myclient>> ensight92.client -cm If “george: is a non-windows machine: george>> ensight92.sos -c myclient If “george is a windows machine: george>> ensight92_sos -c myclient : If “myclient” is a windows machine: In a Command Prompt window on “myclient”: In a Command Prompt window that is telneted into the “george” machine: myclient>> ensight92_client -cm If “george: is a non-windows machine: george>> ensight92.sos -c myclient If “george is a windows machine: george>> ensight92_sos -c myclient In either case, you would enter the all.sos command as the file to read in the Data Reader dialog once EnSight is up and connected. And the servers on “joe”, “sally”, and “bill” would be started and used automatically. Page 62 ENVIRONMENT Variables The following Environment variables will directly affect the SOS performance, see How To Setup for Parallel Computation. ENSIGHT9_MAX_THREADS ENSIGHT9_MAX_SOSTHREADS Optional NETWORK_INTERFACES section notes If the machine named george had more than one network interface (say it had its main one named george, but also had one named george2), we could add the section shown below to our casefile example: NETWORK_INTERFACES number of network interfaces: 2 network interface: george network interface: george2 This would cause machine joe to connect back to george, machine sally to connect back to george2, and machine bill to connect back to george. This is because the sos will cycle through its available network interfaces as it connects the servers. Remember that this is an optional section, and most users will probably not use it. Also, the contents of this section will be ignored if the -soshostname command line option is used. Example SOS Casefile for PLOT3D, Using structured auto_distribute This example shows a plot3d dataset (post.x and post.q) that has not been partitioned, but is on an nfs mounted disk available to each server machine. EnSight will distribute the data to the 3 servers defined. IO will not necessarily be great since each server will be reading from the same file, but execution will be enhanced by the partitioning. We will use the same machines used in the previous example. FORMAT type: master_server plot3d auto_distribute: on plot3d_iblanked: true plot3d_multi_zone: false plot3d_dimension: 3d plot3d_source: cbin plot3d_grid_double: false plot3d_results_double: false SERVERS number of servers: 3 #Server 1 machine id: joe executable: /usr/local/bin/ensight92/bin/ensight92.server data_path: /scratch/data casefile: post.x resfile: post.q #Server 2 machine id: sally executable: /usr/local/bin/ensight92/bin/ensight92.server data_path: /scratch/data casefile: post.x resfile: post.q #Server 3 machine id: bill executable: /usr/local/bin/ensight92/bin/ensight92.server data_path: /scratch/data casefile: post.x resfile: post.q Page 63 Example SOS Casefile for EnSight Gold, Using unstructured auto_distribute This example shows an EnSight Gold dataset (trial.case) that has not been partitioned, but is on an nfs mounted disk available to each server machine. EnSight will distribute the data to the 3 servers defined. IO will not necessarily be great since each server will be reading from the same file, but execution will be enhanced by the partitioning. We will use the same machines used in the previous examples. FORMAT type: master_server gold auto_distribute: on do_ghosts: on buffer_size: 10000 want_metric: on SERVERS number of servers: 3 #Server 1 machine id: joe executable: /usr/local/bin/ensight92/bin/ensight92.server data_path: /scratch/data/gold casefile: trial.case #Server 2 machine id: sally executable: /usr/local/bin/ensight92/bin/ensight92.server data_path: /scratch/data/gold casefile: trial.case #Server 3 machine id: bill executable: /usr/local/bin/ensight92/bin/ensight92.server data_path: /scratch/data/gold casefile: trial.case Special Case: If using auto_distribute (and thus each server will be accessing the same data files), and the servers will all be run on the same machine, then one can add the word “repeat” to the end of the “number of servers: num” line and then only define one set of Server info. For example: FORMAT type: master_server gold auto_distribute: on SERVERS number of servers: 3 repeat #Server 1 machine id: joe executable: /usr/local/bin/ensight92/bin/ensight92.server data_path: /scratch/data/gold casefile: trial.case Structured Auto Distribute Note: If using structured auto_distribute, the default decomposition scheme is to do so in the i, j, or k direction that has the largest dimension. This may not always be the best direction for a given analysis. Thus, through the use of an environment variable, the user can set the axis to use. The chosen axis will be used unless the dimension in that direction will not allow for all servers to contain data (namely, as long as the dimension in the chosen direction is greater than the total number of servers used). To use the this option, set the following to 0, 1, 2, or -1: setenv SAD_DECOMPOSE_AXIS 0 1 2 -1 (for the i axis) (for the j axis) (for the k axis) (to use the default largest dimension scheme, same as not setting the variable) Page 64 SEE ALSO How To Read Data How To Read User Defined How To Setup for Parallel Computation How To Use Resource Managament User Manual: Server-of-Server Casefile Format Page 65 Load Spatially Decomposed Case Files INTRODUCTION If one has multiple EnSight gold casefiles (each of which contain a spatially decomposed portion of the same model), they can be read using one or more servers (as long as the number of servers is less than or equal to the number of casefiles). In other words, when it is desired to read N casefiles with M servers (M<=N), an additional section can be added to the SOS casefile to accomplish this. Note that the following important restrictions/limitations will apply: 1. M (number of servers) must be less than or equal to N (number of casefiles). 2. Unstructured data only. (Note: a similar capability exists for structured data. See How to Use Block Continuation) 3. Auto distribute may not be specified in the SOS casefile. 4. None of the following can be specified in the partition casefiles: GEOMETRY measured: match: boundary: rigid_body: Vector_glyphs: BLOCK_CONTINUATION MATERIAL Note: that some of the restrictions (such as measured) may eventually be lifted. But currently all of the above are in effect. 5. All of the normal SOS requirements still apply. a) All parts must be present in all cases. (Empty parts are allowed) b) The same variables must exist in all cases. c) The same timesets must be used in all cases. Note: If the desired number of servers is equal to the number of casefiles, one can either use the procedure described in this How To, or could use the normal SOS procedures (see How To Use Server of Servers). BASIC OPERATION To postprocess your partitioned EnSight Gold unstructured data on fewer servers than casefiles, run SOS using an SOS casefile that has a MULTIPLE_CASEFILES section. Three possible methods are available for your convenience . They all accomplish the same thing in slightly different ways. So use whichever is easiest for your situation. Note: in using one of the 3 the methods below, one should determine something about how the data resides, or is available to EnSight. Namely, how will one need to specify the path to the data. Since the whole idea is that the number of servers may vary, and Ensight will determine which casefiles go to which servers, there are really only two possibilities for paths. A) There is a global path for all of the data. And thus each server needs to know this global path (which it will prepend to each casefile). B) Each casefile has its own path. And each server needs to know the path for each. Page 66 Available Section lines: Comments MULTIPLE_CASEFILES Required for all methods total number of cfiles: n Used for method 1 and 2 cfiles global path: global_path Optional, used for methods 1 and 2 cfiles: partition_1.case Used for method 1 partition_2.case . . partition_n.case cfiles pattern: partition_*.case Used for method 2 cfiles start number: # Used for method 2 cfiles increment: # Used for method 2 cfiles file: filename Used for method 3 Example Method 1 Specify the number of and the actual files in the sos casefile A) Using global path: MULTIPLE_CASEFILES total number of cfiles: 3 cfiles global path: /home/bjn/data cfiles: file1.case file_b.case bruce.case B) Using path per casefile: MULTIPLE_CASEFILES total_number of cfiles: 3 cfiles: /home/bjn/data1/file1.case /home/bjn/data2/file_b.case /home/bjn/data3/bruce.case Method 2 Specify the number of, the pattern, and the start and increment A) Using global path: MULTIPLE_CASEFILES total number of cfiles: 3 cfiles global path: /home/bjn/data cfiles pattern: file**.case cfiles start number: 0 cfiles increment: 1 OR MULTIPLE_CASEFILES total number of cfiles: 3 cfiles pattern: /home/bjn/data/file**.case cfiles start number: 0 cfiles increment: 1 Page 67 B) Using path per casefile: Note: method 2 does not have a way to have a separate path for each casefile. Method 3 Similar to 1., but place the info in a separate file A) Using global path: MULTIPLE_CASEFILES cfiles file: all_together_cfiles.txt and in all_together_cfiles.txt, (first line contains number of, second line contains the optional global path, then filenames come 1 per line on the following lines). Like: 3 /home/bjn/data file1.case file_b.case bruce.case B) Using path per casefile: MULTIPLE_CASEFILES cfiles file: separated_cfiles.txt and in separated_cfiles.txt, (first line contains number of, second line must be the word “none” - indicating no global path specified, then filenames come 1 per line on the following lines). Like: 3 none /home/bjn/data1/file1.case /home/bjn/data2/file_b.case /home/bjn/data3/bruce.case Another Example An EnSight Gold unstructured transient geometry model with a couple of variables, in 4 partitions, like: bjn1.case bjn1.geo0000 bjn1.geo0001 bjn1.scalar0000 bjn1.scalar0001 bjn1.evector0000 bjn1.evector0001 bjn2.case bjn2.geo0000 bjn2.geo0001 bjn2.scalar0000 bjn2.scalar0001 bjn2.evector0000 bjn2.evector0001 bjn3.case bjn3.geo0000 bjn3.geo0001 bjn3.scalar0000 bjn3.scalar0001 bjn3.evector0000 bjn3.evector0001 bjn4.case bjn4.geo0000 bjn4.geo0001 bjn4.scalar0000 bjn4.scalar0001 bjn4.evector0000 bjn4.evector0001 Using Method 1: If they all reside in the same directory (/home/bjn), a method 1 SOS casefile that will use just 2 servers (perhaps named bjn_4x2.sos) should look like: FORMAT type: master_server gold MULTIPLE_CASEFILES total number of cfiles: 4 cfiles global path: /home/bjn cfiles: bjn1.case bjn2.case bjn3.case bjn4.case SERVERS number of servers: 2 repeat Page 68 machine id: executable: gun ensight9.server Using Method 2: If they all reside in the same directory (/home/bjn), a method 2 SOS casefile that will use just 2 servers should look like: FORMAT type: master_server gold MULTIPLE_CASEFILES total number of cfiles: 4 cfiles global path: /home/bjn cfiles pattern: bjn*.case cfiles start number: 1 cfiles increment: 1 SERVERS number of servers: 2 repeat machine id: gun executable: ensight9.server Using Method 3: For this one, lets change things and say that they reside in separate directories, like: /scratch/portion1 bjn1.case bjn1.geo0000 bjn1.geo0001 bjn1.scalar0000 bjn1.scalar0001 bjn1.evector0000 bjn1.evector0001 /scratch/portion2 bjn2.case bjn2.geo0000 bjn2.geo0001 bjn2.scalar0000 bjn2.scalar0001 bjn2.evector0000 bjn2.evector0001 /scratch/portion3 bjn3.case bjn3.geo0000 bjn3.geo0001 bjn3.scalar0000 bjn3.scalar0001 bjn3.evector0000 bjn3.evector0001 /scratch/portion4 bjn4.case bjn4.geo0000 bjn4.geo0001 bjn4.scalar0000 bjn4.scalar0001 bjn4.evector0000 bjn4.evector0001 the SOS casefile could look like: FORMAT type: master_server gold MULTIPLE_CASEFILES cfiles file: /scratch/bjn.txt SERVERS number of servers: 2 repeat machine id: gun executable: ensight9.server and the /scratch/bjn.txt file could look like: 4 none /scratch/portion1/bjn1.case /scratch/portion2/bjn2.case /scratch/portion3/bjn3.case /scratch/portion4/bjn4.case or could look like: (See the Other Notes below) 4 /scratch portion1/bjn1.case portion2/bjn2.case portion3/bjn3.case portion4/bjn4.case Page 69 OTHER NOTES: When your casefile data resides in separate directories below a parent, such as: /home/bjn /home/bjn/data1 /home/bjn/data2 /home/bjn/data3 it is valid to use the global path to specify the parent directory, and the individual files to give the path on down. Such as: cfiles global path: /home/bjn cfiles: data1/file1.case data2/file_b.case data3/bruce.case This will result internally as the same thing as if you had done: cfiles: /home/bjn/data1/file1.case /home/bjn/data2/file_b.case /home/bjn/data3/bruce.case APPENDED_CASEFILES Variation: If you desire to use all casefiles on one server, you can obviously do so with the above option by using the SOS with one server. However, there is a variation on this option that can be used without using the SOS. It can be used with a client and server alone. It is very similar to the MULTIPLE_CASEFILES option in an SOS casefile, except that it is placed in the first regular casefile of the series - the one that you will read. It uses APPENDED_CASEFILES as the section header, and lists just the additonal casefiles (not the one that this is placed in). So instead of using the SOS with an SOS casefile like: FORMAT type: master_server gold MULTIPLE_CASEFILES total number of cfiles: 4 cfiles global path: /home/bjn cfiles: bjn1.case bjn2.case bjn3.case bjn4.case SERVERS number of servers: 1 machine id: gun executable: ensight92.server You could place the following in bjn1.case: FORMAT type: ensight gold GEOMETRY model: bjn1.geo VARIABLE scalar per node: scalar bjn1.scl APPENDED_CASEFILES total number of casefiles: 3 cfiles global path: /home/bjn cfiles: bjn2.case bjn3.case bjn4.case Note that all current limitations for the MULTIPLE_CASEFILES option (which were enumerated above) also apply to the APPENDED_CASEFILES option. The two options cannot be used in combination. It is an either Page 70 or situation. SEE ALSO How To Read Data How To Setup for Parallel Computation How To Use Resource Management User Manual: Server-of-Server Casefile Format Page 71 Read User Defined INTRODUCTION EnSight provides a mechanism for users to write their own readers and have the code automatically link and execute at run-time (using a shared library).This capability is documented in the EnSight Interface Manual. As indicated in that manual, sample readers, as well as the code for several actual readers are provided below the following directory: $CEI_HOME/ensight92/src/readers/. In subdirectories underneath, are README files that contain the latest information on using existing user defined readers. Also, as explained in that manual, be aware that a udr_checker.c file is provided in $CEI_HOME/ensight92/src/ readers/checker directory. This can be used to debug your User-defined reader before using it with EnSight. OTHER NOTES When starting EnSight (ensight92 or ensight92.server), you can use the command line option “-readerdbg” to echo user defined reader loading status. This will allow you to see what readers are actually being loaded. Set the environment variable ENSIGHT9_READER to point to the path where additional user defined readers exist and then start up with the -readerdbg option described above to verify that you are loading the reader(s) of interest. SEE ALSO The EnSight Interface Manual, as well as: How To Read Data Page 72 Do Structured Extraction INTRODUCTION When building parts from the Data Part Loader dialog for structured parts (Ensight6 structured parts, EnSight gold structured parts, PLOT3D parts), there is some flexibility in what is actually extracted. If the model contains iblanking, then you have control over which iblanking domain to use, namely Inside, Outside (blanked out), or All (which ignores the iblanking). If no iblanking in the model, the domain is All by default. You can extract all or portions of zones at original or coarser resolutions, do the extractions on single or multiple zones, extract planes at every delta value within a zone, etc. BASIC OPERATION When extracting the domain parts, whether iblanked or not, some (but definitely not all combinations) of the options include: Extracting a complete zone at original resolution, 1. Select the structured zone desired. Optionally you can change the domain and provide a part description. 2. Hit the Create/Load from selected button. The part will be created and shown in the graphics window. In the example below, it is shown in border representation mode. Page 73 Extracting a complete zone at coarser resolution, 1. Select the structured zone desired. Optionally you can change the domain and provide a part description. 2. Modify the Step values. These should be positive integer values. A step of two means to deal with every other plane, a step of four means every fourth plane, etc. 3. Hit the Create/Load from selected button. The part will be created and shown in the graphics window. In the example below, it is shown in border representation mode. Note that it is considerably coarser than the previous because step values of 2, 4, and 5 were used in the ijk directions respectively. Page 74 Extracting portions of a zone, 1. Select the structured zone desired. Optionally you can change the domain and provide a part description. 2. Modify the From and To values. These can be anything between the ranges shown in the Min and Max columns. By default they will be the entire range, but you can modify them. 3. Hit the Create/Load from selected button. The part will be created and shown in the graphics window. In the example below, it is shown in border representation mode. Note that you now get a portion instead of the whole. Note also that we got original resolution because we set step values back to one. The step values can be other than one, and your portion will be at the coarser resolution. Page 75 Extracting multiple planes within the same zone (these become unstructured), 1. Select the structured zone desired. Optionally you can change the domain and provide a part description. 2. Modify the From and To values so that one dimension is a plane. One of I, J, or K must have the same values for both From and To - indicating a plane in the other two dimensions. 3. Enter a value in the Delta field for the dimension that is a plane. Only one of the Delta fields may be non-zero, and it must be one where the From and To values are the same. 4. Hit the Create/Load from selected button. The part will be created and shown in the graphics window. In the example below, it is shown in border representation mode. Note that you now get an IK surface at J = 1, 6, 11, 16, 21, 26, ... Page 76 Extracting the same portions over multiple parts, 1. Select the structured zones desired. Optionally you can change the domain 2. Modify the From and To values. These can be anything between the ranges shown in the Min and Max columns (which will now be the min and max of all parts selected). By default they will be the entire range, but you can modify them. Additionally, “-1” is a valid entry, indicating the last plane. Minus numbers are ways to specify the plane from the max back toward the min, thus -2 equals the next to last plane. (Note: Zero is treated the same as -1) 3. Hit the Create/Load from selected button or the Create/load all button. In this example, 4 parts will be created, and they will each be the full extent IK plane at J = 1 for each of the four zones. Note that the IK ranges can actually vary per part because the max is specified, but each zone may be less than the max. In our example, we then changed From and To to be “0”, thus extracting the last plane in each zone. Note the image below. The image at the right includes complete zones that were extracted, but shown in feature angle representation so you get the feel of the complete zone. Page 77 Extracting unstructured iblanked parts. 1. Select the structured zones desired. Optionally you can change the Domain, From, To, and Step values. 2. Hit the Create/Load from selected button. In this example, 4 parts will be created, and they will each be the full extents at original resolution. Iblanking for the domain will be ignored. 3. Open the Iblanked Part Creation turndown. 4. Select from the domain parts that you have previously created. 5. Select the iblanking value to use. Optionally you can specify your own name for the part that will be created. 6. Hit the Create and Load Iblanked Unstructured Part button. This will create an unstructured part consisting of the elements which have the selected iblank value from the selected parts. SEE ALSO How To Read Data User Manual: Using Node Ranges: Page 78 Use Block Continuation INTRODUCTION Given a situation where structured data blocks have been partitioned for analysis on multiple compute nodes, and the data can be saved in EnSight Gold format, such that a set of cases exists which are contiguous from one set to another - the data can be read into Ensight using the casefile Block Continuation capability. This allows any number of these contiguous sets to be clustered and visualized together in an EnSight server. Furthermore, by using this capability combined with Ensight’s Server of Servers, one can visualize M number of sets with N number of EnSight Servers. Where m is greater than n. Please note that each set must be a standalone EnSight case containing a portion of all the parts. The block parts in each of the sets must consist of a valid subset range of each complete block part. This will require, for example, that a given 3D block part will vary in only one dimension throughout the sets. Also, each set must be the neighboring portion or “slice” in the set of cases. Note the following simple example: i dir Block Part 1 advances in the i direction. Block Part 2 advances in the j direction. j dir Each Case (or set) consists of portions of both parts, which are specified using EnSight’s block range capability. Thus, the first case has the red portions. The second case has the yellow portions, etc. Each block part can be “sliced up” in a different direction, but that direction must continue for all sets for that part. And the sets must be the contiguous natural neighbors of each other. Note that the block dimensions must remain the same in the non-advancing directions, but they can vary per set in the advancing direction (even though in this simple example they are quite consistent). With data set up like the above, we might then decide that we will visualize the model with only two servers. We could combine (using Block_Continuation) the first two sets onto the first server and the last 3 sets onto the second server. Portion of Block Part 1 on server 1 (consists of original sets 1 and 2) Portion of Block Part 2 on server 1 (consists of original sets 1 and 2) Portion of Block Part 1 on server 2 (consists of original sets 3, 4, and 5) Portion of Block Part 2 on server 2 (consists of original sets 3, 4, and 5) Page 79 BASIC OPERATION To combine more than one of the sets for a given server (what we may call a “cluster” of sets), one must create a casefile which contains a Block_Continuation section (as described in Chapter 11 of the User Manual). In our example on the previous page, there were five case files (with their associated geo and scl files). set_1.case set_2.case set_3.case set_4.case set_5.case set_1.geo set_2.geo set_3.geo set_4.geo set_5.geo set_1.scl set_2.scl set_3.scl set_4.scl set_5.scl and the contents of the first of these casefiles (set_1.case) would look something like: FORMAT type: ensight gold GEOMETRY model: set_1.geo VARIABLE scalar per node: set_1.scl With the contents of each of the other casefiles differing only in the digit following the underscore. To “cluster” these as described (two sets in the first case and 3 sets in the second case), we would need to create the following two casefiles. cluster_1.case, would contain: FORMAT type: ensight gold GEOMETRY model: set_%.geo VARIABLE scalar per node: set_%.scl BLOCK_CONTINUATION number of sets: 2 filename start number: 1 filename increment: 1 Note the use of % as the wildcard for block continuation sets. cluster_2.case, would contain: FORMAT type: ensight gold GEOMETRY model: set_%.geo VARIABLE scalar per node: set_%.scl BLOCK_CONTINUATION number of sets: 3 filename start number: 3 filename increment: 1 And we could then easily use an SOS casefile (perhaps named, two_blocks.sos) that would use these two cluster files: FORMAT type: master_server gold SERVERS number of servers: 2 #Server 1 machine id: node1 executable: ensight92.server casefile: cluster_1.case #Server 2 machine id: node2 executable: ensight92.server casefile: cluster_2.case Page 80 If you now run EnSight using this SOS casefile, the two block parts should appear as you would expect. Of course, to avoid any visual (or computational) effects from the partitioning, you would need to be using ghost cells between the original partitions (sets). See EnSight Gold Geometry File Format and the example file below. For a description of block range usage, which the original partition (sets) use in describing the block geometry, See EnSight Gold Geometry File Format An example of such is the third set geometry file (set_3.geo), which is using uniform blocks with ranges: Uniform Block Continuation Test - set 3 ======================================= node id assign element id assign extents 0.00000e+00 1.00000e+00 -5.00000e+00 1.00000e+00 0.00000e+00 5.00000e+00 part 1 horizontal block uniform range 2 2 6 1 2 1 2 0.00000e+00 0.00000e+00 2.00000e+00 1.00000e+00 1.00000e+00 1.00000e+00 part 2 vertical block uniform range 2 11 2 1 2 5 7 0.00000e+00 -2.00000e+00 0.00000e+00 1.00000e+00 -0.50000e+00 1.00000e+00 3 4 1 2 Curvilinear and rectilinear descriptions for block parts are of course also valid. This same file using ghost cells is: Uniform Block Continuation Test - set 3 ======================================= node id assign element id assign extents 0.00000e+00 1.00000e+00 -5.00000e+00 1.00000e+00 0.00000e+00 5.00000e+00 part 1 horizontal block uniform with_ghost range 2 2 6 1 2 1 2 0.00000e+00 0.00000e+00 1.00000e+00 1.00000e+00 1.00000e+00 1.00000e+00 ghost_flags 1 0 1 part 2 2 5 Page 81 vertical block uniform with_ghost range 2 11 2 1 2 4 0.00000e+00 -1.50000e+00 0.00000e+00 1.00000e+00 -0.50000e+00 1.00000e+00 ghost_flags 1 0 0 1 8 1 2 Transient Example If we change our example to be a simple transient model, using the same sets, but now with two time steps: set_1_00.case set_2_00.case set_3_00.case set_4_00.case set_5_00.case set_1_00.geo set_2_00.geo set_3_00.geo set_4_00.geo set_5_00.geo set_1_00.scl set_2_00.scl set_3_00.scl set_4_00.scl set_5_00.scl set_1_01.case set_1_01.geo set_1_01.scl set_2_01.case set_2_01.geo set_2_01.scl set_3_01.case set_3_01.geo set_3_01.scl set_4_01.case set_4_01.geo set_4_01.scl set_5_01.case set_5_01.geo set_5_01.scl The contents of the first of these casefiles (set_1_00.case) would now look something like: FORMAT type: ensight gold GEOMETRY model: 1 set_1_**.geo VARIABLE scalar per node: 1 set_1_**.scl TIME time set: 1 number of steps: 2 filename start number: 0 filename increment: 1 time values: 0.0 1.0 changing_coords_only With the contents of each of the other casefiles differing only in the digit following the first underscore. To “cluster” these as described (two sets in the first case and 3 sets in the second case), we would need to create the following two casefiles. cluster_1.case, would contain: FORMAT type: ensight gold GEOMETRY model: 1 set_%_**.geo VARIABLE scalar per node: 1 set_%_**.scl TIME time set: number of steps: filename start number: filename increment: time values: BLOCK_CONTINUATION number of sets: filename start number: filename increment: changing_coords_only 1 2 0 1 0.0 1.0 2 1 1 cluster_2.case, would contain: Page 82 FORMAT type: ensight gold GEOMETRY model: 1 set_%_**.geo VARIABLE scalar per node: 1 set_%_**.scl TIME time set: number of steps: filename start number: filename increment: time values: BLOCK_CONTINUATION number of sets: filename start number: filename increment: changing_coords_only 1 2 0 1 0.0 1.0 3 3 1 And we could then use the same SOS casefile that we showed in the static example. SEE ALSO How To Use Server of Servers How To Read Data User Manual: EnSight Gold Geometry File Format Page 83 Use Resource Management INTRODUCTION Resources are used to specify which computers are used for running the various EnSight components, specifically the Server (ensight92.server), the SOS (ensight92.sos), the CollabHub (ensight92.collabhub), and the distributed renderers (ensight92.client). If you are running a single client and server on a single computer, you may skip this document. Resources are an alternative way to specify these computers compared to SOS case files, PRDIST files, Connection Settings, and command line options. While these other ways are still valid and take precedence for backwards compatibility, resources greatly simplify specifying computers in a dynamic network environment. For example, SOS Case files and PRDIST files no longer need to be edited to reflect the current node allocation from cluster batch schedulers. Resources coupled with native reader support in the SOS even make SOS Case files unnecessary. Resources can be specified via command line arguments and environment variables. Resources can be specified multiple times; precedence rules determine which resources ultimately get used. This allows sites to specify defaults while allowing those to be overridden. BASIC OPERATION Resource Files Resources can be specified via a resource file. Here is an example of a resource file: #!CEIResourceFile 1.0 SOS: host: localhost SERVER: prologue: “setup_job” epilogue: “cleanup_job” host: server1 host: server2 host: server3 host: server4 COLLABHUB: host: pc0 RENDERER: prologue: “setenv DISPLAY :0.0” # epilogue: host: pc1 host: pc2 host: pc2 Resource files must begin with the ‘#!CEIResourceFile 1.0’ line. Afterwards, they may have up to four optional sections: SOS, SERVER, COLLABHUB, and RENDERER. Each of the four sections contains one or more ‘host: hostname’ lines. These lines specify which computers to use for the corresponding section. ‘hostname’ must be an Internet/intranet routable host name or IP address. A given host name may appear on multiple lines within a section or in different sections. If it appears multiple times within a section, then that host will run multiple instances of the corresponding EnSight component if needed. Additionally, each section may have an optional ‘prologue: cmd’ line and/or an optional ‘epilogue: cmd’ line. These specify a command to execute on each host before and after the corresponding EnSight component. Note that the cmd string must be quoted, and may include appropriate job backgrounding symbols (e.g. ‘&’). At version 2.0, the resource file can accept an optional ‘shell:’ line, like: #!CEIResourceFile 2.0 SOS: host: bunker shell: "/usr/local/bin/ssh" Note the new version number (2.0) and that the shell line string must be double quoted. Page 84 How to specify resources Resources can be specified via resource files, environment variables, and command line options. Precedence rules determine which resources will be used. Basically, the last occurrence of a resource section (e.g. SERVER) will be used in its entirety. For example, if multiple SERVER resource sections are found, only one will be used as determined by the precedence rules. Since the EnSight Client, SOS, and CollabHub start other EnSight processes, they can use resources. The EnSight Server and distributed renderers do not start other EnSight processes that require resources. While many ways exist to specify resources, in practice only one or two will be used given the particular user’s computational environment. Client Resources The EnSight client supports the following ways for specifying resources: 1. the ENSIGHT9_RES environment variable; 2. the ENSIGHT9_SERVER_HOSTS environment variable; 3. the ENSIGHT9_RENDERER_HOSTS environment variable; 4. the ‘-use_lsf_for_servers’ command line option; 5. the ‘-use_lsf_for_renderers’ command line option; 6. the ‘-use_pbs_for_servers’ command line option; 7. the ‘-use_pbs_for_renderers’ command line option; 8. the ‘-sosres file_name’ command line option; 9. the ‘-chres file_name’ command line option; and 10.the ‘-res file_name’ command line option. If multiple resources are specified to the client, then they will be evaluated in the order indicated above with the later methods taking higher precedence for a given section. The ENSIGHT9_RES environment variable specifies a resource file name that the client reads. ENSIGHT9_SERVER_HOSTS and ENSIGHT9_RENDERER_HOSTS specify quoted strings of space delimited host names (e.g. “host1 host2 host1 host3”) to be used for EnSight servers and distributed renderers, respectively. The host names are used in the order they occur. A host name may occur multiple times. If either the ‘-use_lsf_for_servers’ or ‘-use_lsf_for_renderers’ command line options are specified, then the client will evaluate the environment variable LSB_MCPU_HOSTS for the resources. The environment variable specifies a quoted string such as “host1 5 host2 4 host3 1” which indicates 5 CPUs should be used on host1, 4 CPUs should be used on host2, and 1 CPU should be used on host3. The hosts will be used in a round-robin fashion. If either of the ‘-use_pbs_for_servers’ or ‘-use_pbs_for_renderers’ command line options are specified, then the client will evaluate the environment variable PBS_NODEFILE for the resources. The environment variable specifies a filename in which the file contains list of line delimited host names that were allocated by the PBS scheduler. The ‘-sosres file_name’ command line option specifies the pathname to a resource file. This file name is passed to the SOS and processed by it; thus the file name must be accessible and readable by the ensight92.sos process. If multiple ‘-sosres’ options are specified, only the last will be used. The ‘-chres file_name’ command line option specifies the pathname to a resource file. This file name is passed to the CollabHub and processed by it; thus the file name must be accessible and readable by the ensight92.collabhub process. If multiple ‘-chres’ options are specified, only the last will be used. The ‘-res file_name’ command line option specifies the pathname to a resource file. This command line option can be specified multiple times. This might be useful when generating resource files dynamically: a single file might specify only a particular type of resource (e.g. SERVER or RENDERER). The last occurrence of a particular section takes precedence when multiple ‘-res’ options are given. Finally, a resource file may be selected in the File->Open dialog for the SOS to use. Page 85 SOS Resources The EnSight SOS supports the following ways for specifying resources: 1. 2. 3. 4. 5. 6. 7. 8. resources gathered and sent from the client; the ‘-sosres file_name’ command line option; the ENSIGHT9_RES environment variable; the ENSIGHT9_SERVER_HOSTS environment variable; the ‘-use_lsf_for_servers’ command line option; the ‘-use_pbs_for_servers’ command line option; the ‘-res file_name’ command line option; and, a resource file specified via the File->Open dialog. If multiple resources are specified to the SOS, then they will be evaluated in the order indicated above with the later methods taking higher precedence for a given section. However, the SOS only uses SERVER section resources; the other sections are ignored. The ‘-sosres file_name’ command line option specifies the pathname to a resource file. If multiple ‘-sosres’ options are specified, only the last will be used. The ENSIGHT9_RES environment variable specifies a resource file name that the SOS reads. ENSIGHT9_SERVER_HOSTS specifies a quoted string of space delimited host names (e.g. “host1 host2 host1 host3”) to be used for EnSight servers. If the ‘-use_lsf_for_servers’ command line option is specified, then the SOS will evaluate the environment variable LSB_MCPU_HOSTS for the resources. The environment variable specifies a quoted string such as “host1 5 host2 4 host3 1” which indicates 5 CPUs should be used on host1, 4 CPUs should be used on host2, and 1 CPU should be used on host3. The hosts will be used in a round-robin fashion. If the ‘-use_pbs_for_servers’ command line option is specified, then the SOS will evaluate the environment variable PBS_NODEFILE for the resources. The environment variable specifies a filename in which the file contains list of line delimited host names that were allocated by the PBS scheduler. The ‘-res file_name’ command line option specifies the pathname to a resource file. This command line option can be specified multiple times. The last occurrence of a particular section takes precedence when multiple ‘-res’ options are given. Finally, a resource file may be selected in the File->Open dialog for the SOS to use. CollabHub Resources The EnSight CollabHub supports the following ways for specifying resources: 1. 2. 3. 4. 5. 6. 7. resources gathered and sent from the client; the ‘-chres file_name’ command line option; the ENSIGHT9_RES environment variable; the ENSIGHT9_RENDERER_HOSTS environment variable; the ‘-use_lsf_for_renderers‘ command line option; the ‘-use_pbs_for_renderers’ command line option; and, the ‘-res file_name’ command line option. If multiple resources are specified to the CollabHub, then they will be evaluated in the order indicated above with the later methods taking higher precedence for a given section. However, the CollabHub only uses RENDERER section resources; the other sections are ignored. The ‘-chres file_name’ command line option specifies the pathname to a resource file. If multiple ‘-chres’ options are specified, only the last will be used. The ENSIGHT9_RES environment variable specifies a resource file name that the CollabHub reads. ENSIGHT9_RENDERER_HOSTS specifies a quoted string of space delimited host names (e.g. “host1 host2 host1 host3”) to be used for EnSight distributed renderers. If the ‘-use_lsf_for_renderers‘ command line option is specified, then the CollabHub will evaluate the environment variable LSB_MCPU_HOSTS for the resources. The environment variable specifies a quoted string such Page 86 as “host1 5 host2 4 host3 1” which indicates 5 CPUs should be used on host1, 4 CPUs should be used on host2, and 1 CPU should be used on host3. The hosts will be used in a round-robin fashion. If the ‘-use_pbs_for_renderers’ command line option is specified, then the CollabHub will evaluate the environment variable PBS_NODEFILE for the resources. The environment variable specifies a filename in which the file contains list of line delimited host names that were allocated by the PBS scheduler. The ‘-res file_name’ command line option specifies the pathname to a resource file. This command line option can be specified multiple times. The last occurrence of a particular section takes precedence when multiple ‘-res’ options are given. When using distributed rendering, any hosts specified via a prdist file are used instead of those given by RENDERER resources. Additionally, any prdist file specified directly to the collabhub, will override one specified to the client. A Client/Server Example Resources are not used to specify where a server runs when it is part of a normal client/server session. The default server connection in the Connection Setting dialog determines on which computer the server runs unless the Client command line option ‘-c connection_name’ is specified. A Simple SOS Example The SOS can read any of the supported file formats in addition to the SOS Case file format. When a SOS Case file is not used, then the number of EnSight Servers used is equal to the number of hosts specified in the SERVER resource section. 1. The following resource file ‘my_hosts.res’ is created: #!CEIResourceFile 1.0 SOS: host: borg SERVER: host: drone1 host: drone2 host: drone3 host: drone1 2. EnSight is started with this command line: ensight92 -res my_hosts.res -sos The EnSight Client will automatically check out a gold key and will run on the local workstation, the SOS (ensight92.sos) will be automatically started on computer ‘borg’ and will connect back to the client. Borg will need to recognize the name of the computer that the client is running on. 3. In the File->Open dialog the LS-Dyna file ‘d3plot’ is selected and the ‘Load All’ button is clicked. The SOS will start four EnSight Servers on computers ‘drone1’, ‘drone2’, ‘drone3’, and ‘drone1’ (presumably, ‘drone1’ might be a SMP). The ‘drone’ computers need to recognize the hostname borg in order to connect back to the sos running on this computer. Each of the servers will read 1/4 of the data set since the ‘Auto Distribute’ flag (on the SOS tab of the File->Open dialog) is on by default for the LS-Dyna reader. Another SOS Example 1. EnSight is started with this command line: ensight8 2. The Case->Connection Settings dialog is opened. On the ‘SOS’ tab, an entry for host ‘borg’ is created. For that entry, ‘Executable:’ is set to the name of command file ‘my_sos’, ‘Use default rsh cmd’ is deselected, and ‘Alt rsh cmd:’ is set to ‘ssh’. The entry is saved and EnSight is terminated. 3. The following resource file ‘my_hosts.res’ is created: Page 87 #!CEIResourceFile 1.0 SOS: host: borg SERVER: host: drone1 host: drone2 host: drone3 host: drone1 4. On computer borg (assuming it’s running Unix or Linux), the file ‘my_sos’ is created: #!/bin/csh setenv ENSIGHT9_SERVER_HOSTS ‘cat $PBS_NODEFILE‘ ensight92.sos $* The file must be in the user’s default path and must be executable. 5. EnSight is started with this command line: ensight92 -res my_hosts.res -sos The EnSight Client will check out a gold license key and run on the local workstation, the command file ‘my_sos’ will run on computer ‘borg’ which must be able to connect back to the local workstation by hostname. The client will start up ‘my_sos’ via ssh. ‘my_sos’ sets the environment variable ENSIGHT9_SERVER_HOSTS to be the contents of the file specified by the environment variable PBS_NODEFILE (OpenPBS’ dynamic list of allocated nodes). 6. In the File->Open dialog the LS-Dyna file ‘d3plot’ is selected and the ‘Load All’ button is clicked. The SOS will start EnSight Servers on computers specified in file $PBS_NODEFILE. Hosts specified in the SERVER section of my_hosts.res are ignored since ENSIGHT9_SERVER_HOSTS takes precedence. Each of the servers will read 1/N of the data set since the ‘Auto Distribute’ flag (on the SOS tab of the File>Open dialog) is on by default for the LS-Dyna reader. A SOS Case File Example When a SOS Case file is used with resources, it needs to be modified otherwise the resources will be ignored for the EnSight Servers. This is done for backwards compatibility. 1. The file SOS case file ‘big_data.sos’ is modified. Two lines are added to the FORMAT section: ‘use_resources: on’ and ‘auto_distribute: on’. The ‘casefile: ‘ line for each server is brought to the beginning of each subsection. FORMAT type: master_server LS-DYNA3D use_resources: on auto_distribute: on SERVERS number of servers: 2 #Server 1 #--------casefile: d3plot machine id: executable: ensight92.server directory: /tmp login id: data_path: /tmp #Server 2 #--------casefile: d3plot machine id: executable: ensight92.server directory: /tmp login id: data_path: /tmp Page 88 Note that the ‘casefile:’ line must appear before the other lines for that server when using resources. 2. The following resource file ‘my_hosts.res’ is created: #!CEIResourceFile 1.0 SOS: host: borg SERVER: host: drone1 host: drone2 host: drone3 host: drone1 2. EnSight is started with this command line: ensight92 -res my_hosts.res -sos The EnSight Client will run on the local workstation, the SOS (ensight92.sos) will run on computer ‘borg’. 3. In the File->Open dialog the SOS Case file ‘big_data.sos’ is selected and the ‘Load All’ button is clicked. The SOS will start two EnSight Servers on computers ‘drone1’ and ‘drone2’. Only two servers are used since two ‘casefile: ‘ lines occur in the SOS Case file. The ‘number of servers: 2’ line is ignored as are the ‘machine id:’ lines. Each of the servers will read half of the data set due to the line ‘auto_distribute: on’ in ‘big_data.sos’. Another SOS Case File Example 1. The file SOS case file ‘big_data.sos’ is modified. Two lines are added to the FORMAT section: ‘use_resources: on’ and ‘auto_distribute: on’. The ‘number of servers:’ line is modified. One server subsection is specified. FORMAT type: master_server LS-DYNA3D use_resources: on auto_distribute: on SERVERS number of servers: #Server 1 #--------casefile: machine id: executable: directory: login id: data_path: 4 repeat d3plot ensight92.server /tmp /tmp 2. The following resource file ‘my_hosts.res’ is created: #!CEIResourceFile 1.0 SOS: host: borg SERVER: host: drone1 host: drone2 host: drone3 host: drone1 2. EnSight is started with this command line: Page 89 ensight92 -res my_hosts.res -sos The EnSight Client will run on the local workstation, the SOS (ensight92.sos) will run on computer ‘borg’. 3. In the File->Open dialog the SOS Case file ‘big_data.sos’ is selected and the ‘Load All’ button is clicked. The SOS will start four EnSight Servers on computers ‘drone1’, ‘drone2’, ‘drone3’, and ‘drone1’. Since the ‘number of servers:’ line has the word ‘repeat’, the servers specified in the SERVERS resource is used to determine the number of servers used and their host names. All server subsections after the first in ‘big_data.sos’ are ignored due to ‘number of servers: 4 repeat’. Each of the servers will read 1/4 of the data set since the ‘Auto Distribute’ flag (on the SOS tab of the File>Open dialog) is on by default for the LS-Dyna reader. A PRDIST Example 1. The following resource file ‘my_hosts.res’ is created: #!CEIResourceFile 1.0 SOS: host: borg SERVER: host: drone1 host: drone2 host: drone3 host: drone1 COLLABHUB: host: curly RENDERER: prologue: “xhost +” host: larry host: moe 2. The following prdist resource file ‘my_conf_with_res.prdist’ is also created: #ParallelRender EnSight 1.0 router pc client 3. EnSight is started with this command line: ensight92 -res my_hosts.res -prdist my_config_with_res.prdist The EnSight Client will run on the local workstation, the SOS (ensight92.sos) will run on computer ‘borg’. The EnSight CollabHub will run on computer ‘curly’. Two distributed renderers will start on hosts ‘larry’ and ‘moe’. The my_conf_with_res.prdist file here specifies both "router" and "client" followed by blank names which indicate to use the 'my_hosts.res' file. The "pc" option indicates to use parallel compositing which removes the GUI from the composited display NOTE: if "pc" is not specified, then a GUI will wrap the composited display - which is a testing and debug mode. In addition, no display sync will be used during interactive transformations, producing a lag effect which is quite annoying. 4. In the File->Open dialog the LS-Dyna file ‘d3plot’ is selected and the ‘Load All’ button is clicked. The SOS will start four EnSight Servers on computers ‘drone1’, ‘drone2’, ‘drone3’, and ‘drone1’ (presumably, ‘drone1’ might be a SMP). Each of the servers will read 1/4 of the data set since the ‘Auto Distribute’ flag (on the SOS tab of the File>Open dialog) is on by default for the LS-Dyna reader. Page 90 Note that a prdist file can be specified as an option to the ‘-prdist’ command line option. However, if the defaults are adequate or overridden with command line options, then a prdist file is no longer needed. Furthermore, specifying the command line option ‘-prdist’ automatically implies the command line option ‘-sos’; previous versions required the user to specify it. See “Distributed Memory Parallel Rendering” on page 18. of the User Manual for prdist file documentation, including default values and manual connect support. OTHER NOTES See “Resource File Format” on page 13. in Chapter 10 of the User Manual for details on the resource file syntax. See the EnSight User’s Guide for details on relevant SOS Case file modifications as they pertain to resources. Also, see that section regarding details on which file formats support auto distribution. Note that not all Case files (i.e. nongold) can be auto distributed. The default SOS and server entries in the Connections Setting dialog will be used as the template for SOS and server computers not specifically listed in the dialog. This is useful for specifying defaults such as to use ‘ssh’ in place of ‘rsh’ or to specify a default path. SEE ALSO How To Read Data How To Read User Defined How To Setup for Parallel Computation User Manual: Server-of-Server Casefile Format Resource File Format Shared-memory parallel rendering Distributed Memory Parallel Rendering Page 91 Save or Output Save or Restore an Archive INTRODUCTION EnSight command files are useful for restoring the system to a state reached in a previous session. However, restoring a long session dealing with large files can be a tedious process. Fortunately, EnSight provides an archiving mechanism that saves only the current state of the system, rather than the entire history of a session. This capability is useful not only for large data files with several active variables, but also for saving a standard starting point for sessions. In the initial session, geometry can be loaded, variables activated, a good viewpoint selected, and an archive written. Subsequent sessions take advantage of this investment by merely loading the archive (which can be done as you start EnSight from the command line). The client and server each write separate binary files containing the complete current state of the respective processes. Since these files are binary, they can be quickly written and restored. Note that an archive only contains information resident in either client or server memory at the time of the archive. No information is available for variables that were inactive or time steps other than the current. For this reason, you should never remove the original dataset and attempt to use the archive as a substitute (unless you know what you’re doing). BASIC OPERATION An EnSight archive consists of three files: 1. The Archive Information File. This file provides pointers to the client and server archive files as well as additional information required to load the archive. An example is given in the Advanced Usage section below. 2. The Client Archive file. This is the client’s binary dump file. 3. The Server Archive file. This is the server’s binary dump file. (Note that for Server-of Servers, there will be an SOS archive file and then a server archive file per server) Although each file has a default location, you can override the default during the archiving process. Saving an Archive 1. Close all open EnSight windows except the main window. 2. Select File > Save > Full Backup... to open the Save Full Backup Archive dialog. 2. If desired, enter a new name for the Archive Information file. You can set the directory for the Archive Information File by clicking the Archive Information File... button to open a standard File Selection dialog. 3. If desired, select a directory for the client’s binary dump file by either entering the directory in the Client Directory field or clicking the Client Directory... button to open a standard File Selection dialog. 4. If desired, select a directory for the server’s binary dump file by either entering the directory in the Server Directory field or clicking the Server Directory... button to open a standard File Selection dialog. 5. Click Okay. Page 92 You also have the option of saving an archive as you exit EnSight. 1. Select File > Quit... to open the Quit Confirmation dialog. 2. Click the “Save full backup archive to:” toggle, and either enter a new name for the Archive information file or browse to the desired location/ file by clicking the Browse: button. 3. If you browsed to the file, click Save once you have selected or entered the desired filename. This will place the filename in the Quit confirmation dialog. 3. Click Yes to save the archive and exit. Restoring an Archive You can restore an archive either as part of EnSight startup or during an active session. To load an archive on startup: Page 93 1. Use the “-ar archive_info_file” option when you start EnSight. For example, % ensight92 -ar load.ar where load.ar is an Archive Information file saved in a previous session. To restore an archive during an active session: 1. Select File > Restore > Full Backup... to open the File Selection dialog. 2. Select the desired Archive Information file and click Okay. 3. If the original connection (when the archive was saved) was manual, you will need to manually restart the server. ADVANCED USAGE There are times when you may want to modify the contents of the Archive Information file. If you wish to use the archive on a different machine or change the location of the binary dump files, you can simply edit the file with a text editor. The following example shows the contents: Date saved Path to client’s binary file comment Case internal number Case name Connect type (auto or manual) Server host machine Server executable Server data directory Alternate server login ID Path to server’s binary file Wed Apr 2 15:31:51 1997 client ./ensight0402_153151.clientbkup # server for Case ‘Case 1’. **Warning Don’t Modify The Internal Number**. case_internal_number 0 case_name Case 1 case_connect_type auto case_connect_machine indigo2 case_connect_executable /usr/local/bin/ensight/server/ensight.server case_connect_directory /usr/people/joe/data case_connect_login_id server ./ensight_c1_0402_153151.serverbkup Note that there will be a section for all the case_ variables for each current case in the EnSight session. See How To Load Multiple Datasets for more information on cases. OTHER NOTES Important note! Archives are typically not upwardly compatible with new major – and some minor – releases of EnSight. For this reason, the complete current command file is also saved as part of the client’s binary dump. If you attempt to restore an archive and EnSight determines that the archive is not compatible with the current release, the command file will be restored to a default location. SEE ALSO User Manual: Saving and Restoring a Full backup Page 94 Record and Play Command Files INTRODUCTION Most powerful software systems have a built-in language that provides additional levels of power and functionality to complement and enhance a graphical user interface. EnSight is no exception. Any action that you can perform with the mouse or keyboard has a counterpart in the EnSight command language. A sequence of commands can be saved during a session to automate repetitive or tedious tasks. Command files can be automatically executed on EnSight startup to initialize the system to a desired state. Execution of command files can also be bound to keyboard keys for user-defined macros. BASIC OPERATION During an EnSight session, all actions are recorded and saved to a file known as the default command file. This file name typically starts with “ensight_” and is saved in /usr/tmp on UNIX systems or C:\Documents and Settings\\Local Settings\temp on Windows systems (unless you have redefined your TMPDIR environment variable). The default command file can be saved (and renamed) when exiting EnSight. Recording Commands To record a series of commands: 1. Select File > Command... to open the Command dialog. 2. Toggle the Record button on. 3. A File Selection dialog opens. Select or enter the desired file to save commands to and click Save. 4. When you wish to stop recording, toggle the Record button off. Note: As long as the record filename stays the same, the record button may be toggled on and off at any time, appending more commands to the file. When a new record file is selected, any existing commands in that file will be overwritten. Page 95 Playing a Command File To replay a command file: 1. Select File > Command... to open the Command dialog. 2. Click on the Browse button for load field. 3. A File Selection dialog opens. Select the desired command file and click Open. The command file will be loaded and the commands to be executed will be shown in black below the green current line indicator in the History window. 4. Toggle the Play button on. As commands are executed, they will be shown in gray above the current line. You can control command execution by pressing the VCR style buttons to: stop, start, and single step playback. Once playback is stopped, you can use the “Skip” button to skip commands. Playback speed can be controlled using the “Speed” slider. Playing a Command File on Startup You can execute a command file as part of EnSight startup using the “-p command_file” option when you start EnSight. For example, % ensight92 -p redo.enc where redo.enc is a command file saved in a previous session. Page 96 ADVANCED USAGE Command files are simple ASCII text and can be edited with any text editor. To easily determine the command for a given action, open the Command dialog and watch the list above the current line as you perform various operations. Keep in mind that the successful execution of some commands depends on the proper state existing at the time of execution. For example, creating a part when the parent part (as referenced by the part number) does not exist will cause an error. Command files can be nested: if you have a file that performs a certain task, you can “call” that command file from another file with the “play: filename” command. When a play: command is executed, the command file being played will be expanded in the History window, in a different color below the current line. Check the "Expand playfiles" box to expand all played files ahead of time. When played files are nested, their commands will be shown in red, yellow, green, blue and black respectively. An “exit:” command will cause EnSight to quit. An “interrupt:” command will cause the command file to pause execution and open the command dialog. You can save the command file for the current session when you exit EnSight, or you can use File > Save > Command from this session... to save the commands up to that point Command language can be used to generate macros. See How To Define and Use Macros. In addition to command files and macros, you also access the python interface through this dialog. This is explained in detail in the Interface Manual. (see Chapter 6, EnSight Python Interpreter) OTHER NOTES Command files provide an excellent method of documenting problems or potential bugs encountered during your use of EnSight. The command file can be transmitted to CEI electronically to help determine the nature of the problem. SEE ALSO How To Define and Use Macros User Manual: Command Files Interface Manual: EnSight Python Interpreter Page 97 Print/Save an Image INTRODUCTION The image displayed in the Graphics Window can be saved to disk or printed in a variety of formats: JPEG, TIFF, RGB (SGI), XPM, PNG and PPM are all formats that store single images in each file. The formats: Apple QuickTime, EnVideo, MPEG1, MPEG2, MPEG4, AVI, Macromedia Flash Video, Macromedia Flash and Animated GIF all support video streams. The PostScript format supports images, "move-draw" graphics and EPSF. The POVRAY format saves the geometry of the scene in a form that can be read by the POVRAY off-line rendering package. See below for Saving Animations BASIC OPERATION Basic Still Image Operation 1. Select File > Print/Save Image.... 2. Select Set Format... to choose the desired output format and format options. (See Changing the Save File Format below) 3. Set the base filename to save the image to disk. The Prefix select... option will allow a standard file save dialog to be used to fill in this field. 4. Set various options: The 'Convert to Default Print Color' option will invert the color of the display. For example, the background can be changed from black to white. The 'Show Plotters Only' option will print only the plots in the display. 5. Select any advanced options. The 'Advanced' tab brings up the following options: Window size: The 'Normal' option picks a window the same size as the current window. 'Full' picks a full screen window. Other options select various NTSC and DVD standards. The 'User defined' option allows the user to select any size output image. Note: there are no limits to the size of the image that can be rendered. Some formats cannot handle extremely large images. EnSight may need to render the scene in multiple passes to render at larger sizes, which can slow rendering down. Render to offscreen buffer: EnSight can use off-screen OpenGL 'p-buffers' on graphics cards that support them. This avoids artifacts that can show up with on-screen rendering. Save multiple images: This option causes EnSight to save MTM files based on detached displays. Number of passes: sets the amount of multi-pass anti-aliasing to use: higher is better quality. Stereo: The current scene can be rendered in stereo, even if the target system is not capable of displaying it. 'Current' is the default and picks stereo or mono display, depending on the current display mode. Mono and Interleaved select mono or traditional dual-image stereo. The remaining options allow for the saving of anaglyph stereo images (seen through red/cyan or other glasses). Screen tiling: if these are set to values other than 1, the image will be saved as an MTM file. The numbers specify the number of tiles in X and Y that the saved image will be subdivided into. 6. Select OK (or Print) to save and/or print the image. Page 98 Saving Animations The current animation or flipbook can be saved to disk by following these steps: 1) Use the record button Save animation dialog to bring up the 2) Select the format of the file to save (See Changing the Save File Format below) 3) Set the base filename for the image. The 'Prefix select…' option will allow a standard file save dialog to be used to fill this field in. 4) Set the number of frames of the animation to save 5) For various types of animations (flipbooks, solution times and animated traces), select if these will be animated during the saving operation and if they should be reset to their initial values before beginning the save operation. 6) Select any advanced options. The 'Advanced' tab brings up the following options. These are described in detail in the Image file saving section. 7) Selecting 'Ok' will begin recording the animation. Progress is displayed in the information text in the main window. The recording can be aborted by pressing the 'A' key while it is progressing. For more information, see EnSight’s keyframe animation and Flipbook animation facilities. Changing the Save File Format This dialog is presented to the user when any of the 'Set Format...' buttons are clicked. It allows for a specific file format and saving options to be selected. The subsequent image/animation saving operations will utilize this format. The basic dialog is shown here, with a scrolling list of available formats listed. The options specific to the selected format are displayed on the right side of the dialog. Pressing the 'Ok' button selects the new format, while 'Cancel' will close the dialog without changing the format or any of its settings. The file formats are actually provided via plug-in modules known as UDILs. It is possible for users to provide their own formats, but the options for ones shipped with EnSight are documented here. Common options There are a number of common options used by many (but not all) of the formats. These are at the top of the dialog on the right and include: · Color/Black and White: Selects between RGB and Grayscale output · Saturation Factor: Set the saturation factor for color images. Full saturation is 1.0, no saturation (i.e. white) is 0.0. · Framerate: Most animation formats allow for the rate of the frames (in frames per second, fps) to be set for the animation to be recorded. Generally, the default is 30fps. Page 99 Options for PostScript Format The PostScript format handles primitives either as precise drawing instructions (e.g. move to here, draw a line to here, fill this region) or as sampled images (pixel data). There are advantages and disadvantages to both. Move/draw output is resolution-independent and will reproduce fine lines and text. Since even low resolution printers have 3-4 times the resolution of a typical graphics workstation (in dots/inch), move/draw PostScript typically produces higher quality output. However, for very large models, the output files can become quite large (even with visibility culling on) and subsequent printing can be slow. In contrast, image or pixel PostScript saves the pixels of the image in the Graphics Window. Such an image is, by definition, fixed resolution. When printed, the pixels will be scaled to fit the page. Since the printer resolution is higher than the screen resolution, each pixel must be printed larger than it appeared on the screen resulting in visible pixels and jagged edges. To improve the quality of image PostScript output, EnSight will print only 3D geometry as pixels the remaining objects (annotation text, color legends, and plots) will be output as move-draw instructions and will overlay the image. Options exist for the generation of EPS format Postscript as well as the embedding of a Window preview image (for import into PC Windows applications ONLY - see Other Notes below). Element visibility can be used to reduce the number of primitives in the Postscript output. The subdivision option can be used to subdivide geometry for smooth color and shading output. Portrait or Landscape output orientation may be selected. The page can be scaled by an arbitrary page scale factor. Options for POVRAY Geometry Format There are no options for the POVRAY file format. Options for AVI Format Note: AVI files are a Microsoft standard format for movies, audio, icons, and other data types and are based on the 'RIFF' core file format. The options for this format are a little different for Unix and 32bit Windows. For Unix and Windows 64, the only Compression options are 'MJPEG', 'RAW' and 'MPEG4'. The only other option is the ability to set the maximum bitrate for the MJPEG4 compression scheme. On Win32, the system installed AVI codecs will be listed as compression options, along with options to specify the rate of keyframing, a general quality factor (0-100) and the desired bit-rate in kilobits/second. Page 100 Uncompressed AVI files can be quite large for even small animations. You can compress these files on your Windows PC using the EnVe 2.0 utility. It is capable of reading an AVI file (or any other animation file written by EnSight) and translating it to another format, including recompressing any AVI files. The AVI file format can have problems porting from platform to platform as the compression schemes are not always supported on all platforms. The MJPEG scheme is fairly well supported (Windows users need to install the latest DirectX runtime for it) and the RAW format has size limitation for 640x480 on some platforms. In general, the Indeo Video formats (e.g. IV41) and cvid are fairly portable and can be played by Apple's QuickTime player as well. Options for Windows BMP Format There are no special options (other than the Common options) for this format. Options for EnVideo Format This format has the advantage of being one of the few that natively supports stereo image streams. It also has a number lossless compression options and is recommended by CEI for archival/original animation output. EVO files can be converted to any other supported format using the EnVe 2.0 tool without loss of quality. This cannot be said for other formats. There are four compression options: Raw - lossless, no compression, very large files. RLE - lossless, run-length encoded imagery. GZ - lossless, uses the 'zlib' compression scheme, good balance for machines with faster processors. JPEG - lossy compression that uses the 'quality' option (0-100). Best compression ratio, but sacrifices some quality. Options for Animated GIF Format This format is intended for simple, low-quality output for Web pages. Most browsers will automatically playback .gif animations without the need of any plug-in modules. The format is limited to 256color images, so the quality of the images is poor, especially for smooth shaded images. The compression ratio can be quite high. Options include: Number of times to loop: sets the number of times the animation should loop before stopping Interlaced video: optimizes for slow web connection incremental display Transparent values: The R,G,B values (0-255) of a pixel color that should be set to "transparent" in the image. For example, setting these to (0,0,0) will cause all black pixels in the animation to be made transparent on playback. -1 values select that no pixel is transparent. Page 101 Options for JPEG Format This is a very portable, but lossy compressed format. The only option is a notional "Quality" setting that controls the compression rate (0-100). Options for MPEG1 / MPEG2 / MPEG4 Format MPEG is a very portable standard for animations. MPEG1 files are the most portable. MPEG2 is essentially the basis of DVDs and requires the licensing of a player codec to play them back (although most DVD players include the necessary, licensed codecs. MPEG4 is the basis of formats like QuickTime and WMV. It is not yet a very portable format, but it provides much better quality than MPEG1 or MPEG2 for the same bandwidth. Two options exist for MPEG. The specific sub-type of MPEG (1/2/4) can be selected as well as a target bitrate in kilobits per second. Options for PNG Format The PNG format is a lossless image format supported by many platforms and most web browsers. The only option is the method for compression that trades off computational complexity for overall compression rates. Page 102 Options for PPM Format The PPM format is a common lossless Unix image format that includes full color pixmaps (PPM), grayscale images (PGM) and bitmaps (PBM).. The options allow for the selection of Binary or ASCII forms of these files. Options for Apple Quicktime Format This is a popular animation format on the Apple Macintosh computers and Windows systems. The player can be downloaded as part of the iTunes package from www.quicktime.com. EnSight does not support all the codecs that QuickTime does, only the MPEG4-based compression.. The bitrate option selects the target stream rate in kilobits per second. There is a compression method option, but the only possible value at this time is MPEG4. Options for SGI RGB Format There are no special options (other than the Common options) for this format. Options for LLNL SM Format This format was developed by Lawrence Livermore National Labs specifically for support of large, tiled displays with dynamic pan/zoom playback. Players for the format include xmovie and blockbuster (blockbuster.sourceforge.net). The format is internally tiled and includes multiple resolutions of the animation in the same file.. Page 103 Options include: Compression: Raw, GZ, JPEG and RLE Similar to the CEI EVO format Quality: JPEG quality setting Tilesize: the size of the edge of one tile. 256 uses 256x256 tiles, while 0 specifies no tiling Resolutions: the number of lower resolution movies to include. If the original animation is 640x480 and the number of resolutions is 2, the file will contain animations at: 640x480, 320x240 and 160x120. Options for TIFF Format Tiff is a very portable, lossless image file format. The format has one option and that is the compression method. All the supported methods are lossless. Options for XPM Format This format is popular on Unix platforms and is generally used for icons, but can be used for any image. The transparent options allow for the specification of R,G,B values (0-255) of a pixel color that should be set to "transparent" in the image. For example, setting these to (0,0,0) will cause all black pixels in the image to be made transparent. -1 values select that no pixel is transparent. ADVANCED USAGE There are also some excellent public domain (i.e. free) tools for manipulating images. ImageMagick is a public domain, X-windows based program for displaying both images and animations (loaded as sequences of images) on a wide variety of platforms. Visit the Web site http://www.wizards.dupont.com/cristy/ImageMagick.html for more information. One of the most popular, cross platform tools is the GIMP. This tool has nearly the full functionality of Photoshop and can read/write all the image formats EnSight can. It is often installed by default on Linux platforms, but OSX, Windows and other platforms are supported as well: www.gimp.org. OTHER NOTES Almost all desktop publishing, page-layout, or word-processing packages permit importation of Encapsulated PostScript files. Macintosh packages recognize files by explicit file typing based on a four letter code (unlike UNIX, Page 104 which has no intrinsic file-typing). This code is not stored in the file itself, but in an “information file” used by the Finder (the Mac OS) to handle files. EPS files are recognized by the code “EPSF”. There are various methods of setting this code. File transfer utilities such as “fetch” can set the code during the transfer process. The “FileTyper” utility can be used to directly edit the Finder Information File. Unless this file type is set properly, it is likely that applications will refuse to recognize your EPS. Send email to fetch@dartmouth.edu for information on fetch. EPS files typically contain a “preview image” that lets the importing application display a facsimile of the actual graphic for ease in interactive positioning, scaling, or clipping. There are different methods of specifying this image (e.g. PICT resources for Macintosh or TIFF files for Windows). Unfortunately, the different methods of specifying the preview image preclude EnSight from providing this capability for import into Macintosh applications. When you import an EPS file, most Macintosh applications will display it as a gray box. You can, however, still resize and position the image and it should print fine. EnSight can, however, attach a preview image that can be used by Windows applications. Enable the “Windows (PC) Preview Capable” toggle in the Image Format Options dialog. The suffix “.EPS” should be used for the resulting files. Do not attempt to send a PostScript file containing a preview image to a printer! Additional Notes: 1. The file is saved or printed from the EnSight client machine - not the server. 2. The printer command should not include the file name. For example, if you normally print with "lpr -Plaser1 file.ps" then enter "lpr -Plaser1" in the To Printer Using Command field. 3. If you toggle on Convert to default print colors, all viewport background colors are changed to white and any object (part, viewport border, annotation, etc.) currently colored pure white (RGB = 1,1,1) will be changed to black. Resolution Control - Available in Print Dialog of Windows Version Note the pulldown allowing resolution to be increased. Increases here can greatly improve the resulting printed image, but will cause a slowdown in printing time. SEE ALSO User Manual: Saving and Printing Graphic Images Page 105 Save Geometric Entities INTRODUCTION EnSight has three internal writers that allow saving geometric data and variable values in Brick of Values, Case (EnSight Gold) or VRML. EnSight also allows the user to create their own writer as a dynamic shared library that is loaded at runtime and listed in the addition to the internal writer formats. BASIC OPERATION Saving Parts in EnSight Gold or VRML Formats 1. Select File > 2. Be sure the desired output format is selected. 3. Follow the instructions given. 4. Enter a file root name. 5. If the dataset is transient, specify the beginning, ending, and step values. For EnSight Gold only: 6. Toggle to save as binary files or not. 7. If the dataset is transient you can choose to save the multiple timesteps in one file (one file per variable). If you choose this option, you can also specify the maximum file size. 8. Click Okay. Both internal and user-defined writers have access only to the geometry of selected parts and each of their active variables. For all writers except VRML, only parts located on the server can be saved. This includes all original model parts, and the following created parts: 2D-clips, Elevated Surfaces, Developed Surfaces, and Isosurfaces. The VRML internal writer saves all the visible parts on the client in their current visible state except for Parts which have limit fringes set to transparent. The VRML file will be saved on the client. Output in the EnSight formats is intended to provide a method to save both model and created parts (with active variables) for subsequent reuse with EnSight. VRML output is intended for export to other systems. Most World Wide Web browsers come with either built-in or plug-in support for VRML file viewing. There are some important differences in how EnSight saves parts according to format chosen. Case(EnSight Gold) VRML Which parts are saved? All parts currently selected in the Main Parts List (except those indicated below) All visible parts Saved from where? EnSight server EnSight client Which parts cannot be saved? Any client-based part: contours, vector arrows, particle traces, profiles. Page 106 Saving Parts in Brick of Values Format 1. Select File > Save > Geometric Entities... 2. Be sure Brick of Values is selected as the Format type. 3. Follow the instructions given. 4. Select the desired variable. 5. If the variable is a vector, select the component desired. 6. Select the sampling resolution. 7. Select the sampling format, Brick of Bytes or Brick of Floats. 8. Enter a file root name. 9. Click Okay. Brick of Bytes and Brick of Floats is intended to give you an interface mechanism to volume rendering codes. When you click the Okay button the selected parts are discritized to the resolution indicated using the box tool as the bounds and orientation (x/y/z resolution refers to the x/y/z directions for the box tool). For Brick of Bytes (BoB) format a value of 0 is reserved for undefined (i.e., the discritized point found no variable information). The value of 1 is tied to all variable values less than or equal to the minimum palette value tied to the variable chosen while 255 is tied to all values greater to or equal to the maximum palette value. For Brick of Floats (BoF) format undefined values are assigned the undefined value indicated in dialog. Both BoB and BoF files are written out without any metadata - only the values for the discritized points is written. The order of the data is according to the following pseudo code: num_values = 0 for(z=0; z Save > Geometric Entities... 2. Select the desired user defined writer format. 3. Follow the instructions given. 4. If the writer accepts parameters, enter any desired ones in the Parameter(s) field. 5. Enter a file root name. 6. Save as binary or Ascii file, based on this toggle. 7. If the dataset is transient, specify the Time Step info. (Note that some writers produce static data, and thus may only use the Begin Time Step info) 8. Click Okay. The userd-defined writers can call the routines of an EnSight API to retrieve, for example, nodal coordinates, node ids, element ids of parts selected in the Parts window, to be passed by value to be used, manipulated and/or written out in any format desired. The User-defined writer dialog includes a Parameter field that allows the passing of text into the writer from the GUI. This text could contain extra options which the writer understands. Several example writers (including source code header files, Makefile and the corresponding shared library) are included to demonstrate this capability. The Case (Gold) Lite reader is included to demonstrate how to exercise most of the API and output a subset of the Case (Gold) format. Complex numbers and custom Gold format are not supported with this writer. The Case (Gold) writer ignores the Parameter field. While the writer is not compiled, the source code of this writer, the required header files, and the Makefile are included. The Flatfile user-defined writer is designed to demonstrate the output of selected part nodal data (coordinates & IDs) as well as active variable values (scalar and/or vector only) in a comma delimited format easily imported into other applications. If any of the keywords ‘ANSYS’ or ‘force’ or ‘body’ is entered into the Parameter field, then Flatfile will output an ANSYS body force file. The STL user-defined writer is designed to write out the border geometry in the form of triangular 2D elements of the selected part(s) at the beginning timestep. The end time and the step time are ignored. The STL format does not support multiple parts in a single binary file, but does support multiple parts in a single ASCII file. Therefore, if multiple parts are selected and ascii is checked, the STL writer outputs an ascii file with the border of each of the parts. If multiple parts are selected and binary is checked, the STL writer outputs a binary file containing a single border of the multiple parts. The STL writer only saves the beginning timestep and ignores the End Timestep and Step By fields. The STL writer ignores the Parameter field. Page 108 There are some important differences in how EnSight saves parts according to format chosen. User Defined Writers (UDW) Which parts are available to the UDW? All parts currently selected in the Main Parts List (except those indicated below) Where are the available parts located? EnSight server Which parts are unavailable to the UDW? Any client-based part: contours, vector arrows, particle traces, profiles More user-defined writers may be distributed with EnSight in the future. ADVANCED USAGE If Rigid Body Transformations Present Since EnSight does something special with the model timeset when rigid body information is read (via the rigid_body option in the casefile, or from a user-defined reader with rigid_body reading capability), you need to be aware of a few important issues. EnSight assumes that the rigid body timeset encompasses the normal geometry timeset, and it replaces the normal geometry timeset with the rigid body timeset - thus the following occurs when using this option. 1. If any created parts are in the list to be saved, EnSight will save as true changing coordinates. Namely, a geometry file containing the coordinates for each part will be saved at each time. Upon re-reading this model, you will be able to duplicate all actions, but it will be done as a true changing coordinate model. In other words, the original rigid_body file nature will not be duplicated. 2. If the original model had static geometry and rigid body file information - and you do not have any created parts in the list to be saved - saving will preserve the single static geometry and rigid_body file nature of the model. However, if the original model had changing geometry, or if variables have been activated - the number of geometry/variable files saved will be according to the rigid body timeset. This timeset often has many more steps than the original timesets - so be wise about the number of steps you write. It is often important to use the “Step by” option to control this. 3. Because of the things mentioned in 1 and 2 above - if you want to use the save geometric entities option in EnSight to “translate” a rigid body model from a different format into the EnSight format, you may want to consider the following process. First, read in the model without the rigid body transformations, activate the desired variables, and save the model. Second, read in the model with the rigid body transformations, do not activate any variables, and save the model (with a different name). Edit the Casefile of the first model to use the model: and rigid_body: lines of the second casefile instead of the first casefile. SEE ALSO User Manual: Saving Geometric Entities Readme file is $CEI_HOME/ensight92/src/writers/README Page 109 Save/Restore Context INTRODUCTION EnSight context files can be used to duplicate the current EnSight state with the same or a different, but similar, dataset. The context file works best if the dataset it is being applied to contains the same variable names and parts, but can also be used when this is not the case. BASIC OPERATION An EnSight context consists of a set of files: the context file itself as well as associated palette, view, and keyframe animation files. The names of the associated files will be that of the context file with a standard extension. Saving a Context 1. Select File > Save > Context... to open the Save Current Context dialog. 2. Toggle Save Current Case Only or Save All Cases. 3. Enter a name for the Context File. You can set the directory for the Context File by clicking the Select File... button to open a standard File Selection dialog. 4. Click Okay. Restoring a Context Three options: 1) Start EnSight and restore a context as described below. This will recreate the parts of the original dataset and restore them to their saved condition. 2) Start EnSight, read a new dataset, cancel the part loader without creating parts, and restore a context as described below. This will create the parts of the new dataset (mapping as directed) and restore the context of the original dataset. 3) Start EnSight, read a new dataset, create the desired parts, and restore a context as described below. This will do the mapping (as directed) of parts and restore the context of the original dataset. 1. Select File > Restore > Context... 2. Select the case to restore the context to. Note: If the context file contains information for multiple cases, ignores the selection 3. Enter or select the desired context file 4. Click Okay. Page 110 OTHER NOTES The same part names (and variable names) do not have to exist in the new case. If this situation arises, a pop-up dialog will appear where you will be asked to match the part names (or variable names) from the context file with the parts (or variables) from the new case. This dialog is not available in batch mode. Therefore, you can’t use a context file that needs matching in batch mode. If the number of parts between the two datasets match, then no mapping of parts occurs and the parts will end up renamed to match the original case. When restoring context files with multiple cases, the needed cases will be started, if needed, according to the connection scheme of the current run of EnSight. Flipbook animations are not restored using the context file because it is unknown at the time the context file is created what state existed when the flipbook was saved. If data is not read before restoring the context file, the data that was used when the context file was saved will be loaded. Context files use EnSight’s command language and other state files (such as palette, view, and keyframe animation) to recreate the parts, variables, and view state. SEE ALSO User Manual: File Menu Functions Page 111 Save Scenario INTRODUCTION Scenario files are used by CEI’s viewer products which are capable of viewing all geometry (such as parts, annotation, plots, etc.) that EnSight can display, including flipbook, keyframe, and particle trace animations. A “scenario” defines all visible entities you wish to view with EnLiten or Reveal and includes any saved views and notes that you want to make available to the viewer user. BASIC OPERATION 1. Create the display you want to share with the EnLiten or Reveal user. 2. Select File > Save > Scenario... to open the Save Scenario dialog. 3. Select Single File to save a scenario file only, or Project to save the scenario, jpg image file, and EnSight context file. 4. Choose the EnLiten (.els) or Reveal (.csf) format. 5. Enter a name for the Scenario file/directory. Click the Browse... button to open a standard File Selection dialog. 6. Select whether all, visible or selected parts will be included. 7. Select the Time/Animation Options tab and select the flipbook, keyframe, transient and/or particle trace animations. Available options depends on output format chosen under the File tab. 8. Save the scenario. Page 112 ADVANCED USAGE After the scenario has been saved, you may add additional views, as well as notes. 9. To Save additional views, click the Views tab. 10. Manipulate the view as desired. 11. Name the view. 12. Click Save current view button. You can repeat steps 10 through 12 as desired. 13. To save notes, click the Notes tab. 14. Enter a subject for the note. 15. Type in the text of the note. 16. Click Save note button. You can repeat steps 14 through 16 as desired. Page 113 17. If the Format is Reveal, variables can be saved in the scenario file, under the Variables tab. 18. Select the output architecture for the PackNGo scenario file. Note that this list reflects which platforms of Reveal you have installed on the computer currently running EnSight. 19. Click 'Save packed scenario executable...' to be presented with the Save As dialog, where you can specify the name of the PackNGo file that will be created. OTHER NOTES EnLiten and Reveal are geometry viewers only. As such they are not capable of creating or modifying any new/ existing information such as variables or parts, or of changing timesteps (EnLiten only). Since EnLiten is only a geometry viewer, only keyframe transformation information is stored when saving a scenario file, i.e., no transient data keyframing is possible (consider loading a flipbook instead). PackNGo simplifies distribution of scenario files for other users as these files do not require that the other user have Reveal installed on their computer. The PackNGo file is an executable that encapsulates Reveal for a user specified computer platform (e.g. MS Windows, Linux 2.6) along with the specified Scenario file. A user can simply execute this file on their computer and it will automatically run Reveal with the embedded scenario file. Reveal is not installed on the user's computer. Note that a particular PackNGo file can only support a single computer platform whereas the scenario file can be distributed to any version of Reveal. SEE ALSO User Manual: File Menu Functions Page 114 Save/Restore Session INTRODUCTION EnSight session file is a single file used to restore an EnSight state. When a session file is restored, the current case(s) are deleted, and new case(s) from the session file are loaded and restored to the saved state. BASIC OPERATION Saving a Session 1. Select File > Save > Session... to open the Save Current Context dialog. 2. Toggle ‘Pack Data’ if you wish to include contents from listed directories (including the data itself) in the session file (for portability). 3. Click ‘Save’ button to open a file save browser and name the session file (use .ens suffix) and click ‘Save’. Restoring a Session Three options: 1) The 'Welcome to EnSight' screen on startup displays your most recent Sessions. Just double click on the desired session to load the data and restore it. 2) Mac and Windows users can double click any EnSight session file (ending in .ens) and the file will restore. 3) Any time during your EnSight session you can browse for a session file from the EnSight main menu as follows: File > Restore > Session.... and just located the session file using the standard file access window. OTHER NOTES If you already have data loaded and restore a session, EnSight will delete all the cases, start anew and then restore the session. If you are restoring a session file containing information for multiple cases, then all of the cases will be restored. When restoring session files with multiple cases, the needed cases will be started, if needed, according to the connection scheme of the current run of EnSight. Flipbook animations are not restored using the session file because it is unknown at the time the session file is created what state existed when the flipbook was saved. All Session files are machine and operating system independent. However the data file(s) used in a non-packed session file must remain in same directory in order to find the data file(s). In contrast, Packed Session files include all the data files therefore can be moved to a different directory. The tradeoff is that Packed Session files can become quite large. Session files are machine and operating system independent. However the restoring platform must include all the data readers necessary to read the data format(s) contained in the session. SEE ALSO User Manual: File Menu Functions Page 115 Output for Povray INTRODUCTION EnSight can output a file which can be read into POVRAY (Persistence of Vision Ray Tracing). This allows EnSight images to be able to have shadows and reflections which ray tracing can provide. POVRAY must be downloaded and installed separately from EnSight (www.povray.org). Note: This option requires that you have an EnSight Gold license and only works using nodal variable data. BASIC OPERATION The process is: 1. Run ensight and produce the desired image in the graphics window. 2. Go to File > Print/Save Image and set the Format to POVRAY Geometry and save. This will produce the following files (samples of which are given in the Other Data section below): filename.pov filename.inc ensight_to_pov_globals.inc 3. Edit ensight_to_pov_globals.inc as desired to control global information. You may also edit the filename.inc file which contains information for each part. 4. Run POVRAY povray width=800 height=600 filename.pov This will produce the file: filename.png 5. Run envideo92 using this file: envideo92 filename.png EnSight Images - No POVRAY EnSight Images which have been run through POVRAY Page 116 OTHER DATA ensight_to_pov_globals.inc This is the editable text file to be used to customize the camera and lightsource information, and the part by part color and material properties (ambient, diffuse, specular, roughness, and reflectivity). This file will be included into filename.inc and parameters in this file will supersede the default values in filename.inc. ////////////////sample ensight_to_pov_globals.inc ////////////////////// // // This file is useful in controlling multiple file outputs // (i.e., output from the keyframe animator). Uncomment/edit items // and they will be used instead of the settings in the .inc file // // Uncomment this next line if you uncomment anything //#declare display_warning = 1; //#declare camera_location = <-0 0 8366.19>; //#declare camera_look_at = <-0 0 -16.7612>; //#declare camera_angle = 28.000000; //#declare light_location //#declare light_color = <-15241.7 15241.7 76191.9>; = rgb <1 1 1>; // This will set reflective value for all parts //#declare reflect_value = .1; // If you want to set the color for a part you would do this // (useful if you have many .pov files since all the .inc files // include this file) //#declare Part_1_material = texture { // pigment { color rgbt <1. 0. 0. 0.> } // finish { // ambient 0.3 // diffuse 1.0 // specular 0.0 // roughness 0.2 //#ifdef (reflect_value) // reflection reflect_value //#else // reflection .1 //#end // } //} #declare Part_495_material = texture { pigment { color rgbt <0.600000 0.600000 0.600000 0.000000> } finish { ambient 0.300000 diffuse 1.0 specular 0.000000 roughness 0.027778 #ifdef (reflect_value) reflection .2 #else reflection .2 #end } } Page 117 filename.inc This text file has a statement that includes ensight_to_pov_globals.inc and then has the default global camera and lightsource information as well as default Part by Part values of color and material properties. ///////////////////////sample filename.inc ///////////////////////////// #include “ensight_to_pov_globals.inc” #ifdef #debug #debug #debug #debug #debug #end (display_warning) “\n*********************************************************\n” “ \n” “ Have applied settings for ensight_to_pov_globals.inc!! \n” “ \n” “\n*********************************************************\n” camera { #ifdef (camera_location) location camera_location #else location <-0 0 8837.74> #end #ifdef (camera_look_at) look_at camera_look_at #else look_at <-0 0 0> #end #ifdef (camera_angle) angle camera_angle #else angle 28.000000 #end } light_source { #ifdef (light_location) light_location #else <-14334 10667.6 78331> #end #ifdef (light_color) color light_color #else color red 1 green 1 blue 1 #end } #ifndef (Part_1_material) #declare Part_1_material = texture { pigment { color rgbt <1.000000 0.000000 0.000000 0.000000> } finish { ambient 0.300000 diffuse 1.0 specular 0.300000 roughness 0.027778 #ifdef (reflect_value) reflection reflect_value #else reflection .1 #end } } #end #ifndef (Part_2_material) #declare Part_2_material = texture { pigment { color rgbt <1.000000 0.000000 0.000000 0.000000> } finish { ambient 0.300000 diffuse 1.0 specular 0.300000 roughness 0.027778 #ifdef (reflect_value) reflection reflect_value Page 118 #else reflection .1 #end } } #end filename.pov A text file that has a statement including filename.inc to define camera, lightsource and Part properties. The remainder of the file contains coordinates and connectivity defining the surface of the Ensight parts as Povray surface triangular elements. This file shouldn’t be edited by the user. //////////////////////sample filename.pov //////////////////////////// #version 3.5; #include “carapov00.inc” #declare Part_1= mesh2 { vertex_vectors { 297 <-243.353, -1002.62, 3.4535>, <723.621, -213.728, -129.889>, <731.815, -205.655, -144.313>, <740.01, -197.583, -158.737>, <748.204, -189.51, -173.161>, <722.484, -203.276, -123.341>, <730.534, -195.257, -137.655>, <738.584, -187.239, -151.97>, .... } face_indices { 490, <1,2,6>, <1,6,5>, <2,3,7>, <2,7,6>, <3,4,8>, ... } } #declare Part_2= mesh2 { vertex_vectors { 2001 <-243.353, -1002.62, 3.4535>, <788.215, -136.402, -241.148>, <781.139, -143.803, -228.672>, ... } face_indices { 490, <1,2,6>, <1,6,5>, <2,3,7>, <2,7,6>, <3,4,8>, ... } } object { Part_1 texture {Part_1_material} scale <-1 1 1> } ... object { Part_495 texture {Part_495_material} scale <-1 1 1> } Page 119 Manipulate Viewing Parameters Rotate, Zoom, Translate, Scale INTRODUCTION EnSight provides global transformations (rotation, translation, and zooming) to permit user manipulation of objects in the Graphics Window. The transformations can either be performed interactively with the mouse, or precisely by entering explicit values. The mouse buttons can be user-programmed to perform different transformations. BASIC OPERATION The Transformation Control Area controls the operation of the left mouse button (by default) in the Graphics Window. The icon of the current action will be highlighted (e.g. Rotate is current below): Selection Tool Rubber-band Positioning Rotate Open the Reset Tools and Viewport(s) dialog Zoom Translate Open the Transformation Editor dialog Rubber-band zoom Store / Recall stored view View from directions Undo last transformation Fit to window Select Part [or View] mode in the Mode Selection area. To rotate: 1. Click the rotate icon. 2. Move the mouse pointer into the Graphics Window. 3. Click and hold the left mouse button and: • move the mouse left and right to rotate about the screen Y (vertical) axis, or • move the mouse up and down to rotate about the screen X (horizontal) axis, or • hold down the Control key and move the mouse left and right to rotate about the screen Z axis. 4. Press the F1, F2 or F3 keys for 45 degree rotation about the X, Y, or Z axis, respectively. Hold the Control key down for -45 degree rotation. (Note: cursor must be in the EnSight window for F keys to work) 5. Press +X to view the scene from the positive X axis (looking toward the origin). The +Y, +Z, -X, -Y, -Z buttons are similar. Press the “Last” button to get the scene back to the view that existed before any of the +/-XYZ keys were pressed. To translate: 1. Click the translate icon (or use the middle mouse button in steps 2 and 3 (default)). 2. Move the mouse pointer into the Graphics Window. 3. Click and hold the left mouse button and: • move the mouse left and right to translate in the screen X (horizontal) direction, or • move the mouse up and down to translate about the screen Y (vertical) direction, or • hold down the Control key and move the mouse left and right to translate in the screen Z direction. To zoom: 1. Click the zoom icon (or use the middle mouse button in steps 2 through 5 (default)). 2. Move the mouse pointer into the Graphics Window. 3. Click and hold the left mouse button. 4. Drag down to zoom in or drag up to zoom out. 5. Hold down the Control key and move the mouse to pan. To rubber-band zoom: 1. Click the rubber-band zoom icon. 2. Move the mouse pointer into the Graphics Window and position it at one corner of the desired viewing region. 3. Click and hold the left mouse button. 4. Drag to include the desired viewing region. An outline of the region will appear as you drag. Page 120 To rubber-band zoom using the selection tool: 1. Click the Selection Tool Rubber-band Positioning icon. 2. Move the mouse pointer into the Graphics Window and position it approximately at one corner of the desired viewing region. 3. Click and hold the left mouse button. 4. Drag to include the desired viewing region. An outline of the region will appear as you drag. 5. Manipulate the tool as desired, by clicking at the center and dragging to a new position or clicking on any corner and resizing. (Note that the aspect ratio will be preserved as indicated by the dotted lines within the tool.) 6. Click the zoom (magnifying glass) indicator at the top left of the tool. Note that zooming actually changes the location of EnSight’s virtual “camera” or “look-from” point. Zooming in moves the camera closer to the object; zooming out moves it farther away. The look-from/look-at points can also be edited explicitly. If you have multiple viewports visible, each one can be manipulated independently. To transform in a different viewport, place the mouse pointer within the bounds of that viewport before you click the left mouse button. You can reset transformation parameters (as well as tool and frame transforms) by clicking the Reset.... See How To Reset Tools and Viewports for more information. The Fit button is useful in causing the currently visible parts to be centered and zoomed to fit within the viewport. ADVANCED USAGE All EnSight transformations can be controlled precisely by specifying explicit transforms in the Transformations Editor dialog. To open the dialog, click the Transf Edit... icon on the desktop. The slider performs the requested transformation (based on the selected transformation action) in the selected viewport(s). Select the desired transformation action. Slider to specify transform. Set (by clicking within the desired region) the viewport that the transform applies to. To interactively perform transformations on multiple viewports, Control click on multiple viewports, then toggle on. Specify axis to which the transform applies Increment controls the step size for the slider end arrows. Enter explicit values in the Increment field (and press return) to transform by a precise amount. Limit controls the sensitivity and limit of the slider action. You can also perform scaling in any or all dimensions (to, for example, magnify subtle differences in a surface). Although you cannot perform the scaling operation with the mouse, you can scale using the Transformations dialog. Click the Scale icon in the Transformation Control area and specify the scaling as described above. You can copy the transformations from one viewport to another. First select the viewport you wish to copy, select Editor Function->Copy Transformation State, then select the viewport(s) you wish to modify and select Editor Function->Paste Transformation State. Page 121 OTHER NOTES By default, EnSight uses the left mouse button for performing the selected transformations. You can, however, program the transformation action attached to each mouse button. See Customize Mouse Button Actions for more information. The transformation operations described here also apply to frame transformations. If additional frames have been created and if the mode has been set to Frame, then any transform will apply to the currently selected frame. See Create and Manipulate Frames for more information. Pressing the F5, F6, or F7 keys while the mouse is within the EnSight graphics window or desktop area will transform the scene to show a standard right, top, or front view, respectively. Pressing the F8 key will return the scene to that which existed prior to F5, F6, or F7 being pressed. Further, holding the Control key down while pressing F5, F6, or F7 will store the current view to the selected Fx button. Pressing F9 while the mouse is in the Graphics Window or the desktop area will zoom the display to full screen. Press F9 again to return to the normal display. SEE ALSO Other viewing operations: How To Set LookFrom/LookAt How To Set Z Clipping How To Create and Manipulate Frames How To Reset Tools and Viewports How To Use the Selection Tool User Manual: Global Transform Frame Transform Page 122 Set Drawing Mode (Line, Surface, Hidden Line) INTRODUCTION EnSight provides two basic drawing styles for graphics objects: line or shaded. Line mode draws only the line segments of an object – regardless of the whether the lines are polygon edges or not. Shaded mode displays all objects consisting of polygons (e.g. element or cell faces) as solid filled regions with light source shading enabled. These drawing styles can be enhanced by enabling hidden-line mode. If the current mode is line, hidden-line will eliminate all those lines that would be invisible if the object were a solid surface. If the current mode is shaded, hidden-line mode will draw lines overlaying face edges. In shaded mode, hidden-line overlays are particularly useful for visualizing computational grids. The setting of line or shaded mode is a global toggle. You can also set the mode on a per part basis so that some parts are displayed as lines and others as shaded surfaces. Each viewport also provides individual controls so that the drawing mode can differ from viewport to viewport. Line mode Shaded mode Hidden-line mode Hidden-line overlay mode BASIC OPERATION The global toggles for shaded and hidden-line mode are available from the desktop. You can also enable these modes by selected View > Shaded or View > Hidden Line. To use the desktop toggles: 1. Click the Shaded toggle to switch from line to shaded mode (or vice-versa). Line Shaded 2. Click the Hidden Line toggle to enable or disable hidden-line mode. If the current mode is Shaded when you toggle on Hidden Line, the Hidden Line Overlay dialog is displayed. This dialog allows you to specify a color for the overlay edges. If Specify Line Overlay Color is not enabled, overlay color will be set to the native color of each part. If it is enabled, the color can be specified either by entering red, green, blue color values, or by clicking the Mix... button and picking a color with the standard Color Selector dialog. Unhidden Hidden Page 123 The per-part toggles for shaded and hidden-line mode are available in Part mode. 1. Select Part in the Mode Selection area. 2. Click the Shaded toggle to switch from line to shaded (or vice-versa). Line Shaded 3. Click the Hidden Line toggle to enable or disable hidden-line mode. Unhidden Hidden Note that enabling shaded mode for a part has no effect unless the global shading toggle is also enabled (on the desktop or under the View menu). The same is true for hidden-line: unless the global hidden-line toggle is enabled, the part will be drawn without hidden lines. ADVANCED USAGE Drawing modes can also be set on a per-viewport basis. As with per-part settings, these toggles require that the corresponding global toggle is also set to have any effect. 1. Select VPort in the Mode Selection area. 2. Select (click in) the desired viewport in the Graphics Window. 3. Click Viewport Special Attributes... to open the Viewport Special Attributes dialog. 4. Click the Shaded button to disable shading in the current viewport. 5. Click the Hidden Line button to disable hidden-line in the current viewport. OTHER NOTES When a part is drawn in shaded mode (with or without hidden-line overlay) the surface is displayed with light source shading enabled. EnSight uses two pre-defined light sources: one at the look-from point (the camera) and one on the opposite side of the model (for back-lighting). The location of one of the light sources can be changed, see How To Control Lighting Attributes. In computer graphics, the appearance of a shaded surface is governed by a lighting model controlled by various parameters. In EnSight, these parameters are part of the part’s attributes and can be changed on a per-part basis. See How To Set Attributes for more information. SEE ALSO How To Control Lighting Attributes User Manual: Global Shaded, Global Hidden Line Page 124 Set Global Viewing Parameters INTRODUCTION EnSight provides various modes that control global viewing behavior. Three of these modes are discussed here: perspective/orthographic projection, bounding box display modes, and static lighting. EnSight can display viewports in either perspective or orthographic projection. A perspective projection is how we normally view the world: objects that are farther away appear smaller. An orthographic projection removes this effect: objects appear the same size regardless of distance. The projection setting can be specified on a per-viewport basis. By default EnSight draws every point, line, and polygon for every visible part each time the Graphics Window updates. For very large models (or slow graphics hardware), this behavior leads to unresponsive manipulations since the update lags behind the corresponding mouse motion. Fortunately, EnSight provides other display modes that improve responsiveness. Fast Display mode displays all visible parts in a reduced fashion during interactive manipulation. This can be a bounding box representation, a point cloud representation, a reduced polygon representation, an invisible representation, or if using immediate mode - a percentage of each part’s elements. When the mouse button is released, parts are drawn normally. The Fast Display mode can also be set such that the bounding display is used until the mode is changed - even when the mouse is released. (Edit->Preferences... Performance - Static Fast Display) Surface shading operations are expensive for very large models. Since the shading is dependent on the orientation of the model with respect to the light sources, the surface colors must be recalculated each time the model moves. Static lighting mode precalculates surface colors for a given orientation and then uses these colors during subsequent transformations, resulting in improved interactive response. BASIC OPERATION Perspective/Orthographic Projection The projection mode can be toggled either from a menu (View > Perspective) or in the VPort icon bar. To set the projection from the icon bar: 1. Select VPort in the Mode Selection area. 2. Select (click in) the desired viewport in the Graphics Window. 3. Click Viewport Special Attributes... to open the Viewport Special Attributes dialog. 4. Click the Perspective button to toggle the projection type in the current viewport. Note that a viewport will only display a perspective projection if the global toggle (as set with View > Perspective) is on as well. Page 125 Fast Display Mode The Fast Display Mode can be set either from a menu (View > Fast Display > ) or by the Fast Display toggle on the desktop. To change between the Dynamic or Static operation of this mode, go to Edit->Preferences... Performance. To change the part representation for Fast Display Mode: 1. Click the Fast Display Representation pulldown icon. 2. Select Dynamic Box. or 3. Select Points. or 4. Select Reduced poly. or 5. Select Invisible. Note, if not using immediate mode, this Sparse Model option will not be available here. Select Off to return to standard display mode. ADVANCED USAGE If using immediate mode, and you desire to use the Sparse Model option for Fast Display, you can control the percentage of the model that is displayed. See “Performance Preferences” . This mode is intended for large models. It generally will not be pleasing (nor should it be needed) for small models. SEE ALSO User Manual: See “Part Mode” Page 126 Set Z Clipping INTRODUCTION As you apply zoom transformations in EnSight, you may have noticed that the model begins to progressively disappear as you move close to the model. This happens when the visible model parts intersect the front Z clipping planes. The Z-clip planes (which are always perpendicular to your line of sight) are specified as distances from the look-from point (the camera position). The Z clipping plane positions can be set by the user and can be used to remove unneeded geometry from the display. Each viewport has it’s own set of Z clipping planes. By default, the Zclip planes adjust (float) with the model - thus stay out of the way if possible. BASIC OPERATION The initial position of the Z clipping planes is set based on the Z (depth) extent of the visible geometry – plus quite a bit extra to leave room for transformations. The plane positions can only be set via the Transformation Editor dialog. 1. In the Transformation Control area, Click Transf... > Editor Function > Z_clip to open the Transformation Editor. If the Float Z-Clip Planes With Transform option is on, The graphics display shows the relative positions you can specify the minimum Z value that the Front clip of the front and back clipping planes (left and right plane can float to. vertical red lines) to the Z extent of all currently visible objects (white box). 2. Toggle the Float Z-Clip Planes option on to have the Z-clip planes automatically adjust. OR Toggle the option off to manually adjust the Z-clip plane locations. If the Float Z-Clip option is off, you can edit the plane positions either by dragging the red lines or by entering explicit values in the Front and Back text fields. Recall that the values represent the distance from the look-from point to the plane. 3. Place the mouse pointer over the desired plane marker and click the left mouse button. 4. Drag the marker left or right to the desired location. The Graphics Window will update as the marker is moved. – OR – 3. Enter explicit values in the Front and/or Back text fields and press return. If the markers become difficult to manipulate due to changes, click the Redraw Z-Clip Area Above button to rescale the markers. Each viewport maintains it’s own independent Z clipping planes. The operation described above will change the planes for the current viewport (as set by clicking in the desired viewport in the Graphics Window). Note that clicking Reinitialize, in the Reset Tools and Viewport(s) dialog found under the Reset... button of the Transformations area, will reset the Z clipping planes of the current viewport based on the Z extent of all objects currently visible in that viewport. OTHER NOTES EnSight uses your workstation’s graphics hardware to implement Z clipping. The same hardware is used for Zbuffering – determining which objects are visible based on Z (depth) values. The Z buffer typically provides 24 bits of resolution. EnSight attempts to make the best use of this limited resolution by setting the front and back clipping planes reasonably close together. If the planes are too far apart, relative Z resolution is reduced and the hardware Page 127 may not be able to accurately determine surface visibility. If you see artifacts like this, move the clipping planes closer together. EnSight also provides an additional clipping plane: the auxiliary clipping plane. Unlike the Z clipping planes which are always perpendicular to your line of sight, the auxiliary clipping plane can be placed at any location in any orientation. The Plane Tool specifies the location of the auxiliary clipping plane. By default, all geometry on the negative Z side of the Plane Tool is removed. However, you can specify auxiliary clipping on a per part basis – some parts are clipped while others are not. See How To Set Auxiliary Clipping for more information. SEE ALSO How To Define and Change Viewports, How To Set Auxiliary Clipping User Manual: Z-Clip Page 128 Set LookFrom / LookAt INTRODUCTION In addition to providing control over model manipulations, EnSight also provides control over the virtual camera used to view the scene in the Graphics Window while in Global Transform Mode. If a viewport is being viewed through a camera, this section is not applicable. The two control parameters are the look-from point (the position of the camera) and the look-at point (a point on the camera’s line-of-sight vector). The Global Axis is positioned at the lookat point and is always in the center of the Graphics Window. Initially, the look-at point is set to the geometric center of all visible objects and the look-from point is set to a point on the positive Z axis such that all visible objects fit in the Graphics Window (as shown in the top image below). The white axis triad is the Global Axis and can be displayed by selecting View > Axis Visibility > Axis - Global. The bottom image shows the view after the look-from point has been repositioned between the X and Z axes. The diagrams to the right of each image show a top-down schematic of each viewing case. x z x z BASIC OPERATION The look-from, look-at points are controlled via the Transformation Editor dialog. 1. Click Transf... in the Transformation Control Area. 2. Select Editor Function > Look At/Look From. Page 129 Viewer Area for interactive manipulation Viewer Area plane toggles Text fields for entering numeric values Text field for moving look-from by setting an explicit distance The Transformation Editor dialog provides two methods for setting the look-at and look-from points. Numeric values can be entered directly into the X,Y,Z Look At, Look From text fields (remember to press return). You can also enter a value in the Distance field to explicitly move the look-from point a certain distance away from the look-at point. Alternately, the Viewer Area can be used to interactively manipulate the points. The presentation of the Viewer Area depends on the which plane toggle is set: X-Y (view from the positive Z axis), Y-Z (view from the positive X axis), or X-Z (view from the positive Y axis – the default). In each case, the gray box represents the extent of all visible parts. The intersection of the two red lines is the look-from point. The opposite end of the long red line is the look-at point (which is initially near the center of the gray box). The example below shows the X-Z Plane presentation, the others behave analogously. To change the look-from point: 1. Place the mouse pointer over the intersection of the two red lines. To change the look-at point: 1. Place the mouse pointer over the free end-point of the long red line. 2. Click and drag to the desired location. Note that the Graphics Window updates as the look-from point is moved. 2. Click and drag to the desired location. Note that the Graphics Window updates as the look-from point is moved. During your manipulation, the display in the View Area may become difficult to use. Click the “Redraw Viewer Area Above” button to rescale the display. The Viewer Area Control Lock pull-down menu effects interactive operation in the Viewer Area as follows: None No constraints are placed on movement of either the look-from point or the look-at point. Distance Movement of the look-from (look-at) point is restricted to a circle whose radius is the current Distance value and whose center is the look-at (look-from) point. Together The movement of both points is locked such that movements applied to one are applied to the other. You can easily reset the look-from and look-at points such that all currently visible parts are displayed. Click Reset... in the Transformation Control area to open the Reset Tools and Viewports dialog. Click the Reinitialize button to reset the currently selected viewports. Page 130 OTHER NOTES You can also set the look-at point by picking an object with the mouse in the Graphics Window: 1. Click Reinitialize in the Reset Tools and Viewport(s) dialog to clear all global transformations. 2. Click the Pick button in the global area above the graphics window on the desktop. 3. Select Pick Look/At Point from the Pick Pull-down icon. 4. Move the mouse into the Graphics Window. Place the mouse pointer over the point you wish to set to the look-at point and press the ‘p’ key (or whatever mouse button you have set for “Selected Pick Action” in Edit > Preferences > Mouse and Keyboard). Other camera parameters, such as the camera up direction and the field-of-view angle can be set in the dialog found in the Transform Editor, Editor Function> Camera. SEE ALSO How To Define and Change Viewports. How To View a Viewport Through a Camera User Manual: Look At/Look From Page 131 Set Auxiliary Clipping INTRODUCTION Unlike standard Z clipping where the front and back planes are always perpendicular to your line of sight, auxiliary clipping lets you clip parts against a plane with arbitrary position and orientation. In addition, the auxiliary clip attribute can be set on a per-part basis. This permits selective clipping to reveal objects of interest. EnSight’s Plane Tool is used to provide the location for auxiliary clips. As the Plane Tool is manipulated (either interactively with the mouse or via the Transformations dialog), the display in the Graphics Window updates to reflect the new location of the plane. BASIC OPERATION Auxiliary clipping can be globally enabled by selecting it in the View menu: The Plane Tool will become visible and all objects on the negative Z side of the plane will be clipped (assuming the plane currently intersects some visible part). You can now manipulate the Plane Tool to achieve the desired display effect (see How To Use the Plane Tool for details). Note that Auxiliary Clipping always uses the infinite extent of the plane specified by the Plane Tool – there is no way to restrict it to the rectangular bounds of the tool. Each part has an attribute that controls whether it is clipped by the Auxiliary Clipping plane or not. To toggle this setting: 1. Select the desired part (see How To Select Parts). 2. Select Part Mode in the Mode Selection area. 3. Click the Auxiliary Clipping toggle. (This attribute can also be toggled in the Feature Detail Editor dialog for the part. See How to Set Attributes for more information.) Off On SEE ALSO How To Use the Plane Tool, How To Set Z Clipping. User Manual: Part Auxiliary Clipping, Global Auxiliary Clipping Page 132 Define and Change Viewports INTRODUCTION EnSight provides up to sixteen user-defined viewports in the Graphics Window. Each viewport is a rectangular region of the screen (with or without a border) displaying some or all of the currently visible parts. Each viewport can be transformed (e.g. rotated or zoomed), sized, and positioned independently. Viewports have several display attributes including background and border color. Viewports provide a very flexible environment for data display. This article is divided into the following sections: Create a New Viewport Select Viewports Move and Resize Viewports Set Viewport Background Color or Image Set Viewport Attributes Display Selected Parts in Viewports Set Case Visibility Per Viewport Perform Transformations in Viewports Reset Viewport Transformations Delete Viewports BASIC OPERATION Create a New Viewport On startup, EnSight creates a single viewport that fills the Graphics Window. To create a new viewport: 1. Click VPort in the Mode Selection area to enter Viewport mode. 2. Click the Viewports Layout pull-down icon to select any of the standard viewport layouts. OR 2. Click the New Viewport icon. Select Viewports When you create a new viewport, it automatically becomes the currently selected viewport (as shown by the border drawn in the default highlight color). Any action to change viewport attributes always operates on the currently selected viewport(s). To select viewports: 1. Click VPort in the Mode Selection area to enter Viewport mode. 2. Move the mouse pointer into the Graphics Window and click the left mouse button anywhere within the desired viewport. You can add to an existing selection by holding down the Control key as you click in additional viewports. To select all viewports, click the icon: Note that the selected viewport is also changed in other modes (such as View) any time you perform some action in a viewport (such as rotation). There is however, no visual feedback of this change until you enter VPort mode again. Page 133 Move and Resize Viewports Viewports can be easily moved and resized. You can either reposition a viewport with the mouse in the Graphics Window, or precisely by entering exact values. To move or resize a viewport: 1. Click VPort in the Mode Selection area to enter Viewport mode. 2. Select the desired viewport. 3. To move a viewport, move the mouse pointer into the Graphics Window and into the selected viewport. Click and hold the left mouse button and drag the viewport to the desired location. 4. To resize a viewport, move the mouse pointer into the Graphics Window and place it over one corner of the selected viewport. Click and hold the left mouse button and drag the corner to the desired location. To precisely reposition a viewport: 3. Click the Viewport Location Attributes icon to open the Viewport Location Attributes dialog. 4. Enter new values in the Origin X,Y, Width, or Height fields (and press return). The origin (at 0,0) is the lower left corner of the Graphics Window. Note that the values are normalized to the width and height of the default viewport (i.e. the Graphics Window). EnSight permits overlapping viewports. You can control the ordering (from front to back): Click The Viewport Forward icon to bring the selected viewports to the top. Click The Viewport Back icon to send the selected viewports to the bottom. Note: Viewport 0 is always displayed first, thus it cannot be pushed or popped with these icons. Page 134 Set Viewport Background Color or Image Viewport background colors can be constant, blended, or inherited from the default viewport. To set viewport background color: 1. Click VPort in the Mode Selection area to enter Viewport mode. 2. Select the desired viewport(s). 3. Click the Color icon to open the Viewport Background Color Attributes dialog. The Type pull-down controls the type of background coloring used. There are four types: Constant, blended, inherit, and image. Constant A constant color will be used for the entire background. To set a constant color: 4. Select Constant from the Type pull-down. 5. Either enter values in the RGB color fields (and press return OR click the Mix Color... button to open the Color Selector dialog. 6. Click Refresh Viewport. Page 135 Blended Up to 5 horizontal level colors can be specified with interpolation between levels. To set a blended background: 1. Select Blended from the Type pull-down. 2. Enter the desired number of levels in the # of Levels field (and press return). Up to five levels are supported. 3. To edit a color, first select it by clicking on the number label in the Viewport Color window. As shown, level 2 is currently selected. Alternately, you can enter a value in the Edit Level field or click the up/down arrows. 4. Change the selected color by either entering new values in the RGB fields (and pressing return) or clicking the Mix Color... button to open the Color Selector dialog. 5. You can also change the relative vertical position of a level by either clicking on the level number with the left mouse button and dragging up or down OR by entering a new value in the Position field (and pressing return). 6. Click Refresh Viewport. Inherit The selected viewports inherit the background type and color from the default viewport. To set an inherited background: 1. Select Inherit from the Type pull-down. 2. Click Refresh Viewport. Image The image specified will be used as the background for the selected viewports. To set an image background: 1. Select Image from the Type pull-down. 2. Enter the filename for the background image to use or click the Select... button and navigate to it. Note, that the image must be either a .xpm or .bmp file. 2. Click Refresh Viewport. Page 136 Set Viewport Attributes Viewports can be displayed with a variety of attributes: 1. Click VPort in the Mode Selection area to enter Viewport mode. 2. Select the desired viewport(s). 3. Set the desired attribute as described below: Click the Viewport Visibility Toggle to toggle display of the selected viewports on or off (when not in VPort Mode). Off On Click the Viewport Border Attributes icon to open the Viewport Border Attributes dialog. Click the Visible toggle to display a border. Enter values in the RGB fields (and press return) or click the Mix... button to open a Color Selector dialog. Click the Viewport Special Attributes icon to open the Viewport Special Attributes dialog. Each viewport has it’s own toggles for perspective, hidden surface, and hidden line drawing styles. These controls will toggle the respective attribute for the selected viewports. See How To Set Drawing Style and/or How To Set Global Viewing for more information. In addition, a viewport can be 3D or 2D in nature. If the viewport is designated as 2D, only planar parts may be displayed in the viewport and transformations will become 2D limited. A viewport can be set such that it will track a node number, a part centroid, or one of the part min or max values. Thus as a model changes in time, the viewport will stay centered on that location. See How To Do Viewport Tracking for more information. Page 137 Display Selected Parts in Viewports Part visibility can be a set on a per-viewport basis such that some parts are visible in some viewports but not in others. To set part visibility per viewport: 1. Select the desired part(s) in the Main Parts list. 2. Click the Part Visibility in Viewport Toggle icon. The Part Visible in Which Viewport? dialog displays a schematic of the current viewports. The part is currently visible in the green viewports but invisible in the black viewports. 3. Click in a green viewport to disable display of the selected part(s) in that viewport OR click in a black viewport to enable display of the selected part(s) in that viewport. Note that a similar interface for setting this attribute appears in the General Attributes section of the Feature Detail Editor dialog. Set Case Visibility Per Viewport If you have multiple cases in your session of EnSight, you can set viewport visibility for all parts associated with a case. This makes it easy to display one case per viewport. To set case visibility per viewport: 1. Select the desired case from the Case menu (Case > casename). 2. Select Case > Viewport Visibility to open the Case Visible in Which Viewport? dialog. 3. Click in a green viewport to disable display of the selected case in that viewport OR click in a red viewport to enable display of the case in that viewport. Perform Transformations in Viewports You can transform objects in a user-created viewport as easily as in the default viewport (See How To Rotate, Zoom, Translate, Scale for details). For precise viewport transformations, you can use the Transformations Editor on a per viewport basis: 1. Click Transf... in the Transformations Control area. 2. To perform precise transformations in a viewport, click the desired viewport in the Which Viewport(s) window and perform the transformation. To select more than one viewport, simultaneously hold down the control key and click on additional viewports. Note that this action will change the currently selected viewport(s). Page 138 Reset Viewport Transformations The transformations for one or more viewports can be reset at any time in the Reset Tools and Viewports dialog. 1. Click the Reset... button on the bottom of the desktop. 2. Select the viewport(s) on which the reset will act. 3. Click on the appropriate button to perform the reset action desired. You can reset the selected action only, all rotates translates and scales at once, or do a complete reinitialization of the viewport. Setting/Changing Viewport Part Bounds Part bounds can be displayed within a viewport. This is useful for understanding the size of the model domain. 1. To turn on part bounds globally, toggle the Bounds button on. Page 139 2. To modify, in Vport mode, any of the settings for the bounds display, click the Select Viewport(s) Part Bounds Attributes icon. 3. Select General or the XYZ axes tabs. 4. Modify any attributes desired. Including the visibility toggle if you don’t desire to see the bounds in the selected viewports. Delete Viewports A created viewport can be deleted at any time: 1. Click VPort in the Mode Selection area to enter Viewport mode. 2. Select the desired viewport(s). (Hold down the control key to select multiple viewports) 3. Click the Delete icon. Other Notes You can interactively transform multiple viewports simultaneously by selecting the viewports you want to link together and turning on the Link Interactive Transforms toggle. Those viewports that are highlighted in green will now transform together for any transformations performed in the Transformation dialog. Linking does not apply to transformations performed by the mouse in the graphics window. You can copy the transformations from one viewport to another. First select the viewport you wish to copy, then select Editor Function->Copy Transformation State. Next select the viewport(s) you wish to modify and select Editor Function->Paste Transformation State. Page 140 Shortcut In Part Mode, right click on the background inside a viewport. You can change the view in the viewport, change the viewport layout, or change the background color without ever changing to Viewport Mode. SEE ALSO How To Rotate, Zoom, Translate, Scale, How To Control Lighting Attributes User Manual: VPort Mode Page 141 Control Lighting Attributes INTRODUCTION EnSight allows control over the location of the light source for each viewport. This location is specified in terms of Azimuth and Elevation relative to the viewport or in what is called “absolute position” - which is relative to the model coordinate system. A intensity of a second light source can also be set, but its position is always at the viewer’s (camera’s) location. BASIC OPERATION To specify the available lighting attributes In EnSight: 1. Click Vport mode. 2. Select the viewport(s) for which you want to modify the lighting attributes. 3. Click the Selected viewports lighting button. Which will bring up the Viewport lighting attributes dialog. 4. Choose whether lighting will be relative to the viewport (Relative) or relative to the model axis system (Absolute). 5. Manipulate the position of Light 1 by typing in Azimuth and Elevation or using the sliders. 6. If desired, also modify the intensity of Light 2 (which is at the viewer’s location). If you are in Relative position mode, you can convert to Absolute by clicking. Note that one can easily set the light(s) back to the default settings. The effect of using a Relative position, is that when the model is rotated - the light source does not rotate - so lighting changes on the model. The effect of using an Absolute position, is that when the model is rotated - the light source rotates with the model - so lighting on the model does not change. SEE ALSO User Manual: Lighting Attributes Page 142 Display Remotely INTRODUCTION EnSight does not support the running of the client on one machine and setting the system display environment back to a different machine. Not all of the features of OpenGL are supported on all platforms in this mode which can conflict with EnSight’s graphics. It is intended that you actually run the client from the console of the client machine. If you run the client on a remote machine and display back, you will see the following warning displayed on the console machine: -------------------------------------------------------------------------Warning: EnSight has detected indirect OpenGL rendering. This could be caused by remote display using X11, by an incorrect setting of the DISPLAY environment variable, or by a bad driver installation. When running using indirect OpenGL, you will notice a performance degradation and loss of some rendering features. If you are running over a network we strongly recommend that you install EnSight directly on the client machine. EnSight is a client/server application, and you can run the EnSight server on your remote machine. -------------------------------------------------------------------------One way is to run the client on your local machine with a manual connection: ensight92.client -cm (Linux) ensight92_client -cm (Windows) and on the remote machine: ensight92.server -c clienthostname (Linux) ensight92_server -c clienthostname (Windows) Another way is to run your client and to tell it to open a connection on a remote machine (default is ssh) as follows ensight92.client -c remotehostname (Linux) ensight92_client -c remotehostname (Windows) Running one or multiple servers remotely incurs no cost as only the EnSight client requires a license key. And, of course the various VR combinations of display are valid. SEE ALSO How To Use Server of Servers How To Setup for Parallel Rendering Page 143 Save and Restore Viewing Parameters INTRODUCTION EnSight’s viewports provide a great deal of flexibility in how objects are displayed in the Graphics Window. Given the complicated transformations that can be performed, it is imperative that users be able to save and restore accumulated viewport transforms. BASIC OPERATION View saving and restoring is accessed from the Transformations dialog. Saving Viewing Parameters Click Transf... in the Transformations Control area to open the Transformations dialog. 1. Select the viewports you want to save. Click within a viewport to select it. Hold down the control key as you click to select additional viewports. 2. Select Save View... from the File menu. Select a directory and enter a file name in the file browser and click OK. EnSight provides a maximum of 16 viewports: the main viewport (which you cannot change) and 15 additional viewports. When EnSight saves one or more viewports, it also includes the viewport number (which is equal to the creation order) as a tag. When you request that one or more viewports be restored, EnSight looks in the saved file and searches for tag numbers corresponding to the currently selected viewports. If it finds a match, it restores that viewport. If there is no match for a selected viewport, it is left unchanged. Restoring Viewing Parameters Click Transf... in the Transformations Control area to open the Transformations dialog. 1. Select the viewports you want to restore. As shown above, click within a viewport to select it. Hold down the control key as you click to select additional viewports. 2. Select Restore View... from the File menu. Select a file name in the file browser and click OK. What is Saved Only global and local (frame) transformations are stored in a view parameters file. No information is stored for viewport attributes, look-from/look-at points, or Z clipping. Other Notes By default, the F5, F6, or F7 buttons restore a standard right, top, or front view (respectively) of the selected viewport. However, by holding down the Control key while pressing one of these keys, the current view will be saved to that key. Subsequent pressing of that key will restore the saved view. Only Global transforms are saved / restored by these operations, not Frame transforms. SEE ALSO How to Define and Change Viewports, How to Create and Manipulate Frames. User Manual: Save/Restore View Page 144 Create and Manipulate Frames INTRODUCTION By default, all parts are assigned to the same frame of reference. You can, however, create additional coordinate frames and assign parts to them. These frames (and the parts assigned to them) can be manipulated (rotated, translated, scaled) independently of other frames. Some examples of frame usage: 1. You wish to create a copy of a part and display a different variable on the copy. When you create the copy, a new frame is automatically created and the copy is assigned to it. The new frame can be translated away from the original to visualize both variables simultaneously. 2. You wish to create an animation of parts moving independently (e.g. for an exploding view or to “open” a closed object with a “hinged door”). Each dynamic part is assigned to a new frame. During keyframe animation, the frames are manipulated independently to achieve the desired motion. 3. You have a dataset with rotational periodicity but the symmetry axis is not aligned with a major axis. A new frame is created and positioned such that one of it’s axes is aligned with the symmetry axis. 4. You have a dataset that makes correct positioning of EnSight tools difficult, e.g. a duct not aligned with a major axis. Create a new frame and align one of the axes with the duct. Since tool positions are always specified with respect to the current frame, you can now use the Transformation Editor to accurately position tools along the axis of the duct. In addition to position and orientation, frames have a number of display attributes such as visibility, line width, and color. You can also specify the length of each axis separately and display a series of evenly spaced labels to use as a 3D measuring tool. Frames are a powerful but complex feature of EnSight. Understanding the basics of frames is essential for proper use. This article is divided into the following sections: Introduction Create a New Frame Select Frames Assign Parts to Frames Move and Rotate Frames Reset Frame Transform Set Frame Attributes Determine What Frame a Part is Assigned To Delete Frames Page 145 BASIC OPERATION Introduction On startup, EnSight creates a default frame – frame 0 – located at 0,0,0 of the right-handed “world” or model coordinate system and aligned with the X, Y, Z axes. All parts (model and newly created) are assigned to frame 0 initially. Frame 0 is special in that it cannot be repositioned or deleted. Note: Frame mode is reserved for the expert user. By default, it is not enabled. To enable it, go to Edit>Preferences..., select General User Interface and toggle on Frame Mode Allowed. Frames are selected either by clicking the frame axis triad (while in Frame mode) in the Graphics Window or by selecting the frame in the “Which Frame” list of the Transformation Editor dialog. Any frame operation (such as setting attributes) acts on the currently selected frames. The EnSight positioning tools (Cursor, Line, Plane, and Quadric tools) are always positioned with respect to the currently selected frame. If more than one frame is selected, frame 0 is the reference frame for tools. If you have tools visible, you will notice them changing position as the selected frame is changed. EnSight implements computational periodicity (such as rotational symmetry) as an attribute of frames. If a frame has symmetry enabled, all parts assigned to the frame will be duplicated as specified by the particular type of symmetry. All frame axis triads are visible when in Frame mode. The axis triad consists of three lines representing the X, Y, and Z orientation vectors plus labels. Selected frames are colored with the default highlight color (typically green). If the frame is visible (meaning it will be displayed in all modes) the frame axes are drawn with solid lines. Otherwise, dashed lines are used. EnSight does not support hierarchical frames: you cannot assign a frame to another frame to implement nested transformations. All frames are embedded in the same world coordinate system (i.e. frame 0). Create a New Frame In general, you have to explicitly create new frames. However, EnSight will automatically create a new frame each time you create a copy of a part and assign the copy to the frame. To create a frame: 1. Click Frame in the Mode Selection area to enter Frame mode. (Note: If Frame does not appear as an available mode, first go to Edit>Preferences..., select General User Interface and toggle on Frame Mode Allowed.) The initial position of a new frame can either be set to 0,0,0 or automatically centered on a set of parts. 2. If desired, select one or more parts in the Main Parts list – the new frame will be centered on the selected parts. 3. Click the New Frame icon to create the frame. The new frame also becomes the currently selected frame. Page 146 Select Frames There are two ways to select frames. You can click on the frame axis triad in the Graphics Window or select frames in the “Which Frame” list in the Transformation Editor dialog. Selected frames are colored with the default highlight color (typically green). To select frames in the Graphics Window: 1. Click Frame in the Mode Selection area to enter Frame mode. (Note: If Frame does not appear as an available mode, first go to Edit->Preferences..., select General User Interface and toggle on Frame Mode Allowed.) 2. Position the mouse pointer over the frame axis triad (the lines – not the XYZ labels) and click the left mouse button. You can extend a selection of frames by holding down the Control key as you click on frames. You can select all frames by clicking: To select frames using the Transformation Editor dialog: 1. Click the Transf... icon in the Transformation Control area to open the Transformation Editor dialog. 2. Select Frame > Transform from the Editor Function menu. Note that this puts EnSight into Frame mode. 3. Select the desired frames in the Which Frame list. You can use standard Motif list selection techniques, such as shift-click to extend a selection or controlclick to de-select an item. The Which Frame list is also displayed if the Editor Function menu is set to one of the Tool modes (e.g. Tools > Cursor). Assign Parts to Frames To assign a part to a frame: 1. Click Frame in the Mode Selection area to enter Frame mode. (Note: If Frame does not appear as an available mode, first go to Edit>Preferences..., select General User Interface and toggle on Frame Mode Allowed.) 2. Select the desired part(s) in the Main Parts list. 3. Select the desired frame (as described above). 4. Click the Part Assignment icon to assign the part(s) to the frame. A message is printed to the Status History area confirming the assignment. Page 147 Move and Rotate Frames You transform a frame (and all parts assigned to it) when you perform any transformation while in Frame Transform mode. Frame Transform mode is set automatically when you enter Frame Mode. You can also set it explicitly from the Editor Function menu in the Transformation Editor dialog. To transform in Frame Transform mode: 1. Click Frame in the Mode Selection area to enter Frame mode. (Note: If Frame does not appear as an available mode, first go to Edit->Preferences..., select General User Interface and toggle on Frame Mode Allowed.) 2. Toggle the Transform/Definition button to be. 3. Select the desired frame(s) (as described above). 4. Perform the desired transformation either interactively (using the Transformations Control icons and the mouse in the Graphics Window) or via the Transformation Editor dialog. See How To Rotate, Zoom, Translate, and Scale for more information. Frame transforms are implemented as a transformation applied with respect to the frame’s position and orientation. At times you will need to modify the position and orientation of the frame independent of the parts assigned to it. This is done while in Frame Definition mode. You enter Frame Definition mode either explicitly from the mode menu in the Transformation Editor dialog (Editor Function > Frame > Definition), or via the Transform/Definition pull-down icon while in Frame Mode. Important! You cannot change the frame definition if you have performed any frame transformations (if you attempt to do so, a dialog will remind you). Any frame definition must be applied prior to a frame transformation. If you have already made frame transforms you can clear them by returning to frame transform mode and using the Reset Tools and Viewports dialog (click Reset... to open). To transform the Frame Definition: 1. Click Frame in the Mode Selection area to enter Frame mode. 2. Toggle the Transform/Definition button to be. 3. Select the desired frame(s) (as described above). 4. Perform the desired transformation. This can be done either interactively (with the mouse in the Graphics Window) or via the Transformation Editor dialog. To translate the frame interactively, move the mouse pointer into the Graphics Window and click and drag the left mouse button. To rotate the frame interactively, click and hold the left mouse button on one of the frame axes and drag the mouse. Clicking on the X axis will rotate the frame about its Y axis. Clicking on the Y axis will rotate the frame about its X axis. Clicking the Z axis will rotate about both X and Y. Use the Transformation Editor dialog to rotate about the Z axis only. Page 148 You can also edit the frame’s definition explicitly using the Transformation Editor dialog: 1. Click Frame in the Mode Selection area to enter Frame mode. (Note: If Frame does not appear as an available mode, first go to Edit>Preferences..., select General User Interface and toggle on Frame Mode Allowed.) 2. Click the Frame Location Attributes icon. This opens the Transformation Editor dialog in Frame Definition mode. 3. Select the desired frame(s). 4. If desired, enter new value(s) in the XYZ fields to change the frame’s origin (remember to press return). 5. If desired, enter new value(s) for the orientation vectors (remember to press return). Note that the orientation vectors are normalized afresh when you press return. Reset Frame Transform The frame transform can be reset back to the default position and orientation by using the Reset Tools and Viewports dialog. To clear the frame transform: 1. Click Frame in the Mode Selection area to enter Frame mode. 2. Make sure the Transform/Definition button is set to transform 3. Select the desired frame(s) (as described above). 4. Click the Reset... button in the Transformation Control area to open the Reset Tools and Viewports dialog. 5. In the Reset Tools and Viewports dialog, click the desired button: Reset By Selected Transform Only: clear only the transformation component currently selected (e.g. rotate or translate) in the Transformation Control area Reset Rotate/Translate/Scale: clear all transformation components See How To Reset Tools and Viewports for more information. Page 149 Set Frame Attributes Frames can be displayed with a variety of attributes: 1. Click Frame in the Mode Selection area to enter Frame mode. (If needed, first enable Frame Mode under Edit->Preferences..., General User Interface.) 2. Select the desired frame(s) (as described above). 3. Set the desired attribute as described below: Click the Frame Visibility Toggle to toggle display of the axis triad of selected frames on or off (when not in Frame Mode). Off On Click (opens the Color Selector) to set the color for the axis triad of selected frames. Click the Frame Line Width pull-down to set the line width for the axis triad of selected frames. Click the Axis Triad Attributes icon to set axis attributes (described below). To adjust the length of the frame axes, enter new values in the X, Y, and Z Length fields and press return. To display a series of evenly spaced labels along an axis (showing distance from the axis origin), toggle on the applicable Label button, enter the desired number of labels in the # of field, and press return. Page 150 Determine What Frame a Part is Assigned To You can determine what frame a part is assigned to (and change it) by opening the Feature Detail Editor for the part: 1. Open the Feature Detail Editor for the part type (Edit > Part Feature Detail Editors >) or double click on the appropriate Feature Icon. 2. Select the desired part in the parts list at the top of the Feature Detail Editor. 3. Open the General Attributes section. The part’s current frame number is shown in the Ref. Frame field. You can reassign a part to a different frame by entering a new value and pressing return. Delete Frames Selected frames can be deleted. Note that a frame cannot be deleted if any parts are currently assigned to it. All parts assigned to the frame must be assigned to other frames prior to deletion. 1. Click Frame in the Mode Selection area to enter Frame mode. 2. Select the desired frame(s) (as described above). 3. Click the Delete icon. SEE ALSO How To Set Symmetry, How To Rotate, Zoom, Translate, and Scale, How To Reset Tools and Viewports User Manual: Frame Mode Page 151 Reset Tools and Viewports INTRODUCTION EnSight provides support for complex transformations of various entities (e.g. the scene, tools, frames). It is often necessary to clear all or part of the transformation associated with an entity; the Reset Tools and Viewports dialog provides this capability. BASIC OPERATION To clear global transformations or tool positions: 1. Click Part in the Mode Selection area (to be sure that EnSight is in Global Transform rather than Frame transform). 2. Click the Reset... button in the Transformation Control area to open the Reset Tools and Viewports dialog. 3. Perform the desired operation as described below. 4. Click Close. Transformations will only be reset for the current viewport(s). Click in a viewport to select it. Control-click to extend the selection or de-select a selected item. Click the applicable button to reset the corresponding tool. Toggle selects whether tool is reset based on the global XYZ space or reset based only on the selected viewport. Click to clear only the transformation component currently selected in the Transformation Control area (e.g. Rotate or Translate). Click to clear all transformations as well as reset the camera look-from/look-at points so that all currently visible parts are centered in the selected viewport(s). This also resets the center of transform to the geometric center of the visible parts. Click to clear all transformations in the selected viewport(s). Note that zoom is not a scene transformation and is not cleared. Zoom is implemented by moving the look-from point (the camera position). To clear zoom, click Reinitialize. Page 152 ADVANCED USAGE The Reset Tools and Viewports dialog is also used to clear Frame transformations. See How To Create and Manipulate Frames for more information on frames and frame transforms. To clear frame transformations: 1. Click Frame in the Mode Selection area to enter Frame mode. (If needed, first enable Frame mode under Edit->Preferences... General User Interface.) 2. Make sure the Transform/Definition button is in the transform state 3. Select the desired frame(s). 4. Click the Reset... button in the Transformation Control area to open the Reset Tools and Viewports dialog. 5. Perform the desired operation as described below. 6. Click Close. Frame transformations will only be reset for the current viewport(s). Click in a viewport to select it. Control-click to extend the selection or de-select a selected item. Click to clear only the frame transformation component currently selected in the Transformation Control area (e.g. Rotate or Translate) for the selected frame(s) in the selected viewport(s). Click to clear all frame transformations for the selected frame(s) in the selected viewport(s). SEE ALSO How To Rotate, Zoom, Translate, Scale, How To Define and Change Viewports, How To Create and Manipulate Frames Page 153 Use the Color Selector INTRODUCTION Several operations in EnSight require that you select a color. The Color Selector dialog is used throughout the user interface to provide a powerful and easy-to-use color selection mechanism. BASIC OPERATION The selector operates using one of two basic color models: RGB or HSV. The RGB color model specifies color by the percentage of red, green, and blue and closely mimics the way computers deal with color. The HVS color model specifies colors as percentages of hue (the actual color with red equal to both 0.0 and 1.0, green equal to 0.33, and blue equal to 0.66), saturation (the “amount” of color, where 0.0 is white and 1.0 is full), and the value (the brightness, where 0.0 is black and 1.0 is full). The HSV model is often more intuitive for mixing custom colors. Although HSV is the default, you can switch to RGB by clicking the RGB toggle button. The dialog provides four basic methods of selecting colors: 1. By picking one of the predefined colors from the grid of color cells. Color square always displays the current color selection. 2. By grabbing the marker in the color cube and moving it with the mouse. 4. By grabbing and moving the sliders associated with each color component. 3. By entering values for HSV (or RGB, depending on mode) directly in the fields and pressing return. When you have selected a color, click the Apply button to have the selected color applied to the object being edited (e.g. part, color map level, text, etc.). Specify Custom Colors If you have colors that you use frequently that are not represented in the color grid, you can save them by replacing selected cells. Your custom colors are automatically saved for future sessions. To set custom colors: 1. Select the desired color using any of the methods described above. 2. Toggle on Change Color Cell. 3. Click in the color cell you wish to replace. 4. Continue to select colors and replace cells. 5. Toggle off Change Color Cell when done. The color information is saved in EnSight defaults directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac) with the following filename: ensight.colpal.default. SEE ALSO User Manual: Color Selector Page 154 Enable Stereo Viewing INTRODUCTION EnSight supports active stereo display on workstations with quad-buffered OpenGL stereo capability, in addition to passive (polarized) stereo support for detached displays (see How To Setup Parallel Rendering). Active stereo works by rapidly displaying alternating left and right eye views on the screen. An emitter (which sits on top of your display monitor) sends an infrared signal to special glasses worn by the viewer(s). The glasses contain liquid crystal shutters that alternately open and close the left and right eye lenses in response to the signal from the emitter in sync with the monitor display. The update frequency is such that the viewer effectively fuses the left and right views into a single stereo image. Stereo is useful for viewing any type of visually complex geometry. It is especially helpful for visualizing amorphous objects such as animating particle traces, trace ribbons, or discrete particles. It has also been noted that management and customers are typically quite impressed by stereo display. BASIC OPERATION In EnSight, stereo display is enabled by pressing the F12 key on your keyboard. Pressing the F12 key again will return to normal display. The stereo separation angle can be controlled by pressing the F10 and F11 keys. F10 decreases the angle and F11 increases the angle. When EnSight is configured to use a detached display (see How To Setup Parallel Rendering), these commands affect only the detached display. The GUI window remains monoscopic. Configuring your display On most platforms the display is not initialized by default in a mode which enables stereo viewing. In general quadbuffered stereo requires a refresh rate of 96Hz or higher. On some monitors it may be necessary to decrease the display resolution in order to accommodate this higher refresh rate. Check your monitor documentation before attempting to change the refresh rate. There is a utility distributed with EnSight which can be used to determine if your display has stereo capability. Run ‘cei_apex21_glinfo’ from a command line and look for OpenGL visuals with a ‘y’ the column ‘st’ or ‘stro’. If none exist, then the current display parameters do not allow for stereo viewing. Below are example instructions for various platform configurations which have been tested and confirmed to work with EnSight. When in doubt, refer to your system documentation for OpenGL as well as the X server (Unix) or video adapter device driver (Windows). Linux Professional graphics cards generally support stereo OpenGL under Linux. Documentation is included with the drivers, which may be downloaded from the card vendors web sites. MS Windows Configuration of stereo under Microsoft Windows is dependent upon the graphics card driver which is installed. Right-click on the background and choose “Properties” to open to Display Properties dialog. Look for a tab which such as “OpenGL Properties” or “Advanced” and search for a stereo option. In many cases there is a toggle button for enabling stereo display. You will usually need to restart the machine in order for changes to take effect. If stereo still does not work, try changing the display resolution, as stereo may not be available at higher resolutions. Page 155 Pick Center of Transformation INTRODUCTION EnSight allows you to pick where you would like the center of transformation to be for the model. BASIC OPERATION 1. Click the Pick button in the global area above the graphics window on the desktop. 2. Toggle on Pick Center of Transformation. 3. Position the mouse cursor on your model at the desired location for the center of transformation. 4. Press the “p-key” (or whatever mouse button you have set for “Selected Pick Action” in Edit > Preferences > Mouse and Keyboard). Your model will now rotate about the position on the model that you just picked. You can also set or change the exact location of the center of transform by using the Transformation Editor. 1. Click the “Transf...” button on the desktop below the graphics screen. 2. Under “Editor Function”, select “Center of Transform”. 3. Set of modify the x,y,z coordinate location of the center of transform in the dialog which comes up. Note: clicking on the ‘Fit’ button or the ‘Reset’ followed by the Reinitialize button will reset the center of transform to the geometric center of the visible parts. SEE ALSO User Manual: Center Of Transform Page 156 Set Model Axis/Extent Bounds INTRODUCTION EnSight provides model axes and extent bounds to help in orienting your model. These features are toggled on/off via the quick access area on the desktop. BASIC OPERATION Model Directional Triad The model axes help maintain awareness of the principal directions of the reference frame of the model. This is especially helpful during model transformations. Click the Axis toggle to display the model directional triad. Page 157 Model Extent Bounds The model extent bounds also help maintain dimensional information pertaining to the extents of the model. Click the Bounds toggle to display the model extents To control the various attributes associated with the model extents: 1. Select the Viewport Mode icon. 2. Select the Model Extent Bounds icon, which opens the Viewport 2D/3D Grid attributes dialog. 3. Modify the various general and/or axes attributes as desired. SEE ALSO User Manual: Part Bounds Attributes Page 158 Do Viewport Tracking INTRODUCTION EnSight provides the capability to “track” a particular location on the model parts displayed in a viewport. Tracking means that the viewport will be caused to center on the chosen location as time is changed. This is particularly useful for models with changing geometry or applied displacements - allowing one to stay focused on the moving bodies during an animation. BASIC OPERATION Viewports can be displayed with a variety of attributes: 1. Click VPort in the Mode Selection area to enter Viewport mode. 2. Select the desired viewport(s). 3. Click the Viewport Special Attributes icon to open the Viewport Special Attributes dialog. 4. Select the Tracking option desired, 5. And supply the node or part id appropriately. 6. Change time step, load a transient flipbook, or the like and note that the viewport will stay centered on the location chosen. SEE ALSO How To Define and Change Viewports User Manual: VPort Mode Page 159 View a Viewport Through a Camera INTRODUCTION Global transform mode defines a viewing position and then allows you to transform (translate and rotate) the scene. Camera mode behaves a little differently. In this mode the scene remains as defined and does not move. Instead the scene is viewed through a camera which can be positioned at any location and oriented to look in a specific direction and have a specified "tilt". A viewport can either be in Global transform mode (default) or it can be defined to be viewed through the camera. Local transforms are valid in either mode. In order to view a viewport through a camera (a) the camera position and orientation must be defined, and (b) the viewport must be tied to a camera. BASIC OPERATION Any viewport can be viewed through a camera by 1. Click Transf... in the Transformation Control Area 2. In the resulting Transformation editor (Global Transform) select the viewport you want to view through a camera 3. Select the camera from the Tie viewport(s) to camera pulldown. When set to None the camera model is not used and the Global transformation model is active. If a viewport is being viewed through a camera the interactive transformations (when you click and drag the mouse buttons in the viewport) affect the camera position and orientation. By default the visibility of the cameras are off. There are eight total cameras available that can be manipulated. By default they are positioned at the +/- XYZ axis locations plus two more cameras showing a view of -1 -1 -1 and 1 -1 -1. To position/orient a camera interactively: 1. If you click-drag for a transform in a viewport being tracked by a camera the camera will transform OR 1. In viewports that are not being viewed through a camera you will see a camera icon (if camera visibility is on). You can click-drag the center of the camera to drag the camera to a new position. Clicking/dragging the axis of the camera rotate the camera. OR 1. You can set the Pick option from the Desktop area immedately above the graphics window to position/orient the camera 2. Place the mouse pointer over the desired locaton on a part in any of the viewports in the graphics window and press the 'p' key (or whatever mouse button you have set for the "Selected Pick Action" in Edit->Preferences->Mouse and Keyboard). Depending on which pick action was chosen the camera will be positioned or oriented according to the pick. You may pick a spline control point for the Camera origin in which case the camera will position and orient itself according to the spline. Page 160 To turn on camera visibility: 1. Click Transf... in the Transformation Control Area 2. Select Editor function > Camera 3. Select the camera(s) you want to turn visible 4. Turn on the Visible toggle. To position/orient a camera interactively from the Camera Transformation editor 1. If the Origin is set to XYZ then the camera is located at the X, Y, Z locations shown here If the Origin is set to Spline then the camera origin will be located on the defined spline If the Origin is set to Node then the camera origin will be located at a specified node id. 2. The camera orientation is controlled by the Camera Z direction and the Camera Up vector. If the Focus is set to Node or XYZ then the Z vector is defined by the Node/XYZ location. To set other camera attributes: 1. The view angle controls the field of view through the camera. A small value simulates a telephoto lens while a large value simulates a wide angle lens 2. The Size sets the size of the camera glyph. Use the up/down arrows to increas/decrease the glyph size by a factor of 2. ADVANCED USAGE 1. If the camera origin is on a spline, zoom operations will move the camera along the spline 2. If the origin or Focus is set to a node number the camera will update if the node changes position. SEE ALSO How To Use the Spline Tool Page 161 Manage Views INTRODUCTION EnSight provides a capability to save and restore viewing parameters for the data model and all viewports. Collectively, this state is known as a View. This dialog portrays Views graphically as buttons with a small picture ("thumbnail") of the currently displayed data rendered with the underlying viewing parameters of that View. With the Views Manager the user can create, save, restore, and apply viewing parameters in a simple point-and-click interaction. BASIC OPERATION The Views Manager dialog is displayed by right clicking on the EnSight graphics area background and choosing View>Create New View OR by selecting the 'Views…' button below the EnSight graphics area OR in the main menu Windows>Views Manager... The dialog will look similar to that shown here. (Initially, the Views Manager will not contain any thumbnails of Views.) Click on the ‘New’ Button (or right-click on an empty area of the User Defined Views and select ‘New’) to create a new view using the current orientation and viewing parameters in the main graphics window. The 'Save views' button will display a file browser in which the user can select a directory. The manager will then write each View into a separate EnSight view file (named sequentially 'view0', 'view1', 'view2'...) A maximum of 16 Views can be used. The button 'Restore views' will display a file browser in which the user can select a directory to scan for EnSight View files. Any Views found in that directory will be loaded and displayed as a thumbnail button with the currently loaded data. Note that the 'Restore views' button will only look for views created by EnSight 8.2.1(e) or newer. Older Views must be loaded individually via the right-click menu explained later. Note: when restoring, the file browser has a toggle button “Use stored images for thumbnails’ which when set causes the originally stored image in the view to be displayed on the thumbnail instead of the currently loaded image. This can be useful if the current image takes a long time to render. Page 162 Clicking on a standard view will put the main graphics window in that view. It does not create a view in the User Defined Views. Clicking a thumbnail button with the left mouse button will apply that View to the EnSight graphics window. Clicking the mouse's right button will display one of two pop-up menus. If the right mouse button is clicked on top of a thumbnail image, then the following menu will be displayed. Clicking the mouse’s right button in the background of the thumbnail drawing area will display this menu. The menu options perform the following actions: Apply Performs the same action as clicking the left mouse button on the selected thumbnail button. Add as keyframe (20) Adds a keyframe with this view with 19 Sub-Frames. Edit keyframe count Pops up a window to query enter number of SubFrames, then adds a keyframe with this view. Replace Replaces the thumbnail button's viewing parameters and image with the currently displayed state of the EnSight graphics window. Update image Replaces the thumbnail button's image with the button's viewing parameters while using the currently loaded data. Delete Deletes the selected thumbnail button and associated viewing parameters. Note that if the View is associated with an EnSight View file, the file will not be deleted. Save as... Displays a file browser where the user can specify both a directory and an alternative file name for the View. New Creates a new View button using the currently displayed model data and all viewports. Update all images Performs the same action as 'Update image' but for all thumbnail buttons. Delete all Performs the same action as 'Delete' but for all thumbnail buttons Restore... Displays a file browser where the user can select an EnSight View file to load. Note that this option allows the user to load all versions of View files. SEE ALSO User Manual: Chapter 9: Transformation Dialog File Menu, Save/Restore View Page 163 Manipulate Tools Use the Cursor (Point) Tool INTRODUCTION EnSight provides a 3D point specification tool called the “Cursor” tool. When visible, the Cursor appears as a 3D cross colored red (X axis), green (Y axis), and blue (Z axis). The Cursor tool is used to supply EnSight with point information, for example to specify the location for a query or the starting point for a particle trace. BASIC OPERATION In many cases, the Cursor tool will automatically turn on when performing some function that requires it. You can also turn the tool on and off manually by toggling the Cursor entry in the Tools menu or by clicking the Cursor toggle on the Desktop. The Cursor tool can be placed in three ways: interactively through direct manipulation with the mouse, by positioning the mouse pointer over a part and pressing the ‘p’ key, or precisely positioned by typing coordinates into a dialog. To position the Cursor with the mouse: 1. Place the mouse pointer over the center of the tool. Note that the mouse cursor will change when over the center of the cursor tool (if in Part or Frame mode). 2. Click (and hold) the left mouse button. 3. Drag the Cursor to the desired location. 4. Release the mouse button. (Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation) Cursor translation is restricted to the plane perpendicular to your line of sight. If you need to move the cursor in another plane, rotate the model such that the desired translation plane is perpendicular to your new line of sight. (Note that the Cursor may not exactly track the location of the mouse pointer.) To position the Cursor on a part with the ‘p’ key: 1. Click the Pick button in the global area above the graphics window on the desktop. 2. Select “Pick cursor tool location” from the pop-up menu. 3. Place the mouse pointer over the desired location on a part in the graphics window and press the ‘p’ key (or whatever mouse button you have set for the “Selected Pick Action” in Edit > Preferences > Mouse and Keyboard). Page 164 To set the Cursor by specifying coordinates: 1. Open the Transformation Editor dialog by clicking Transf... on the desktop. 2. Select Editor Function > Tools > Cursor. 3. Enter the desired coordinates into the X, Y, and Z type-ins and hit return. You can also move the Cursor by setting the desired axis of translation in the Axis pop-up and manipulating the slider bar. In this case, the values in the “Scale Settings” section control the sensitivity and limit of the slider action. Note that you can also use this dialog to view (rather than set) the position of the Cursor since the X,Y,Z numeric values always update to reflect the current location. If you are positioning the Cursor interactively with the mouse, the values will update when the mouse button is released. Shortcut In Part Mode, right click on the cursor tool. You can hide the tool (make it invisible), edit it (open the Transformation Editor), or use the tool to quickly do something such as query a variable over time, or emit a particle streamline trace. ADVANCED USAGE After a model has been loaded, the initial location of the Cursor is set to the “look-at” point – the geometric center of all visible geometry. The coordinates of the Cursor are specified with respect to the default frame: frame 0. However, if you have created additional frames, you can position the Cursor relative to the origin of a different frame. This is accomplished by selecting the desired frame in the “Which Frame” list in the Transformation Editor dialog. You can easily reset the position of the Cursor tool to the default. See How To Reset Tools and Viewports for more information. Positioning a 3D tool with a 2D device (the mouse) can be difficult. Multiple viewports are sometimes helpful in positioning tools since you can see the tool simultaneously from multiple vantage points. SEE ALSO Other tools: Line, Plane, Box, Cylinder, Sphere, Cone, Surface of Revolution. See the How To article on Frames for additional information on how frames effect tools. User Manual: Tools Menu Functions Page 165 Use the Line Tool INTRODUCTION EnSight provides a 3D linear specification tool called the “Line” tool. When visible, the Line tool appears as a (typically white) line with an axis system at the center point and an arrow head on one end. The Line tool is used to supply EnSight with a linear specification, for example to specify the location for a line clip or a “rake” for a particle trace. BASIC OPERATION In many cases, the Line tool will automatically turn on when performing some function that requires it. You can also turn the tool on and off manually by toggling the Line entry in the Tools menu or by clicking the Line toggle on the Desktop. The Line tool can be placed or manipulated in three ways: interactively through direct manipulation of tool “hotpoints” with the mouse, by positioning the mouse pointer over a part and typing the ‘p’ key, or precisely positioned by typing coordinates into a dialog and/or rotating the tool about its axis. With surface normal options the line remains normal. To move the Line with the mouse: 1. Place the mouse pointer over the center of the tool. 2. Click (and hold) the left mouse button. 3. Drag the Line to the desired location. 4. Release the mouse button. To stretch the Line with the mouse: 1. Place the mouse pointer over one of the Line endpoints. 2. Click (and hold) the left mouse button. 3. Drag the endpoint to the desired location. 4. Release the mouse button. To rotate the line with the mouse: 1. Place the mouse over the end of one of the tool axes. 2. Click (and hold) the left mouse button. 3. Drag the axis endpoint until the line has rotated as desired. 4. Release the mouse button. Note selecting the X axis endpoint will rotate about the Y axis, selecting the Y axis endpoint will rotate about the X axis, and selecting the Z axis endpoint will rotate in a general fashion about the centerpoint. Note that the mouse pointer will change when it is over a hotpoint (if you are in Part or Frame mode). (Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation) Line moving and stretching is restricted to the plane perpendicular to your line of sight. If you need to move the Line in another plane, rotate the model such that the desired translation plane is perpendicular to your new line of sight. (Note that the Line will not exactly track the location of the mouse pointer.) Page 166 To position the Line on a part with the ‘p’ key: 1. Click the Pick button in the global area above the graphics window on the desktop. 2. Select “Pick line tool location” from the pop-up menu. (Then pick either by 2 points or 2nodes.) 3. In the Graphics Window, place the mouse pointer on a part over the desired location for the first Line endpoint and press the ‘p’ key (or whatever mouse button you have set for the “Selected Pick Action” in Edit > Preferences > Mouse and Keyboard). 4. Move the mouse pointer to the desired location for the second Line endpoint and again press the ‘p’ key. When “Using 2 points” the endpoints will be place at the pick location. When “Using 2 nodes”, the endpoints will be placed at the nearest node and the ids of those nodes will be saved, such that the line tool will continue to be attached to these nodes - even if they move. To set the Line by specifying coordinates: 1. Open the Transformation Editor dialog by clicking Transf... on the desktop. 2. Select Editor Function > Tools > Line. 3. Enter the desired coordinates for the endpoints into the X, Y, and Z fields and press return. 3. Alternatively, you can enter the node ids for two nodes in the model. This has the effect of keeping the line tool tied to the two nodes - even if they move over time. Note the Length field - which is discussed in Advanced Usage below. Rotation, translation or scaling of the tool can also be accomplished by selecting the appropriate transform action icon and the desired axis, and then manipulating the slider. In this case, the values in the “Scale Settings” section control the sensitivity and limit of the slider action. Note that you can also use this dialog to view (rather than set) the position of the Line since the X,Y,Z numeric values always update to reflect the current location. If you are positioning the Line interactively with the mouse, the values will update when the mouse button is released. Page 167 Shortcut In Part Mode, right click on center selection point of the line tool. You can do quick x or y rotates, hide the tool, or open the transformation editor. You can also use this right click to quickly create a line clip, query a variable, or do a particle streamline trace with the line tool as the emitter. ADVANCED USAGE After a model has been loaded, the initial location of the Line center is set to the “look-at” point – the geometric center of all visible geometry and parallel to the X axis. The coordinates of the Line are specified with respect to the default frame: frame 0. However, if you have created additional frames, you can position the Line relative to the origin of a different frame. This is accomplished by selecting the desired frame in the “Which Frame” list in the Transformation Editor dialog. You can easily reset the position and orientation of the Line tool to the default. See How To Reset Tools and Viewports for more information. Positioning a 3D tool with a 2D device (the mouse) can be difficult. Multiple viewports are sometimes helpful in positioning tools since you can see the tool simultaneously from multiple vantage points. To find the distance between two nodes that have IDs, you can use the calculator function Dist2Nodes. However, to find the distance between two nodes on different parts, or between two nodes if one or both don’t have IDs, use the line tool. Use the Pick Line Tool Location-> Using 2 nodes option as shown above, then move the cursor near the first node location, hit ‘p’ key, move to the second node location and hit the ‘p’ key, then open up the transformation editor and in the transformation editor menu, Edit>Tools>Line you’ll find the length of the line tool which is the distance between those two points. SEE ALSO Other tools: Cursor, Plane, Box, Cylinder, Sphere, Cone, Surface of Revolution. See the How To article on Frames for additional information on how frames effect tools. User Manual: Tools Menu Functions Page 168 Use the Plane Tool INTRODUCTION EnSight provides a plane specification tool called the “Plane” tool. When visible, the Plane tool appears as a (typically white) rectangular region with an axis located at the center point. The Plane can also have a semitransparent “filled” center that enhances visibility of the region. The Plane tool is used to supply EnSight with a planar specification, for example to specify the location for a planar clip or a “net” for a particle trace. BASIC OPERATION In many cases, the Plane tool will automatically turn on when performing some function that requires it. You can also turn the tool on and off manually by toggling one of the Plane entries in the Tools menu (e.g. Tools > Plane) or by clicking the Plane toggle on the Desktop. The Plane tool can be placed in three ways: interactively through direct manipulation of tool “hotpoints” with the mouse, by positioning the mouse pointer over a part and typing the ‘p’ key, or precisely positioned by typing coordinates into a dialog. To move the Plane with the mouse: 1. Place the mouse pointer over the center of the tool. 2. Click (and hold) the left mouse button. 3. Drag the Plane to the desired location. 4. Release the mouse button. To stretch (or scale) the Plane about the plane’s center with the mouse: 1. Place the mouse pointer over any of the corners. 2. Click (and hold) the left mouse button. 3. Drag the corner to the desired location. 4. Release the mouse button. Z Y X To rubber-band a corner of the plane tool (while the opposite corner stays fixed), do the same as above, but hold the Ctrl key down as you click and drag a corner. To rotate the Plane tool with the mouse: 1. Place the mouse pointer over one of the axis labels (X, Y, or Z). 2. Click and drag to the desired orientation. Grabbing the X (Y) label will rotate around the plane’s Y (X) axis. Grabbing the Z label enables free rotation about the Plane’s center point. Note that the mouse pointer will change when it is over a hotpoint (if you are in Part or Frame mode). (Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation) Plane moving is restricted to the plane perpendicular to your line of sight. If you need to move the Plane in another plane, rotate the model such that the desired translation plane is perpendicular to your new line of sight. (Note that the Plane will not exactly track the location of the mouse pointer.) Page 169 To position the Plane on a part (by specifying three points) with the ‘p’ key: 1. Click the Pick button in the global area above the graphics window on the desktop. 2. Select “Pick plane tool location > Using 3 points” from the pop-up menu. 3. In the Graphics Window, place the mouse pointer on a part and press the ‘p’ key (or whatever mouse button you have set for the “Selected Pick Action” in Edit > Preferences > Mouse and Keyboard). 4. Repeat two more times. Note that you are not specifying corner points – just three unique points. You can also position the Plane Tool by picking three nodes (this differs from the above where 3 points in space are used - in that the node ids of the three closest nodes are found and saved). The Plane orientation will be changed such that it lies in the plane of the three nodes chosen, and will continue to lie in the plane of these three nodes, even if they change location. To position the Plane (by specifying three nodes): 1. Click the Pick button in the global area above the graphics window on the desktop. 2. Select “Pick plane tool location > Using 3 nodes” from the pop-up menu. 3. In the Graphics Window, place the mouse pointer on a part, near a desired node and press the ‘p’ key (or whatever mouse button you have set for the “Selected Pick Action” in Edit > Preferences > Mouse and Keyboard). 4. Repeat two more times. Note that you are not specifying corner points – just three unique nodes. If you open the Transformation Editor, and choose Editor Function > Tools > Plane, you can see the id of the three nodes that you have chosen. Page 170 You can also position the Plane Tool by tracing out a line on the screen. The Plane orientation will be changed such that it is both parallel to the specified line and perpendicular to the screen. To position the Plane (by specifying a line): 1. Click the Pick button in the global area above the graphics window on the desktop. 2. Select “Pick plane tool location > Using 2 points” from the pop-up menu. 3. Move the mouse pointer into the Graphics Window and press the ‘p’ key. Place the pointer over the desired starting point. Click and hold the left mouse button as you trace out the desired line. 4. Release the mouse button. You can also position the Plane Tool by picking an origin, then a point out on the normal. This takes two picking operations to accomplish. To position the Plane (by picking origin, then point on normal): 1. Click the Pick button in the global area above the graphics window on the desktop. 2. Select “Pick plane tool location > Origin” from the pop-up menu. 3. Move the mouse pointer into the Graphics Window and place the pointer over the desired origin of the plane tool - then press the ‘p’ key. 4. Select “Pick plane tool location > Normal” from the pop-up menu. 5. Place the pointer over a point along the normal vector (from the origin of the plane tool) - then press the ‘p’ key. Page 171 To set the Plane by specifying parameters exactly: 1. Open the Transformation Editor dialog from the desktop by clicking Transf... 2. Select Editor Function > Tools > Plane. 3. Enter the desired coordinates for the origin, the components of the normal vector, and the x and y size, and press return. – OR – 3. Enter the id of three nodes and press return. – OR – 3. Enter the plane equation parameters (Ax + By + Cz = D) and press return. – OR – 3. Enter the desired coordinates for three corner points into the X, Y, and Z fields and press return. You can also rotate, translate, or scale the Plane by selecting the desired transform action, setting the desired axis and manipulating the slider bar. In this case, the values in the “Scale Settings” section control the sensitivity and limit of the slider action. Note that you can also use this dialog to view (rather than set) the position of the Plane since the X,Y,Z numeric values always update to reflect the current location. If you are positioning the Plane interactively with the mouse, the values will update when the mouse button is released. The Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation. Shortcut In Part Mode, right click on center selection point of the line tool. You can do quick x or y rotates, increase or decrease the size of the tool, hide the tool, or open the transformation editor. You can also use this right click to quickly create a plane clip, or do a particle streamline trace with the plane tool as the emitter. ADVANCED USAGE After a model has been loaded, the initial location of the Plane center is set to the “look-at” point – the geometric center of all visible geometry and parallel to the X-Y plane. The coordinates of the Plane are specified with respect to the default frame: frame 0. However, if you have created additional frames, you can position the Plane relative to the Page 172 origin of a different frame. This is accomplished by selecting the desired frame in the “Which Frame” list in the Transformation Editor dialog. You can easily reset the position and orientation of the Plane tool to the default. See How To Reset Tools and Viewports for more information. By default the plane tool will be displayed in line mode. You can display the tool as a transparent plane by changing the setting for Edit > Preferences... View - Plane Tool Filled. Positioning a 3D tool with a 2D device (the mouse) can be difficult. Multiple viewports are sometimes helpful in positioning tools since you can see the tool simultaneously from multiple vantage points. SEE ALSO Other tools: Cursor, Line, Box, Cylinder, Sphere, Cone, Surface of Revolution. See the How To article on Frames for additional information on how frames effect tools. The Plane Tool is also used to specify the location of the clip plane for Auxiliary Clipping. User Manual: Tools Menu Functions Page 173 Use the Box Tool INTRODUCTION EnSight provides a hexahedron shaped specification tool called the “Box” tool. When visible, the Box tool appears as a (typically white) wireframe box icon with a triad at one corner. The Box tool is used to supply EnSight with a 3D volume specification, for example to specify the location for a box clip or cut. BASIC OPERATION In many cases, the Box tool will automatically turn on when performing some function that requires it. You can also turn the tool on and off manually by toggling Tools > Box. The Box tool can be placed in two ways: interactively through direct manipulation of tool “hotpoints” with the mouse or precisely positioned by typing coordinates into a dialog. To move the Box Tool with the mouse: 1. Place the mouse pointer over the origin corner of the tool. 2. Click (and hold) the left mouse button. 3. Drag the Box to the desired location. 4. Release the mouse button. To stretch the Box Tool with the mouse: 1. Place the mouse pointer over any of the corner points (except the origin). 2. Click (and hold) the left mouse button. 3. Drag the endpoint to produce the desired stretched size. 4. Release the mouse button. To rotate the Box Tool with the mouse: 1. Place the mouse pointer over the center of the x, y, or z edge(not at the endpoints). 2. Click and drag to rotate. Note: Selection of the X axis edge will rotate the box about the Y axis edge. Selection of the Y axis edge will rotate about the X axis edge. Selection about the Z axis edge will rotate about the origin. Note that the mouse pointer will change when it is over a hotpoint (if you are in Part or Frame mode). (Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation) Box tool moving and stretching is in 3 space. (Note the Box may not exactly track the location of the mouse pointer.) Page 174 To set the Box Tool by specifying coordinates: 1. Open the Transformation Editor dialog by clicking Transf... on the desktop. 2. Select Editor Function > Tools > Box. 3. To place and size, enter the desired coordinates for the Origin corner and the length in each of the directions, and press return. 4. To orient, enter the components of the orthogonal axis orientation vectors You can also rotate, translate or stretch the Box Tool by selecting the desired Transform Action, setting the desired axis, and then manipulating the slider bar. For these tool actions, the values in the “Scale Settings” section control the sensitivity and limit of the slider action. Note that you can also use this dialog to view (rather than set) the position of the Box Tool since the numeric values always update to reflect the current location, size, and orientation. If you are positioning the Box Tool interactively with the mouse, the values will update when the mouse button is released. Shortcut In Part Mode, right click on center selection point of the Box tool. You can do quick hide the tool, or open the transformation editor. ADVANCED USAGE After a model has been loaded, the initial location of the Box Tool is centered about the “look-at” point – the geometric center of all visible geometry - and is aligned with the model axis system. The coordinates of the Cylinder are specified with respect to the default frame: frame 0. However, if you have created additional frames, you can position the Box Tool relative to the origin of a different frame. This is accomplished by selecting the desired frame in the “Which Frame” list in the Transformation Editor dialog. You can easily reset the position and orientation of the Box tool to the default. See How To Reset Tools and Viewports for more information. Positioning a 3D tool with a 2D device (the mouse) can be difficult. Multiple viewports are sometimes helpful in positioning tools since you can see the tool simultaneously from multiple vantage points. Page 175 SEE ALSO Other tools: Cursor, Line, Plane, Cylinder, Sphere, Cone, Surface of Revolution. See the How To article on Frames for additional information on how frames effect tools. User Manual: Tools Menu Functions Page 176 Use the Cylinder Tool INTRODUCTION EnSight provides a cylindrical specification tool called the “Cylinder” tool. When visible, the Cylinder tool appears as a (typically white) cylinder icon with a line running down the central axis. An axis triad will be at the center of the central axis line. The Cylinder tool is used to supply EnSight with a cylindrical specification, for example to specify the location for a cylinder clip or cut. BASIC OPERATION In many cases, the Cylinder tool will automatically turn on when performing some function that requires it. You can also turn the tool on and off manually by toggling Tools > Quadric > Cylinder. The Cylinder tool can be placed in two ways: interactively through direct manipulation of tool “hotpoints” with the mouse or precisely positioned by typing coordinates into a dialog. To move the Cylinder with the mouse: 1. Place the mouse pointer over the center of the tool. 2. Click (and hold) the left mouse button. 3. Drag the Cylinder to the desired location. 4. Release the mouse button. To stretch the Cylinder with the mouse: 1. Place the mouse pointer over either of the center line’s endpoints. 2. Click (and hold) the left mouse button. 3. Drag the endpoint to the desired location. 4. Release the mouse button. To change the Cylinder radius with the mouse: 1. Place the mouse pointer over the center ring. 2. Click and drag to the desired radius. 3. Release the mouse button. To rotate the Cylinder with the mouse: 1. Place the mouse pointer over the end of one of the central axes. 2. Click and drag until desired rotation is accomplished. 3. Release the mouse button. Note: Selecting the x axis will rotate about the Y axis. Selecting the y axis will rotate about the X axis. Selecting the z axis will rotate in general about the axis origin. Note that the mouse pointer will change when it is over a hotpoint (if in Part or Frame mode). (Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation) Page 177 Cylinder moving and stretching with the mouse is restricted to the plane perpendicular to your line of sight. If you need to move the Cylinder in another plane, either rotate the model such that the desired translation plane is perpendicular to your new line of sight or use the other modes for manipulating the tool. (Note that the Cylinder will not exactly track the location of the mouse pointer.) To set the Cylinder by specifying coordinates: 1. Open the Transformation Editor dialog by clicking Transf... on the desktop. 2. Select Editor Function > Tools > Cylinder. 3. Enter the desired coordinates for the Origin (location of the center point), the Axis (direction vector), and the Radius and press return. You can also rotate, translate, or scale the Cylinder by setting the desired transform action and axis and manipulating the slider bar. In this case, the values in the “Scale Settings” section control the sensitivity and limit of the slider action. Note that you can also use this dialog to view (rather than set) the position of the Cylinder since the numeric values always update to reflect the current location. If you are positioning the Cylinder interactively with the mouse, the values will update when the mouse button is released. ADVANCED USAGE After a model has been loaded, the initial location of the Cylinder center is set to the “look-at” point – the geometric center of all visible geometry and aligned with the X axis. The coordinates of the Cylinder are specified with respect to the default frame: frame 0. However, if you have created additional frames, you can position the Cylinder relative to the origin of a different frame. This is accomplished by selecting the desired frame in the “Which Frame” list in the Transformation Editor dialog. You can easily reset the position and orientation of the Cylinder tool to the default. See How To Reset Tools and Viewports for more information. Positioning a 3D tool with a 2D device (the mouse) can be difficult. Multiple viewports are sometimes helpful in positioning tools since you can see the tool simultaneously from multiple vantage points. SEE ALSO Other tools: Cursor, Line, Plane, Box, Sphere, Cone, Surface of Revolution. See the How To article on Frames for additional information on how frames effect tools. User Manual: Tools Menu Functions Page 178 Use the Sphere Tool INTRODUCTION EnSight provides a spherical specification tool called the “Sphere” tool. When visible, the Sphere tool appears as a (typically white) sphere icon with a line running down the central axis. An axis triad will be at the center of the central axis line. The Sphere tool is used to supply EnSight with a spherical specification, for example to specify the location for a sphere clip or cut. BASIC OPERATION In many cases, the Sphere tool will automatically turn on when performing some function that requires it. You can also turn the tool on and off manually by toggling Tools > Quadric > Sphere. The Sphere tool can be placed in two ways: interactively through direct manipulation of tool “hotpoints” with the mouse or precisely positioned by typing coordinates into a dialog. To move the Sphere with the mouse: 1. Place the mouse pointer over the center of the tool. 2. Click (and hold) the left mouse button. 3. Drag the Sphere to the desired location. 4. Release the mouse button. To stretch the Sphere with the mouse: 1. Place the mouse pointer over either of the center line’s endpoints. 2. Click (and hold) the left mouse button. 3. Drag the endpoint to the desired location. 4. Release the mouse button. To rotate the sphere with the mouse: 1. Place the mouse pointer over the end of one of the central axes. 2. Click and drag until desired rotation is accomplished. 3. Release the mouse button. Note: Selecting the x axis will rotate about the Y axis. Selecting the y axis will rotate about the X axis. Selecting the z axis will rotate in general about the axis origin. Note that the mouse pointer will change when it is over a hotpoint (if in Part or Frame mode). (Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation) Sphere moving and stretching is restricted to the plane perpendicular to your line of sight. If you need to move the Sphere in another plane, either rotate the model such that the desired translation plane is perpendicular to your new line of sight or use the other modes for manipulating the tool. (Note that the Sphere will not exactly track the location of the mouse pointer.) Page 179 To set the Sphere by specifying coordinates: 1. Open the Transformation Editor dialog by clicking Transf... on the desktop. 2. Select Editor Function > Tools > Sphere. 3. Enter the desired coordinates for the Origin (location of the center point), the Axis (direction vector), and/or the Radius and press return. if you are going to create a developed surface from a spherical clip, you need to be aware of how the spherical axis orientation affects this operation. (See How To Create a Developed Surface) You can also rotate, translate or scale the Sphere by setting the desired transform action and axis and manipulating the slider bar. In this case, the values in the “Scale Settings” section control the sensitivity and limit of the slider action. Note that you can also use this dialog to view (rather than set) the position of the Sphere since the numeric values always update to reflect the current location. If you are positioning the Sphere interactively with the mouse, the values will update when the mouse button is released. ADVANCED USAGE After a model has been loaded, the initial location of the Sphere center is set to the “look-at” point – the geometric center of all visible geometry and aligned with the X axis. The coordinates of the Sphere are specified with respect to the default frame: frame 0. However, if you have created additional frames, you can position the Sphere relative to the origin of a different frame. This is accomplished by selecting the desired frame in the “Which Frame” list in the Transformation Editor dialog. You can easily reset the position and orientation of the Sphere tool to the default. See How To Reset Tools and Viewports for more information. Positioning a 3D tool with a 2D device (the mouse) can be difficult. Multiple viewports are sometimes helpful in positioning tools since you can see the tool simultaneously from multiple vantage points. SEE ALSO Other tools: Cursor, Line, Plane, Box, Cylinder, Cone, Surface of Revolution. See the How To article on Frames for additional information on how frames effect tools. User Manual: Tools Menu Functions Page 180 Use the Cone Tool INTRODUCTION EnSight provides a conical specification tool called the “Cone” tool. When visible, the Cone tool appears as a (typically white) cone icon with a line running down the center axis. The Cone tool is used to supply EnSight with a conical specification, for example to specify the location for a conical clip or cut. BASIC OPERATION In many cases, the Cone tool will automatically turn on when performing some function that requires it. You can also turn the tool on and off manually by toggling Tools > Quadric > Cone. The Cone tool can be placed in two ways: interactively through direct manipulation of tool “hotpoints” with the mouse or precisely positioned by typing coordinates into a dialog. To move the Cone with the mouse: 1. Place the mouse pointer over the center of the tool. 2. Click (and hold) the left mouse button. 3. Drag the Cone to the desired location. 4. Release the mouse button. To stretch the Cone with the mouse: 1. Place the mouse pointer over either of the center line’s endpoints. 2. Click (and hold) the left mouse button. 3. Drag the endpoint to the desired location. 4. Release the mouse button. To change the Cone radius with the mouse: 1. Place the mouse pointer over the base ring. 2. Click and drag to the desired radius. To rotate the Cone with the mouse: 1. Place the mouse pointer over the end of one of the central axes. 2. Click and drag until desired rotation is accomplished. 3. Release the mouse button. Note: Selecting the x axis will rotate about the Y axis. Selecting the y axis will rotate about the X axis. Selecting the z axis will rotate in general about the axis origin. Note that the mouse pointer will change when it is over a hotpoint (if in Part or Frame mode). (Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation) Cone moving and stretching is restricted to the plane perpendicular to your line of sight. If you need to move the Cone in another plane, either rotate the model such that the desired translation plane is perpendicular to your new line of sight or use the other modes for manipulating the tool. (Note that the Cone will not exactly track the location of the mouse pointer.) Page 181 To set the Cone by specifying coordinates: 1. Open the Transformation Editor dialog by clicking Transf... on the desktop. 2. Select Editor Function > Tools > Cone. 3. Enter the desired coordinates for the Origin (location of the cone tip), the Axis (direction vector), and the conical half angle (in degrees) and press return. You can also rotate, translate or scale the Cone by setting the desired transform action and axis and manipulating the slider bar. In this case, the values in the “Scale Settings” section control the sensitivity and limit of the slider action. Note that you can also use this dialog to view (rather than set) the position of the Cone since the numeric values always update to reflect the current location. If you are positioning the Cone interactively with the mouse, the values will update when the mouse button is released. The clip/cut from the cone tool will extend infinitely from the tip outwards. To limit the extent of the cone clip/cut, use the plane tool and cut the cone clip/cut as desired. ADVANCED USAGE After a model has been loaded, the initial location of the Cone center is set to the “look-at” point – the geometric center of all visible geometry and aligned with the X axis. The coordinates of the Cone are specified with respect to the default frame: frame 0. However, if you have created additional frames, you can position the Cone relative to the origin of a different frame. This is accomplished by selecting the desired frame in the “Which Frame” list in the Transformation Editor dialog. You can easily reset the position and orientation of the Cone tool to the default. See How To Reset Tools and Viewports for more information. Positioning a 3D tool with a 2D device (the mouse) can be difficult. Multiple viewports are sometimes helpful in positioning tools since you can see the tool simultaneously from multiple vantage points. SEE ALSO Other tools: Cursor, Line, Plane, Box, Cylinder, Sphere, Surface of Revolution. See the How To article on Frames for additional information on how frames effect tools. User Manual: Tools Menu Functions Page 182 Use the Surface of Revolution Tool INTRODUCTION EnSight provides a surface of revolution specification tool called the “Revolution” tool. When visible, the Revolution tool appears as a (typically white) icon with a line running down the center axis. By default, the distance of five planar points from the central axis defines the profile curve of the revolution surface (although you can add points up to a maximum of ten). The Revolution tool is used to supply EnSight with a surface of revolution specification, for example to specify the location for a revolution clip or cut. BASIC OPERATION In many cases, the Revolution tool will automatically turn on when performing some function that requires it. You can also turn the tool on and off manually by toggling Tools > Quadric > Revolution. The Revolution tool can be placed in two ways: interactively through direct manipulation of tool “hotpoints” with the mouse or precisely positioned by typing coordinates into a dialog. To move the Revolution tool with the mouse: 1. Place the mouse pointer over the center of the tool. 2. Click (and hold) the left mouse button. 3. Drag the tool to the desired location. 4. Release the mouse button. To reorient the Revolution tool with the mouse: 1. Place the mouse pointer over either of the center line’s endpoints. 2. Click (and hold) the left mouse button. 3. Drag the endpoint to achieve the desired orientation. 4. Release the mouse button. To rotate the Revolution tool with the mouse: 1. Place the mouse pointer over the end of one of the central axes. 2. Click and drag until desired rotation is accomplished. 3. Release the mouse button. Note: Selecting the x axis will rotate about the Y axis. Selecting the y axis will rotate about the X axis. Selecting the z axis will rotate in general about the axis origin. Note that the mouse pointer will change when it is over a hotpoint (if in Part or Frame mode). (Undo/Redo button at the bottom of screen can be used to undo/redo the tool transformation) Revolution tool moving and stretching is restricted to the plane perpendicular to your line of sight. If you need to move the Revolution tool in another plane, either rotate the model such that the desired translation plane is perpendicular to your new line of sight or use the other modes to manipulate the tool. (Note that the Revolution tool will not exactly track the location of the mouse pointer.) Page 183 To set the Revolution tool by specifying coordinates: 1. Open the Transformations dialog by clicking Transf... on the desktop. 2. Select Editor Function > Tools > Revolution. The dialog displays the profile curve as a series of connected line segments with stars positioned at the curve points. You can edit the curve by clicking and dragging the points or by manually entering distance-radius pairs. You can also add or delete points. As you make changes, the tool in the graphics window updates interactively. To edit points with the mouse: 1. Click on the point and drag to the desired location. To add points (up to a maximum of 10): 1. Click Add Point. 2. Move the mouse pointer into the curve window and click the left mouse button in the location of the desired new point. Clicking Delete Point will remove the currently selected point. To manually edit a point: 1. Click the point (to select it) in the curve window or click the desired point in either the Distance or Radius lists. 2. The distance and radius of the selected point are shown in the text fields below each list. 3. Edit the point’s distance and/or radius value and press return. To edit the position or orientation: 1. Enter the desired coordinates for the Origin (location of the axis center point) or Axis (direction vector) and press return. You can also rotate, translate, and scale the Revolution tool by setting the desired transform action and axis and manipulating the slider bar. In this case, the values in the “Scale Settings” section control the sensitivity and limit of the slider action. Note that you can also use this dialog to view (rather than set) the position of the Revolution tool since the numeric values always update to reflect the current location. If you are positioning the Revolution tool interactively with the mouse, the values will update when the mouse button is released. Page 184 ADVANCED USAGE After a model has been loaded, the initial location of the Revolution tool center is set to the “look-at” point – the geometric center of all visible geometry and aligned with the X axis. The coordinates of the Revolution tool are specified with respect to the default frame: frame 0. However, if you have created additional frames, you can position the Revolution tool relative to the origin of a different frame. This is accomplished by selecting the desired frame in the “Which Frame” list in the Transformations dialog. You can easily reset the position and orientation of the Revolution tool to the default. See How To Reset Tools and Viewports for more information. Positioning a 3D tool with a 2D device (the mouse) can be difficult. Multiple viewports are sometimes helpful in positioning tools since you can see the tool simultaneously from multiple vantage points. SEE ALSO Other tools: Cursor, Line, Plane, Box, Cylinder, Sphere, Cone. See the How To article on Frames for additional information on how frames effect tools. Page 185 Use the Selection Tool INTRODUCTION EnSight provides a 2D screen selection tool called the “Selection” tool or “Region Selector”. It is different than most of the other tools - in that it is not used to create other parts. It is basically used for selection purposes. For example, it can be used to select a screen region to zoom in to. It can be used in the part selection process. And it can be used for the element blanking operation. BASIC OPERATION Zoom to Region To use the selection tool to perform a zoom operation: 1. Click the Selection tool rubberband positioning button. 2. Click in the graphics window (to set one corner) and drag (to set the opposite corner) to place the selection tool. 3. Fine tune the location of the tool, if needed, by the methods described below. 4. Click the Zoom symbol, at the upper left of the tool, to cause the zoom to occur. Note: the Undo button is useful if you want to undo the last transformation. You manipulate the tool by: - clicking and dragging on any corner to rubberband the tool. - clicking and dragging on the center of the tool to move it. Note: the dotted box indicates the actual region being used. It is preserving the aspect ratio. Page 186 Element Blanking The selection tool can be used in the element blanking operation.: 1. Select the part(s) on which to do element blanking. 2. Click on the Selection tool icon to turn on the tool. 3. Position the tool as desired. 4. Click on the element blanking symbol at the upper left of the tool. Note, in order for this to work, the Element blanking allowed toggle needs to be on (the default). To undo the blanking, click the Clear or Clear all parts button. Results in the following: Page 187 Part Selection To use the tool in the part selection process: 1. Turn on the selection tool by clicking the icon. 2. Manipulate the tool until at least some portion of the desired parts are contained within the tool’s dotted area. 3. Click the Select... button and select “Region” Note that the selected parts will now be highlighted in the parts list. SEE ALSO How To Do Element Blanking How To Rotate, Zoom, Translate, Scale User Manual: Tools Menu Functions Page 188 Use the Spline Tool INTRODUCTION Splines can be used for (a) the path of a camera, (b) the path of a clip plane, and (c) the input to a distance vs. variable query. Splines can be defined and edited as well as saved and restored from disk. Further, the splines have attributes such as visibility, line width, and color in order to more easily select and manipulate them. The splines are defined as piece-wise cubic. The spline is thus always guaranteed to pass through the control points which you define. The definition of the control points can come from a part (such as a particle trace perhaps), be picked in the graphics window, be input via x/y/z coordinates, or from the position of the cursor tool. BASIC OPERATION There are several ways to define a spline and it’s control points: To create a spline via picking on surfaces: 1. Click the Pick button in the global area above the graphics window on the desktop 2. Select "Pick spline control point" from the pop-up menu 3. In the Graphics Window, place the mouse pointer on a part near a desired location and press the "p" key (or whatever mouse button you have set for the "Selected Pick Action" in Edit->Preferences->Mouse and Keyboard). A spline control point marker will appear where you pressed the "p" key. If more than one control point has been created you will also see the spline being constructed. Page 189 To create a spline via the Transformation editor dialog 1. Open the Transformation Editor dialog from the desktop by clicking Transf... 2. Select Editor Function > Tools > Spline 3. Select New to create a new spline and if you wish, rename it by editing the Description 4. If you want to create control points from all of the coordinates of a 1D part, select the part in the part list and then select Create from selected part(s). OR 4. If you know the exact location for the control point select New(at cursor) then edit the X/Y/Z fields to reflect the correct control point location. OR 4. Select an existing control point in the Points list. Select the Copy button. Then select the line in the Points list after which you want to insert a new point and select the Paste button. To edit the control points of a spline: 1. Move the mouse pointer to a control point you wish to move in the Graphics Window. Click and drag the control point. OR 1. Select the point from the Points list and edit it via the XY/Z fields OR 1. Select the point(s) you wish to edit and select the Offset.. button 2. In the resulting pop-up enter a delta x/y/z value to add to all of the selected points. Control point(s) can be deleted by: 1. Select one or more points in the Points list 2. Select the Delete button To edit the spline attributes 1. The Visible toggle will turn the spline on/off in all viewports (there are no per-viewport controls) 2. You may choose to show the control points. If visible then the size of the control point glyph is controlled here. 3. Adjust the Line width and Color here 4. Invert the spline (to use it in reverse). ADVANCED USAGE The spline by definition starts at the first control point (spline value of 0.) and ends at the last control point (spline value of 1). If the spline is used for camera, clip plane path, or distance vs. variable query the direction along the spline is always in the positive direction. If you wish to use the spline in reverse you simply Invert the spline. SEE ALSO Create Clip Splines Page 190 Visualize Data Introduction to Part Creation INTRODUCTION Much of the strength of EnSight derives from it’s flexible and powerful part creation mechanism. Since virtually every task you perform in EnSight will involve some form of part manipulation, it is vital to understand these concepts. In EnSight, a part is a named collection of elements (or cells) and associated nodes. The nodes may have zero or more variables (such as pressure or stress) currently defined at the node positions. All components of a part share the same set of attributes (such as color or line width). Parts are either built during the loading process (based on your computational mesh and associated surfaces) or created during an EnSight session. Parts created during loading are called model parts. Model parts can also be created during an EnSight session by performing a copy on other model parts. All other parts are created during an EnSight session and are called created or derived parts. Created parts are built using one or more other parts as the parent parts. The created parts are said to depend on the parent parts. If one or more of the parent parts change, all parts depending on those parent parts are automatically recalculated and redisplayed to reflect the change. As an example, consider the following case. A clipping plane is created through some 3D computational domain and a contour is created on the clipping plane. The contour’s parent is the clipping plane, and the clipping plane’s parent is the 3D domain. If the 3D domain is changed (e.g. the time step changes), the clipping plane will first be recalculated, followed by the contour. In this way, part coherence is maintained. This article is divided into the following sections: The Parts List Part Attributes Creating Parts Part Types Where Parts Are Created and Maintained Part Operations Hints and Tips The Parts List Both model parts as well as all derived parts are displayed as items in the Parts List. There are several ways that the Parts list can be displayed, the default looks something like: Case number (important when multiple datasets have been loaded) P indicates Parent of currently selected part Part numbers Currently selected part Part description The List... button gives you control over many other ways to display the parts in the Part list - including the order, whether parent child hierarchy is to be shown, and whether other details will be shown. Page 191 This shows the same part list as before, but using the parent/child tree - which quickly and efficiently shows the parent of each part. There are several ways to easily select multiple parts. Selected parts can be deleted here. For models with many parts, the large part list can be used - which will expand the list down the left side of the desktop. If you right click on a selected part (or parts) in the part list, you have access to a number of part operations Page 192 Also, Items in the Parts List are selected using standard Motif methods: To ... Do this ... Details ... Select an item Select (or single-click) Place the mouse pointer over the item and click the left mouse button. The item is highlighted to reflect the “selected” state. Extend a contiguous selection Select-drag Place the mouse pointer over the first item. Click and hold the left mouse button as you drag over the remaining items to be selected. Only contiguous items may be selected in this fashion. Extend a (possibly long) contiguous selection Shift-click Select the first item. Place the mouse pointer over the last item in the list to be selected. Press the shift key and click the left mouse button. This action will extend a selection to include all those items sequentially listed between the first selection and this one. Extend a non-contiguous selection Control-click Place the mouse pointer over the item. Press the control key and click the left mouse button. This action will extend a selection by adding the new item, but not those in-between any previously selected items. De-select an item Control-click Place the mouse pointer over the selected item. Press the control key and click the left mouse button. This action will de-select the item. Open the Quick Double-click Interaction Area for a part Place the mouse pointer over the item and click the left mouse button twice in rapid succession. Creating Parts The mechanism for creating derived parts is largely the same regardless of part type: 1. In the Parts List, select the part(s) to use as parents. 2. Click the desired feature icon. This will open the corresponding creation section for the part type in the Quick Interaction area. 3. If necessary, select a variable to use from the Variables List (e.g. for contours or isosurfaces). 4. Set the desired creation attributes in the Quick Interaction area. IMPORTANT: if you change a text field, you must press return to have the change take effect! 5. Click the Create button in the Quick Interaction area. The example below shows Isosurface part creation: 2. Click the isosurface creation icon. 1. Select the parent part(s). 4. Select an appropriate isovalue. (Often there is a sensible default) 3. Select the variable to use. 5. Click “Create”. Page 193 Part Types The following table provides information on the available part types in EnSight: Part Type Symbol Feature Icon Description Clip 2 A surface or line resulting from a clip of parts using an IJK, XYZ, or RTZ surface of the parts; or a clip of other parts using the Line, Plane, Box, Cylinder, Sphere, Cone, or Surface of Revolution tool; or a clip of other parts by revolving an existing 1D part. Contour C Lines of constant value on 2D elements. Developed Surface D A planar surface derived by unrolling a surface of revolution (e.g. unrolling a clip created with the Cylinder tool). Elevated Surface E A part created by scaling a 2D part (in the direction of the local surface normal) based on the value of a variable. Isosurface I A surface of constant value through 3D elements. Model M An original part (i.e.loaded from a disk file) or created through some operation (e.g. copy or extract) on a model part. Particle Trace T A part consisting of the paths taken by one or more massless particles as integrated through a vector (typically velocity) field. Profile P Plot of a variable along a line (the 2D counterpart to an elevated surface). Vector Arrow V A part consisting of a set of arrows showing direction and magnitude of a vector variable. Subset S A part created by node and/or element label range(s) from model part(s). Tensor Glyph G A part consisting of tensor glyphs showing direction and relative magnitude of the eigenvectors of a tensor variable. Material Part A A part created according to the intersection of or domains of material values. Vortex Core X A part consisting of line segments down the center of flow vortices. Shock Surface/ Region K A part consisting of the surface or volume elements where shock is higher than a threshold. Separation/ Attachment Line L A part consisting of line segments on a surface where flow separation and attachment is occurring. Page 194 Part Operations EnSight provides several powerful part operators. These operations are accessible from the Edit > Part submenu. Copy The copy operation creates a dependent copy of another part. The part is created on the client and is not known to the server. The new part has its own set of attributes (except for representation), but shares geometric and variable data with the original. One of the best reasons to create a copy is to show multiple variables on one part at the same time in a side-by-side configuration. The copies can be moved independently since each new copy is automatically assigned a new frame. See How To Copy a Part for more information. Group This operation will collapse the selected parts into a new “umbrella” part. Grouping is most often used to combine a series of parts into a single part for ease in handling. The part is created on the client and is not known to the server. The operation is reversible through the Ungroup command. See How To Group Parts for more information. Delete The delete operation completely removes not only the currently selected parts, but also any parts derived from the selected parts. See How To Delete a Part for more information. Extract The extract operation is closely tied to part representations. Extract creates a new dependent part using only the geometry of the current representation of the part. For example, if the current representation of a part consisting of 3D elements is Border, the result of extraction will be a part consisting of all unshared 2D elements (the surface). Extract is most often used to reduce the amount of information for a part (e.g. for faster display or for geometry output) or to create a surface shell part – perhaps for subsequent cutting – of a 3D computational domain. See How To Extract Part Representations for more information. Merge Merge creates one new dependent part from one or more selected parts. The original parts are unchanged. If only a single part is selected for the operation, merge will create a “true” copy of the part (as opposed to the “shallow” copy that the Copy operation creates). Merging is most often used to combine a series of parts into a single part for ease in handling (such as attribute setting). See How To Merge Parts for more information. Part Attributes All parts have numerous attributes that control behavior and display. Although many attributes can be controlled either through the Quick Interaction area or the Part Mode icons, complete access is provided by the various Feature Detail Editor dialogs. Part attributes and the Feature Detail editors are covered in detail in How To Set Attributes. Page 195 Where Parts Are Created and Maintained Part creation occurs on either the EnSight client or the server. Since the data that is available on the client and server are different, it is useful to understand where parts are created and where the data is stored. For example, you can only perform a query operation for parts that are stored on the server. The following table provides this information for each part type: Part Type Where Created Data on Server? Data on Client? Clip server yes depending on representation Contour client no yes Developed Surface server yes depending on representation Discrete Particle N/A yes depending on representation Elevated Surface server yes depending on representation Isosurface server yes depending on representation N/A yes depending on representation Particle Trace server no yes Profile client no yes Vector Arrow client no yes Subset server yes depending on representation Tensor Glyph client no yes Vortex Core server yes depending on representation Shock Surface/Region server yes depending on representation Separation/Attachment Line server yes depending on representation Material server yes depending on representation Model In the last column, “depending on representation” means the current visual representation for the part. For example, if the part’s visual representation is “Not Loaded”, then no data is currently present on the client. Hints and Tips With some datasets that contain many parts, it is important to maintain the connection between a part as displayed in the Graphics Window and the corresponding item in the Parts List. EnSight shows the selected parts as highlighted. To toggle this feature on or off, click on the Hightlight Selected Parts toggle. You can rapidly cycle through items in the Parts List using the up/down arrow keys on your keyboard. Select any item in the list and then press the up arrow (to move to previous entries) or down arrow (to move to subsequent entries). This is particularly helpful when used in conjunction with the Part(s) Selected Viewport window (as described above) to quickly locate a part of interest. You can select parts in the Parts List using a single left click on the part in the graphics window. This should work unless your single-click settings has been changed from the default Pick Part. To change it back to Pick Part, Edit>Preferences and click on Mouse and Keyboard. You can also select parts in the Graphics Window by picking using the ‘p’ key. In Part Mode, select Pick Part from the Pick pull-down. In the Graphics Window, place the mouse pointer over any portion of the desired part and press the ‘p’ key. If you hold down the control key at the same time, the part is added to the list of currently selected parts. Page 196 A quick way to create parts using the default settings is to right click on a part in the graphics window. A pulldown selection will appear that will give you the option to create a Contour, Isosurface or Vector Arrow part using the default settings using the parent as the part you right clicked. Selected parts can be written to disk and loaded in a future session. Select File > Save > Geometric Entities ... You have the option of saving either in EnSight format, VRML format, STL format, or other user-defined formats. See How To Save Geometric Entities for more information. SEE ALSO User Manual: Features, Part Operations Page 197 Create Contours INTRODUCTION A contour is a line of constant value on a two-dimensional (though not necessarily planar) surface. The region on one side of the line is larger than the isovalue; the region on the other side is less than the isovalue. EnSight creates contour lines in groups where the isovalues either correspond to the levels in the palette defined for the contour variable, or a user specified range and distribution. The main level contour lines can also be labeled with the corresponding palette value. BASIC OPERATION 2. Click the Contours icon. 1. Select the parent part. 3. Select the variable to use. 4. Click Create. The Contour Quick Interaction area lets you set the number of contour levels (and sublevels) as well as attach labels to the contour lines. Contour lines can be synced to the palette levels or can be chosen manually. If you want the levels of the variable palette to be used for contours: In the parts list, double-click the contour part you wish to edit. 1. Select the Variable. 2. Toggle on Sync To Palette. 3. Select the number of sublevels desired (if any). And make sure Visible toggles are set as desired. See How To Edit Color Maps for how to set the color palette levels. 4. Set the Visibility, Spacing, Color, and Format of the contour labels. Note that only the main contour levels (not the sublevels) are labeled. Page 198 If you want contour levels to be independent of Variable palette levels: In the parts list, double-click the contour part you wish to edit. 1. Select the Variable. 2. Toggle off Sync To Palette. 3. Specify the Min and Max Range. 4. Specify the number of Levels and sublevels. 5. Specify the Distribution method for the Range. 6. Set the Visibility, Spacing, Color, and Format of the contour labels. Shortcut In Part Mode, right click on a part in the graphics window. In the resulting pulldown, choose Contour. A window will pop up to choose a variable. This then automatically creates a contour part with the default settings using the selected variable and using the right-clicked part as the parent part. ADVANCED USAGE When Sync To Palette is specified, the levels of the variable palette are used as the contour levels. You must edit the palette using the Feature Detail Editor for Variables to modify the number of levels, distribution, etc. See How To Edit Color Maps for guidance. OTHER NOTES The default behavior is to color the contour part by the creation variable. If you toggle this off, the contour part will not be colored by a variable automatically, but will be white. Unlike most part creation operators, contours are created from the client’s representation of the part – not the server’s. If the parent part of the contour consists of one-dimensional elements or has no client-side visual representation at all, the resulting contour will be empty. This would be the case if the parent part was currently displayed as feature angle, border representation, or not loaded. The 3D border, 2D full representation is typically used for contour part parents. See How to Change Visual Representation for more information. SEE ALSO Introduction to Part Creation, How To Edit Color Maps. User Manual: Contour Create/Update Page 199 Create Isosurfaces INTRODUCTION An isosurface is a surface of constant value in a three-dimensional field. It is the 3D counterpart to the contour loop: the region on one side of the isosurface has values greater than the isovalue; the region on the other side has values less than the isovalue. In EnSight, an isosurface can be generated from a scalar variable, a component or magnitude of a vector variable, or a component of the model coordinates. An isosurface of a scalar or vector variable is typically a complex surface reflecting the distribution of the underlying variable. Isosurfaces of coordinates, however, are typically regular geometric shapes such as planes, cylinders, cones or spheres. BASIC OPERATION 2. Click the Isosurface creation icon. 1. Select the parent part. 4. Select an appropriate isovalue. (the default will be a mid-range value) 3. Select the variable to use. 5. Click Create. Shortcut In Part Mode, right click on a part in the graphics window. In the resulting pulldown, choose Isosurface. A window will pop up to choose a variable. This then automatically creates an isosurface part with the default settings using the selected variable and using the right-clicked part as the parent part. Page 200 ADVANCED USAGE Interactive Isosurfaces You can have EnSight automatically generate and display isosurfaces as you adjust a slider with the mouse. 1. Set the Interactive mode to Manual. 2. Adjust the slider to the desired location. You can also set the Interactive mode to Auto and EnSight will automatically sweep from Range Min to Max with step size equal to Increment. Alternatively, you can left click on the isosurface part in the graphics window and grab the green handle shaped like a “+” and drag it to interactively change the isovalue. Isosurface Animation A range of isosurfaces can be automatically generated and viewed in a flipbook. Flipbooks provide on-screen animation of various dynamic events and (in the default setting) permit graphic manipulation (e.g. rotation or zoom) while the animation runs. 1. Open the Feature Detail Editor for isosurfaces (Edit > Part Detail Editors > Isosurfaces ...). 2. Select the isosurface part. 3. In the Creation Attributes section, set the Animation Delta to an appropriate value and hit return. For each page (frame) of the flipbook, this value will be added to the current value to yield the new isovalue. Page 201 4. Click the Flipbook icon. 6. Set the number of pages to an appropriate value. 5. Set the Load Type to Create Data. 7. Click Load. 8. When loading is complete, the flipbook will begin to be displayed. You can then control the various run options under the Run tab. EnSight can also automatically calculate a range of isosurfaces during keyframe animation. Creating Multiple Offset Isosurfaces: You can have EnSight create multiple isosurfaces at a specified delta value. The results is a group of isosurfaces: 4. Select an appropriate isovalue. 2. Click the Isosurface (the default will be a mid-range value) creation icon. 5. Set the number of surfaces and the delta between them. 1. Select the parent part. 3. Select the variable to use. 6. Click Create. Isovolume Creation An isovolume is a volume whose constituents (e.g. nodes and elements) are constrained to a constant interval range in a scalar field. In EnSight, you can constrain the isovolume to ranges less than an interval minimum, greater than an Page 202 interval maximum, or between the interval minimum and maximum. 1. Open the Feature Detail Editor for isosurfaces (either: Edit > Part Detail Editors > Isosurfaces ... , or double click the Isosurface Feature Icon). 2. Select the isosurface part. 3. In the Creation Attributes section, set Type to Isovolume. 4. Set the Constraint to Band to constrain the isovolume within an appropriate Min and Max range of the scalar variable. OTHER NOTES Effective display of more than two nested isosurfaces is difficult. Set transparency on the outermost isosurface(s) to reveal the inner surfaces. To avoid confusion, don’t try to display isosurfaces of more than one variable simultaneously, or multiple isosurfaces of the same variable colored by different variables. SEE ALSO How-To Create a Flipbook Animation, How-To Create a Keyframe Animation User Manual: Isosurface Create/Update Page 203 Create Particle Traces INTRODUCTION Streamline and Pathline Traces: A particle trace represents the path a particle would take if released in a flow field. From an initial seed point (the emitter), a path is formed by integrating through the velocity field over time. The path is therefore everywhere parallel to the flow. Traces calculated using a single time step in a flow field are called streamlines. The path calculated using a transient flowfield that is updated as the calculation proceeds is known as a pathline. EnSight provides a great deal of control over emitter definition and trace appearance: • Emitters can be defined using one of the built-in tools (Cursor, Line, or Plane) or by clicking on any surface in the Graphics Window. The nodes of an arbitrary part can be used as an emitter, or the emitter time and locations can be read from a file (see EnSight Particle Emitter File Format in the Chapter 11 of the User Manual). • The streamline path can be generated in the positive, negative, or positive and negative time directions. • Traces can be restricted to lie on any surface to search for flow topology and separation features. • For transient cases, an emitter can have a delta time that controls the periodic release of additional particles into the dynamic flow. • Emitters can be interactive: as you move the emitter with the mouse, the associated traces automatically recalculate and redisplay (This option is not available for surface-restricted Particle traces, traces emitted from a Part, in Server of Server mode, nor for Pathlines). • Trace paths can be displayed as lines, ribbons, or as square tubes, where ribbon or tube twist follows the local flow rotation around the path. • Particle traces can be easily animated to provide intuitive comprehension of the flow field. Complete control over all aspects of the animating tracers is provided, including length, speed, and release interval for multiple pulses. Node Tracks: Another form of trace that is available in EnSight is entitled node tracking. This trace is constructed by connecting the locations of nodes through time. It is useful for changing geometry or transient displacement models (including measured particles) which have node ids. Min/Max Variable Tracks: A further type of trace that is available is a min or max variable track. This trace is constructed by connecting the min or max of a chosen variable (for the selected parts) though time. Thus, on transient models one can follow where the min or max variable location occurs. Both the node tracking and the min/max variable tracking options are like a connect-the-dots through time trace. Page 204 BASIC OPERATION To trace particles through a steady-state flow field (streamline): 2. Click the Particle Traces icon. 1. Select the flow field mesh part(s) to trace through. 6. Click Create. The particle traces will be created from the desired emitter. Their maximum time duration is controlled via the Total Time Limit found under Emit... 3. Select Streamline as the type. 4. Select the vector variable to use. 5. Select the desired emitter. 6. If the emitter is a tool (Cursor, Line, Plane), position the tool at the desired emitter location. You can also click the Tool Location button to precisely position the tool. If the chosen emitter is Part, then enter the part number in the Part ID field and press return. The following are the available Emit From options. Note that traces will only be generated for those emitter points that actually lie within an element of the selected flow field part(s). Cursor A single trace will be emitted from the Cursor tool. Line Multiple traces will be emitted from evenly spaced points along the Line tool. Enter the desired number of traces in the # Points field and press return. Plane Multiple traces will be emitted from evenly spaced points in a grid pattern over the Plane tool. Enter the desired number of traces in the X and Y direction (with respect to the Plane tool’s axis) in the # Points X/Y fields and press return. The total number of traces will be the product of X and Y. Part One trace will be emitted from the number of nodes of the part you specify. This number of nodes will be randomly selected. Enter the number (from the Main Parts list) of the part you wish to use as an emitter, and the number of nodes. File Traces will be emitted from the locations, and at the times, specified in an EnSight Particle Emitter file. See EnSight Particle Emitter File Format in Chapter 11 of the User Manual. Shortcut To quickly create a particle trace, right click on a tool (cursor, line or plane) and choose Particle Trace. This will create streamline trace(s) using default settings and the tool as the emitter. The complete set of particle trace attributes can be edited in the Feature Detail Editor for Traces. However, some emitter attributes can be changed Page 205 from the Particle Traces Quick Interaction area by clicking the Emit... button: Click to set the trace direction: +: forwards in time (positive velocity direction) from the emission point(s) -: backwards in time (negative velocity direction) from the emission point(s) towards the entering flow boundary (Streamlines only) +/-: both forwards and backwards (Streamlines only) Toggle on to have start time be the current time, otherwise specify the start time (Streamlines only). Set the total amount of time a trace will last (it may terminate for other reasons as well). An intelligent default will be set for you. Solution time at which to begin pathline trace (Pathlines only). Delta emission time for pathlines. If not zero, a new set of traces will be emitted at S, S+D, S+2D, etc. into the changing flow field (where S is the Start time and D is the delta value). Used to create streaklines or smoke traces. Animated streaklines are one of the most powerful methods for visualizing transient flow (Pathlines only) Display Traces as Ribbons or Square Tubes, and control Arrowheads Streamline and Pathline Particle paths can be displayed as lines, ribbons, or square tubes, where ribbon or tube twist follows the local flow rotation. To enable ribbon or square tube display, and change trace arrowheads: 1. Double-click the desired particle trace part in the Main Parts list (to open the Quick Interaction area for the trace part). 2. Click Show As... to open the Trace Show As Attributes dialog. 3. Set Show As to Ribbon or Square Tubes. 4. If desired, change the default ribbon or square tube width and press return. 5. Select the Arrowhead representation desired. (Cone, Normal, or Triangles) 6. Set the number of arrowheads to display along a trace. 7. Set the arrowhead size. 5. Click Close. Note that node tracks and min/max variable tracks can only be displayed as lines. Trace arrowheads can be used for tracks, but this must be done from the Feature Detail Editor (Traces). Animate Particles Any type of particle trace can be animated. See How To Animate Particle Traces for more information. Pick a Surface to Trace a Particle Rather than emit from a tool or a part, you can also interactively pick points on a surface in the Graphics Window to define emitter locations. To do this: 1. Execute steps 1-3 as described under Basic Operation above. 2. Click the Pick Surface toggle. Page 206 3. Click Create. 4. Move the mouse into the Graphics Window and click the left mouse button when the cursor is over the desired location. The clicked point must be found within some element of the selected flow field mesh part to result in a trace. 5. You can click to create as many point emitters as you like. When done, move the mouse out of the Graphics Window. 6. Toggle off the Pick Surface button. Note that you can also specify a rake (line) or net (plane) emitter by picking on a surface. Just set the emitter to Line or Plane prior to clicking Create. Then follow in the instructions in the pop-up window. Interactive Particle Tracing If a particle trace was created from one of the tool emitters (Cursor, Line, or Plane) and the trace is a streamline trace, the emitter can be made interactive. When interactive, the tool that created the particle trace part can be moved with the mouse. As the tool is moved, new particle traces are automatically recalculated and redisplayed (This option is not available for surface-restricted Particle traces, traces emitted from a Part, in Server of Server mode, nor to Pathlines). To trace interactively: 1. Either create a particle trace part as described above (based on a tool) or double-click an existing particle trace part to open the Quick Interaction area for that part. 2. Toggle on Interactive Emitter. If the tool that originally defined the emitter is not visible, it will be turned on by this operation. 3. Move the mouse into the Graphics Window and manipulate the tool as desired. See the article on the applicable tool for information on tool manipulation (Cursor, Line, or Plane). 4. When done, toggle off Interactive Emitter. Page 207 Trace Surface-Restricted Particles EnSight can trace particles such that they are constrained to lie on a (not necessarily planar) 2D surface – even if the velocity is zero at the surface. The trace is calculated by projecting a short distance off the surface into the 3D flow field and using the velocity value found there. Both the projection distance (variable offset) and a display offset are user definable. Surface-restricted trace emitters are defined by mouse action in the Graphics Window. When you click and drag over the desired surface, the emitter is defined by projecting the mouse path onto the surface. To trace surface-restricted particle traces: 1. Select the desired surface part(s) in the Main Parts list. This should be the surface you wish to trace on. 2. Set the desired vector variable to use for tracing. 3. Select the desired emitter type (Cursor, Line, or Plane). Note that the applicable tool will not actually be used in this operation (a pick action will be used). 4. Toggle on the Surface Restricted button. Note that all subsequent tracing will be assumed to be surface restricted until this is toggled off. 5. If the Emit From is set to Line or Plane, enter the desired number of points (Line) or X and Y points (Plane). 9. Click the Create button. 10. Move the mouse pointer into the Graphics Window and: for a Cursor emitter: click the left mouse button on the desired location. for a Line emitter: click and hold the left mouse button on one endpoint of the desired line. Drag to the other endpoint (a white line will provide feedback). for a Plane emitter: click and hold the left mouse button on one corner of the desired region. Drag to the opposite corner (a white rectangle will provide feedback). 11. You can continue to specify emitters of the selected type as long as the mouse pointer remains in the Graphics Window. When the pointer exits the window, the trace part will be created. 12. When done, toggle off Surface Restricted. Note that this operation can also be done in the Feature Detail Editor for Traces. In this dialog, you have control over the various other attributes of the trace - including variable offset, display offset, trace direction, etc. Page 208 Trace Pathlines EnSight provides complete control over transient particle tracing. Both the start time and the stop time can be specified. In addition, you can specify a delta value for an emitter that will cause additional particles to be emitted into the flow at regular intervals. This type of pathline is also called a streakline or smoke trace. You create a pathline trace by setting the Type to Path (rather than Stream) prior to clicking Create. By default, the pathlines will start at the first time step of your simulation and terminate at the last step (unless stopped earlier). You can change these defaults with the Emission Detail Attributes dialog as described above (click Emit... to open). Edit Emitter Attributes Although the Particle Trace Quick Interaction area provides most tracing controls, the Feature Detail Editor for Traces provides complete control over all creation attributes. To use the editor: 1. Select Edit > Part Feature Detail Editors > Particle Traces... to open the Feature Detail Editor (Traces) dialog. 2. Select the desired particle trace part in the part list at the top of the dialog. Set the desired flow field variable Set the fraction of each component of the vector variable to use in the trace calculation. Set ribbon width Trace type Line or ribbon display Number of arrowheads along the trace. List of the emitters belonging to the selected trace part Set interactive emitter Set emitter direction, total time Set to emit at current time, or set emission time. Set Arrowhead size. Emission tool for currently selected emitter Number of points (If Line or Plane emitter) Add Emit: add a new emitter to the selected part based on the current attributes. Delete Emit: delete the selected emitter. Set Total Time to the default. Set emission start and delta Toggle on Surface Restricted tracing Toggle on surface picking for emitter definition Set surface restricted variable and display offsets. Page 209 Massed Particle Traces Ensight also provides massed particle traces via the Feature Detail Editor for Traces. 1. Select Edit > Part Feature Detail Editors > Particle Traces... to open the Feature Detail Editor (Traces) dialog. 2. Select the desired the particle trace part in the part list at the top of the dialog. 3. Click the Massed Particle turn-down to reveal the massed particle parameters. 4. Modify the massed particle parameters according to your dataset. Each term in the momentum balance equation has a separate tab containing the parameters which pertain. 5. Toggle on Massed Particles. The selected particle trace part will update to a massed particle trace(s) taking into consideration the parameters you specified. For the theory used in massed particle traces, see the User Manual: Particle Trace Create/Update Page 210 Node Tracks Ensight provides the capability to track the location of node(s) through time. As one would expect, node ids are required, and this only makes sense for nodes that change location over time - whether by changing geometry or by transient displacement. Measured particle parts are often a particularly good choice for this option. 1. Select the part(s) containing the nodes you wish to track in the main Part list. 2. Set Type to Node track. 3. Optionally you can modify the begin and end times to use for the track by clicking here. The default will be all time steps. 4. Specify the particular node id you wish to track, or do “ALL”. You can use the ‘Use ALL nodes” button to select all if you have modified the field. 5. Click Create. Min/Max Variable Tracks Ensight provides the capability to track the location of the minimum or maximum of a chosen variable through time. This of course only makes sense for transient models. 1. Select the part(s) containing the variable, for which you wish to track the min or max. 2. Set Type to Variable min. track (Or Variable max. track) 3. Select the desired variable. 4. Optionally you can modify the begin and end times to use for the track by clicking here. The default will be all time steps. 5. Click Create. ADVANCED From time to time we have users that wish to trace pathlines backward in time. This can be accomplished fairly easily using the EnSight casefile format. (Note, if your data is in a different format, you can use File->Save->Geometric Entities to convert it into casefile format). 1. Reverse the order for the timeset files, by using a negative filename increment. Example: TIME time set: filename start number: filename increment: time values: 1 1 1 0.0 2.0 4.0 6.0 8.0 change to: TIME time set: 1 filename start number: 5 Page 211 filename increment: time values: -1 0.0 2.0 4.0 6.0 8.0 2. Create a vector variable that is the negative of the normal vector field. Simply use the variable caculator to create a new vector variable (neg_vector = - vector). 3. Create pathlines using the neg_vector variable. OTHER NOTES Particle trace calculation can be expensive for large or transient datasets and/or a large number of particles. Be careful when you initiate a trace operation – there is currently no way to abort it. If you are calculating pathlines, you should specify as many particles as possible at one time. Much of the pathline execution time is in reading the transient data from disk and this operation has to be performed regardless of how many traces were specified. The EnSight particle trace algorithm integrates the vector flow field over time using a 4th-order Runge-Kutta method with a time varying integration step. Several of the integration parameters can be changed by the user. See Particle Trace Create/Update in the User Manual for more information. If you have trace data for other types of particles (e.g. for multi-phase flow simulations) you can use the discrete/ measured data facility to load the particle path positions and animate them over time. SEE ALSO How To Animate Particle Traces User Manual: Particle Trace Create/Update Page 212 Create Clips INTRODUCTION EnSight provides a powerful set of clipping operators. See the following How To articles for more information: Create Line Clips Clip lines are linear clips through 2D or 3D models (using the Line Tool) with samples taken at evenly spaced intervals (grid), or at intersections of element boundaries of the parent parts (mesh). Clip line values can be visualized using profiles or queried and sent to a plotter. Create Plane Clips A clipping plane is a planar slice through a 3D mesh using the Plane Tool. EnSight’s clipping operation can take arbitrary cuts through either structured or unstructured meshes. The clip can be infinite in extent (at least to the bounds of the parts it is created from) or restricted to the bounds of the Plane tool. The nodes of the resulting clipping plane can be based on the topology and resolution of the underlying mesh or sampled on a regular grid. You can also create a clip that contains all the elements that intersect the plane value via the crinkly domain specification. These clips help view the integrity of the mesh at these values. Create Box Clips A Box clip is a 3D volumetric hexahedral-shaped clip or cut. This clip uses the box tool (which can be manipulated anywhere in space), and the result can be the surface intersection of the box tool walls and the model, the volume portion of the model inside the tool, the volume portion of the model outside the tool, or the crinkly surface elements of the intersection. Be aware that due to the algorithm used, this clip can (and most often does) have chamfered edges, the size of which depends on the coarseness of the model elements. Create Quadric Clips In addition to standard clipping planes, EnSight also provides clipping against quadric shapes. These clips use the corresponding quadric tool (Cylinder, Sphere, Cone, Surface of Revolution) to specify the location of the clip. You can also create a clip that contains all the elements that intersect the quadric value via the crinkly domain specification. These clips help view the integrity of the mesh at these values. Create IJK Clips An IJK clip is a 1D or 2D slice through a structured mesh. The resulting clip is a 1D line or 2D surface where one dimension (e.g. I) is held fixed while the other one or two dimensions (e.g. J and K) vary. The minimum and maximum range of the free dimensions can be set by the user, as well as the step size. IJK clips can be interactively animated throughout the range of the fixed dimension by manipulating a slider. Although planar clips can still be created through structured meshes, it is often preferable to create IJK clips since they are faster to calculate and use less memory. In addition, IJK clips are often more intuitive for the user (who typically built the mesh). Create XYZ Clips An XYZ clip is a 1D or 2D slice through a 2D or 3D mesh (structured or unstructured). The resulting clip is a 1D or 2D mesh slice where one of the dimensions (e.g. X) is held constant (or fixed) while the other two dimensions (e.g. Y and Z) vary in reference to the local frame of the mesh. XYZ clips can be interactively animated throughout the range of the fixed dimension by manipulating a slider. The minimum, maximum, and step size of the range of the fixed dimension can be set by the user. Although plane clips can still be created through meshes, it is often preferable to create XYZ clips since they are constrained to the local frame of the meshed part. You can also create a clip that contains all the elements that intersect the mesh slice value via the crinkly domain specification. These clips help view the integrity of the mesh. Create RTZ Clips An RTZ clip is a 1D or 2D slice through 2D or 3D meshes (structured or unstructured). The resulting clip is a 1D or 2D mesh slice where one of the dimensions (e.g. R,”radial component”) is held constant (or fixed) while the other one or two dimensions (e.g. T, ”theta component” and Z, “z axis component”) vary in reference to the local frame of the mesh. RTZ clips can be interactively animated throughout the range of the fixed dimension by manipulating a slider. The minimum, maximum, and step size of the range of the interactive fixed dimension can be set by the user. Revolution Tool Clips A Revolution Tool clip can be made using the surface of revolution tool. It can be the surface created by the intersection of the surface of revolution tool and the model, the elements intersected by the surface of revolution tool (crinkly), or the volume of the inside and/or the outside domain swept by the revolution tool. This clip cannot be interactively manipulated. Revolve 1D Part Clips A Revolution of 1D Part clip can be made using a 1D part and a user specified axis. It can be the surface created by the intersection of the 1D part about the axis and the model, the elements intersected by the 1D part about the axis(crinkly), or the volume of the inside and/or the outside domain swept by the 1D part about the axis. This clip does not have interactive manipulation capability, with a slider or by dragging the tool with the mouse. However, if the 1D part is capable of being moved, you can move it and the revolution clip will update. Create Clip Splines Spline clips will sample a defined spline on evenly spaced intervals along the spline. Values along a spline clip can be visualized using profiles or queried and sent to a plotter, or used in subsequent computations such as computations of a line integral. Create General Quadric Clips A general quadric clip AX2+BY2+CZ2+DXY+EYZ+FXZ+GX+HY+IZ=J can be created. This is only available from the Clip Feature Detail Editor. Page 213 Create Clip Lines INTRODUCTION In addition to standard clipping planes, EnSight also provides one dimensional clipping. Clip lines are linear clips through 2D or 3D models with either samples taken at evenly spaced intervals (grid) or true intersections at the faces of the parent part’s elements (mesh). Values along a clip line can be visualized using profiles or queried and sent to a plotter. BASIC OPERATION 2. Click the Clip icon. 1. Select the parent part. 3. Select Line from the Use Tool pull-down. 4. Select Mesh or Grid type. 5. If Mesh, select Finite or Infinite If Grid, set the number of evenly spaced points on the line 6. Position the Line tool as desired (see How To Use the Line Tool). 7. Click Create. Note: To quickly create a line clip, right click on the line tool and choose Clip. This will create a line clip using the default settings. Page 214 ADVANCED USAGE Like the other clipping tools in EnSight, clip lines can be interactive: as you drag, rotate, or stretch the Line tool with the mouse, the clip line is automatically recalculated and re-displayed. If a query has been created from the clip line, the plotted curve will automatically re-display as well. To perform interactive line clips: 1. Double-click the desired clip line part in the parts list. 2. Toggle on Interactive Tool in the Quick Interaction area. 3. Move the mouse into the Graphics Window. Click on one of the Line tool hotpoints (either endpoint or center axis origin or axes) and drag the tool to the desired location. Note that the line tool itself will be made invisible while moving the tool interactively, so as not to obscure the clip. It will reappear when the mouse is released. . A line clip can be specified by identifying two nodes as points on the line. This requires that node ids be available and is performed in the Feature Detail Editor (Clips) dialog. The effect of this method is that the line clip remains tied to the two nodes, even if their location moves over time. OTHER NOTES It is sometimes useful to display just the nodes of a line clip. Using the Feature Detail Editor, you can change the display such that only nodes (not lines or elements) are displayed. The nodes can be shown as dots, crosses, or spheres. If displayed as crosses or spheres, the size (radius) can be constant or scaled by the value of a variable. See How to Set Attributes for more information. Page 215 SEE ALSO Introduction to Part Creation How To Use the Line Tool How to Create Profile Plots How to Query/Plot. Other clips: How to Create Clip Planes How to Create Quadric Clips How to Create Box Clips How to Create IJK Clips How to Create XYZ Clips How to Create RTZ Clips. User Manual: Clip Create/Update Page 216 Create Clip Planes INTRODUCTION A clipping plane is a planar slice through a 3D mesh. EnSight’s clipping operation can take arbitrary cuts through either structured or unstructured meshes. The clip can be based on EnSight’s plane tool, and as such can be infinite in extent (at least to the bounds of the parts it is created from) or restricted to the bounds of the Plane tool. The nodes of the resulting clipping plane can be based on the topology and resolution of the underlying mesh or sampled on a regular grid according to the plane tool. A clip can also be created by specifying the node id of three nodes. When node ids are used, the plane will be infinite in extent and will stay tied to those three nodes - even if they move in a changing geometry model. Besides creating the intersection of a plane through a domain, which is the normal mode for clipping, a clipping plane can also be used to create parts which are what would result from a cut of its parent domain into “front” (inside) and or “back” (outside) parts. These parts contain valid elements of the same order as the original domain parts. Like other clip tools, clipping planes can be interactively manipulated with the mouse providing a powerful volume visualization capability. Clipping planes can also be automatically animated to display results throughout a region of space or over time. BASIC OPERATION 2. Click the Clip icon. 1. Select the parent part. 3. Select Plane from the Use Tool pull-down. 4. Position the Plane tool as desired (see How To Use the Plane Tool). 5. Click Create. Note: Multiple plane clips with a delta in the normal direction can be created easily by setting these values. Interactive Clipping Planes Like the other clipping tools in EnSight, intersection clip planes (based on the plane tool) can be interactive: as you drag the Plane tool with the mouse, the clipping plane is automatically recalculated and re-displayed. To perform interactive plane clips: 1. Double-click the desired clip plane part in the parts list. 2. Toggle on Interactive Tool in the Quick Interaction area. 3. Move the mouse into the Graphics Window. Click on one of the Plane tool hotpoints (centerpoint or axis labels) and drag the tool to the desired location. Page 217 ADVANCED USAGE Using 3 Node Ids You can specify three nodes on a plane (using their node ids) and clip in an infinite manner. This method of producing a plane clip has the added benefit that the plane will stay tied to those three nodes even if it is a changing geometry model. This method requires the use of the Feature detail editor for clips 1. Select the parent part in the main part list. 2. Double click on the Clip icon to bring up the Feature Detail Editor (Clips). 3. Enter the id for three nodes that lie on the desired plane. 4. Hit the create button. Note: To quickly create a plane clip, right click on the plane tool and choose Clip. This will create a plane clip using the default settings. Page 218 Attaching a Plane Clip to a Spline A Clip created with the Plane tool may be attached to a defined spline. 1. Create a spline (How To Use the Spline Tool) 2. Now, create a clip plane as previously indicated. Click on the Advanced button in the Clip Plane quick interaction area to open the Clip Plane Feature Detail Editor. Select the Clip Plane part in the Feature Detail Editor 3. Attach the plane clip to a spline by selecting the desired spline from the pulldown in the Clip Plane Feature Detail Editor. 4. Adjust the plane clip location (0 to 1) via the Value input field or the slider. Page 219 Grid Clips and Finite Clips By default, clipping planes (based on the plane tool) are calculated based on the resolution and topology of the underlying mesh (parent part(s)). Clipping planes can also be calculated using a regular sampling of the mesh. Such a clip is called a grid clip and is typically used for clipping unstructured meshes where element volumes vary widely. Creating vector arrows on a grid clip typically yields a more useful visualization than on a standard mesh clip. By default, clipping planes extend to the bounds of the parent part. A clipping plane can also be restricted to the bounds of the Plane tool. To change an existing clipping plane to a grid clip or to have finite extent: 1. Double-click the desired clipping plane part in the parts list. 2. To change to a grid clip, select Grid from the Plane Type pull-down. 3. To change to a finite-extent clipping plane, select Finite from the Plane Extents pull-down. Clipping Plane Animation Although you can interactively sweep a clipping plane (based on the plane tool) through a volume, it is sometimes desirable to have EnSight automatically calculate a series of clipping planes for you. These can then be replayed (as fast as your graphics hardware will permit) using EnSight’s Flipbook Animation facility. The flipbook can animate a series of clipping planes using a starting and ending position for the Plane tool. You can also use the Keyframe Animation facility to animate clipping planes. For a description of calculating a series of clipping planes with the Flipbook, see How To Create a Flipbook Animation. For more information on keyframing, see How to Create a Keyframe Animation. Cutting with Planes A plane can be used to create parts which are the result of a cut of its parent domain into “front” (inside) and or “back” (outside) parts. These parts contain valid elements of the same order as the original domain parts. Cutting can be used to slice away portions of a model that are not needed or to create animation effects such as “opening” closed regions to view the interior. 1. Select the desired parent parts in the parts list. 2. Click the Clip feature icon. 3. Select the Plane Tool. 4. Set the Domain to Inside, Outside, or In/ Out (both inside and outside). 5. Hit the Create button. Page 220 Crinkly Plane Clips You can also check the integrity of your mesh by clipping with a crinkly intersection. Specifying a Crinkly Domain results in a part composed of all the mesh elements that intersect the plane tool. 1. Change the Domain to Crinkly. 2. Click the Apply Tool Change button. OTHER NOTES If you have a clip defined by three node ids and you attempt to use the interactive mode (which makes no sense for the 3 node option), the interactive movement of the clip will occur according to the plane tool - but will go back to the 3 node representation when you release the mouse button. Use clipping planes to create planar clips through arbitrary meshes. If you have a structured mesh (such as those in PLOT3D format), you may wish to use IJK clips instead. An IJK clip displays a “plane” of constant I, J, or K. An interactive IJK clip will sweep through the range of (for example) I displaying the JK plane at each I value. See How to Create IJK Clips for more information. SEE ALSO Introduction to Part Creation How To Use the Plane Tool How To Create a Flipbook Animation. Other clips: How To Create Clip Lines How To Create IJK Clips How To Create Quadric Clips How To Create XYZ Clips How To Create RTZ Clips How To Create Box Clips. How To Use the Spline Tool User Manual: Clip Create/Update Page 221 Create Box Clips INTRODUCTION A Box clip is a 3D volumetric hexahedral-shaped clip or cut. This clip uses the box tool (which can be manipulated anywhere in space), and the result can be the surface intersection of the box tool walls and the model, the volume portion of the model inside the tool, the volume portion of the model outside the tool, or the crinkly surface elements of the intersection. Be aware that due to the algorithm used, this clip can (and most often does) have chamfered edges, the size of which depends on the coarseness of the model elements. BASIC OPERATION 1. Select the parent part 2. Click the Clip Icon 4. Position the Box Tool as desired. 3. Select Box Tool 5. Click Create SEE ALSO Introduction to Part Creation How To Use Box Tool Other clips: How to Create Clip Lines How to Create Clip Planes How to Create Quadric Clips How to Create IJK Clips How to Create XYZ Clips How to Create RTZ Clips. User Manual: Clip Create/Update Page 222 Create Quadric Clips INTRODUCTION In addition to standard clipping planes, EnSight also provides clipping against quadric shapes. These clips use the corresponding quadric tool Cylinder, Sphere, Cone, Surface of Revolution) to specify the location of the clip. As with clip planes, these tools can also be used to perform cut operations, creating parts which are the “inside” or “outside” of the parent domain. As with intersection clip planes, quadric clips can be changed interactively by manipulating the corresponding tool with the mouse. BASIC OPERATION 2. Click the Clip icon. 1. Select the parent part. 3. Select the desired quadric tool from the Use Tool pulldown. 4. Select Finite or Infinite clip extents 6. Click Create. 5. Position the tool as desired (see the How to for the applicable tool). ADVANCED USAGE Like the other clipping tools in EnSight, intersection quadric clips (except those created with the revolution tool) can be interactive: as you drag the applicable tool with the mouse, the clip is automatically recalculated and redisplayed. To perform interactive quadric clips: 1. Double-click the desired quadric clip part in the parts list. 2. Toggle on Interactive Tool in the Quick Interaction area. 3. Move the mouse into the Graphics Window. Click on one of the tool hotpoints (see the How to for the applicable tool) and drag the tool to the desired location. Page 223 Cutting with Quadric Tools A quadric tool can be used to create parts which are the result of a cut of its parent domain into “inside” and or “outside” parts. These parts contain valid elements of the same order as the original domain parts. 1. Select the desired parent parts in the parts list. 2. Click the Clip feature icon. 3. Select the desired Quadric Tool. 4. Set the Domain to Inside, Outside, or In/Out (both inside and outside). 5. Hit the Create button. Crinkly Quadric Clips You can check the integrity of your mesh by clipping with a crinkly intersection. Specifying a Crinkly Domain results in a part composed of all the elements of the mesh that intersect the quadric tool. 4. Change the Domain to Crinkly. 5. Click the Apply Tool Change button. SEE ALSO Introduction to Part Creation How To Use the {Cylinder, Sphere, Cone, Surface of Revolution} Tool. Other clips: How to Create Clip Planes How to Create Clip Lines How to Create IJK Clips How to Create XYZ Clips How to Create RTZ Clips How to Create Box Clips. User Manual: Clip Create/Update Page 224 Create IJK Clips INTRODUCTION An IJK clip is a 1D or 2D slice through a structured mesh. The resulting clip is a 1D line or 2D surface where one dimension (e.g. I) is held fixed while the other one or two dimensions (e.g. J and K) vary. The minimum and maximum range of the free dimensions can be set by the user, as well as the step size. IJK clips can be animated throughout the range of the fixed dimension by manipulating a slider. Although planar clips can still be created through structured meshes, it is often preferable to create IJK clips since they are faster to calculate and use less memory. In addition, IJK clips are often more intuitive for the user (who typically built the mesh). BASIC OPERATION 1. Select the parent part. 2. Click the Clip icon. 3. Select IJK from the Use Tool pulldown. 4. Select the desired fixed dimension from the Mesh Slice pulldown. 6. If you desire to modify values for the Min, Max, and Step for the two free dimensions, click this and the dialog below will open up. 7. Click Create. 5. Enter the value for the fixed dimension in the Value text field and press return. Note that you can change the fixed dimension of an IJK clip at any time (with the Mesh Slice pulldown). If you change one of the numeric values, remember to press return for the change to take effect. Page 225 ADVANCED USAGE Interactive IJK Clipping You can interactively sweep through the range of the fixed dimension by adjusting a slider with the mouse. 1. Double-click the desired IJK clip part in the parts list. 2. Change Interactive to Manual, to enable sweeping. 3. Adjust the slider with the mouse. Changing IJK Step Refinement You can modify block-structured model parts to any level of IJK step refinement with proper updating of all dependent parts and variables. 1. Select Edit > Part Feature Detail Editors > Model Parts ... to open the Feature Detail Editor (Model) dialog. 2. Select the structured part (or parts). 3. In the Creation Attributes area, enter values into the From, To, and Step fields based on their Min and Max limits to update the refinement of the respective I, J, and/or K mesh component directions (remember to press Return). Clipping Plane Animation Although you can interactively sweep an IJK clip through a mesh, it is sometimes desirable to have EnSight automatically calculate a series of IJK clips for you. These can then be replayed (as fast as your graphics hardware will permit) using EnSight’s Flipbook Animation facility. See How To Create a Flipbook Animation for more information. Page 226 SEE ALSO Introduction to Part Creation How To Create a Flipbook Animation. Other clips: How to Create Clip Lines How to Create Clip Planes How to Create Quadric Clips How to Create XYZ Clips How to Create RTZ Clips How to Create Box Clips. User Manual: Clip Create/Update Page 227 Create XYZ Clips INTRODUCTION An XYZ clip is a 1D or 2D slice through 2D or 3D meshes (structured or unstructured). The resulting clip is a 1D or 2D mesh slice where one of the dimensions (e.g. X) is held constant (or fixed) while the other one or two dimensions (e.g. Y and Z) vary in reference to the local frame of the mesh. XYZ clips can be interactively animated throughout the range of the fixed dimension by manipulating a slider. The minimum, maximum, and step size of the range of the interactive fixed dimension can be set by the user. BASIC OPERATION 1. Select the parent part. 2. Click the Clip icon. 6. Click Create. 3. Select XYZ from the Use Tool pulldown. 4. Select the desired fixed dimension from the Mesh Slice pulldown. 5. Enter the value for the fixed dimension in the Value text field and press return. Note: Multiple slices with a delta in the normal direction can be created easily by setting these values. Note that you can change the fixed dimension of an XYZ clip at any time (with the Mesh Slice pulldown). If you change the numeric value, remember to press return for the change to take effect. Shortcut In Part Mode, right click on a part in the graphics window. In the resulting pulldown, choose Clip and in the further pulldown, choose X, Y, or Z. This then automatically creates an X, Y, or Z clip part with the default settings using the right-clicked part as the parent part. Page 228 ADVANCED USAGE Interactive XYZ Clipping You can interactively sweep through the range of the fixed dimension by adjusting a slider with the mouse. 1. Double-click the desired XYZ clip part in the main parts list. 2. Change Interactive to Manual to enable sweeping. 3. If desired, enter values for the Min, Max, and Increment to override the defaults (remember to press return). 4. Adjust the slider with the mouse. Crinkly XYZ Clipping You can check the integrity of your mesh by clipping with a crinkly intersection. Specifying a crinkly domain results in a part composed of all the elements that intersect the mesh slice value. 1. Change the Domain to Crinkly Clipping Plane Animation Although you can interactively sweep an XYZ clip through a mesh, it is sometimes desirable to have EnSight automatically calculate a series of XYZ clips for you. These can then be replayed (as fast as your graphics hardware will permit) using EnSight’s Flipbook Animation facility. See How To Create a Flipbook Animation for more information. SEE ALSO Introduction to Part Creation How To Create a Flipbook Animation Other clips: How to Create Clip Lines How to Create Clip Planes How to Create Quadric Clips How to Create IJK Clips How to Create RTZ Clips How to Create Box Clips. User Manual: Clip Create/Update Page 229 Create RTZ Clips INTRODUCTION An RTZ clip is a 1D or 2D slice through 2D or 3D meshes (structured or unstructured). The resulting clip is a 1D or 2D mesh slice where one of the dimensions (e.g. R,”radial component”) is held constant (or fixed) while the other one or two dimensions (e.g. T, ”theta component” and Z, “z axis component”) vary in reference to the local frame of the mesh. RTZ clips can be interactively animated throughout the range of the fixed dimension by manipulating a slider. The minimum, maximum, and step size of the range of the interactive fixed dimension can be set by the user. BASIC OPERATION 1. Select the parent part. 2. Click the Clip icon. 7. Click Create. 3. Select RTZ from the Use Tool pulldown 4. Select the Axis that describes the cylindrical length. 5. Select the desired fixed dimension of the slice (R, T, or Z). 6. Enter the value for the slice (the value of R, T, or Z), and press return. Note that you can change the fixed dimension of an RTZ clip at any time (with the Slice pulldown). If you change the numeric value, remember to press return for the change to take effect. ADVANCED USAGE Interactive RTZ Clipping You can interactively sweep through the range of the fixed dimension by adjusting a slider with the mouse. 1. Double-click the desired RTZ clip part in the main parts list. 2. Change Interactive to Manual to enable sweeping. 3. If desired, enter values for the Min, Max, and Increment to override the defaults (remember to press return). 4. Adjust the slider with the mouse. Page 230 Crinkly RTZ Clipping You can check the integrity of your mesh by clipping with a crinkly intersection. Specifying a crinkly domain results in a part composed of all the elements that intersect the mesh slice value. Crinkly clipping cannot be done interactively. 1. Change the Domain to Crinkly Clipping Plane Animation Although you can interactively sweep an RTZ clip through a mesh, it is sometimes desirable to have EnSight automatically calculate a series of RTZ clips for you. These can then be replayed (as fast as your graphics hardware will permit) using EnSight’s Flipbook Animation facility. See How To Create a Flipbook Animation for more information. OTHER NOTES Inside, Outside, and In/Out cutting are disabled for this clipping type because it has no meaning for T. And if you desire this effect for Z or R, you can use a plane clip or cylindrical clip instead. SEE ALSO Introduction to Part Creation How To Create a Flipbook Animation Other clips: How to Create Clip Lines How to Create Clip Planes How to Create Quadric Clips How to Create IJK Clips How to Create XYZ Clips How to Create Box Clips. User Manual: Clip Create/Update Page 231 Create Revolution Tool Clips INTRODUCTION A Revolution Tool clip can be made using the surface of revolution tool. It can be the surface created by the intersection of the surface of revolution tool and the model, the elements intersected by the surface of revolution tool (crinkly), or the volume of the inside and/or the outside domain swept by the revolution tool. This clip does not have interactive manipulation capability, with a slider or by dragging the tool with the mouse. However, the tool can be manipulated and the clip updated. BASIC OPERATION 1. Place the Surface of Revolution Tool at the desired location. See How To Use the Surface of Revolution Tool. 2. Select the parent part. 3. Click the Clip icon. 4. Select Revolution Tool from the Use Tool pulldown. 5. Select the desired Domain. 6. Select extents 7. Click Create. Note that you can manipulate the Surface of Revolution tool and update your clip by and clicking Apply Tool Change. You can also change the domain, and the clip will change. ADVANCED USAGE SEE ALSO Introduction to Part Creation Other clips: How to Create Clip Lines How to Create Clip Planes How to Create Quadric Clips How to Create XYZ Clips How to Create RTZ Clips How to Create Box Clips How to Create IJK Clips How to Create Revolution of 1D Part Clips. User Manual: Clip Create/Update Page 232 Create Revolution of 1D Part Clips INTRODUCTION A Revolution of 1D Part clip can be made using a 1D part and a user specified axis. It can be the surface created by the intersection of the 1D part about the axis and the model, the elements intersected by the 1D part about the axis(crinkly), or the volume of the inside and/or the outside domain swept by the 1D part about the axis. This clip does not have interactive manipulation capability, with a slider or by dragging the tool with the mouse. However, if the 1D part is capable of being moved, you can move it and the revolution clip will update. BASIC OPERATION 1. Select the parent part. 6. Click Create. 2. Click the Clip Icon. 3. Select Revolve 1D Part from the Use Tool pulldown. 4. Enter the 1D part to use. 5. Set the desired origin and axis of the revolution. 6. Select the desired Domain. Note that you can manipulate the 1D part or the origin and axis and the clip will update. You can also change the domain, and the clip will change. ADVANCED USAGE SEE ALSO Introduction to Part Creation Other clips: How to Create Clip Lines How to Create Clip Planes How to Create Quadric Clips How to Create XYZ Clips How to Create RTZ Clips How to Create Box Clips How to Create IJK Clips How to Create Revolution Tool Clips. User Manual: Clip Create/Update Page 233 Create General Quadric Clips INTRODUCTION Double Clicking on the Clip Create/Update Icon brings up the Feature Detail Editor (Clips), the Creation attributes section of which offers access to one type of clip creation which is not available in the Quick Interaction area. It is possible to create a 3D Quadric clip using the General Quadric option by directly specifying the coefficients of a general quadric equation. These coefficient values represent the general equation of a Quadric surface. They can be changed by modifying the coefficient values. No tool exists corresponding to this equation. AX2+BY2+CZ2+DXY+EYZ+FXZ+GX+HY+IZ=J BASIC OPERATION 1. Get to the Feature Detail Editor for clips. The easiest way to do this is to double click the Clip Feature Icon. 2. Select the parent part(s) in the Parts list. 3. Choose the General Quadric Tool. 4. Choose the desired Domain (Intersect, Crinkly, Inside, Outside, or In/Out) 5. Edit the coefficients. 3. Click the Create button. Note: The Animation Delta is not available for general quadric clips. Page 234 SEE ALSO Introduction to Part Creation Other clips: How to Create Clip Lines How to Create Clip Planes How to Create Quadric Clips How to Create XYZ Clips How to Create RTZ Clips How to Create Box Clips How to Create IJK Clips How to Create Revolution Tool Clips. User Manual: Clip Create/Update Page 235 Create Clip Splines INTRODUCTION In addition to clipping along a line, EnSight also provides clipping along a defined spline. Spline clips will query the 2D or 3D parent parts at samples taken along the spline at evenly spaced intervals. Values along a spline clip can be visualized using profiles, queried and sent to a plotter, or used in further computations (for example a line integral). BASIC OPERATION 2. Click the Clip icon. 1. Select the parent part. 3. Select Spline from the Use Tool pull-down. 4. Select the desired Spline (to create a Spline see How To Use the Spline Tool) 5. Set the number of evenly spaced points on the line 6. Click Create. Note: To adjust the clip you can grab the spline knot points and adjust. The clip will update. Page 236 OTHER NOTES It is sometimes useful to display just the nodes of a spline clip. Using the Feature Detail Editor you can change the display such that only nodes (not lines) are displayed. The nodes can be shown as dots, crosses, or spheres. If displayed as crosses or spheres, the size (radius) can be contant or scaled by the value of a variable. See How to Set Attributes for more information. SEE ALSO Introduction to Part Creation How To Use the Spline Tool How to Create Profile Plots How to Query/Plot. Other clips: How to Create Clip Planes How to Create Clip Lines How to Create Quadric Clips How to Create Box Clips How to Create IJK Clips How to Create XYZ Clips How to Create RTZ Clips. User Manual: Clip Create/Update Page 237 Create Vector Arrows INTRODUCTION Vector arrows display the direction and magnitude of a vector at discrete locations in a model. Although vector magnitude can be visualized with other methods (e.g. color), important directional information is provided by the arrows. Vector arrows have numerous attributes including length scale, tip style and size, projection, origin location, and display filters based on vector magnitude. BASIC OPERATION 2. Click the Vector Arrows icon. 1. Select the parent. part. 3. Select the vector variable to use. 4. Click Get Default to load a suitable Scale Factor. 5. Click “Create”. Arrow Tips To change the arrow tip shape, click the Arrow Tips button to open the Vector Arrow Tip Settings dialog: Tip Shape Choices: 1. Select the desired tip shape from the Shape pulldown (see description at right). 2. Select a color (for Tipped shape only). 3. From the Size pulldown, select whether tip scaling is Fixed (and enter an appropriate value in the text field) or Proportional to the local vector magnitude. None No tip (default). Cone Solid cone shape Normal Single wedge. Good for 2D problems. Plane of the wedge is based on the relative magnitudes of the components. Triangles Two intersecting triangles. Good for 2D/3D problems. Tipped End of the shaft colored in a different color. Good where other shapes yield too much visual clutter. Page 238 Other Vector Arrow Attributes Other vector arrow attributes control the type of arrow, the location of the arrow origin, and arrow filtering options based on vector magnitude: 1. Double-click the desired vector arrow part in the parts list. 2. Select the desired type from the Type pulldown. Choices are: Rectilinear Standard vector arrows: shaft points in local vector direction with length equal to vector magnitude scaled by Scale Factor Value. Rect. Fixed Same as Rectilinear except that length is set by Scale Factor value independent of vector magnitude. Curved Arrow shaft is the path of a particle trace in the local flow field. Scale Factor becomes “Time” and controls the duration (stopping criteria) for each trace. WARNING! This can take a great deal of time for large numbers of vector arrows and/or long Time values! 3. Select the desired filter type from the Filter pulldown. 5. Select the desired arrow origin from the Location pulldown. Choices are: Choices are: None No filtering – all vector arrows appear. Node Low Display only those arrows with magnitude above the value in the Low text field. Arrows originate from each node of the parent part(s). Vertices Display only those arrows with magnitude below Low and above High (opposite of Low/ High). Arrows originate only from those nodes that are also vertices of the parent part(s). Element Center Arrows originate from the geometric center of all elements of the parent part(s). Band High Display only those arrows with magnitude below the value in the High text field. Low/High Display only those arrows with magnitude between Low and High (opposite of Band). 4. Select the desired density (0.0 to 1.0). A density of the arrows will vary from no arrows (0.0) to arrows at every location (1.0). At intermediate densities the arrows are placed randomly. Shortcut In Part Mode, right click on a part in the graphics window. In the resulting pulldown, choose Vector Arrows. A window will pop up to choose a variable if there are more than one vector variables. This then automatically creates an vector arrow part with the default settings using the selected vector variable (or if only one using that one) and using the right-clicked part as the parent part. Page 239 ADVANCED USAGE Although not accessible from the Vector Arrows Quick Interaction area, you can also change the projection of vector arrows and the display offset. 1. Open the Feature Detail Editor for Vector Arrows (Edit > Part Detail Editors... > Vector Arrows). 2. Select the desired vector arrow part. 3. Select the desired projection type from the Projection pulldown. The projection choices are modified by the settings in the Projection components X,Y,Z numeric fields. These values represent a scaling factor for the component. Zero means that the component should not be considered (and therefore confine the arrows to the plane perpendicular to that axis). One is the default setting; values less than 1 diminish the contribution of the component while values greater than 1 exaggerate the contribution. Choices for Projection are: All Display arrows based on the vector direction as modified by the Projection Component values. Normal Display arrows based on the “All” vector but in the direction of the surface normal at the arrow origin. Tangential Display arrows based on the “All” vector but projected tangential to the surface at the arrow origin. This is good for locating flow components perpendicular to the main flow direction (such as vortices). Component Display both the Normal and the Tangential arrows. 4. Set the desired display offset. The display offset is used to displace the vector arrows a short distance away from the surface on which they are defined (typically for hardcopy or animation purposes). This is typically necessary when a tangential projection is used and the arrows are coincident with the parent part’s surface. Note that a negative offset may be appropriate (depending on orientation). OTHER NOTES Vector arrows can be animated by animating the parent part (e.g. a clip plane) over space or time using flipbook or keyframe animation. See How To Create a Flipbook Animation or How to Create a Keyframe Animation for more information. If vector arrows are created on a clip through an unstructured mesh, the resulting arrows can be difficult to visualize if the resolution of the underlying mesh varies substantially or is highly irregular. One solution is to create the vector arrows on a grid clip rather than the default mesh clip. See How to Create Clip Planes for more information. Page 240 Unlike most part creation operators, vector arrows are created from the client’s representation of the part – not the server’s. For example, if you have a clip plane that is displayed using a feature-angle or border representation, only those elements comprising the reduced display will yield vector arrows – even though all elements of the clip plane reside on the server. See How to Change Visual Representation for more information. Vector arrows with a tangential projection can sometimes by occluded by the surface on which the arrows are defined. To solve this problem, use the Display Offset field to add a small displacement to move the arrows away from the surface. This is most useful for presentation (e.g. hardcopy or animation) output. SEE ALSO Introduction to Part Creation. User Manual: Vector Arrow Create/Update Page 241 Page 242 Create Elevated Surfaces INTRODUCTION An Elevated Surface is a 2D surface scaled (in the local surface normal direction of the parent) based on a variable value. Elevated surfaces resemble topographic maps and are useful for accentuating relative differences in the value of a variable. An Offset Surface uses a rigid-body translated origin part translated within a 3D parent part, to create a new part using the geometry of the origin part, while getting variable information from the parent part. In other words, an Offset Part results from using a translated orgin part to clip a 3D volume parent part. BASIC OPERATION Elevated Surface 1. Select the parent part. 3. Select ‘Elevated’. 4. Select the variable to use. 2. Click the elevated surface creation icon. 5. Select an appropriate scale factor (or click the Get Default button). 6. If desired, enter an Offset value and press return. The Offset allows you to “shift” the elevated surface away from the parent, but does not affect the shape. 7. If desired, toggle Surface or Sidewalls off. The Surface is the actual elevated surface. You can also have Sidewalls which stretch from the border of the parent to the border of the Surface to enclose the created part. Offset Surface 8. Click “Create”. 1. Select the 3D parent part (see item 1 above). 2. Click the elevated surface icon (see item 2 above). 3. Select ‘Offset’. 4. Choose the translation vector direction and scale. The rigid-body translation is equal to offset_scale * offset_vector 5. Choose the origin part which will be used to clip the parent part at a location specified by the rigid-body translation. 6. Click “Create” SEE ALSO User Manual: Elevated/Offset Surface Create/Update Page 243 Extrude Parts INTRODUCTION A part or parts can be “extruded” to the next higher ordered part using the Extrusion feature. Namely, a 1d line can become a plane, a 2D surface can become a volume, etc. This “extrusion” can occur in a rotational way (making the whole pie from a thin slice) such as would be needed for reconstruction of a model from an axi-symmetric slice. Or it can be done in a translational manner - as if the part were glued in place, but could be stretched in one direction. For rotation extrusions, you must define an origin and axis vector in the global coordinate system, about which the rotational extrusion will occur, as well as the number of slices and the total rotation angle to sweep through. For translation extrusions, you define a direction vector in the global coordinate system, as well as the number of slices and the total distance to stretch. BASIC OPERATION Rotational Extrusion: 1. Select the parent part. 2. Click the Extrusion icon. 3. Select Rotation type 4. Set the number of “slices” that will be created. 5. Set the total rotation to extrude. (Needs to be between -360 and 360) 6. Set the origin of the rotation axis 8. Click Create. 7. Set the components (direction cosines)of the rotation general axis. This will cause a 2D slice to become a 3D volume. Page 244 Translational Extrusion: 1. and 2. as above 3. Select Translation type. 4. Set the number of slices in the translation direction. 5. Set the total translation distance. 6. Set the components of the direction vector. 7. Hit Create. And the slice will now become something like the following: SEE ALSO User Manual: Extrusion Parts Create/Update Page 245 Create Profile Plots INTRODUCTION A profile plot is the 2D counterpart to an elevated surface: a projection away from a 1D part based on the value of a variable. Profile plots can be created on any 1D part: clip lines, contours, particle traces, or model parts consisting of 1D elements. BASIC OPERATION 2. Click the profile creation icon. 1. Select the parent part. 3. Select the variable to use. 4. Select an appropriate Scale Factor (or click Get Default). 5. If desired, enter an Offset value and press return. The Offset allows you to “shift” the profile away from the parent, but does not effect the shape. 6. If desired, adjust the orientation of the Plane tool. The Plane Tool is used to specify the orientation and direction of the profile plot. See below for more information. 7. Click “Create”. For each node of the parent part, the corresponding node on the profile curve is determined by adding the value of the Offset to the selected variable and then multiplying the sum by the Scale Factor. The projectors of the profile are the lines that connect the nodes of the parent part to the nodes of the profile curve. The Plane tool is used to specify the orientation and direction of the projectors. The projectors are created parallel to the Plane tool projecting away from the center of the Plane tool (at least where the value of the selected variable plus the Offset is positive). Although the parent part of a profile plot must be 1D, the nodes that make up the part do not have to be linear. For curved parents, the projectors of the resulting profile plot are still parallel, but they do not all lie in the same plane. SEE ALSO User Manual: Profile Create/Update Page 246 Create Developed (Unrolled) Surfaces INTRODUCTION EnSight provides several sophisticated tools for extracting computational surfaces from meshes. For model parts or clipped surfaces with a defined axis of rotation (such as those created with the quadric clipping tools), the surface can “developed” or unrolled onto a plane. All variables defined on the clip are properly interpolated onto to the developed surface. A clip can be developed based on curvilinear (radius, z), (theta, z), or (meridian, theta) coordinate projections. The “seam” of the clip can be specified interactively. A model part must have its seam, its longitudinal axis and origin defined appropriately in the Feature Detailed Editor (developed surface settings). To do this, right click on the part, choose ‘Edit’ and then pick the developed surface icon in the top of the window that pops up and define the entities appropriately. BASIC OPERATION To create a developed surface: 1. First, create the desired quadric clip (cylinder, sphere, or cone), or skip this step if your quadric model part already exists. 3. Click the Developed Surface icon. 4. Select the desired projection type (see below for details on the types). 2. Select the parent part for the developed surface (i.e. the part you created in step 1). 5. If applicable for the projection type (and desired) enter u,v scaling factors and press return). 6. To display and change the cutting seam, click the Show Cutting Seam button, and adjust the slider. 7. Click Create. A part is developed by specifying one of three curvilinear mappings called developed projections. The projections are based on the curvilinear coordinates r (radius), z, θ (theta), and m (meridian or longitude). These coordinates are defined relative to the local origin and axis of the tool that created the parent part (e.g. the Cylinder tool). The projections are (r,z), (θ, z), and (m, θ). The u, v scale factors (only for (θ, z) or (m, θ) projections) provide scaling for the coordinates in the listed order. For example, if the projection is (θ, z) then u scales θ and v scales z. SEE ALSO How To Create Quadric Clips User Manual: Developed Surface Create/Update Page 247 Create Subset Parts INTRODUCTION A Subset Part can be created by specifying node and/or element label ranges of a model part. Subset Parts can only be created from model parts that have node and/or element labels. The Subset Part feature can be used to isolate specified nodal and element regions of interest in large data sets. BASIC OPERATION 1. First, click the Subset Parts creation icon. 3. Select Elements (or Nodes) to Show. 2. Now, for each parent model part, enter the part number of the desired parent part in the Add field and press return. 4. Enter the element (or node) label range(s) in the Show List text field (ranges are separated by commas). OR Toggle on “Pick elements” and select elements using pick selection, which by default is the “p” keyboard key. OR Turn on the selection tool and place it where desired, then click “Add elements from selection tool” to pick all the elements within the tool. 5. Click Create SEE ALSO How To Probe Interactively User Manual: Subset Parts Create/Update Page 248 Create Tensor Glyphs INTRODUCTION Tensor glyphs display the direction of the eigenvectors for a tensor variable. Controls exist to show just the compressive or tensile eigenvectors, and to selectively show the minor, middle, or major vectors. Tensor glyphs have numerous attributes including length scale, tips, color, and line width which can be used to indicate compression or tension. BASIC OPERATION 3. Select the tensor variable to use. 2. Click the Tensor Glyph icon (by default this icon is not displayed unless you have enabled it through Edit > Preferences > General User Interface “Modify and save icon layout”). 1. Select the parent parts. 4. Select which eigenvectors to display. 5. Click Create. Display Attributes The glyph’s attributes to indicate tension or compression can be modified in several ways. Click the Display Attributes button to open the Tensor Display Attributes dialog: 1. Select the desired tip shape from the Tip Shape pulldown. Tip Shape Choices: None No tip (default) Normal Single wedge. Good for 2D problems. Plane of the wedge is based on the relative magnitudes of the components. Triangles Two intersecting triangles. Good for 2D/ 3D problems. 2. The glyph can either be colored by the part color, or show a specified color for compressions and tension. 3. The glyph can either be shown with the line width attribute of the glyph, or show a different line width for tension and compression. Page 249 OTHER NOTES Tensor glyphs can be animated by animating the parent part (e.g. a clip plane) over space or time using flipbook or keyframe animation. See How To Create Flipbook Animation or How to Create a Keyframe Animation for more information. Unlike most part creation operators, tensor glyphs are created from the client’s representation of the part - not the server’s. For example, if you have a clip plane that is displayed using a feature angle or border representation, only those elements comprising the reduced display will yield tensor glyphs - even though all elements of the clip plane reside on the server. See How to Change Visual Representation for more information. SEE ALSO Introduction to Part Creation. User Manual: Tensor Glyph Parts Create/Update Page 250 Display Displacements INTRODUCTION In structural mechanics simulations, a common output variable is a set of vectors representing the movement or displacement of geometry. Each displacement vector specifies a translation of a node from its original position (an offset). EnSight can display and animate these displacements to help visualize the relative motion of geometry. In many cases, the magnitude of the actual displacements is extremely small relative to the size of the model. EnSight provides a displacement factor to scale the vectors and exaggerate the displacement. Normally, displacements are applied in the EnSight Client - providing the proper visual modifications needed. However, EnSight can actually modify the geometry on the server according to a model displacement variable (not computed variables). Server side applied displacements will yield proper volumes and other computed attributes. BASIC OPERATION 1. Select the parent parts. 2. Click the Part tab. 3. Click the displacement creation icon. 4. Select the nodal variable to use. Limitation: can only use nodal vector variables. 5. If desired, enter a value for the Displacement Factor and press return. 6. For speed and memory, default is visual displacement only. If you desire to use the displacement in any calculations then toggle on server-side displacements. Note that your changes in the Quick Interaction area are immediate. Specifying a displacement does not create a new part, it merely sets the displacement attributes for the selected parts. Page 251 Server Side Displacements Server side displacements have more detailed attributes found in the Part Feature Detail Editor. 1. First read in your model, build the desired parts, and activate the model variable (not computed variables) representing displacement. 2. Open the Feature Detail Editor (Model). Use Edit > Part feature detail editors > Model parts, or just right click on the partlist and choose ‘Edit’ 3. Select the desired parts. 4. Set the desired scale factor for the displacement. Hit a carriage return. 5. Set the nodal displacement model variable and the translation for each component. Hit a carriage return. 6. Hit the Apply changes button. Note that it is possible displace in each component direction by a different variable and to translate by a single value in each direction. It is also possible to scale the entire geometry by a factor. Enter in a nodal vector variable and the correct component will be extracted. Displacement applied in this manner actually modifies the geometry on the server (not just the visual representation on the client). Any queries or computations will reflect this modified geometry. For example area or volume calculation will now use the displaced values. Page 252 ADVANCED USAGE Vibrational analysis typically produces eigenvectors. EnSight can animate these vectors as mode shapes to visualize selected vibration modes (each represented by a different displacement vector). The EnSight Flipbook is used to build and load the animation. Once loaded, the animation can be replayed while still providing viewing control. To create a mode shape flipbook: 1. Be sure displacements are active and the Displacement Factor is set to a suitable value (as described above). 2. Click the Flipbook icon. 3. Select Mode Shapes from the Load Type pulldown. 4. Enter the desired number of Flipbook pages to create. 5. Click “Load”. 6. Once loading is complete it will automatically change to the Run tab and the animation will be running. The first page of the animation shows the full displacement (as it is shown in the Graphics Window without the Flipbook) while the last page shows full displacement in the opposite direction. Intermediate pages show displacements as driven by the cosine function. Note that you can create copies or extracts of parts and simultaneously display them with different mode shape variables or to show the initial static state along with the mode shape animation. SEE ALSO See How To Create a Flipbook Animation for more information on Flipbooks. User Manual: Part Displacement, Flipbook Animation Page 253 Display Discrete or Experimental Data INTRODUCTION In addition to meshed data consisting of nodes and elements, EnSight also supports discrete or measured data. A measured dataset consists of a series of arbitrary points in space with no connectivity. Measured data can have associated variable data and can vary over time. Examples of measured data include fuel sprays, multi-phase flows, and experimental data. Measured data cannot be loaded by itself – you must also specify a regular geometric mesh. BASIC OPERATION Measured data is read into EnSight via the same dialog used to read meshed data: 1. Select File > Data (Reader)... to open the File Selection dialog for data file selection. 2. Find the directory containing the data (see How To Read Data for more information on using File Selection). 3. If desired, select and specify a (meshed) geometry file and the corresponding result file. 4. Select the measured result file in the Files list. 5. If desired, specify an initial time step (the last step is the default). 6. If you are reading a meshed dataset (as directed in step 3), select the file format. 7. Click (Set) Measured to specify the selected measured result file. 8. Click Okay to begin the reading process. 9. The Data Part Loader dialog corresponding to the selected data file format (as set in step 6) will open. You do not have to perform any further action to load the measured data. However, if you are also loading meshed data, continue with the usual part loading process. For details, see the How To article for the chosen file format. Page 254 Measured data is represented as a single part. In the Main Parts list you should see a part named “Measured/ Particle” after loading. Measured data is represented as a set of unconnected nodes. You can use EnSight’s ability to display nodes in various ways to accentuate measured data visualization. To change node display: 1. Select the desired measured data part in the Main Parts list. 2. Click Part in the Mode Selection area to enter Part Mode. 3. Click the Node Representation icon to open the Part Node Representation dialog. 4. Select the desired node display type (Dot, Cross, or Sphere). See below for details on each type. 5. If applicable, set desired values for Scale, Detail, Size By, and Variable. • Dot: nodes are displayed as points. • Cross: nodes are displayed as crosses and can be fixed size (size set by the Scale value) or sized based on a Variable (and scaled by the Scale value). • Sphere: nodes are displayed as spheres and can be fixed size (size set by the Scale value) or sized based on a Variable (and scaled by the Scale value). Sphere detail controlled by Detail value. OTHER NOTES The file formats for measured data and the measured results file are detailed in EnSight5 Measured/Particle File Format. Transient measured data can be animated using either the flipbook or keyframe animation capability. You can load multiple measured datasets simultaneously by using EnSight’s cases capability. SEE ALSO User Manual: EnSight5 Measured/Particle File Format Page 255 Change Time Steps INTRODUCTION From it’s inception, EnSight has been used extensively to postprocess time-varying or transient data. In many cases, dynamic phenomena can only be understood through interactive exploration. The Solution Time Quick Interaction area provides the interface for working with transient data and provides comprehensive control over time handling. BASIC OPERATION EnSight provides two ways to work with transient data. By default, time is presented as a series of discrete steps running from zero to the total number of steps minus one. However, you can also present time based on the actual simulation time values found in your results data. The presentation mode is controlled by the Time As pulldown menu. In the dialog below, Time As is set to Step and time is presented as discrete steps running from 0 to 159 (160 total steps). The simulation time (as reported in the top line of the dialog) runs from 1.0 to 160.0. The current time range is displayed in the Beg and End fields with the current time step shown in the Cur field. You can modify the time range displayed in the slider by editing the Beg and/or End fields (remember to press return). You can change the current time step by editing the Cur field (press return), manipulating the slider, or clicking the left/right slider arrows. Clicking Reset Time Range will reset Beg and End to the full range. Time scaling and stepping (as manipulated through the slider bar and Beg, Cur, and End fields) can either be Discrete or Continuous. If scaling is Discrete, only your actual time steps as written in the results data can be visualized. In addition, the Beg, Cur, and End fields can only be set to integer values (if Time As is set to Step and Scale Type is Discrete) or actual simulation times represented in your results data (if Time As is set to Sim. Time). If scaling is Continuous, you can display results between your actual output time steps (all variable values are linearly interpolated between the two surrounding time steps). Note that if your mesh is changing over time (either set of elements or element connectivity) you cannot display results continuously. When you manipulate the slider or change the Cur field, EnSight will perform all tasks necessary to correctly display the new time step in the Graphics Window. Depending on the size of the dataset and the number of additional parts you have created, this may take a significant amount of time. If you wish to create an on-screen animation of your results, use the Flipbook facility (click Animate Over Time to quickly jump to the Flipbook Quick Interaction area). To use the Solution Time Quick Interaction area: 1. Click the Solution Time icon in the Feature Icon bar. 2. Make changes as desired. The Beg and End fields control the available time range (and also the range of the slider action). The range markers on the slider can be moved to set these values or you can enter new values into the fields and press return. The Current field sets the current time step. Either move the center slider or enter a new value in the field and press return. The slider bar lets you step through time. Grab the slider and dial to the desired time or click the left/right slider arrows to increment (the increment can be set by changing the Increment field). Click to display time as annotation in the graphics window. Click to open the Flipbook Animation Quick Interaction area. Set Scale Type to Discrete or Continuous (see above for details). Set the number of time cycles in the time range. Set Units to Step or Sim. Time (see above for details). Set the step increment size for the slider arrows. Must be an integer if Scale Type is Discrete. Page 256 Recording an Animation of your data: You can stream data from disk by using the VCR type controls. Namely, hit the Play button. While this is occurring, the Record button will be brightly colored red and can be clicked to record the animation that is occurring. Note: This is similar to a flipbook animation loaded as images, but does not require additional workstation memory. Thus, it is a simple way to record an animation of your transient data. This recording process is explained in How To Print/Save an Image Page 257 ADVANCED USAGE EnSight allows geometry and variables to behave in a transient manner on different timelines, i.e., a variable called Temperature can be defined at t = 0., 3., and 6. while a variable called Pressure can be defined at t = 0., 2., and 5.5. The Timeset Details button will bring up the Timeset Details dialog which allows the user to view the various timelines as well as specify how the variables will behave when they are not defined. The EnSight case file defines the timesets (name and associated time values) and associates a timeset with each of the variables and geometry. By default the Solution Time dialog will show a composite of all of the timesteps that exist across all of the timesets. This can, however be changed to show just the time values associated with a particular timeset. In the Timeset Details dialog shown below, multiple timesets exists. Three timesets (from the Which Timeset(s) list) are selected and are thus shown in detail. The graphics for each timeset shows (a) the minimum and maximum overall time value, (b) white tick marks immediately under the timeline indicate the total (composite) time values available from the solution time dialog, (c) green tick marks indicating the time values defined for the timeset, (d) the current time value (indicated with the long green line) associated with the timeset. The current solution time (as set in the Solution Time dialog. To modify all the timelines to behave the same way, select which range is to be modified, then select how they will be displayed. Select the timeline to be viewed. The timeset can either be shown having a time range over the total number of time values or can be shown according to the timeset’s range. By default the Solution Time dialog shows the composite timeline. This button will modify the Solution Time dialog’s Beg and End values to those of the selected timeset. Shows the time value being used at the current time. The timeset is used by the variables (or geometry) shown in this list. When the current time (from the Solution Time dialog and indicated in the upper left corner of this dialog) is set to a value less than what is available for this timeline, use the Nearest value or make the variable Undefined. When the current time (from the Solution Time dialog and indicated in the upper left corner of this dialog) is set to a value that does not exist for this timeline, Interpolate between defined time values, use the Left, Right, or Nearest value, or make the variable Undefined. When the current time (from the Solution Time dialog and indicated in the upper left corner of this dialog) is set to a value greater than what is available for this timeline, use the Nearest value or make the variable Undefined. SEE ALSO How To Load Transient Data, How To Animate Transient Data User Manual: Flipbook Animation Page 258 Extract Vortex Cores INTRODUCTION Vortex cores are centers of swirling flow where the velocity is parallel to the vorticity. For a more complete description refer to the User Manual section below. BASIC OPERATION 1. Select the parent part. 2. Select the Vortex Core icon on the second row of icons. 3. Bring up the Vortex Core Variable Settings dialog by clicking here. 4. Define either (Density and Momentum) or Velocity, as well as the Ratio of Specific Heats. The variables can be set by either typing them into the fields, or selecting them from the list above and clicking the Set button. 5. Click Okay to finish the variable setup. 6. Click Create. Page 259 ADVANCED USAGE The resulting vortex core lines can be filtered by the vortex core strength or by any other active variable. 1. Select the variable to filter by. 2. Set the Threshold filter to remove the portion of the vortex core that is larger or less than the specified threshold value. 3. Enter a threshold value - or 3. Slide the slider to a new threshold value. OTHER NOTES Extract Vortex Cores does not work with more than one case. SEE ALSO User Manual: Vortex Core Create/Update Page 260 Extract Separation and Attachment Lines INTRODUCTION Separation and attachment lines are created on any 2D surface and show interfaces where flow abruptly leaves (separates) or returns (attaches) to the surface. For a more complete description refer to the User Manual section below. BASIC OPERATION 1. Select the 2D parent part. 2. Click the Separation/Attachment part icon. 3. Bring up the dialog defining the necessary variables by clicking here. 4. Define either Density and Momentum or velocity, as well as the Ratio of Specific Heats. The variables can be set by either typing them into the fields or be selecting them from the list above and clicking the Set button. 6. Click Create 5. Click Okay to finish the variable setup. This will create two parts one each for the separation and attachment lines. You can modify the visual attributes of these parts separately, but when you change any creation attribute, both parts will be modified. Page 261 ADVANCED USAGE The resulting separation/attachment parts can be filtered by the fx_sep_att_strength variable or by any other active variable. 1. Select the variable to filter by. 2. Set the Threshold filter to remove the portion of the separation/attachment line that is larger or smaller than the specified threshold value. 3. Enter a threshold value - or 3. Slide the slider to a new threshold value. OTHER NOTES The separation and attachment parts are linked together with regard to their creation attributes, i.e. when one is modified the other is also. Further, when one is deleted the other is also deleted. Separation and Attachment feature extraction only works with one case. The separation and attachment line parts should generally not interfere visually with the 2D parent parts they lie on (as long as the preference for graphics hardware offset is on - see View Preferences), but they may interfere if printed. In either case you can apply a display offset manually to avoid the interference in the Feature Detail Editor for the part. The display offset will be in the direction of the parent surface normal. SEE ALSO User Manual: Separation/Attachment Lines Create/Update Page 262 Extract Shock Surfaces INTRODUCTION Shock surfaces and regions help visualize shock waves in 3D (trans/super-sonic) flow. For a more complete description, refer to the User Manual section below. BASIC OPERATION 1. Select the parent part. 2. Click the Shock Surface/Region icon. 3. Bring up the dialog defining the necessary variables by clicking here. 4. Define either Density or (Temperature and Pressure), (Energy or Pressure), (Momentum or Velocity), and Ratio of Specific Heats. The variables can be set by either typing them into the fields, or selecting them from the list and clicking the Set button. 5. Click Okay to finish the variable setup. 6. Choose Region or Surface. 7. Click Create. Page 263 ADVANCED USAGE The resulting shock can be filtered by any of the threshold variables 1. Select the variable to filter by. 2. Set the Threshold filter to remove the portion of the shock surface or region that is greater or less than the specified threshold value. 3. Enter a threshold value - or 3. Slide the slider to a new threshold value 4. The shock is usually defined in a very narrow band, so the slider min/max values may need to be adjusted by either entering new values in the min/max fields, or clicking on the up/down buttons to change by an order of magnitude. OTHER NOTES See Other Notes in the Shock Surface/Region Create/Update section of the User Manual for options on how to prefilter flow field regions, and/or post-filter shock regions via a specified mach number. Also to apply the transient correction term for moving shocks when using the shock Region method. Shock Surface feature extraction does not work with multiple cases. SEE ALSO User Manual: Shock Surface/Region Create/Update Page 264 Create Material Parts INTRODUCTION A Material Part can be created as either a domain or an interface. A material Domain is a solid region (or regions) composed of one or more specified materials. Parts with 2D elements yield 2D material elements, and parts with 3D elements yield 3D material elements. A material Interface is a boundary region (or regions) between adjacent materials composed of at least two or more specified materials. Parts with 2D elements yield 1D material elements, and parts with 3D elements yield 2D material elements. The Material Part feature can be used to isolate specified elemental regions of interest in data sets with material fractions. BASIC OPERATION For Material Domain (for Smooth Method): 1. Click the Material Parts creation icon. 2. Select the parent model part(s). 3. Set Type to Domain. 4. Select 1 or more materials. 5. Click Create. For Material Interface (for Smooth Method): 1. Click the Material Parts creation Icon. 2. Select the parent model part(s). 3. Set Type to Interface. 4. Select 2 or more materials. 5. Click Create. Page 265 SEE ALSO User Manual: Material Parts Create/Update In Section 11.1, EnSight Gold Casefile Format, see EnSight Gold Material Files Format Page 266 Remove Failed Elements INTRODUCTION A variable can be used within EnSight as a means of removing elements that have “failed”. This failure is a ‘deep’ failure in that elements are not just visually removed on the client, but is also removed for all calculations on the server. For example, the volume of a part calculated using the calculator will only include the non-failed elements. If you only need to visually fail the elements consider Element Blanking. The failure criteria can be something as simple as a variable with two states (one state to indicate the element is failed, and the other state to indicate that the element is not failed), or it can be a variable (such as a Von Mises stress/strain) threshold for which you specify limiting values and conditions for failure. The failure variable must be a per-element variable. Also, this operation can only be performed on model parts. So if its effect is desired on created parts, such as clip planes or isosurfaces, one should apply this operation to the model parent parts of the desired created parts. BASIC OPERATION To use a per-element variable for removing failed elements: 1. Select the model part(s) to use. 2. Select Part Mode. 3. Click on the Failed elements button. 4. Select the per-element variable to use for failure (in this example we use Failure_Stress). 5. Set the desired condition(s) and value(s) (in this case we fail if the Failure_Stress is greater than 0.70) 6. Click Apply Those elements which satisfy the failure criteria will be removed from the model. Page 267 ADVANCED USAGE EnSight’s User-defined reader API is capable of dealing with designated failure variables and the failure values and conditions. Thus, a reader can be set up to use failure conditions that solvers provide and automatically apply the failed element operations for you. An example of this is the LS-DYNA3D reader provided with EnSight. Note the extra GUI option provided by this reader, entitled: “Remove Failed Elements”. By checking this option, a “Delete_Flag” variable is created, and the failed element feature of EnSight will be automatically on - with the conditions and values set that will remove the failed elements that the solver flagged as such. (Which for LS-DYNA3D is a value equal to 0.0 in the Delete_Flag variable) SEE ALSO How-To Read User Defined User Manual: Failed Elements Page 268 Do Element Blanking INTRODUCTION EnSight allows you to pick elements in the model and make them disappear - “blank them out”. This may be desirable if you want to peek inside of certain parts or remove portions of a part (without making the entire part invisible or transparent). Element blanking is only visual removal on the client. For example the calculated volume does not change if some elements are blanked. Element blanking is a temporary state that can easily be “cleared” - making the elements visible again. BASIC OPERATION Using picking to do element blanking: 1. Set the pick action to “Pick element(s) to blank”. 2. Select part(s) in the part list that you wish to operate on. 3. Place the mouse pointer over the element you wish to blank out and press the “p” key to blank the element. You will see the element under the mouse disappear as you do the picking. 4. To cause the elements to reappear, click the Element blanking/visibility icon and click the clear button in the dialog which comes up. Note that blanking can be done directly using the mouse if you change the mouse and keyboard settings. For example, the preferences can be set to blank using a middle mouse button click on the part. Edit > Preferences > Mouse and Keyboard. Page 269 Also, the selection tool can be used to do element blanking on a larger scale: 1. Select the part(s) on which to do element blanking. 2. Click on the Selection tool icon to turn on the tool. 3. Position the tool as desired. 4. Click on the blanking icon. 5. Choose the criteria to use for blanking: inside or outside (inside or outside the box) and top or all (top is just the first visible layer, all is to blank all elements in a direction perpendicular to box. 6. Click on the element blanking eraser symbol at the upper left of the tool. To undo the blanking, click the Clear or Clear all parts button. Results in the following: Note The element IDs are used to tag visibility. These tags are preserved through timestep changes. If the elements change IDs (perhaps changing connectivity) then EnSight will continue to use those same IDs which may result in invisible elements at different locations. SEE ALSO How To Use Selection Tool User Manual: Element Blanking Page 270 Use Point Parts INTRODUCTION A point part is a part composed only of nodes. It can be read in as a model part or can be created through the use of the Point Part feature. In order to create the part, a series of point locations must be defined. The point locations can be read from an external file, or can be created by placing the cursor tool at desired locations and adding points. You can later edit the locations of, or delete any of the points. When you select a parent part and click Create, a new part with only nodes is created. This type of part can represent probes in the data, or lends itself well to meshing into a 2D or 3D part. As the per-node variables of the model parts are mapped to the point part locations, it is also a great way to write out nodal variable information (using File->Save->Geometric Entities) for further calculations. Note if a parent part has per element variables then they must be moved to the nodes using the calculator functon ElemToNode. BASIC OPERATION 2. Click the Point Part icon. 1. Select the parent part. 5. Click Create. 6. To create a mesh from a point part, click on the Advanced button. 3. Make the cursor tool visible. 4. Move the cursor to the desired spot. (Interactively or by using the Transformation Editor.) and Click the Add Point (at cursor) button. (Repeat as many times as needed) OR 4. Click the Load points from file... button. (Which will bring up the file select dialog) and select a file that contains the desired points. (See Section 11.17 Point Part File Format in the User Manual) A simple sample of a Point Part file: #Version 1.0 #EnSight Point Format -.5, -.5, .5 -.5, .5, .6 .5, -.5, .7 .5, .5, .4 -1.5, -1.5, .5 1.5, 1.5, .3 2.25, 2.1, 1.5 SEE ALSO User Manual: Point Parts Create/Update Page 271 Page 272 Create and Manipulate Variables Activate Variables INTRODUCTION When a results dataset is read into EnSight, associated variables are noted and listed in the Main Variables List. However, a variable will remain deactivated (not loaded into memory) until some operation requires it or it is explicitly activated (read into memory). If an active variable is no longer required, you can deactivate it and free the associated memory. BASIC OPERATION Variable Activation In most instances, variables are automatically activated as required. For example, if you create a contour using a deactivated variable, EnSight will automatically activate the variable prior to creating the contour. You can also activate variables explicitly using the Feature Detail Editor for Variables. 1. Open the Feature Detail Editor for Variables. You can open this dialog in several ways. You can do Edit > Variables editor... from the main menu or double click the Color/transparency icon in the Part mode icons or single click the calculator feature icon 2. Select the variable(s) you wish to activate. 3. Click the Activate button. OR 2. Click the Activate All button to activate all variables in the list. The (*) in the variable listing indicates that the variable is currently loaded. Page 273 Variable Deactivation Variables are never deactivated automatically. To deactivate a variable: 1. Open the Feature Detail Editor for Variables. You can open this dialog in several ways. You can do Edit > Variables editor... from the main menu, or double click the Color/transparency icon in the Part mode icons, or after single clicking the Color/ transparency icon, you can double click on one of the variables in the list of the Part color, lighting, & transparency dialog. 2. Select the variable(s) you wish to deactivate. 3. Click the Deactivate button. Note that variable deactivation can result in the modification or deletion of parts. If this is the case, you will be asked to confirm the deactivation. A part could be modified if it used the deactivated variable for coloring. A part could be deleted if it was based on the deactivated variable (such as a contour or an isosurface). SEE ALSO How To Edit Color Palettes, How To Create New Variables User Manual: Variable Selection and Activation Page 274 Create New Variables INTRODUCTION EnSight provides a powerful capability to derive new variables from existing variables and parts. For example, in a fluids dynamics problem, if you have momentum, density, and stagnation energy you can calculate temperature, Mach number, pressure, or velocity. In addition to the built-in functions, you can also compose your own functions using the equation editor in conjunction with previously defined variables. This article is divided into the following sections: Introduction Variable Creation Examples of Expressions Built-in Function Reference Extended CFD Variables BASIC OPERATION Introduction EnSight provides five distinct types of variables: Constant A constant variable is a single value. Constants do not vary across a part although a constant can vary over time. Examples include Analysis_Time, Temperature[123] (the value of temperature at node 123), Stress{3}[321] (the value of stress at node 321 at time step 3), or the value of a function that produces a constant (e.g. Area). Scalar A scalar variable is a set of values: one for each node or element of the applicable part(s). Examples include Pressure, Velocity[Z] (the Z component of velocity), Stress{3} (the value of stress at time step 3), or the value of a function that produces a scalar (e.g. Flow) Vector A vector variable is a set of values: three (the X,Y,Z components) for each node or element of the applicable part(s). Examples include Velocity, Velocity{3} (the value of velocity at time step 3), Coordinates (a given variable equal to the XYZ coordinate at a node), or the value of a function that produces a vector (e.g. Vorticity). Tensor A tensor variable is a set of values: six (if symmetric) or nine (if asymmetric), for each node or element of the applicable part(s). Tensor variables can be represented by Tensor Glyphs directly, and within the variable calculator eigenvalues, eigenvectors, determinant, VonMises or Tresca, etc. can be computed. Complex A complex variable, which within Ensight can be either scalar or vector, includes the real and imaginary portions of the values. The variable calculator allows the user to compute things like modulus, argument, transient response, etc. Variables are either given (read from the dataset or automatically provided by EnSight) or computed (derived from existing variables during an EnSight session). The variable type and whether it is given (shown as “Gvn”) or computed (shown as “Cmp”) are shown in the Variables list in the Feature Detail Editor for Variables. If you have any element-based variables in a model, the variable names in the Main Variables list will be preceded by “(E)” for element-based or “(N)” for node-based. Every non-constant variable (both given as well as computed) has an associated color palette that defines the mapping from variable values to color. These palettes can be edited to change the mapping (see How To Edit Color Maps for details). The value of a constant variable can be displayed as a text string in the Graphics Window (see How To Create Text Annotation for details). For time-dependent data, calculated variables will automatically recalculate when the current time step is changed. Page 275 Variable Creation Derived variables are easily created using the Feature Detail Editor Variable Calculator. To create new variables: 1. Double-click the Variable Calculator icon in the Feature Icon bar to open the Feature Detail Editor (Calculator). 3. Select the desired tab to either use predefined functions or define your own equation using math operators and functions. Prefedined functions Tab: When you select a function, the Variable Name field (at the top of the section) is loaded with the name of the function. This will be the name of the variable as seen in the Main Variables list. You can change this name by entering a new value (and pressing return). A description of the function parameters appears directly below the tab. Dynamic Instructions for properly composing the required parameters will appear to the right of the list. The expression is built in the Working Expression section. As you insert parameters, they are automatically added to the expression and the instructions for the next parameter will appear. Parameters can be inserted as follows: Parts: by selecting the desired part(s) in the Main Parts list (and clicking Next) or by entering the part number in the field provided and selecting Next. Note that the place holder “plist” appears in the expression denoting the list of currently selected parts. Variables: by clicking on the desired variable in the Which Variable list. Constants/other: by typing the desired constant or other text directly into the field provided or by clicking the desired item in the Calculator keypad (which is accessed via the “#” button). 4. Follow the instructions to build the desired expression and then click Evaluate. Page 276 Define equation Tab: Alternatively, you can build your own equation by selecting variables, math functions, operators, and numbers as desired. Once you have the desired equation in the Working Expression field, and a name in the Variable name field - click Evaluate. Examples of Expressions The following examples demonstrate usage of the variable calculator. In each case, first enter a name in the Variable Name field and click in the Working Expression area to activate it. The examples assume that Analysis_Time (a given constant variable if the dataset is transient), pressure, density, and velocity are all given variables. Expression -13.5/3.5 Description and How to Build A simple constant. To build, either type the text on the keyboard or click in the Calculator keypad. Analysis_Time/60.0 A constant variable. Assuming the solution time was given in seconds, this expression will provide a variable giving the time in minutes. To build, select Analysis_Time from the Active Variable list and either type or click /60.0 velocity*density Momemtum – a vector variable. To build, select velocity from the Active Variable list, click or type *, and select density from the Active Variable list. SQRT(pressure[73]*2.5) + velocity[X][73] Square root of (pressure at node 73 * 2.5 + the X component of velocity at node 73) To build, select SQRT from the Math function list, select pressure from the Active Variable list, click or type [73]*2.5)+, select velocity from the Active Variable list, and click or type [X][73]. Page 277 Expression Description and How to Build velocity^2 You have to be careful here. velocity^2 is NOT equal to DOT(velocity,velocity). A vector * vector in EnSight is performed component-wise (x-component * x-component, ycomponent*y-component, and z-component*z-component). The magnitude of this expression is SQRT(x-component^4 + y-component^4 + z-component^4) which is NOT the square of the magnitudes. If you are looking for a scalar result for the square of the velocity, use DOT(velocity,velocity), or, for velocity magnitude, use RMS(velocity) or SQRT(DOT(velocity,velocity)), or SQRT(velocity[x]*velocity[x] + velocity[y]*velocity[y]+velocity[z]*velocity[z]). pressure{19} Scalar variable equal to pressure at time 19. This variable will not change if the current time step is changed. To build, select pressure from the Active Variable list and click or type {19}. MAX(plist, pressure) Constant variable equal to the maximum value for pressure over all nodes of all parts in plist. To build, select MAX from the General function list and follow the instructions in the Feedback area. (pressure/max_pres)^2 Scalar variable equal to squared normalized pressure. To build, first calculate the MAX constant variable as described in the preceding example (here named max_pres). Click or type (, select pressure from the Active Variable list, click or type /, select max_pres from the Active Variable list, and click or type)^2. Since EnSight can compute only one variable at a time, one must break down involved equations into multiple smaller ones, using temporary or intermediate variables. Calculator limitations include the following: 1. The variable name cannot be used in the expression. The following is invalid: temperature = temperature + 100 Instead use: temperature2 = temperature + 100 2. The result of a function cannot be used in an expression. (pressure / MAX(plist,pressure) )^2 Instead use two steps. Define p_max as: MAX(plist,pressure) then define norm_press_sqr as: (pressure / p_max)^2 3. Created parts (or changing geometry model parts) cannot be used with a time calculation (using { }). 4. Calculations occur only on server-based parts. Client-based parts are ignored, and variable values may be undefined. Page 278 Built-in Function Reference Although all built-in functions are listed here, consult the User Manual for the complete definition of a function. EnSight provides the following built-in general variable calculation functions: Function Area Boundary Layer Cf at Wall Displacement Thickness Distance to Value from Wall Momentum Thickness Thickness Y1 off Wall Case Map Coefficient Complex Argument Conjugate Imaginary Modulus Real Transient Response Curl Density Distance Between 2 Nodes Divergence Dynamic Pressure Element to Node Energy, Total Enthalpy Entropy Flow Rate Fluid Shear Stress Max Force on 1D part Gradient Approximation Tensor Tensor Approximation Helicity Density Relative Relative Filtered Iblanking Values Kinetic Energy Length Line Integral Log of Density Normalized Pressure Temperature Mach Number Make Scalar at Elements Abbreviation (if any) Description BL_CfWall BL_DispThick Surface area Boundary Layer Cf at the wall Boundary Layer displacement thickness BL_DistToValue Boundary Layer distance to value from the wall BL_MomeThick Boundary Layer momentum thickness BL_Thick BL_Y1Plus CaseMap Coeff Cmplx Boundary Layer thickness Boundary Layer Y1 off wall Map values of a variable from one case onto the nodes of another case. Coefficient Create complex variable from variables representing the real and imaginary portions. Argument of complex variable Conjugate of complex variable Imaginary portion of complex variable Modulus of complex variable Real portion of complex variable Complex transient response CmplxArg CmplxConj CmplxImag CmplxModu CmplxReal CmplxTransResp Dist2Nodes Div PresDynam ElemToNode EnergyT Curl of a vector Density Distance between two nodes Divergence Make node-based variable from element-based variable (via average) Total Energy Integrated flow through 1D/2D part FlowRate FluidShear FluidShearMax Fluid shear stress Max of fluid shear stress Force Vector Force1D Force Vector on 1D part Grad 3D gradient of a variable GradApprox Linear, closed-form gradient approximation GradTensor 3D tensor gradient GradTensorApprox Linear, closed-form tensor gradient approximation HelicityDensity HelicityRelative HelicityRelFilter IblankingValues KinEn IntegralLine DensityLogNorm PresLogNorm TemperLogNorm MakeScalElem Scalar that is the iblanking flag per node Kinetic energy Summed length of all 1D elements Integral over 1D elements Mach number Scalar created, by placing a constant value at each element Page 279 Function Make Scalar at Nodes Make Vector Massed Particle Scalar Mass Flux Average Maximum Minimum Moment Abbreviation (if any) MakeScalNode MakeVect MassedParticle MassFluxAvg Max Min Moment Vector MomentVector Momentum Node To Element Normal Normal Constraints Normalized Density Enthalpy Pressure Stagnation Density Stagnation Enthalpy Stagnation Pressure Stagnation Temperature Temperature Vector Offset Field Variable Momentum NodeToElem Pitot NormC DensityNorm EnthalpyNorm PresNorm DensityNormStag Stream Function Surface Integral Swirl Temperature Temporal Mean Scalar created, by placing a constant value at each node Build a vector variable from scalars Massed particle scalar Find spatial max of variable over part(s) at current time Find spatial min of variable over part(s) at current time Moment component of a force component based on the current position of the Cursor Tool. This is a constant. Moment component of a force component at each node of selected parts. This is a field of vectors. Make an element-based variable from node-based (via average) Surface normal vector NC EnthalpyNormStag PresNormStag TemperNormStag TemperNorm NormalizeVector OffsetField OffsetVar PresPito PresPitoRatio Pressure Pres Coefficient PresCoef Rectangular To Cylindrical Vector RectToCyl Server Number ServerNumber Shock Plot3d Sonic Speed Spatial Mean Speed Stagnation Description Vector field expressed as unit vectors. Offset distance field (from boundary) Variable Value offset from boundary of part into the field (placed on boundary) Pressure Pressure Ratio ShockPlot3d SonicSpeed SpaMean Density Enthalpy Pressure Pressure Coefficient Temperature Pressure Calculate vector in cylindrical coordinates Per Element variable created that is the server number containing the element Mean of a variable over a part Magnitude of velocity DensityStag EnthalpyStag PresStag PresStagCoef TemperStag Stream IntegralSurface Swirl TempMean Stream Integral over 2D elements Temperature Mean of a variable over time Page 280 Function Abbreviation (if any) TensorComponent TensorDeterminant TensorEigenvalue TensorEigenvector TensorMake TensorMakeAsym Component of a tensor variable Determinant of a tensor variable Eigenvalue of a tensor Eigenvector of a tensor Make symmetric tensor from variables representing components Make asymmetric tensor from variables representing components Total Pressure Velocity Volume TensorTresca TensorVonMises PressT Velo Vol Tresca failure theory of a tensor Von Mises failure theory of a tensor Total pressure Momentum/density Volume of 3D elements Volume Integral Vorticity IntegralVolume Vort Integral over 3D elements Vorticity Tensor Component Determinant Eigenvalue Eigenvector Make Make Asymmetric Tresca Von Mises Description The following standard math functions are also available: Function Abbreviation Function Abbreviation Absolute Value ABS Root Mean Squared RMS Arccosine ACOS Round RND Arcsine ASIN Sine SIN Arctangent ATAN Square Root SQRT Arctangent (y / x) ATAN2 Tangent TAN Cosine COS Cum Normal Distribution CDF_NORM Cross Product CROSS Normal Prob Density PDF_NORM Dot Product DOT Student T Cum Distrib CDF_T Exponent EXP Student T Prob Density PDF_T Greater Than GT F Cumulative Distribution CDF_F Less Than LT F Probability Density PDF_F Log Natural LOG Cum Chi Square Distrib CDF_CHISQU Log Base 10 LOG10 Chi Square Prob Density PDF_CHISQU For information on the arguments (and equations), see General Functions or Math Functions in the User Manual. Page 281 Extended CFD Variables Rather than having to individually create the various common CFD variables, EnSight can automatically make them available for use if the appropriate basis variables and constants have been provided. This can be accomplished after loading the model with the Extended CFD Variable Settings Dialog: 1. From either the Variable or the Calculator Feature Detail Editor, click the Extended CFD Variables... button. 2. Select the variable name in the list and then click the appropriate SET button. For example, select Density in the list and then click the SET button to right of the Density field. 3. After all variables and constants have been specified, click Show Extended CFD Variables. 4. Click Okay. The common CFD variables will now be listed in the main variables list. Note that they will NOT actually be computed until activated. If you have a “standard” PLOT3D Q file, the above process can be accomplished automatically by starting EnSight with the “-cfd” option on the command line. SEE ALSO How to Edit Color Maps User Manual: Variable Creation Page 282 Extract Boundary Layer Variables INTRODUCTION EnSight can compute the following boundary layer parameters: boundary layer thickness displacement thickness momentum thickness shape parameter skin friction coefficient named: (bl_thickness) (bl_displ_thickness) (bl_momen_thickness) (bl_shape_parameter) (bl_skin_friction) You must have a 2D surface in a 3D field and specify the 2D surface as the parent part(s). For a complete description of these variables, refer to the User Manual section below. BASIC OPERATION 1. Select the 2D parent part(s). 2. Click the Boundary Layer variable icon. 3. Bring up the dialog defining the necessary variables by clicking here. 4. Define either (Density and Momentum) or velocity. The variables can be set by either typing them into the fields, or selecting them from the list and clicking on the Set button. 6. Choose the method that will be used to determine the velocity outside the boundary layer. 5. Click Okay to finish the variable setup. 7. Click Create/Update. This will create the five new variables, which can be used for further operations - such as part coloring. Page 283 OTHER NOTES These variables and more are also individually available in the Variable calculator. See the Boundary Layer Variables section of Chapter 4 in the User Manual Note that the Freestream Density, and Freestream Velocity fields are for constant ‘upstream’ density and velocity magnitude values (near flow inlet). They are only used for skin-friction coefficient, Cf. Boundary Layer variables do not work with multiple cases. SEE ALSO How To Create New Variables User Manual: Boundary Layer Variables Create/Update Page 284 Edit Color Palettes INTRODUCTION All scalar and vector variables have an associated color palette that defines the mapping from variable values to colors. These palettes can be easily edited to customize the mapping. Color palettes can also be saved to disk and restored during a subsequent session. BASIC OPERATION The default color palette created for each variable has five Levels (with the minimum and maximum set to the range of the variable at the time step selected when the variable was activated). The color ramp is a standard spectrum with the five Levels set to (from min to max) blue, cyan, green, yellow, and red. EnSight can display multiple color legends in the Graphics Window: 1. Click the Legend... button on the desktop. 2. Select the desired variable(s) in the list. For vector variables, you can select magnitude (or click Show Components to be able to select the components as well). To remove a legend: Repeat 1. and 2. above or You can remove all legends by clicking the All Off button. Color legends have a number of display attributes including size, position, and how/where the variable labels are formatted. See How To Create Color Legends for details. Page 285 The Palette Editor provides access to all aspects of variables including min/max information, histogram distribution, and variable value mapping to color and transparency. : 1. Click the Color icon in the Part Mode bar to open the Color Editor. 2. Click the Palette... button to bring up the Palette Editor 3. Select the palette to be edited from the pulldown Grab the Minimum Palette Value Slider Type in a Minium Palette Value Opens by default in Simple Tab Palette Levels (and variable values). Enter a new value if desired. Click on Color to change. To change the colors associated with the levels Grab the Maximum Palette Value Slider Enter a Maximum Palette Value Update variable range using a) extrema, b) selected part(s) (note element representation of part(s) matters), c) currently visible part(s) in selected viewport. Enter desired number of Levels in the palette (2 to 21) Reverse colors/levels Interpolate between two levels. Enter the upper and lower levels and click interpolate to create the intermediate levels. 4. Click on the color for the level you wish to modify and select a new color in the pop up dialog. OR 5. Click the Invert colors button to invert the color order OR 6. Click on the File Tab and choose a new palette and click Restore to load a new palette. Page 286 ADVANCED USAGE 1. Double-click the Color icon in the Part mode bar to open the Color Editor, then click on the Palettes... button. 2. Select Advanced Tab A color palette is composed of color and opacity information at a set number of control points. By default, EnSight creates the control points to be uniformly spaced and to have the same number as the number of levels in the palette. You can decouple the control points from the levels by changing the Node Locking option at the bottom of the dialog. The background of the control point graphic contains a histogram distribution for the variable tied to the palette. The small horizontal handle at the left of the image will scale the histogram information. Now manipulate the Control Points 3. Select which component (Red, Green, Blue, or Alpha) to manipulate. Change the value of the Control Points 4. Click on a Control Point and type in a value in the Value: field, 4. OR Click on the Control Point and drag it to a new value. By default the movement of the control point is limited such that only the value can be changed. If you wish to move the control points location you must unlock it by untoggling the Node Locking option in the Options tab Add or Delete a Control Point 5. Right click on a control point to choose to add or delete a control point. If adding a control point, it will be added to the right of the selected point. 7. Click on the Options Tab 8. The default is Type of Continuous to interpolate and smooth the color. 9. To create a color band for each color in the texture, change Type to Banded. Reduce the number of Colors per level to coarsen the bands 6. For a large dataset, change ‘Update:’ to Delayed. An Apply button will appear. Changes will take effect when you click it. 10. You can specify how to handle Undefined variable values. The default is to display the Undefined value as the color for 0. You can change this such that Undefined values will be invisible. 11. Limit fringes: The default behavior is for variable values outside the min/max range to be mapped to the color/opacity defined at the bottom and top of the palette. You change this behavior such that out of bound values are colored by the part color or are set to invisible. 12. Change the alpha volume scale to affect volume rendering 13. For transient data, toggle on and fill in time range to use to rescale variable extrema and recreate histogram over time. Page 287 Markers are single-colored level(s) overlaid on top of the color palette designed to emphasize the distinction between levels. 14. Click on the Markers Tab. Markers are divider bands drawn in the color specified at the specified variable value. They serve to divide your coloration similar to isocontours. 15. Choose the color, the width and the maximum number of markers 16. At the Add: pulldown, choose one of the following to add markers at At levels (adds a marker at each level value), At value (adds a single marker at the value indicated), or Uniformly (adds marker uniformly if you enter a value into the How Many field that appears. 17. Markers remain until cleared. EnSight includes a number of predefined palettes available for loading. 18. Choose a palette. 19. Click restore to load it. If the new number of levels do not match the current number of levels a dialog will pop up to ask whether you want the new number of levels or the current. OTHER NOTES SEE ALSO How To Create Color Legends, How To Create New Variables, How To Create Contours User Manual: Variable Summary & Palette and Palette File Formats Page 288 Use Volume Rendering INTRODUCTION Most of the visualization techniques in EnSight use points, lines, and surfaces to represent data, requiring volumetric data to be subsampled in some way. Volume rendering is a visualization technique that allows the user to view an entire volume of data at once, without having to slice the data in any way. The process involves finding all cells that overlap each pixel and accumulating a color for that pixel from the color and transparency of each cell. Volumes can be constant colored, but more often you will color the volume using a palette corresponding to a variable or a variable component. Color palettes include transparency ("alpha") values, allowing control of transparency based on variable value. BASIC OPERATION 1. Select the parent part. 5. Choose Volume Rendering. 2. Open the color dialog. 3. Color the part by a variable 4. Select the element settings. Volume rendering is one of several "element representations" for a part. Results are generally loaded into EnSight by default in Border, Feature Angle, or Full representation. These representations include only point, line, or surface data. The "volume" element representation will activate volume rendering for a part. Just as for surfaces, the part color dialog can be used to control the color and opacity of the volume. You can color the volume by a scalar, vector, or vector component, and the colors will be assigned based on the palette. Page 289 ADVANCED USAGE EnSight provides advanced control of volume rendering. You can control the volume rendering magnitude of each level of the variable palette by adusting the alpha value (shown as an A in the Palette Editor). The alpha value is the opacity/intensity of the particular level when volume rendered. This means that you can emphasize select variable levels in your volume rendering coloration by specifically increasing the alpha magnitude of these select levels. You can also scale up the entire alpha by adjusting a multiplier value. 6. Click on the Palette button. 9. If the volume looks nearly invisible then increase the alpha scale uniformly raise the opacity level. 7. Click on the control points with the left mouse button and drag them upward. 8. Notice the opacity of the variable values at these levels is scaled upward creating emphasis in the graphics screen and in the legend OTHER NOTES Volume rendereing requires a DirectX 10 capable graphics card. Newer cards with more memory and up-to-date software drivers will perform best. Volume rendering will use roughly 1GB of graphics memory per 10M tetrahedra. Other cells will be decomposed into multiple tetrahedra. EnSight will disable volume rendering when it encounters archaic graphics card hardware. Because volume rendering exercises a large amount of the OpenGL functionality remote rendering problems are very likely, therefore this remote rendering is not supported. SEE ALSO See How to Change Visual Representation, How To Edit Color Maps for more information. Page 290 Query, Probe, Plot Get Point, Node, Element, and Part Information INTRODUCTION EnSight provides many methods for extracting exact quantitative data from your results. Specific information about nodes, elements, parts, IJK locations, or arbitrary points can be displayed. BASIC OPERATION Show Point Information To show information about an arbitrary point: 1. If your data is transient, set the desired time using the Solution Time Quick Interaction area (Edit > Solution Time Editor...). 2. If you have multiple Cases, select the desired case using Case > casename. 3. Position the Cursor Tool to the desired location. 4. Select the desired part(s) in the Main Parts List. The query will only be successful if the Cursor Tool is found within an element of a selected part. 5. Select Query > Show Information > Cursor. The query results will be printed to the EnSight message window, which will pop up. It can also be accessed from the Info icon. The following shows sample output from a point query: Point (6.19810e-01,2.77589e-01,2.41451e-01)(In Frame 0) Query Information. Found in structured part # 2. Found in element # 168379. Closest node # 1782 (within the element) Value for Variable density is 9.96230e-01. Values for Variable momentum are: x=3.03989e-01,y=-1.42727e-02,z=8.51241e-02,mag=3.16005e-01. Show Node Information To show information about a specific node, you must have either given or automatically assigned node labels for your data. You must also know the number of the node of interest. If you do not know the number, you can display node labels for the part or, if you know an element that contains the node, you can display element information for the element (as described in the next section). To show node information: 1. If your data is transient, set the desired time using the Solution Time Quick Interaction area (Edit > Solution Time Editor...). 2. If you have multiple Cases, select the desired case using Case > casename. 3. Select the desired part(s) in the Main Parts List. The query will only be successful if the specified node is found in a selected part. 4. Select the variable(s) you wish to query in the Main Variables List (only node-based variables will be queried). 5. Select Query > Show Information > Node. The Query Prompt dialog opens. Enter the ID number of the desired node in the text field and click Okay. The query results will be printed to the EnSight message window, which will pop up. It can also be accessed from the Info icon. The following shows sample output from a node query: Node 123 Query Information. Coordinates (In Frame 0) are: (-2.00000e+00,0.00000e+00,1.19320e+00) Found in unstructured part # 1. Values for Variable velocity are: x=5.82290e-01,y=3.70160e-02,z=-1.82780e-03,mag=5.83468e-01. Page 291 Show IJK Information To show information about a specific IJK location for structured models: 1. If your data is transient, set the desired time using the Solution Time Quick Interaction area (Edit > Solution Time Editor...). 2. If you have multiple Cases, select the desired case using Case > casename. 3. Select the desired part (one only) in the Main Parts List. The query will only be successful if the specified IJK is found in the selected part. 4. Select the variable(s) you wish to query in the Main Variables List (only node-based variables will be queried). 5. Select Query > Show Information > IJK. The Query Prompt dialog opens. Enter the values for the desired IJK location in the text fields and click Okay. The query results will be printed to the EnSight message window, which will pop up. It can also be accessed from the Info icon. The following shows sample output from an IJK query: IJK 2 5 10 Query Information. Node Id is: 26146 Found in iblanked structured part # 1. Coordinates (In Frame 0) are: (4.72982e-01,1.64710e-01,6.50679e-02) No variables active to show values at the IJK location. Show Element Information To show information about a specific element, you must have either given or automatically assigned element labels for your data. You must also know the number of the element of interest. If you do not know the number, you can display element labels for the part. To show element information: 1. If your data is transient, set the desired time using the Solution Time Quick Interaction area (Edit > Solution Time Editor...). 2. If you have multiple Cases, select the desired case using Case > casename. 3. Select the desired part(s) in the Main Parts List. The query will only be successful if the specified element is found in a selected part. 4. Select the variable(s) you wish to query in the Main Variables List (only element-based variables will be queried). 5. Select Query > Show Information > Element. The Query Prompt dialog opens. Enter the ID number of the desired element in the text field and click Okay. The query results will be printed to the EnSight message window, which will pop up. It can also be accessed from the Info icon. The following shows sample output from an element query: Element 321 Query Information. Found in unstructured part # 2. Type of element is 6 Noded triangle Number of nodes is 6 Node IDs are: 1050 910 1054 1052 1053 1055 Neighboring Element Information is: Element neighbor 318 is of type 6 Noded triangle Element neighbor 322 is of type 6 Noded triangle Page 292 Show Part Information To show information about a part: 1. If your data is transient, set the desired time using the Solution Time Quick Interaction area (Edit > Solution Time Editor...). 2. Select the desired part in the Main Parts List. 3. Select Query > Show Information > Part. The query results will be printed to the EnSight message window, which will pop up. It can also be accessed from the Info icon. The following shows sample output from a part query: Part 2 Query Information. Unstructured part. Number of nodes 2380 Minimum coordinate(In Frame 0) is (0.00000e+00,0.00000e+00,0.00000e+00) Maximum coordinate(In Frame 0) is (3.80000e+01,1.20000e+01,0.00000e+00) Min node label in part is (1) Max node label in part is (2380) Element Information is: Element type: 6 Noded triangle, count = 1128. Min element label in part is (1) Max element label in part is (1128) Note: In general client side parts (particle traces, profiles, vector arrows, contours) can’t be queried in this manner. You will receive and error message like the following: ERROR: The query of the part specified could not be completed. Particle trace parts will give one bit of information - namely how many traces there are in the part. And a note will be given informing you how to get a “dump” of the trace into the message window. Something like: Part 2 Query Information This part is a particle trace part Part has 10 traces Note: For full trace dump into this window, issue the following command in the command dialog: test: full trace query ON Then repeat this query. SEE ALSO How To Query/Plot, How To Probe Interactively. User Manual: Show Information Page 293 Probe Interactively INTRODUCTION EnSight provides an interactive query capability that displays variable data in the Graphics Window as you move the mouse pointer over geometry, as you move the cursor tool within the model, or at specified node, element, ijk or xyz locations. The probe can display the value directly under the mouse pointer (by interpolating the nodal values of the applicable element) or search for and display the value at the node closest to the mouse pointer. BASIC OPERATION To probe interactively: 1. Click the Probe Icon (or select Query > Interactive Probe...). 2. Set the Query pulldown to desired operation. 3. Select the desired variable to display. Surface Pick: Interpolate to any picked position on the surface of the model. Cursor: Interpolate to location of cursor tool within the model. Node: At a specific node number. IJK: At a specific IJK location. Element: At a specific element number. XYZ: At a specific XYZ location. 5. Enter a value controlling the number of simultaneous probe markers displayed. Once this number has been reached, the oldest marker is replaced by each new marker. 6. If the selected variable is a vector variable, you can specify which component (or the magnitude) of the variable is displayed. 7. In addition to having the results displayed on the model in the graphics window, you can open a table that displays the results 4. If Query is set to Surface Pick, you can select: a) whether the probe will snap to closest node or b) use exact location. 8. When done, change the Query to None to disable interactive probing. And whether the information will be sampled: c) when you click the “p” keyboard key or d) continuously as you move the mouse. If Query is set to Node, Element, IJK, or XYZ, enter ID or values needed followed by Enter. If Query is set to Cursor, move the cursor tool to desired location and press the “p” keyboard key (while the mouse is in the graphics window). Page 294 Probe Display Attributes Probes are displayed as a marker (sphere) and the query text label. The appearance of the marker and label can be changed: 1. Click the Display Attributes... button in the Probe Quick Interaction area. Toggle visibility for the id label. (Node id, element id, etc.) Toggle visibility for the query text label. Toggle whether query text labels are “always on top” (never hidden by geometry) or occluded by geometry that is closer. Set the color of the label. Toggle visibility for the probe marker. Set the radius of all probe markers. Set the color of the marker. See the Elements surrounding the query It is possible to extract the elements that contain the query locations, if element ids exist: 1. Click the Display Attributes... button in the Probe Quick Interaction area. 2. Click the up arrow. An expansion factor of 1 indicates that the elements that contains the query will be extracted and shown. 3. Click the up arrow again. An expansion factor of 2 indicates that the elements from the step 2 will be shown along with the elements that neighbor these elements. Since the expansion factor feature uses a subset part, if you wish to display the subset part differently (such as turn on node labels) this can easily be done through the subset part attribute editing. The name of the subset part in the part list will be "Query show expand". 4. If you wish to keep the subset part that was the result of the display expansion factor setting you may do so when you turn off the interactive query. A pop-up dialog will ask you if you wish to keep or delete the expansion factor subset part. Page 295 OTHER NOTES Note that interactive query actions do not generate corresponding command language! When in query mode and using the ‘p’ key to pick a query location, other picking options that use the ‘p’ key are disabled (such as the picks in Part Mode: Part, Cursor, Line, Plane, and LookAt Point). The Quick Interaction area contains all the attributes that can be set for Probe Interactively. There is no Probe Feature Detail Editor. Even though it is not shown in the dialogs above, the “Time” variable is also available. This time variable is the integration time for particle traces. Thus, it is only defined and useful when probing particle traces. For other part types it will be undefined. SEE ALSO How To Query/Plot User Manual: Interactive Probe Query Page 296 Query/Plot INTRODUCTION EnSight can perform a number of different kinds of queries over time or space. The result is a Query Entity that can be plotted using EnSight’s built-in Plotting facility or that can be printed as a table or written to a disk file. BASIC OPERATION One first must create query items, which can be any of the following types: At Line Tool Over Distance. At 1D Part Over Distance. On a Spline Over Distance At Node Over Time At Element Over Time At IJK Over Time At XYZ Over Time At Minimum Over Time At Maximum Over Time By Scalar Value By Operating on Existing Queries Read From An External File Read from server file As one of these is selected, the Quick Interaction Area changes to reflect the information needed (such as variable to use) for the selected type. One can control whether the query entity will be a curve or a scatter plot by the choice for Variable 1 and 2. Query entities can be printed to the Status History Area, saved to a file, deleted, or plotted. Sample Query Creation and Plot (At Maximum Over time) 2. Click the Query/Plot icon (or select Query > Over Time/Distance...). 1. Select the part to query. 3. Select the Sample type for the query. 4. Select the variable(s) for Variable: 1. Note: for max or min over time you can select multiple variables to query simultaneously over time for efficiency. Leave Variable: 2 as None and it will default to Time, because of sample type. 5. Click Create Page 297 6. Click Plot 7. Select the Query Item to plot. 8. Click New Plotter. Note: If any previous plotter has the correct type, it will show up in the list and can be selected instead of creating a new one, if desired. The plot will be displayed in the graphics window and will be listed in the Plotters Of Query’s Type list. For more information on plotting, see the Plotting section towards the end of this How To. Managing Query Entities The Quick Interaction area provides various controls for managing existing Query Entities: List of current Query Entities. Selected items are operated on by the following actions. Plot the selected Query Entity as described above. Append the text of the selected Query Entity to the Status History window. Save the selected Query Entity to a disk file, either as xy data or in a formatted report-like manner. Note that previously created and saved query entities are restored through the use of the Read From An External File query Sample option. Update the selected query when any of its attributes or have been modified. Delete the selected Query Entity. For various queries, marker visibility, as well as size and color can be controlled here as well. Page 298 Over Distance Queries EnSight can perform queries at uniform points along the line tool, at nodes along a 1D part, or at uniform points along a spline. One-dimensional parts include model parts consisting of bar elements, 1D (Line) Clips, and particle traces. At Line Tool Over Distance. After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as “At Line Tool Over Distance” 2. Select the variable to query over the distance in “Variable: 1”. Leave “Variable: 2” as None unless you want a scatter query of two different variables along the line tool. 3. Optionally, select the Distance option desired, number of points along the line, and modify the tool location if needed. 4. Click Create At 1D Part Over Distance. 1. Select the part containing only 1D elements. 2. Select Sample as “At 1D Part Over Distance” 3. Select one variable to query in “Variable: 1”. 4. Optionally modify Distance, origin and multiple segment attributes. 5. Click Create. For the two over distance query types, the variable is plotted against the selected “Distance” metric. The node with the lowest node ID number is queried first. Since the nodes for 1D part over distance are not necessarily evenly spaced, the reported distance is one of the following: Distance In Setting Arc Length X Arc Length Y Arc Length Z Arc Length From Origin X From Origin Y From Origin Z From Origin Reported Distance The distance along the part from the first node to each subsequent node (i.e. the sum of the 1D element lengths) The X coordinate value of each node accumulated from the start The Y coordinate value of each node accumulated from the start The Z coordinate value of each node accumulated from the start The distance from the origin The X distance from the origin The Y distance from the origin The Z distance from the origin If the 1D part contains more than one set of contiguous 1D elements (such as a particle trace from a Line emitter), the resulting query will contain one plot entity for each set. Page 299 On a Spline Over Distance After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as "At spline over distance" 2. Select the variable to query along the spline 3. Select the spline to query 4. Optionally, select the Distance option desired and the number of points along the spline. 5. Click Create Over Time Queries For transient dataset, EnSight can query the variable values over a range of time at a particular node, element (or specific IJK coordinate for structured data) or an arbitrary point. You can also search the minimum or maximum of a variable over all nodes over a time range. At Node Over Time After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as “At Node Over Time” 2. Select one variable to query over time in “Variable: 1”. Leave “Variable: 2” as None unless you want a scatter query of two different variables over time. 3. Enter the Node ID. 4. Optionally, change the number of Samples (defaults to number of time steps), and whether to sample by Value of FFT. 5. Click Create Page 300 At Element Over Time After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as “At Element Over Time” 2. Select one variable to query over time in “Variable: 1”. Leave “Variable: 2” as None unless you want a scatter query of two different variables over time. 3. Enter the Element ID. 4. Optionally, change the number of Samples (defaults to number of time steps), and whether to sample by Value of FFT. 5. Click Create At IJK Over Time After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as “At IJK Over Time” 2. Select one variable to query in “Variable: 1”. Leave “Variable: 2” as None unless you want a scatter query of two different variables over time. 3. Enter IJK for the point. 4. Optionally, change the number of Samples (defaults to number of time steps), and whether to sample by Value of FFT. 5. Click Create At XYZ Over Time After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as “At XYZ Over Time” 2. Select one variable to query over time in “Variable: 1”. Leave “Variable: 2” as None unless you want a scatter query of two different variables over time. 3. Either type in the desired xyz location or place the cursor where desired in the model, either through picking, or other transformation methods and click the cursor Get button. 4. Optionally, change the number of Samples (defaults to number of time steps), and whether to sample by Value of FFT. 5. Click Create Page 301 At Minimum Over Time After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as “At Minimum Over Time” 2. Select variable(s) to query over time in “Variable: 1”. Note: for max or min over time you can select multiple variables to query simultaneously over time for efficiency. Leave “Variable: 2” as None unless you want a scatter query of two different variables over time. 3. Optionally, change the number of Samples (defaults to number of time steps), and whether to sample by Value of FFT. 4. Click Create At Maximum Over Time After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as “At Maximum Over Time” 2. Select variable(s) to query over time in “Variable: 1”. Note: for max or min over time you can select multiple variables to query simultaneously over time for efficiency. Leave “Variable: 2” as None unless you want a scatter query of two different variables over time. 3. Optionally, change the number of Samples (defaults to number of time steps), and whether to sample by Value of FFT. 4. Click Create By Scalar Value After selecting the part to query and clicking the Query/Plot icon 1. Select Sample as “By Scalar Value” 2. Select the two variables you wish to form the query from. 3. Select the desired scalar variable and value 4. Click Create Page 302 Scatter Query Example A scatter query is a query of one variable against another. Everything is done like a regular query except you select another variable in the Variable: 2 field, instead of leaving it as None. Operations on Existing Queries You can perform a scaling of an existing query, or a scaling and algebraic addition of two queries, or an integration or differentiation of a query. By Operating on Existing Queries 1. Select Sample as “By Operating On Existing Queries” 2. Select the operation. (Combine/Scale, Integrate or Differentiate). For Combine/Scale (shown): 3. Select the Query Item and the set the Scale Factor if you want to scale a single query - or Select both Query Items and set both Scale Factors if you want to scale and add algebraically. 3. Click Create Note, if integrate or differentiate is chosen, you will only need to choose the query to operate on. Queries From External Sources You can import previously created and saved (or externally generated) EnSight queries or Dytran time history (.ths) files. Read From An External File 1. Select Sample as “Read From An External File”. 2. Click the “Load XY Data From File ...” button to open the File Selection dialog, and select any previously saved EnSight XY data file or a Dytran .ths file. Read from server file You can ask the server for any queries that it knows about. Some data formats (acessed by user-defined readers) have such. If any are available, they will show up in the list of Queries. Page 303 Plotting Once Queries exist, they can be easily plotted in a new plotter in EnSight, or if an existing plotter of the correct type exists, they can be added to the existing plotter. 1. Select the Query Item to be plotted. 2. Click the New Plotter button if a new plotter is desired. In this case we did not choose to plot the displacement vs. Time query on the already existing Maximum plastic vs. Time plot. Instead we created a new plotter. 3. Select the next Query Item to be plotted. 4. Select the existing plotter on which to add this query plot. In this case, the Minimum plastic vs. Time query is added to the existing plot for Maximum plastic vs. Time ) thus the plotter will now have two curves on it. Note: the toggle indicated controls whether the plot is automatically rescaled whenever a curve is assigned to it, or not. OTHER NOTES See XY Plot Data Format in the User Manual for a description of the plot file format. SEE ALSO How To Probe Interactively How To Change Plot Attributes User Manual: Query/Plot Page 304 Change Plot Attributes INTRODUCTION EnSight provides a full-featured X-Y plotting system fully integrated with the query and transient data handling capabilities. Query entities (see How To Query/Plot) are assigned to plotters. Plotters display one or more curves where each curve is based on the data from a single query entity. If the query entity is changed, the corresponding curve will automatically update. Plotter attributes (controlling aspects of appearance such as color of curves and titles, axis labeling, gradation and tick marks, and border/background color) can be edited in Plot Mode. This article is divided into the following sections: Anatomy of a Plotter Create Plotters Select Plotters and Curves Move and Resize Plotters Set Plotter Visibility Set Title, Background, Legend, Border, Position, Time Attributes Set Axis Attributes Set Curve Attributes Delete Plotters Anatomy of a Plotter Plotters are composed of the following fundamental components: Plot Title Plot Scale Handle (grab to scale all except Plot Title and Legend) Y Axis Value Labels Y Axis Gradation Legend Legend Position Handle Y Axis Subgradation Y Axis Title Curves X Axis Value Labels Plot border (red indicates that it is currently selected) X Axis Title Page 305 Create Plotters Plotters are automatically created when you assign a query entity to a new plotter (see How To Query/Plot for details). Select Plotters and Curves When you create a new plotter, it automatically becomes the currently selected plotter (as shown by the border drawn in the default highlight color). Any action to change plotter attributes always operates on the currently selected plotter(s) (or the plotter defaults if none are selected). To select plotters: 1. Click Plot in the Mode Selection area to enter Plot mode. 2. Move the mouse pointer into the Graphics Window and click the left mouse button anywhere within the desired plotter. You can add to an existing selection by holding down the Control key as you click in additional plotters. Since plotters may contain multiple curves, it is necessary to select individual curves within a plotter for subsequent action. If no curves are selected, changes to curve attributes reset the defaults for subsequently created curves. To select curves within a plotter: 1. Click Plot in the Mode Selection area to enter Plot mode. 2. Move the mouse pointer into the graphics window and click the left mouse button on the desired curve. You can add to an existing selection by holding down the Control key as you click on additional curves. Move and Resize Plotters Plotters can be easily moved and resized. You can either reposition a plotter with the mouse in the Graphics Window, or precisely by entering exact values. To move or resize a plotter interactively: 1. Click Plot in the Mode Selection area to enter Plot mode. 2. Select the desired plotter (as described above). 3. To move a plotter, move the mouse pointer into the Graphics Window and into the selected plotter. Click and hold the left mouse button and drag the plotter to the desired location. 4. To resize a plotter, move the mouse pointer into the Graphics Window and place the it over one corner or side of the selected plotter. Click and hold the left mouse button and drag the corner or side to the desired location. A plotter can also be positioned precisely. See below for details. Set Plotter Visibility Selected plotters can be made invisible: 1. Click Plot in the Mode Selection area to enter Plot mode. 2. Select the desired plotter(s). 3. Click the Plotter Visibility Toggle to toggle display of the selected plotters on or off (when not in Plot Mode). Off On Plotters that are currently invisible are displayed dimmed while in Plot mode. Page 306 Set Title, Background, Legend, Border, Position, Time Attributes Overall attributes of plotters are controlled through the Plotter Specific Attributes dialog: 1. Click Plot in the Mode Selection area to enter Plot mode. 2. Select the desired plotter(s). 3. Click the Graph Attributes icon. The Plotter Specific Attributes dialog contains six sections: Background, Border, Legend, Position, Time, and Title. Click the tab at the top to display the corresponding section. The Background section controls the type and color of the plotter background: Set background type to either None or Solid. A solid background is opaque. If the background type is Solid, set the color (either enter new values in the RGB fields or click the Mix... button to open the Color Selector dialog). The Border section controls the visibility and color of the plotter border: Toggle border visibility Set border color (either enter new values in the RGB fields or click the Mix... button to open the Color Selector dialog) The Legend section controls the plotter legend text. The actual text in the legend is specific to the individual curves displayed in the plotter. See Set Curve Attributes below. Toggle legend visibility Set text size Set origin (with respect to lower left corner of plotter) Set text color (either enter new values in the RGB fields or click the Mix... button to open the Color Selector dialog) Page 307 The Position section controls the size and position of the plotter: Set the origin of the plotter (with respect to the lower left corner of the Graphics Window). Set the plotter width/height (0-1 normalized to the width and height of the Graphics WIndow) The Time section controls whether the curves will animate and whether the plot will be swept out during the animation or whether a time marker will sweep along the curve in the plotter: Select Animate curves if you want the curve to be swept out or a time marker to be swept along the curve during animation. Toggle Display time marker on if you want a vertical line to sweep along the curve during animation. Otherwise the curve itself will be swept as animation proceeds. You can control the line width, style, and color of a time marker. The Title section controls the main title at the top of the plotter (remember to press return after changing a text field): Set title text Set the size of the title text Set the text color (either enter new values in the RGB fields or click the Mix... button to open the Color Selector dialog) If you desire special symbols, click Insert Symbol, pick the symbol(s), close, then hit return in the title field. Page 308 Set Axis Attributes Axis attributes of plotters are controlled through the Axis Specific Attributes dialog: 1. Click Plot in the Mode Selection area to enter Plot mode. 2. Select the desired plotter(s). 3. Click the Axis Attributes icon. The Axis Specific Attributes dialog contains three sections: General, X-Axis, and Y-Axis. Click the button at the top to display the corresponding section. The General section controls axis width, color, and scaling as well as Gradation and Subgradation marks. Set line width of axes Set color of axes Set auto scaling - when on, the Min/Max values and the number of gradations (attributes for the X-Axis and Y-Axis) will be used as suggested values to arrive at pleasing numbers for the axis labels. Set line width, style, and color for major gradations (gradations are enabled on a per-axis basis in the X-Axis and Y-Axis sections) Set line width, style, and color for subgradations (subgradations are enabled on a per-axis basis in the X-Axis and Y-Axis sections) Page 309 The X/Y-Axis section controls the title, value labels, and gradation marks for the X or Y axis. Choose which axis to deal with Toggle visibility of the axis line Set the origin location of the plot (with respect to the left/ bottom edge of the plotter) Set the width/height of the plot (with respect to the width/ height of the plotter) Set the title of the axis Set the size of the title of the axis Set the color of the title of the axis Set the type of axis label: None (show no value labels), All (show value labels at each gradation), or Beg/End (show only the first and last value labels) Set the size of the axis value labels Set the scale to linear or logarithmic(log10) Set the min/max range of the variable displayed on the axis (Note: will be used as exact values only if the Auto Axis Scaling toggle under the General Section is off.) Set the display format of the value labels (or click Format... to select common formats from a list) Set the color of the axis value labels Set the type of gradation: None (no gradation marker), Grid (a vertical line), or Tick (a mark on the axis at the value label positions) Set the approximate number of gradations (also depends on the min/max range) Set the type of subgradation: None (no subgradation marker), Grid (a vertical line), or Tick (marks on the axis between the value label positions) Set the number of subgradations between each value label By swapping the min and max can swap the positive direction. Page 310 Set Curve Attributes Curve attributes are controlled through the Curve Specific Attributes dialog: 1. Click Plot in the Mode Selection area to enter Plot mode. 2. Select the desired curve(s) by clicking on them in the Graphics Window (control-click to select multiple curves). If no curves are selected, any changes are applied to the curve defaults which will effect any curves created in the future. 3. Click the Curve Attributes icon. Set the description text for the curve (this will appear as the legend) If desired, you can apply scale factors to your x and/or y data Set the line width Set the line style Set the line type: None (only curve markers are drawn), Connect Dots (data points are connected by straight lines), Smooth (a piece wise spline is fit to the data points using the number of points specified in the Smooth Sub-points field) Set the marker type Set the size of the markers Normalize x and/or y values, if desired. Set the color of the curve Delete Plotters Existing plotters can be deleted: 1. Click Plot in the Mode Selection area to enter Plot mode. 2. Select the desired plotter(s). 3. Click the Delete icon. Note that deleting a plotter has no effect on any query entities that were attached to the plotter Select All You can select all curves or all plotters. Page 311 SEE ALSO How To Query/Plot User Manual: Plot Mode Page 312 Query Datasets INTRODUCTION Results datasets often consist of multiple files. EnSight provides a mechanism to quickly ascertain basic information about dataset files. BASIC OPERATION To display dataset information: 1. Select Query > Dataset... The Associated Files section displays all dataset files giving the size in bytes and last modification date. The File Specific Information section displays information about the file currently selected in the Associated Files list. The information presented varies based on the file type and format. The General Geometric section displays whether the geometry is static (time invariant), changing coordinates (nodal coordinates update each timestep), or changing connectivity (coordinates plus connectivity update every timestep). Further the 3D extent of all geometry as well as the number of nodes and elements is displayed. The Element Detail section shows the type and number of all unique element types in the dataset. SEE ALSO User Manual: Query Dataset Page 313 Manipulate Parts Change Color INTRODUCTION In EnSight, parts can be colored either by a constant color or based on the value of a variable. Coloring geometry by variables is one of the simplest and most effective means of visualizing the distribution of a variable. You can also set a “default” color – all parts subsequently created will automatically be colored by the default color (described in the Other Notes section below). This article covers changing the color of a part. See How To Edit Color Maps for information on changing the mapping from variable values to color. BASIC OPERATION To change a part’s color: 1. Select the desired part(s) in the Main Parts List. 2. Click the Color icon. Which will open the Part Color dialog. 3. If coloring by a variable, select the variable in the ‘Color by’ pulldown. 4. If coloring by a vector component turn on the Show components toggle. 5. If coloring by a constant color, select a color from the color matrix. - OR 6. click the More... area to open the Color Selector dialog Page 314 OTHER NOTES If coloring by a nodal variable, the default coloring will be continuously varying - even within a given element. If you are coloring by a per-element variable, the coloring will not vary within a given element. If you desire to see perelement variables in a continuously varying manner, you can toggle on “Use continuous palette for per element vars” under Edit->Preferences... Color Palettes. . You can set a default variable that will be used to color all subsequently created parts. To do this, be sure no parts are selected in the Main Parts list. (To de-select a part, hold down the control key as you click on the selected item.) Select the desired default variable in the Variables list of the Part color, lighting, & transparency dialog as described in 3. and 4. above. Any part created subsequently will automatically be colored by the default variable. Applying 2D Textures: You can also apply 2D textures to a part, by clicking the Edit texture.. button here. The Textures dialog will be opened. See How To Map Textures SEE ALSO How To Edit Color Maps. How To Map Textures User Manual: Color Selector Page 315 Copy a Part INTRODUCTION The copy operation creates a dependent shallow (only on client) copy of another part. The new part has its own set of attributes (except for representation), but shares geometric and variable data with the original. One of the best reasons to create a copy is to show multiple variables on one part at the same time in a side-by-side configuration. The copy can be moved independently since new copies are automatically assigned a new frame. BASIC OPERATION To create a copy of a part or parts: 1. Select the desired part(s) in the Parts List. A separate copy will be created for each selected part. 2. Select Edit > Part > Copy. 2. OR, just right click on the part name in the part list and choose ‘Copy’. The new copies will be added to the end of the Parts List with “– COPY” appended to the part description. ADVANCED USAGE The most common reason for needing a copy of a part is to display multiple variables on the same geometry simultaneously. When you create a copy, a new Frame is also created and the copy is assigned to it (when you create multiple copies at the same time, a new frame is created for each new copy). Using Frame Mode, frames can be manipulated (e.g. translated or rotated) independently. See How To Create and Manipulate Frames for more information. OTHER NOTES The dependence of the copy on the original has some important consequences: 1. If you change the visual representation of the original, the representation of the copy will change as well. 2. You cannot delete the original until the copy has also been deleted. 3. Since the part copy only exists on the client, you cannot save a part copy to disk. If you want to create a dependent, non-shallow copy of a part, you can perform a merge operation on a single part. This type of copy does now have the same consequences: the resulting “copy” is basically independent except that it cannot exist without its parent. SEE ALSO User Manual: Part Operations Page 316 Group Parts INTRODUCTION In many types of analysis, multiple parts are used to distinguish between various components or material types. To the extent allowed by the particular data format, EnSight maintains this distinction by assigning these entities to separate model parts. In many cases however, this distinction is no longer useful for postprocessing. When manipulating parts, you often need to apply the same set of attributes to all of them. If the number of parts to be treated identically is large, this process can become unwieldy. EnSight provides a group operator to combine multiple parts of the same type and case into a single part. The selected parts for the group are automatically removed from the user interface, leaving only the newly formed group part. The operation can be reversed by performing the Ungroup command. BASIC OPERATION 1. Select the desired part(s) in the Parts List. 2. Select Edit > Part > Group (or right click in the part list) 2. OR right click on the part name in the part list and choose ‘Group...’ 3. Enter a new part name in the pop-up dialog. The selected parts for the group are removed from the part list, and a new Group part is added to the end of the Parts List. OTHER NOTES The operation can be reversed by selecting Edit > Part > Ungroup (or right click on the group name in the part list and choose ‘Ungroup’. Grouped parts cannot contain other grouped parts. SEE ALSO User Manual: “Part Operations” Page 317 Merge Parts INTRODUCTION In many types of analysis, multiple parts are used to distinguish between various components or material types. To the extent allowed by the particular data format, EnSight maintains this distinction by assigning these entities to separate model parts. In many cases however, this distinction is no longer useful for postprocessing. When manipulating parts, you often need to apply the same set of attributes to all of them. If the number of parts to be treated identically is large, this process can become unwieldy. EnSight provides a merge operator to combine multiple parts into a single part. The merge operation creates one new part from one or more selected parent parts. The original parts are unchanged. If only a single part is selected for the operation, merge will create a “true” copy of the part (as opposed to the shallow copy that the Copy operation creates), with the only dependence being that the parent must exist. If you delete any of the original parts after the merge, these components will be deleted from the merged part as well. BASIC OPERATION 1. Select the desired part(s) in the Parts List. 2. Select Edit > Part > Merge The new merged part is added to the end of the Parts List with the description “Merge of parts #,#,#” where # are the part numbers of the originally selected parts. OTHER NOTES Unlike Copy, merge creates true, server-based parts. Unlike Extract, merge creates parts based on the full, serverbased representation of the part. If you merge a structured (IJK) part, the resulting part will be unstructured. SEE ALSO How To Group Parts. User Manual: “Part Operations” Page 318 Extract Part Representations INTRODUCTION The extract operation is closely tied to part representations. Extract creates a single new part using only the geometry of the current representation of the selected part(s). For example, if the current representation of a part consisting of 3D elements is Border, the result of extraction will be a part consisting of all unshared 2D elements (the surface). Extract is most often used to reduce the amount of information for a part (e.g. for faster display or for geometry output) or to create a surface shell part – perhaps for subsequent cutting – of a 3D computational domain. BASIC OPERATION 1. Select the desired part(s) in the Parts List. 2. Select Edit > Part > Extract The new part is added to the end of the Parts List with the description “Extract of parts #,#,#” where # are the part numbers of the originally selected parts. SEE ALSO See How To Change Visual Representation. User Manual: “Part Operations” Page 319 Cut Parts INTRODUCTION It is sometimes desirable to cut parts to, for example, reveal the interior of a solid or remove unwanted or unneeded portions of a model. EnSight can cut any server-based part and either keep both “sides” or discard one. Any of the 3D tools (Plane, Quadric, or Box) can be used as the cutting surface. The cut operation produces dependent copies of the parent part. The part(s) resulting from a cut are completely valid parts consisting of standard element types. These parts can be used for any operation – including further cuts. BASIC OPERATION To cut a part: 1. Select the part(s) in the Main Parts list. 2. Click the Clip Feature icon. 3. Select the desired cutting tool (Plane, Box, Cylinder, Sphere, Cone, Surface of Revolution or Revolve 1D Part). 4. Position the desired cutting tool in the desired location. 5. Select which “sides” to keep. . Inside: Keeps inside of quadrics or box and “front” of plane. Outside: Keeps outside of quadrics or box and “back” of plane. In/Out: Keeps both sides Crinkly: Keeps all elements that intersect the plane. For the Plane tool, the inside is the positive Z side of the tool. For the quadric tools, the inside and outside are intuitive. In the Main Parts list, the original part remains and cannot be deleted without also deleting the cut parts (but can easily be made invisible if desired). If In/Out was used, two new parts are added to the end of the Main Parts list with the same name as the original part with “+” added to the name of the Inside part and “–” appended to the name of the Outside part. If Inside or Outside was used, one new part is created with “+” added to the beginning of the name. OTHER NOTES A part copy cannot be cut. However, if the parent of the copy is cut, the copy will be cut as well (since part copies share geometry with the parent). The cut operation maintains the order of the elements, e.g. 3D elements yield 3D elements and 3D quadric elements yield 3D quadric elements. The cut algorithm breaks elements intersecting the cutting surface into tetrahedrons. Since there is no transition zone created between these tetrahedrons and their non-cut neighbors, non-shared element faces are possible. These non-shared faces can result in undesired lines and/or elements during border and/or feature angle representations. If you cut a structured (IJK) part the resulting parts will be unstructured. Cuts with the Box are not true cuts, but simply a division of all elements that fall completely within the box or not. SEE ALSO User Manual: Part Operations Page 320 Delete a Part INTRODUCTION The delete operation removes selected parts and any parts dependent on them. All information associated with the parts on both the client and server is removed. Deletion cannot be undone. BASIC OPERATION 1. Select the desired part(s) in the Parts List. 2. Select Edit > Part > Delete or click the Delete... button below the main parts list or click the Delete key on your keyboard while the mouse is in the EnSight window or right click and select Delete. 3. Confirm the deletion. OTHER NOTES In some cases, variables that depend on a deleted part may have to be updated. For example, if you have a variable such as Area calculated on a set of parts and one of the parts is deleted, the Area variable will automatically be recalculated. If you delete a grouped part, all parts in the group will be deleted. SEE ALSO User Manual: “Part Operations” Page 321 Change the Visual Representation INTRODUCTION The ability to change part representations is a powerful management tool in EnSight. Not only can you select the visual representation that best meets your needs, you can also manage memory more effectively. Part representations exist on the client, the full part is maintained by the server. Using simpler representations both reduces your client memory consumption as well as improving graphics display speed. EnSight provides five representation modes for parts (as well as three modes that are a combination of the five depending on the dimensional order of parts): Full Border Every face and edge of every element is displayed. Only unshared faces (for 3D parts) or unshared edges (for 2D parts) are displayed. 3D Border, 2D Full Display 3D parts in Border representation; display 2D parts in Full representation. 3D Feature, 2D Full Display 3D parts in Feature representation; display 2D parts in Full representation. 3D nonvisual, 2D Full Display 3D parts in Non Visual representation; display 2D parts in Full representation. Feature Angle Only those edges joining faces in the Border representation for which the angle between the faces is less than some threshold are displayed. Feature Angle typically extracts the topological features of interest in a model. Bounding Box Only a wireframe box representing the XYZ extents is displayed. Non Visual No visual representation exists on the client. It is often useful to use Non Visual as the representation for 3D computational domain parts – provided you also have some sort of shell part to display the outer surface. Volume Every element is displayed with a controllable level of transparency. Use this with caution as this can require a large amount of memory on your hardware graphics card. Additionally, one can specify that only a point and normal (instead of the element connectivity) for the specified representation be loaded. This is most useful for very dense models. The sitewide default visual representation (as well as extension mapping) is individually specified for data formats in the $CEI_HOME/ensight92/site_preferences/ensight_reader_extension.map file. For example .case files always open with the EnSight Case gold reader and parts are always in 3D Feature, 2D Full mode. Custom visual representation can be specified in the user’s local ensight_reader_extension.map file located in the users local EnSight Defaults directory. Page 322 BASIC OPERATION 1. Select the desired part(s) in the Parts List. 2. Select Part in the Mode Selection area to enter Part mode. 3. Click the Element Representation icon to open the Part Element Settings dialog. 4. Select the desired visual representation. Options are: 5. If desired, you can have each element connectivity of your element representation be replaced by a point and normal only. 6. If desired, you can apply polygon reduction. Polygon reduction is designed to speed up visualization processing by thinning out the number of polygons that are rendered. There is naturally a trade off in image quality and speed. Note that the original model is not modified, just its rendered image. OTHER NOTES Note that some derived parts (such as contours or vector arrows) are based on the client’s representation of the parent part. If the parent’s representation changes, the derived parts will change as well. You cannot change the representation of a copied part. A copy always exhibits the current representation of the original part. A part’s representation can be made “permanent” by creating a new part based on the current representation. See How to Extract Part Representations for more information. SEE ALSO User Manual: Element Representation Page 323 Set Attributes INTRODUCTION Part attributes control the appearance and behavior of parts. Much of the power of EnSight derives from the broad range of attributes available and the ease with which they can be changed. Attributes are grouped into several classes: Creation Creation attributes are unique for each (non-model) part type (e.g. the isovalue of an isosurface). Most (if not all) of the creation attributes for a part are accessible in the Quick Interaction area after doubleclicking the part in the Main Parts List, or by the main menu structure Edit->Part Feature Detail Editors>Isosurfaces (for example). A model part attribute controlling whether the given mesh elements will be used, or whether the model nodes will be used to create a new 2D or 3D mesh is available in this section. General Visibility Susceptibility to auxiliary clipping Reference Frame Response to change in time (active or frozen) Symmetry options Viewport visibility Coloration (by variable or constant color) Hidden surface toggle Hidden line toggle Shading type (flat, Gouraud, smooth) Transparency Lighting (diffuse, shininess, highlight intensity) Visual symmetry Node, Element, and Line Node, line, element visibility toggles Node type (dot, cross, sphere) Node scale (constant or variable) Node detail (for spheres) Node and element label toggle Element-line width Element-line style (solid, dotted, or dot-dash) Element representation on client (full, border, 3D border/2D full, 3D feature/2D full, 3D nonvisual/2d full, feature angle, bounding box, nonvisual) Element shrink factor Polygon reduction factor Failed element variable and rules Displacement Displacement variable Displacement scaling factor IJK Axis Display IJK Axis visibility IJK Axis scale value Most (if not all) of the Creation attributes for non-model parts can be edited in the Quick Interaction area by doubleclicking on the part in the Main Parts list. Most display attributes (such as color and visibility) can be controlled via the icons in Part mode. If required, the Feature Detail Editor can be opened for complete access to all attributes. See How To Use the Feature Detail Editors for more information. Since Creation attributes are specific to each (non-model) part type, they are not covered here. Look in the How To article for the specific part type for details on those particular Creation attributes. Server side displacement capability is available in the Creation Attribute area for model parts. See How To Display Displacements for a description of this capability. This article is divided into the following sections: Part Mode Attribute Icons General Attributes Node, Element, and Line Attributes Displacement Attributes IJK Axis Display Attributes Page 324 BASIC OPERATION Part Mode Attribute Icons The Part mode icons can be used to quickly set attributes for parts. To use these controls: 1. Select the desired part(s) in the Main Parts list. 2. Click Part in the Mode Selection area. 3. Click appropriate icon to set the desired attribute: Part Visibility Color, Lighting, & transparency Line Width Visibility Per Viewport Element Visual Representation Displacement Visual Symmetry Node and Element Labeling Node Representation Failed Elements Element Blanking Shading Type Hidden Line Auxiliary Clipping Fast Display Representation Page 325 General Attributes The General Attributes section in the Feature Detail Editor duplicates many of the controls available in Part mode. To set attributes using the General Attributes section: 1. Right click on the part name in the part list and choose ‘Edit’ or right click on the part in the graphics window and choose ‘Edit’. 1. OR Select Edit > Part Feature Detail Editors > part type. 2. In the parts list at the top of the Feature Detail Editor dialog, select the desired part(s). By default, any changes you make to attributes will take effect immediately. If you wish to “batch” a series of changes, select Edit > Immediate Modification (be sure to use the Edit menu in the Feature Detail Editor dialog) to toggle this setting off. When Set part detail representation (according to Global Viewing Detail Mode): Toggle part visibility Toggle auxiliary clipping on/off Toggle whether the client’s portion of the part changes if the current time step changes • Box: part is represented as bounding box. • Elements: part is represented according to Element Representation • Points: part is represented as a point cloud Set part reference frame Set color by constant or color by variable Set the part color if constant Set part graphical symmetry Toggle part hidden surface Set shading type: Toggle part hidden line • Flat: color and shading are constant across elements Set part transparency as “true” or with a fill pattern • Gouraud: color and shading vary linearly across elements Set part shading parameters: • Smooth: color and shading calculated based on surface normal interpolated across elements to simulate a smooth surface. • Diff: diffuse shading – the amount of light that a surface reflects. 0 is none and 1 is full. • Shin: Degree of shininess – 0 is dull and 100 is very shiny. • H Int: Degree of highlight intensity – 0 is none and 1 is full. SEE ALSO Set Global Viewing Parameters Page 326 Node, Element, and Line Attributes Node, element, and line attributes control how a part’s nodes and elements are displayed. Nodes can be displayed as dots, crosses, or spheres. If displayed as crosses or spheres, the radius can be set by the value of a variable at that node. To set attributes using the Node, Element, and Line Attributes section: 1. Select Edit > Part Feature Detail Editors > part type. 2. In the parts list at the top of the Feature Detail Editor dialog, select the desired part(s). By default, any changes you make to attributes will take effect immediately. If you wish to “batch” a series of changes, select Edit > Immediate Modification (be sure to use the Edit menu in the Feature Detail Editor dialog) to toggle this setting off. When toggled off, a button at the bottom of the dialog becomes active: Apply Changes. Click it when you are ready to apply a set of changes. 3. Set the desired attribute(s): Set node representation Set visibility of nodes, lines, elements • Dot: nodes are displayed as points. Set node/element label visibility • Cross: nodes are displayed as crosses and can be fixed size (size set by the Scale value) or sized based on a variable (and scaled by the Scale value). Set Line width and Style (Solid, Dotted, or Dot-dashed) • Sphere: nodes are displayed as spheres and can be fixed size (size set by the Scale value) or sized based on a variable (and scaled by the Scale value). Sphere detail controlled by Detail value. Set element representation (described below) Set element shrink factor (shrink elements toward the centroid) Set angle for Feature Angle representation Set polygon reduction. Same model, but simpler representation. Trade-off of visual fidelity and rendering speed. Set variable to use for failed element removal. Set the values and rules for failed element variable values Page 327 EnSight provides five representation modes (and three combination modes) for parts (see also How To Change Visual Representation): Full Border 3D Border, 2D Full 3D Feature, 2D Full 3D nonvisual, 2D Full Feature Angle Non Visual Bounding Box Every face and edge of every element is displayed. Only unshared faces (for 3D parts) or unshared edges (for 2D parts) are displayed. Display 3D parts in Border representation; display 2D parts in Full representation. This is the default representation for all parts. Display 3D parts in Feature representation; display 2D parts in Full representation. Display 3D parts in Non Visual representation; display 2D parts in Full representation. Only those edges joining faces in the Border representation for which the angle between the faces is less than some threshold are displayed. Feature Angle typically extracts the topological features of interest in a model. No visual representation exists on the client. It is often useful to use Non Visual as the representation for 3D computational domain parts – provided you also have some sort of shell part to display the outer surface. Displays a bounding box surrounding (and in place of) the nodes and elements. Displacement Attributes In structural mechanics simulations, a common output variable is a set of vectors representing the movement or displacement of geometry. Each displacement vector specifies a translation of a node from its original position (an offset). EnSight can display and animate these displacements to help visualize the relative motion of geometry. To set Displacement attributes (see also How To Display Displacements): Set Displace By to either None (no displacement) or the vector variable to use for displacement. Set nodal displacement factor to reduce or exaggerate a displacement IJK Axis Display Attributes Model Parts and clips (because they can be structured parts) will have these attributes available. These attributes will only be applicable to structured parts. Toggle IJK Axis Visible to display an IJK axis for the part. The scale factor for the IJK Axis triad can be modified in this field. SEE ALSO Introduction to Part Creation User Manual: Part Attributes Page 328 Display Labels INTRODUCTION It is often useful to be able to identify specific nodes or elements within your model. EnSight can display node and element labels in the Graphics Window. If your data provides explicit node or element labels (or you are using EnSight data formats and have asked EnSight to assign ids), EnSight will be able to display those values. Only model parts can have labels. Displaying labels on parts with thousands of nodes or elements can obscure both the geometry as well as the labels of interest (as well as degrading display performance). EnSight provides a filtering mechanism to display only selected ranges of labels. BASIC OPERATION Displaying Node and/or Element Labels To display labels (and to control filtering and coloring): 1. Select the desired part(s) in the Main Parts list. 2. Select Part mode in the Mode Selection area. 3. Click the Node/Element Label icon to display the Node/Element labeling attributes dialog. 4. Click the appropriate toggle(s) to turn on/off node and/or element labels. 5. To set filters for node/ element labels, select the desired filter and enter the appropriate values in the Low and/or High fields. 6. Set the node/element label color. The label filters operate as follows: None Display all labels. Low Remove all labels < the Low value Band Remove all labels >= Low and <= High High Remove all labels > the High value Low/High Remove all labels < the Low value as well as those > the High value. Page 329 Note that the Node and Element Label toggles also have counterpart toggles in the View Menu. These act as global toggles that enable or disable any per-part node or element labels. OTHER NOTES Note that created parts do not have node or element labels. Note: The font size of the node and element labels can be modified under Edit > Preferences > Annotation. Simply change the value in the 3D label size field and hit a return. If desired, this change can be made permanent for future EnSight sessions by hitting the Save to preference file button. Another useful technique for reducing label clutter is to use the front and back Z clipping planes to display only a thin slice of interest. See How To Set Z Clipping for more information. SEE ALSO User Manual: Label Visibility Page 330 Set Transparency INTRODUCTION EnSight can display parts as transparent using two different methods: True (alpha) Fill Pattern True transparency uses the hardware alpha planes. Although the resulting visual effect is superior to fill patterns, true transparency is slower to draw (especially for large models) since multiple draw passes must be performed. Fill pattern or screen-door transparency uses polygon fill patterns to provide a pseudotransparency effect. EnSight provides three patterns. BASIC OPERATION 1. Select the desired part(s) in the Parts List. 2. Select Part in the Mode Selection area to enter Part mode. 3. Click the Part color, lighting, & transparency icon to open corresponding dialog. For true transparency: 4. Adjust the slider to the desired setting. The Graphics Window will dynamically update as the slider is adjusted. OR For Fill Pattern transparency: 4. Select the desired pattern from the Fill Pattern pulldown. SHORTCUT Right click on the part of interest in the graphics window and select ‘Color by >’ then ‘Variable’, ‘Color’, or choose ‘Make Transparent’ SEE ALSO User Manual: Part Transparency Page 331 Select Parts INTRODUCTION Manipulating parts is one of the fundamental operations in EnSight. Before you operate on parts, they must be selected in the Main Parts list. Parts can either be selected through standard mouse interaction with the items in the Main Parts list or selected by picking parts in the Graphics window. BASIC OPERATION Selecting Parts in the Graphics Area Left click on the part in the graphics window to select in the main part list. Use control key to select multiple parts. Selecting Parts using the Main Parts List Items in the Parts List itself are selected using standard Motif methods: To ... Do this ... Details ... Select an item Select (or single-click) Place the mouse pointer over the item and click the left mouse button. The item is highlighted to reflect the “selected” state. Extend a contiguous selection Select-drag Place the mouse pointer over the first item. Click and hold the left mouse button as you drag over the remaining items to be selected. Only contiguous items may be selected in this fashion. Extend a (possibly long) contiguous selection Shift-click Select the first item. Place the mouse pointer over the last item in the list to be selected. Press the shift key and click the left mouse button. This action will extend a selection to include all those items sequentially listed between the first selection and this one. Extend a non-contiguous selection Control-click Place the mouse pointer over the item. Press the control key and click the left mouse button. This action will extend a selection by adding the new item, but not those in-between any previously selected items. De-select an item Control-click Place the mouse pointer over the selected item. Press the control key and click the left mouse button. This action will de-select the item. Open the Quick Interaction Area for a part Double-click Place the mouse pointer over the item and click the left mouse button twice in rapid succession. Selecting Parts using the Select... Options There are several other useful options for selecting parts: 1. Click the Select... button just below the main parts list. 2. Select the desired option. All Selects all parts in the list. Invert Inverts the selection. Namely, all parts currently selected become unselected and all unselected become selected. Invisible Selects all visible parts. Visible Selects all invisible parts Region Selects all parts that are within the selection tool. (Requires that the selection tool be on) Showing Selects all visible parts which are showing in the graphics window. Keyword... Opens a dialog which allows for selections using keywords and regular expressions. Unselect Unselects all parts in the list. Page 332 Selecting Parts by Picking Parts can also be selected by “picking” them in the Graphics window. To select parts by picking: 1. From the Pick pulldown icon, select Pick Part. (Note that this is the default, and this setting will be retained until explicitly changed.) 2. Position the mouse pointer over the desired part in the Graphics Window and press the ‘p’ key (or perform the mouse action which has been set to “Selected pick action” in Edit > Preferences > Mouse and Keyboard). See below regarding how parts are identified. Note that the picked part is now selected in the Main Parts list. Parts are identified for picking as follows. If the part (as represented on the client) consists of surface (2D) elements, a pick will occur if the mouse cursor is over any portion of the surface – even if the part is drawn in line mode and the mouse was over the middle of the element (and not over one of the visible lines). If the part is drawn as 1D elements (e.g. the part is in feature angle representation), the mouse must be over one of the visible lines of the part. By default, when you press the ‘p’ key any previously selected parts are de-selected. Holding down the Control key as you hit ‘p’ modifies this behavior: if the picked part is not currently selected, it will be added to the existing selection (so you can select multiple parts by picking), otherwise the picked part is de-selected. Page 333 OTHER NOTES 1. By default, parts selected in the part list are shown highlighted. 2. A global toggle turns this on (default) and off To turn this off permanently, simply toggle it off and then open Edit->Preferences->View and press the "Save to preferences file" button. 3. Unselected parts are shown normal SEE ALSO User Manual: “Part Selection and Identification” Page 334 Set Symmetry INTRODUCTION In many instances, a modeler can take advantage of symmetry present in a problem to reduce the computational complexity of a subsequent analysis. EnSight can impart visual realism to such models by mirroring parts around any or all axes of the part’s reference frame or performing rotational symmetry about any of the axes. Although the mirrored or rotated portions appear identical to the source part (except for the reflection or rotation), they are only visual (client-based) and cannot be used for calculation. For example, you cannot start a particle trace in one half and expect the trace to cross the plane of symmetry into the other half (although you can make the particle trace part symmetric as well). EnSight also provides “true” or “computational” symmetry operations (mirror, rotational, translational) as an attribute of the part’s reference frame. With computational symmetry, you can trace particles across a periodic boundary. Both types of symmetry (visual or computational) are based on the part’s reference frame. Although you can use simple visual or computational symmetry without having to manipulate the frame, more advanced usage of symmetry could require a working knowledge of frames. See How To Create and Manipulate Frames for more information. BASIC OPERATION Visual Symmetry Visual symmetry is an attribute of parts. You can enable display of a mirrored copy of a part into one or more of the seven octants (opposite of +,+,+) of the part’s reference frame. You can also enable display of a number of rotational instances about the x,y, or z axes of the part’s reference frame. To display visual symmetry: 1. Select the desired part(s) in the Main Parts list. 2. Click Part in the Mode Selection area to enter Part mode. 3. Click the Visual Symmetry icon. Visual Mirror Symmetry: 4. Select Mirror from the Type pulldown menu. 5. Select the desired octant(s) from the menu. Visual Rotational Symmetry: 4. Select Rotational from the Type pulldown menu. 5. Select rotational axis, instance angle, and number of instances. Recall that symmetry is performed with respect to the reference frame of the part. The frame’s axes define the partitioning of space into the octants that attached parts are mirrored into, or the rotational axis. If the symmetry operation did not produce the desired effect, it is probably due to the fact that the part’s frame is not aligned with the plane of symmetry, or the rotational symmetry axis, as designed for the model. The solution is to create a new frame, assign the part(s) to the new frame, and position the frame such that two of its axes lie in the plane of symmetry, or one of its axes align with the rotational axis. There operations are discussed in How To Create and Manipulate Frames. Page 335 Computational Symmetry Computational symmetry can be used for unstructured and structured model parts with periodic boundary conditions. (Note, it does not work for created parts.) Computational symmetry can handle rotational, translational, and mirror symmetry. Unlike visual symmetry, computational symmetry actually produces the symmetric geometry and variables on the server - allowing for more than just visual symmetry. You enable computational symmetry by selecting the frame, specifying the type (Mirror, Translational, Rotational), and setting type specific attributes (such as the rotation angle and the number of instances to create). Each part assigned to the frame will be updated on the server to reflect the specified symmetry. Note that each new instance of a part created through computational symmetry creates a new part on the server. To use computational symmetry, you will need to enable Frame Mode if it isn’t already enabled. (Edit > Preferences... General User Interface - Frame Mode Allowed). Then: 1. Click Frame in the Mode Selection area to enter Frame mode. 2. If the default frame (frame 0) is not correctly positioned for the desired symmetry operation, create a new frame, position the frame in the proper location and orientation, and assign the part(s) to the new frame. (See How To Create and Manipulate Frames for details.) 3. Select the desired frame. 4. Click the Computational Symmetry Attributes Icon. The remaining steps depend on the type of symmetry desired. Mirror Symmetry is similar to graphical symmetry as described above. 5. Select Mirror from the Type pulldown. 6. Select the desired octant(s) from the Mirror In pulldown. 7. Click Update. Rotational Symmetry creates instances by rotating, around the selected axis of the frame, the specified number of degrees. The selected frame’s axis must be aligned with the desired symmetry axis. 5. Select Rotational from the Type pulldown. 6. Select the frame rotational axis. 7. Set the desired rotation angle (in degrees) in the Angle field. 8. Set the desired number of instances in the Instances field (number 1 is the original, set Instances to 2 to yield one copy). 9. If a periodic match file is available, toggle Use Periodic File and enter the file name. Periodic match files are discussed below. 10. Click Update. Page 336 Translational Symmetry creates instances in the direction of the specified translation vector. The translation vector is first rotated by the frame’s rotation, but is independent of the frame’s origin location. 5. Select Translational from the Type pulldown. 6. Enter the desired translation vector in the XYZ fields and press return. 7. Set the desired number of instances in the Instances field (number 1 is the original, set Instances to 2 to yield one copy). 8. If a periodic match file is available, toggle Use Periodic File and enter the file name. Periodic match files are discussed below. 9. Click Update. Periodic Matching for Computational Symmetry When a model is created with periodic boundary conditions, there is typically a built-in correspondence or “match” between certain nodes and elements. For example: 7 The elements defined by nodes 1,2,3 and nodes 1,6,7 should match when rotated about an axis passing through node 1 (perpendicular to the screen). When another instance is created, node 2 matches with 6 and node 3 matches with 7. 5 6 4 3 2 1 When instances are added to a part, it is desirable to eliminate these duplicate nodes. Without a match file, EnSight will attempt to find and remove them using a hashing scheme. This method works quite well, but may not find all duplicates. (Remaining duplicates are usually noticed when the part is in feature angle representation since EnSight treats elements with duplicate nodes as separate – even if they are coincident.) Note that if you have a periodic match file you do not need to specify the rotation axis and angle in the Frame Computational Symmetry Attributes dialog – the value is provided in the file. A user-supplied matching file can be used to quickly find and remove all duplicates. The match file is a simple ASCII text file. The file for the example above would be (the text in italics is not part of the file): rotate_z 52.34 3 11 26 37 specifies rotational symmetry and the applicable axis the angle of rotation (in degrees) the number of node pairs to follow first node pair second node pair ... See Periodic Match File for more information on periodic match files. SEE ALSO How To Create and Manipulate Frames Page 337 Map Textures INTRODUCTION Texture mapping is a mechanism for placing an image on a surface or modulating the colors of a surface by various manipulations of the pixels via a texture map image. EnSight supports the application of a texture onto a part and the combining of texture effects with the normal EnSight coloring schemes. This can include animated textures(e.g. EVO or MPEG files), which can be used to texture parts and 2D annotations. The simplest use is to place a "decal"/logo or photograph on the surface of a part. Texturing can also be used to add repeated patterns, provide custom transparency and lighting, color a part by multiple variables and clip parts to arbitrary boundaries. A texture operation in EnSight consists of a texture map image, a collection of interpolation and blending options and a mechanism for projecting the texture map image onto a part. Each of these items is described in the following sections. EnSight texture mapping is controlled through the "Textures" dialog, accessed through the 'Edit textures…' button in the 'Part Color, Lighting and Transparency' dialog. Setting the Texture Map Image Texture Operations and Parameters Texture Projections Page 338 Setting the texture map image EnSight supports up to 8 different textures, which are displayed as thumbnails at the top of the dialog. A number of operations can be performed on the textures by rightclicking on the thumbnail image and selecting from the menu. A new image or movie (e.g. EVO, MPEG, etc.) can be set for the texture using the 'Load texture file…' option. A texture can be reverted back to the 16x16 transparent checkerboard default pattern using the 'Clear texture' menu. Each texture has a border color that is used for colors outside of the texture bounds. This color (RGB and opacity) can be set explicitly using the 'Set border color…' menu. The eight textures are numbered one through eight. Each part in EnSight can have one of the eight texture associated with it. This can be done by selecting the part(s) and either clicking on the appropriate button thumbnail or selecting the number from the 'Use texture' option menu. Advanced options for loaded texture images and animations can be set using the ‘Set texture options...’ menu. The basic information for the currently selected texture is displayed in the text field below the thumbnails. The size of the texture, its source, border color and the nature of its transparency (A channel and border color) is displayed. All textures have both a color (RGB) and an opacity (A) component. By default, the thumbnail is drawn using the full RGBA pixel value. Options at the bottom of the menu allow the user to select which channels to draw. The lower row of images in the example dialog above are all the same texture, but drawn with a different function. The leftmost image is the full RGBA image, the middle one is just the RGB part of the image and the rightmost one is just the A part of the image. Notice how the A channel masks out the black and white pixels in the RGB image. This masking can be used to place non-rectangular images/icons on EnSight parts. Users often make use of a common set of textures for many different analyses (e.g. company logos, standard palettes, etc). The 'Save Default Textures' button allows the user to save the currently loaded selection of textures and their display mode into the user's preferences directory. These will be automatically loaded every time EnSight is launched. Page 339 Setting Texture Options In Ensight, animated textures (e.g. EVO or MPEG files) can be used to texture parts and 2D annotations. Each animated texture is linked to the current solution time in EnSight. This temporal mapping can be set using the “Texture options” dialog, selected from the button popup menu. Basic information about the texture is presented in the upper pane. This includes the filename, border color, dimensions, and number of frames in the texture. It also includes temporal reference information for animated textures. Animated textures have a start and ending frame number. These can be used to “crop” the texture to some subset of the animation. There is also a starting and ending solution time for the texture. The frame from the texture is selected such that the starting frame number is used when the current EnSight solution time is at or before the texture start time and the ending frame is used when the current solution time is at or after the ending time. The temporal mapping is linear in-between. There is also an “Autoscale” option. If this option is set, the starting and ending time for that texture will always be set to the dynamic range of currently loaded EnSight solution times. Note: EnSight will read the entire animation into memory when it is loaded. If the movie is large, it can use a significant amount of memory. In memory, EnSight uses lossless compression schemes for the data. The current scheme can be changed using the ‘Compression’ options pulldown. Since EnSight stores the entire animation in any exported .els file, it can be advantageous to select and RLE or GZIP compression scheme for large animations. In general, it is suggested that users crop and resample movie files before loading them as animated textures in EnSight. Page 340 Texture operations and parameters The interpolation scheme, repeat mode and texture mode define how textures are accessed and how they are integrated into the normal EnSight coloring scheme. The interpolation scheme can be linear or nearest. When the graphics hardware needs to access a pixel in the current texture it will either use bilinear interpolation scheme or nearest neighbor based on the setting for this item. Generally, linear results in smoother looking displays, but can result in "fringes" that are the result of interpolating to colors that might not exist in the native texture. Linear can be slower, but in EnSight, this is often the result of the fact that a part may be turned translucent and need to be sorted during rendering (See Texture implementation limitations). For applications where the exact colors in a texture are required, the nearest neighbor interpolation method should be used. EnSight allows the user to control the "repeat" mode for textures. When the current texture projection specifies texture coordinates outside of the texture [0,1], EnSight can either "repeat" the coordinates (e.g. a texture coordinate of 2.3 is mapped to 0.3) or it can "clamp" to the border color of the texture. If repeat mode is set to repeat, the border color of the texture is not used. Clamping is often used for logos and explicit texture coordinates (see Texture projections). The texture mode determines how a texture is combined with the natural coloring scheme in EnSight. It has three values: "Replace", "Decal" and "Modulate". In replace mode, the base colors provided by EnSight are ignored and the texture is used as the only source of color for the part (note, this has the side effect of disabling any lighting). In decal mode, the alpha channel of the texture is used to select between the texture color and the base color of the part. If the texture alpha value is 0, the base color of the part is displayed, while locations where the texture alpha value is 255, the texture color will be used exclusively. All alpha values inbetween 0 and 255 will result in an interpolation between the texture and base colors. Note that the default texture uses an alpha channel with values 255 and 80. In modulate mode, the base color is multiplied by the texture color and the resulting texture is used. Modulate mode is commonly used with a texture that has a color of white and some pattern in the alpha channel. This allows the base color to show through, but varies the transparency of the part. Arbitrary clipping operations can be set up this way. Modulation of the color channels can be confusing as the operation tends to suppress colors, but it can be used with a grayscale texture to attenuate. Page 341 Texture projections . EnSight provides two mechanisms which may be used to define where a texture should appear on a part. The first is by projection. In this mode, it helps to think of the texture as a projected light-source, like a presentation projector, only without divergence (i.e. the light lines are parallel). The user places the light source to shine through the scene at some orientation centered at some point. Textures are not limited to the exposed surface in EnSight, thus any surface that intersects the beam of light is textured The user can enter the values for this projection in the "S vector", "T vector" and "Offset" fields in the dialog. These define a vector in the space of the part that will correspond to the directions of the X and Y axis of the texture image as well as a point of focus for the texture. Perhaps the simplest method for setting these values is to use the plane tool. Place the plane tool in the view to match the desired projection. The texture will be scaled to fit in the boundaries of the plane tool with the texture axis aligned with the tool X and Y axis. The texture itself is projected along the Z axis of the tool. Once the tool has been placed, click on 'Get proj from plane tool' to fill in the dialog fields. The 'Set plane tool to proj' will move the plane tool to the projection formed by the current dialog values. The example below illustrates the placement of a logo, in decal mode with clamp and repeat modes set. Notice that the texture appears both in front of and behind the tool. Page 342 The texture projection can also be specified relative to a point or a collection of points. The 'Projection' option menu in 'Absolute' mode will set the texture projection to the current settings which places the texture at an absolute position and attitude in space. If the part geometry moves or deforms, the texture remains fixed in the scene, thus it appears to move on the part surface. The 'Offset relative to ID', allows the user to specify a node ID in the 'Origin' field. The 'Offset' X,Y,Z values are considered to be relative to this node ID. If it moves in time, the texture projection will appear to be linked to it. Likewise, 'Offset and S/T vecs relative to node Ids' allows for three node Ids to be specified, causing the projection to rotate and scale with the relative positions of those nodes. If one turns on one of these relative modes, one may need to click 'Get proj from plane tool' to set up the field values to match the plane tool again (The get proj option always honors the current relative projection and node IDs, if provided). The second form of projection EnSight supports is via 'Variables'. In this mode, one or two scalar variables are used to provide explicit S and T texture coordinates for texturing. This is the most general mechanism for texturing. The S-variable and T-variable option menus provide a list of possible scalar variables. Users may also set the S and/or T value to the constant quantity 0.5. The variables are generally in the range [0,1], which map to the edges of the texture map, just inside the border. Values outside this range will either be mapped to the texture border color (in the case of clamp mode) or will be warped back into the range of [0,1] by repeated subtraction/addition (in repeat mode). This form of projection is capable of emulating the previous model. It also makes it relatively easy to create two dimensional data palettes. Just like the existing palette in EnSight, some function of a variable is used to select a color from a table. In this case, the table is a 2D texture, so this can be done for two different variables at the same time, and the opacity can be varied as a function of those variables. All forms of EnSight part displays can be textured: surfaces, lines, points, etc. Of special note, in "variable" mode, points are rendered with a single texture coordinate, regardless of the form they are displayed as. Thus, a point displayed as a sphere can only use a single pixel sample from a texture. Thus, to place a logo on a point rendered in sphere mode, one would need to use 'projection' mode. Page 343 BASIC OPERATION How to place a logo on a part One common use of textures is to place a logo or "decal" onto a part. This operation involves using a projected texture. This is a simple three step process. For this example we will use the AMI dataset which comes with the EnSight distribution. 1. Load the AMI dataset and set the display type to shaded surface. Orient the hypersonic body as shown and select it in the part list. 2. Next we need to set up the texture map to use. Select the color icon to bring up the Part Color dialog and click on the Edit Textures… button to bring up the texture dialog. Right click on the first texture button and select 'Load texture file…'. Browse to the image file containing your logo image. A good example is the CEI logo found in CEI_HOME/ ensight92/freedesktop/ensight92.png. This image includes an alpha channel that is zero outside of the logo pixels (the 'Display Alpha' menu option will display only this channel'). Associate this texture with the part by depressing the icon that has this image on it. The hypersonic body will get a tiling of CEI logos over it, since we only want a single logo, change the Repeat mode to 'Clamp' (the logos will likely disappear). 3. Finally, we need to set up the transform necessary to place the logo. Bring up the plane tool and size/ position it as illustrated: The key here is to think of the plane tool as a "flashlight" that shines down the plane tool's Z axis and the light is bounded by the plane rectangle. Once you have the plane positioned, click on 'Get proj from plane tool'. The logo texture will now be displayed on the body at the location specified by the plane tool. Page 344 ADVANCED USAGE How to use textures as palettes EnSight textures can also be used as multi-dimensional palettes to allow the user to control the color and opacity of a part based on arbitrary functions of two variables. The key to this technique is generating the appropriate texture map. In the following example, we will use a texture map found in the data directory with the "cube" model. 1. Load the cube model and bring up the variable calculator. We will need to create an "S" and a "T" variable that will be used to access the texture. 2. In the calculator, activate all the variables and create a new variable named 'S' with the expression 'temperature/50.0' (this puts 'S' roughly in the range [0,1]). 3. Create a variable 'T' that is the expression 'RMS(velocity)'. 4. Create an xyz clip of the mesh as a 'Z' clip and turn on shaded display. 5. With the clip_plane part selected, open the texture dialog. Load the file 'dual_gradient.png', included in the directory with the cube dataset, into the first slot. Notice that this texture is an opacity ramp along the X axis and a color ramp along the Y axis. 6. Set the texture mode to 'Replace' and the repeat mode to 'Clamp'. 7. Now, set the 'Compute texture coordinates by' option to 'Variables' and pick 'S' and 'T' as the S and T variable names. The display will look like the image shown, depending on the placement of the clip plane. The coloring is relative to the Velocity of the field, while the opacity of the plane is relative to the temperature of the plane. This type of technique can be used with any two variables; the key is generating a 2D texture map that is meaningful for ranges of the two variables in question. Page 345 How to clip an object with a texture Textures can also be used to manipulate the transparency of portions of objects in interesting ways. In this example, a texture image with only an alpha channel will be used to clip into a part to reveal parts inside of it. 1. Load the cube dataset again. And as in the textures as palettes example: 2. Load the image files 'circle.png' and 'sphere.png' into two texture slots. In both cases: 3. Use the right mouse button menu to set the textures' border color. Change the border color alpha channel value to 255 and view only the alpha channel. Notice that the RGB channels are white, but there is a dark region in the alpha channel of the images. 4. Create an isosurface of temperature in the mesh as well as a 'Z' plane clip. 5. Color the plane clip by velocity. 6. Now, select the isosurface part and much like the logo example, use the plane tool to project the texture onto the isosurface. In this case, use the circle texture and modulate texture mode and set the repeat mode to clamp. The texture will clip through the isosurface as a projected circle (from the circle in the texture) to view parts interior to it. The sphere texture provides a smoother clip. Experiment with other textures and repeat modes for other effects. Remember that each part can have its own texture, each with a different set of projection settings for highly expressive visual options. Here is an example of a clipping texture applied to dynamic particle traces. The tracer pulses are not clipped, but the traces are clipped to a projected circle texture as in the example. Page 346 OTHER NOTES Texture implementation limitations Texturing in EnSight is done using OpenGL and the multi-texture extension. If your graphics card/driver does not support this extension, texturing will not be allowed in EnSight and the button used to bring up the Textures dialog will be removed. OpenGL works best with textures that are powers of two in size and every graphics card has a different limit on the maximum size of a texture. EnSight will internally scale any input texture (via bilinear interpolation) to fill the nearest power of two sized rectangle. This can result in much larger textures being used than users might expect and it can cause interpolated pixels to be used in textures. Also, if textures are too large, EnSight will down-sample them to the resolution the driver supports. For maximum performance and efficiency, use natural power of two sized textures where possible and avoid extremely large textures. A common performance issue users encounter with textures in modulate or replace mode revolves around transparency. If a texture includes transparent pixels (or transparent border pixels), it is possible that the part could become transparent. In this case, EnSight is required to sort the polygons of the part to ensure proper occlusion. This process can be very expensive and slows down rendering significantly. The user can avoid requiring the expensive sorting, by using textures with solid (or no) alpha channel. If a texture uses only entirely opaque or transparent pixels and the interpolation option is set to nearest neighbor, EnSight will recognize that it is not possible to have translucent pixels and will not be required to sort the polygons. This can be used to improve interactive performance and further enable the use of textures as selective clipping operations in modulate mode. SEE ALSO User Manual: Part Operations Page 347 Animate Animate Transient Data INTRODUCTION Transient data can be animated through EnSight’s flipbook capability. During the flipbook load process, all parts (both model and created) are automatically rebuilt (if necessary) using the data from each time step in sequence. At each step, a graphical “page” is created and stored in memory. When the flipbook is active, the pages are displayed in order as rapidly as the hardware allows (although you can slow it down). You can also step through pages manually. The graphical pages can be one of two types: object or image. An object flipbook saves each page as 3D geometry so you can continue to manipulate the model (e.g. rotate or zoom) during playback. However, for very large models and/or long sequences, the memory requirements can be substantial. In this case, you can create image flipbooks that save only the image pixels for each page. Although the size of each page is now fixed, you cannot change the viewing parameters without reloading the flipbook. This article covers using the flipbook capability for transient data (and assumes that you have successfully loaded your transient data). See How To Create a Flipbook Animation for more details on flipbooks. EnSight’s keyframe animation capability also works with transient data and provides a flexible mechanism for synchronizing your available time steps with the output animation frames. See How To Create a Keyframe Animation for more information. BASIC OPERATION Prior to loading the flipbook, you should create all parts of interest (e.g. clips, contours, isosurfaces, etc.). These parts will automatically be recalculated for each time step. To load a transient flipbook: 4. Select the desired page type (Object or Image). 1. Click the Flipbook Animation icon in the Feature Icon Bar. 2. Be sure that the Load tab is selected. 3. Be sure the Load Type is set to Transient. 5. If desired, reset the current beginning and ending time. (Clicking this button will replace the Flipbook Quick Interaction area with the Solution Time Quick Interaction area. When you are done, click the Flipbook animation... button to return). 6. If desired, you can specify a time increment for the load. 7. Click Load. For example, using 0.5 would create pages representing time steps 0, 0.5, 1, 1.5, 2, 2.5, etc. The in-between steps are calculated by linear interpolation. Page 348 The Load Flipbook Status dialog will open and show the progress of the load. You can cancel the load by clicking the Cancel button and retain all the pages loaded to that point. Once the load is complete, you can run the flipbook using VCR type controls: After a flipbook load, the next 3 steps will generally be the default already. 1. Make sure the Run tab is selected. 2. Make sure the Display is set to flipbook pages. 3. Click the run forward or backward button. The flipbook will begin to run. OR You can also step through the pages manually: 3. Click the forward/backward single step buttons (once for each page). You can also enter values in the Current Page field (and press return) to jump to a specific page. 4. To change the range of displayed pages, enter new values in the Begin Page and/or End Page fields (and press return) or click and drag the left/right slider handles. 5. To change the display speed, enter a new value in the Display Speed field (and press return) or simply slide the slider. A speed of 1.00 represents “full” hardware speed with no delays; a value of 0.5 is half of full speed. 6. To cycle the page display, click Cycle. Cycle will replay the pages in reverse order when the last page is reached. 7. To stop the animation, click the stop button. 8. When done, set the Display to “original model” instead of “flipbook pages”. Record Once a flipbook is loaded, it can be recorded. The “Record current graphics window animation” icon will be on. Off On Click it to open the Save Animation dialog. This is explained in How To Print/Save an Image Page 349 Delete Any type of flipbook can be deleted: 1. Click Delete... in the Flipbook Quick Interaction Editor. 2. Confirm the deletion. All memory associated with the flipbook is freed. ADVANCED USAGE If you have created transient particle traces (pathlines) and set up a particle trace animation, you can also load a flipbook and show the particle trace animation synchronized with the flipbook. The trace animation will automatically play through the time range of the flipbook and stay in sync with the flipbook pages. See How To Create Particle Traces and How To Animate Particle Traces for more information. OTHER NOTES Since both object and image flipbooks build pages from the current set of parts based on their current attributes, if you make a change (such as color a part by a different variable or create a new part), you must reload the flipbook. There are exceptions. With an object flipbook, you can make a part invisible while the flipbook is running. SEE ALSO How To Load Transient Data How To Print/Save an Image How To Create a Flipbook Animation User Manual: Flipbook Animation, Flipbook Animation Page 350 Create a Flipbook Animation INTRODUCTION Various types of data can be animated through EnSight’s flipbook capability. During the flipbook load process, selected parts are automatically rebuilt based on some criteria (such as a delta for a clipping plane). For each step, a graphical “page” is created and stored in memory. When the flipbook is active, the pages are displayed in order as rapidly as the hardware allows (although you can slow it down). You can also step through pages manually. The graphical pages can be one of two types: object or image. An object flipbook saves each page as 3D geometry so you can continue to manipulate the model (e.g. rotate or zoom) during playback. However, for very large models and/or long sequences, the memory requirements can be substantial. In this case, you can create image flipbooks that save only the image pixels for each page. Although the size of each page is now fixed, you cannot change the viewing parameters without reloading the flipbook. There are four distinct types of flipbooks: Transient Pages are constructed by stepping from the current beginning to ending time range and rebuilding all time-dependent parts based on each time step in sequence. Mode Shapes Pages are constructed by applying a cosine-driven scaling factor to a displacement variable. Create Data Pages are constructed by applying a delta to either a clip part or an isosurface. Linear Load Pages are constructed by applying linear interpolation ranging from zero to the maximum (displacement) vector field value. This article covers only the “Create Data” type of flipbook. See How To Animate Transient Data for details on transient flipbooks. See How To Display Displacements for details on mode shape flipbooks. For more sophisticated animations, use EnSight’s keyframe animation capability. BASIC OPERATION For each page of the flipbook, a delta value will be applied to all active clip parts and isosurfaces. For clips, the delta represents a translation vector; for isosurfaces it is an increment to the isovalue. There are two ways to specify these delta values: either through interactive manipulation or via the applicable Feature Detail Editor for the part. The former method is discussed below, the latter in the Other Notes section at the end. Prior to loading the flipbook, you should create all parts that you wish to animate (clips and/or isosurfaces) and Page 351 manipulate the part so that it is in the desired location for the start of the flipbook. To load the flipbook: 4. Select the desired page type (Object or Image). 1. Click the Flipbook Animation icon in the Feature Icon Bar. 2. Be sure that the Load tab is selected. 3. Be sure the Load Type is set to Create data. 5. Set the desired number of pages. The delta value will be added to the appropriate entities for each page 6. Click Start to begin recording interactive part manipulations. 6a. For clipping plane parts, reopen the Quick Interaction area for the part (double-click on the part in the Main Parts list). 6b. Toggle on Interactive Tool, move the mouse into the Graphics Window and interactively position the tool to the desired location for the end of the flipbook. 6a. For isosurface parts, reopen the Quick Interaction area for the part (doubleclick on the part in the Main Parts list). 6b. Change the Interactive Pulldown to Manual and adjust the slider until the isovalue is as desired for the end of the flipbook. 7. Return to the Flipbook Quick Interaction area (i.e. perform step 1 again). 8. Click Stop to end recording interactive Iso/Clip. 9. Click Load. 10. Save playing animation to file (must be playing to save) Page 352 The Load Flipbook Status dialog will open and show the progress of the load. You can cancel the load by clicking the Cancel button and retain all the pages loaded to that point. Once the load is complete, you can run the flipbook using VCR type controls: After a flipbook load, the next 3 steps will generally be the default already. 1. Make sure the Run tab is selected. 2. Make sure the Display is set to flipbook pages. 3. Click the run forward or backward button. The flipbook will begin to run. OR You can also step through the pages manually: 3. Click the forward/backward single step buttons (once for each page). You can also enter values in the Current Page field (and press return) to jump to a specific page. 4. To change the range of displayed pages, enter new values in the Begin Page and/or End Page fields (and press return) or move the slider range markers. 5. To change the display speed, enter a new value in the Display Speed field (and press return) or simply slide the slider. A speed of 1.00 represents “full” hardware speed with no delays; a value of 0.5 is half of full speed. 6. To cycle the page display, click Cycle. Cycle will replay the pages in reverse order when the last page is reached. 7. To stop the animation, click the stop button. 8. When done, set the Display to “original model” instead of “flipbook pages”. Record Once a flipbook is loaded, it can be recorded. The “Record current graphics window animation” icon will be on. Off On Click it to open the Save Animation dialog. This is explained in How To Print/Save an Image Page 353 Delete Any type of flipbook can be deleted: 1. Click Delete... in the Flipbook Quick Interaction Editor. 2. Confirm the deletion. All memory associated with the flipbook is freed. OTHER NOTES Rather than specify the part delta values through interactive part manipulation as described above, you can set the values explicitly using the Feature Detail Editor for the part. For clip parts: 1. Select Edit > Part Feature Detail Editors > Clips... to open Feature Detail Editor (Clips). 2. Select the desired part in the parts list of the Feature Detail Editor (Clips). 3. In the Animation Delta section, enter the desired values in the X, Y, and Z fields and press return. For isosurfaces: 1. Select Edit > Part Feature Detail Editors > Isosurfaces... to open Feature Detail Editor (Isosurfaces). 2. Select the desired part in the parts list of the Feature Detail Editor (Isosurfaces). 3. In the Animation Delta field, enter the desired isovalue delta value and press return. When a flipbook is subsequently loaded, active clips and/or isosurfaces will update based on these animation delta values. Since both object and image flipbooks build pages from the current set of parts based on their current attributes, if you make a change (such as color a part by a different variable or create a new part), you must reload the flipbook. There are exceptions. With an object flipbook, you can make a part invisible while the flipbook is running. NOTE: Alpha transparency does not work correctly during flipbook animation because sorting is not done. The final image will generally show this lack of proper sorting. To view transparency during animations, use the solution time streaming or keyframe animation. SEE ALSO User Manual: Flipbook Animation Page 354 Create a Keyframe Animation INTRODUCTION EnSight’s ability to handle large, transient datasets has led to its use in the production of many video animations of engineering and scientific data. EnSight uses a keyframe animation system. A keyframe is a set of viewing parameters that specify a particular view of the scene in the Graphics Window. The view may be notable because of what is visible, or because the view represents the transition point from one scene to another. Once a set of keyframes has been selected, EnSight can automatically generate frames to interpolate the viewing parameters between keyframes for a smooth animation. The changes to viewing parameters between keyframes are not limited to simple rotations, translations, or zoom operations. You can also use EnSight’s frames capability to move parts independently, e.g. to animate an exploded view of a complex assembly. You can also animate the global look-from and look-at points for “fly-by” style animations. While refining your animation, you can display it directly in the Graphics Window. When complete, you can specify the output resolution (e.g. for NTSC or PAL video) and set the recording device (e.g. to a disk file). Although the production of adequate animation is easy, good animation takes experience. A sequence that looks good on your high resolution workstation screen may look less than acceptable when transferred to VHS videotape. An object rotating in ten degree increments may be an appropriate speed for your workstation graphics. At thirty frames per second, however, the rotation will complete in just over a second – too fast for normal viewing. See the Other Notes section for some additional hints and tips. BASIC OPERATION All keyframe animation functions are controlled through the Keyframe Quick Interaction area. You can define the transformations between keyframes, or you can create standard animations To define your own keyframes: 1. Click the Keyframe Animation icon in the Feature Icon bar. 2. Set all viewing parameters to the desired location for keyframe 1. 3. Click Create Keyframe to save the first keyframe. Note that the Keyframing toggle is automatically switched on when you begin saving keyframes. 4. Change the viewing parameters to the desired location for keyframe 2. 5. Click Create Keyframe to save keyframe 2. You can play your animation at any time to check your results. The animation will play the keyframe range specified in the Run From/To fields in Run Attributes... 6. Click Run Animation to play the animation. Important Notes! You can abort a running animation by moving the mouse into the animation display window and pressing the ‘a’ key. If you toggle-off the Keyframing button, any keyframes currently defined will be deleted. If you wish to save a set of keyframes, click the Save... button. 7. Continue to change viewing parameters and click Create Keyframe until you have saved all desired keyframes. Page 355 There are many ways to specify the desired transformations between keyframes. See the following articles for more information: How To Rotate, Zoom, Translate, Scale How To Create and Manipulate Frames How To Set LookFrom/LookAt How To Define and Change Viewports To Create Keyframes using Predefined Animations: 1. Click the Keyframe Animation icon in the Feature Icon bar. 2. Set all viewing parameters to the desired location for keyframe 1. 3. Click Quick Animations... to bring up the Keyframe Quick Animations Dialog. In this dialog you will be able to create keyframes which define transformations which will (a) fly the viewer around your model, (b) rotate your model, or (c) create exploded views of your parts. Any one of these, or a combination may be used. 4. Set the number of frames which will be created 5. Acceleration at the first and last keyframes that will be created is on by default. If you do not want to accelerate/ decelerate toggle these off. 6. Toggle Fly Around on if you wish to move the viewer (camera) in a circle. (a) You can choose Right (start the viewer moving to the right) or Left. (b) Specify the number of revolutions. 7. Toggle Rotate Objects if you wish to rotate the scene. You can rotate positively or negatively about all three axis. For each axis you set the number of revolutions. 8. Toggle Explode View if you want your parts to be translated in reference to an origin. You can specify the origin or set the origin to the transformation center. Direction sets the explode direction and can be one of: X,Y,Z - translate in the coordinate direction XYZ - translate in the dominant coordinate direction Radial - translate in the direction from the origin specified through the part centroid The part that is farthest from the origin specified will be transformed Distance units 9. Click Create Keyframes to create the keyframes which will transform according to the selections made. Page 356 The following sections provide details on the animation control dialogs opened from Run Attributes... in the Keyframing Quick Interaction area. Speed/Actions The Speed/Actions tab allows you to set the number of sub-frames between each pair of consecutive keyframes as well as specify run attributes such as acceleration and commands to execute: 1. Click Run Attributes... in the Keyframing Quick Interaction area to bring up the Keyframe Run Attributes dialog. 2. Click the Set Speed/Actions tab. 3. Select the desired keyframe to edit: either enter the value or use the up/down buttons. 4. Enter the desired number of subframes between the keyframe selected in step 1 and the next (the default is 20). 5. If desired, set the number of frames to hold for the keyframe (default is 1). 6. If desired, enter EnSight commands to execute when the selected keyframe is reached. The command(s) will be executed before the frame is displayed. 7. If you added or changed the commands to be executed at a keyframe, click Update Commands. 8. If you want the transformation to accelerate out (or into) the keyframe, toggle Acceleration on. 9. Continue by selecting a new keyframe to edit and click Close when done. Use Interactive Iso/Clip By turning this toggle on, any clip or isosurface interactively moved during the keyframe will animate. Animate Transparency Change By turning this toggle on, transparency changes to parts during the definition of the keyframes will be part of the animation. The number of sub-frames controls the speed with which objects transform between keyframes. More sub-frames yields slower motion. You can insert any valid EnSight command to be executed at a keyframe. If your command sequence is more than a few lines, it is best to save the sequence in a file and just enter the command play: filename. There is a special case of executing a command at a keyframe. If you insert the command shell: filename, The file filename (which is assumed to be a UNIX executable command) will be executed after each sub-frame and each surrounding keyframe. In addition, if you are saving animation frames to disk files, the name of the image file just written is passed to the executable as the first argument. This capability can be used to postprocess the image files, for example to resize and re-sample an image or copy it to a different location. If this capability is used, the shell: filename command must be the only command specified. Page 357 Viewing Window The Keyframe Viewing Window tab allows you to set the size and location of the animation display window: 1. Click Run Attributes... in the Keyframing Quick Interaction area to bring up the Keyframe Run Attributes dialog. 2. Click the Viewing Window tab. 3. Select the desired window type: Normal Use the current Graphics Window (initially 794 x 659) Full 4. Click Close. Use the full screen with no window borders (typically 1280 x1024) NTSC Use NTSC video resolution (640 x 480) and position at the lower-left corner PAL Use PAL video resolution (720 x 576) and position at the lower-left corner User Defined Detached Display Use the Min/Max X and Y settings Use the detached display and set Min/ Max settings The Min setting for User Defined specifies the position of the lower-left corner of the animation window (as an offset from the lower-left corner of your monitor screen). The Max setting is the upper right corner of the animation window. Page 358 Run From/To The Run From/To tab allows you to specify the range of keyframes to play. 1. Click Run Attributes... in the Keyframing Quick Interaction area to bring up the Keyframe Run Attributes dialog. 2. Click the Run From/To tab. 3. If you wish to limit the animation playback to certain keyframes set the Run From and To fields. By default they are set to cover all of the keyframes you have created. Page 359 Transient If you have transient data you can specify how it will be used during the keyframe animation. 1. Click Run Attributes... in the Keyframing Quick Interaction area to bring up the Keyframe Run Attributes dialog. 2. Click the Transient tab. 3. Toggle Use Transient Data on if you want to use transient data during the animation. Transient data does NOT have to be on (and should not) to play back a flipbook animation during the keyframe animation. 4. Timelines allow you to use transient data during each defined timeline. If the timelines do not cover all of the keyframes you will have a portion of your animation with no transient data. By default a single timeline exists which covers all of the defined keyframes. To create more timelines click New 5. For each timeline you can specify the begin and ending time value (either step or simulation time See Solution Time dialog). 6. Time will be interpolated such that the Start Time occurs at the Start At Keyframe and the End Time will occur at the End At Keyframe unless the Specify Time Increment is toggled on. If the Specify Time Increment is on each frame during the timeline is incremented by the time indicated. If the Start Time or End Time is encountered before the Start At or End At Keyframes the transient data will either Loop (go back to the Start Time) or Swing (play in reverse). Record... The Keyframe Animation Recorder dialog specifies the type of recording device: 1. Click Record... in the Keyframing Quick Interaction area. 2. Toggle on Record To File. 3. Select the desired file format and options.(see below). 4. Provide the File prefix. 5. Set other Advanced options. The file format, prefix, and other options are described in How To Print/Save an Image 6. Click Close. Page 360 Save and Restore A set of keyframes and related information can be saved to disk and later restored. To save keyframes: 1. Click Save... in the Keyframing Quick Interaction area. 2. Enter the desired file name in the File Selection dialog and click Okay. To restore previously saved keyframes: 1. Click Restore... in the Keyframing Quick Interaction area. 2. Enter the desired file name in the File Selection dialog and click Okay. OTHER NOTES As pointed out in the introduction to this article, high-quality animation takes time and experience. CEI has produced a great deal of animation over the years and has learned a variety of lessons. In the hope that EnSight users can avoid many of the pitfalls inherent in the process, many of these lessons and rules of thumb are presented here. EnSight’s keyframe animation methodology is borrowed from the animated film industry. In making animated films, the master animator defines how the scene will look at certain points in time (the keyframes) and then hands the work off to an “in-betweener”, with instructions on how many frames to add between each pair of keyframes. The inbetweener then draws the missing frames. EnSight’s approach is similar with the user as the master animator and EnSight as the in-betweener. Some of the strengths of this approach include: 1. When keyframing is on, EnSight is not only recording the viewing parameters when you click Create Keyframe, it also records the actions taken to get from the last keyframe to the current one. This approach permits certain operations to be performed without ambiguity (such as rotating by 180 degrees or more). 2. Each Viewport can be animated independently. 3. Flipbooks can be played during an animation. 4. Animated particle traces can be played during an animation. 5. Transient data is easily synchronized with the generated frames. When the animation is run, EnSight will automatically step through time and recalculate all time-dependent entities. 6. Output can go directly to disk files for later recording, manipulation, or conversion to other formats (e.g. MPEG or QuickTime). 7. Additional power and flexibility can be achieved since EnSight command language statements can be issued at keyframes. The keyframe capability was designed to enable engineers and scientists to produce quality animation. As such, it lacks most of the more elaborate controls available in commercial animation packages (which typically cost 2-3 times more than EnSight). Some limitations: 1. Only transformation parameters (global, frame and camera transforms) are saved through the keyframing process. Other parameters and part attributes are not interpolated between keyframes. 2. Light sources are fixed in EnSight – they cannot move during the animation. 3. The shading and lighting model used by EnSight is fairly simplistic. Tips for Video Recording Animation Holds Whenever an animation is started or stopped use a “hold” to allow your viewers to establish the visual context of the scene. A hold of 3 seconds at the beginning and 2 seconds at the end usually works well. For complex imagery, longer holds may be required. Note that a hold can typically be performed at the recording level – it is not necessary to have EnSight compute multiple frames for a hold. Rate Control The speed at which events occur during an animation is one of the most difficult aspects to master. Viewers become Page 361 confused and disoriented if motion is too fast; too slow and your viewer may lose interest. The frame rate for NTSC (the video format used in North America) is 30 frames per second. Although there is a great deal of variation (depending on graphics hardware speed and model size), your workstation will typically have a much slower frame rate. Therefore, what appears to be good speed on your workstation may be much too fast when recorded to video at 30 frames per second. Trial and error is one method to determine proper rates. Although you may end up doing some “line test” video recording to refine your rates, use the method described here to derive good starting values: 1. Define all the keyframes. 2. Set up the animation to play back at full screen. 3. Set up the animation to play only from the first to the second keyframe. 4. Set the number of sub-frames between keyframes 1 and 2 to be 300. 5. Select View > Bounding Box > Static Box. 6. Using a watch with a second hand, time how long it takes to play the animation. Call this time “T”. We know that it will take 10 seconds to play 300 frames on video. Compute the following: factor = T/10. For example, if you find T to be about 12 seconds, then factor is 1.2, which means that the rate you see on the screen is 1.2 times slower than what you will see on video. 7. Iteratively adjust the number of sub-frames between keyframe 1 and 2 (running the animation after each adjustment) until you like the rate you see on the screen. 8. Finally, adjust the number of sub-frames by the factor found in step 6. For example, if 150 sub-frames were required for a good rate of speed, then change the number of sub-frames to 150*factor to see the same rate on video. 9. Perform steps 3 through 8 for the next set of keyframes. Transient Data Animation is particular useful for presenting transient data. However, since both viewing parameters and time can change simultaneously, the potential for confusing viewers is very high. In general, you should never change both viewing parameters and time simultaneously. It is typically much better to use transformations in an opening scene to present the model to the viewer. The transformations should end at a vantage point suitable for viewing the transient phenomena. At that point, the time-dependent data can be displayed. If you must alter the scene during transient display, do so with great care to avoid disorienting viewers. Note that you can animate time-dependent information without transformations by merely creating two keyframes without performing any transformations between them. In many instances, there will not be enough time steps in the simulation to produce an animation of adequate duration. If the simulation does not involve changing geometries, EnSight can interpolate between time steps (linearly) to yield additional frames. However, keep in mind that your simulated phenomena is almost certainly not linear in nature. If you have EnSight generate more than a few interpolating frames between each actual time step, the resulting discontinuity at keyframes (from the piece-wise linear interpolation) is quite visible in the resulting video. Frame count The total number of frames that EnSight will produce during the animation is the sum of all sub-frames plus the number of keyframes. This is especially important to keep in mind when synchronizing transient data with animation frames. Animated Traces If you display animating particle traces during keyframe animation, you may have noticed that the trace animation always resets at the beginning of the keyframe animation. However, in most cases it is desirable to have the trace animation fully in progress when the animation begins. This can be accomplished by creating an additional keyframe at the beginning of the animation. Set the number of sub-frames between keyframes 1 and 2 to a value high enough to yield the desired tracer saturation. When you run the animation, set the Run From field to 2 so that the animation begins generating frames with keyframe 2. At that point, the tracer animation process will have executed once for each sub-frame between keyframes 1 and 2. Page 362 Color The color gamut (the range of colors a device is capable of displaying) of video (especially NTSC) is significantly less than that of your workstation monitor. The result is that certain colors that look fine on your workstation cannot be reproduced on video. Fully saturated colors (especially red and blue which “bleed” across the screen) are particularly troublesome. However, it is quite easy to de-saturate your images prior to recording. There are actually three ways to do this: 1. Modify all of the colors in use to de-saturate them. For example, if a color is pure red (1., 0., 0.), change it to be a more pastel red (.85, .1, .1). 2. Modify the saturation factor in the Image Format Options. A factor of 0.85 is usually good. 3. Create your animation, then de-saturate the images using an image tool such as the one available from the San Diego Supercomputing Center (it’s free). This will only work, of course, if you are saving animation images to disk files. Dark backgrounds work much better than light backgrounds. Black is often the best choice. Lines Moving single-width lines have a tendency to “crawl” on video. Use a minimum line width of 2. Anti-aliasing Without correction, computer-generated imagery exhibits aliasing artifacts that typically show up as jagged edges. For our purposes it is sufficient to say that aliasing results from sampling at a resolution too low to capture the “signal” represented by the underlying geometry. We can only sample our geometry at the available pixels. Since the effective number of pixels in the NTSC video signal is only one quarter the number of your workstation screen, what looks fine on your workstation may be less than acceptable on video. EnSight provides direct anti-aliasing support through its multipass capability. There are also some other ways to mitigate this problem. 1. If you are recording images from EnSight directly to a video recorder, use a scan converter (a piece of hardware) to filter full screen images to NTSC resolution images. 2. If you are recording images to disk files, record them at full screen resolution and then use an image re-scaling tool (such as izoom on SGI hardware) to down-sample the images to the desired video resolution. This downsampling averages several pixels to yield one output pixel, effectively preserving much of the resolution contained in the original full screen image. Annotation The smallest annotation text that can be clearly read on video has a font size of 40. For title sequences, use a size of about 65. If you display parts colored by variables, you should always include the applicable color legend so viewers understand what the coloration represents. For color legends, it is often sufficient to display just one value at the top (the maximum) and one at the bottom (the minimum) in addition to the name of the variable. In fact, sometimes just using “High” and “Low” are sufficient if only the relative magnitudes of the variable are important. Screen Space The region of a video display that is “safe” for viewing is typically smaller than your animation display window. You should plan your scenes such that objects of interest (especially annotation entities) do not come “too close” to the edge. If you keep these objects within the range (in EnSight viewport coordinates) .06 to .94 for X (width) and .05 to .95 for Y (height) you should be safe. Introductory Sequence Your animation should begin with some title slides explaining the problem domain to your viewers. Try not to put too many words on any one slide and display each one for at least four seconds. Next, before displaying your results, provide a sequence that introduces viewers to your model. This sequence should be long enough and complete enough to orient the average target viewer to your problem. It is difficult to overestimate the need for this sequence. Without it, viewers are often confused and disoriented for the entire animation. Page 363 Credits You should always include proper credits on any animation you produce. Even animations initially intended only for internal consumption often end up shown to broader audiences. Stretching an Animation Ten minutes of video requires 18,000 frames. Only after you have created your first animation will you realize that this can represent a logistical nightmare. In many cases, you can reduce the number of generated frames required using each frame multiple times. If you record two video frames for each actual frame you have, in effect, slowed your animation by half since there are only 15 new frames per second. Although 15 frames per second produces less smooth motion than 30, it is still usually acceptable. Further reduction however, say to 10 unique frames per second, produces noticeable jerkiness. The Recording Process There are three basic ways to go about recording your animation: 1. The cheapest method (and the one that typically yields the poorest results) is to simply record the animation directly off the workstation. This can be done either by pointing a video camera at the screen or using the built-in video out signal available on some workstations. Although this may be suitable for some simple steady-state problems, the resulting video is usually of very poor quality. Note also that the frame refresh rate is dependent on the complexity of your geometry (which can vary throughout the animation) and the speed of your hardware. 2. EnSight can also write each generated frame to a disk file. Given the current state-of-the-art in hardware and software for video production, this is the preferred method. The images can be further manipulated on disk (e.g. color de-saturation or pixel averaging) prior to recording. If a problem occurred, missing or bad frames can be regenerated. Tools also exist to convert sequences of image files to popular animation formats such as MPEG and QuickTime. 3. EnSight can directly output popular animation formats, including MPEG, AVI and its own format - EnVideo. SEE ALSO User Manual: Keyframe Animation Page 364 Animate Particle Traces INTRODUCTION EnSight’s powerful particle tracing facility can trace particles (either steady-state or transient) through flow fields. Animating the resulting traces often promotes intuitive comprehension of the characteristics of the underlying flow field. Traces are animated by displaying one or more tracers on all traces of the trace part. A tracer moves along the path of a trace with length proportional to the local velocity. EnSight provides complete control over all aspects of the tracers including length, speed, and release interval for multiple pulses. This article covers particle trace animation and assumes that you have already created one or more particle trace parts. See How To Create Particle Traces for more information. BASIC OPERATION To enable particle trace animation and adjust the animation parameters: 1. Double-click the desired particle trace part in the Main Parts list. 2. Toggle on Animate in the Quick Interaction area. 3. Click Animate to open the Trace Animation Settings dialog. Make changes as desired (remember to press return for changes to text fields). Set the color of the tracers to either Trace Color (i.e. the same color as the parent trace part) or Constant (and set the desired color using the Mix... button or the RGB fields. Set the line width of the tracers. If transient traces (pathlines), set the Start Time and/or Max Time. Set the tracers length factor (see below). Set the tracers speed factor (see below). Set tracers head representation. Either None or Spheres. If Spheres, the radius can be Constant (set by the Scale value) or sized by a variable and scaled by the Scale value. Sphere detail set via Detail field. Click to load good default values to the Tracer Time, Tracer Delta, and Pulse Intervals fields. Toggle on Multiple pulses and set the interval between pulses (see below). Page 365 Tracer Parameter Descriptions: Tracer Time (Length) The Tracer Time (Length) parameter acts as a scaling factor for all tracer lengths (the higher the value the longer the tracer). Tracer length varies as the local velocity changes along the trace. For example, the tracer will lengthen as the leading edge of the tracer moves into a higher velocity region. Tracer Delta (Speed) The Tracer Delta (Speed) parameter acts as a scaling factor for the tracer speed (the higher the value the faster the tracer). The speed of the leading and trailing tracer edges varies as the local velocity changes along the trace. Pulse Interval The interval between successive tracer emissions when in multiple pulse mode (the higher the value the longer the interval between pulses). Note that the distance between tracers will increase when the local velocity increases. Record Once animated traces are computed,they can be recorded. The “Record current graphics window animation” icon will be on. Off On Click it to open the Save Animation dialog. This is explained in How To Print/Save an Image ADVANCED USAGE If you have time-dependent data and have calculated transient particle traces (pathlines), you can enable trace animation, load a transient flipbook, and view the animating pathlines simultaneously with the dynamic flipbook. See How To Create Particle Traces and How To Animate Transient Data for more information. OTHER NOTES The parameters in the Trace Animation Settings dialog are not specific to the currently selected particle trace part – the settings apply to all currently animating particle trace parts. SEE ALSO User Manual: Particle Trace Animation Page 366 Annotate Create Text Annotation INTRODUCTION EnSight has comprehensive features for text annotation. Not only can you display and position user-specified text, you can also display text contained in the description lines of some data formats as well as dynamic text that changes over time. BASIC OPERATION 1. Click Annot in the Mode Selection Area. 2. Click Text icon from the Mode Icon Bar to open the Annotation dialog. 3. Click the New button, which will open the Text annotation editing dialog. 4. Enter the desired text, and hit the Update text button. The text should now show up in the graphics window. - OR 4. Click Dynamic update on, then enter the desired text and see the text appear dynamically in the graphics window as you type. While entering text, you can easily change the script to super, sub, or normal by clicking the Superscript, Subscript, or Normal buttons which will insert , , or into the string. Store and Recall buttons allow the user to insert the and codes into the text string for saving and recalling a text position on the screen. Other Special Coded Items, including changing the font, which can be inserted into a string (by selecting and hitting Insert special item) are discussed below. Page 367 To manipulate text string attributes, first select the string(s) of interest in the list (or while in Annot mode, pick them in the graphics window), then: To change visibility: Toggle Visible off or on. Note that in Annot Mode, the text will not be completely invisible but will be displayed in a subdued color. To change color: Select the desired color from the matrix, enter RGB values in the fields, or click More... to open the Color Selector dialog. To change justification: Select the desired Left, Right, or Center justification from the Justify pulldown. To change text size: Either resize the text interactively by grabbing the Resize Point of the text string (bottom right) and dragging, or by precisely specifying the font size in the Size field of the dialog (or using the slider to change the font size). Important Note! The text size specified is relative to the size of the Graphics Window. If you increase the size of the Graphics Window, all text will also rescale to maintain the same relative size. To change text rotation: The orientation of text about the text justification point may be specified interactively by grabbing the Rotation Point of the text string (cross shape at upper right) and rotating the text to the desired orientation, or by precisely specifying the rotation angle (in degrees) in the Rotation field (or using the slider to change rotation angle). To add shadow text effect: Enter offset and intensity or use sliders To change location of the justification point in the graphics window: Either interactively drag the text to the desired location, or precisely specify the location in the Origin XY fields. You can also specify the viewport that the text is to be positioned relative to. If 0, the position is relative to the graphics window. Page 368 Special Coded Items EnSight can automatically build text strings based on information from various sources. To use one of these special strings, select the desired item from the Special String list, select any required options, and click Insert Special String. A code will be inserted into the Text field. If not in Dynamic update mode, hit the Update text button to create the text entity and display it. The following special strings are available. If multiple cases are loaded, any reference to parts or variables applies to the currently selected case (select Case > casename to changes cases) Fonts Brings up the TrueType font selection dialog, allowing a new font to be selected Information on manipulating fonts, including additional text font formatting codes that can be used, are described in How To Manipulate Fonts Symbols Brings up a symbol dialog. Click on any symbol to insert it at the current character insertion point of the string. The symbol will be inserted in to the string via a xxx, where xxx is the ASCII number for the selected symbol. Constant Variable The value of a constant variable (such as Time or Length). Select the variable from the Constant Variables list and select the desired numeric display format from the Number Format list. If the constant variable changes, the corresponding text will automatically update. This is very useful for displaying the current solution time during a transient animation. Date Current date. Example: Wed Jan Geometry Header The first or second text line of the geometry file of the current case. Select Line 1 or Line 2. Measured Header The first line of the measured (discrete) data file of the current case. Variable Header The first line (typically the description line) from a variable file. Select the desired variable from the Variable(s) list. Part Value The “value” of a part. Currently works for isosurface and some (ijk, xyz, rtz, plane aligned with axis, or attached to spline) clip parts where the value is the corresponding isovalue or clip location or value. Parts that have a value will appear in the part selection list. Select the part in the Part(s) list and select the desired numeric display format from the Number Format list. Part Description The description of the part as displayed in the Main Parts list. (Note that you can change this text by editing the Desc field in the applicable Feature Detail Editor for the part.) Version The name and current version number. Example: EnSight Version 6.0. 1 12:34:56 1997 EnSight command language variables can also be inserted into annotation strings via a special item coding option. This coding item does not have an associated GUI, but can be typed directly into the annotation text edit field. The coding has the form: <\\ensv “format“ var_name\\> The format string is the “C” printf specfication for the item formatting. var_name is the actual name of the variable value to be inserted. If the following lines of EnSight command language were executed: $globalstring example $example = Hello from EnSight The annotation string: The value is: <\\ensv “%s“ example\\> Page 369 would result in the annotation containing the string “The value is: Hello from EnSight”. If the variable is updated, the following command language will update the annotation: text: update Another example uses the built-in EnSight frames per second counter which stores the current rendering rate in frames per second in the ensight variable “ensight_fps”. This annotation string, containing embedded ensight variable formatting, will display the current rendering rate dynamically in EnSight: Frames per second: <\\ensv “%.2f“ ensight_fps\\> It is also possible to embed the value of an interactive query into an annotation string. The first value of the interactive query results is always used. The format for this is the keyword "iqval", followed by a format statement and a interactive query id number (zero based). For example: Temperature = <\\iqval "%.2f" 0\\> will display an annotation string with the value of interactive query 0 displayed to two places of precision after the equal sign in the annotation. Delete Annotations Existing annotations can be deleted in the Annotation dialog or can be selected and the Delete icon can be clicked: Select All You can select all of the current annotation type by clicking: SEE ALSO How To Manipulate Fonts User Manual: Annot Mode Page 370 Create Lines INTRODUCTION EnSight can display annotation lines that can either be specified in 2D screen space or in 3D world space. BASIC OPERATION 1. Click Annot in the Mode Selection Area. 2. Click Line icon from the Mode Icon Bar to bring up the Annotation dialog. 3. Create a new line in the Graphics Window by clicking the New button. To manipulate a line attributes, first select the line(s) of interest in the list (or while in Annot Mode, pick them in the graphics window), then: To change visibility: Toggle Visible on or off. Note that in Annot Mode invisible lines are drawn in a subdued color. To change color: Select the desired color from the matrix, enter RGB values in the fields, or click More... to open the Color Selector dialog To change location: Set the ‘Origin by’ to Screen coordinates or 3D coordinates. You can drag the endpoints specified by screen coordinates in the graphics window. But you must drag the 3D coordinate end points in Part Mode. You can also specify the X, Y (and Z if 3D coordinates) by typing into the fields. To change line width: Click the Width Pulldown and select the desired line width. To label the line: Specify Text Annotation from the pulldown to align it with line annotation. To change Arrowhead status: Click the Arrows Pulldown and select the desired state. To delete a line, click Delete button. Page 371 SEE ALSO User Manual: Annot Mode Page 372 Create 2D Shapes INTRODUCTION EnSight can display 2D shapes (arrow, rectangle, and circle in present release). These 2D shapes overlay the Graphics window and are not associated with any viewport. BASIC OPERATION 1. Click Annot in the Mode Selection Area. 2. Click 2D Shape icon from the Mode Icon Bar to bring up the Annotation dialog. 3. Create a new shape in the Graphics Window by setting the Shape type and then clicking the New button. To manipulate a shape’s attributes, first select the shape(s) of interest in the list (or while in Annot Mode, pick them in the graphics window), then: To change visibility: Toggle Visible on or off. Note that in Annot Mode invisible shapes are drawn in a subdued color. To change color: Select the desired color from the matrix, enter RGB values in the fields, or click More... to open the Color Selector dialog. To change location: Either select the shape and drag it to the desired location, or type appropriate coordinates into the Origin X/Y fields. The origin of a 2D arrow is the point of the arrow. The origin of a rectangle or circle is the center of the object. To change size: Either select the shape by the resize handle and drag it to the desired size, or type appropriate Width/Length (or Height or Diameter) values into the fields. Units are 0 to 1. To change fill mode: You can draw the shape in filled mode or in outline mode. To Apply textures to the shape: These are the same textures used by the parts and the ‘Edit textures...’ button will open the part texture dialog, where textures or animations can be loaded and other attributes set. Note that 2D shape textures always replace the current shape color and modes like “modulate” and “decal” as well as custom projections and repeat behavior are not supported. Other attributes:To Rotate the shape: According to the selected shape, other attributes may exist, such as rotation attributes, arrowhead attributes, etc. To delete a shape, click the Delete button. Page 373 SEE ALSO User Manual: Annot Mode Page 374 Create 3D Arrows INTRODUCTION EnSight can display 3D arrows. The 3D arrow is defined in model space and transforms with the scene. The 3D arrow is visible in the viewport(s) specified. BASIC OPERATION 1. Click Annot in the Mode Selection Area. 2. Click 3D Annotation Arrow icon from the Mode Icon Bar to bring up the 3D Annotation Arrow dialog. 3. Create a new 3D annotation arrow in the Graphics Window by clicking the New button. 4. While still in Annot Mode, Pick the arrow tip location option in the Pick pulldown. 5. Position the mouse and press the ‘p’ key. To manipulate 3D annotation attributes, first select the item(s) of interest in the list (or while in Annot Mode, pick them in the graphics window), then: To change viewport visibility: Click on the viewport region to toggle the visibility in the viewport. Green means visibility is on. Under Lighting Tab, change surface characteristics: Shininess is surface smoothness, intensity is how much white light in reflected color, and diffusivity is amount of ambient light reflected. Under Size Tab, change size: Arrow size is in global coordinates. Arrow radius, tip length and tip radius are all in percent of arrow size. Note that scaling of the arrows can also be contolled below and above given value ranges. Page 375 Under the Location Tab, change location: The origin can be set by interactive query probe locations, xyz coordinate, or external force or moment vector glyphs. For example, for xyz location - either type appropriate coordinates in the X, Y, and Z fields or enter a node ID or an element ID. Offset value moves the arrow backwards. and orientation: Buttons: The X, Y, Z orient the arrow parallel to the axis, Flip reverses 180 degrees, and Normal is normal to a surface (active only if a surface). Sliders: Also you can rotate the normal about the X, Y, or Z. it here. For the other “Origin by” options appropriate attributes are presented. Under the Label Tab, change Label characteristics: Type in the arrow label, size it, and color it here. If the 3D arrow Location was defined as the location for an interactive query you can append the interactive query value. The arrow label can also be defined as an existing text annotation id. Specify the ID here and set the text size and color. SEE ALSO User Manual: Annot Mode Page 376 Create Dials INTRODUCTION EnSight can display A 2D dial (such as a clock to measure time) tied to a constant variable. These 2D dials overlay the Graphics window and are not associated with any viewport. BASIC OPERATION 1. Click Annot in the Mode Selection Area. 2. Click the Dials icon from the Mode Icon Bar to bring up the Annotation dialog. 3. Create a new dial in the Graphics Window by selecting a variable in the Constant variable list and then clicking the New button. To manipulate dial attributes, first select the dial(s) of interest in the list (or while in Annot Mode, pick them in the graphics window), then: To change visibility: Toggle Visible on or off. Note that in Annot Mode invisible shapes are drawn in a subdued color. To change whether border is drawn: Toggle Border on or off. To change the number of tick marks: Enter the number of tick marks. To change the size of the dial: Enter a value for the dial radius or use the slider. Values are 0 to 1. Example: To change location: Either select the dial and drag it to the desired location, or type appropriate coordinates into the Origin X/Y fields. The origin of a dial is the center. To delete a dial, click the Delete button. The Big hand, Little Hand, Value and Background area is explained on the next page. Page 377 Attributes for the Big hand The dial "big hand" points straight up at the minimum value and has a range specified. If the variable being tracked exceeds the range the modulus of the variable and the range is shown. To change any of the Big hand attributes click the "Big hand" tab. To change the minimum value: Enter the minimum value in the field. To change the range: Enter the range in the field. To change color for the big hand: Select the desired color from the matrix, enter RGB values in the fields, or click More... to open the Color Selector dialog. Attributes for the Little hand The dial "little hand" may be visible or not. If visible it is simply the count of how many rotations the big hand has made. A value of 0 is straight up and can not be changed. To change any of the Little hand attributes click on the "Little hand" tab. To change the little hand visibility: Click on the Display toggle. To modify the Little hand range: Enter a new range value. To change color for the little hand: See instructions under Big hand. Attributes for Value The dial may display a value on the dial representing the variable value or the number of rotations the little hand has made. To change any of the value display attributes on the dial click on the "Value" tab. To change the value visibility: Click on the Display toggle. To change the size of the font: Enter a font size. To change the display type: Set Show as to Revolutions if you wish the value to indicate the number of revolutions that the Big hand has made or set to Value if you want to display the variable value. If you set the Show as to Value you can also set the format being used by modifying the Format type and the number of Decimal places. To change color for the little hand: See instructions under Big hand. Page 378 Attributes for the Background Controls the shading and color of the dial. To remove the dial background: Click on the Display toggle. When off no dial background will be displayed (the dial will be in "wireframe"). To change color for the background: See instructions under Big hand. SEE ALSO User Manual: Annot Mode Page 379 Create Gauges INTRODUCTION EnSight can display a 2D gauge tied to a constant variable. These 2D gauges overlay the Graphics window and are not associated with any viewport. BASIC OPERATION 1. Click Annot in the Mode Selection Area. 2. Click the Gauge icon from the Mode Icon Bar to bring up the Annotation dialog. 3. Create a new gauge in the Graphics Window by selecting a variable in the Constant variable list and then clicking the New button. To manipulate gauge attributes, first select the gauge(s) of interest in the list (or while in Annot Mode, pick them in the graphics window), then: To change visibility: Toggle Visible on or off. Note that in Annot Mode invisible shapes are drawn in a subdued color. To change whether border is drawn: Toggle Border on or off. To change the orientation: Set the orientation to Vertical or Horizontal. To change the width/height: Enter a new width/height value or use the sliders. Values are 0 to 1. Example: To change the variable range: Adjust the min and max values. If the variable value being tracked is greater than or equal to the maximum value, the gauge will be “full”. Similarly, if the variable value is less than or equal to the minimum value, the gauge will be “empty”. To change location: Either select the gauge and drag it to the desired location, or type appropriate coordinates into the Origin X/Y fields. The origin of a gauge is the lower left corner. The Gauge level, Value and Background area is explained on the next page. To delete a dial, click the Delete button. Page 380 Attributes for the Gauge level You can modify the gauge foreground color (the color tracking the variable value) by: Click on the Gauge level tab/button. Select the desired color from the matrix, enter RGB values in the fields, or click More... to open the Color Selector dialog. Attributes for Value A label may be placed on the gauge to indicate the current value of the tracked variable. To change any of the value display attributes on the gauge click on the "Value" tab/button. To change the value label visibility: Click on the Display toggle. To change the size and location: Set the font size and the location for the label. To change the format: You can set the format to floating or exponential format. For both formats you can specify the number of decimal places to display. To change color for the value label: See instructions under Gauge level. Attributes for the Background Controls the shading and color of the gauge. To remove the gauge background: Click on the Display toggle. When off no gauge background will be displayed (the gauge will be in "wireframe"). To change color for the background: See instructions under Gauge level. SEE ALSO User Manual: Annot Mode Page 381 Load Custom Logos INTRODUCTION EnSight can display bit mapped graphics loaded from disk files. A bitmap can be any image, however, the most common use is to include a logo or other signature graphic to identify the source of images or animations. Bitmaps are drawn over all geometric objects in the Graphics Window (at least where the bitmap is opaque), but under all other annotation entities. BASIC OPERATION To load a logo: 1. Select Annot in the Mode Selection Area 2. Click the Logo icon from the Mode Icon Bar to open the Annotation dialog. 3. Click New button and select the supported image format file using the File selection dialog which comes up, and click Okay. (The supported file formats are listed in the File Selection dialog under the File type pulldown.) To manipulate logo attributes, first select the logo(s) of interest in the list (or in the graphics window), then: To change visibility: Toggle Visible off or on. Note that in Annot Mode, the logo will not be completely invisible but will be displayed in a subdued color. To change location in the graphics window: Either position the logo interactively by selecting the desired logo in the Graphics Window (while in Annot Mode) and dragging it to the desired location, or specify the precise coordinates in the X and Y fields. To change size: Typing the desired scaling factors into the X & Y fields and press return. Note that the size of a logo cannot be adjusted interactively. SEE ALSO User Manual: Annot Mode Page 382 Create Color Legends INTRODUCTION Every currently active variable has an associated color legend that can be displayed in the Graphics Window. Color legends provide essential information about images that use parts colored by variable values (color fringes). Legends are particularly important if the image is to be viewed by others. Legends are drawn as a vertical or horizontal color bar with associated variable values. The size and position of the color legend can be changed. This article discusses changing the appearance of color legends using Annotation mode. To edit the color palette itself (change colors or change the mapping from variable values to colors) see How To Edit Color Palettes. BASIC OPERATION To display a color legend: 1. On the desktop, click the Variable legend visibility button. 2. Click the variable legend(s) you wish to display (or not display). The list contains legends for scalar variables and for magnitude of vector variables. The components of vector variables will become available in the list if Show Components is toggled on. More than one legend can be selected concurrently. A button is provided to allow you to easily turn them all off. You can also easily get to the palette editor from here. Note: ( ) indicates legend not currently visible, (*) indicates currently visible legend. Page 383 Resize or Reposition Color Legends in Graphics Window In Annotation Mode, color legends can be selected in the graphics window and then scaled or moved: 1. Make a color legend visible as described above. 2. Click Annot in the Mode Selection area. Handles (currently selected) Like other annotation entities, color legends must be selected prior to performing an operation. A selected color legend has handles surrounding the color bar colored in the highlight color (typically green). Unselected color legends have white handles. 3. Select the desired color legend: move the mouse into the Graphics Window and click the left mouse button anywhere within the color bar. 4. To move the color legend, place the mouse pointer within the color bar, click the left mouse button, and drag to the desired location. 5. To resize the color legend, place the mouse pointer over one of the four corner handles, click the left mouse button, and drag to the desired size. Manipulating Other Legend Attributes 1. Click Annot in the Mode Selection Area. 2. Click Legend icon from the Mode Icon Bar to bring up the Annotation dialog. 3. Select the legend(s) of interest in the list (or in the graphics window), then: To change visibility: Toggle Visible on or off. To change color of text and colorbar outline: Select the desired color from the matrix, enter RGB values in the fields, or click More... to open the Color Selector dialog. To change legend orientation: Click the desired Layout (Vertical or Horizontal). To change title position: Click the Title Pulldown and select either Above (the default), Below, or None. To change text position: Click the Values Pulldown and select either Left/Bottom (the default), Right/Top, or None. To change legend type: Click the Type Pulldown and select either Continuous (the default) or Discrete. To change text size: Enter the desired text size and press return. To change Value label format: Either select a pre-defined format from the Value format List or enter a new format string in the Text Format field. To change location: Enter values for X & Y (lower left corner) and width and height, and press return. Page 384 SEE ALSO How To Edit Color Palettes User Manual: Annot Mode Page 385 Manipulate Fonts INTRODUCTION EnSight draws all of its text in the graphics window using TrueType fonts. It is capable of reading and drawing most TrueType fonts and font collections. Under Windows, it is also capable of rendering internationalized multi-byte text in annotations, provided an appropriate font containing the necessary glyphs is selected. To ensure portability between platforms, EnSight includes a collection of cross-platform fonts embedded into EnSight. These include the typefaces: Arial, Courier New, Symbol, and Times New Roman. If a user restricts font usage to these font families, resulting .els and other files will be portable. If other font families are used, EnSight may substitute one of these (or other) fonts if it cannot find a match on the target system. EnSight will also read the installed system fonts on Windows and Power PC-based Macs. The environmental variable CEI_FONTPATH may be set to a list of ':' (';' on Windows) separated directory names in which EnSight should also look for .ttf and .ttc files. This allows the user to use their own fonts in EnSight on any platform. Fonts are always specified in EnSight as a family name and an optional style with a ':' separator. For example, 'Arial:BoldItalic' specifies the Arial family with the styles Bold and Italic applied. Style names of 'Roman', 'Italic', 'Bold' and 'Oblique' (and combinations) are all recognized by EnSight and are mapped against the internal flags in the TrueType files themselves. The default fonts, styles and sizes used by EnSight can also be set through a collection of environmental variables: ENSIGHT_FONT_DEFAULT_SYMBOL ENSIGHT_FONT_DEFAULT_OUTLINE ENSIGHT_FONT_DEFAULT_ANNOT ENSIGHT_FONT_DEFAULT_SYMBOL_STYLE ENSIGHT_FONT_DEFAULT_OUTLINE_STYLE ENSIGHT_FONT_DEFAULT_ANNOT_STYLE ENSIGHT_FONT_DEFAULT_OUTLINE_SCALE family to be used instead of the symbol font - default = “symbol” family to be used for ID/axis labeling - default = “Arial” family to be used for annotations - default = “Times New Roman” style to be used with the symbol font style to be used with the outline font style to be used with the annotation font specifies the relative scale for the outline font. The value 100.0 is the default 200.0 is 2x larger, 50.0 is ½ size The ENSIGHT_FONT_DEFAULT_*_STYLE environmental variables use a numbering scheme for the styles. The following values may be added together to form the style: BOLD 1 ITALIC 2 OBLIQUE 4 ROMAN 8 For example, if the user wanted annotations to default to Arial:BoldItalic, the following environmental variables should be set (Windows syntax): set ENSIGHT_FONT_DEFAULT_ANNOT=Arial set ENSIGHT_FONT_DEFAULT_ANNOT_STYLE=3 This selects Arial and BOLD+ITALIC=3. The default font is not recorded in scenario files. Thus, if a scenario file is generated with these defaults, for the EnLiten user to see the exact same annotations, they would need to set the same environmental variables and have the same fonts installed on their system. Font changes made with the formatting codes (see below) are embedded into the scenario files and do not require the environmental variable changes for proper display (but do require the same fonts be installed). Note: under Windows, EnSight uses Times New Roman as the default font for annotations. This font does not contain a large selection of multi-lingual characters. For users running internationalized versions of Windows, we suggest that they set ENSIGHT_FONT_DEFAULT_ANNOT to the name of the typeface that best matches their locale. This allows for natural internationalized text input. Page 386 BASIC OPERATION Font selection dialog In nearly every location where EnSight allows the user to enter a text string to be used for display (e.g. text annotations, plot titles, axis titles, etc), it is possible to change the font. It is also possible to change the font repeatedly in a string. This is done by inserting a special code into the string that contains the font name (See Text formatting codes for details). In several locations in the EnSight GUI, this operation is simplified via the font selection dialog which lists all the available font family/style combinations and allows the user to change fonts in the text field currently being edited The current font (possibly the default) is selected in the list when the dialog is opened. The user may change this font to any other by selecting from this list and clicking 'Insert' or 'Replace'. The 'Insert' button will insert a new font tag and all text from the current insertion point to the next font string (or the end of the string) will be displayed in the selected font. The 'Replace' button will replace the current font tag (or the first one to the left of the insertion point) with the selected font. If no font tags are in the string to the left of the insertion point, it inserts one at the start of the string. To illustrate the use of font capabilities, Text Annotation will be used: Clicking the Edit button in Text Annotation, opens the Text Annotation Editing Dialog allowing the modification of a text item. The text to be edited is typed into the scrolling text field. Note that pressing 'enter' inserts a new line into the annotation. To see the results of the edit, click on the 'Update text' button or check the 'Dynamic update' box. When dynamic updates are enabled, the annotations in the main EnSight window are redrawn with every keystroke. Note that this option causes EnSight to record every keystroke into the command stream as well. The Normal, Subscript and Superscript radio buttons allow the user to mark sections of the text to be in super or subscript form by inserting the special codes and into the text stream. The Store and Recall radio buttons allow the user to insert the and codes into the text string for saving and recalling a text position on the screen. (See font formatting codes) One other thing to note is the Fonts item in the Special String list. Selecting this will bring up the Font Selector dialog shown on the previous page. Page 387 Font formatting codes The TrueType rendering system supports a number of special embedded codes. These can generally be placed in most any string displayed in the EnSight graphics window (e.g. plot titles, axis titles, etc). When the text string is drawn, these special codes are parsed out of the string and they affect any text to the right of the code. In general, the effects are additive and to turn an effect off, insert another code that sets the feature back to its default value. The codes are: XXX The text is drawn in "normal" mode. The text is drawn in superscript mode. The text is drawn in subscript mode. Change the current font family and/or style. To change just the font family, use . To change the style only, use . The special case of resets the text family and style to the default. Change the current scaling and/or vertical line offset. To change only the relative fontsize, use , where 1.0 is the default size of the text. To change only the vertical offset of the next text, use . For example, simulates superscript. The special case of resets the scale and vertical offset to 1.0 and 0.0 respectively. Store the current text position into slot X (x is an integer from 1 to 9). Recall the current text position from slot X (x is an integer from 1 to 9). The store/recall mechanism in conjunction with allows for accurate repositioning of text. For example, it allows overstrike of text and for the generation of simultaneous super and subscripts as well as formatted fractions. Note that slot 0 is reserved for the first character in the current line of text. Insert a single glyph from the "Symbol" font at this position. Note that 3 decimal digits must follow the text. An arbitrary glyph from a font using its Unicode number. The number must be specified as four hexadecimal digits. For example, will produce the copyright symbol (©) if it is available in the current font. Set the color of the subsequent text. The user may supply up to 4 floating point values in the range [0.0,1.0] for the Red, Green, Blue and Alpha (opacity) of the text. The alpha value defaults to 1.0, while other values default to the value to their left. Note: changes just the opacity of the text. Explicitly move to the next line. This is the same as pressing 'enter' in the textfield. Note that text shown in the Annotation dialog list for text annotations is displayed with in place of all new lines. Page 388 A simple example The following is an example of a text annotation that utilizes multiple fonts, multiple lines of text, symbols and the store/recall feature. The string entered into the Text Annotation Editing dialog to create this annotation is: This is dynamically updated, multi-line text... A symbol:120 Stored location____________ The first few words are in normal text, followed by a font change and a new line. Midway through the second line, the font changes again and at the end of that line, it changes back to the default font and style. The third line ends with a glyph from the symbol font. The last line starts by storing the location of the 'S' character in slot '1'. It then draws 'Stored location' before the command recalls current output to the 'S' location. Finally, a row of underscores are drawn that overstrike the words "Stored location". A more complex example The following text annotation example illustrates the use of text colors and some scaling and offset options. The string entered into the Text Annotation Editing dialog to create this annotation is shown below (note that this is actually three lines of text, the first is a single, very long line): A 091 morecomplex093 example A transparent example This example begins by drawing an 'A', then scaling up the text while dropping it a bit below the line before drawing a left brace '['. It then stores off that location and sets up drawing at the original size, but above the baseline. The color is changed to red and the word 'more' is drawn. The stored location is recalled and a similar operation is done for the word 'complex' below the baseline. The scale is set to the same as the first brace, the color is reset to white and the right brace ']' is drawn. To end the line, the scale and offset are reset and 'example' is drawn in blue. The second line is a blank line. The final line is a simple example of how to make a piece of text partially transparent. Note that the red object behind the text can been seen through the text. SEE ALSO How To Create Text Annotation User Manual: Annot Mode Page 389 Configure EnSight Customize Icon Bars INTRODUCTION EnSight uses several sets of icons to group functionality. To suit personal preferences or simplify the interface, the order of the icons within each set can be changed or icons can be removed altogether (typically eliminating access to that portion of functionality). The icon sets correspond to the seven major groupings of function within EnSight: Main Feature (the icons in the Feature Icon bar) and the six Modes: View, Part, Annot, Plot, VPort, and Frame. By default, EnSight displays informative text labels underneath each icon in the Mode icon bars. Once the icon functions have been learned, these can be removed to save space in the icon bar. BASIC OPERATION To customize an icon bar: 1. Select Edit > Preferences..., select General User_Interface and click the Modify and Save Icon Layout... button. 2. Select the desired icon bar from the Which Icon Bar pulldown. 3. To disable display of the icon help labels, toggle off the Show Help Labels For Mode Icons button. (Off by default) To edit, click the left mouse button at the desired location and change the text. Each entry in the list controls one icon and has the following components: Menu ID Internal ID. (Included for potential future usage – do not change). Button Name The name of the icon. (Included for potential future usage – do not change) Visible status Either ON or OFF. Order Icon order within the bar. Description Description printed in the Message Area when the left mouse button is clicked and held on the icon. Note that changes will not take effect until the next time you run EnSight. To save your changes, click the Save As Default button and then click Close. To exit the dialog without saving your changes, just click Close. Page 390 ADVANCED USAGE The lists presented in the Icon Bar Preferences dialog are stored on disk as text files in the EnSight defaults directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac). If you prefer, you can edit these files directly with any text editor and the changes will take effect during your next EnSight session. The files are named as follows: Main Feature ensight_feat_panel.def View ensight_view_panel.def Part ensight_part_panel.def Annot ensight_annot_panel.def Plot ensight_plot_panel.def VPort ensight_viewp_panel.def Frame ensight_frame_panel.def See How to Produce Customized Access to Tools & Features for a description of what can be done when you activate the user-defined toolbox icon. SEE ALSO User Manual: Icon Bars Page 391 Customize Mouse Button Actions INTRODUCTION When the mouse pointer is in the Graphics Window, clicking and holding the left mouse button as you drag will perform the current transformation (e.g. rotate or zoom) as selected in the Transformation Control area. To perform a different transformation, you have to move the mouse to the Transformation Control area, select the new operation, and move back to the Graphics Window. To avoid this, you can redefine how the left mouse works as well as map additional transformation operations onto the middle and right mouse buttons, combinations of mouse buttons, and double-clicking of mouse buttons. This customization only effects the mouse usage while in the Graphics Window. The left button is still used for other user-interface actions. BASIC OPERATION To change the behavior of mouse buttons in the Graphics Window: 1. Select Edit > Preferences..., then click on Mouse and Keyboard 2. Set each click and drag mouse button pulldown (Left, Middle, Right and combinations of such) as desired. 3. Set the two button click and drag for each mouse. 4. Set the single click action for each mouse button. 5. Set the action for the keyboard ‘P’ key (see below). 5. Set desired Zoom Style. Automatic slide will zoom based on the direction and distance the mouse is moved. To the right or up zooms away, while to the left or down zooms towards. The distance the mouse is dragged determines the rate of continuous zoom. Manual drag zooms in the same directions, but only a distance relative to the distance the mouse is dragged. 6. Click Save To Preference File to save your changes (if you want these changes to be the default for future sessions of EnSight) and Close to exit the dialog. The new settings will take effect as soon as you hit the close button. If you clicked Save To Preference Files, your changes are also written to a file and automatically loaded during future EnSight sessions. Page 392 Each mouse button (or combination of mouse buttons) can have one of the following associated behaviors: Selected When this mouse button is clicked and dragged, the operation performed will be the currently transform action selected function in the Transformation Control area. Rotate When this mouse button is clicked and dragged, the operation performed will be rotate. Translate Zoom Rubberband zoom When this mouse button is clicked and dragged, the operation performed will be translate. When this mouse button is clicked and dragged, if Zoom Style is Manual Drag then a zoom displacement will occur, and if Zoom Style is Automatic Slide then a zoom velocity will occur When this mouse button is clicked and dragged, the operation performed will be a rubberband zoom. Rubberband When this mouse button is clicked and dragged, the operation performed will be a rubberband selection tool selection tool manipulation. Selected pick action Pick part When this mouse button is clicked, the currently selected pick action (as previously selected under the pick icon) will be performed. When this mouse button is clicked, the pick part action will be performed - causing the part under the mouse to be selected in the main parts list. Pick cursor tool When this mouse button is clicked, the pick cursor tool action will be performed - causing the location cursor tool to move to the picked location. Pick transf. center When this mouse button is clicked, the pick transformation center action will be performed causing the center of transformation to move to the picked location. Pick elements to When this mouse button is clicked, the element blanking action will be performed - causing the blank element under the mouse to be removed. Nothing When this mouse button is clicked, no action will be performed. Note that at least one of the mouse buttons (or combinations) must be set to “Selected transform action”! Each double-click mouse action or the keyboard ‘P’ key can be set to the following: Selected pick action Pick part When this mouse button is clicked, the currently selected pick action (as previously selected under the pick icon) will be performed. When this mouse button is clicked, the pick part action will be performed - causing the part under the mouse to be selected in the main parts list. Pick cursor tool When this mouse button is clicked, the pick cursor tool action will be performed - causing the location cursor tool to move to the picked location. Pick transf. center When this mouse button is clicked, the pick transformation center action will be performed causing the center of transformation to move to the picked location. Pick elements to When this mouse button is clicked, the element blanking action will be performed - causing the blank element under the mouse to be removed. Nothing When this mouse button is clicked, no action will be performed. Note that at least one of the mouse buttons, double-click options or the “P” key must be set to “Selected pick action”! SEE ALSO User Manual: Mouse and Keyboard Preferences Page 393 Save GUI Settings INTRODUCTION The default size and position of the EnSight user interface windows was chosen to try to minimize window overlap. Since some users may have different criteria for window placement, EnSight provides a method for saving this information. BASIC OPERATION You can move and resize windows using the standard window manager operations. Once you have positioned your windows as desired: 1. Select Edit > Preferences..., select General User Interface and click Save Size and Position of Main Windows. The information is saved in your EnSight defaults directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac) in the file ensight.winpos.default. This and many other preference settings can be set and saved, see How To Set and Modify Preferences. SEE ALSO User Manual: Save Window Positions under the General User Interface of Prefs. Page 394 Define and Use Macros INTRODUCTION Advanced users of EnSight often find themselves performing repetitive tasks. EnSight’s macro facility lets you save a sequence of commands and then assign a keyboard key to those commands such that they are executed when the key is pressed. Pressing a key assigned to a macro causes the associated command file to be read and executed. Depending on how it is set up, a macro can execute it’s file in one of three ways: 1. The command file is executed once for each key press. This mode is useful for one-time operations such as cutting flipbook animation on/off or saving an image. 2. The command file repeatedly executes as long as the key is held down. This is useful for operations that are continuous in nature, such as rotating around the Y axis by 5 degrees. 3. Multiple command files execute in a cycle for each keystroke. Keystroke macros are defined in a text file, macro9.define. Macros can be defined at a site or local level, with local macros overriding site macros that might be defined for the same key. The macro9.define file (if any) that resides in the %CEI_HOME%/ensight92/site_preferences/macros directory defines site-level macros, while the macro9.define file (if any) under the user’s EnSight defaults directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac) will define that user’s local macros. Any command files referenced by macros must be located in these directories as well. Most of the functions needed to define and edit macros can be found under the Macros tab of the Command Dialog (File > Command from the Main Menu). BASIC OPERATION Creating Macro Command Files The first step in creating macros is to save the various command sequences that perform the desired actions. This can be done in several ways. One way to save commands for a macro is to save off a command file from an Ensight session. See How To Record and Play Command Files for more information. Be careful as you perform the operations that are saved to the command file. Superfluous or errant commands will slow down macro operation or cause errors. You may wish to view the resulting command files with a text editor and possibly make changes. A second way to create the command file for a macro is to copy commands from the Command Dialog history Page 395 window: 1. Mark the desired commands by clicking and dragging in the history window, or by any combination of clicking and dragging while holding down the CTRL key. 2. With the cursor over the marked commands, click the right mouse button to bring up the action menu, then select "Copy". This will copy the commands to the system clipboard. 3. Bring up a text editor and insert the commands using "Paste". 4. When you are finished building your macro command file, be sure you save it in the site or local macros directory (see above). A third way to create a macro command file is by writing/appending them directly to a file from the Command Dialog history window: 1. Mark the desired commands by clicking and dragging in the history window, or by any combination of clicking and dragging while holding down the CTRL key. 2. With the cursor over the marked commands, click the right mouse button to bring up the action menu, then select "Write/append" to file. 3. A File Selection dialog opens. Select or enter the desired file to save commands to and click Save. If the file already exists, the selected commands will be appended, if it does not, it will be created with the selected commands. Page 396 Linking macro command files to keys To link a command file in the macros directory to a key or mouse button: 1. In the Command Dialog "Macros" tab (File > Command from the Main Menu), click "New". The New Macro dialog opens. 2. Select or type a key, 3. Check "Repeatable" if you want the macro to be repeated while the key is held down. 4. Select any modifier keys such as CTRL or ALT. 5. Enter a brief description of what the macro does. 6. Click "Add" to add a command file for the macro. 6. OR click “Add Menu” to add the functionality from an existing EnSight menu to the macro. A File Selection dialog opens. 7. Select the desired file and click Save. Note: you can select a file anywhere on your system, and if it is not already in the local .macros directory, it will be copied there. 8. Repeat steps 6 and 7 for macros with multiple command files. Page 397 To change an existing macro definition: 1. In the Command Dialog "Macros" tab (File > Command from the Main Menu), click "Edit". 2. The Edit Macro dialog opens. Change any of the values in this dialog, then click "Close". Your changes will not be written to the macro9.define file until you either click "Save Changes" in the Command dialog Macros tab, or close the command dialog and answer "Yes" to the Save Changes query message. OTHER NOTES A common use of tying more than one command file to the same key is to create a toggle. Make the first command file turn the option on, and the second command file turn the option off. Then tie both of these to the same key. You will now cycle through the two command files, effectively creating a toggle situation. SEE ALSO How To Record and Play Command Files User Manual: Macros Tab Page 398 Set or Modify Preferences INTRODUCTION Nearly every operation and function in EnSight is initially set to a default value. Preferences allow you to set these initial values as well as set some default behaviors such as which time step to initially load for transient data, how the mouse buttons are defined, etc. When EnSight starts, the preference settings are read from the $CEI_HOME/ ensight92/site_preferences directory and then overlaid by the preference settings found in your EnSight defaults directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac). BASIC OPERATION 1. Bring up the Preferences dialog by selecting Preferences from the Edit pull-down menu. The following preference categories are available in the Preferences dialog (and will be explained below): To Set Annotation Preferences: To Set Color Palette Defaults: To Set Command Line Preferences: To Set Data Preferences: To Set General User Interface Preferences: To Set Image Saving and Printing Preferences: To Set Interactive Probe Query Preferences: To Set Mouse and Keyboard Preferences: To Set Part Preferences: To Set Performance Preferences: To Set Plotter Preferences: To Set Query Preferences: To Set User Defined Input Preferences: To Set Variable Preferences: To Set View Preferences: To Set Viewports Preferences: Page 399 To Set Annotation Preferences: 1. Select Annotation from the Preference Categories list. 2. Click the “Click Here To Start” button. 3. Click the Select button in the Annot mode icons and click Deselect All Annotations. 4. Set any attribute, for example line widths to 2 Pixels, text to left justification, etc. 5. You can also define any annotation (text, line, and logo) and have it be part of your preferences. Legends can also be part of the preferences, but these preferences are independent of the variable tied to the legend, i.e., the preference file keeps attributes for the first, second, third, etc. visible legends. 5. Click Save to Preference File to save the default annotation attributes. If you have defined any annotations, a pop-up will ask you if you want to save this annotation as part of your default or if your intent is to save the default attributes only. Page 400 To Set Color Palette Defaults: 1. Select Color Palettes from the Preference Categories list. 2. Choose to color by RGB or Textures. 3. Toggle on if you want the color legend to automatically appear when you color a part by a variable. 4. Toggle on if you want color legends to be replaced when the current legend is no longer in use (i.e., no parts are colored by the variable) and a new variable is in use. 5. Toggle on if you wish the legend ranges to be updated when time is changed, thus based on values of variable at the current time. 6. Set the default legend for per element variables to be constant over the element or to vary continuously over the element (averages with neighbors). 7. Set the default legend editing interface to simple or advanced 8. If you have predefined color palettes, you can set one of them to be the default by entering the name or picking one from the list of defined palettes. 9. To set default legend attributes, click here. This will bring up the detail editor for color legends with no legends selected. In the feature detail editor, set the desired attributes such as linear/logarithmic scale, and continuous or banded type. 10. Click here to save the preferences. Page 401 To Set Command Line Preferences: A number of command line parameters exist for EnSight. These parameters can be set in your preference file so you do not have to specify them on the start line each time you use EnSight. 1. Select Command Line Parameters from the Preference Categories list. 2. Select a command line argument. An explanation of the selected argument will appear in the dialog. 3. Click here to add the parameter. It will be placed in the edit area. If you make a mistake and add an unwanted parameter, simply highlight it in the feedback area and delete it. If additional information is required, a note will be posted here to help you. 4. If you need to add additional information, add any text needed into the edit area. 5. Click here to save the preferences. Page 402 To Set Data Preferences: 1. Select Data from the Preference Categories list. 2. If you want to specify a path to look for data, specify it here. 3. You can specify the default binary file type here. 4. When transient data is loaded into EnSight you can choose to specify a beginning time step. If you do not specify a beginning time step, either the first or the last time step will be loaded depending on this preference. 5. After successfully reading data into EnSight you are presented (for most data formats) with a part loader if this attribute is set to No Parts. If set to any other attribute the parts specified will be loaded and displayed without intervention from the part loader. Concerns periodic model updating while EnSight is running - Please Contact CEI Support regarding this option. 6. The readers shown with a * will show up in the pull-down for data format in the EnSight data reader dialog. You can take readers off of the pull-down list if you toggle the * off (select the reader in the list). 7. You can specify the default data type by typing in the exact name of the reader. 8. Click here to save the preferences. Page 403 To Set General User Interface Preferences: 1. Select General User Interface from the Preference Categories list. 2. Toggle to show tool tips (balloon help). 3. Toggle to show long part list. 4. Toggle to show Frame mode as an available mode. 6. EnSight’s command language records part names or numbers according to this choice. Recording by name is more portable for using the command language with a different dataset since the part numbers do not need to match up. However, recording by name produces slightly larger command files. 7. Click Save Above Items To Preference File to save the GUI items to your preference file. 8. To Modify EnSight’s Icon Layout, click here. 9. To save as a preference the location and size of EnSight’s windows, click here. Page 404 To Set Image Saving and Printing Preferences: 1. Select Image Saving and Printing from the Preference Categories list. 2. Click the “Click Here To Start” button. This will bring up the Print/Save Image dialog. 3. Modify the attributes you want for your preference such as the image format. 4. Click here to save the preferences. Page 405 To Set Interactive Probe Query Preferences: 1. Select Interactive Probe Query from the Preference Categories list. 2. Click the “Click Here To Start” button. This will bring up Interactive Probe quick interaction area. 3. Modify the attributes you want for your preference such as Report By, and # Items Displayed. 4. Click here to save the preferences. Page 406 To Set Mouse and Keyboard Preferences: This preference allows you to modify the behavior of the mouse buttons used during EnSight transformations. Several different actions are available for the various single click, multiplebutton single click, and double click options. Note, it is required to set at least one button to “Selected transform action” (which means that the button is set to the action as shown in transformation icons at the bottom of the EnSight dialog - set to rotate by default). Also, one mouse or the “p” keyboard key must be set to “Selected pick action”. 1. Select Mouse and Keyboard from the Preference Categories list. 2. Modify the preference for each of the mouse buttons (and keyboard ‘P’ key). Single click actions available are: Click and drag options are: And the possible zoom styles are: 3. Click here to save the preferences. See How To Produce Customized Pop-Up Menus for a description of what “User defined menu” is. Page 407 To Set Part Preferences: 1. Select Parts from the Preferences Categories list. 2. Click Allow editing part defaults if you want to be able to edit part defaults when no parts are selected. 3. Click the “Click Here To Start” button. This will bring up Part mode in EnSight and deselect any parts (so you can edit defaults). 4. Modify any part attribute such as line thickness. 5. Click Save General Part Preferences To File to save the default visual attributes for parts. 6. If you want to modify creation attributes for created parts, specify which dialog you want to use. 7. Set the part type. 8. Modify the attribute. For example, set subcontours to 3 for contour parts. 9. Click Save Preferences For Part Type Chosen To File to save the attributes for the part type edited. 10. Set the options for the Part List display. 11. Save your choices. Page 408 To Set Performance Preferences: 1. Select Performance from the Preferences Categories list. 2. To take advantage of pixel saving when redrawing a window movement, set this toggle. (Graphics card speed for reading/writing of pixels needs to be reasonable to use.) 3. To cull duplicate lines in line drawing mode, set this toggle. 4. To set fast mode to static, toggle on. The default is off meaning that the fast display (i.e., bounding box) is only active during transformations such that the image returns back to full graphics display when the mouse buttons are not depressed. In static mode the fast representation is continuously displayed. 5. To ensure proper display of transparent geometry, EnSight must sort all the transparent polygons in the display. This can be an expensive operation, particularly if multiple transparent parts are visible. This option controls when and how surfaces are sorted. In “Interactive” mode, sorting is performed between every redraw of the view. In “Delayed” mode, sorting is not performed while the user is interacting with the view (while the mouse button is held down). NOTE: Hidden line overlay does not work with either “Interactive” or “Delayed”. In “Depth peeling” mode (which is only available on graphics cards that support the OpenGL Shading Language) sorting is done by the graphics card on a per-pixel basis by rendering the view repeatedly. This mode scales better as the number of polygons increases and it does not suffer a performance hit when multiple parts are transparent. The number of peels (and hence the number of surfaces to order properly) is controlled by the “Number of peels” field. 5. If using point display for fast display mode, set the point resolution here. 6. If using sparse geometry display for fast display mode, set the percent of the model to show here. (Only used if immediate mode is being used.) 7. EnSight is a client-server architecture with the possibility that the two processes are executing on different and possibly remote machines. Due to this, a general abort function is not possible. Instead a timer abort function is available that will terminate many server operations after a set amount of time has passed. If you wish to set this time-out value turn the toggle on and set the time-out amount (in seconds). 8. Click here to save the preferences. Page 409 To Set Plotter Preferences: 1. Select Plotter from the Preferences Categories list. 2. Click the “Click Here To Start” button. This will bring up Plotter mode in EnSight and deselect any plots and curves. 3. Set any attribute, for example line width for curves, tick marks for axis, etc. 4. Click here to save the preferences. Page 410 To Set Query Preferences: 1. Select Query from the Preferences Categories list. 2. Click this toggle on so that once you create a query it will be automatically plotted. 3. If Auto Plot Queries is toggled on, then you have the option to check this toggle. If on and an existing plot uses the same variables, you query will be added to this existing plot. Otherwise an new plot will be created. 4. Click the “Click Here To Start” button. This will bring up the Query quick interaction area with all query items deselected. 5. Set any attribute, for example Distance Type and 30 Samples for the Line tool constraint. 6. Click here to save the preferences. Page 411 To Set User Defined Input Preferences: 1. Select User Defined Input from the Preferences Categories list. 2. Turn this on to show the macro panel display 3. Toggle to select the default to display a part list in the graphics window. This is especially helpful in full screen mode or a VR environment. 4. Turn this on to activate the user defined input device (ENSIGHT9_INPUT must be set to the proper device). 5. A Valuator can be used for zoom operations (like a virtual joy stick), or Position which simply means to delta movement in the Z direction will be used. 6. Sets the sensitivity for the zoom operation. The values for zoom are scaled by this setting, so values larger than 1.0 will make the inputs larger while less than 1.0 will make them smaller. 7. Mixed mode will use the input devices z rotate directly but use x and y translation values for x/y rotations. Direct mode will use the rotation angles from the input device directly for all three axis. 8. Sensitivity will set a scaling factor for the rotation values. 9. Click here to save the preferences. Page 412 To Set Variable Preferences: 1. Select Variables from the Preferences Categories list. 2. Turn this on if you want to be notified before a variable is activated. 3. Toggle to select visibility of functions in the General Functions list of the New Variable Calculator dialog. 4. Save this notification request and function visibilities to the preference file by clicking here. 5. Brings up the dialog for setting extended CFD settings. Save these settings by clicking here. Page 413 To Set View Preferences: 1. Select View from the Preferences Categories list. 2. Turn on if you want the plane tool to be shown as a transparent plane, or off if you want it shown in line drawing mode. 3. There are two offsets employed in EnSight. This one, hardware offset, is perpendicular to the monitor screen, and done in hardware if this toggle is on. This will allow, for example contour lines to appear closer to the viewer than their parent part so they are visible no matter what orientation the part is viewed from. The second offset is the display offset. The display offset can be set in the feature detail editor for line parts such as contour lines, particle trace lines, vector arrows, and separation/attachment lines. The display offset is the distance in the direction of the element normal (perpendicular to the surface). 4. Select the default viewing orientation. 5. For newer graphics cards leave as ‘hardware’ and EnSight will attempt to use hardware picking, and if not available will use software picking. For older graphics cards with sluggish performance, choose software picking. 6. Pull down “View” menu and set items desired. 7. Click here to save the preferences. Caution: if you save software picking and later change to a newer graphics card you must change this back to ‘hardware’ to take advantage of the new card. Page 414 To Set Viewports Preferences: 1. Select the Viewports Category. 2. Click the Click Here To Start button. This will bring up the Viewports quick interaction area with all viewport items selected. 3. Set any viewport attributes (for example, background color to blended). 4. Click here to save the attributes set in 2. to the preference file as defaults for future sessions. 5. Click her to save the current viewport layout to the preference file. SEE ALSO User Manual: Edit Menu Functions Page 415 Enable User Defined Input Devices INTRODUCTION EnSight offers user defined input devices that have been specifically designed for (but not limited to) typical input devices used in VR environments. Implementation of these input devices requires adherence to the instructions outlined in the respective reference files listed below. BASIC OPERATION Manual Panel Interface: 1. Select Edit > Preferences..., and click User Defined Input. 2. Toggle Macro Panel Interface The Main Graphics window updates the Macro Panel as defined in the EnSight Defaults Directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac) as the following file: hum.define (If you have not created this file, an example is provided in: $CEI_HOME/ensight92/src/udi/HUM/hum.define on your EnSight Client host system.) 3. Toggle Part Panel Interface (if you desire a part list in the graphics window). 4. Toggle User Defined Input. (Detailed steps to implement the User Defined Input Device are outlined in the file: $CEI_HOME/ensight92/src/udi/README.v3 on your EnSight Client host system.) 5. Set Zoom Using to the appropriate type of input device you are using to record zoom transformations, adjusting the Sensitivity as needed (i.e., 0 < slower < 1 faster). 6. Set Rotate Using to the appropriate type of input device you are using to record rotation transformations, adjusting the Sensitivity as needed (i.e., 0 < slower < 1 faster). SEE ALSO User Manual: “User Defined Input Preferences” Page 416 Produce Customized Pop-Up Menus INTRODUCTION EnSight includes pop-up menus invoked via the right mouse button. The menus can be specific to each mode (i.e. Part, VPort, Annot, etc), the currently selected parts or other EnSight state. They are written as Python objects that are dynamically loaded from the EnSight extension repository when EnSight starts up. Menus can realize any function that can be built on top of command language or Python. Most menus use Python constructs to query EnSight state and perform customized actions based on that state. There is a formal mechanism through which EnSight users may add additional, customized menus to the existing pop-up menus with all of the same capabilities. The mechanism opens up EnSight to specific customization to meet a particular site or individual user’s needs. BASIC OPERATION This section describes the default EnSight menu usage with no additional customization. To use the capability included with EnSight, simply right click on a part, on some text, or on the background as shown below. By default, the pop-up menus are tied to the right mouse button single click. This can be changed using options outlined in: How To To Set Mouse and Keyboard Preferences:. The menus can also be accessed by assigning them to a particular keystroke as a macro using as outlined in How To Define and Use Macros. The specific menu that is displayed depends on the current mode, what objects are selected and what object was clicked on. Some examples are shown here: Clicking on an annotation Clicking on a selected part Clicking on the viewport background Once the menu has been displayed, you may select from the menu or any of its sub-menus. Menu targets In general, the target of the operation is listed at the top of the menu. A special modifier key (‘ctrl’) is used to control object/part selection. When the menu click is made, a pick operation is performed under the mouse pointer. This pick returns the selected part or object. If that object is part of the current selection, the selection is not changed and the Page 417 entire selection is the target of the menu operation. If the object is not part of the current selection, the object becomes the current selection and again the menu operation is performed on this new selection. The ‘ctrl’ key can be used to modify this behavior. In normal left mouse button picking, the ctrl key tells EnSight that the picked object’s selected status should be toggled, without changing the selection status of other objects. In popup menu picking (right mouse button), the ctrl key tells EnSight not to change the current selection and to target the current selection, even if the pick operation did not include a selected object. This can be used to more easily bring up the popup menu operations for objects that are not easily clicked on, or even visible. ADVANCED USAGE This section describes how to create custom user-defined menus as explained by How To EnSight extension mechanism in the Interface Manual. This section assumes familiarity with the Python language, as well as objectoriented programming. Custom pop-up menus have the same capabilities as the built-in menus, the built-in ones are in fact built on the same interface. For instance, these menus can be specific to an EnSight mode (i.e. Part, VPort, Annot, etc), the currently selected part types or other EnSight state. Also, customized menus allow the user to display options, including cascading menus. By default, your custom menus will appear below EnSight’s default list of options that appear when you right click. The user may also define a key (using the macro facility) to invoke the operation as noted above. EnSight includes two well-documented, example Python files to demonstrate the process of createing custom, userdefined pop-up menus. As an exercise to show how to customize EnSight, these two files can be moved from their existing location to a directory where they will automatically load into EnSight at startup and change EnSight’s menus. How menus get loaded By default EnSight scans the Python files found in subdirectories of the site-specific $CEI_HOME/ensight92/ site_preferences/extensions/user_defined directory and in the user specific EnSight Defaults Directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac) under the extensions/user_defined directory, looking for user-defined tools and menus (specific details of this process are covered in How To EnSight extension mechanism). When EnSight finds a candidate Python file, it loads it into a private Python module and calls a “factory” function specified by the menu writer located in the file. The factory function returns a list of objects that are registered with EnSight. The objects can be user-defined menus, tools and GUIs, based on the extension class they subclass from. Whenever a pop-up menu is invoked by the user (normally though the right-mouse button), EnSight will filter the list of registered menu objects, display them as a pop-up menu and will invoke the run method on any menu selected by user interaction with the menu. In the next two sections, we walk thought two simple examples of writing custom EnSight user-defined menus. “Hello world” menu Shown below is perhaps the simplest example menu entension implementation. It can serve as a template for more useful menus. This example Python file is included with your EnSight installation in the following folder $CEI_HOME/ ensight92/src/user_defined_ext/ . Copy the entire folder to your user EnSight Defaults Directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac) extensions/user_defined/examples folder and restart EnSight to install the menus. The figure that follows shows the new menu item generated from this Python code, as well as the console output which is found in the Python window (File>Command, and click on the Python tab in the resulting window). It also illustrates the directory structure for placing the files into the user specific EnSight startup path. Page 418 DocumentsandSettings\username\.ensight92\extensions\user_defined\examples Shown below is the commented Python code. Notice in particular the block of comment lines starting with #ENSIGHT_USER_DEFINED_BEGIN and ending with #ENSIGHT_USER_DEFINED_END. These specially formatted Python comments are what EnSight scans .py files for at startup while looking for extensions. The specify the name of the function to call when this file is loaded at startup. That (factory) function is responsible for creating instances of the menu object and returning them to EnSight where they are registered with the pop-up menu handler for future use. # # This comment block is required to identify the file for loading at # startup by EnSight. The function named by FACTORY= (in this case # 'ctor' is called by EnSight on startup. Note: the file is loaded # as a module in EnSight and the path to this file is added to sys.path. # #ENSIGHT_USER_DEFINED_BEGIN #FACTORY=ctor #ENSIGHT_USER_DEFINED_END # # Import the parent class for all user-defined menus and the ensight module # import ensight from ensight.core.menu_extension import menu_extension # # Define a menu class, a subclass of the menu_extension class # class hello_menu(menu_extension): # # Construct the menu with reasonable defaults # def __init__(self,name,parent,text="",tooltip="",desc="",icon=None): menu_extension.__init__(self,name,__file__,1.0) if (parent): parent.addChild(self) if (icon): self.setIcon(icon) self.setText(text) self.setDesc(text) self.setTooltip(text) # # Method that is called when the menu is selected # Page 419 def run(self): # # Do whatever operation this menu should do, replace with your own code # print "Hello, these parts are selected:" for part in ensight.query_parts(client=1): print part[3] # # Construct a list of menu objects to be added to the global list of # user-defined menus # def ctor(parent): list = [] # # Create the actual menu object, giving it a unique name an # onscreen name and a text description # p = hello_menu("hello_menu",parent,"Hello menu","Menu description") list.append(p) return list Context-sensitve, Hierarchial Menus Shown below is a more complex menu example. Again, it can be installed in the same manner as described above and the resulting menus are illustrated in the following image. This example builds on the previous one. First, it demonstrates that a single Python file can generate as many menus as it wants. It also demonstrates the ability to define a heirarchy out of those menus. In this example, the menus themselves have expressed the desire to only be displayed in specific contexts, e.g. when EnSight is in a specific mode and when a specific type of part has been selected. Finally, several other menu options are set, the name of the “vendor” for the menu and an icon are specified. More options are documented in the Interface Manual. The basic file structure is the same as before. There is a header block followed by the various class definitions followed by the factory function. Page 420 # # This comment block is required to identify the file for loading at # startup by EnSight. The function named by FACTORY= (in this case # 'ctor' is called by EnSight on startup. Note: the file is loaded # as a module in EnSight and the path to this file is added to sys.path. # #ENSIGHT_USER_DEFINED_BEGIN #FACTORY=ctor #ENSIGHT_USER_DEFINED_END # # Import the parent class for all user-defined menus and the ensight module # import ensight from ensight.core.menu_extension import menu_extension # # Define a "separator" menu class used to put a dividing line between menus # class sep_menu(menu_extension): def __init__(self,name,parent): menu_extension.__init__(self,name,__file__,1.0) self.setSeparator(True) if (parent): parent.addChild(self) # # Define a menu class, a subclass of the menu_extension class # class part_menu(menu_extension): # # Construct the menu with reasonable defaults # def __init__(self,name,parent,text="",tooltip="",desc="",icon=None): menu_extension.__init__(self,name,__file__,1.0) if (parent): parent.addChild(self) if (icon): self.setIcon(icon) self.setText(text) self.setDesc(text) self.setTooltip(text) self.setVendor("John Q. Public") # # Method that is called when the menu is selected # def run(self): # # We are constructing two instances of this class. They differ by # name. We use the name to perform different operations for each # of the instances. This could also be done with any other class # data, including user defined data members. # if (self._name == "allpart_menu"): print "All parts hello!" else: print "Model part specific hello!" # # Construct a heirarchy of menus. A parent "roll-over" menu and two # children with a separator between them. These menus use context # sensitive filtering. The parent is only displayed in EnSight "Part" mode. # One child is always display and the other is only displayed when the # currently selected part is a "Model" part. Note: this filtering could # also be performed by overriding the "validFilter()" method on the menu # object to perform any custom filtering operation. # Page 421 def ctor(parent): # # The factory method always returns a list of object to be added. # In this example, we only return menu_extension subclass instances, # but the list can include any combination of object subclassed from # the core_extension class. # list = [] # # Create the parent roll-over menu # p = menu_extension("placeholder",None) # # Create an icon for the menu (this is optional). In this case, we # access one of the icons embedded in EnSight itself. See the Qt # resource management documentation for details. # p.setIcon(":/ensight/ens_icn_small") # # Set the EnSight mode filter to only display in "Part" mode. # p.setMode("Part") # p.setText("Simple part tools") p.setTooltip("Example part tools") if (parent): parent.addChild(p) list.append(p) # # Create the instance of the part_menu class that should be displayed # for any part that is selected. # m = part_menu("allpart_menu",p,"All part menu","Menu description") list.append(m) # # Add a horizontal separator line between the child menus. # m = sep_menu("sep1",p) list.append(m) # # Create an instance of the part_menu class that is only displayed # when a "Model" part is selected. # m = part_menu("modelpart_menu",p,"Model part menu","Menu description") # # Set the EnSight part type filter to "Model" parts. # m.setPartType("Model") list.append(m) return list Other examples The example source code shown here is included in the $CEI_HOME/ensight92/src/user_defined_ext/ examples directory, but many other examples exist. The source code to all of the built-in menus is included in the $CEI_HOME/ensight92/site_preferences/extensions/user_defined directory (and its subdirectories). Some other example objects are included in $CEI_HOME/ensight92/site_preferences/extensions/ user_defined/Tools/QuickTools/Examples. While these are user-defined tools instead of menus, the extension mechanisms for both share a large number of common features and techniques that work in one often work in another. There are a pair of worked tools examples located in the user-defined tool How To Advanced Page 422 Usage that demonstrate the ability of all user-defined extensions to be able to generate and execute custom command language and external icon files. To get the most out of this mechanism, menu developers are encouraged to utilize Python scripts and convert command language scripts into Python using the provided tools. The Python interface is largely documented in the Interface manual How To EnSight Python Interpreter. SEE ALSO How To Command Language Manual How To Interface Manual How To Mouse and Keyboard Preferences How To Produce Customized Access to Tools & Features Page 423 Produce Customized Access to Tools & Features INTRODUCTION EnSight allows users to define toolbox items, that are accessed by selecting the "User Defined" toolbox feature icon. These items are collections of custom Python code and command language scripts that perform common operations. These tools can include full, persistant GUI interfaces and interact with all of the core EnSight state. The mechanism opens up EnSight to specific customization to meet a particular site or individual user’s needs. Tool are written as Python objects that are dynamically loaded from the EnSight extension repository when EnSight starts up. There is a formal mechanism (EnSight extension mechanism) through which EnSight users may add their own, custom tools. BASIC OPERATION The user defined tool icon should be displayed by default. If it is not, it can be turned ON through Edit>Preferences->General User Interface->Modify and save icon layout To access the user-defined 1. Click on the User Defined Tools Icon. 2. The User Defined Tools Window appears. The EnSight QuickTools are a collection of common operations that would normally take many steps to complete in EnSight, packaged in a simpler form. a) Find the min/max of the selected parts of the colored variable b) Calculate the pressure net force and moment and find center of pressure c) Use a python calculator d) Resample transient data to a uniform timestep e) View alternative EnSight Graphical User Interfaces. d) Export data in OpenJT format. f) Import a CSV text file as an EnSight Query. g) Click on the Presentation Tools to quickly create output and lanuch the CEI post-processing tools. h) Submit a bug or support request to CEI and browse our FAQs. i) learn how to make your own Python GUI for your python routines j) Import an image or movie as an annotation. k) Modify Case Gold file to include rigid body motion l) Generate a skybox texture around your data. tools, click the icon to bring up the dialog and make a selection from the dialog by double clicking. Page 424 ADVANCED USAGE This section describes how to create custom user-defined tools as explained by EnSight extension mechanism in the Interface Manual. This section assumes familiarity with the Python language, as well as object-oriented programming. Customi tools have the same capabilities as the built-in tools, the built-in ones are in fact built on the same interface. By default, your custom tools will appear below EnSight’s built-in list of tools that are displayed in the user-defined tools dialog. EnSight includes two well-documented, example Python files to demonstrate the process of createing custom, userdefined tools. As an exercise to show how to customize EnSight, these two files can be moved from their existing location to a directory where they will automatically load into EnSight at startup and change EnSight’s tool list. How menus get loaded By default EnSight scans the Python files found in subdirectories of the site-specific $CEI_HOME/ensight92/ site_preferences/extensions/user_defined directory and in the user specific EnSight Defaults Directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92\extensions\user_defined\Tools commonly located at C:\Users\username\.ensight92\extensions\user_defined\Tools on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92\extensions\user_defined\Tools on older Windows, and ~/.ensight92/extensions/ user_defined/Tools on Linux, and in ~/Library/Application Support/EnSight92/extensions/user_defined/Tools on the Mac). In the extensions/user_defined subdirectory, looking for user-defined tools and menus (specific details of this process are covered in EnSight extension mechanism). When EnSight finds a candidate Python file, it loads it into a private Python module and calls a “factory” function specified by the menu writer located in the file. The factory function returns a list of objects that are registered with EnSight. The objects can be user-defined tools, menus and GUIs, based on the extension class they subclass from. A registry of user-defined tools is maintained by EnSight. It is normally displayed as a tree-list in the GUI noted in the previous section. Applications are free however to invoke any tool using its run method and tools that implement custom command language may be called directly from the command parser, even in batch mode. In the next two sections, we walk thought two simple examples of writing custom EnSight user-defined tools. “Hello world” tool Shown below is perhaps the simplest example tool entension implementation. It can serve as a template for more useful tools. This example Python file is included with your EnSight installation in the following folder $CEI_HOME/ ensight92/src/user_defined_ext/examples. Copy the entire folder to your user specific EnSight Defaults Directory (located at %HOMEDRIVE%%HOMEPATH%\(username)\.ensight92 commonly located at C:\Users\username\.ensight92 on Vista and Win7, C:\Documents and Settings\yourusername\.ensight92 on older Windows, and ~/.ensight92 on Linux, and in ~/Library/Application Support/EnSight92 on the Mac) extensions/ user_defined subfolder and restart EnSight to install the menus. The figure that follows shows the new tool item generated from this Python code, as well as the dialog it generates. It also illustrates the directory structure for placing the files into the user specific EnSight startup path. Page 425 Shown below is the commented Python code. Notice in particular the block of comment lines starting with #ENSIGHT_USER_DEFINED_BEGIN and ending with #ENSIGHT_USER_DEFINED_END. These specially formatted Python comments are what EnSight scans .py files for at startup while looking for extensions. The specify the name of the function to call when this file is loaded at startup. That (factory) function is responsible for creating instances of the tool object and returning them to EnSight where they are entered in the tool registry for future use. # # This comment block is required to identify the file for loading at # startup by EnSight. The function named by FACTORY= (in this case # 'ctor' is called by EnSight on startup. Note: the file is loaded # as a module in EnSight and the path to this file is added to sys.path. # #ENSIGHT_USER_DEFINED_BEGIN #FACTORY=ctor #ENSIGHT_USER_DEFINED_END # # Import the parent class for all user-defined tools and the generic dialog # from cei.qtgenericdlg import * from ensight.core.tool_extension import tool_extension # # Define a tool class, a subclass of the tool_extension class # class hello_tool(tool_extension): # # Construct the menu and set up common information # def __init__(self,parent=None): tool_extension.__init__(self,"hello_tool",__file__,1.0) self.setText("Hello world tool") self.setDesc("Say hello to the world from a tool") self.setTooltip("Say hello to the world from a tool") if (parent): parent.addChild(self) # # We have a PNG icon in the same directory as this file # dir = os.path.dirname(__file__) self.setIcon(os.path.join(dir,"hello_world.png")) # # Method that is called when the tool is selected Page 426 # def run(self): # # Do whatever operation this menu should do, replace with your own code # In the example, we use the "generic" dialog to display "Hello world!" # items = [] items.append(['textval',ITEM_TEXT,"Hello world!","A tooltip..."]) dlg = CeiQtGenericDialog(items,None,"Hello world","Ok",cancel=None) ret = dlg.doit() if (ret > 0): # # If the user pressed ok, do something... # pass # # Construct a list of menu objects to be added to the global list of # user-defined tools # def ctor(parent): list = [] obj = hello_tool() list.append(obj) return list Batch-aware tool with custom command language Shown below is a more complex tool example. Again, it can be installed in the same manner as described above and the resulting tool is illustrated in the following image. This example builds on the previous one. When the tool is invoked, it brings up a more complex dialog that prompts the user for information including integer parameters and a filename. If the ‘Ok’ button is clicked, it creates a snapshot of the current rendering and saves it do disk. More importantly, it generates custom command language (shown in the Command dialog window) that when executed in batch mode will perform the same operation. All user-defined extensions (tools, menus, GUI and even “core”) automatically extend EnSight command language in this fashion. The super-classes provide a scaffolding that makes it easy to enforce the separation between interface and function. For example, the tool Python file could easily be extended to provide an interface to the same functionality as a userdefined menu by adding a menu_extension subclass to the same file. The example uses an icon from the built-in EnSight icon resources. Finally, this example is “persistent”, that is it stores state (in the case the values entered in Page 427 the dialog) and uses it to repopulate the dialog. A major advantage of EnSight extensions is that they can store state and have both private data and method members. The basic file structure is the same as before. There is a header block followed by the various class definitions followed by the factory function. # # This comment block is required to identify the file for loading at # startup by EnSight. The function named by FACTORY= (in this case # 'ctor' is called by EnSight on startup. Note: the file is loaded # as a module in EnSight and the path to this file is added to sys.path. # #ENSIGHT_USER_DEFINED_BEGIN #FACTORY=ctor #ENSIGHT_USER_DEFINED_END # # # Import the parent class for all user-defined tools, the ensight module # and the generic dialog # from cei.qtgenericdlg import * from ensight.core.tool_extension import * import ensight # # Define a tool class, a subclass of the tool_extension class # class snapshot_tool(tool_extension): # # Construct the tool and set up common information # def __init__(self,parent=None): tool_extension.__init__(self,"snapshot",__file__,1.0) self.setText("Snapshot the current image") self.setDesc("Save the current image to a disk file") self.setTooltip("Save the current image to a disk file") if (parent): parent.addChild(obj) # # Create an icon for the menu (this is optional). In this case, we # access one of the icons embedded in EnSight itself. See the Qt # resource management documentation for details. # self.setIcon(":/ensight/image") # # This is where we store the current command langauge parameters # We start with some defaults... # self._params = {'file':'untitled.png','xsize':640,'ysize':480} # # A user-defined method that performs the desired operation taking its # parameters from a Python dictionary. This method can be called from # interactive operation or in batch, so it should not display anything. # def compute(self,params): # # Render and save an image to disk. This is only an example. # A deeper example can be found in the ensight.core.qtimageutils # module found in: # $CEI_HOME/ensight92/site_preferences/extensions/core/qtimageutils.py # img = ensight.render(x=params['xsize'],y=params['ysize']) fname = params['file'] Page 428 # # The render method returns an EnVe image object, simplifying saving. # if (img.save(fname) == 0): return True if (img.errstr().find("Unknown file format") >= 0): fname += ".png" if (img.save(fname) == 0): return True return False # # Method that is called when the tool is selected interactively # def run(self): # # Do whatever operation this tool should do, replace with your own code # In the example, we use the "generic" dialog to prompt the user for # and image size and a filename. # items = [] items.append(['file',ITEM_FILE,"Filename", "Name of file to save",self._params['file'],OPT_FILE_SAVE]) items.append(['xsize',ITEM_INT,"Width", "Width of the image in pixels",self._params['xsize'],10,2048]) items.append(['ysize',ITEM_INT,"Height", "Height of the image in pixels",self._params['ysize'],10,1536]) dlg = CeiQtGenericDialog(items,None,"Save a snapshot") ret = dlg.doit() # # If the user pressed ok, we will continue. # if (ret > 0): # # Build a dictionary of output values # for key in self._params: self._params[key] = dlg.getValue(key) # # Try to perform the operation # if (self.compute(self._params)): # # The operation succeeded, so we need to record custom # command language to place the operation into the journaled # output. # self.cmdRecord("xsize '%d'" % self._params['xsize']) self.cmdRecord("ysize '%d'" % self._params['ysize']) self.cmdRecord("file '\""+self._params['file']+"\"'") self.cmdRecord("compute") # # All extensions include the ability to record custom command language # and play it back. Remember that extensions should be able to play # back their operations in batch mode. This mechanism allows for an # extension developer to break GUI interaction and the actual operation # into two parts. # # The cmdExec() method is passed all of the custom command language for # this tool. Here we use a trick where we assume that the recorded # command language takes the form of actual Python assignment statements. Page 429 # We break up the passed line and use the Python 'exec()' method to # recover the information back into a dictionary. # def cmdExec(self,str): p = str.split("'") try: key = p[0].strip() if (key == 'compute'): self.compute(self._params) else: exec("d = "+p[1]) self._params[key] = d except Exception, e: print "Error handling the command:",str,e # # Construct a list of tool objects to be added to the global list of # user-defined tools # def ctor(parent): list = [] obj = snapshot_tool() list.append(obj) return list Other examples The example source code shown here is included in the $CEI_HOME/ensight92/src/user_defined_ext/ examples directory, but many other examples exist. The source code to all of the built-in tools is included in the $CEI_HOME/ensight92/site_preferences/extensions/user_defined directory (and its subdirectories, perhaps most notably the QuickTools directory). Other example objects are included in $CEI_HOME/ensight92/ site_preferences/extensions/user_defined/Tools/QuickTools/Examples. There are a number of user-defined menu examples included as well. While these may not be tools, the extension mechanisms for both tools and menus share a large number of common features and techniques that work in one often work in another. There are a pair of worked tools examples located in the user-defined tool Advanced Usage that demonstrate the ability of all user-defined extensions to be able to create object heirarchies and to include multiple objects inside of a single Python module. To get the most out of this mechanism, menu developers are encouraged to utilize Python scripts and convert command language scripts into Python using the provided tools. The Python interface is largely documented in the Interface manual EnSight Python Interpreter. SEE ALSO Command Language Manual Interface Manual Produce Customized Pop-Up Menus Page 430 Page 431 Setup For Parallel Computation INTRODUCTION Ensight supports shared-memory parallel computation via POSIX threads on all of our supported platforms. BASIC OPERATION Configuration Each executable of EnSight can be configured individually to control the number of threads used. The following environment variables are used to specify the maximum number of threads that the executable can use for computation. ENSIGHT9_MAX_THREADS The maximum number of threads to use for each EnSight server. Threads are used to accelerate the computation of streamlines, clips, isosurfaces, and other compute-intensive operations. ENSIGHT9_MAX_CTHREADS The maximum number of threads to use for each EnSight client. Threads in the client are used to accelerate sorting of transparent surfaces. ENSIGHT9_MAX_SOSTHREADS The maximum number of threads to use on the server of server in order to start up server processes in parallel rather than serially. OTHER NOTES The number of threads is limited to 2 (per client or server) with a Lite license and 4 (per client or server) with a Standard license, while the upper limit for a Gold license is 128. EnSight, by default, uses threading according to the license and the number of processors available and will echo this information out to the console at startup. .... Detected 2 CPU(s) ensight92.client using 2 threads. .... Detected 2 CPU(s) ensight92.server using 2 threads. When manually setting these parameters it is a good idea to take into account the number of processors on the system. In general, you will not see benefit from setting the parameters higher than the number of total processors. Because the server, server-of-servers and client operate in a pipelined fashion, it is not necessary to limit one in order to apply more threads to another. Compute intensive server operations that make use of shared memory parallel computations include isosurface, clipping, and particle trace computations. Client threaded operations include transparency resort and display list creation. Page 432 Setup For Parallel Rendering INTRODUCTION EnSight Gold now supports general parallel rendering for increased performance, increased display resolution, and arbitrary screen orientations. The configuration file format and several examples are described in the User Manual. Just click the link below to see this information. SEE ALSO User Manual: Parallel and Distributed Rendering Page 433 Miscellaneous Select Files INTRODUCTION Many operations in EnSight (such as loading data) require that you specify a file. EnSight uses a standard file open dialog that lets you quickly search through directories to find the desired file. BASIC OPERATION By default, the File Open dialog opens with the directory from which the EnSight client was started as the current directory. The following shows the basic components of the File Open dialog: The Look in pulldown displays the current directory. Note that the parent of the current directory is shown ending with “..” (standard UNIX nomenclature). To change to a directory, double-click it. Standard back, up, create, and listing icons can be used. The File type pulldown controls the listing of files in the Files list. You can filter what is shown based on the selection here The Files list displays the list of subdirectories and files contained in the current directory (possibly modified by the wildcard in the Filter field). To make a file the current Selection, click it. To accept a file and close the dialog, double-click it. The File field contains the full path name of the file currently selected in the Files list. This is the file that will be chosen if Okay is clicked. Change the selection either by clicking a file in the Files list or editing the field directly. Pressing return will accept the Selection and close the dialog. Click to accept the current Selection and close the dialog. Click to cancel the selection and close the dialog. Page 434 INTRODUCTION Although most attributes of EnSight parts can be edited either through the appropriate Quick Interaction area or the Part Mode icon bar, full control is provided by the Feature Detail Editors for the various part types. Full control over variables (e.g. activation, color palette editing, and new variable calculation) is also provided through a Feature Detail Editor. BASIC OPERATION You can open the Feature Detail Editor by either selecting the appropriate item from the Edit > Part Feature Detail Editors menu or by double-clicking the appropriate part icon in the Feature Icon bar. All Feature Detail Editors (except the two dealing with Variables – see below) contain the same basic components: Menu: File (these items are only available for the Variables Feature Detail Editor – see below) Edit Select All: Select all parts listed in the dialog’s parts list Copy: Make a copy of the selected part(s) Delete: Delete the selected part(s) Immediate Modification: If on, all changes in the dialog have an immediate effect. If off, the Apply Changes button at the bottom must be clicked to apply your changes (good for batching several expensive changes). List of variable/part icons; click to change to the desired Feature Detail Editor type. Parts list of the current Feature Detail Editor type; lists only those parts of the current type. (For example, the contour Feature Detail Editor is shown and only the current contour parts are listed.) Description of the currently selected part in the parts list. Click to type, make changes, and press return. Creation Attributes section. This section (which is missing for Model parts) is unique to the Feature Detail Editor type and controls part-specific attributes (e.g. the isovalue of an isosurface). The remaining sections (General, Node/Element/Line, and Displacement) control attributes common to all part types. See How To Set Attributes for more information. Click to Close the Feature Detail Editor dialog. Click to Create a new part based on the attributes as currently set and with parent part(s) as selected in the Main Parts list. Click to change the parent part(s) of the selected part(s). The new parent part(s) must be selected in the Main Parts list. Click to apply any changes you have made (only active when Immediate Modification is toggled off in the Feature Detail Editor Edit Menu). Page 435 The Feature Detail Editor for variables is different from the part Feature Detail Editors: 1. To open the Feature Detail Editor for Variables either select Edit > Variables Editor... or double-click the Color icon in one of the modes (such as Part mode). Menu: File Save Selected Palette(s)...: Write palettes for selected variables to a disk file Save All Palettes...: Write palettes for all variables to a disk file Restore Palette(s)...: Load palettes from a disk file Edit Select All: Select all parts listed in the dialog’s parts list Immediate Modification: If on, all changes in the dialog have an immediate effect. If off, the Apply Changes button at the bottom must be clicked to apply your changes (good for batching several expensive changes). List of available variables. Click to select a variable. Buttons to control variable activation/deactivation. See How To Activate Variables for more information. The Edit palette... button will bring up a dialog showing the palette information for the variable. See How To Edit Color Palettes for more information. Page 436 The Feature Detail Editor for variable Calculator is also different from the part Feature Detail Editors: 1. To open the Feature Detail Editor for variable Calculator click the Calculator icon in the Feature Icon bar. Variable Calculator section. See Variable Creation in the User Manual for more information. SEE ALSO Most of the creation attributes for parts can also be set in the Quick Interaction area for the part type. See the How To article for the desired part type for more information. Page 437 Feature Icon Bar Solution Time User Defined Tools Keyframe Animation Flipbook Animation Query/ Plot Variable Calculator Contour Interactive Query Particle Traces Clip Isosurface Vector Arrows Profile Plot Subset Parts Separation/ Attachment Line Vortex Core Elevated Surface Shock Region/ Surface Developed Surface Material Parts Boundary Layer Tensor Glyph Extrusion Point Part Transformation Control Icons Rotate Zoom Translate Selection ResetTools & Tool Viewports Rubber Band Zoom Transformation Editor Color/Transparency Visibility in Viewport Store/Recall last View Fit in Window Undo last transformation Global Toggle, Tool, and Other Desktop Icons Part Mode Visibility Tool Tip Help Look Down Axes Pick Action Select Tool Shaded Cursor Tool Hidden Line Line Tool Highlight Selected Plane Tool Vport Mode Axis Triad Animation Record Bounding Box Legend Fast Display Info Frame Mode Annot Mode Line Width Visibility Axis Visibility Text Creation Element Visual Rep. Color Color Line Creation Displacement Layouts Line Width Logo Import Symmetry Create New Legend Attributes Elem/Node Labels Move Forward Part Assignment Node Rep. Move Back Special Settings Failed Elements Lighting Comput. Symmetry Element Blanking Border Axis Location Origin Orientation Shaded Hidden Line Auxiliary Clipping Fast Display Rep. Special Settings Delete Plot Mode Visibility Plotter Transform/Define Part Bounds Select All Select All Delete Delete Select All Axis Curve Select All Delete Page 438 A B C D E F G H I Numerics 2D shapes annotation 373 3D arrows annotation 375 C L M N O P Q R S D E F G H I J K L M N O T U V W X Y Z Y Z -ctx 22 -custom 22 -dconfig 24 -delay_refresh 22 -display_list 24 -double_buffer 25 -extcfd 22 -externalcmdport 22 -externalcmds 22 -fg 25 -fn 25 -font 25 -frustrum_cull 24 -gdbg 24 -gl 24 -glconfig 24 -glsw 24 -gold 22 -h, -help, -Z 24 -hc 25 -iconlblf 23 -inputdbg 24 -iwd 24 -localhostname 22 -maxoff 24 -multi_sampling 24 -multi_sampling_sw 24 -nb 24 -ni 23 -no_delay_refresh 22 -no_display_list 24 -no_file_locking 24 -no_frustrum_cull 24 -no_multi_sampling 24 -no_occlusion_test 25 -no_prefs 24 -no_start_screen 24 -no_stencil_buff 25 -norm_per_poly 24 -norm_per_vert 24 -num_samples 24 -num_samples_st 24 -occluson_test 24 -ogl 24 -p 22 -ports 23 -prdist 23 -range10 24 -readerdbg 24 -rsh 23 -sc 23 -scaleg 24 -scalev 24 -security 23 -silent 24 -single_buffer 25 -slimtimeout 24 -smallicons 23 -smallscreen 23 -sort_first 25 -sort_last 25 -sos 23 -soshostname 23 -standard 23 -stderr 24 -stdout 24 443 -stencil_buff 25 C calculator 275 Camera viewing viewport through 160 camera look-at 129 look-from 129 look-from point 129 projection 125 specifying for povray 117 virtual, zooming 121 case adding 53 deleting 55 part, display by 55 reading 52 replacing 55 viewport visibility 56, 138 CEI, Inc. 6 center of transformation picking 156 CFD variables 282 client/server overview 10 clip animation 351 auxiliary clipping 132 box 222 general quadric 234 grid 220 IJK 225 line 214, 236 plane 217, 244 quadric 223 revolution of 1D part 233 revolution tool 232 RTZ 230 XYZ 228 Z clipping 127 clipping plane using 3 node ids 218 collaboration 31 color background 135 default 315 legend 383 part 314 selector 154 variable palette 285 command file play 96 record 95 command line options 22 client -ar 22 -batch 24 -bbox 24 -bg 25 -box_resolution 24 -c 22 -case 22 -cm 22 -collab_port 22 -ctarget 24 B background color 135 image 135 batch mode 24 bitmap logo 382 blanking elements 269 Block Continuation using 79 BMP output 101 border representation 322 boundary layer variables 283 box B K clip 222 tool 174 A acrobat reader 5, 7 activating variables 273 Animated GIF output 101 animation flipbook 351 hints and tips 361 keyframe 355 mode shape 253 particle trace 365 recording to video 364 transient data 348 annotation 2D shapes 373 3D arrows 375 color legend 383 dials 377 fonts 386 environment variables 386 formatting codes 388 gauges 380 line 371 logo 382 preferences 400 text 367 Apple Quicktime output options 103 archive restore 93 save 92 arrows, vector 238 attachment line 261 attributes displacement 328 general 326 IJK Axis Display 328 node, element, line 327 part 324 automatic connection 12 on Unix systems 18 on Windows systems 18 auxiliary clipping 132 AVI output 100 Axi-symmetric extrusion 244 A J P Q R S T U V W X Page 439 A B C D E F G H I -swd 24 -time 24 -timeout 23 -token_try_again 23 -token_wait_for 23 -token_wait_until 23 -unmapdd 25 -v 23 -version 23 -writerdbg 24 -X 25 client examples 25 preferences 402 server -c 26 -ctarget 26 -ctries 26 -ether 26 -gdbg 26 -h, -help 26 -maxoff 26 -pipe 26 -ports 26 -readerdbg 26 -scaleg 26 -scalev 26 -security 26 -sock 26 -soshostname 26 -time 26 -writerdbg 26 server examples 26 sos -c 26 -cports 26 -ctarget 26 -ctries 26 -ether 26 -gdbg 26 -h, -help 26 -maxoff 26 -pipe 26 -ports 26 -readerdbg 26 -rsh 26 -scaleg 26 -scalev 27 -security 27 -sock 27 -soshostname 27 -sports 27 -time 27 -writerdbg 27 sos (server-of-servers) examples 27 computation setup for parallel 432 computational symmetry 336 cone clip 223 tool 181 connection automatic 12 automatic on Unix systems 18 automatic on Windows systems 18 collaboration 31 contacting CEI 6 context A B C D E F G J K L M N O P Q D data discrete 254 ens_checker 46 experimental 254 measured 254 preferences 403 reading 36 dataset information 313 querying 313 reading 36 deactivating variables 274 default color 315 delete frame 151 part 321 plotter 311 viewport 140 Desktop 10 developed surface 247 dials annotation 377 discrete data 254 displacement server-side 252 displacements 251 display remotely 143 displaying stereo 155 distance query 297 documentation acroabat reader 5 online use 5 printing 6, 7 use of How To 7 E editing features detail editor 435 element blanking 269 failed 267 labels 329 query 292 representation 322 elevated surface 243 email address 6 ens_checker 46 ensight8 start-up options 22 I J K L M N O P S T U V W X Y Z ENSIGHT8_MAX_CTHREADS 432 ENSIGHT8_MAX_SOSTHREADS 432 ENSIGHT8_MAX_THREADS 432 ENSIGHT8_READER 72 EnVideo output 101 Environment Variables 28 environment variables CEI_ARCH 29 CEI_CONTROLLER_KEY 29 CEI_DISABLE_PBUF 28 CEI_FONT_GLYPHCACHESIZE 28 CEI_FONT_NOSYSTEMFONTS 28 CEI_FONTPATH 28 CEI_HOME 29 CEI_INPUT 30 CEI_PDFREADER 29 CEI_PIXELFORMAT 28 CEI_PIXELFORMAT_ST 28 CEI_PYTHONHOME 29 CEI_RSH 29 CEI_TRACKD_DEBUG 30 CEI_TRACKER_KEY 30 CEI_UDILPATH 29 CVF_NO_WM_OVERRIDE 28 DISPLAY 29 ENSIGHT_FONT_DEFAULT_ANNOT 28 ENSIGHT_FONT_DEFAULT_ANNOT_S TYLE 28 ENSIGHT_FONT_DEFAULT_OUTLINE 28 ENSIGHT_FONT_DEFAULT_OUTLINE _SCALE 28 ENSIGHT_FONT_DEFAULT_OUTLINE _STYLE 28 ENSIGHT_FONT_DEFAULT_SYMBOL 28 ENSIGHT_FONT_DEFAULT_SYMBOL _STYLE 28 ENSIGHT_NAGLE 29 ENSIGHT_PATHREPLACE 29 ENSIGHT_PICK_SCALE 28 ENSIGHT8_COLLABHUB_SPAWNDEL AY 28 ENSIGHT8_FIXED_FONT_SIZE 28 ENSIGHT8_HUB_APP 28 ENSIGHT8_HUB_ARGS 28 ENSIGHT8_HUB_CONNBACKHOST 28 ENSIGHT8_HUB_HOST 28 ENSIGHT8_HUB_OUTPUTFILE 28 ENSIGHT8_INPUT 30 ENSIGHT8_MAX_CTHREADS 29 ENSIGHT8_MAX_SOSTHREADS 29 ENSIGHT8_MAX_THREADS 29 ENSIGHT8_READER 30 ENSIGHT8_READER_GUI 30 ENSIGHT8_RENDERER_HOSTS 28 ENSIGHT8_RES 29 ENSIGHT8_SERVER_HOSTS 29 ENSIGHT8_SOCKBUF 29 ENSIGHT8_UDMF 30 ENSIGHT8_UDW 30 ENSIGHT8_WORKER_APP 28 ENSIGHT8_WORKER_ARGS 28 ENSIGHT8_WORKER_CONNBACKHO ST 28 443 LSB_MCPU_HOSTS 29 restore 110, 115 save 110, 115 contour 198, 289 copy (part) 316 created variables 275 creating parts 191 cursor tool 164 Custom Access to Tools & Feautres 424 customize icon bars 390 mouse buttons 392 window positions 394 Customizing Pop-Up menus 417 cut (part) 320 cylinder clip 223 tool 177 H R Q R S T U V W X Page 440 Y Z A B C D E F G H I PATH 29 TMPDIR 29 experimental data 254 Extent Bounds 157 extract (part) 319 extracting boundary layer variables 283 separation/attachment lines 261 shock surfaces/regions 263 vortex cores 259 Extrusion 244 E F N O P Q H I J K L M S T U V W X Y Z Y Z O online documentation use 5 orthographic projection 125 output formats Animated GIF 98 Apple Quicktime 98 AVI 98 EnVideo 98 JPEG 98 MPEG1 98 MPEG2 98 MPEG4 98 PNG 98 PostScript 98 POVRAY 98, 116 PPM 98 RGB(Silicon Graphics) 98 TIFF 98 XPM 98 overview 10 client/server architecture 10 graphical user interface 10 parts concept 10 P palette editing 285 preferences 401 parallel computation configuration 432 setup 432 parallel rendering setup 433 part attributes 324 box clip 222 clip plane 217, 244 clips 213 color 314 contour 198, 289 copy 316 creation 191 cut 320 delete 321 developed surface 247 displacements 251 element labels 329 elevated surface 243 extract 319 group 317 IJK clip 225 introduction 191 isosurface 200 isovolume 202 line clip 214, 236 M macros 395 Manage Views 162 Manipulate Fonts 386 map textures 338 material part 265 measured data 254 merge (part) 318 Min/Max Variable Tracks 204 mode shapes 253 Model Axis 157 Model Extent Bounds 157 mouse buttons, customizing 392 preferences 407 MPEG output options 102 G R N Network Ports Used 20 Client/Server Mode 20 Collab Hub 20 Distributed Renderer 21 External Commands 20 Server of Server Mode 20 node labels 329 query 291 Node Tracks 204 not loaded representation 322 L labels element 329 node 329 legend, color 383 light source attributes 142 location 142 lighting attributes 142 model 326 line annotation 371 clip 214, 236 tool 160, 166, 189 logo annotation 382 look-at 129 look-from 129 I icon bar customize 390 icons reference 438 IJK changing step refinement 226 clip 225 interactive plane sweep 226 query 292 image output 98 preferences 405 input devices defining 416 interactive D M K keyboard macros 395 keyframe animation 355 Record 360 Run From/To 359 Save and Restore 361 Speed/Actions 357 Tips 361 Transient 360 Viewing Window 358 H hidden line overlay 123 hidden surface drawing 123 C L J JPEG output 102 G gauges annotation 380 general quadric clip 234 general user interface preferences 404 geometry file 36 save in EnSight Gold format 106 save in VRML format 106 grid clip 220 group (part) 317 B K clipping IJK 226 line 215 plane 217 quadric 223 RTZ 230 XYZ 229 isosurfaces 201 particle traces 207 probe preferences 406 query 294 isosurface animation 201, 351 creation 200 interactive 201 isovolume 202 creation 202 F failed elements removing 267 using with user-defined API 268 fast display mode 126 fax number 6 feature angle representation 322 feature detail editor 435 file selection 434 flipbook animation 351 transient data animation 348 font manipulation 386 environment variables 386 formating codes 388 frame assigning parts to 147 attributes 150 creating 146 deleting 151 repositioning 148 selecting 147 transform reset 149 full representation 322 A J N O P Q R S T U V 443 W X Page 441 A B C D E F G H I map textures 338 material 265 merge 318 node labels 329 particle trace 204 point part 271 preferences 408 profile 246 quadric clips 223 query 293 revolution of 1D part clip 233 revolution tool clip 232 RTZ clip 230 save to disk file 106 selection 332 separation/attachment line 261 shock surfaces/regions 263 subset 248 symmetry computational 336 visual 335 tensor glyphs 249 texture mapping 338 transparency 331 vector arrows 238 vortex core 259 XYZ clip 228 Part Bounds Display 139 Particle Trace Min/Max Variable Track 204 Particle Trace Node Tracks 204 particle traces animation 365 creating 204 interactive 207 pathlines 209 streaklines 206 surface restricted 208 parts concept 10 performance preferences 409 periodicity 335 perspective projection 125 phone numbers 6 pick center of transformation 156 cursor tool 164 line tool 167 look-at point 131 part 333 plane tool 170 plane clip 217, 244 Plane tool 169 plotter anatomy 305 attributes 305 create 306 delete 311 moving/resizing 306 preferences 410 selecting 306 visibility 306 PNG output options 102 point query 291 point part 271 Pop-Up menus A B C D E F G H J K L M N O P Q Q quadric clip 223 query dataset 313 element 292 IJK 292 interactive 294 node 291 over distance 297 part 293 point 291 preferences 411 Quicktime output options 103 K L M N T U V W S save command file 95 context 110, 115 geometry 106 image 98 keyframe animation 361 POVRAY 116 preferences 399 scenario 112 session (archive) 92 viewing parameters 144 scale 120 scenario save 112 selecting colors 154 elements to blank 269 files 434 parts 332 selection tool 186 element blanking 187 for subset parts 248 R reading Advanced Interface 40 Advanced Interface/Load All 37 block continuation 79 data (introduction) 36 ens_checker 46 ensight_reader_extension.map file 39 File->Open... 36 new data without quitting 55 Quick method 36, 37 server of servers 59, 66, 156 transient data 57 Two-Step method 40 user defined data reader 72 reference J S X Y Z Y Z icons 438 rendering setup for parallel 433 representation border 322 bounding box 322 feature angle 322 full 322 non visual 322 reset frame transform 149 transformations 152 Resources another sos casefile example 89 client specification 85 client/server example 87 collabhub 86 how to specify 85 prdist example 90 sample 84 simple sos example 87 sos 86 sos casefile example 88 sos example 87 using 84 restart session (archive) 93 without quitting client 55 restore context 110, 115 keyframe animation 361 session (archive) 93 viewing parameters 144 result file 36 revolution of 1D part clip 233 revolution tool 183 clip 232 Rigid Body Transformations saving 109 rotate 120 Rotational extrusion 244 RTZ clip 230 customizing 417 Ports Used 20 Client/Server Mode 20 Collab Hub 20 Distributed Renderer 21 External Commands 20 Server of Server Mode 20 PostScript output 100 POVRAY 116 output 100 PPM / PGM / PBM output options 103 preferences 399 annotation> 400 color palettes 401 command line 402 data 403 general user interface 404 icon bar 390 image saving/printing 405 interactive probe 406 macros 395 mouse and keyboard 407 part 408 performance 409 plotter 410 query 411 user defined input 412 variables 413 view 414 window positions 394 printing documentation 6 images 98 probe query 294 profile plot 246 I R O P Q R S T U V W 443 X Page 442 A B C D E F G H I zooming 186 separation line 261 Server of Servers using 59, 66, 156 server-side displacement 252 setup for parallel computation 432 setup for parallel rendering 433 SGI RGB output 103 shaded surface drawing 123 shock surface/region 263 solution time 256 recording animation 257 sphere clip 223 tool 179 spline attach plane clip 219 camera origin on 160 curve line type 311 over distance queries 299 Spline Tool 189 starting automatically 12 options 22 stereo display 155 subset parts 248 pick elements 248 selection tool 248 surface of revolution tool 183 surfaces, developed 247 symmetry computational 336 visual 335 B C D E F K L M N O P Q H S T U V W J K L M N Y Z Y Z X XPM output 104 XYZ clip 228 interactive plane sweep 229, 230 Z Z clipping 127 zoom 120 rubberband 120 to region 186 using selection tool 186 V variable activation 273 and cases boundary layer 283 calculator 275 color palette 285 common CFD 282 deactivation 274 environment 28 preferences 413 vector arrows 238 density 239 view preferences 414 viewport 2D or 3D 137 attributes 137 background image 135 camera projection 125 case visibility 138 color 135 creating 133 deleting 140 lighting attributes 142 Part Bounds Display 139 part display 138 repositioning 134 resetting 152 saving viewing parameters 144 standard layouts 133 tracking 137, 159 viewport tracking 137 Views manage 162 Virtual Reality setup 433 I X W window positions, customizing 394 working variable (default color) 315 U unrolling surfaces 247 User defined access to tools and features 424 user defined data reader 72 input devices 416 input preferences 412 Using Block Continuation Block Continuation 79 Using Resources Resources 84 Using Server of Servers SOS 59 G R visual representation 322 vortex cores 259 VR setup 433 VRML 106 transformations frames 148 resetting 152 rotate 120 scale 120 translate 120 zoom 120 transient data animation 348 reading 57 setting current time 256 stepping through 256 translate 120 Translational extrusion 244 transparency 331 TrueType fonts 386 T tensor glyph parts 249 text annotation 367 texture mapping 338 threads ENSIGHT8_MAX_CTHREADS 432 ENSIGHT8_MAX_SOSTHREADS 432 ENSIGHT8_MAX_THREADS 432 TIFF output 104 time stepping through 256 tools box 174 cone 181 cursor 164 cylinder 177 line 160, 166, 189 Plane 169 resetting 152 selection 186 sphere 179 surface of revolution 183 traces animation 365 creating 204 interactive 207 pathlines 209 streaklines 206 surface restricted 208 tracking 137 tracking in viewports 159 A J O 443 P Q R S T U V W X Page 443

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : Yes
Page Count                      : 443
Page Mode                       : UseOutlines
XMP Toolkit                     : XMP toolkit 2.9.1-13, framework 1.6
About                           : uuid:9848510f-2349-4bac-a974-f3441acb26f1
Producer                        : Acrobat Distiller 6.0.1 (Windows)
Creator Tool                    : FrameMaker 7.1
Modify Date                     : 2011:01:13 17:46:54Z
Create Date                     : 2011:01:13 17:46:54Z
Document ID                     : uuid:0c42cb1b-a875-4764-8d65-c285a3cd1aaa
Format                          : application/pdf
Title                           : HowTo.book
Creator                         : ensight
Author                          : ensight
EXIF Metadata provided by EXIF.tools

Navigation menu