Skip to content

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

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.
  • Update default and testing BC files.

Depending on !127 (merged)

This 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 the BoundaryConditionManager
  • 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

Merge request reports