The StGermain Framework
Enabling communities of scientists to iteratively develop computational codes
StGermain
The StGermain project aims to provision the development of computational codes through building blocks of mathematical and physics concepts. The software framework itself, StGermain, is an implementation that allows this paradigm of development to occur. From this several vertical applications of technology layers exist, developed collaboratively, to create distinct and revolutionary, physics based simulation development environments.
In brief, StGermain implements the following programming features in C, with the design ideal of being fast at run-time...
- Object orientation (single inheritance & polymorphism)
- Dynamic/no typing (typed-extensions to an instantiated or non-instantiated type)
- Cross-cuts (extensive "entry-point" system)
- Light-weight component architecture (based on factory, strategy and bill of materials design patterns)
- Component composition language (XML schema for describing an application through the composition and parameterisation of these light-weight components)
- Dynamics memory reference naming (of basic and complex types)
StGermain Toolboxes
StGermain is the runtime kernel that binds a system of components and cross cuts into an application / model / code. Actual tooling of features to make complicated models are implemented within toolboxes, which are loaded into StGermain.
StgNumerics Toolboxes
StgNumerics is the shelf/suite of numerics based toolboxes. These are the core toolboxes that are developed with high cohesion to StGermain itself. It consists of StgDomain - distributed memory parallel geometrical componentry for meshes and particles, StgFEM - distributed memory parallel Finite Element componentry, and PICellerator - Partical-In-Cell / Lagrangian integration scheme componentry. StgNumerics is actively developed and maintained by VPAC and Monash University.
Application Toolboxes
Built upon the stack of core components are applications or application platforms. These are described in the Uses of StGermain page. The most prevalent of these is Underworld.
Contributors
StGermain is developed by Computational Software Development group of VPAC. The Monash University Geodynamics group is a significant contributor. For more information about the project's partners and funding, please visit the contributors page.