Master thesis projects on WWW-based simulations

The common topic of WWW-based simulation projects is use of Modelica as a simulation tool for physical systems (primarily multibody, mechanical simulation). When multiple bodies (objects) are simulated, their geometry should be used. It is convenient to import geometry from some existing format, or use special Modelica annotations for 3D geometry. Simulation tool (program in C, because Modelica is translated to C) produces positions and rotations of bodies as functions of time. The result can be visualized using various WWW-related graphic techniques.

It is convenient to use WWW because the end-user then can use a simple graphic display with easy GUI in a WWW browser, where as simulation is performed remotely on a powerful computer.

Visualization happens either online (simultaneously with simulation, and this allows to steer the simulation via GUI and get feedback immediately) or offline (visualization software reads a file with object positions as a function of time).

There are several solutions to architecture of these tools.

Transition SolidWorks -> MVIS

SolidWorks can export assembly information to Modelica and part geometry to STL. Modelica simulation process produces positions of objects. MVIS reads STL and gets positions from Modelica (online or offline) and displays the objects on the screen. MVIS is OpenGL-based tool (in C++) written by Vadim Engelson. This is already implemented.

Transition SolidWorks -> Cult3D.

SolidWorks can export assembly information to Modelica and part geometry to STL. 3D Studio Max can convert collection of STL files to C3D format Cult3D Designer takes C3D object and attaches behavior specified in Java code, and stores this as CO (Cult3D visualization) Netscape shows the CO file via Cult3D plug-in. The ".CO"-visualization interacts with Java code, which in turn either reads positions of objects from file (offline) , or interacts online with Modelica simulation process (using either Java sockets or Java RMI to contact the C program (Modelica simulation)).

Transition VRML to VRML 2.0 using Modelica.

Modelica code can contain a VRML node (VRML format fragment) for description of surface geometry of every body. Modelica simulation process produces positions of objects. As result a VRML 2.0 (dynamic VRML) file is generated that being loaded into arbitrary VRML 2.0 browser displays dynamic behavior offline.

Transition VRML to VRML+Java

Modelica code can contain a VRML node (VRML format fragment) for description of surface geometry of every body. Modelica simulation process (a program in C) produces positions of objects. As result a VRML+Java code is created. Java code should access C program in order to obtain object coordinates for every time step. VRML should access Java code in order to obtain the coordinates. This gives an option to have online visualization.

Transition VRML to MVIS+Modelica

Modelica code can contain a VRML node (VRML format fragment) for description of surface geometry of every body. Modelica simulation process (a program in C) produces positions of objects. MVIS-VRML should be created. It is modification of existing MVIS (STL-based). It parses VRML and displays it. This is actually a re-implementation of a VRML browser. Position are obtained from Modelica and displayed (online or offline).

Transition VRML to VRML-viewer+Modelica

Modelica code can contain a VRML node (VRML format fragment) for description of surface geometry of every body. Modelica simulation process (a program in C) produces positions of objects. Existing VRML browser (there are public domain VRML browsers with source code available) should be modified; it first parses VRML and displays it. After that position are obtained from Modelica and displayed (online or offline).
Vadim Engelson
Last modified: Thu May 20 18:30:49 MET DST 1999