Visual Nav
January 16th, 2008Visual Nav is the editor for computational fluid dynamic (CFD) simulations with NaSt3DGPF.
NaSt3DGPF is a extension of NaSt3DGP withe the Federal Waterways Engineering and Research Institute (BAW) in a cooperation with the Institute for Numeric Simulation at the University Bonn.
Description
The editor server users to model a computational fluid dynamic simulation.
The first task the user has to do is define the simulation solids. The solids are commonly prepared by technical drawers and provided in STL format. The user may also specify a number of primitive shapes, such as cubes, cylinders or spheres. Every solid gets properties, such as the surface roughness.
The second task is to specify the initial air and watter volumes. This is done the same way as the solids. The volumes may have properties such as initial velocity.
The third task is to define the boundary conditions, such as solid, inflow or in-out (“open”) conditions.
The fourth task is to define the computational grid. The grid is rectilinear and may be specified with the help of control points at which cell width is specified.
The work may be saved and restored to a XML format. A extra format was designed, because the input for the numeric kernel had insufficient semantic.
Finally the data has to be written to the numeric kernels native format. There where two options, either do it from the graphical editor or with the help of a command line tool. The command line was necessary since the compute server was accessible only with the help of ssh and it should be integrated into the batch run of the task scheduler.
The program was written under two constraints, it should cost nothing and run on GNU/Linux and Windows; since users where using both operating systems. The obvious solution was to use GTKmm with gtkglext.
There renderer was custom written in openGL, since any conversion to a rendering toolkit was more difficult than writing a procedural renderer.
The tool was released for windows as a binary installer and for GNU/Linux as a source tar ball with the common GNU triple jump.
Diploma Thesis
The conception of the program was done while my diploma thesis at the University of Cooperative Education of Karlsruhe.
Alternative Aproaches
In preparation the option of using VTK was taken into account. VTK is quite a good toolkit for rendering the results of numerical simulations. But in this case the conversion of data was relative complicated, since for every object a “network” had to be created and managed.
