A lightweight computational physics framework, based on the organization of turboWAVE. Implements a "Simulation, PhysicsModule, ComputeTool, Diagnostic" class hierarchy.
The function prepare_simulation in the Simulation class does the work of parsing the input and creating instances of the turboPy objects. Currently, the clock is initialized after the PhysicsModules are initialized. This means that dt is not yet set, so if the modules need it, they have to read it in the initialize function rather than in __init__.
The sequence of steps should be changed so that the clock is constructed first.
The function
prepare_simulation
in theSimulation
class does the work of parsing the input and creating instances of the turboPy objects. Currently, the clock is initialized after thePhysicsModules
are initialized. This means thatdt
is not yet set, so if the modules need it, they have to read it in theinitialize
function rather than in__init__
.The sequence of steps should be changed so that the clock is constructed first.