A lightweight computational physics framework, based on the organization of turboWAVE. Implements a "Simulation, PhysicsModule, ComputeTool, Diagnostic" class hierarchy.
Some of the diagnostics would be good to have run at a different interval than every time step. This logic could be simplified by creating a helper class to deal with the interval checking logic, and then using composition to extend the diagnostic class.
Some of the diagnostics would be good to have run at a different interval than every time step. This logic could be simplified by creating a helper class to deal with the interval checking logic, and then using composition to extend the diagnostic class.