Initialization

HaToeV=27.21138602;

HaTokJ=2625.5002;

Needs["MaTeX`"]
SetOptions[MaTeX,"Preamble"->{"\\usepackage{amssymb,amsmath,latexsym,amsfonts,amsthm,mathpazo,xcolor,bm,mhchem}"}];

SetDirectory["~/Dropbox/Manuscripts/srDFT_GW/Data"];

GW20

exFCI/def2-SVP

GW20=Import["GW20_FCI_def2SVP.dat","Data"];
IPFCI=Table[{GW20[[k,1]],(GW20[[k,3]]-GW20[[k,2]])HaToeV},{k,Length[GW20]}];
IPLDA=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,5]]-GW20[[k,4]])HaToeV},{k,Length[GW20]}];
IPPBE=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,7]]-GW20[[k,6]])HaToeV},{k,Length[GW20]}];
IPPBEot=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,9]]-GW20[[k,8]])HaToeV},{k,Length[GW20]}];
IP=Table[{GW20[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW20]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Mol.","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

exFCI/def2-TZVPP

GW20=Import["GW20_FCI_def2TZVPP.dat","Data"];
IPFCI=Table[{GW20[[k,1]],(GW20[[k,3]]-GW20[[k,2]])HaToeV},{k,Length[GW20]}];
IPLDA=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,5]]-GW20[[k,4]])HaToeV},{k,Length[GW20]}];
IPPBE=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,7]]-GW20[[k,6]])HaToeV},{k,Length[GW20]}];
IPPBEot=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,9]]-GW20[[k,8]])HaToeV},{k,Length[GW20]}];
IP=Table[{GW20[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW20]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Mol.","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

exFCI/def2-QZVP

GW20=Import["GW20_FCI_def2QZVP.dat","Data"];
IPFCI=Table[{GW20[[k,1]],(GW20[[k,3]]-GW20[[k,2]])HaToeV},{k,Length[GW20]}];
IPLDA=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,5]]-GW20[[k,4]])HaToeV},{k,Length[GW20]}];
IPPBE=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,7]]-GW20[[k,6]])HaToeV},{k,Length[GW20]}];
IPPBEot=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,9]]-GW20[[k,8]])HaToeV},{k,Length[GW20]}];
IP=Table[{GW20[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW20]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Mol.","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/cc-pVDZ

GW20$G0W0HF$ccpVDZ=Import["GW20_G0W0HF_cc-pVDZ.dat"];
IP$G0W0HF$ccpVDZ=Table[{
GW20$G0W0HF$ccpVDZ[[k,1]],
-GW20$G0W0HF$ccpVDZ[[k,2]],
-GW20$G0W0HF$ccpVDZ[[k,2]]-GW20$G0W0HF$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVDZ[[k,2]]-GW20$G0W0HF$ccpVDZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0HF$ccpVDZ,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pVDZ","G0W0@HF+srLDA/cc-pVDZ","G0W0@HF+srPBE/cc-pVDZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/cc-pVTZ

GW20$G0W0HF$ccpVTZ=Import["GW20_G0W0HF_cc-pVTZ.dat"];
IP$G0W0HF$ccpVTZ=Table[{
GW20$G0W0HF$ccpVTZ[[k,1]],
-GW20$G0W0HF$ccpVTZ[[k,2]],
-GW20$G0W0HF$ccpVTZ[[k,2]]-GW20$G0W0HF$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVTZ[[k,2]]-GW20$G0W0HF$ccpVTZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpVTZ]}];
TableForm[SetAccuracy[IP$G0W0HF$ccpVTZ,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pVTZ","G0W0@HF+srLDA/cc-pVTZ","G0W0@HF+srPBE/cc-pVTZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/cc-pVQZ

GW20$G0W0HF$ccpVQZ=Import["GW20_G0W0HF_cc-pVQZ.dat"];
IP$G0W0HF$ccpVQZ=Table[{
GW20$G0W0HF$ccpVQZ[[k,1]],
-GW20$G0W0HF$ccpVQZ[[k,2]],
-GW20$G0W0HF$ccpVQZ[[k,2]]-GW20$G0W0HF$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVQZ[[k,2]]-GW20$G0W0HF$ccpVQZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpVQZ]}];
TableForm[SetAccuracy[IP$G0W0HF$ccpVQZ,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pVQZ","G0W0@HF+srLDA/cc-pVQZ","G0W0@HF+srPBE/cc-pVQZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/cc-pV5Z

GW20$G0W0HF$ccpV5Z=Import["GW20_G0W0HF_cc-pV5Z.dat"];
IP$G0W0HF$ccpV5Z=Table[{
GW20$G0W0HF$ccpV5Z[[k,1]],
-GW20$G0W0HF$ccpV5Z[[k,2]],
-GW20$G0W0HF$ccpV5Z[[k,2]]-GW20$G0W0HF$ccpV5Z[[k,3]]HaToeV,
-GW20$G0W0HF$ccpV5Z[[k,2]]-GW20$G0W0HF$ccpV5Z[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpV5Z]}];
TableForm[SetAccuracy[IP$G0W0HF$ccpV5Z,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pV5Z","G0W0@HF+srLDA/cc-pV5Z","G0W0@HF+srPBE/cc-pV5Z"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF

IP$G0W0HF=Table[{
GW20$G0W0HF$ccpVDZ[[k,1]],
-GW20$G0W0HF$ccpVDZ[[k,2]],
-GW20$G0W0HF$ccpVTZ[[k,2]],
-GW20$G0W0HF$ccpVQZ[[k,2]],
-GW20$G0W0HF$ccpV5Z[[k,2]]
},{k,Length[GW20$G0W0HF$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0HF,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pVDZ","G0W0@HF/cc-pVTZ","G0W0@HF/cc-pVQZ","G0W0@HF/cc-pV5Z"}}]

IP$G0W0HFsrLDA=Table[{
GW20$G0W0HF$ccpVDZ[[k,1]],
-GW20$G0W0HF$ccpVDZ[[k,2]]-GW20$G0W0HF$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVTZ[[k,2]]-GW20$G0W0HF$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVQZ[[k,2]]-GW20$G0W0HF$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpV5Z[[k,2]]-GW20$G0W0HF$ccpV5Z[[k,3]]HaToeV
},{k,Length[GW20$G0W0HF$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0HFsrLDA,3],TableHeadings->{None, {"Mol.","G0W0@HF+srLDA/cc-pVDZ","G0W0@HF+srLDA/cc-pVTZ","G0W0@HF+srLDA/cc-pVQZ","G0W0@HF+srLDA/cc-pV5Z"}}]

IP$G0W0HFsrPBE=Table[{
GW20$G0W0HF$ccpVDZ[[k,1]],
-GW20$G0W0HF$ccpVDZ[[k,2]]-GW20$G0W0HF$ccpVDZ[[k,4]]HaToeV,
-GW20$G0W0HF$ccpVTZ[[k,2]]-GW20$G0W0HF$ccpVTZ[[k,4]]HaToeV,
-GW20$G0W0HF$ccpVQZ[[k,2]]-GW20$G0W0HF$ccpVQZ[[k,4]]HaToeV,
-GW20$G0W0HF$ccpV5Z[[k,2]]-GW20$G0W0HF$ccpV5Z[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0HFsrPBE,3],TableHeadings->{None, {"Mol.","G0W0@HF+srPBE/cc-pVDZ","G0W0@HF+srPBE/cc-pVTZ","G0W0@HF+srPBE/cc-pVQZ","G0W0@HF+srPBE/cc-pV5Z"}}]

Mol=18;
ListPlot[{
Table[{k+1,IP$G0W0HF[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0HFsrLDA[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0HFsrPBE[[Mol,k+1]]},{k,4}]
},FrameLabel->{"cc-pVXZ","IP (eV)"},PlotLabel->"(Subscript[G, 0])(Subscript[W, 0])@HF for "<>IP$G0W0PBE[[Mol,1]],PlotStyle->Thick,FrameTicks->{{2,3,4,5},Automatic},PlotRange->All,PlotMarkers->{Automatic,Large},Joined->True,BaseStyle->20,PlotTheme->"Scientific",PlotLegends->Placed[{"(Subscript[G, 0])(Subscript[W, 0])@HF","(Subscript[G, 0])(Subscript[W, 0])@HF+srLDA","(Subscript[G, 0])(Subscript[W, 0])@HF+srPBE"},{Right,Bottom}]]

(Subscript[G, 0])(Subscript[W, 0])@PBE/cc-pVDZ

GW20$G0W0PBE$ccpVDZ=Import["GW20_G0W0PBE_cc-pVDZ.dat"];
IP$G0W0PBE$ccpVDZ=Table[{
GW20$G0W0PBE$ccpVDZ[[k,1]],
-GW20$G0W0PBE$ccpVDZ[[k,2]],
-GW20$G0W0PBE$ccpVDZ[[k,2]]-GW20$G0W0PBE$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVDZ[[k,2]]-GW20$G0W0PBE$ccpVDZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBE$ccpVDZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pVDZ","G0W0@PBE+srLDA/cc-pVDZ","G0W0@PBE+srPBE/cc-pVDZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE/cc-pVTZ

GW20$G0W0PBE$ccpVTZ=Import["GW20_G0W0PBE_cc-pVTZ.dat"];
IP$G0W0PBE$ccpVTZ=Table[{
GW20$G0W0PBE$ccpVTZ[[k,1]],
-GW20$G0W0PBE$ccpVTZ[[k,2]],
-GW20$G0W0PBE$ccpVTZ[[k,2]]-GW20$G0W0PBE$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVTZ[[k,2]]-GW20$G0W0PBE$ccpVTZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpVTZ]}];
TableForm[SetAccuracy[IP$G0W0PBE$ccpVTZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pVTZ","G0W0@PBE+srLDA/cc-pVTZ","G0W0@PBE+srPBE/cc-pVTZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE/cc-pVQZ

GW20$G0W0PBE$ccpVQZ=Import["GW20_G0W0PBE_cc-pVQZ.dat"];
IP$G0W0PBE$ccpVQZ=Table[{
GW20$G0W0PBE$ccpVQZ[[k,1]],
-GW20$G0W0PBE$ccpVQZ[[k,2]],
-GW20$G0W0PBE$ccpVQZ[[k,2]]-GW20$G0W0PBE$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVQZ[[k,2]]-GW20$G0W0PBE$ccpVQZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpVQZ]}];
TableForm[SetAccuracy[IP$G0W0PBE$ccpVQZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pVQZ","G0W0@PBE+srLDA/cc-pVQZ","G0W0@PBE+srPBE/cc-pVQZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE/cc-pV5Z

GW20$G0W0PBE$ccpV5Z=Import["GW20_G0W0PBE_cc-pV5Z.dat"];
IP$G0W0PBE$ccpV5Z=Table[{
GW20$G0W0PBE$ccpV5Z[[k,1]],
-GW20$G0W0PBE$ccpV5Z[[k,2]],
-GW20$G0W0PBE$ccpV5Z[[k,2]]-GW20$G0W0PBE$ccpV5Z[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpV5Z[[k,2]]-GW20$G0W0PBE$ccpV5Z[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpV5Z]}];
TableForm[SetAccuracy[IP$G0W0PBE$ccpV5Z,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pV5Z","G0W0@PBE+srLDA/cc-pV5Z","G0W0@PBE+srPBE/cc-pV5Z"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE

IP$G0W0PBE=Table[{
GW20$G0W0PBE$ccpVDZ[[k,1]],
-GW20$G0W0PBE$ccpVDZ[[k,2]],
-GW20$G0W0PBE$ccpVTZ[[k,2]],
-GW20$G0W0PBE$ccpVQZ[[k,2]],
-GW20$G0W0PBE$ccpV5Z[[k,2]]
},{k,Length[GW20$G0W0PBE$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBE,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pVDZ","G0W0@PBE/cc-pVTZ","G0W0@PBE/cc-pVQZ","G0W0@PBE/cc-pV5Z"}}]

IP$G0W0PBEsrLDA=Table[{
GW20$G0W0PBE$ccpVDZ[[k,1]],
-GW20$G0W0PBE$ccpVDZ[[k,2]]-GW20$G0W0PBE$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVTZ[[k,2]]-GW20$G0W0PBE$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVQZ[[k,2]]-GW20$G0W0PBE$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpV5Z[[k,2]]-GW20$G0W0PBE$ccpV5Z[[k,3]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBEsrLDA,3],TableHeadings->{None, {"Mol.","G0W0@PBE+srLDA/cc-pVDZ","G0W0@PBE+srLDA/cc-pVTZ","G0W0@PBE+srLDA/cc-pVQZ","G0W0@PBE+srLDA/cc-pV5Z"}}]

IP$G0W0PBEsrPBE=Table[{
GW20$G0W0PBE$ccpVDZ[[k,1]],
-GW20$G0W0PBE$ccpVDZ[[k,2]]-GW20$G0W0PBE$ccpVDZ[[k,4]]HaToeV,
-GW20$G0W0PBE$ccpVTZ[[k,2]]-GW20$G0W0PBE$ccpVTZ[[k,4]]HaToeV,
-GW20$G0W0PBE$ccpVQZ[[k,2]]-GW20$G0W0PBE$ccpVQZ[[k,4]]HaToeV,
-GW20$G0W0PBE$ccpV5Z[[k,2]]-GW20$G0W0PBE$ccpV5Z[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBEsrPBE,3],TableHeadings->{None, {"Mol.","G0W0@PBE+srPBE/cc-pVDZ","G0W0@PBE+srPBE/cc-pVTZ","G0W0@PBE+srPBE/cc-pVQZ","G0W0@PBE+srPBE/cc-pV5Z"}}]

Mol=3;
ListPlot[{
Table[{k+1,IP$G0W0PBE[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0PBEsrLDA[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0PBEsrPBE[[Mol,k+1]]},{k,4}]
},FrameLabel->{"cc-pVXZ","IP (eV)"},PlotLabel->"(Subscript[G, 0])(Subscript[W, 0])@PBE for "<>IP$G0W0PBE[[Mol,1]],PlotStyle->Thick,FrameTicks->{{2,3,4,5},Automatic},PlotRange->All,PlotMarkers->{Automatic,Large},Joined->True,BaseStyle->20,PlotTheme->"Scientific",PlotLegends->Placed[{"(Subscript[G, 0])(Subscript[W, 0])@PBE","(Subscript[G, 0])(Subscript[W, 0])@PBE+srLDA","(Subscript[G, 0])(Subscript[W, 0])@PBE+srPBE"},{Right,Bottom}]]

GW71

def2-SVP basis

GW71=Import["GW71_FCI_def2SVP.dat","Data"];
Mol=Table[CAS2Mol[GW71[[k,1]]],{k,Length[GW71]}];
IPFCI=Table[{Mol[[k,1]],(GW71[[k,3]]-GW71[[k,2]])HaToeV},{k,Length[GW71]}];
IPLDA=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,5]]-GW71[[k,4]])HaToeV},{k,Length[GW71]}];
IPPBE=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,7]]-GW71[[k,6]])HaToeV},{k,Length[GW71]}];
IPPBEot=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,9]]-GW71[[k,8]])HaToeV},{k,Length[GW71]}];
IP=Table[{Mol[[k]],GW71[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW71]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Molecule","CAS number","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

def2-TZVP basis

GW71=Import["GW71_FCI_def2TZVP.dat","Data"];
Mol=Table[CAS2Mol[GW71[[k,1]]],{k,Length[GW71]}];
IPFCI=Table[{Mol[[k,1]],(GW71[[k,3]]-GW71[[k,2]])HaToeV},{k,Length[GW71]}];
IPLDA=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,5]]-GW71[[k,4]])HaToeV},{k,Length[GW71]}];
IPPBE=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,7]]-GW71[[k,6]])HaToeV},{k,Length[GW71]}];
IPPBEot=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,9]]-GW71[[k,8]])HaToeV},{k,Length[GW71]}];
IP=Table[{Mol[[k]],GW71[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW71]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Molecule","CAS number","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

def2-TZVPP basis

GW71=Import["GW71_FCI_def2TZVPP.dat","Data"];
Mol=Table[CAS2Mol[GW71[[k,1]]],{k,Length[GW71]}];
IPFCI=Table[{Mol[[k,1]],(GW71[[k,3]]-GW71[[k,2]])HaToeV},{k,Length[GW71]}];
IPLDA=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,5]]-GW71[[k,4]])HaToeV},{k,Length[GW71]}];
IPPBE=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,7]]-GW71[[k,6]])HaToeV},{k,Length[GW71]}];
IPPBEot=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,9]]-GW71[[k,8]])HaToeV},{k,Length[GW71]}];
IP=Table[{Mol[[k]],GW71[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW71]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Molecule","CAS number","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

GW100

GW100=Import["GW100.dat","Data"];
CAS2Mol=Association[Table[<|GW100[[k,1]]->GW100[[k,2]]|>,{k,Length[GW100]}]];

def2-TZVPP basis

CCSD(T)

GW100=Import["GW100_CCSDT_def2TZVPP.dat","Data"];
Mol=Table[CAS2Mol[GW100[[k,1]]],{k,Length[GW100]}];
IP=Table[{Mol[[k]],GW100[[k,1]],GW100[[k,2]]},{k,Length[GW100]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Molecule","CAS number","CCSD(T)/def2-TZVPP"}}]