[Se.La.Vi.] , [Help]


Chapter A : Getting started

Chapter B : Se.La.Vi.'s functions

Chapter C : Troubleshooting


IBM is a registered trademark of International Business Machines Corporation

MS-DOS is registered trademark of Microsoft Corporation.

Microsoft Windows is a trademark of Microsoft Corporation.

N.T.U.A. stands for National Technical University of Athens.

Se.La.Vi. (SciEntific LAb for VIsualization) , is trademark of N.T.U.A. , Department of Mechanical Engineering, Fluids Section.


This manual is designed by the Se.La.Vi. developers that took under consideration the user´s requests. We hope that it will satisfy your own needs and if not, we´ re waiting for your feedback in order to improve this document.


This manual assumes that you are familiar with the following :

It is created in HTML file format, meaning that the highlighted words of a paragraph are links to other paragraphs or even links to other HTML documents in the Internet.

If you are reading a printed copy please note that the contents may have been changed and that the latest version is available at : http://www.fluid.mech.ntua.gr/selavi/manual.htm

You should begin reading Chapter [A:"Getting started"], paragraph [A1:"General description"].

If you have not yet installed a version of Se.La.Vi. to your computer, read paragraph [A2:"Software and Hardware requirements"], and then visit Se.La.Vi.´s Home Page at : http://www.fluid.mech.ntua.gr/selavi

After reading paragraph [A3:"How to download Se.La.Vi. from the Internet and how to install it"] , download the latest version of the software and run the setup utility to install it.

If you have already installed a version of Se.La.Vi. please be sure that this is the latest.

Continue reading this manual from paragraph [A4:"What do you want to visualize today?"]

Chapter A : Getting started

A1 : "General description"

Se.La.Vi. (SciEntific LAb for VIsualization) is a scientific data visualization software with animation engine.

Se.La.Vi. is CFD (Computational Fluid Dynamics) oriented, meaning it has been designed to visualize data obtained through numerical simulations and describing flow phenomena.

Despite its original CFD orientation, Se.La.Vi. can also succesfully visualized data from other areas of science.

Se.La.Vi. is freeware and its versions for windows 3.1 (16 bit) and windows 95 (32 bit) are distributed through the Internet since December 96 for every academic and non-profitable use.

The home page of Se.La.Vi. at the Internet is at the following address : http://www.fluid.mech.ntua.gr/selavi
At this location, every visitor can download the latest versions of the software, have access to some of its applications, get help and communicate with the developers´ team. There is also available a multimedia presentation and some of the bitmaps, videos and VRML worlds created by Se.La.Vi.

A2 : "Software and Hardware requirements"

Se.La.Vi. is available in 16-bit(OS Microsoft Windows 3.1) and 32 bit(OS Microsoft Windows 95) versions.

(CPU)486-33, (RAM)8 MB, (disk free space)7 MB

(Screen resolution)640x480, (Color Deapth)8 bit

(CPU)486-66, (RAM)16 MB, (disk free space)10 MB

(Screen resolution)640x480, (Color Deapth)8 bit

(CPU)Pentium 166, (RAM)32 MB, Graphics Accelarator,

(Screen resolution)1024x768 , (Color Deapth)24 bit True Color

Note :

Se.La.Vi.´s 32 bit versions do not run properly under MS-Windows 3.1 with WIN32S. Please always use 16 bit versions for MS-Windows 3.1

Se.La.Vi.´s 32 bit versions are not fully compatible with Windows NT. This problem will be fixed in the future (version 1.432 and later) so that Se.La.Vi.´s 32 bit versions can run under Windows NT 4 or higher.

A3 : "How to download Se.La.Vi. from the Internet and how to install it"

Use your Internet browser to visit Se.La.Vi.´s Home Page at : http://www.fluid.mech.ntua.gr/selavi

There, you will find a section entitled : "DOWNLOAD" and a list of all available versions of Se.La.Vi.

Every versions ID looks like : B0X.X16 (16 bit) or B0X.X32 (32 bit)

for example : B01.016(oldest) , B01.116, B01.216 , B02.216(latest)

