Draft: Feature/new experimental assembly
What this MR does / why does DuMux need it:
TODO: insert text here
Notes for the reviewer
TODO: insert text here
Before you request a review from someone, make sure to revise the following points:
-
does the new code follow the style guide? -
do the test pipelines pass? (see guide on how to run pipelines for a merge request) -
is the code you changed and/or the new code you wrote covered in the test suite? (if not, extend the existing tests or write new ones) -
does your change affect public interfaces or behavior, or, does it introduce a new feature? If so, document the change in CHANGELOG.md
. -
is the list of the header includes complete? ("include what you use") -
all files have to end with a \n
character. Make sure there is no\ No newline at end of file
comment in "Changes" of this MR. -
(if not applicable remove) are newly introduced or modified physical values/functions backed up with a scientific reference (including doi) in the docs? -
(if not applicable remove) if the examples are modified, is the documentation regenerated (using generate_example_docs.py
)
potential steps/milestones:
-
use some external lib for solution of the linear system (e.g. Eigen) -> makes sure the layout is flexible enough to make use of non-dune-solvers -
set up a toy example with time dependency to properly integrate TimeStepper
into the new assembly layout. -
set up a toy multidomain example to ensure that support for multitypeblockvectors/matrices can be realized -
implement actual assembler and realize poisson problem -
make stationary 1p test work -
make instationary test work -
make a 2p2c test work (privarswitch should be tried to be put into GridVariables::update()
such that newton is agnostic of that -
check that multidomain test with privar switch works with the new assembly layout
Edited by Dennis Gläser