diff --git a/UserContributed/XYG3TypeDoubleHybrids/test.inp b/UserContributed/XYG3TypeDoubleHybrids/test.inp index 9678f36..b811141 100644 --- a/UserContributed/XYG3TypeDoubleHybrids/test.inp +++ b/UserContributed/XYG3TypeDoubleHybrids/test.inp @@ -10,19 +10,17 @@ H -0.820520 -0.473727 -0.253931 %compound "xdh.cmp" with - xc = "xyg3"; + ixc = 3; basis = "def2-svp"; auxbas = "def2-svp/c"; # optional params # dlpno = "true"; end -# EDH: -56.459 +# ixc functional energy_of_this_example +# 3 XYG3 -56.45900065 +# 31 revXYG3 -56.45952299 +# 0 XYGJ-OS -56.34048799 +# 5 XYG5 +# 6 XYG6 -# for xygjos -#%compound "xdh_scs.cmp" -# with -# xc = "xygjos"; -# basis = "def2-svp"; -# auxbas = "def2-svp/c"; -#end diff --git a/UserContributed/XYG3TypeDoubleHybrids/xdh.cmp b/UserContributed/XYG3TypeDoubleHybrids/xdh.cmp index b90b620..f5e8387 100644 --- a/UserContributed/XYG3TypeDoubleHybrids/xdh.cmp +++ b/UserContributed/XYG3TypeDoubleHybrids/xdh.cmp @@ -1,9 +1,16 @@ # -# XYG3 with RI-MP2. +# XYG3-type functional with RI-MP2. # -# Final energy : EDH +# Author: Shirong Wang srwang20@fudan.edu.cn # -Variable xc = "xyg3"; +Variable xc; +# ixc functional +# 3 XYG3 +# 31 revXYG3 +# 0 XYGJ-OS +# 5 XYG5 +# 6 XYG6 +Variable ixc = 3; Variable basis = "def2-svp"; Variable auxbas = "def2-svp/c"; Variable dlpno = "false"; @@ -11,16 +18,56 @@ Variable dlpno = "false"; Variable acm[3] ; Variable scalldac = 0.6789; Variable pt2_coeff = 0.3211; +Variable scs = False; +Variable ss = 1.0; +Variable os = 1.0; Variable Enscf; Variable Ept2; Variable Edh; -if (xc = "xyg3") then +if (ixc = 3) then + xc = "XYG3"; pt2_coeff = 0.3211; acm[0] = 0.8033; acm[1] = 0.2107; acm[2] = 0.6789; scalldac = 0.6789; +Else if (ixc = 31) then + xc = "revXYG3"; + pt2_coeff = 0.3941; + acm[0] = 0.9196; + acm[1] = 0.1026; + acm[2] = 0.6059; + scalldac = 0.6059; +Else if (ixc = 0) then + xc = "XYGJ-OS"; + pt2_coeff = 0.4364; + scs = True; + ss = 0.0; + acm[0] = 0.7731; + acm[1] = 0.0 ; + acm[2] = 0.2754; + scalldac = 0.5063; +Else if (ixc = 5) then + xc = "XYG5"; + pt2_coeff = 1.0; + scs = True; + ss = 0.2764; + os = 0.4548; + acm[0] = 0.9150; + acm[1] = 0.0238 ; + acm[2] = 0.4957; + scalldac = 0.4957; +Else if (ixc = 6) then + xc = "XYG6"; + pt2_coeff = 1.0; + scs = True; + ss = 0.2426; + os = 0.4695; + acm[0] = 0.9105; + acm[1] = -0.0681 ; + acm[2] = 0.2244; + scalldac = 0.4044; endif New_Step @@ -29,8 +76,8 @@ New_Step Step_End Alias scf -Read_Geom scf -Read_Mos scf +#Read_Geom(scf); +ReadMos(scf); New_Step ! b3lyp_g &{basis} ! nopop @@ -46,21 +93,39 @@ end Step_End Alias nscf -Read_Geom scf -Read_Mos scf -New_Step -! RI-MP2 &{basis} &{auxbas} -! noiter nopop -! nofrozencore -%mp2 - dlpno &{dlpno} -end -Step_End -Alias pt2 +#Read_Geom(scf); +ReadMos(scf); + +if (scs) then + New_Step + ! RI-MP2 &{basis} &{auxbas} + ! noiter nopop + ! nofrozencore + %mp2 + dlpno &{dlpno} + doscs true + ps &{os} + pt &{ss} + end + Step_End +else + New_Step + ! RI-MP2 &{basis} &{auxbas} + ! noiter nopop + ! nofrozencore + %mp2 + dlpno &{dlpno} + end + Step_End +endif + Alias pt2 read Enscf = SCF_ENERGY[nscf]; read Ept2 = MP2_CORR_ENERGY[pt2]; Edh = (Enscf + Ept2*pt2_coeff); +Print(""); +Print("================================================================================\n"); +Print(" %s Energy: %20.10lf\n", xc, Edh); End diff --git a/UserContributed/XYG3TypeDoubleHybrids/xdh_scs.cmp b/UserContributed/XYG3TypeDoubleHybrids/xdh_scs.cmp deleted file mode 100644 index f54b25c..0000000 --- a/UserContributed/XYG3TypeDoubleHybrids/xdh_scs.cmp +++ /dev/null @@ -1,75 +0,0 @@ -# -# XYGJ-OS with RI-MP2 -# -# Final energy : EDH -# - -Variable xc = "xyg3"; -Variable basis = "def2-svp"; -Variable auxbas = "def2-svp/c"; -Variable dlpno = "false"; - -Variable acm[3] ; -Variable scalldac; -Variable pt2_coeff; -Variable ss = 1.0; -Variable os = 1.0; -Variable Enscf; -Variable Ept2; -Variable Edh; - -if (xc = "xygjos") then - pt2_coeff = 0.4364; - ss = 0.0; - acm[0] = 0.7731; - acm[1] = 0.0 ; - acm[2] = 0.2754; - scalldac = 0.5063; -endif - -New_Step -! b3lyp_g &{basis} -! noautostart -Step_End -Alias scf - -Read_Geom scf -Read_Mos scf -New_Step -! b3lyp_g &{basis} -! nopop -%scf - maxiter 1 - ignoreconv true -end -%method - Functional b3lyp_g - ACM = &{acm[0]}, &{acm[1]},&{acm[2]} - ScalLDAC = &{scalldac} -end -Step_End -Alias nscf - -Read_Geom scf -Read_Mos scf -New_Step -! RI-MP2 &{basis} &{auxbas} -! noiter nopop -! nofrozencore -%mp2 - dlpno &{dlpno} - doscs true - ps &{os} - pt &{ss} -end -Step_End -Alias pt2 - -read Enscf = SCF_ENERGY[nscf]; -read Ept2 = MP2_CORR_ENERGY[pt2]; - -Edh = (Enscf + Ept2*pt2_coeff); -#print("%s Results", xc); -#print("Total energy: %lf", Edh); - -End