Coverage for gpaw/lcaotddft/restartfilewriter.py: 62%
13 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-20 00:19 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-20 00:19 +0000
1from gpaw.lcaotddft.observer import TDDFTObserver
4class RestartFileWriter(TDDFTObserver):
5 """Observer for writing restart files periodically.
7 At the given interval, the calculator restart file is written and
8 ``write_restart()`` of every attached observer is called.
10 The observer attaches to the TDDFT calculator during creation.
12 Parameters
13 ----------
14 paw
15 TDDFT calculator
16 restart_filename
17 File for writing the calculator object
18 interval
19 Update interval. The restart files are written every
20 that many propagation steps.
21 """
22 def __init__(self, paw, restart_filename, interval=100):
23 TDDFTObserver.__init__(self, paw, interval)
24 self.restart_filename = restart_filename
26 def _update(self, paw):
27 if paw.niter == 0:
28 return
29 paw.log('%s activated' % self.__class__.__name__)
30 for obs, n, args, kwargs in paw.observers:
31 if isinstance(obs, TDDFTObserver):
32 obs.write_restart()
33 paw.write(self.restart_filename, mode='all')