Looking for zero frequencies

An Ghysels an.gh... at gmail.com
Fri Apr 9 15:35:20 UTC 2010


Dear forum users,

I am calculating frequencies in periodic structures, from which I'd
like to derive thermodynamic quantities like the entropy etc.
Therefore I use the VIBRATIONAL_ANALYSIS keyword, where I have put the
FULLY_PERIODIC keyword to True, such that rotational motions are not
projected out.

In principle, the second derivatives matrix should have 3 zero
eigenvalues (even in non-optimized systems), because the system is
translational invariant. However, this is not the case in my
calculations. Even in a small test case like diamond with a cubic cell
containing 8 atoms, the "zero" frequencies deviate largely from zero.

(Between brackets: I'm much bothered by this bad performance, because
it signals that the numerical accuracy of the frequencies is poor. I
aim at studying larger unit cells (eg with 100 to 200 QM atoms) where
I surely will encounter floppy modes, which are even more sensible to
numerical errors. And those floppy modes play an essential role in the
partition function/thermodynamics. Therefore, I wish to improve the
accuracy of the calculated frequencies.)

So my questions are mainly: why is the accuracy so bad? Is this
directly related to the eggbox effect, and if so, how to remedy it? Is
it something with interpolation grids? And what to do to improve it?

I tried decreasing the EPS_DEFAULT (down to 10e-16), increasing the
E_CUTOFF (up to 1400 Rydberg), increasing the REL_CUTOFF accordingly,
adding the keyword COMMENSURATE, changing the interpolation grid (to
spline3), but the improvements still do not get me close to "zero"
frequencies (still of the order -70 to 50 cm-1).

Looking forward to your comments and remarks,

An

Below: Information on version, input geometry optimization, input
frequency run, snippets of output
=====
Version:
 CP2K| version string:                  CP2K version 2.0.1
(Development Version)
 CP2K| is freely available from                          http://cp2k.berlios.de/
 CP2K| Program compiled at
Wed_Sep__9_15:48:59_CEST_2009
 CP2K| Program compiled
on                                               gengar1
 CP2K| Program compiled for                                   Linux-
x86-64-intel
=====
Input geomery optimization
&GLOBAL
  PRINT_LEVEL high
  PROJECT_NAME vib
  RUN_TYPE GEO_OPT
  PREFERRED_FFT_LIBRARY FFTW
&END GLOBAL

&MOTION
  &GEO_OPT
    OPTIMIZER BFGS
    MAX_ITER 300
  &END GEO_OPT
&END MOTION

&VIBRATIONAL_ANALYSIS
    FULLY_PERIODIC T
&END VIBRATIONAL_ANALYSIS

&FORCE_EVAL

  METHOD QS
  &DFT
    BASIS_SET_FILE_NAME GTH_BASIS_SETS
    POTENTIAL_FILE_NAME GTH_POTENTIALS
    &MGRID
      CUTOFF 100
      REL_CUTOFF 23
      COMMENSURATE
    &END MGRID
    &QS
     EPS_DEFAULT 1.0E-10
    &END QS
    &SCF
      EPS_SCF 1.0E-5
      MAX_SCF 100
      SCF_GUESS RESTART
      &OUTER_SCF
        EPS_SCF 1.0E-5
        MAX_SCF 20
      &END
      &OT
        ALGORITHM IRAC
        MINIMIZER CG
        PRECONDITIONER FULL_ALL
        ENERGY_GAP 0.001
      &END OT
      &PRINT
        &RESTART
         BACKUP_COPIES 0
        &END RESTART
      &END PRINT
    &END SCF
    &XC
      &XC_FUNCTIONAL PBE
      &END XC_FUNCTIONAL
    &END XC
    &POISSON
     POISSON_SOLVER PERIODIC
     PERIODIC XYZ
     &EWALD
       EWALD_TYPE EWALD
       ALPHA 0.3
       GMAX 11
       O_SPLINE 6
     &END EWALD
   &END POISSON
  &PRINT
  &END PRINT
  &END DFT

  &SUBSYS
    &CELL
      ABC 3.567 3.567 3.567
      PERIODIC XYZ
    &END CELL
    &COORD
C  -0.066491  -0.063731  -0.038851
C   0.019572   1.759040   1.767428
C   1.756129   0.023158   1.769616
C   1.767376   1.770784   0.004363
C   0.841267   0.843123   0.828198
C   2.663349   0.903043   2.661920
C   0.899007   2.665284   2.661387
C   2.644659   2.648722   0.926362
  &END COORD
    &TOPOLOGY
      &GENERATE
        CREATE_MOLECULES
      &END GENERATE
    &END TOPOLOGY

      &KIND C
      BASIS_SET DZVP-GTH
      POTENTIAL GTH-PBE-q4
    &END KIND

  &END SUBSYS
