Skip to content

WIP simulator refactor

Marmaduke Woodman requested to merge sim-refactor into master

Created by: maedoc

This PR refactors the simulator, in order to reduce complexity of adding new features (fields, cosim, TF support) and debugging the current bugs such as surface region mapping conventions. It also introduces the notion of pluggable numerical backends, following roughly the DAO pattern in the framework, which will have our existing NumPy code as a reference backend, a second one using Numba for accelerations and later others. Refactoring the simulator dovetails with the backend intro, so it's been started together.

  • move monitor, model, integrator et al specific logic out of Simulator methods into their own classes
  • move NumPy/Numba array code into backend (primarily code which is called during simulation, not datatype prep)
  • unify region mapping manipulations into RegionMapping methods

Merge request reports