Where can I find more EnSight FAQs?


1. How can I associate ctx (context) files on windows?
2. Can I fix a location in the geometry to center in the graphics window when making a transient animation?
3. When creating pathlines for transient data do the time steps have to be equally spaced?
4. Scalar colored streamlines do not match the scalar values at the current time step, what could be wrong?
5. Do you have any sample Fortran code to write Case format files?
6. Do you have an example of using EnSight's Command Language for looping over time steps?
7. Do you have tutorial files for visualizing Forces and Moments in Ensight?
8. Can I output to a file scalars from a pathline?
9. How do I ftp files to Support at EnSight?
10. Can I show node scalars without showing the mesh?
11. Do you have any guidelines for getting povray output for a flipbook?
12. k3tom5.f bug, use 1pe12.4E3.
13. Why don't forward and backward created pathlines match?
14. Do I have to worry about "Full Backup" compatibility issues when EnSight goes through a letter upgrade, like from (d) to (e), etc.?
15. Can EnSight compare two datasets?

Can I fix a location in the geometry to center in the graphics window when making a transient animation?
In some instances you can.  See "view Tracking", it is a new feature of EnSight8.  Access this from the VIEW mode tool. It is described in the HowTos.  As an example for kiva, you can track 'zmin' of 'kiva cell data' to keep the bowl, or piston region in the graphics window.

When creating pathlines for transient data do the time steps have to be equally spaced, or can they vary.  For example, if the times at which I have data dumps are

0.0  0.25  0.5  0.6  0.7  0.8  0.9  1.0   (seconds)

will the pathlines be calculated correctly?

The pathline algorithm will acutally handle non-uniform spacing of time domain steps.  We essentailly take the correct percentage of each adjacent time slice and intergrate appropriately.

Best Regards,
Mel - EnSight Support

Scalar colored streamlines do not match the scalar values at the current time step, what could be wrong?

Bring up the Emisson detail attributes (Emit... from the particle trace interaction area).  Take a look at the Emission start time and make sure it is the same time value as the solution time you are looking at.  Or turn on the Emit at current time so that the streamlines get recomputed as you change timesteps.  Also make sure that this is a streamline and not a pathline.

Do you have any sample Fortran code to write Case format files?

More specifically, I want to write files in Case format directly from kiva3v, rather than using our current method of post-processing kiva3v's otape9 files using our kiva3v to EnSight5 converter.  Therefore, I'm wondering if you have some generic Fortran coding that I could use to start from?  I looked through the manual and saw the example files and the case format descriptions, but it is quite difficult to sort through the document to extract what I want. 

I would like to write ASCII format files in transient single file format.  My case file will include all 5 sections (FORMAT, GEOMETRY, VARIABLE, TIME, FILE), the geometry section will include all four sub-sections (model, measured, match, boundary).

In the variable section I plan to have scalars and vectors per node, and scalars and vectors per element, and scalars and vectors per measured node.

I plan to use point, two-node-bar, four-node-quad and eight-node-hexahedral elements.

So, ideally what I would like are sample lines of coding like this if available.

       write(caseNo,"(a6) ")'FORMAT'
       write(caseNo,"(a18)")'type: ensight gold'
       write(caseNo,"()") 'model:    .......

If such sample coding is not available, is there any other documentation available that is easier to follow that what I found in the User Manual?

I wish we had exactly what you are asking for, in very clear form. I always find that the examples easier to glean the information from (then dig into the doc for a few specific formatting explanations).  However, as indicated in the following FAQ, you might take a look at the USM3D writer.  Should be some FORTRAN coding in there that may prove helpful to you. 
http://www.ensight.com/FAQ/faq.0084.html

And you will definitely want to take advantage of ens_checker when you start pumping out the files - to verify things.

Do you have an example of using EnSight's Command Language for looping over time steps? (courtesy of bjn of EnSight)

The below example shows how to create a max iso-surface for a particular variable over sequential time steps.

VERSION 8.07
#
#define some variables
#
$int timestep
$float isovalue
$timestep = 0
#
# Then come all the regular commands that you want
# This should be the main body of commands that
# occur when you load the model and do all the things
# that you want
#
# Those below are just samples - yours will be different
#
prefs: legend_colorby textures
prefs: auto_legend_display ON
prefs: auto_legend_replace ON
prefs: resetlegend_ontimechange OFF
prefs: use_continuous_perelem OFF
prefs: function_editor_type simple
function: select_default
function: modify_begin
function: type continuous
function: scale linear
function: limit_fringes no
function: display_undefined by_model_color
function: modify_end
data: binary_files_are big_endian
prefs: starting_time_step last
prefs: auto_load_parts none
prefs: new_data_notification prompt
prefs: tool_tips ON
prefs: frame_mode_allowed ON
prefs: view_mode_allowed OFF
prefs: large_parts_list OFF
command: part_selection_by number
prefs: icon_help_labels OFF
view_transf: zoom_style automatic_slide
data: binary_files_are big_endian
data: format case
data: path C:/Program Files/CEI/ensight80/other_data/ensight/dyna
data: geometry dyna.case
data: shift_time 1.000000 0.000000 0.000000
data: read
data_partbuild: begin
data_partbuild: begin
data_partbuild: data_type unstructured
data_partbuild: select_all
data_partbuild: description
data_partbuild: create
data_partbuild: end
view: hidden_surface ON
variables: activate Stress
part: select_all
part: modify_begin
part: elt_representation feature_angle
part: modify_end
part: modify_begin
part: colorby_palette Stress
part: modify_end
#
# This example now creates an isosurface at the first
# timestep and at the Maximum Stress  (yours will be temperature)
#
solution_time: current_step $timestep
solution_time: update_to_current
variables: evaluate MaxStress = Max(plist,Stress)
$isovalue = $MaxStress
part: select_all
isos: begin
isos: variable Stress
isos: value $isovalue
isos: type isosurface
isos: end
isos: create
$timestep = $timestep + 1

