diff options
author | 2022-07-22 13:02:06 -0700 | |
---|---|---|
committer | 2022-07-22 13:02:06 -0700 | |
commit | 812456172e3223687e986ed27a95c6d402723120 (patch) | |
tree | 51f1aeebe87c9ef3186a26397450692b72d7b2b4 /Python/pywarpx/callbacks.py | |
parent | 12cc7641e5c071d6db701f229050c89ed2e53966 (diff) | |
download | WarpX-812456172e3223687e986ed27a95c6d402723120.tar.gz WarpX-812456172e3223687e986ed27a95c6d402723120.tar.zst WarpX-812456172e3223687e986ed27a95c6d402723120.zip |
Add Python Callback Call when Checkpointing Signal is Received (#3251)
Diffstat (limited to 'Python/pywarpx/callbacks.py')
-rw-r--r-- | Python/pywarpx/callbacks.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Python/pywarpx/callbacks.py b/Python/pywarpx/callbacks.py index cb9293c5a..e9f034a36 100644 --- a/Python/pywarpx/callbacks.py +++ b/Python/pywarpx/callbacks.py @@ -264,6 +264,7 @@ _beforestep = CallbackFunctions('beforestep') _afterstep = CallbackFunctions('afterstep') _afterdiagnostics = CallbackFunctions('afterdiagnostics') _afterrestart = CallbackFunctions('afterrestart',lcallonce=1) +_oncheckpointsignal = CallbackFunctions('oncheckpointsignal') _particleinjection = CallbackFunctions('particleinjection') _appliedfields = CallbackFunctions('appliedfields') @@ -507,6 +508,20 @@ def isinstalledafterrestart(f): return _afterrestart.isinstalledfuncinlist(f) # ---------------------------------------------------------------------------- +def oncheckpointsignal(f): + installoncheckpointsignal(f) + return f +def installoncheckpointsignal(f): + "Adds a function to the list of functions called on checkpoint signal" + _oncheckpointsignal.installfuncinlist(f) +def uninstalloncheckpointsignal(f): + "Removes the function from the list of functions called on checkpoint signal" + _oncheckpointsignal.uninstallfuncinlist(f) +def isinstalledoncheckpointsignal(f): + "Checks if the function is called on checkpoint signal" + return _oncheckpointsignal.isinstalledfuncinlist(f) + +# ---------------------------------------------------------------------------- def callfromparticleinjection(f): installparticleinjection(f) return f |