B01.032(oldest) , B01.132, B01.232 , B02.232(latest)

Reading carefully paragraph [A2:"Software and Hardware requirements"] choose the latest version that matches your system and click to its name on the list.

Your Internet browser will prompt you to save the slvbXX16.zip or slvbXX32.zip file to a folder. Choosing a folder the download procedure will begin. During downloading the connection may be lost. In this case please try again.

After downloading the slvbXX16.zip or slvbXX32.zip file, extract the compressed files included in it using WINZIP or any compatible uncompress utility.

If you extract the files to a new or empty folder it will be easy for you to delete them after the installation.

Run the extracted file [Setup.exe] and follow the instractions shown on your screen.

Setup.exe will copy all the necessary files to your hard disk and will create an icon to your start menu (32 bit) or a program group to your desktop (16 bit) .

At the end of the installation utility be sure that you get the message "Se.La.Vi. installed succesfully"

You can now delete the slvbXX16.zip or slvbXX32.zip file and all the extracted files.

Note :

If you have downloaded an update from a version to another and not a stand alone version, the setup.exe may be missing. In this case, please replace manually the old files under Se.La.Vi.´s folder with the new extracted files. Usually, the file you will need to replace, will be Selavi.exe. If a file named Readme.txt appears between the extracted files, please read it before you replace any file.

The 32 bit versions of Se.La.Vi. can be automatically uninstalled from :

My Computer-> Control Panel -> Add/Remove Programs

There you will find a list with all the installed software. Choose Se.La.Vi. and click the "Add/Remove" button to uninstall it. Please follow that procedure only if you are a advanced user of windows 95.

A4 : "What do you want to visualize today?"

Using Se.La.VI. you can visualize :

and create :

Se.La.Vi. can visualize data written to ASCI files without any specific format.

These ASCI files are inserted in an Library of Objects , as File Objects. The library can contain File and Data Objects. The Data Objects are linked to the File Objects and they read, manipulate and finally visualize their contents. Many Data Objects may be linked to a single File Object. The library can contain many File Objects. Every Data Object is responsible for an area of a File Object. This area can be static, i.e. from character 1(begin of the file) to character 1567 (somewhere in the file) or dynamic, i.e. from character 1+1567*frame to character 1567+1567*frame (frame = 0,1,2,3,..) in order to create animation. Se.La.Vi. creates also animation from static data by moving or rotating them around an axis.

A Data Objects reads only numbers from the contents of a File Object and ignores any comments.

Numbers are all not null expressions ("0.1234E+02" , "-2345" , "234.78") and null expressions in the following formats : "0" , ".0" , "+0.00E+5" , "-0.000E2" e.t.c.

Expressions such as "NTIME = 45" , "A34" , "Second Part" are taken as comments and the rest of the line is ignored.

The numbers can be separated with spaces, tabs, commas or all of them. Every file object has a separator property that defines the separation character between two numbers.

If you leave blank lines between the data, which is not neccessery, you will help the Data Object which reads the file to undestand the grid dimensions and geometry.

For example if you are writing a 2D, 521*62 grid to an ASCI file, with a point counter and a pressure coefficient distribution on it, you will write 521*62 = 32303 [counter,x,y,Cp] vectors meaning 32303*4 = 129298 numbers. The ASCI file will look like this :

1 , 0.100 , 1.564 , -.45

2 , 0.340 , 1.123 , -.49

. ..... ..... ....

. ..... ..... ....

129298 , 0.453 , 1.345 , -.42

In this case you should set Data Objects number of sections = 62

If you leave a blank line every 521 vectors or 521*4 = 2084 numbers, the ASCI file will look like this :

1 , 0.100 , 1.564 , -.45

2 , 0.340 , 1.123 , -.49

. ..... ..... ....

. ..... ..... ....

521 , 0.453 , 1.345 , -.42

[blank line]

522 , 0.100 , 1.564 , -.45

523 , 0.120 , 1.264 , -.43

. ..... ..... ....

. ..... ..... ....

1042 , 0.234 , 1.234 , -3.8

