Skip to content
Snippets Groups Projects
Commit d0b6b475 authored by Ben Cumming's avatar Ben Cumming Committed by GitHub
Browse files

modularize domain decomposition (#244)

The domain decomposition, whereby cells were partitioned across domains/MPI
ranks and then grouped together, was performed in an ad-hoc manner.
This PR modularizes the domain decomposition.

* A `domain_decomposition` class performs the cell partitioning given the recipe
  and some parameters.
* This implementation has a single `domain_decomposition` class and flags are 
  provided in a `group_rules` struct
  * The `domain_decomposition` could be specialized, or the simple rules struct
    could provide some sort of policy implementation in the future when the 
    need arises
* The domain_decomposition class is initialized inside the model constructor
  and is maintained as state of the model.
* The cell model constructor interface has been simplified to a single constructor
  that takes a recipe and a reference to a `domain_decomposition`.
  * In the future we might pass in only a moveable subset of the 
    `domain_decomposition` information required to build the model.                                      

fixes #242.
parent bb19add0
No related branches found
No related tags found
No related merge requests found
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment