Example codes
and tutorials
The (Not-so) Quick Guide
List of tutorials/demo codes
Single-Physics Problems
Poisson
Adaptivity illustrated for Poisson
Advection-Diffusion
Unsteady heat equation
Linear wave equation
The Young-Laplace equation
Navier-Stokes
Free-surface Navier-Stokes
Axisymmetric Navier-Stokes
Solid mechanics
Beam structures
Shell structures
Multi-physics Problems
Fluid-structure interaction
Boussinesq convection
Steady thermoelasticity
Methods-based example codes and tutorials
Mesh generation
Linear solvers and preconditioners
Visualisation of the results
Parallel processing
How to write a new element
How to write a new refineable element
Default nonlinear solvers -- the sequence of action functions
...
Documentation
FE theory and top-down discussion of the data structure
The (Not-so) Quick Guide
Comprehensive bottom-up discussion of the data structure
List of available structured and unstructured meshes
Linear solvers and preconditioners
Visualisation of the results
Parallel processing
Coding conventions and C++ style
Creating documentation
Optimisation - robustness vs. "raw speed"
Linear vs. nonlinear problems
Storing shape functions
Changing the default "full" integration scheme
Disabling the ALE formulation of unsteady equations
C vs. C++ output
Different sparse assembly techniques and the STL memory pool
Publications
Publications
Talks
Journal publications
Theses
Picture show
Download
Copyright
Download/installation instructions
Download page
FAQ & Contact
FAQ
Change log
Bugs and other known problems
Completeness of the library & our "To-Do List"
Contact the developers
Get involved

 


Beta release!

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 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.



The To-Do list


Features/capabilities to be implemented and fully documented for the first "official" release:

Note: Most of this functionality is already available in the current distribution but no documentation has been written as yet.


Features/capabilities currently under development but not scheduled for inclusion in the first official release:



PDF file

A pdf version of this document is available.
Generated on Mon Aug 10 11:18:36 2009 by  doxygen 1.4.7