When to use pyoomph, and when better use something else
-------------------------------------------------------
As every numerical framework, pyoomph has some strong points but of course also plenty of limitations.
**You can consider using pyoomph**
* when you want to have a simple python interface, but still want to have high computational speed
* you want to quickly setup a multi-physics problem
* you are too lazy to nondimensionalize your equations by hand before implementation
* you want to write equations only once and reuse them in different coordinate systems, potentially in combination with other equations
* for problems involving multi-component & multi-phase flow, including Marangoni flow, mass transfer and surfactants
* when you don't want to code a lot of matrix filling routines by hand
* when you want to track (azimuthal) bifurcations
* when you want to use a monolithic sharp-interface moving mesh method
**You should consider using something else**
* when you want to use all features of `oomph-lib `_.
* when you want to operate on a lower level for more flexibility
* when you need highly parallelize computational power
* for computationally expensive three-dimensional problems
* for high Reynolds numbers (go for e.g. advanced finite differences as in `AFiD `_)
* for topological changes (the sharp-interface method is not well suited for this, go for VoF instead, e.g. `Basilisk `_)
* if you need more fancy finite-element spaces (go for `FEniCS `_ or `NGSolve `_)
* if you need spline basis functions (go for `nutils `_)