[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