Welcome to the StGermain Trac
What is 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, provides the software environment for this paradigm of development to occur. From this several vertical applications of technology layers exist, developed collaboratively, to create distinct and revolutionary model development environments.
Implements the following programming features in C, with the aim of being fast at run-time...
- Object orientation (single inheritance & polymorphism)
- Dynamic/no typing (typed-extensions to an instantiated or non-instantiated type)
- Inverse scripting (extensive "entry-point" system)
- Light-weight component architecture (ORB for components of fixed services (life-phases) - an interface pattern)
- 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)
In essence, StGermain allows the composition a problem of cross-cutting concerns by means of an XML language. Specifically, it attempts to address the common problem of when an object that has behaviours that require/assume extra state on another object, and when an object's presence in a system wishes to amend the behaviour of another object. These features help to allow the clear separation of concerns of the mathematical and physical concepts that make a computational code, whilst still remaining computationally efficient. As a consequence StGermain nurtures healthy framework development of computational problem domains. It was originally created by Steve Quenette as part of his research interests, but has now had many contributions by various projects' members.
StgNumerics is the code-name of the hierarchical collection frameworks that ultimately build a powerful finite element solver. The collection includes:
- StgDomain
HPC savvy implementation of mesh and particle representations and general computational code workflow utilities (presently the Discretisation layer in the StGermain code-base).
- StgFEM
Framework and implementation of a HPC savvy Finite element method book-keeping and some examples.
- PICellerator
Framework and implementation of a Lagrangian integration point, material point method.
The official homepage is: http://www.stgermainproject.org.
Steve's vision
To empower the creation of frameworks for computational mechanics, but also to apply the technology to general IT.
Roadmap
Presently under discussion
Version 2
- Better inheritance
- Formal establishment of toolboxes
- Clarity between plugins, components and codelets?
- Removing the use of input files to compose abstract components
- Contexts implemented as exentions and the formalisation of a Computational Context?
- Pickling
- Discretisation/domain layer separated?
- A schema that we can feasibly write an XSD that can be used for run-time validation
- Component validation
- Complete python bindings
- Testing framework: unit, integration & Science testing framework
- Python based plugins
- Windows compile
Future
- ?
