[ase-users] how to avoid calculator reset when generating a SumCalculator

Rochus Schmid rochus.schmid at rub.de
Wed Mar 17 14:57:24 CET 2021


dear ase experts,

i am trying to use the SumCalculator from ase.calculators.mixing to add 
dispersion corrections from Stefan Grimmes DFTD4 calculator to a GPaw 
calculator. The problem is that the DFT part converges very slowly. I 
have a restart file with wavefkts and can restart.

so if i do something like this

dft = GPAW('restart.gpw')
system = dft.get_atoms()
e_dft = system.get_potential_energy()

all is fine. but then i generate a new calculator like this

d4 = DFTD4(method='pbe')
sumcalc = SumCalculator([dft, d4], atoms=system)
e_total = system.get_potential_energy()

then the wavefktd from the dft calculator seems to be reset and starts 
from scratch. how can i prevent this?

i can not see that the reset() method of the mixing calculator is 
directly called, but i assume that in the process of setting the 
SumCalculator, the atoms object is "reattached" to both calculators dft 
and d4, and that attaching a "new" atoms object triggers a reset. this 
makes sense but in my case i know that the atoms are identical and i do 
not want the info from the SCF to be discarded. what can i do to prevent 
this to happen?

i also guess that it might be possible to "update" the wavefunctions 
from the info stored in restart.gpw, but this is probably a question for 
the gpaw-users mailing list.

any help/input highliy appreciated.

greetings,

    rochus schmid

-- 


Prof. Dr. Rochus Schmid
Lehrstuhl für Anorganische Chemie II
Computational Materials Chemistry Group
Ruhr-Universität Bochum
Room NC02/30 (Postbox 9)
D-44780 Bochum
Tel.:   ++49(234) 32 24166
Fax:    ++49(234) 32 14174
Email: rochus.schmid at rub.de
http://www.rochusschmid.de



More information about the ase-users mailing list