Resolve "New data structure for storing boundary conditions"
What does this MR do?
Resolve issues #125 (closed) and #126 (closed).
New data structure for storing BCs
- Implement
BoundaryCondition
base class and derive actual boundary conditions from it. - Add setting for
horizontal_projection
of Neumann BC (only used in Richards model) https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/issues/136#note_20384. - Add setting for
concentration_type
of Dirichlet BC (only used in Transport model) #151 (closed).
Introduce new input scheme for BCs
- Use YAML files for specifying BCs
- Merge BC specifications and grid mapping in revamped
BoundaryConditionManager
- Implements altered interface of
FlowBoundary
for caching BCs and returning the maximum time step - Loads BC files and associates BCs using the grid mapping information.
- Can be used by both models using the compile-time mode switch.
- Implements altered interface of
- Update default and testing BC files.
!127 (merged)
Depending onThis branch now includes all changes of !127 (merged) and should be merged after !127 (merged). Review will also be easier once this is done. The models have already been adapted to the TimeStepController
and there is a new test-model-coupling
unit test ensuring that time stepping works as intended, without the dreadful "minimal time step" workaround.
Is there something that needs to be double checked?
-
Time step adjustment to BC changes works as before.
Can this MR be accepted?
-
Implemented feature -
Added test for boundary conditions and FlowBoundary
-
Update existing code base -
Update user docs -
Make models work with TimeStepController
from !127 (merged) and theBoundaryConditionManager
-
Add model coupling unit test to ensure that the "minimal step issue" is gone 🎉 -
Pipeline passing -
Merge !127 (merged) into master
-
Then merge master
back into this branch (to be sure) -
Squash commits option set -
Added entry to CHANGELOG.md
Related issues
Closes #125 (closed), #126 (closed), #29 (closed), #136 (closed), #151 (closed)
Edited by Santiago Ospina De Los Ríos