Dune Assembler integration
Description
During last meeting with @christi and @peter, we agreed to bring latest advances from dune-assembler
into dune-pdelab
.
The main idea is to unify the dune-functions
interface of the function spaces with the requirements of PDELab and to re-implement on top of that the assemblers in a more composable form. The main reason to bring new function spaces (rather than dune-functions
directly) is that the function spaces in dune-assembler
are essentially a re-implementation of PDELab::GridFunctionSpace
with extensive testing and extra features, meaning that current PDELab functionality could still be achieved when needed (e.g. local index sets for parallel grid based communications, multi-domain spaces, entity blocking, etc).
Thus, the following is a high level road map of how to achieve that:
Road Map
Dune::Assembler
into Dune::PDELab::inline Experimental
.
From The idea is to bring the objects, concepts, and helpers functions from Dune::Assembler
into the Dune::PDELab::inline Experimental
namespace. During the process, we can refine, document, and improve the current implementation in dune-assembler
.
-
Basic Infrastructure !603 -
Google testing -
Perfetto tracing -
Threading libraries
-
-
Common utilities -
Property Tree !606 -
Entity sets definition
-
-
Basis functions !604 -
Concept definition -
New implementation -
Wrapper for PDELab::GridFunctionSpace
-
Wrapper for Dune::Functions
-
-
Assemblers & Assembler infrastructure -
Hierarchical Pattern creation (based on !561 (closed)) #181 -
Abstract base classes for Forward
andInverse
operators -
One step operator & Mass/Stiffness assembler -
Newton operator -
PDELab local operator wrapper for new assemblers
-
Integrate current PDELab practices with new infrastructure
Once, the experimental objects are in place, we can start to integrate them into PDELab current infrastructure:
-
Unify boundary conditions treatment -
Use new basis concept in current assemblers -
Wrap current solvers & grid operators into Forward
andInverse
operators