Discussion: Dumux 4.0
This place can be used to capture and discuss plans/wishes/improvements for a potential 4.0.
- What is the main "selling point" or "goal" of Dumux? Maybe we should first define our place in the universe of numerics packages and try to optimize for that. Is the specialty of Dumux the material framework? Is it discretization methods? What is most likely to be extended in the future (i.e. new disc methods or rather physics)?
- What are the responsibilities of our different classes?
-
GridGeometry
: defines the entities of the discretization and allows to formulate finite-volume schemes in an abstract way (unclear if this extends to e.g. finite-element methods) -
GridVariables
: defines the variables living on the entities ofGridGeometry
, required for the formulation of the discrete model equations -
VolumeVariables
: an instance the variables living on a single entity ofGridGeometry
. Currently, they act both as storage as well as the logic to fill that storage. This could maybe be separated - turningVolumeVariables
into solely storage, injecting the logic to fill the quantities (i.e. the used constitutive relationships) from outside.
Plan until 28.11.2022 (discussed on 14.11.2022):
- Think about desired high-level main file structure, possibly come up with snippets/code-comments/branches or whatever.
Main file brain-storming
- How would a nice main file look like in my opinion?
- No need to stick with the current structure
- Which components are essential to a/my simulation?
- What do I want to configure in the main (literally) file of the program?
- Which component needs to know about which other component?