Please note that the library has not been "officially" released.
While we continue to work on the documentation, these web pages
are likely to contain broken links and documents in draft form.
Please send an email to
oomph-lib AT maths DOT man DOT ac DOT uk
if you wish to be informed of the library's "official" release.
Completeness of the library and our To-Do list
The library is under active development. While most of its fundamental objects have been stable (in the sense that their interfaces have not changed) for a long time, the current distribution contains objects for certain advanced capabilities that are not completely mature (yet!). You are most welcome to use these, provided you understand that:
We tend to regard the process of writing tutorials that explain how to use a specific feature of the library as the final sanity check for its implementation. The process of trying to explain how "easy" it is to use a certain feature in
- Changes (improvements!) to these objects in subsequent revisions of the library may force you to rewrite (parts of) your driver codes when you upgrade.
- The objects may not have been tested as rigorously as others.
oomph-lib has often forced us to realise that our initial implementation was, in fact, not as easy to use as we first thought. This realisation frequently suggested a re-implementation that sometimes involved significant changes to an object's interfaces. The development of a tutorial is usually accompanied by the development of systematic self-test procedures for the objects, making them more bullet-proof, too.
As a result we recommend adopting the following (overly pessimistic!) attitude towards the various objects in the library:
"If it's not documented it's (probably) inefficient or broken (or both)"
With this statement in mind, the list of tutorials/example codes, should give you a good indication of which features we currently regard as "mature". All tutorials labeled as "incomplete" or "driver code only" demonstrate capabilities that have not been given their final sanity check.
Note: Most of this functionality is already available in the current distribution but no documentation has been written as yet.
- Finalise/document 2D/3D free-surface Navier-Stokes
- Finalise/document shell elements.
- Eigenvalue problems and bifurcation tracking.
- Adaptive load balancing for distributed problems.
- Geometric multigrid solvers: Extend Glyn's scalar version to vector valued problems.
- Spectral elements.
- Discontinuous Galerkin methods
- Adaptivity for unstructured triangle/tet meshes.
- Adaptivity for
A pdf version of this document is available.
Generated on Mon Aug 10 11:18:36 2009 by