How to include QED corrections
The following instructions assume familiarity with the main programs of the pCI package.
Steps to run a QED calculation
In this section, we will introduce calculations including QED corrections.
Construct basis set by running
hfdandbassto obtainHFD.DATRun
sgc0to form an emptySGC.CONfilecp HFD.DAT HFD-noQED.DAT- save a copy ofHFD.DATwithout QEDCreate a file
qedpot.inpwith number corresponding to the variant of the QED potential and the name of theHFD.DATfile.Click here to see a description of qedpot.inp.
1 # kvar=1-5, Variant of QED potential HFD.DAT # name of file holding basis sets
Create a file
qed.inselecting options.Click here to see a description of qed.in.
1 # 1 for general diagonalization, 2 for first-order 1 # 1 for no QED, 2 for QED 2 # 0 for Coulomb, 1 for Gaunt, 2 for Full Breit
Loop until convergence:
Run
qedpot_confto construct selected QED potentialRun
qed_rotto rotate orbitals to diagonalize Hamiltonian with QED corrections
cp SGC.CON SGC-noQED.CON- save a copy ofSGC.CONwithout QEDRun
qedpot_confRename
SGCqed.CONtoSGC.CONRun
conf
You can also use the following batch.qed script for steps 3-9, making sure to change inputs relevant to your job.
#! /bin/bash -fe
kvar=1 # variant of QED potential
bin='./'
qedpot=$bin'qedpot_conf'
qedrot=$bin'qed_rot'
iter=25 # max number of iterations
#####################################
cat >qedpot.inp <<EndofFile
$kvar
HFD.DAT
EndofFile
#####################################
cat >qed.in <<EndofFile
1 # diagonalization
1 # 1 for noQED, 2 for QED
2 # 0 for Coulomb, 1 for Gaunt, 2 for Full Breit
EndofFile
#####################################
n=1
while [ $n -lt $iter ]; do
echo 'Iteration '$n
$qedpot >qp.res
$qedrot <qed.in >qr.res
grep 'changed' "QED_ROT.RES"
if grep -q reached "QED_ROT.RES"; then
echo 'Converged in '$n' iterations'
break
fi
let n=n+1
done
cp SGC.CON SCG-noQED.CON
./qedpot_conf >qp.res
cp SGCqed.CON SGC.CON
#####################################