[QE-users] DFPT of thin metal layer: convergence has not been achieved

Christoph Wolf wolf.christoph at qns.science
Fri Nov 9 07:13:48 CET 2018


Dear all,

after reading your comments I have tried the following:

- three different Pseudos ("just to make sure..") that all work in the bulk
- increasing the layer numbers 6,7,8,9 ML
- test if the vacuum distance has any difference (but apparently it does
not in the range of 10-20A).

but for Cu(111) none of these works in the ph.x electric fields
calculation. I have attached the run script, maybe someone could give it a
quick glance? I guess the surface state splitting plays a minor role in
this general convergence issue..

Thank you for your help in this matter it is very much appreciated!

Best,
Chris

-- 
Postdoctoral Researcher
Center for Quantum Nanoscience, Institute for Basic Science
Ewha Womans University, Seoul, South Korea
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20181109/3f719cc7/attachment.html>
-------------- next part --------------
PSEUDO_DIR=../
PREFIX=Cu 
MATOM=63.546
a0=6.8663   
q=3
k=12
ecutwfc=100
tolE=0.001
tolK=0.001

for pseudos in 'Cu.pbe-dn-kjpaw_psl.1.0.0.UPF' 'Cu_pbe_v1.2.uspp.F.UPF' ; do

mkdir $pseudos
cd $pseudos

string=$(grep pseudo_type $PSEUDO_DIR/$pseudos)

if [[ $string =~ .*NC.* ]]; then 
 dual=4
 echo "Norm. Cons. Pseudo"
else
 dual=8
 echo "PAW/US Pseudo"
fi
let ecutrho=$ecutwfc*$dual


cat >relax.in <<EOF
&CONTROL
 calculation = 'relax'
 prefix='$PREFIX',
 pseudo_dir = '/scratch/chwolf/00_pseudo/',
 outdir='./tmp'
 wf_collect=.true.
 verbosity='high'
 nstep = 500
/
&SYSTEM
   ibrav=4
   celldm(1)=      4.85280313
   celldm(3)=     14.97292854
   nat=     9
   ntyp=1
  occupations = 'smearing'
  degauss     = 0.001
  ecutwfc     = $ecutwfc
  ecutrho     = $ecutrho
/
&ELECTRONS
 electron_maxstep = 300
 conv_thr=1e-12
 diago_thr_init=1e-2
/
&IONS
/
ATOMIC_SPECIES
$PREFIX $MATOM $pseudos

K_POINTS automatic
$k $k 1 0 0 0

ATOMIC_POSITIONS {crystal}
Cu     -0.6666666666667    -0.3333333333333    -0.2181260876958  
Cu      0.0000000000000     0.0000000000000    -0.1635945657718  
Cu      0.6666666666667     0.3333333333333    -0.1090630438479  
Cu     -0.6666666666667    -0.3333333333333    -0.0545315219239  
Cu      0.0000000000000     0.0000000000000     0.0000000000000  0  0  0
Cu      0.6666666666667     0.3333333333333     0.0545315219239  
Cu     -0.6666666666667    -0.3333333333333     0.1090630438479 
Cu      0.0000000000000     0.0000000000000     0.1635945657718  
Cu      0.6666666666667     0.3333333333333     0.2181260876958   
EOF

mpirun -np $NPROCS pw.x -ndiag 1  <relax.in >relax.out

echo "Running Phonon dispersion"

for qgrid in $(($q-1)) $q $(($q+1)); do
cat >ph.in <<EOF
--
&inputph
  prefix='$PREFIX',
  outdir   ='tmp'
  amass(1) = $MATOM
  epsil    = .false.,
  fildyn   = '$PREFIX.dyn',
  ldisp    = .true.
  fildvscf = 'dvscf'
  nq1=$qgrid,
  nq2=$qgrid,
  nq3=1,
  tr2_ph   =  1.0d-16,
  alpha_mix(1)=0.1, alpha_mix(2)=0.1, alpha_mix(2)=0.1,
 /
EOF

cat >q2r.in <<EOF
 &input
  zasr='simple',  fildyn='$PREFIX.dyn', flfrc='ifc.q2r'
 /
EOF

cat >matdyn.in <<EOF
 &input
    asr='simple', flfrc='ifc.q2r', flfrq='$PREFIX.freq_$qgrid', q_in_band_form=.true., q_in_cryst_coord=.true.
    amass(1)= $MATOM, 
/
4
 0.00000 0.00000 0.0 101 !G
 0.50000 0.00000 0.0 101 !M
 0.33333 0.33333 0.0 101 !K
 0.00000 0.00000 0.0 101 !G
EOF

cat >dos.in <<EOF
 &input
    asr='simple', flfrc='ifc.q2r', flfrq='$PREFIX.dos', dos=.true.
    fldos='phonon.dos_$qgrid', nk1=10, nk2=10, nk3=1, ndos=1000,
    amass(1)= $MATOM
 /
EOF


mpirun -np $NPROCS ph.x -ndiag 1 <ph.in >ph_$qgrid.out
q2r.x <q2r.in
matdyn.x <matdyn.in
matdyn.x <dos.in

done

rm -r tmp
rm -r _ph0

cd ..
done




More information about the users mailing list