Skip to content

Enable parallel runs

Santiago Ospina De Los Ríos requested to merge feature/parallelism into master

What does this MR do?

Sets up the models to run in parallel. Several things are needed for this to work, and not all the cases.

  • The host grid should be load balanced together with its subdomain indices.
  • Fix bug on multi-domain grid extensions/dune-multidomaingrid!27 (merged)
  • Fix issues on PDELab regarding dynamic grid function spaceshttps://gitlab.dune-project.org/copasi/dune-pdelab/compare/70b3512be66d3b77ea1ced44882d0b9811c7293f...695e0bd0de57d76a0a00f74e03bbd12b7cdcb43d
    • Remove border exchange (only needed for AMG)
    • Remove AMG support on linear solvers (redundant since there is an independent solver for AMG)
    • Remove make_consistent methods in grid function spaces (only needed for AMG)
    • Send leaf information. If this is not done, the communicator handler assumes that the sender and the receiver grid function spaces contribute to the same offsets in the GFS. This is not true when the communicator sends codim 1 information on multi-domain interfaces.
  • Use non-overlapping entity set and linear solver.
  • Because of the solver, we have to constraint the boundary with conforming constraints

Because of the choice of non-overlapping method, this currently rules out any computation involving finite volumes on the processor boundary.

Is there something that needs to be double checked?

  • Not working cases (i.e Finite Volumes) throw a meaningful error?
  • The constraints are mutable. This makes no sense on the const-correctness of the model class!
    • TODO: Think of another way to share constraint conditions that make sense in a modelling framework.

Can this MR be accepted?

  • I've read contribution guide
  • Implemented
  • Added/Updated tests
  • Added/Updated documentation
  • Pipelines passing

Related issues

Closes #9 (closed)

Edited by Santiago Ospina De Los Ríos

Merge request reports