[gpaw-users] normal mode calculation via ase
Jay Wai
jaywai412 at gmail.com
Fri Jul 5 11:50:23 CEST 2019
Dear users,
I am trying to calculate the free energy of a h2o gas molecule, but I am
stuck in the step of normal mode calculation because of imaginary
frequencies.
My code is as follows:
calch2o = GPAW(mode=PW(800), xc='PBE', kpts={'size': [3,3,1]},
symmetry='off', convergence={'energy':0.0001, 'density':1e-6}, basis='dzp',
txt='h2o.txt')
h2o = molecule('H2O')
h2o.set_cell([15,15,15])
h2o.set_pbc([1,1,1])
h2o.center()
h2o.set_calculator(calch2o)
opth2o = BFGS(h2o, trajectory='h2o.traj')
opth2o.run(fmax=0.02)
vibh2o = Vibrations(h2o)
vibh2o.run()
I have run a similar code for other molecules, including co, h2, co2 and
found that imagnary frequencies disappear for those molecules as I
increased the cut-off energy and the number of kpts.
That's why I set the cut-off energy to be so high (800) and included
several k-points for a single molecule calculation.
The result of normal mode analysis is as follows:
---------------------
# meV cm^-1
---------------------
0 7.8i 63.3i
1 7.1i 57.0i
2 1.8 14.2
3 3.1 25.3
4 5.2 41.6
5 7.8 63.0
6 197.4 1592.5
7 460.8 3716.8
8 473.4 3817.9
---------------------
My quesiton is how I can change my code not to get imaginary frequencies.
I've tried the followings, but none of them worked.
a) set nfree to be 4 when calling Vibrations()
b) set energy convergence criteria to be 1E-6
c) try other cut-off energies: 400, 500, 600
d) set fmax to be smaller values in geometry optimization
Can anybody help me on this?
Or, can I just use the last three frequencies and call ase.IdealgasThermo
function because we know that h2o only have three normal modes of vibration?
Thank you,
Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/gpaw-users/attachments/20190705/db05d816/attachment-0001.html>
More information about the gpaw-users
mailing list