Skip to content

Refactoring of the interaction update

Micael Oliveira requested to merge interaction_update_changes into develop

Description

This MR includes two changes:

  1. Introduced two new concepts: interaction partner and interaction with a partner. These are implemented as abstract classes. The systems are then interaction partners and the gravity is an interaction with a partner. Besides helping clarify some concepts, these changes allow to break a circular dependency between the abstract system and interaction, thus allowing to move some generic code to the abstract classes.

  2. The interactions do not hold pointers to the partner quantities anymore. Instead, a copy is done when needed.

  3. Allow the interaction to be updated when the partner is ahead in time. In this case the interaction uses the old quantities.

News snippet

Refactoring of the interaction update

Checklist

  • I have checked that my code follows the Octopus coding standards
  • I have added tests for all the new features added in this request.
Edited by Martin Lueders

Merge request reports