WIP: Feature/multidomain on 3.0
This merge request adds a multidomain module to Dumux. It is a fairly generic module that provides a generic assembler for multi-domain problems (more than two domains possible). The domains can have different dimension. The coupling manager concept allows to specify coupling dof dependencies and defines how to evaluate coupling residuals / residual derivatives.
The goal is to be able to use this module for
- equal-dimension multi-domain problems (e.g. Darcy-Stokes coupling)
- mixed-dimension multi-domain problems (e.g. embedded mixed-dimension methods, embedded fracture models)
- multi-physics problems (e.g. dual-continuum models)
- depends on !737 (merged) and !738 (merged) to be merged.
- check function overloads for different element types, probably need domainId as element types can be the same
- add coupling manager for darcy-darcy domain decomposition
- implement additional derivatives for caching disabled -> custom ElementVolVar type
- implement explicit assembly
- Unify newtoncontroller with staggered newtoncontroller (depends on !762 (merged))