[Pw_forum] the problem of scf convergence

hyello25 Qgrui hyello25 at gmail.com
Thu Sep 13 15:29:34 CEST 2007


The system is Li2O, and the input file and the result is :

    ---!   convergence scf caculation for Li2O   !---
 ecut=80 :
!    total energy              =   -61.89999202 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=
0.59
 ecut=100 :
!    total energy              =   -61.90651146 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=   -
5.39
 ecut=140 :
!    total energy              =   -61.90331161 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=
0.97
 ecut=180 :
!    total energy              =   -61.90482904 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=
10.64
 ecut=200 :
!    total energy              =   -61.90542701 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=   -
4.55
 ecut=240 :
!    total energy              =   -61.90875043 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=
5.92
 ecut=280 :
!    total energy              =   -61.90854533 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=
1.68
 ecut=300 :
!    total energy              =   -61.90926981 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=   -
1.18
 ecut=320 :
!    total energy              =   -61.90990283 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=
2.17
 ecut=350 :
!    total energy              =   -61.91013980 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=
5.51
 ecut=380 :
!    total energy              =   -61.91023915 Ry
          total   stress  (Ry/bohr**3)                   (kbar)     P=
4.47

---------------------------------------------------------
#!/bin/sh
#run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname

# check whether echo has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi

touch totResult.out

cat > totResult.out <<EOF
    ---!   convergence scf caculation for Li2O   !---
EOF
$ECHO
$ECHO "-----$PWD : starting"
date
$ECHO
$ECHO "                    ---!   convergence scf caculation for Li2O
!---"

for i in 80 100 120 .......
do
   cat > li2O.ecut$i.scf.in <<EOF
 &control
    calculation='scf'
    restart_mode='from_scratch',
    tstress = .true.
    tprnfor = .true.
    prefix='li2O',
    pseudo_dir = '/home/puma02/sunviva/qgr/program/pseudo_all',

outdir='/home/puma02/sunviva/qgr/work/pwscf_li2O/pw91-van_ak/cvg_ecut/temp'
 /
 &system
    ibrav=  2,
       A =  4.61,
     nat =  3,
    ntyp =  2,
 ecutwfc = $i
 /
 &electrons
    conv_thr =  1.0d-10
    mixing_beta = 0.7
 /
ATOMIC_SPECIES
 Li    6.941     Li.pw91-s-van_ak.UPF
  O   15.9994     O.pw91-van_ak.UPF
ATOMIC_POSITIONS
  O  0.00 0.00 0.00
 Li  0.25 0.25 0.25
 Li  0.75 0.75 0.75
K_POINTS {automatic}
 12  12  12   0 0 0

EOF

$ECHO
#-----------------$ECHO " SCF calculation for Li2O   kpt = $i x $i x $i"
$ECHO " SCF calculation for Li2O    ecut = $i "
$ECHO

/home/puma02/sunviva/qgr/program/espresso-3.2/bin/pw.x < li2O.ecut$i.scf.in>
li2O.ecut$i.scf.out

cat >> totResult.out<<EOF
 ecut=$i :
EOF

 grep -e '!'  < li2O.ecut$i.scf.out >> totResult.out
 grep -e 'P=' < li2O.ecut$i.scf.out >> totResult.out
done

$ECHO "------END TIME: "
date
$ECHO
$ECHO
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20070913/a02762b1/attachment.html>


More information about the users mailing list