shamrock.utils.SimulationRunner.callback#

shamrock.utils.SimulationRunner.callback(*, tsim_interval=None, iter_count_interval=None, walltime_interval=None, at_tsim=None)#

Decorator to mark a function as a simulation callback.

Example:

@callback(tsim_interval=1.0) def analysis(self, icallback):

print(“analysis”, icallback)

@callback(at_tsim=[1.0, 5.0, 10.0]) def snapshot(self, icallback):

print(“snapshot”, icallback)

Args:

tsim_interval: The time step of the callback. iter_count_interval: The iteration count interval of the callback. walltime_interval: The walltime interval of the callback. at_tsim: Exact simulation time(s) at which to trigger the callback (float or list of floats).

Returns:

The decorated function.