# This is a nice command to get the last part created to
# be the selected one
#
part: select_lastonecreated

# Now a loop over time
# Where the value of the isosurface is set to the MaxStress variable,
# the isosurface part is updated to the new max, and then the
# timestep is incremented
#
while ($timestep < $APPTOTALTIMESTEPS)
solution_time: current_step $timestep
solution_time: update_to_current
variables: evaluate MaxStress = Max(plist,Stress)
$isovalue = $MaxStress
part: modify_begin
isos: value $isovalue
part: modify_end
$timestep = $timestep + 1
endwhile

Do you have tutorial files for visualizing Forces and Moments in Ensight?
Download or play the following three files Shockwave files.  These files were created by CEI and were included in the December 2006 Newsletter.  OneTwoThree.

Can I output to a file scalars from a pathline or a streamline?

For example, after I create some pathlines based on velocity and color them by temperature,  can I then output to a file the x, y, z, u, v, w and temperature for each pathline at each transient time step?

Both streamlines and pathlines can be output to a file called "p_trace_dump.file" by issueing the following "test: trace_dump" command via the File > Command > Command Entry text field.

This file contains the following data

x,y,z,time,(active) scalar(s), (active) vector(s)

in list format for the respective trace part selected.

Since pathlines are integrated over the entire temporal domaiin (by definition), you will get only one file of the completed pathline.

