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