# SCF at dense k-mesh, good enough for electronic DOS # cat > mgb2.scf.fit.in << EOF &control calculation='scf' restart_mode='from_scratch', prefix='mgb2', etot_conv_thr = 1.0d-8 forc_conv_thr = 1.0d-7 pseudo_dir = '$PSEUDO_DIR/', outdir='$TMP_DIR/' / &system ibrav= 4, celldm(1) =5.8124, celldm(3)=1.1483, nat= 3, ntyp= 2, ecutwfc =30.0, ecutrho =300, occupations='smearing', smearing='methfessel-paxton', degauss=0.04, la2F = .true., / &electrons conv_thr = 1.0d-10 mixing_beta = 0.7 / &IONS / &CELL press = 0.0 cell_factor = 1.5d0 / ATOMIC_SPECIES Mg 24.305 Mg.pw91-np-van.UPF B 10.811 B.pw91-n-van_ak.UPF ATOMIC_POSITIONS {crystal} Mg 0.000000000 0.000000000 0.000000000 B 0.333333333 0.666666667 0.500000000 B 0.666666667 0.333333333 0.500000000 K_POINTS {automatic} 8 8 8 0 0 0 EOF $ECHO " running the scf calculation with dense k-point grid...\c" $PW_COMMAND < mgb2.scf.fit.in > mgb2.scf.fit.out check_failure $? $ECHO " done" # # SCF at k-mesh good enough for phonons # cat > mgb2.scf.in << EOF &control calculation='scf' restart_mode='from_scratch', prefix='mgb2', etot_conv_thr = 1.0d-8 forc_conv_thr = 1.0d-7 pseudo_dir = '$PSEUDO_DIR/', outdir='$TMP_DIR/' / &system ibrav= 4, celldm(1) =5.8124, celldm(3)=1.1483, nat= 3, ntyp= 2, ecutwfc = 30.0,ecutrho = 300, occupations='smearing', smearing='methfessel-paxton', degauss=0.04 / &electrons conv_thr = 1.0d-10 mixing_beta = 0.7 / &IONS / &CELL press = 0.0 cell_factor = 1.5d0 / ATOMIC_SPECIES Mg 24.305 Mg.pw91-np-van.UPF B 10.811 B.pw91-n-van_ak.UPF ATOMIC_POSITIONS {crystal} Mg 0.000000000 0.000000000 0.000000000 B 0.333333333 0.666666667 0.500000000 B 0.666666667 0.333333333 0.500000000 K_POINTS {automatic} 4 4 4 0 0 0 EOF $ECHO " running the scf calculation...\c" $PW_COMMAND < mgb2.scf.in > mgb2.scf.out check_failure $? $ECHO " done" # cat > mgb2.elph.in << EOF Electron-phonon coefficients for LiCs &inputph iverbosity=1 tr2_ph=1.0d-12, prefix='mgb2', fildvscf='mgb2dv', amass(1)=24.305, amass(2)=10.811, outdir='$TMP_DIR/', fildyn='mgb2.dyn', electron_phonon='interpolated', el_ph_sigma=0.005, el_ph_nsigma=10, trans=.true., ldisp=.true. nq1=2, nq2=2, nq3=2 / EOF $ECHO " running the el-ph calculation...\c" $PH_COMMAND < mgb2.elph.in > mgb2.elph.out check_failure $? $ECHO " done" # # q2r and matdyn # cat > q2r.in << EOF &input zasr='simple', fildyn='mgb2.dyn', flfrc='mgb2.fc', la2F=.true. / EOF $ECHO " running q2r...\c" $Q2R_COMMAND < q2r.in > q2r.out check_failure $? $ECHO " done" # # # cat > matdyn.in.freq << EOF &input asr='simple', amass(1)=24.305, amass(2)=10.811, flfrc='mgb2.fc', flfrq='mgb2.freq', la2F=.true., dos=.false. / 19 0.000 0.0 0.0 0.0 0.125 0.0 0.0 0.0 0.250 0.0 0.0 0.0 0.375 0.0 0.0 0.0 0.500 0.0 0.0 0.0 0.750 0.0 0.0 0.0 1.000 0.0 0.0 0.0 0.825 0.125 0.125 0.0 0.750 0.250 0.250 0.0 0.625 0.375 0.375 0.0 0.500 0.500 0.500 0.0 0.325 0.325 0.325 0.0 0.250 0.250 0.250 0.0 0.125 0.125 0.125 0.0 0.000 0.000 0.000 0.0 0.125 0.125 0.000 0.0 0.250 0.250 0.000 0.0 0.325 0.325 0.000 0.0 0.500 0.500 0.000 0.0 EOF $ECHO " running matdyn for frequency calculation...\c" $MATDYN_COMMAND < matdyn.in.freq > matdyn.out.freq check_failure $? $ECHO " done" # # # cat > matdyn.in.dos << EOF &input asr='simple', amass(1)=24.305, amass(2)=10.811, flfrc='mgb2.fc', flfrq='mgb2.freq', la2F=.true., dos=.true. fldos='phonon.dos', nk1=10, nk2=10, nk3=10, ndos=50 / EOF $ECHO " running matdyn for a2F(omega) calculation...\c" $MATDYN_COMMAND < matdyn.in.dos > matdyn.out.dos check_failure $? $ECHO " done" # # # cat > lambda.in << EOF 50 0.05 1 ! emax (something more than highest phonon mode in THz), degauss, smearing method 1 ! Number of q-points for which EPC is calculated, 0.000000 0.000000 0.000000 1 elph. 0.000000. 0.000000. 0.000000 0.10 ! \mu the Coloumb coefficient in the modified ! Allen-Dynes formula for T_c (via \omega_log) EOF $ECHO " running lambda.x for lambda calculation...\c" $LAMBDA_COMMAND < lambda.in > lambda.out check_failure $? $ECHO " done"