&END FORCE_EVAL
=====
Input Frequency run
&GLOBAL
  PRINT_LEVEL high
  PROJECT_NAME vib
  RUN_TYPE VIBRATIONAL_ANALYSIS
  PREFERRED_FFT_LIBRARY FFTW
&END GLOBAL

&MOTION
  &GEO_OPT
    OPTIMIZER BFGS
    MAX_ITER 300
  &END GEO_OPT
&END MOTION

&VIBRATIONAL_ANALYSIS
    FULLY_PERIODIC T
&END VIBRATIONAL_ANALYSIS

&FORCE_EVAL

  METHOD QS
  &DFT
    BASIS_SET_FILE_NAME GTH_BASIS_SETS
    POTENTIAL_FILE_NAME GTH_POTENTIALS
    &MGRID
      CUTOFF 100
      REL_CUTOFF 23
      COMMENSURATE
    &END MGRID
    &QS
     EPS_DEFAULT 1.0E-10
    &END QS
    &SCF
      EPS_SCF 1.0E-5
      MAX_SCF 100
      SCF_GUESS RESTART
      &OUTER_SCF
        EPS_SCF 1.0E-5
        MAX_SCF 20
      &END
      &OT
        ALGORITHM IRAC
        MINIMIZER CG
        PRECONDITIONER FULL_ALL
        ENERGY_GAP 0.001
      &END OT
      &PRINT
        &RESTART
         BACKUP_COPIES 0
        &END RESTART
      &END PRINT
    &END SCF
    &XC
      &XC_FUNCTIONAL PBE
      &END XC_FUNCTIONAL
    &END XC
    &POISSON
     POISSON_SOLVER PERIODIC
     PERIODIC XYZ
     &EWALD
       EWALD_TYPE EWALD
       ALPHA 0.3
       GMAX 11
       O_SPLINE 6
     &END EWALD
   &END POISSON
  &PRINT
  &END PRINT
  &END DFT
  &SUBSYS
    &CELL
      ABC 3.567 3.567 3.567
      PERIODIC XYZ
    &END CELL
    &COORD
  C        -0.0393192769       -0.0522499977       -0.0007602780
  C         0.0299677090        1.7769206120        1.7824574256
  C         1.7642084626        0.0471181783        1.7911208859
  C         1.7938452241        1.7853211459        0.0053883203
  C         0.8664406756        0.8762954420        0.8435833733
  C         2.6939879368        0.9029246308        2.6806928814
  C         0.9092781460        2.6785011492        2.6771532650
  C         2.6481574040        2.6661172907        0.9483093511
  &END COORD
    &TOPOLOGY
      &GENERATE
        CREATE_MOLECULES
      &END GENERATE
    &END TOPOLOGY

      &KIND C
      BASIS_SET DZVP-GTH
      POTENTIAL GTH-PBE-q4
    &END KIND

  &END SUBSYS
&END FORCE_EVAL
=====
Snippet output frequency run:
If I look at the values with the lowest absolute value and I convert
them to cm-1, it is poor accuracy:

 VIB| Cartesian Low frequencies ----0.44072    -0.10876E-01
0.12458     0.69806
 VIB| Cartesian Low frequencies --- 0.71490      1.4715
2.0898      3.8120
 VIB| Cartesian Low frequencies ---  5.8007
 VIB| Frequencies after removal of the rotations and translations
 VIB| Internal  Low frequencies ----0.14095     0.50894
1.4072      2.0559
 VIB| Internal  Low frequencies ---  3.6794      5.7900
25.027      25.504
 VIB| Internal  Low frequencies ---  25.855      25.997
26.180      26.684
 VIB| Internal  Low frequencies ---  26.818      26.970
27.202      27.461
 VIB| Internal  Low frequencies ---  27.643      28.937
54.059      54.351
 VIB| Internal  Low frequencies ---  54.817

 VIB|                        NORMAL MODES - CARTESIAN DISPLACEMENTS
 VIB|
 VIB|                         1
2                    3
 VIB|Frequency (cm^-1)   -82.399299           156.573040
260.352529
...
 
-------------------------------------------------------------------------------
 ----                             MULTIGRID
INFO                            ----
 
-------------------------------------------------------------------------------
 count for grid        1:            868          cutoff
[a.u.]           50.00
 count for grid        2:            276          cutoff
[a.u.]           12.50
 count for grid        3:             80          cutoff
[a.u.]            3.12
 count for grid        4:              0          cutoff
[a.u.]            0.78
 total gridlevel count  :           1224




More information about the CP2K-user mailing list