Questions about printing out unoccupied molecular orbitals (LUMO, LUMO+x)

zh vale... at gmail.com
Tue Mar 2 14:07:56 UTC 2010


Dear all,

When I printed the unoccupied molecular orbitals of C6H6 into the cube
files and analyzed them, I met the followings problem:
The shapes of unoccupied molecular orbitals obtained with cp2k (GAPW
calculation) are quite different from those obtained with other codes
(LCAO method and Plane-wave pseudopotential method).

The keywords specified in the input file for generating the cube files
of unoccupied molecular orbitals:
....
   MAX_ITER_LUMO 5999
   EPS_LUMO 3.E-7
   ADDED_MOS    10
...
 &PRINT
     &MO_CUBES
         NHOMO  3
         NLUMO  10
         WRITE_CUBE .TRUE.
      &END MO_CUBES
    &END PRINT
....

I also examined the log file and found the following information:
---
 Eigenvalues of the occupied subspace spin            1
  and           10  added MO eigenvalues
 ---------------------------------------------
      -9.87289173     -9.87276638     -9.87276248     -9.87242760
      -9.87242383     -9.87226307     -0.76294011     -0.66142985
      -0.66141836     -0.52895626     -0.52895605     -0.45746985
      -0.39629304     -0.38443742     -0.36038167     -0.36037151
      -0.31546968     -0.28755156     -0.28754954     -0.21567922
      -0.21566949     -0.02617647     -0.02617516      0.03512159
       0.07206783      0.07215809      0.10479005      0.10527223
       0.11638929      0.13027147      0.24632554
 Fermi Energy [eV] :   -5.868665

  Lowest Eigenvalues of the unoccupied subspace spin            1
 -----------------------------------------------------
  Reached convergence in         4483  iterations
       0.24706383      0.25840280      0.25869375      0.28401710
       0.32929682      0.37178993      0.37837600      0.37872848
       0.39283865      0.40999697

 HOMO - LUMO gap [eV] :   12.591614

****
The problem in the log file is that the 10 lowest eigenvalues of the
unoccupied subspace are quite larger than the 10 added MO eigenvalues.

I also read the source code related to these parts (i.e.,
qs_scf_post_gpw.F) and found that the unoccupied orbitals are
recalculated  through the subroutines "make_lumo()", "
"ot_eigensolver()", and "calculate_subspace_eigenvalues()".

My questions are the followings:
i) Since the unoccupied molecular orbitals are already obtained by
other subroutine "get_mo_set()" before calling "make_lumo()",  why are
the unoccupied molecular orbitals needed to be recalculated?
Actually, the convergence of the recalculation of unoccupied molecular
orbitals in "ot_eigensolver()" is quite slow and the eigenvalues of
unoccupied molecular orbitals become unreasonable.
ii) How to get the reasonable unoccupied molecular orbitals,
especially for the LUMO, LUMO+1, LUMO+2, and LUMO+3?

Thanks for the help.



More information about the CP2K-user mailing list