The graphical user interface for geometric design and simulation control implemented in this work is based on Java and Java 3D, technologies as well as voxel graphics methodology.
The main panel is used to start projects, setup domains, components and variables, establish and monitor remote links, and realize general settings.
The selection of components is done by specifying their names and assigning their types. The user can also specify a color for each component for graphical display.
The important parameters and variables of the simulation can be setup in a variable selection/edit dialog. The dialog is invoked from the "Tools->Variables" menu.
After this selection is done from the menu, a variable table is displayed where the values for the variables can be assigned and/or changed:
Each variable in the table is characterized by the following fields:
The geometric design philosophy pursued in this work is based on voxel graphics. A specialized voxel graphics processor was developed by within this project to enable web-based creation of various geometric designs.
Setup of domains is realized by using 2D/3D drawing tools and 3D interactive display.
A 2D drawing tool works as a simple paint program. It enables the specification of domain components on a single cross-sectional plane of the 3D domain.
The control panel provides controls for both the 2D and 3D drawing panel.
Separate controls on the control panel enable plane selection, as well, scrolling of the plane along the domain, as well as simple plane-to-plane copying operations.
Currently implemented functions include
Below is an example of 3D view of a complex domain consisting of several components.
3D Viewer offers the following rendering modes:
The models are selected from the separate selection window that comes up after clicking at the "Tool options" button on the main panel:
Wireframe representations include several options:
Thus the figure above is produced by the combination of three sets of contour lines shown on the three figures below:
Surface rendering provides rich realistic features, such as lighting, textures, etc. Surface rendering is done in a separate window, which is opened in addition to the wireframe window, thus allowing to render both view simultaneously.
Since the objects are produced on a rectangular array of cells, the raw surface that comes out of the meshing algorithm may look rigid. A special smoothing algorithm was implemented to produce smoothing if it is desirable:
Surface elasticity model is one of the plug-in models. As all the plugin models it's invocation consists of two steps: initializer and iterator. The initializer of the model remembers the surfaces of all the active. The iterator inflates the surface as if it were an elastic membrane. The initializer function is called when the rendering mode is selected. The iterator is executed each time the Inflate button is pressed on the control panel.
Dumping the triangulated surfaces in a generic FEM format is done automatically when the project close- or exit- menu items are selected.
A contour surface of a simple cross-flow fuel cell-type geometry is show below:
3D interactive viewer allows to see all the domain components in a 3D representation. The example here demonstrates the capabilities of the viewer to represent complex multi-component systems such as fuel cells.