aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/callbacks.py
diff options
context:
space:
mode:
authorGravatar Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com> 2022-07-22 13:02:06 -0700
committerGravatar GitHub <noreply@github.com> 2022-07-22 13:02:06 -0700
commit812456172e3223687e986ed27a95c6d402723120 (patch)
tree51f1aeebe87c9ef3186a26397450692b72d7b2b4 /Python/pywarpx/callbacks.py
parent12cc7641e5c071d6db701f229050c89ed2e53966 (diff)
downloadWarpX-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.py15
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