[blank line]

1043 , 0.230 , 1.374 , -2.4

1044 , 0.250 , 1.464 , -2.4

. ..... ..... ....

. ..... ..... ....

. ..... ..... ....

. ..... ..... ....

129298 , 0.453 , 1.345 , -.42

In this case the Data Object will automatically set number of sections = 62

A step by step example is given in Se.La.Vi.´s Help Tour at : http://www.fluid.mech.ntua.gr/selavi/topo.htm

There, a file named topo.dat which describes a 3d topography is visualized and animated by rotation around an axis. The created library also exists under Se.La.Vi.´s folder at ..\demo\topo.lib

Please study this example carefully before you continue reading the manual.

It is required to leave blank lines between the grid sections only if the items per section are not constant. To visualize grids with N*M(N) dimensions, you must separate the sections(N) with blank lines.

Data Objects which read unstructured data ignore sections number.

A5 : " Visualization applications sample "

Title Calculations by Description Image Video

Port injection in gasoline internal combustion engine.

Theodorakakos Andreas

Unsteady CFD simulation, following the finite volume methodology. Spray simulation following the discrete droplet method DDM (Lagrangian approximation)

2 AVI Video files


37 frames

8 sec each

3d flow developmend around a propeller in open water.

Petros Chassapoyiannis

The flow is modeled using a vortex particle method, where the blades are represented as lifting surfaces, the hub as a non-lifting body and their wake as vortex particles.

AVI Video file 320x240

68 frames


Wind turbine , blade-tower interaction.

Lina Pothou

View of the free particle wake. The blade and the tower are modeled as thin lifting surfaces generating wakes.

AVI Video file 320x240

68 frames


Unsteady laminar flow of the wake behind a cylinder.

Theodora Pappou

Here, the visualization procedure concerns the vorticity contours in the wake behind a cylinder over one period of the unsteady phenomenon.

AVI Video file 500x378

20 frames

2 sec

A more detailed description of those is available through the Internet under Se.La.Vi.´s Home Page (Just click to an item of the list)

Chapter B : "Se.LA.Vi.´s functions"

B1 : "Library of Objects , File Viewer and Properties of objects"

Use 'Add New File Object' button to add the ASCI file you want to visualize to the library as File Object.

Press 'Add New Data Object' button to create a new Data Object.

Se.La.Vi.'s wizard will then help you to Create a link between the Data Object and the File Object.

Use File Viewer in order to define the area of the file to which the Data Object refers.

If the Data Object refers to more than one frames (time steps) always define the area of the first frame (see paragraph B3)

At this point the Data Object is ready to read and manipulate the contents of the file.

File Object Properties

Property Data type Values Comments
Name string Read only
Path string Read only
Size long Read only
Date date Read only
Time time Read only
Separator integer 0. Space

1. Tab

2. Comma

3. All

Defines the separation character between two numbers.

Data Object Properties

Property Data type Values Comments
Name string

Link to file

Property Data type Values Comments
Parent file object file object Every data object has only one parent file object.

Many data objects may have the same parent file.

From long 1 - Characters position in file
To long 1 - Characters position in file

Data item

Property Data type Values Comments
Dimensions integer 1 - Data item dimension examples :

[x, y] 2

[x, y,z ] 3

[x, y, z, Cp, Density, Mach number] 6

Data item type integer 0. Custom free dimensions, can visualize any items
1. [x] dimensions = 1
2. [x,y] dimensions = 2
3. [x,y,z] dimensions = 3
4. [x,y,z,C ] dimensions = 4

C is distributed on the grid

5. [cnt,x] dimensions = 2

cnt is a counter ( 1,2,3,…)

6. [cnt,x,y] dimensions = 3
7. [cnt,x,y,z] dimensions = 4
8. [cnt,x,y,z,C] dimensions = 5
9. [fixed lines] dimensions 2*3 = 6 : 2 [x,y,z] items
10. [fixed triangles] dimensions 3*3 = 9 : 3 [x,y,z] items
11. [fixed rectangles] dimensions 4*3 = 12 : 4 [x,y,z] items
Position X integer 1 - dimensions
Position Y integer 1 - dimensions


