CP2K/ASE vibration analysis question
Chanwoo Noh
eric... at gmail.com
Tue Oct 4 02:23:16 UTC 2016
Dear all,
I have some question about using ASE tools for CP2K.
I want to perform the vibration analysis using ASE interface, because some
of the atoms of my system should be constrained.
If some atoms are constrained, then normal CP2K calculation does not create
the output file of .mol. (
https://groups.google.com/forum/#!searchin/cp2k/vibration$20%7Csort:relevance/cp2k/vS_s3781V4g/_aryuXQrDAAJ
)
In this link, S Ling suggested to use the CP2K/ASE interface in this
situation.
When I follow the tutorial (
https://wiki.fysik.dtu.dk/ase/ase/vibrations/vibrations.html?highlight=vibration),
calculating vibrational normal modes function, Vibrations() works.
However, when I use the Infrared() function, following error message occurs.
File "test.py", line 75, in <module>
main()
File "test.py", line 72, in main
ir.run()
File "/home/chanwoo/PROGRAM/ASE/ase/ase/vibrations/vibrations.py", line
129, in run
self.calculate(filename, fd)
File "/home/chanwoo/PROGRAM/ASE/ase/ase/vibrations/vibrations.py", line
146, in calculate
dipole = self.calc.get_dipole_moment(self.atoms)
File "/home/chanwoo/PROGRAM/ASE/ase/ase/calculators/calculator.py", line
361, in get_dipole_moment
return self.get_property('dipole', atoms)
File "/home/chanwoo/PROGRAM/ASE/ase/ase/calculators/calculator.py", line
374, in get_property
raise NotImplementedError
NotImplementedError
I think that a dipole moment of molecules is needed when IR intensity is
calculated, but the CP2K/ASE interface doesn't support the dipole moment
calculation.
Is there any method to implement the Infrared function?
I would appreciate for any suggestions and comments.
The python script for calculating normal modes is as follows.
*test.py*
#!/usr/bin/python
from __future__ import division, print_function
import os
from ase.structure import molecule
from ase.optimize import BFGS
from ase.calculators.cp2k import CP2K
from ase.vibrations import Vibrations
from ase.vibrations import Infrared
inp="""
&FORCE_EVAL
METHOD Quickstep
&DFT
&PRINT
&MOMENTS
PERIODIC FALSE
&END
&END
BASIS_SET_FILE_NAME BASIS_MOLOPT
POTENTIAL_FILE_NAME GTH_POTENTIALS
&MGRID
CUTOFF 400
&END MGRID
&XC
&XC_FUNCTIONAL PBE
&END XC_FUNCTIONAL
&END XC
&POISSON
PERIODIC NONE
PSOLVER MT
&END POISSON
&END DFT
&SUBSYS
&KIND O
BASIS_SET DZVP-MOLOPT-SR-GTH
POTENTIAL GTH-PBE-q6
&END KIND
&KIND H
BASIS_SET DZVP-MOLOPT-SR-GTH
POTENTIAL GTH-PBE-q1
&END KIND
&END SUBSYS
&END FORCE_EVAL
"""
def main():
calc = CP2K(basis_set=None,
basis_set_file=None,
max_scf=None,
charge=None,
cutoff=None,
force_eval_method=None,
potential_file=None,
poisson_solver=None,
pseudo_potential=None,
stress_tensor=False,
uks=None,
xc=None,
label='test_H2O_GOPT', inp=inp)
h2o = molecule('H2O', calculator = calc)
h2o.center(vacuum=2.0)
BFGS(h2o).run()
print(h2o.get_potential_energy())
vib = Vibrations(h2o)
vib.run()
vib.summary()
ir = Infrared(h2o)
ir.run()
ir.summary()
main()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20161003/a5a15d9c/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.py
Type: text/x-python
Size: 1702 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20161003/a5a15d9c/attachment.py>
More information about the CP2K-user
mailing list