[Pw_forum] How to calculate unoccupied states using cp.x
Hongjun Xiang
xianghjun at gmail.com
Thu Sep 13 00:41:02 CEST 2007
Dear all,
I would like to obtain the band gap of a system.
As is well-known, pw.x can give eigenvalues of unoccupied states.
When I tried to use cp.x with the "damp" method to calculate the band
gap of water molecule by increasing the nbnd value to 8, all eigenvalues
of unoccupied states are zero.
My input file:
===============================
# Electronic damped dynamics
&CONTROL
title = ' Water Molecule ',
calculation = 'cp',
restart_mode = 'from_scratch',
ndr = 51,
ndw = 51,
nstep = 100,
iprint = 10,
isave = 100,
tstress = .FALSE.,
tprnfor = .TRUE.,
dt = 4.0d0,
etot_conv_thr = 1.d-9,
ekin_conv_thr = 1.d-4,
prefix = 'h2o_mol'
pseudo_dir = './',
outdir = './tmp/'
/
&SYSTEM
ibrav = 14,
celldm(1) = 10.0,
celldm(2) = 1.0,
celldm(3) = 1.0,
celldm(4) = 0.0,
celldm(5) = 0.0,
celldm(6) = 0.0,
nat = 3,
ntyp = 2,
ecutwfc = 70.0,
nbnd=8
/
&ELECTRONS
emass = 300.d0,
emass_cutoff = 2.5d0,
orthogonalization = 'ortho',
electron_dynamics = 'damp',
/
&IONS
ion_dynamics = 'none',
ion_temperature = 'not_controlled',
/
ATOMIC_SPECIES
O 16.0d0 O.BLYP.UPF
H 1.00d0 H.fpmd.UPF
ATOMIC_POSITIONS (bohr)
O 5.0099 5.0099 5.0000 0 0 0
H 6.8325 4.7757 4.9999 1 1 1
H 4.7757 6.8325 4.9998 1 1 1
==================================================
The output file reads:
...
Eigenvalues (eV), kp = 1 , spin = 1
-24.48 -12.17 -8.43 -6.36 0.00 0.00 0.00 0.00
...
=================================================
I also tried the CG method:
&ELECTRONS
electron_dynamics = 'damp',
tcg=.true.
/
======================================
The output file in case of nbnd=8 reads:
...
Eigenvalues (eV), kp = 1 , spin = 1
-24.35 -12.22 -8.40 -6.38 0.00 0.00 0.00 0.00
...
======================================
The output file in case of nbnd=4 reads:
...
Eigenvalues (eV), kp = 1 , spin = 1
-24.48 -12.18 -8.43 -6.36
...
=====================================
It seems that when nbnd is larger than the number of the occupied
states, CG gives even wrongs occupied eigenvalues.
Would someone please tell me if it is possible to obtain correct
eigenvalues of unoccupied states using cp.x? If yes, how?
P.S., I am using espresso-3.2.
Thank you very much.
Best regards,
Hongjun Xiang
=============================================================
H. J. Xiang
Postdoctoral Research Associate
National Renewable Energy Laboratory
http://www4.ncsu.edu/~hxiang/
=============================================================
More information about the Pw_forum
mailing list