Personal tools
You are here: Home / Software / Utilities / MIXD2EnSight

MIXD2EnSight Converter

MIXD2EnSight is a utility used to convert the output from FEM simulations into the EnSight 7 format, which is used by the EnSight visualization package. It handles multiple data records, as well as deforming and mutating meshes, i.e., multiple coordinate and connectivity records. Changing connectivity arrays are not supported yet, and such data will have to be converted and visualized one record at a time. Only all-tetrahedral or all-hexahedral meshes are accepted.

Documentation

This is it, and you can also look at the source code in the mixd2ensight CVS module. The file parseinput.F can be helpful in identifying all current options, and the initialize.F will show you some of the default values.

Data Requirements

MIXD2EnSight reads standard MIXD format data files. The files should be pure IEEE binary, 64-bit floating point, node-level. For more information on writing pure binary files see the EWD library documentation.

System Requirements

MIXD2EnSight has been compiled on Mac OS 10.x, Linux 2.x and IRIX 6.x. Because of heavy I/O activity, it is usually preferable to place both the original and converted data on a disk local to the machine on which the converter is running. However, the converted data should be placed in a directory accessible from the EnSight server machine, or transferred there afterwards. On SGI, the converter can take advantage of multiprocessing capabilities which are controlled by the MP_SET_NUMTHREADS environment variable.

Usage

MIXD2EnSight executable resides typically in /usr/local/bin/mixd2ensight. When run interactively, it looks for a mixd2ensight.in input file in the current directory, and if it is found, accepts the command input from there. If that file does not exist, the commands are read from the standard input. Alternatively, the input can be redirected from an arbitrary file. There are no command line options at the moment.

Input

MIXD2EnSight accepts the following keywords as commands.
Key values can be integer %d, floating point %f, strings without spaces %s, and arbitrary strings %z.

KeyDescriptionExampleDefault
abort aborts the program abort -
source %s temporarily switches command input to another file source minf -
elemtype %s element type a elemtype qua tet
nsd %d number of spatial dimensions nsd 2 3
nen %d number of element nodes nen 8 4
ndf %d number of degrees of freedom per node ndf 5 4
ne %d number of mesh elements ne 396682 -
nemin %d starting element (ignore preceding elements) nemin 200 1
nemax %d ending element (ignore subsequent elements) nemax 400 ne
nn %d number of mesh nodes nn 139352 -
neface %d number of faces per element neface 6 4
nnface %d number of nodes per face nnface 4 3
nrec %d number of data and/or coordinate records nrec 20 1
minrec %d nstarting data and/or coordinate record minrec 2 1
maxrec %d ending data and/or coordinate record maxrec 18 nrec
increc %d data and/or coordinate record increment increc 2 1
srng %d %z name assigned to a face group (RNG) srng 2 inflow boundary b
sdf %d %s name assigned to a degree of freedom sdf 6 concentration c
t0 %f time for the initial record t0 20.125 0.0
dt %f time interval between records dt 0.125 1.0
moving [on|off] deforming mesh moving on off
mutating [on|off] changing mesh connectivity mutating on off
debug [on|off] debugging output debug on off
elabel [on|off] generate element labels elabel off on d
nlabel [on|off] generate node labels nlabel on off
mien %s file name containing connectivity array mien /tmp/io.0048 mien
mxyz %s file name containing nodal coordinates mxyz /tmp/xo.0048 mxyz
data %s file name containing nodal data data /tmp/do.0048 data e
mrng %s file name containing face group (RNG) definitions mrng /tmp/mrng.odd mrng f
dcel %s file name containing element data data mipe.1024 mclt
cellint %s integer element data cellint on off
case %s EnSight case file to be created case new.case out.case
geo %s EnSight geometry file to be created geo new.geo out.geo
var %s EnSight result file to be created var new.var out.var

a) Element types can be triangles tri, quads qua, tetrahedra tet, hexahedra hex, 5-node pyramids pyr and 6-node prisms pri.
b) Default face group names are rng_01, rng_02, rng_03, etc.
c) If ndf is 4, default is x_velocity, y_velocity, z_velocity and pressure. If ndf is 5, default is density, x_velocity, y_velocity, z_velocity and energy. In all other situations, default is dof_01, dof_02, etc.
d) If off, numeric labels are generated by EnSight. They are absurd for the surface mesh elements, but this way converter uses slightly less memory. If on, the surface mesh element labels always correspond to the parent volume element. You can turn it off if you're never going to look at the element numbers during the EnSight session.
e) If set to -, no data file will be read and no result file will be created.
f) If set to -, no surface parts will be created.

Sample Run

As an example, consider the input file listed below:

hydra(test)% cat mixd2ensight.in
directory /Users/behr/work/ohio.0418
source mesh.info
 
mien mien
mxyz xo.1e7.0500
data do.1e7.0500
mrng mrng
 
debug on
moving on
ndf 4
nrec 5
 
srng 1 upstream bed
srng 2 right
srng 3 outflow
srng 4 left
srng 5 inflow
srng 6 free surface
srng 7 spillway
srng 8 downstream bed

With the debugging output on, the converter produces following progress messages:

