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)
TODO
-
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))
Edited by Timo Koch