Properties Map at

data item - positions

Position Z integer 1 - dimensions
Position Color Value integer 1 - dimensions
Position u Vector integer 1 - dimensions
Staggered Boolean True/False staggered collocated
Quality integer

0. Normal

Draw :

1 polygon for every staggered polygon ,

4 polygons for every collocated polygon

1. Good

4 polygons for every staggered polygon ,

16 polygons for every collocated polygon

2. Better

16 polygons for every staggered polygon ,

64 polygons for every collocated polygon

3. Best

64 polygons for every staggered polygon ,

256 polygons for every collocated polygon

4. High

256 polygons for every staggered polygon ,

1024 polygons for every collocated polygon

5. Super

1024 polygons for every staggered polygon ,

4096 polygons for every collocated polygon


Property Data type Values Comments
Total items long 1 - example : a 500x67 grid has 500*67=33500 items
Total sections long 1 - example : a 500x67 grid has 67 or 500 sections
Parts integer 1 - 1 part
Parts orientation integer 0. Vertical 2 parts : vertical
1. Horizontal 2 parts : horizontal
2. Both 2 parts : both
Apply cut Boolean True/False true false

Draw type

Property Data type Values Comments
Draw type integer

1. Blobs

used to visualize blobs

2. Horiz. lines

used to visualize filaments

3. Vertical lines

4. Grid

5. Grid &


used to visualize panels

6. Surface

7. Blobs &

hor. Lines

8. Blobs &

ver. Lines

9. Grid &


Draw mode integer 1. Blackness
2. Not merge pen
3. Mask not pen
4. Not copy pen
5. Mask pen not
6. Invert
7. Xor pen
8. Not mask pen
9. Mask pen
10. Not Xor pen
11. Nop
12. Merge not pen
13. Copy pen Copy pen is the default value
14. Merge pen not
15. Merge pen
16. Whiteness
Real or pure Light (shadows) Boolean True/False true(real) false(pure)
Lines width integer 0 - 7 Press plus and minus buttons to modify

'lines width' property.

Blobs radius integer 0 - 76 Press plus and minus buttons to modify

'blobs radius' . Click blob to modify 'blobs

draw border' property.

Blobs draw border Boolean True/False See 'blobs radius' property
Fill color RGB
Border Color RGB
Color scale colors RGB Five(5) RGB colors : Left color, Left-Center color, Center color, Center Right color , Right color
Color scale min double

Use Auto Limits command or Define Minimum

and Define Maximum commands to set this values.

( See Properties Map at Draw Type )

Color scale max double


Property Data type Values Comments
Translation x,y,z static double Blue column
Translation x,y,z animated double Red column

Animated translation example :

Translation_x = Static_translation_x + Frame * animated_translation_x

Rotation x,y,z static double
Rotation x,y,z animated double
Scaling x,y,z static double
Scaling x,y,z animated double
Transformations file path string Data object can read all static transformations from a ASCI file in following format :

Trans_x , Trans_y , Trans_z

Rot_x , Rot_y , Rot_z

Scal_x , Scal_y , Scal_z


Property Data type Values Comments
Draw in animation Boolean True/False
Animation geometry static Boolean True/False True : object has static grid dimensions

False : object has dynamic grid dimensions

Dynamic grid dimensions example :

Total Sections = a1 + a2 * Frame

Total Items = b1 + b2 * Frame

Read only once Boolean True/False Read data from the file only at the first frame
Dynamic sections a1 long 1 -


Properties Map at

Animation - Animation Geometry

Dynamic, items, sections

Dynamic sections a2 long 1 -
Dynamic items b1 long 1 -
Dynamic items b2 long 1 -
New items are the last Boolean True/False Applies to dynamic grids. If the grid increases his dimensions by the time, new items are created. Using this option you can determine if the new items are written into the file before or after the previous items.

(See Properties Map at Animation)

Between interpolation integer 1. none


Properties Map at

Animation - Between interpolation

2. linear
3. square