hydra(test)% mixd2ensight
parseinput: accepting input from mixd2ensight.in
driver: starting
driver: record 001
driver: reading /Users/behr/work/ohio.0418/xo.1e7.0500
driver: reading /Users/behr/work/ohio.0418/mien
driver: reading /Users/behr/work/ohio.0418/mrng
driver: reading /Users/behr/work/ohio.0418/do.1e7.0500
driver: record 002
driver: reading /Users/behr/work/ohio.0418/xo.1e7.0500
driver: reading /Users/behr/work/ohio.0418/do.1e7.0500
driver: record 003
driver: reading /Users/behr/work/ohio.0418/xo.1e7.0500
driver: reading /Users/behr/work/ohio.0418/do.1e7.0500
driver: record 004
driver: reading /Users/behr/work/ohio.0418/xo.1e7.0500
driver: reading /Users/behr/work/ohio.0418/do.1e7.0500
driver: record 005
driver: reading /Users/behr/work/ohio.0418/xo.1e7.0500
driver: geometry file done
driver: reading /Users/behr/work/ohio.0418/do.1e7.0500
driver: result file done

The EnSight files thus created are:

tempest(test)% ls /Users/behr/work/ohio.0418/out.∗
/Users/behr/work/ohio.0418/out.case        /Users/behr/work/ohio.0418/out.var02.003
/Users/behr/work/ohio.0418/out.geo.001     /Users/behr/work/ohio.0418/out.var02.004
/Users/behr/work/ohio.0418/out.geo.002     /Users/behr/work/ohio.0418/out.var02.005
/Users/behr/work/ohio.0418/out.geo.003     /Users/behr/work/ohio.0418/out.var03.001
/Users/behr/work/ohio.0418/out.geo.004     /Users/behr/work/ohio.0418/out.var03.002
/Users/behr/work/ohio.0418/out.geo.005     /Users/behr/work/ohio.0418/out.var03.003
/Users/behr/work/ohio.0418/out.var01.001   /Users/behr/work/ohio.0418/out.var03.004
/Users/behr/work/ohio.0418/out.var01.002   /Users/behr/work/ohio.0418/out.var03.005
/Users/behr/work/ohio.0418/out.var01.003   /Users/behr/work/ohio.0418/out.var04.001
/Users/behr/work/ohio.0418/out.var01.004   /Users/behr/work/ohio.0418/out.var04.002
/Users/behr/work/ohio.0418/out.var01.005   /Users/behr/work/ohio.0418/out.var04.003
/Users/behr/work/ohio.0418/out.var02.001   /Users/behr/work/ohio.0418/out.var04.004
/Users/behr/work/ohio.0418/out.var02.002   /Users/behr/work/ohio.0418/out.var04.005

For this deforming domain case, each record produces one geometry file and a set of result files, one for each degree of freedom. In the case of fixed domain, only one geometry file is produced. The out.case result file is the only one in ASCII format and it contains links to all other geometry and result files:

hydra(test)% cat /Users/behr/work/ohio.0418/out.case
FORMAT
type: ensight

GEOMETRY model: 1 out.geo.∗∗∗

VARIABLE scalar per node: 1 x_velocity out.var01.∗∗∗ scalar per node: 1 y_velocity out.var02.∗∗∗ scalar per node: 1 z_velocity out.var03.∗∗∗ scalar per node: 1 pressure out.var04.∗∗∗

TIME time set: 1 number of steps: 5 filename start number: 1 filename increment: 1 time values: 0.000000 1.000000 2.000000 3.000000 4.000000

In the EnSight Data Reader dialog, one has to select the Case file format, and then specify the file out.case as the geometry file.

Note that transient cases with deforming meshes and constant connectivity require the Initial Time to be set to 0.0 in the Data Reader dialog. Failure to do so will cause EnSight to read the parts, and consequently the connectivity, from the last record, which does not have the connectivity defined. Only the first record can be used for this purpose.

Known Problems

  • The files to be read must be big-endian, and there is no likely way to change it in the future; we need to keep a single data format if we are to remain sane. The files created may be big-endian (on workstations) or little-endian (on PCs). When running EnSight, one may need to take the extra step of selecting Big-Endian or Little-Endian format in the Data Reader dialog, depending on which platform MIXD2EnSight was running on.
  • If you want to access the RNGs after opening the out.case file in Paraview, you have to specify the number of RNGs in your mixd2ensight.in, e.g. put nrng 8 somewhere (which is neither in the list nor in the example input file on this page). Then you can access them with the ExtractBlocks filter in Paraview which will also recognize the RNG names you possibly specified using the srng keyword.
« May 2013 »
May
MoTuWeThFrSaSu
12345
6789101112
13141516171819
20212223242526
2728293031
Upcoming Events
Marine 2013 May 29, 2013 - May 31, 2013 — Hamburg, Germany
MPF 2013 Jun 11, 2013 - Jun 14, 2013 — Sardinia, Italy
Coupled Problems 2013 Jun 17, 2013 - Jun 19, 2013 — Ibiza, Spain
USNCCM 12 Jul 22, 2013 - Jul 25, 2013 — Raleigh, North Carolina
GACM 2013 Sep 30, 2013 - Oct 02, 2013 — Hamburg, Germany
Upcoming events…