Prototypical math models for testing and as examples
Proposed feature:
Many models in Dumux are relatively general and support many variations. This can also often be distracting both when understanding the code and when thinking about general concepts and structure. I propose (something similar has been proposed in dumux-course#17 (closed)) to add some models with simple structure. For example:
- Poisson's equation
- Heat equation / Diffusion equation
- Wave equation
- Burger's equation
- Cahn-Hillard equation(s)
- (Multidomain) Incompressible Stokes equations
These prototypical models have the advantage that we can mostly assume scalar constant parameters (no need for fluid systems and so on), a small number of primary variables (e.g. 1 scalar), and simple local residual. Parameter names could be generic and not imply specific physics.
The goal would be to use such models
- to demonstrate (to users and developers) what the essential and minimal ingredients of a new model are
- to use them as starting point for new models
- to test if our software components work well in isolation and are small enough (testing). If they turn out not to be these models should be good candidates to think about better abstractions (development).
- to have simple demonstrators for teaching/outreach
- to use them directly as tools/components
Open questions:
- In which folder would such models go?
- Do we even want to hard-code some models for one spatial discretization scheme to further simplify?
Examples where a procedure like this helped to improve the code: