Add model factory and reduce number of pre-compiled model instances
What does this MR do?
Use CPP definitions to compile a single executable for every combination of spatial dimension (
DORIE_DIM), polynomial basis order of the Richards solver (
DORIE_RORDER), and of the transport solver (
DORIE_TORDER, currently only supports 0). Add CMake module
DorieCompileInstance defining default targets, maximum orders, and a helper function. The executables are then found by the CLI, which parses the config file and assembles the correct executable name.
ModelFactory for instantiating Richards and Transport models. The factory only serves as switch: The actual implementation of the models is hidden. The factory serves for checking if the config file settings match the compile-time settings. The model factory is most of what makes up the executables, and the library contains the model instances.
- Apply adaptivity policy in model factories
Is there something that needs to be double checked?
- Do we want to fix the warnings now? (Except for PDELab warnings in clang)
Can this MR be accepted?
- Updated docs
- Pipeline passing
docker/dorie.dockerfilea two-stage Dockerfile for reduced image size and less problems with deleting left-over binaries
Added entry to