Due to the rapid advancements in process and device technologies, the
development of simulation software is becoming more and more
complex. From the current point of view, one of the basic drawbacks is
the absence of high-performance, robust, reusable, and freely
available scientific software components in the spirit of C++'s STL or
the Boost libraries. The generic scientific simulation environment
(GSSE) was developed to fill this gap. During the last year, the GSSE
has been developed further in the following areas.
A common method of handling scientific data based on the mathematical
concept of fiber bundles (Figure bottom left) is used as a data model
to separate the data structures and the associated data. The so-called
base space is used to model the underlying cell complex of a
discretized domain; it is accompanied by set traversal mechanisms
that are automatically derived from a topological specification
language. On the other hand, the fiber space is attached to this base
space and is equipped with algebraic properties, e.g., vector space
properties.
For the base space, a topological specification language for generic
data structures have been developed, where trivial and non-trivial data
structures such as hypercubes (Figure bottom right) and Hopf bundles
(Figure top right) can be specified easily. Applications built upon
this specification language are inherently dimension and topology
neutral.
Several discretization schemes, such as finite difference, finite
volumes, and finite elements, were unified using concepts from algebraic topology.
A multi-discretization kernel is thus available.
The concepts mentioned were all integrated into the GSSE based on a
library-centric application design, which means that only generic and
highly reusable components were implemented. Based on these concepts,
a finite element electrostatic analysis tool,
a finite difference multi-level-set engine (Figure top left)
including a marching tetrahedron approach, a generic Monte-Carlo
engine, as well as web-applications, programming tutorials, and
lecture notes have been developed.
|