Source code for gpaw.lcaotddft.restartfilewriter

from gpaw.lcaotddft.observer import TDDFTObserver


[docs]class RestartFileWriter(TDDFTObserver): """Observer for writing restart files periodically. At the given interval, the calculator restart file is written and ``write_restart()`` of every attached observer is called. The observer attaches to the TDDFT calculator during creation. Parameters ---------- paw TDDFT calculator restart_filename File for writing the calculator object interval Update interval. The restart files are written every that many propagation steps. """ def __init__(self, paw, restart_filename, interval=100): TDDFTObserver.__init__(self, paw, interval) self.restart_filename = restart_filename def _update(self, paw): if paw.niter == 0: return paw.log('%s activated' % self.__class__.__name__) for obs, n, args, kwargs in paw.observers: if isinstance(obs, TDDFTObserver): obs.write_restart() paw.write(self.restart_filename, mode='all')