[Pw_forum] question about el-ph

Malgorzata Wierzbowska wierzbom at ts.infn.it
Fri Feb 9 12:04:08 CET 2007


On Fri, 9 Feb 2007, wang yanchao wrote:

   Hi, what is your name?

> Dear users:
>      When I use the pwscf(3.2) to caculate the el-ph ,it stop during
> caculating.I want to restart, but I can not  do this. I want to know what I
> should do?
>

     Where it stops? Please send us more details.

>     In addtion,if I want to do each q-point instead of all q-points
> once,what I should do?
>

    Some time ago I got a script for Li from Yingli Niu.
    Have a look below, you only need to set environment, paths...
    This is an example which calculates some chosen phonon.
    If you want to have also el-ph, please set nscf2=1 and elph=1.

    Gosia

--------------------------------------------------------

#exec
fit=1
scf=0
nscf1=1
phonon=1
nscf2=0
elph=0
#exec

for ecut in 80
do
rm -rf $TMP_DIR/*
if [ $fit -eq "1" ]; then
cat > li.scf.fit.in_ecut_$ecut << EOF
  &control
     calculation  = 'scf'
     restart_mode = 'from_scratch'
     prefix       = 'li'
     pseudo_dir   = '$PSEUDO_DIR/'
     outdir       = '$TMP_DIR/'
  /
  &system
     ibrav       = 3
     celldm(1)   = 6.632941
     nat         = 1
     ntyp        = 1
     ecutwfc     = $ecut
     occupations = 'smearing'
     smearing    = 'methfessel-paxton'
     degauss     = 0.05
     la2F        = .true.
  /
  &electrons
     conv_thr    =  1.0d-9
     mixing_beta = 0.7
  /
ATOMIC_SPECIES
  Li  6.941 Li.cpi.UPF
ATOMIC_POSITIONS
  Li 0.00 0.00 0.00
K_POINTS {automatic}
  32 32 32 0 0 0
EOF
$ECHO "  running the scf calculation with dense k-point grid...\c"
$PW_COMMAND  < li.scf.fit.in_ecut_$ecut > li.scf.fit.out_ecut_$ecut
$ECHO "  done"
fi

if [ $scf -eq "1" ]; then
#
#  SCF at k-mesh good enough for phonons
#
cat > li.scf.in_ecut_$ecut << EOF
  &control
     calculation  = 'scf'
     restart_mode = 'from_scratch',
     prefix       = 'li',
     pseudo_dir   = '$PSEUDO_DIR/',
     outdir       = '$TMP_DIR/'
  /
  &system
     ibrav       = 3
     celldm(1)   = 6.632941
     nat         = 1
     ntyp        = 1
     ecutwfc     = $ecut
     occupations = 'smearing'
     smearing    = 'methfessel-paxton'
     degauss     = 0.05
  /
  &electrons
     conv_thr    = 1.0d-9
     mixing_beta = 0.7
  /
ATOMIC_SPECIES
  Li  6.941 Li.cpi.UPF
ATOMIC_POSITIONS
  Li 0.00 0.00 0.00
K_POINTS {automatic}
  16 16 16 0 0 0
EOF
$ECHO "  running the scf calculation...\c"
$PW_COMMAND < li.scf.in_ecut_$ecut > li.scf.out_ecut_$ecut
$ECHO "  done"
#
fi

if [ $nscf1 -eq "1" ]; then
#
#  SCF at k-mesh good enough for phonons
#
cat > li.nscf1.in_ecut_$ecut << EOF
  &control
     calculation  = 'phonon'
     restart_mode = 'from_scratch',
     prefix       = 'li',
     pseudo_dir   = '$PSEUDO_DIR/',
     outdir       = '$TMP_DIR/'
  /
  &system
     ibrav       = 3
     celldm(1)   = 6.632941
     nat         = 1
     ntyp        = 1
     ecutwfc     = $ecut
     occupations = 'smearing'
     smearing    = 'methfessel-paxton'
     degauss     = 0.05
  /
  &electrons
     conv_thr    = 1.0d-9
     mixing_beta = 0.7
  /
  &phonon
      xqq(1) = 0.00, xqq(2) = -0.25, xqq(3) = 0.25
/
ATOMIC_SPECIES
  Li  6.941 Li.cpi.UPF
ATOMIC_POSITIONS
  Li 0.00 0.00 0.00
K_POINTS {automatic}
  16 16 16 0 0 0
EOF
$ECHO "  running the nscf1 calculation...\c"
$PW_COMMAND < li.nscf1.in_ecut_$ecut > li.nscf1.out_ecut_$ecut
$ECHO "  done"
#
fi

if [ $phonon -eq "1" ]; then
cat > li.ph.in_ecut_$ecut << EOF
phonon of Li except Gamma
  &inputph
   reduce_io = .true.
   tr2_ph    = 1.0d-16,
   prefix    = 'li',
   amass(1)  = 6.941
   outdir    = '$TMP_DIR/',
   fildyn    = 'li.dyn',
   fildvscf  = 'dv'
   trans     = .true.
   elph      = .true.
   ldisp     = .false.
   lnscf     = .false.
  /
  0.00 -0.25 0.25
EOF
$ECHO "  running the phonon calculation...\c"
$PARA_PREFIX $PW_ROOT/ph.x $PARA_POSTFIX < li.ph.in_ecut_$ecut > 
li.ph.out_ecut_$ecut
$ECHO "  done"
fi

if [ $nscf2 -eq "1" ]; then
#
#  SCF at k-mesh good enough for phonons
#
cat > li.nscf2.in_ecut_$ecut << EOF
  &control
     calculation  = 'phonon'
     restart_mode = 'from_scratch',
     prefix       = 'li',
     pseudo_dir   = '$PSEUDO_DIR/',
     outdir       = '$TMP_DIR/'
  /
  &system
     ibrav       = 3
     celldm(1)   = 6.632941
     nat         = 1
     ntyp        = 1
     ecutwfc     = $ecut
     occupations = 'smearing'
     smearing    = 'methfessel-paxton'
     degauss     = 0.05
  /
  &electrons
     conv_thr    = 1.0d-7
     mixing_beta = 0.7
  /
  &phonon
      xqq(1) = 0.00, xqq(2) = -0.25, xqq(3) = 0.25
/
ATOMIC_SPECIES
  Li  6.941 Li.cpi.UPF
ATOMIC_POSITIONS
  Li 0.00 0.00 0.00
K_POINTS {automatic}
  4 4 4 0 0 0
EOF
$ECHO "  running the scf calculation...\c"
$PW_COMMAND < li.nscf2.in_ecut_$ecut > li.nscf2.out_ecut_$ecut
$ECHO "  done"
#
fi

if [ $elph -eq "1" ]; then
cat > li.elph.in_ecut_$ecut << EOF
phonon of Li except Gamma
  &inputph
   reduce_io = .true.
   tr2_ph    = 1.0d-08,
   prefix    = 'li',
   amass(1)  = 6.941
   outdir    = '$TMP_DIR/',
   fildyn    = 'li.dyn',
   fildvscf  = 'dv'
   trans     = .flase.
   elph      = .true.
   ldisp     = .false.
   lnscf     = .false.
  /
  0.00 -0.25 0.25
EOF
$ECHO "  running the elph calculation...\c"
$PARA_PREFIX $PW_ROOT/ph.x $PARA_POSTFIX < li.elph.in_ecut_$ecut > 
li.elph.out_ecut_$ecut
$ECHO "  done"
fi
done

=================================================================================



More information about the Pw_forum mailing list