For streamlines, you will need to recompute them at each time step and you will need to issue this command after they have been recomputed at each time step (don't forget to manually rename the "p_trace_dump.file" or it will get overwritten).

An easy way to have the streamlines automatically update at each time step is to toggle on (via the Particle Trace quick interaction area) Emit > Emit at current time button.

You will still need to issue the "test: trace_dump" command after each update, but toggling on this Emit button will alleviate you from physically creating a new trace part after each temporal change.

Here are the first few lines of a sample trace_dump file:

Part 3
This part is a particle trace part
Part has 1 number of traces
Trace 1 has 57 number of points
 xcoord       ycoord       zcoord       time         temp         ro           pres         Velocity                              
-4.49497e+00  9.76381e-01  1.22000e+01  0.00000e+00  3.90000e+02  1.07660e-03  1.21000e+06 -2.06172e-03  4.47309e-04  1.37317e+00
-4.49497e+00  9.76381e-01  1.22000e+01  1.00000e-06  3.89987e+02  1.07664e-03  1.21001e+06 -2.30144e-03 -2.74737e-04  1.46514e+00

How do I ftp files to Support at EnSight?

ftp ftp.ensight.com
login: anonymous
passwd: (your email address)
cd pub/incoming
bin
put yourFile
quit

Can I show node scalars without showing the mesh?

One way to do this is in the Node, element and line attributes turndown area of the Feature Detail Editor for the part of interest. Toggle on Node and toggle off Line and Element.
You can then control how those nodes look (point, cross, sphere) via the Node Representation icon in the Mode area.

For EnSight 8.2, you can also do this simply under the Part Element settings (element representation icon - looks like a Rubik's cube), by toggling on Load points and normals only. This representation not only just shows the nodes, but the points are shaded properly as well.

Do you have any guidelines for getting povray output for a flipbook?

You can't.

Since the povray interface outputs geometry it can not interface to the flipbook.  You'll have to either play the transient data (from the recorder) or run it through the keyframe animator.

k3tom5.f bug, use 1pe12.4E3.

A bug in K3TOM5 which causes display problem in Ensight (By Yong Sun)

When you use Ensight to post-process KIVA results, you might see some weird spots at places where it should not show up. This is due to a small bug in the KIVA-to-Ensight convertor -- K3TOM5.

Both KIVA and K3TOM5 use double precision, so the range of the absolute value of real numbers is [2.2251e-308, 1.7977e+308]. The format that K3TOM5 use to dump data is 'e12.5'. When K3TOM5 dumps any data smaller than E-100 using this format, for example, 0.12345E-148, it
just writes 0.12345-148, while Ensight reads it as 0.12345. To fix this problem, replace any ‘e12.5’ with ‘(1pe12.4E3)’ (in velout, dpvout, dpsout, dpgout, geoout, sclout subroutines).

Here is an example:
cyongsun+++++
c      write(20,'(6e12.5)') (aux1(i),i=1,n)    
        write(20,'(6(1pe12.4E3))') (aux1(i),i=1,n) 
cyongsun-----

Another fact is that Ensight does not accept data length other than 12 digits, so if you use ‘(1pe11.3E3)’ or ‘(1pe13.5E3)’, it will not work.

Why don't forward and backward created pathlines match?

FAQ courtesy of Mel of EnSight support.

Q: I've created pathlines as outlined in the Advanced section of Create Particle Traces in the How To Manual. The section covers creating pathlines backward in time.

The procedure worked fine. I then took the ending x, y, z and time values from the backward created pathlines and made an EnSight Particle Emitter File. I restarted EnSight and created pathlines forward in time by reading in the EnSight Particle Emitter File in hopes that the forward and backward pathlines would be similar. Unfortunately they are pretty much different. The forward pathlines are similar to the backward ones for a short time, but then deviate substantially.

I just wanted to know if expecting the forward and backward pathlines to look very similar to each other is expecting too much accuracy for the EnSight's pathline calculation method.

A: Everything you describe sounds possible.

This would occur due to the different in dt step-size criteria that can be adjusted along the integration path.

The only way one would get an exact reverse path line, would be to control the exact step size determination for each path line segment. We do not do this. We basically let the integrator dynamically adjust step size for dt according to a few constraints, i.e. flatness of integrated curve, twist of integrated curve and max number of steps in an element. It is possible for these to differ on the reverse integration route.

In reality, each integration route is only an approximation, and that approximation depends on the step-size control.

We try to offer some parameters to control the step-size of dt , but there are time they get over ridden..

In brief, I think there are a couple of things worth considering that directly lead to the difference in your to and fro path lines.

1. Picking the correct begin point. In terminating a trace, we play the "Oh my gosh we have exited the domain during our RK(4) - where is the best place for us to exit?" When a trace exits the domain, we essentially compute the last point of the trace (n) by linearly interpolating the location of the last point on the mesh boundary between the previous in-mesh point (n-1) with the projected point outside the mesh from the RK(4) process.

With stream lines this only occurs once - due ot the resident nature of the time. But with path lines, this may occur several times; depending on the frequency that the trace exits the domain and returns in the domain. Because for a path line, a trace can exit a domain, and then reappear in the domain at a latter time. So this can be a source of error.

Our rational of implementing this type of algorithm for the various meshes was simply, 'If the user has problems with trace resolution, then they need to increase their time steps." This is kind of a Newtonian approach, in that this algorithm will tend to the ideal solution as the number of time steps increase. Thus, leads me to the next point.

2. You may be able to narrow this gap by adding more time steps to your solution. The real problem with the above and the dynamic dt step-size adjusting comes when the accumulated integration time in one direction dictates a time-step change to the next temporal domain, but in the reverse direction (at this location) it does not. So essentially you are integrating at that location (in different directions) using different temporal fields (time steps).

Theoretically you should be able to increase the number of time steps and show that the margin of error decreases between the back and forward trace. This might be worthwhile to do. Then you could indicate the trade-off between more time steps and accuracy.

This is the old game of trying to approximate a non-linear solution with multiple linear decisions.

Hopefully these points of explanation will help.

I did not complete my point (1) thought below. Essentially it would be best to not pick the last point of the trace to be the starting point for the reverse trace, but the 2nd to the last (due to the linear interpolation approximation that is done for the last point). But if the trace leaves and enters the domain - not much you can do here.

Also, I have noticed that sometimes the GUI truncates the number of significant digits of an emitter point. So the point you enter is sometimes truncated digit-wise. A problem with floating point arithmetic.

Best Regards,

Mel

Do I have to worry about "Full Backup" compatibility issues when EnSight goes through a letter upgrade, like from (d) to (e), etc.?

FAQ courtesy of Howard of EnSight support.

Archives are supposed to be compatible as long as the second digit of the version number has not changed; i.e., you should be able to save a backup archive on version 8.2.1(e) and restore it on version 8.2.4(c).

Can EnSight compare two datasets?

FAQ courtesy of Mike from CEI

Dear Support:

Assume I have ensight results from running two CFD simulations. The simulations were run on the same computational domain, although the grid resolution may be different. I can easily read both result sets into EnSight and display scalars, like temperature, to visually compare the two result sets side-by-side.

But, from within EnSight, can I also display the scalar difference on the computational domain? For example, if I have a y=0 cut plane colored by temperature from both result sets, can I some how display ( temperature(set 1) - temperature(set 2) ) on a y=0 cut plane? If there is a place in the manual that describes this, please just point me to the section.

Thanks, Randy

Randy,

You want to use the calculator's Casemap() function. It's documented in the EnSight User's Manual in the section on variables. Basically, it allows you to take a part and project values from a different case on to it thus creating a new variable. From this you can then do a difference operation like the one below.

-Mike