[Pw_forum] calculation = "nscf" with CP
Young-Su Lee
lee0su at MIT.EDU
Thu Dec 22 00:47:15 CET 2005
Dear CP developers,
I've been using "calculation = nscf" option with CP version 2.0.
I found that this option is disabled in Espresso version 3.0 and managed
to turn it on.
If I understand correctly, the only necessary change to make "nscf"
option work is to read charge density in subroutine rhoofr.
What worries me is that the results from two versions are different.
The occupied 4 states are fine and eigenvalues are the same as those
from self-consistent calculations in both cases.
Ver 2.0 ================================================
total energy = -4.06675 a.u.
kinetic energy = 9.34798 a.u.
electrostatic energy = -7.34356 a.u.
esr = 0.29882 a.u.
eself = 7.97885 a.u.
pseudopotential energy = -3.09480 a.u.
n-l pseudopotential energy = 0.19565 a.u.
exchange-correlation energy = -3.17201 a.u.
average potential = -0.02336 a.u.
eigenvalues at k-point: 0.000 0.000 0.000
-16.96 -9.38 -9.38 -9.38 -0.55 0.83 0.88 0.89
0.89 1.04
1.06 1.81 1.97 2.09 2.21 2.23 2.24 2.34
2.38 2.44
Ver 3.0 =================================================
total energy = -4.07598 Hartree a.u.
kinetic energy = 9.33894 Hartree a.u.
electrostatic energy = -7.34357 Hartree a.u.
esr = 0.29882 Hartree a.u.
eself = 7.97885 Hartree a.u.
pseudopotential energy = -3.09481 Hartree a.u.
n-l pseudopotential energy = 0.19548 Hartree a.u.
exchange-correlation energy = -3.17202 Hartree a.u.
average potential = 0.00000 Hartree a.u.
Eigenvalues (eV), kp = 1 , spin = 1
-16.96 -9.38 -9.38 -9.38 -0.55 0.80 0.88 0.89
0.89 1.03
1.05 1.81 1.97 2.09 2.18 2.21 2.22 2.31
2.35 2.42
========================================================
Is there any significant change from 2.0 to 3.0 ?
I'd really appreciate if anyone can give me some advice about which
subroutines I should look at.
Young-Su Lee
P.S.* Two minor bugs
1. subroutine read_rho_xml in Modules/xml_io_base.f90
The following two lines should go before IF( kowner(k) == mpime ) THEN
statement
IF ( kowner( k ) /= ionode_id ) &
CALL mp_put( rho_plane, rho_plane, mpime, ionode_id,
kowner(k), k )
2. subroutine vofrho in CPV/cplib.f90
The variable "vave" should be from module energies.
It's locally defined now and average potential is always zero in output.
More information about the users
mailing list