B2 : "Tv1 , the Output Window"

Click 'Eye' Icon to draw.

Click 'Garbage' icon to destroy graphic buffer. Use this option if you get incorrect results while drawing.

From 'Frame' combo box select the frame you want to draw.

At the left side column you can define the camera and the ambient parameters.

The 'View' menu gives many options to configure the output window.

B3 : "Animation map"

Animation can be created in two types :

In order to transform unsteady data into animation it is required to fulfill two lists. The Objects Order list and the Play list as they are shown in the example beside.

Objects order list describes the way and the sequence which the Data Objects read data from File Objects. This list is filled in automatically based on the animation properties of the Data Objects and looks like :

[Fx] name

[Dy] name

>Read a1,a2,a3,…,an,…

meaning : At the n time step Data Object y reads an items(i.e. [x,y,z] ) from File Object x . If the Data Object has static animation geometry then a1=a2=a3=…=an=…

The Objects Order of the previous mentioned example could be translated as :

At every time step the Data Object 2, reads 72 items from the File Object 1, at every time step the Data Object 4, reads 72 items from the File Object 3, ….

Play list is created by the "create play list" button and defines the position of the Data into the File Object in every time step. It looks like :

Fn,Dy = s,e

which means that the Data Object y at the time step n reads the interval between the character s and the character e from its relative File Object. The Play list is created only once except if the order of the data has been changed. If this is the case, the Play list has to be destroyed and recreated.

B4 : "Exporting to VRML"

Se.La.Vi. is able to export its graphic buffer to VRML files, version 1.0
The choice of the number of colors and the accuracy, affect as much the final result as the size of the exported file.

In general, what we want is the VRML files to be small in order to be easily transferred trough the Internet.

When the switch "form file" is activated , Se.La.Vi. adds to the file comments and tab characters for the file to be a little larger but easiest to read.

B5 : "Creating animation and video from *.BMP series"

Se.La.Vi. is accompanied by another independent program "spam.exe" which can project series of BMP pictures one after the other , and produce by them FLC and AVI files.

In reverse it is also able to export series of BMP pictures from FLC and AVI files.

Chapter C : Troubleshooting

C1 : "Installation and execution errors"

INSTALLATION ERRORS : If an error occurs during installation, please be sure that the file you downloaded is not corrupted and that no error occurs while extracting the compressed files from it. To be sure, try to download the file again and compare the files size.

EXECUTION ERRORS : If you have already installed Se.La.Vi. but selavi.exe does not run, please ensure that you downloaded a version compatible with your Operation System and your hardware.

C2 : "Error messages"

Using Se.La.Vi. some miscellaneous error messages may appear. If such an error message appears to your screen while using Se.La.Vi. please try to compare it with the following categories of error messages and their suggested solutions :

The line width value takes only positive values.

If you set a negative value for line width , you get an 'Invalid property value' message .

To solve the problem set a valid property value.

If you increase the memory reserved for polygons (red number), you will not have any more problems.

These error messages mostly appear when your computer is out of disk space or you try to read large files with little Ram. The solution is to set free some disk space from the hard disk where windows are installed. If you still have this problem then you can solve it only by adding more Ram to your Computer.

If you get this message but you are sure that the file exists, exit Se.La.Vi. without saving the Library . Run Se.La.Vi. again and try to reload the library.

Those error messages do not have typical solutions. Please try to find what is responsible for the error (think about the actions you did at last) and contact with us. You can also e-mail us the files and a small description so that we can fix the problem.

These error messages usually appear when an installation error occurred or a DLL is removed from ..\..\system. You may solve the problem by reinstalling Se.La.Vi. or trying to recover the missing file.

If the error message that appears to you does not match with any of the previous mentioned categories and your problem persists , please contact through e-mail with the developers' team.

Se.La.Vi. 's MANUAL, RELEASE 2.0

Authored by E. M. Spartalis ,

Approved by

S.G.Voutsinas (Assistant Professor)

D. G. Triantos (Ph.D. Student)

Athens, April 14, 1997

[Se.La.Vi.] , [Help]