Skip to content

Refactor the run subroutine to better handle multisystem runs

Micael Oliveira requested to merge run_refactor into develop

Description

Several changes to make the run subroutine handle multisystem runs better. Among others:

  • Add a wrapper around all the calculation modes to decide if the code should run with the multisystem framework or in legacy mode. This way it is possible to simplify the logics in the run routine. As a consequence, the multisystem mode now is properly takes into account the FromScratch variable and the existence of MPI slave processes.
  • Add method to the system, multisystem and electrons classes to determine if an MPI process is a slave or not.
  • Move several steps directly into the electrons constructor, like the initialization and finalization of MPI slaves.

News snippet

Refactor the run subroutine to better handle multisystem runs.

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.

Closes #346 (closed)

Edited by Micael Oliveira

Merge request reports