diff --git a/include/dftd_parameters.h b/include/dftd_parameters.h index 7516d40..b43dbec 100644 --- a/include/dftd_parameters.h +++ b/include/dftd_parameters.h @@ -28,12 +28,15 @@ namespace dftd4 { +constexpr int MAXELEMENT = 104; // 103 + dummy + // clang-format off /** * Effective nuclear charges from the def2-ECPs used for calculating the * reference polarizibilities for DFT-D4. */ -static const double zeff[119]{ 0, +static const double zeff[119]{ + 0, // dummy 1, 2, // H-He 3, 4, 5, 6, 7, 8, 9,10, // Li-Ne 11,12, 13,14,15,16,17,18, // Na-Ar @@ -60,7 +63,8 @@ static const double zeff[119]{ 0, * These values are actually never used in the code. Only r4r2 is used. */ static const double r2r4[119]{ - 0.0, 8.0589, 3.4698, // H,He + 0.0, // dummy + 8.0589, 3.4698, // H,He 29.0974, 14.8517, 11.8799, 7.8715, 5.5588, 4.7566, 3.8025, 3.1036, // Li-Ne 26.1552, 17.2304, 17.7210, 12.7442, 9.5361, 8.1652, 6.7463, @@ -128,59 +132,140 @@ static const double r4r2[119] = { 6.2703848794866071, 6.0213865881659316, 5.7908173259518607, 5.5824669294363725, 5.3912609613237406, 5.9802173503797658, 5.8972348844620717, 7.6508401506764221, 7.4692909571065345, - 7.1574642870129868, 6.8598912693208112}; + 7.1574642870129868, 6.8598912693208112 +}; /** * Element-specific chemical hardnesses for the charge scaling function used * to extrapolate the C6 coefficients in DFT-D4. */ static const double gam[119]{ - 0.0, 0.47259288, 0.92203391, 0.17452888, - 0.25700733, 0.33949086, 0.42195412, // H-C - 0.50438193, 0.58691863, 0.66931351, 0.75191607, - 0.17964105, 0.22157276, // N-Mg - 0.26348578, 0.30539645, 0.34734014, 0.38924725, - 0.43115670, 0.47308269, // Al-Ar - 0.17105469, 0.20276244, 0.21007322, 0.21739647, - 0.22471039, 0.23201501, // Ca-Cr - 0.23933969, 0.24665638, 0.25398255, 0.26128863, - 0.26859476, 0.27592565, // Mn-Zn - 0.30762999, 0.33931580, 0.37235985, 0.40273549, - 0.43445776, 0.46611708, // Ga-Kr - 0.15585079, 0.18649324, 0.19356210, 0.20063311, - 0.20770522, 0.21477254, // Rb-Mo - 0.22184614, 0.22891872, 0.23598621, 0.24305612, - 0.25013018, 0.25719937, // Tc-Cd - 0.28784780, 0.31848673, 0.34912431, 0.37976593, - 0.41040808, 0.44105777, // In-Xe - 0.05019332, 0.06762570, 0.08504445, 0.10247736, - 0.11991105, 0.13732772, // Cs-Nd - 0.15476297, 0.17218265, 0.18961288, 0.20704760, - 0.22446752, 0.24189645, // Pm-Dy - 0.25932503, 0.27676094, 0.29418231, 0.31159587, - 0.32902274, 0.34592298, // Ho-Hf - 0.36388048, 0.38130586, 0.39877476, 0.41614298, - 0.43364510, 0.45104014, // Ta-Pt - 0.46848986, 0.48584550, 0.12526730, 0.14268677, - 0.16011615, 0.17755889, // Au-Po - 0.19497557, 0.21240778, 0.07263525, 0.09422158, - 0.09920295, 0.10418621, // At-Th - 0.14235633, 0.16394294, 0.18551941, 0.22370139, - 0.00000000, 0.00000000, // Pa-Cm - 0.00000000, 0.00000000, 0.00000000, 0.00000000, - 0.00000000, 0.00000000, // Bk-No - 0.00000000, 0.00000000, 0.00000000, 0.00000000, - 0.00000000, 0.00000000, // Rf-Mt - 0.00000000, 0.00000000, 0.00000000, 0.00000000, - 0.00000000, 0.00000000, // Ds-Mc - 0.00000000, 0.00000000, 0.00000000, 0.00000000 // Lv-Og -}; - -static const int refn[87]{ - 0, 2, 1, 3, 4, 5, 7, 5, 4, 2, 1, 3, 4, 4, 5, 4, 3, 2, 1, 3, 4, 4, - 4, 4, 4, 3, 3, 4, 4, 2, 2, 3, 5, 4, 3, 2, 1, 3, 4, 3, 4, 4, 4, 3, - 3, 4, 3, 2, 2, 4, 5, 4, 3, 2, 1, 3, 4, 3, 1, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 4, 4, 3, 3, 3, 5, 3, 2, 2, 4, 5, 4, 3, 2, 1, + 0.0, // None + 0.47259288, // H + 0.92203391, // He + 0.17452888, // Li (2nd) + 0.25700733, // Be + 0.33949086, // B + 0.42195412, // C + 0.50438193, // N + 0.58691863, // O + 0.66931351, // F + 0.75191607, // Ne + 0.17964105, // Na (3rd) + 0.22157276, // Mg + 0.26348578, // Al + 0.30539645, // Si + 0.34734014, // P + 0.38924725, // S + 0.43115670, // Cl + 0.47308269, // Ar + 0.17105469, // K (4th) + 0.20276244, // Ca + 0.21007322, // Sc + 0.21739647, // Ti + 0.22471039, // V + 0.23201501, // Cr + 0.23933969, // Mn + 0.24665638, // Fe + 0.25398255, // Co + 0.26128863, // Ni + 0.26859476, // Cu + 0.27592565, // Zn + 0.30762999, // Ga + 0.33931580, // Ge + 0.37235985, // As + 0.40273549, // Se + 0.43445776, // Br + 0.46611708, // Kr + 0.15585079, // Rb (5th) + 0.18649324, // Sr + 0.19356210, // Y + 0.20063311, // Zr + 0.20770522, // Nb + 0.21477254, // Mo + 0.22184614, // Tc + 0.22891872, // Ru + 0.23598621, // Rh + 0.24305612, // Pd + 0.25013018, // Ag + 0.25719937, // Cd + 0.28784780, // In + 0.31848673, // Sn + 0.34912431, // Sb + 0.37976593, // Te + 0.41040808, // I + 0.44105777, // Xe + 0.05019332, // Cs (6th) + 0.06762570, // Ba + 0.08504445, // La + 0.10247736, // Ce + 0.11991105, // Pr + 0.13732772, // Nd + 0.15476297, // Pm + 0.17218265, // Sm + 0.18961288, // Eu + 0.20704760, // Gd + 0.22446752, // Tb + 0.24189645, // Dy + 0.25932503, // Ho + 0.27676094, // Er + 0.29418231, // Tm + 0.31159587, // Yb + 0.32902274, // Lu + 0.34592298, // Hf + 0.36388048, // Ta + 0.38130586, // W + 0.39877476, // Re + 0.41614298, // Os + 0.43364510, // Ir + 0.45104014, // Pt + 0.46848986, // Au + 0.48584550, // Hg + 0.12526730, // Tl + 0.14268677, // Pb + 0.16011615, // Bi + 0.17755889, // Po + 0.19497557, // At + 0.21240778, // Rn + 0.07263525, // Fr (7th) + 0.09422158, // Ra + 0.09920295, // Ac + 0.10418621, // Th + 0.14235633, // Pa + 0.16394294, // U + 0.18551941, // Np + 0.22370139, // Pu + 0.25110000, // Am + 0.25030000, // Cm + 0.28840000, // Bk + 0.31000000, // Cf + 0.33160000, // Es + 0.35320000, // Fm + 0.36820000, // Md + 0.39630000, // No + 0.40140000, // Lr + 0.00000000, // Rf + 0.00000000, // Db + 0.00000000, // Sg + 0.00000000, // Bh + 0.00000000, // Hs + 0.00000000, // Mt + 0.00000000, // Ds + 0.00000000, // Rg + 0.00000000, // Cn + 0.00000000, // Nh + 0.00000000, // Fl + 0.00000000, // Lv + 0.00000000, // Mc + 0.00000000, // Ts + 0.00000000, // Og +}; + +static const int refn[MAXELEMENT]{ + 0, 2, 1, 3, 4, 5, 7, 5, 4, 2, 1, 3, 4, 4, 5, 4, 3, 2, 1, 3, 4, 4, 4, 4, 4, 3, + 3, 4, 4, 2, 2, 3, 5, 4, 3, 2, 1, 3, 4, 3, 4, 4, 4, 3, 3, 4, 3, 2, 2, 4, 5, 4, + 3, 2, 1, 3, 4, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 3, 3, 3, 5, + 3, 2, 2, 4, 5, 4, 3, 2, 1, 2, 3, 7, 5, 6, 6, 7, 7, 6, 7, 5, 6, 7, 7, 5, 7, 7, }; // 1 @@ -4544,16 +4629,16 @@ static const int refc84[3]{ // 85 static const double refcn85[2]{ - 0.00000000000000, - 0.97711087656722, + +0.00000000000000, + +0.97711087656722, }; static const double refq85[2]{ - 0.00000000000000, - -0.0759658202, + +0.00000000000000, + -0.07596582020000, }; static const double refsq85[2]{ - 0.00000000000000, - 0.07596582020292, + +0.00000000000000, + +0.07596582020292, }; static const double refalpha85[46]{ 39.1638670, 38.4250150, 36.4213580, 30.5411780, 24.6134160, 19.7657890, @@ -4584,13 +4669,13 @@ static const int refc85[2]{ // 86 static const double refcn86[1]{ - 0.00000000000000, + +0.00000000000000, }; static const double refq86[1]{ - 0.0000000000, + +0.00000000000000, }; static const double refsq86[1]{ - 0.00000000000000, + +0.00000000000000, }; static const double refalpha86[23]{ 33.6514050, 33.1852420, 31.8852830, 27.7786920, 23.2154680, 19.1736050, @@ -4611,121 +4696,1548 @@ static const int refc86[1]{ 3, }; -static const double *refcn[87]{ - nullptr, refcn1, refcn2, refcn3, refcn4, refcn5, refcn6, refcn7, - refcn8, refcn9, refcn10, refcn11, refcn12, refcn13, refcn14, refcn15, - refcn16, refcn17, refcn18, refcn19, refcn20, refcn21, refcn22, refcn23, - refcn24, refcn25, refcn26, refcn27, refcn28, refcn29, refcn30, refcn31, - refcn32, refcn33, refcn34, refcn35, refcn36, refcn37, refcn38, refcn39, - refcn40, refcn41, refcn42, refcn43, refcn44, refcn45, refcn46, refcn47, - refcn48, refcn49, refcn50, refcn51, refcn52, refcn53, refcn54, refcn55, - refcn56, refcn57, refcn58, refcn59, refcn60, refcn61, refcn62, refcn63, - refcn64, refcn65, refcn66, refcn67, refcn68, refcn69, refcn70, refcn71, - refcn72, refcn73, refcn74, refcn75, refcn76, refcn77, refcn78, refcn79, - refcn80, refcn81, refcn82, refcn83, refcn84, refcn85, refcn86, -}; -static const double *refq[87]{ - nullptr, refq1, refq2, refq3, refq4, refq5, refq6, refq7, refq8, - refq9, refq10, refq11, refq12, refq13, refq14, refq15, refq16, refq17, - refq18, refq19, refq20, refq21, refq22, refq23, refq24, refq25, refq26, - refq27, refq28, refq29, refq30, refq31, refq32, refq33, refq34, refq35, - refq36, refq37, refq38, refq39, refq40, refq41, refq42, refq43, refq44, - refq45, refq46, refq47, refq48, refq49, refq50, refq51, refq52, refq53, - refq54, refq55, refq56, refq57, refq58, refq59, refq60, refq61, refq62, - refq63, refq64, refq65, refq66, refq67, refq68, refq69, refq70, refq71, - refq72, refq73, refq74, refq75, refq76, refq77, refq78, refq79, refq80, - refq81, refq82, refq83, refq84, refq85, refq86, -}; -static const double *refsq[87]{ - nullptr, refsq1, refsq2, refsq3, refsq4, refsq5, refsq6, refsq7, - refsq8, refsq9, refsq10, refsq11, refsq12, refsq13, refsq14, refsq15, - refsq16, refsq17, refsq18, refsq19, refsq20, refsq21, refsq22, refsq23, - refsq24, refsq25, refsq26, refsq27, refsq28, refsq29, refsq30, refsq31, - refsq32, refsq33, refsq34, refsq35, refsq36, refsq37, refsq38, refsq39, - refsq40, refsq41, refsq42, refsq43, refsq44, refsq45, refsq46, refsq47, - refsq48, refsq49, refsq50, refsq51, refsq52, refsq53, refsq54, refsq55, - refsq56, refsq57, refsq58, refsq59, refsq60, refsq61, refsq62, refsq63, - refsq64, refsq65, refsq66, refsq67, refsq68, refsq69, refsq70, refsq71, - refsq72, refsq73, refsq74, refsq75, refsq76, refsq77, refsq78, refsq79, - refsq80, refsq81, refsq82, refsq83, refsq84, refsq85, refsq86, -}; -static const double *refalpha[87]{ - nullptr, refalpha1, refalpha2, refalpha3, refalpha4, refalpha5, - refalpha6, refalpha7, refalpha8, refalpha9, refalpha10, refalpha11, - refalpha12, refalpha13, refalpha14, refalpha15, refalpha16, refalpha17, - refalpha18, refalpha19, refalpha20, refalpha21, refalpha22, refalpha23, - refalpha24, refalpha25, refalpha26, refalpha27, refalpha28, refalpha29, - refalpha30, refalpha31, refalpha32, refalpha33, refalpha34, refalpha35, - refalpha36, refalpha37, refalpha38, refalpha39, refalpha40, refalpha41, - refalpha42, refalpha43, refalpha44, refalpha45, refalpha46, refalpha47, - refalpha48, refalpha49, refalpha50, refalpha51, refalpha52, refalpha53, - refalpha54, refalpha55, refalpha56, refalpha57, refalpha58, refalpha59, - refalpha60, refalpha61, refalpha62, refalpha63, refalpha64, refalpha65, - refalpha66, refalpha67, refalpha68, refalpha69, refalpha70, refalpha71, - refalpha72, refalpha73, refalpha74, refalpha75, refalpha76, refalpha77, - refalpha78, refalpha79, refalpha80, refalpha81, refalpha82, refalpha83, - refalpha84, refalpha85, refalpha86, -}; -static const double *refascale[87]{ - nullptr, refascale1, refascale2, refascale3, refascale4, refascale5, - refascale6, refascale7, refascale8, refascale9, refascale10, refascale11, - refascale12, refascale13, refascale14, refascale15, refascale16, refascale17, - refascale18, refascale19, refascale20, refascale21, refascale22, refascale23, - refascale24, refascale25, refascale26, refascale27, refascale28, refascale29, - refascale30, refascale31, refascale32, refascale33, refascale34, refascale35, - refascale36, refascale37, refascale38, refascale39, refascale40, refascale41, - refascale42, refascale43, refascale44, refascale45, refascale46, refascale47, - refascale48, refascale49, refascale50, refascale51, refascale52, refascale53, - refascale54, refascale55, refascale56, refascale57, refascale58, refascale59, - refascale60, refascale61, refascale62, refascale63, refascale64, refascale65, - refascale66, refascale67, refascale68, refascale69, refascale70, refascale71, - refascale72, refascale73, refascale74, refascale75, refascale76, refascale77, - refascale78, refascale79, refascale80, refascale81, refascale82, refascale83, - refascale84, refascale85, refascale86, -}; -static const double *refscount[87]{ - nullptr, refscount1, refscount2, refscount3, refscount4, refscount5, - refscount6, refscount7, refscount8, refscount9, refscount10, refscount11, - refscount12, refscount13, refscount14, refscount15, refscount16, refscount17, - refscount18, refscount19, refscount20, refscount21, refscount22, refscount23, - refscount24, refscount25, refscount26, refscount27, refscount28, refscount29, - refscount30, refscount31, refscount32, refscount33, refscount34, refscount35, - refscount36, refscount37, refscount38, refscount39, refscount40, refscount41, - refscount42, refscount43, refscount44, refscount45, refscount46, refscount47, - refscount48, refscount49, refscount50, refscount51, refscount52, refscount53, - refscount54, refscount55, refscount56, refscount57, refscount58, refscount59, - refscount60, refscount61, refscount62, refscount63, refscount64, refscount65, - refscount66, refscount67, refscount68, refscount69, refscount70, refscount71, - refscount72, refscount73, refscount74, refscount75, refscount76, refscount77, - refscount78, refscount79, refscount80, refscount81, refscount82, refscount83, - refscount84, refscount85, refscount86, -}; -static const int *refsys[87]{ - nullptr, refsys1, refsys2, refsys3, refsys4, refsys5, refsys6, - refsys7, refsys8, refsys9, refsys10, refsys11, refsys12, refsys13, - refsys14, refsys15, refsys16, refsys17, refsys18, refsys19, refsys20, - refsys21, refsys22, refsys23, refsys24, refsys25, refsys26, refsys27, - refsys28, refsys29, refsys30, refsys31, refsys32, refsys33, refsys34, - refsys35, refsys36, refsys37, refsys38, refsys39, refsys40, refsys41, - refsys42, refsys43, refsys44, refsys45, refsys46, refsys47, refsys48, - refsys49, refsys50, refsys51, refsys52, refsys53, refsys54, refsys55, - refsys56, refsys57, refsys58, refsys59, refsys60, refsys61, refsys62, - refsys63, refsys64, refsys65, refsys66, refsys67, refsys68, refsys69, - refsys70, refsys71, refsys72, refsys73, refsys74, refsys75, refsys76, - refsys77, refsys78, refsys79, refsys80, refsys81, refsys82, refsys83, - refsys84, refsys85, refsys86, -}; -static const int *refc[87]{ - nullptr, refc1, refc2, refc3, refc4, refc5, refc6, refc7, refc8, - refc9, refc10, refc11, refc12, refc13, refc14, refc15, refc16, refc17, - refc18, refc19, refc20, refc21, refc22, refc23, refc24, refc25, refc26, - refc27, refc28, refc29, refc30, refc31, refc32, refc33, refc34, refc35, - refc36, refc37, refc38, refc39, refc40, refc41, refc42, refc43, refc44, - refc45, refc46, refc47, refc48, refc49, refc50, refc51, refc52, refc53, - refc54, refc55, refc56, refc57, refc58, refc59, refc60, refc61, refc62, - refc63, refc64, refc65, refc66, refc67, refc68, refc69, refc70, refc71, - refc72, refc73, refc74, refc75, refc76, refc77, refc78, refc79, refc80, - refc81, refc82, refc83, refc84, refc85, refc86, +// 87 +static const double refcn87[2]{ + +0.00000000000000, + +0.76514673233032, +}; +static const double refq87[2]{ + +0.00000000000000, + +0.07920000000000, +}; +static const double refsq87[2]{ + +0.00000000000000, + -0.07920000000000, +}; +static const double refalpha87[46]{ + 432.7147900, 233.5579300, 107.0182700, 44.0853000, 28.1033000, 20.9345200, + 16.6243700, 13.6315900, 11.3991600, 9.6677100, 8.2919500, 7.1799800, + 5.5146000, 4.3508500, 3.5097800, 2.8846600, 2.4088600, 1.6232600, + 1.1631100, 0.6772800, 0.4412400, 0.1999500, 0.1133100, 71.7862700, + 65.5632800, 54.1920400, 37.3256900, 27.8786200, 21.9222000, 17.7602400, + 14.6759000, 12.3098200, 10.4527500, 8.9700500, 7.7695700, 5.9709800, + 4.7146000, 3.8067300, 3.1317800, 2.6177400, 1.7677400, 1.2686700, + 0.7402500, 0.4828000, 0.2190400, 0.1241800, +}; +static const double refascale87[2]{ + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount87[2]{ + 0.00000000000000, + 1.00000000000000, +}; +static const int refsys87[2]{ + 1, + 1, +}; +static const int refc87[2]{ + 3, + 1, +}; + +// 88 +static const double refcn88[3]{ + +0.00000000000000, + +0.77520757913589, + +1.54451191425323, +}; +static const double refq88[3]{ + +0.00000000000000, + +0.23880000000000, + +0.30820000000000, +}; +static const double refsq88[3]{ + +0.00000000000000, + -0.23880000000000, + -0.15410000000000, +}; +static const double refalpha88[69]{ + 264.1946900, 208.7128200, 131.0867200, 58.5103700, 34.5223400, 24.0579200, + 18.3378700, 14.7007500, 12.1522900, 10.2528100, 8.7789200, 7.6034500, + 5.8576000, 4.6401400, 3.7578800, 3.0994100, 2.5960600, 1.7595800, + 1.2657400, 0.7404100, 0.4834900, 0.2196400, 0.1246000, 265.1396600, + 169.9509800, 98.1252400, 49.9054300, 32.9673500, 24.3765600, 19.1292900, + 15.5551100, 12.9496000, 10.9644700, 9.4055800, 8.1543000, 6.2879300, + 4.9836600, 4.0379200, 3.3319000, 2.7920600, 1.8943900, 1.3638400, + 0.7986700, 0.5218500, 0.2372200, 0.1346000, 71.5606700, 67.8481200, + 59.6614200, 43.5416700, 32.5219600, 25.2514100, 20.2337300, 16.6050300, + 13.8797700, 11.7724500, 10.1056100, 8.7631600, 6.7575400, 5.3557300, + 4.3397400, 3.5815800, 3.0019600, 2.0380900, 1.4681100, 0.8603800, + 0.5624200, 0.2557800, 0.1451500, +}; +static const double refascale88[3]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount88[3]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, +}; +static const int refsys88[3]{ + 1, + 1, + 1, +}; +static const int refc88[3]{ + 3, + 1, + 1, +}; + +// 89 +static const double refcn89[7]{ + +0.00000000000000, + +0.81221771240234, + +1.61096704006195, + +2.40822887420654, + +3.16141414642334, + +3.86818122863770, + +4.60221958160400, +}; +static const double refq89[7]{ + +0.00000000000000, + -0.06810000000000, + -0.12420000000000, + -0.17080000000000, + -0.20670000000000, + -0.22920000000000, + -0.24890000000000, +}; +static const double refsq89[7]{ + +0.00000000000000, + +0.06810000000000, + +0.06210000000000, + +0.05690000000000, + +0.05170000000000, + +0.04580000000000, + +0.04150000000000, +}; +static const double refalpha89[161]{ + 204.4018400, 167.2135700, 116.6976800, 58.9801600, 35.5482400, 24.5444200, + 18.4663300, 14.6614600, 12.0557600, 10.1553600, 8.7067400, 7.5671200, + 5.8964700, 4.7423400, 3.9076000, 3.2826400, 2.8016000, 1.9881000, + 1.4911800, 0.9333500, 0.6399800, 0.3122800, 0.1836600, 183.4136300, + 151.7816800, 106.8128600, 57.3476600, 36.6708800, 26.2420200, 20.1262600, + 16.1394300, 13.3398900, 11.2678800, 9.6750900, 8.4158400, 6.5630000, + 5.2798300, 4.3506000, 3.6543400, 3.1181300, 2.2109300, 1.6567900, + 1.0353700, 0.7091700, 0.3455500, 0.2030800, 161.4079900, 115.7143200, + 81.7711600, 50.0677900, 34.9561700, 26.1999400, 20.5872400, 16.7260600, + 13.9261300, 11.8135400, 10.1705400, 8.8622700, 6.9258900, 5.5789300, + 4.6011200, 3.8672800, 3.3014200, 2.3426400, 1.7561200, 1.0977400, + 0.7519600, 0.3664300, 0.2153500, 67.3757700, 65.1171500, 59.4934200, + 45.8749400, 34.8544000, 27.0905200, 21.6503900, 17.7357500, 14.8287300, + 12.6068900, 10.8666700, 9.4754700, 7.4103600, 5.9711300, 4.9253800, + 4.1400800, 3.5342800, 2.5073400, 1.8789300, 1.1737000, 0.8036000, + 0.3913300, 0.2299000, 164.9995400, 91.9493300, 68.8420500, 49.6464500, + 37.6575900, 29.3281700, 23.4479400, 19.1936000, 16.0278600, 13.6085200, + 11.7157200, 10.2048100, 7.9668900, 6.4110900, 5.2827000, 4.4364700, + 3.7843300, 2.6802300, 2.0057200, 1.2503000, 0.8548300, 0.4154600, + 0.2438300, 171.2481300, 134.6702700, 94.9592200, 58.8184700, 42.2048900, + 32.1668700, 25.4549400, 20.7156500, 17.2342600, 14.5947900, 12.5409800, + 10.9080400, 8.4991200, 6.8305600, 5.6230500, 4.7187200, 4.0224300, + 2.8447600, 2.1261800, 1.3226700, 0.9029500, 0.4378600, 0.2566800, + 213.4703400, 168.2418500, 114.2009000, 65.8443700, 46.0049400, 34.7217600, + 27.3472300, 22.1892600, 18.4196600, 15.5715000, 13.3612300, 11.6077400, + 9.0274800, 7.2449200, 5.9573100, 4.9942800, 4.2535700, 3.0024700, + 2.2403700, 1.3900500, 0.9471100, 0.4579200, 0.2680300, +}; +static const double refascale89[7]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount89[7]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys89[7]{ + 1, + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc89[7]{ + 3, + 1, + 1, + 1, + 1, + 1, + 1, +}; + +// 90 +static const double refcn90[5]{ + +0.00000000000000, + +0.84210479259491, + +1.67266535758972, + +2.50573635101318, + +3.33462429046631, +}; +static const double refq90[5]{ + +0.00000000000000, + +0.34490000000000, + +0.43280000000000, + +0.47390000000000, + +0.49620000000000, +}; +static const double refsq90[5]{ + +0.00000000000000, + -0.34490000000000, + -0.21640000000000, + -0.15800000000000, + -0.12405000000000, +}; +static const double refalpha90[115]{ + 151.3054900, 132.0224300, 100.3446200, 57.1424100, 36.8572000, 26.3120900, + 20.0921500, 16.0586100, 13.2526600, 11.1956600, 9.6267100, 8.3934800, + 6.5881000, 5.3414100, 4.4388100, 3.7617600, 3.2393500, 2.3514000, + 1.8034400, 1.1755900, 0.8333100, 0.4292000, 0.2596900, 142.0153100, + 121.7330500, 91.8672700, 54.6347100, 36.9218200, 27.1645700, 21.1160700, + 17.0503600, 14.1521300, 11.9928500, 10.3287100, 9.0118800, 7.0733400, + 5.7296600, 4.7553200, 4.0241000, 3.4599200, 2.5018100, 1.9119000, + 1.2389500, 0.8744800, 0.4476600, 0.2700600, 117.3109500, 99.2297800, + 76.8788200, 50.3595500, 36.4314400, 27.8344800, 22.0825100, 18.0276800, + 15.0511500, 12.7931800, 11.0336600, 9.6319300, 7.5576900, 6.1154900, + 5.0688400, 4.2834100, 3.6777200, 2.6504100, 2.0194200, 1.3024000, + 0.9161700, 0.4667500, 0.2809400, 94.3173000, 83.8298000, 69.2480800, + 49.5421600, 37.3912000, 29.1786500, 23.3999800, 19.2059800, 16.0744500, + 13.6753400, 11.7953000, 10.2929700, 8.0657000, 6.5163900, 5.3926400, + 4.5501000, 3.9009900, 2.8019000, 2.1285900, 1.3664400, 0.9580200, + 0.4857600, 0.2917000, 63.9384900, 62.4467300, 58.5371300, 47.9250300, + 38.0867400, 30.4192900, 24.6745200, 20.3673800, 17.0925200, 14.5573700, + 12.5588400, 10.9564600, 8.5756600, 6.9183100, 5.7167300, 4.8165800, + 4.1237600, 2.9526000, 2.2370000, 1.4299100, 0.9995000, 0.5045900, + 0.3023800, +}; +static const double refascale90[5]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount90[5]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, +}; +static const int refsys90[5]{ + 1, + 1, + 1, + 1, + 1, +}; +static const int refc90[5]{ + 3, + 1, + 1, + 1, + 1, +}; + +// 91 +static const double refcn91[6]{ + +0.00000000000000, + +0.85091900825500, + +1.68243002891541, + +2.56143164634705, + +3.41472434997559, + +4.33161783218384, +}; +static const double refq91[6]{ + +0.00000000000000, + +0.42640000000000, + +0.54680000000000, + +0.61000000000000, + +0.64360000000000, + +0.66540000000000, +}; +static const double refsq91[6]{ + +0.00000000000000, + -0.42640000000000, + -0.27340000000000, + -0.20330000000000, + -0.16090000000000, + -0.13308000000000, +}; +static const double refalpha91[138]{ + 166.6277700, 141.2842200, 102.4567200, 54.4640100, 34.1796000, 24.3027300, + 18.6668300, 15.0570800, 12.5481800, 10.6993500, 9.2777300, 8.1496500, + 6.4741500, 5.2950000, 4.4269000, 3.7665900, 3.2513500, 2.3641100, + 1.8104700, 1.1736900, 0.8277200, 0.4229700, 0.2549700, 157.0760700, + 129.9417100, 94.0821000, 52.6866900, 34.7765300, 25.4911900, 19.9067900, + 16.1943000, 13.5495700, 11.5701000, 10.0337700, 8.8082300, 6.9822000, + 5.6964600, 4.7512600, 4.0337400, 3.4750100, 2.5159300, 1.9200100, + 1.2381800, 0.8700300, 0.4423200, 0.2659800, 125.3575000, 97.8437100, + 72.3248100, 46.3109800, 33.6240800, 25.9618100, 20.8399900, 17.1993700, + 14.4962900, 12.4214900, 10.7866200, 9.4708600, 7.4982900, 6.1056300, + 5.0822500, 4.3065100, 3.7034900, 2.6713600, 2.0325600, 1.3050400, + 0.9143500, 0.4629900, 0.2778900, 85.9686200, 76.5627700, 64.2651600, + 46.9223500, 35.8900500, 28.3126800, 22.9032600, 18.9260700, 15.9240300, + 13.6038600, 11.7728300, 10.3012100, 8.1047700, 6.5655300, 5.4424900, + 4.5964700, 3.9422400, 2.8298800, 2.1464100, 1.3730200, 0.9600200, + 0.4849700, 0.2907800, 68.2275000, 65.6186000, 60.0315200, 47.6359800, + 37.5304200, 29.9830600, 24.3945000, 20.2072400, 17.0133900, 14.5306100, + 12.5652700, 10.9835700, 8.6224300, 6.9698300, 5.7663500, 4.8615200, + 4.1631000, 2.9787200, 2.2534400, 1.4359100, 1.0013000, 0.5039200, + 0.3015900, 64.6792300, 62.7768600, 58.3981800, 48.0808200, 38.8769800, + 31.5484100, 25.8960300, 21.5514400, 18.1846400, 15.5419400, 13.4379700, + 11.7392400, 9.1986100, 7.4202100, 6.1267800, 5.1560200, 4.4080900, + 3.1434800, 2.3721400, 1.5065200, 1.0484700, 0.5263900, 0.3147100, + +}; +static const double refascale91[6]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount91[6]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, +}; +static const int refsys91[6]{ + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc91[6]{ + 3, + 1, + 1, + 1, + 1, + 1, +}; + +// 92 +static const double refcn92[6]{ + +0.00000000000000, + +0.84563773870468, + +2.50075340270996, + +3.38830232620239, + +3.57048654556274, + +5.12557458877563, +}; +static const double refq92[6]{ + +0.00000000000000, + +0.24430000000000, + +0.37210000000000, + +0.40480000000000, + +0.39870000000000, + +0.43570000000000, +}; +static const double refsq92[6]{ + +0.00000000000000, + -0.24430000000000, + -0.12406000000000, + -0.10120000000000, + -0.07974000000000, + -0.07260000000000, +}; +static const double refalpha92[138]{ + 159.6501800, 135.8961000, 98.5086800, 52.3884600, 32.9239600, 23.4920600, + 18.1199800, 14.6740300, 12.2716700, 10.4952600, 9.1247400, 8.0337300, + 6.4060900, 5.2539700, 4.4011800, 3.7493700, 3.2386800, 2.3549100, + 1.8011700, 1.1639600, 0.8188100, 0.4171000, 0.2511700, 152.0261400, + 128.0014000, 92.7351000, 51.5592200, 33.7876600, 24.6849400, 19.2730100, + 15.7026800, 13.1693600, 11.2756900, 9.8051000, 8.6299200, 6.8721500, + 5.6267000, 4.7052700, 4.0017400, 3.4511800, 2.5003900, 1.9065000, + 1.2259300, 0.8593000, 0.4354100, 0.2615100, 61.4627600, 58.1569300, + 52.5979400, 41.1735600, 32.1632900, 25.6872500, 21.0129300, 17.5503200, + 14.9129800, 12.8533700, 11.2101300, 9.8751400, 7.8533600, 6.4113200, + 5.3437800, 4.5300700, 3.8949000, 2.8030200, 2.1254800, 1.3553100, + 0.9444200, 0.4745300, 0.2838200, 57.7404400, 56.8541900, 53.0160000, + 43.4071000, 34.8271900, 28.1717400, 23.1478600, 19.3339400, 16.3930700, + 14.0847800, 12.2416000, 10.7465100, 8.4924500, 6.8966500, 5.7238900, + 4.8357500, 4.1463100, 2.9695700, 2.2450200, 1.4268600, 0.9927100, + 0.4980100, 0.2977000, 79.4643700, 66.1195700, 58.3424900, 45.8165000, + 36.2236200, 29.1719600, 23.9622200, 20.0392100, 17.0204000, 14.6497200, + 12.7534500, 11.2117900, 8.8796900, 7.2209000, 5.9978900, 5.0687300, + 4.3458600, 3.1091800, 2.3465400, 1.4858200, 1.0304100, 0.5142300, + 0.3065600, 70.4499300, 68.4799400, 63.4736400, 50.8489300, 40.1019100, + 32.1246100, 26.2551100, 21.8601000, 18.4967500, 15.8683700, 13.7750900, + 12.0799000, 9.5275500, 7.7224500, 6.3968700, 5.3938000, 4.6158900, + 3.2908100, 2.4778500, 1.5648600, 1.0839000, 0.5404200, 0.3221200, + +}; +static const double refascale92[6]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount92[6]{ + 0.00000000000000, + 1.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys92[6]{ + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc92[6]{ + 3, + 1, + 1, + 3, + 3, + 1, +}; + +// 93 +static const double refcn93[7]{ + +0.00000000000000, + +0.84929960966110, + +1.68312501907349, + +2.51682710647583, + +3.39772701263428, + +4.23597240447998, + +5.09381914138794, +}; +static const double refq93[7]{ + +0.00000000000000, + +0.33410000000000, + +0.41750000000000, + +0.45490000000000, + +0.48260000000000, + +0.49400000000000, + +0.50440000000000, +}; +static const double refsq93[7]{ + +0.00000000000000, + -0.33410000000000, + -0.20870000000000, + -0.15163000000000, + -0.12065000000000, + -0.09880000000000, + -0.08410000000000, +}; +static const double refalpha93[161]{ + 152.1283900, 112.6033100, 75.4650300, 40.7348500, 27.3560900, 20.6809600, + 16.6270800, 13.8529700, 11.8126700, 10.2408900, 8.9906800, 7.9726400, + 6.4187100, 5.2954100, 4.4526000, 3.8023100, 3.2892800, 2.3947900, + 1.8308500, 1.1805100, 0.8288300, 0.4212400, 0.2535000, 134.2373900, + 104.3913800, 73.7094800, 42.8461500, 29.7209900, 22.6356900, 18.1746800, + 15.0874400, 12.8155700, 11.0712300, 9.6898800, 8.5700300, 6.8703800, + 5.6495500, 4.7380100, 4.0373300, 3.4861800, 2.5287800, 1.9276900, + 1.2375000, 0.8661200, 0.4381200, 0.2630300, 114.7257000, 89.7632500, + 66.6972100, 42.9194500, 31.1632400, 24.1344200, 19.4813300, 16.1874400, + 13.7402200, 11.8546900, 10.3605200, 9.1499700, 7.3160300, 6.0025000, + 5.0243200, 4.2741300, 3.6851700, 2.6647300, 2.0260500, 1.2952900, + 0.9037800, 0.4550000, 0.2725000, 60.0193300, 57.7069100, 52.4809600, + 40.8285800, 31.7259300, 25.2753700, 20.6624400, 17.2654300, 14.6871900, + 12.6773600, 11.0746900, 9.7721500, 7.7962000, 6.3820200, 5.3309800, + 4.5267100, 3.8966600, 2.8084000, 2.1298400, 1.3565600, 0.9440800, + 0.4735100, 0.2830500, 57.6363300, 55.7487000, 51.6348100, 42.1036900, + 33.8112200, 27.4066600, 22.5760500, 18.9076000, 16.0757400, 13.8491000, + 12.0671800, 10.6181700, 8.4249600, 6.8637500, 5.7104900, 4.8330900, + 4.1492500, 2.9761400, 2.2502400, 1.4284600, 0.9924900, 0.4969800, + 0.2969000, 79.8320500, 75.1734800, 66.0772100, 49.2762900, 37.7995500, + 29.9549600, 24.3770500, 20.2708100, 17.1576200, 14.7371100, 12.8142200, + 11.2583100, 8.9139600, 7.2512400, 6.0254600, 5.0940400, 4.3687700, + 3.1261200, 2.3585600, 1.4918700, 1.0337700, 0.5155700, 0.3073900, + 90.8035900, 85.6049900, 74.5057100, 54.1947900, 40.9874200, 32.2515300, + 26.1389000, 21.6751400, 18.3064600, 15.6954400, 13.6261600, 11.9551600, + 9.4434900, 7.6670300, 6.3603600, 5.3693600, 4.5989500, 3.2819800, + 2.4708700, 1.5580000, 1.0772700, 0.5356400, 0.3188900, +}; +static const double refascale93[7]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount93[7]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys93[7]{ + 1, + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc93[7]{ + 3, + 1, + 1, + 1, + 1, + 1, + 1, +}; + +// 94 +static const double refcn94[7]{ + +0.00000000000000, + +0.81253784894943, + +1.65689170360565, + +2.49969720840454, + +3.36243820190430, + +4.19367313385010, + +5.02024745941162, +}; +static const double refq94[7]{ + +0.00000000000000, + +0.34760000000000, + +0.46690000000000, + +0.52750000000000, + +0.56890000000000, + +0.58730000000000, + +0.60200000000000, +}; +static const double refsq94[7]{ + +0.00000000000000, + -0.34760000000000, + -0.23345000000000, + -0.17583000000000, + -0.14222500000000, + -0.11746000000000, + -0.10033000000000, +}; +static const double refalpha94[161]{ + 172.7406800, 145.6047800, 101.7601400, 50.1348300, 29.9893400, 20.8783400, + 15.9825000, 12.9731100, 10.9295300, 9.4374300, 8.2894300, 7.3720700, + 5.9862600, 4.9830600, 4.2229300, 3.6292400, 3.1552100, 2.3146600, + 1.7749500, 1.1443800, 0.8013800, 0.4048900, 0.2429100, 140.6592400, + 109.3082900, 72.9347700, 39.9873900, 27.0421600, 20.3958100, 16.3706000, + 13.6552700, 11.6835500, 10.1759300, 8.9796700, 8.0042800, 6.5061100, + 5.4099300, 4.5766100, 3.9256600, 3.4065100, 2.4886100, 1.9018600, + 1.2200100, 0.8514000, 0.4280500, 0.2561900, 97.7401900, 76.6673600, + 59.4821600, 39.5056600, 28.9200100, 22.5125400, 18.2688400, 15.2650100, + 13.0297600, 11.3019800, 9.9268200, 8.8070400, 7.0972100, 5.8592800, + 4.9281200, 4.2075800, 3.6375400, 2.6400100, 2.0092900, 1.2829500, + 0.8931300, 0.4477700, 0.2676600, 55.3410200, 53.3923900, 49.1137600, + 38.9121200, 30.5323900, 24.4542300, 20.0613900, 16.8098900, 14.3347700, + 12.4010300, 10.8558900, 9.5975700, 7.6828900, 6.3067200, 5.2796300, + 4.4905800, 3.8702400, 2.7935500, 2.1188100, 1.3475800, 0.9361600, + 0.4682200, 0.2795900, 64.4204800, 57.8758900, 51.6984400, 41.3225200, + 33.0419600, 26.7589700, 22.0508700, 18.4869900, 15.7401000, 13.5812100, + 11.8528500, 10.4460800, 8.3125000, 6.7886100, 5.6588800, 4.7963800, + 4.1220200, 2.9602100, 2.2380800, 1.4185000, 0.9837900, 0.4912400, + 0.2931600, 84.8162300, 79.2047800, 68.1430500, 49.2446000, 37.2617800, + 29.3656200, 23.8516500, 19.8304800, 16.7967800, 14.4437200, 12.5760100, + 11.0645900, 8.7844200, 7.1628000, 5.9634200, 5.0490700, 4.3348800, + 3.1059900, 2.3434800, 1.4801600, 1.0238100, 0.5091100, 0.3031800, + 104.8008500, 96.5146400, 80.5042500, 55.4090700, 40.9972200, 31.9652500, + 25.8009100, 21.3575000, 18.0287900, 15.4598100, 13.4288200, 11.7907500, + 9.3295100, 7.5870700, 6.3030100, 5.3269500, 4.5664200, 3.2619200, + 2.4554500, 1.5457800, 1.0668200, 0.5288100, 0.3144200, +}; +static const double refascale94[7]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount94[7]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys94[7]{ + 1, + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc94[7]{ + 3, + 1, + 1, + 1, + 1, + 1, + 1, +}; + +// 95 +static const double refcn95[6]{ + +0.00000000000000, + +0.76201480627060, + +1.54385828971863, + +2.39868640899658, + +3.99497199058533, + +4.80997991561890, +}; +static const double refq95[6]{ + +0.00000000000000, + +0.29480000000000, + +0.38370000000000, + +0.43070000000000, + +0.47130000000000, + +0.48330000000000, +}; +static const double refsq95[6]{ + +0.00000000000000, + -0.29480000000000, + -0.19190000000000, + -0.14357000000000, + -0.09426000000000, + -0.08050000000000, +}; +static const double refalpha95[138]{ + 165.6020400, 140.4979000, 99.0178200, 49.3590700, 29.6192400, 20.6060600, + 15.7483000, 12.7644400, 10.7432900, 9.2721600, 8.1436800, 7.2441600, + 5.8886700, 4.9088800, 4.1662600, 3.5853900, 3.1206400, 2.2934000, + 1.7596300, 1.1336300, 0.7927300, 0.3995400, 0.2395000, 133.0355100, + 104.9201500, 71.4375700, 39.7059900, 26.7872400, 20.1190900, 16.0990800, + 13.4053800, 11.4612800, 9.9817600, 8.8116500, 7.8596000, 6.3993200, + 5.3309000, 4.5175500, 3.8808200, 3.3717600, 2.4680100, 1.8873900, + 1.2100600, 0.8433800, 0.4230600, 0.2530100, 60.0171500, 56.0454500, + 48.5551000, 35.1426600, 26.4217100, 20.8389700, 17.0639300, 14.3636900, + 12.3396900, 10.7652600, 9.5044800, 8.4716500, 6.8811000, 5.7167700, + 4.8322200, 4.1417200, 3.5912700, 2.6182600, 1.9964200, 1.2747700, + 0.8861000, 0.4428000, 0.2643000, 54.6144300, 51.1618600, 47.1127900, + 37.5251800, 29.5311700, 23.6871500, 19.4572200, 16.3294500, 13.9514500, + 12.0946300, 10.6104900, 9.4005700, 7.5548800, 6.2225400, 5.2235600, + 4.4526600, 3.8440900, 2.7818200, 2.1119300, 1.3427900, 0.9317700, + 0.4650300, 0.2774800, 98.4837900, 88.6034800, 72.3488700, 49.5093900, + 36.7445600, 28.7272700, 23.2551600, 19.3161900, 16.3678900, 14.0916600, + 12.2892600, 10.8318700, 8.6315200, 7.0619800, 5.8964000, 5.0039600, + 4.3039800, 3.0923300, 2.3354600, 1.4743400, 1.0182900, 0.5049000, + 0.3003000, 113.3351500, 102.5160900, 83.0136200, 55.2298300, 40.3635400, + 31.3181900, 25.2331600, 20.8827200, 17.6395700, 15.1435500, 13.1727500, + 11.5836000, 9.1935200, 7.4970200, 6.2426800, 5.2859400, 4.5379900, + 3.2490100, 2.4478600, 1.5405500, 1.0620400, 0.5253100, 0.3120700, + +}; +static const double refascale95[6]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount95[6]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys95[6]{ + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc95[6]{ + 3, + 1, + 1, + 1, + 1, + 1, +}; + +// 96 +static const double refcn96[7]{ + +0.00000000000000, + +0.83212512731552, + +1.64380240440369, + +2.46540093421936, + +3.25204372406006, + +4.04486131668091, + +4.84447526931763, +}; +static const double refq96[7]{ + +0.00000000000000, + +0.23790000000000, + +0.28320000000000, + +0.30250000000000, + +0.31270000000000, + +0.31910000000000, + +0.32360000000000, +}; +static const double refsq96[7]{ + +0.00000000000000, + -0.23790000000000, + -0.14160000000000, + -0.10080000000000, + -0.07817500000000, + -0.06382000000000, + -0.05390000000000, +}; +static const double refalpha96[161]{ + 134.3978700, 116.1743200, 86.3865200, 47.1493500, 29.7740500, 21.2860100, + 16.4817600, 13.4221500, 11.2973100, 9.7266500, 8.5121400, 7.5414700, + 6.0822400, 5.0364900, 4.2521500, 3.6447100, 3.1627600, 2.3136500, + 1.7709800, 1.1384800, 0.7953700, 0.4005600, 0.2401100, 126.6120300, + 109.3212500, 81.5723600, 47.0010300, 31.2023600, 22.8860500, 17.8996500, + 14.6120400, 12.2877600, 10.5566200, 9.2154200, 8.1444900, 6.5400500, + 5.3965000, 4.5430500, 3.8848100, 3.3643500, 2.4514700, 1.8709800, + 1.1977200, 0.8343200, 0.4183500, 0.2502100, 99.2439600, 79.0151500, + 60.3295100, 40.0819000, 29.3585500, 22.7763000, 18.3964100, 15.3028700, + 13.0129200, 11.2536800, 9.8618400, 8.7345600, 7.0243600, 5.7942800, + 4.8728300, 4.1613700, 3.5989600, 2.6140800, 1.9897500, 1.2686500, + 0.8813000, 0.4401500, 0.2627100, 54.6754500, 52.9826400, 48.7627000, + 38.4660300, 29.9916200, 23.8921900, 19.5266100, 16.3253800, 13.9077500, + 12.0304700, 10.5370300, 9.3243200, 7.4828000, 6.1594600, 5.1700200, + 4.4076700, 3.8062400, 2.7561600, 2.0929600, 1.3299400, 0.9217200, + 0.4587400, 0.2733100, 84.5347300, 75.7999500, 62.7375400, 44.4811000, + 33.5258000, 26.3562200, 21.3871200, 17.7920400, 15.0970200, 13.0153700, + 11.3665700, 10.0328800, 8.0175800, 6.5776600, 5.5060700, 4.6835900, + 4.0367900, 2.9122400, 2.2054600, 1.3961500, 0.9652100, 0.4787100, + 0.2847100, 110.6679000, 96.7153000, 75.9750200, 50.3030900, 36.9564000, + 28.7507400, 23.1990700, 19.2245300, 16.2621200, 13.9830200, 12.1836800, + 10.7323800, 8.5473900, 6.9930100, 5.8404300, 4.9584700, 4.2666900, + 3.0681000, 2.3178500, 1.4623100, 1.0086600, 0.4986500, 0.2960800, + 133.9582500, 116.0314800, 88.6352200, 56.0350700, 40.3477900, 31.1150200, + 24.9872400, 20.6390300, 17.4139100, 14.9408800, 12.9935600, 11.4264900, + 9.0740700, 7.4064100, 6.1734700, 5.2323900, 4.4958300, 3.2234500, + 2.4298500, 1.5281900, 1.0519100, 0.5184700, 0.3073900, +}; +static const double refascale96[7]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount96[7]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys96[7]{ + 1, + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc96[7]{ + 3, + 1, + 1, + 1, + 1, + 1, + 1, +}; + +// 97 +static const double refcn97[5]{ + +0.00000000000000, + +0.82979065179825, + +1.66842269897461, + +2.50224256515503, + +3.36453199386597, +}; +static const double refq97[5]{ + +0.00000000000000, + +0.29820000000000, + +0.33910000000000, + +0.35450000000000, + +0.36420000000000, +}; +static const double refsq97[5]{ + +0.00000000000000, + -0.29820000000000, + -0.16950000000000, + -0.11820000000000, + -0.09110000000000, +}; +static const double refalpha97[115]{ + 150.0841600, 129.4893000, 93.3386400, 47.5743700, 28.7210300, 19.9726200, + 15.2301700, 12.3184200, 10.3534300, 8.9302400, 7.8439100, 6.9817100, + 5.6882700, 4.7562600, 4.0498600, 3.4960800, 3.0513700, 2.2538700, + 1.7336700, 1.1172700, 0.7795800, 0.3907500, 0.2335900, 125.9274100, + 104.0728300, 75.8864500, 43.2369500, 28.7502800, 21.1786000, 16.6537700, + 13.6738100, 11.5652200, 9.9908500, 8.7667100, 7.7849900, 6.3038300, + 5.2375000, 4.4339000, 3.8085000, 3.3099800, 2.4257000, 1.8562800, + 1.1892700, 0.8272800, 0.4132100, 0.2466400, 94.2400900, 77.5243900, + 58.9429600, 39.0623400, 28.6154000, 22.2014200, 17.9361600, 14.9285100, + 12.7060600, 11.0009500, 9.6528800, 8.5611300, 6.9035300, 5.7087500, + 4.8112700, 4.1162600, 3.5652100, 2.5958700, 1.9780000, 1.2610500, + 0.8749900, 0.4358100, 0.2598000, 52.9670000, 51.2081000, 47.2097200, + 37.3875500, 29.2191000, 23.3037200, 19.0603100, 15.9482500, 13.5995200, + 11.7770200, 10.3277100, 9.1508100, 7.3623200, 6.0746100, 5.1093500, + 4.3635300, 3.7734800, 2.7388300, 2.0819400, 1.3228100, 0.9157300, + 0.4545600, 0.2705000, 64.0310000, 57.6315700, 50.4511300, 39.9025500, + 31.7426200, 25.6004300, 21.0403300, 17.6213600, 15.0076100, 12.9656800, + 11.3372000, 10.0142700, 8.0081100, 6.5712100, 5.5008800, 4.6791300, + 4.0329000, 2.9093900, 2.2032000, 1.3943200, 0.9635500, 0.4775600, + 0.2840300, +}; +static const double refascale97[5]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount97[5]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, +}; +static const int refsys97[5]{ + 1, + 1, + 1, + 1, + 1, +}; +static const int refc97[5]{ + 3, + 1, + 1, + 1, + 1, +}; + +// 98 +static const double refcn98[6]{ + +0.00000000000000, + +0.81898736953735, + +1.63452363014221, + +2.50784802436829, + +3.34391856193542, + +4.98358106613159, +}; +static const double refq98[6]{ + +0.00000000000000, + +0.30920000000000, + +0.38470000000000, + +0.42160000000000, + +0.44080000000000, + +0.45810000000000, +}; +static const double refsq98[6]{ + +0.00000000000000, + -0.30920000000000, + -0.19235000000000, + -0.14053000000000, + -0.11020000000000, + -0.07635000000000, +}; +static const double refalpha98[138]{ + 148.0091900, 127.6682800, 91.8844400, 46.6738900, 28.1153000, 19.5155900, + 14.8547000, 11.9926300, 10.0613000, 8.6633000, 7.5974500, 6.7529100, + 5.4897600, 4.5835000, 3.8992300, 3.3643900, 2.9357800, 2.1685400, + 1.6684900, 1.0758700, 0.7512000, 0.3775400, 0.2264700, 130.7987300, + 103.8691600, 70.9979000, 39.3130600, 26.2475400, 19.4913500, 15.4458200, + 12.7645500, 10.8527200, 9.4145600, 8.2889000, 7.3811000, 6.0026700, + 5.0036700, 4.2470200, 3.6557100, 3.1826600, 2.3393000, 1.7930400, + 1.1501400, 0.8003400, 0.4003300, 0.2395400, 53.3942300, 50.4801000, + 44.7056500, 33.0884500, 24.9852400, 19.6813400, 16.0762000, 13.5014100, + 11.5794600, 10.0917600, 8.9061400, 7.9389900, 6.4567000, 5.3760200, + 4.5560600, 3.9153900, 3.4033800, 2.4929000, 1.9054800, 1.2173400, + 0.8447900, 0.4208400, 0.2512500, 50.4030000, 48.8894600, 45.1750100, + 36.0185500, 28.2961100, 22.6345400, 18.5399200, 15.5218100, 13.2371200, + 11.4612700, 10.0478300, 8.8996800, 7.1551800, 5.9001600, 4.9603600, + 4.2349300, 3.6614600, 2.6567500, 2.0192700, 1.2829000, 0.8883200, + 0.4418100, 0.2636500, 81.5874700, 68.6608200, 56.5880100, 41.3108400, + 31.7640400, 25.2149100, 20.5502500, 17.1270100, 14.5428400, 12.5405500, + 10.9527700, 9.6681900, 7.7278400, 6.3423900, 5.3117300, 4.5206000, + 3.8981800, 2.8146400, 2.1321200, 1.3489800, 0.9318000, 0.4619400, + 0.2752100, 129.7014900, 111.1968900, 84.3720000, 53.9448000, 39.1948300, + 30.3204900, 24.3568100, 20.1026300, 16.9427700, 14.5209100, 12.6163400, + 11.0860700, 8.7940400, 7.1734200, 5.9775200, 5.0658000, 4.3526900, + 3.1210200, 2.3523500, 1.4782600, 1.0166200, 0.5008300, 0.2974000, + +}; +static const double refascale98[6]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount98[6]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 6.00000000000000, +}; +static const int refsys98[6]{ + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc98[6]{ + 3, + 1, + 1, + 1, + 1, + 1, +}; + +// 99 +static const double refcn99[7]{ + +0.00000000000000, + +0.79849386215210, + +1.60774898529053, + +2.48593425750732, + +3.30908131599426, + +4.11455059051514, + +4.89267015457153, +}; +static const double refq99[7]{ + +0.00000000000000, + +0.25690000000000, + +0.32810000000000, + +0.36510000000000, + +0.38330000000000, + +0.39420000000000, + +0.40070000000000, +}; +static const double refsq99[7]{ + +0.00000000000000, + -0.25690000000000, + -0.16405000000000, + -0.12170000000000, + -0.09582500000000, + -0.07884000000000, + -0.06680000000000, +}; +static const double refalpha99[161]{ + 141.2201700, 122.5206800, 89.0107400, 45.7447300, 27.7131900, 19.2896700, + 14.6962900, 11.8616100, 9.9415300, 8.5482600, 7.4847800, 6.6420500, + 5.3832200, 4.4828400, 3.8054200, 3.2777200, 2.8560600, 2.1040800, + 1.6159000, 1.0393900, 0.7247100, 0.3640000, 0.2186500, 127.1190700, + 101.1671600, 69.0944700, 38.4335200, 25.7933500, 19.2100200, 15.2410000, + 12.5963000, 10.7033800, 9.2761300, 8.1577800, 7.2557300, 5.8873100, + 4.8978500, 4.1503900, 3.5677000, 3.1025200, 2.2754300, 1.7412300, + 1.1142700, 0.7742600, 0.3869300, 0.2317800, 51.5499300, 49.1951700, + 43.8725300, 32.7274200, 24.7930800, 19.5486400, 15.9633400, 13.3936100, + 11.4716600, 9.9828300, 8.7965200, 7.8296100, 6.3505900, 5.2757400, + 4.4628300, 3.8294800, 3.3245500, 2.4293800, 1.8537300, 1.1814400, + 0.8186900, 0.4074700, 0.2435100, 48.7142300, 47.1908400, 43.6761400, + 35.1176500, 27.7848700, 22.3133400, 18.3099600, 15.3383400, 13.0793500, + 11.3191000, 9.9161400, 8.7758300, 7.0433800, 5.7983900, 4.8676300, + 4.1504500, 3.5844500, 2.5951700, 1.9692400, 1.2483100, 0.8632400, + 0.4290200, 0.2562900, 85.3606600, 70.4284500, 56.8603800, 40.9584000, + 31.3950300, 24.9036700, 20.2901400, 16.9042800, 14.3470300, 12.3646900, + 10.7923500, 9.5202500, 7.5994900, 6.2293800, 5.2113800, 4.4309500, + 3.8176500, 2.7516900, 2.0815200, 1.3141600, 0.9064900, 0.4489300, + 0.2676700, 117.4576200, 94.0368600, 70.6831300, 47.1236300, 35.1066300, + 27.5008100, 22.2441900, 18.4361400, 15.5817300, 13.3811300, 11.6435800, + 10.2434300, 8.1400700, 6.6486900, 5.5460500, 4.7042100, 4.0449500, + 2.9043500, 2.1910300, 1.3783300, 0.9485600, 0.4682100, 0.2786700, + 150.7635300, 117.5979300, 85.0999300, 53.7332400, 38.9845200, 30.1309200, + 24.1804600, 19.9356900, 16.7838100, 14.3694000, 12.4720300, 10.9487800, + 8.6702100, 7.0620600, 5.8774600, 4.9757900, 4.2715100, 3.0572800, + 2.3010400, 1.4429200, 0.9909300, 0.4876200, 0.2897300, +}; +static const double refascale99[7]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount99[7]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys99[7]{ + 1, + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc99[7]{ + 3, + 1, + 1, + 1, + 1, + 1, + 1, +}; + +// 100 +static const double refcn100[7]{ + +0.00000000000000, + +0.81187158823013, + +1.63818895816803, + +2.51218342781067, + +3.33093667030334, + +4.15018892288208, + +4.97273159027100, +}; +static const double refq100[7]{ + +0.00000000000000, + +0.30910000000000, + +0.38670000000000, + +0.42570000000000, + +0.44340000000000, + +0.45430000000000, + +0.46150000000000, +}; +static const double refsq100[7]{ + +0.00000000000000, + -0.30910000000000, + -0.19335000000000, + -0.14190000000000, + -0.11085000000000, + -0.09086000000000, + -0.07690000000000, +}; +static const double refalpha100[161]{ + 134.5132400, 117.3651100, 86.0922200, 44.8044200, 27.3252700, 19.0895400, + 14.5664700, 11.7577800, 9.8459700, 8.4541400, 7.3899600, 6.5463600, + 5.2877700, 4.3905500, 3.7182100, 3.1964600, 2.7809400, 2.0430800, + 1.5662000, 1.0051900, 0.7001100, 0.3516500, 0.2115700, 123.4197800, + 98.0796000, 67.3261100, 37.7049500, 25.4441800, 19.0089500, 15.0992900, + 12.4780100, 10.5937400, 9.1693800, 8.0521000, 7.1509400, 5.7857800, + 4.8016800, 4.0607900, 3.4850500, 3.0266800, 2.2145000, 1.6918400, + 1.0804100, 0.7499000, 0.3746800, 0.2247500, 49.2489800, 47.1164900, + 42.3467900, 32.0194900, 24.4465800, 19.3482600, 15.8217100, 13.2748600, + 11.3611400, 9.8749900, 8.6897000, 7.7237600, 6.2483100, 5.1791900, + 4.3731500, 3.7469800, 3.2490100, 2.3689400, 1.8048600, 1.1480300, + 0.7947000, 0.3954200, 0.2366200, 48.8289600, 46.7101500, 42.7341700, + 34.2569100, 27.1850100, 21.8934500, 17.9996100, 15.0945700, 12.8774400, + 11.1448400, 9.7612400, 8.6353300, 6.9235800, 5.6936300, 4.7749000, + 4.0677300, 3.5102500, 2.5373800, 1.9230300, 1.2168900, 0.8406700, + 0.4176900, 0.2498100, 89.9278200, 70.7326700, 55.9993400, 40.2168300, + 30.9059100, 24.5634500, 20.0342000, 16.6975800, 14.1706300, 12.2082400, + 10.6500500, 9.3887800, 7.4844400, 6.1272000, 5.1200400, 4.3489600, + 3.7438000, 2.6938500, 2.0351400, 1.2825800, 0.8837900, 0.4375200, + 0.2611500, 116.8173500, 93.2645400, 70.0509200, 46.6547100, 34.7567800, + 27.2346500, 22.0313300, 18.2566300, 15.4237200, 13.2378500, 11.5111700, + 10.1196800, 8.0301600, 6.5502000, 5.4575200, 4.6244600, 3.9729200, + 2.8477600, 2.1456000, 1.3473800, 0.9263400, 0.4570600, 0.2723100, + 135.6122000, 112.6927600, 83.8706100, 53.3717400, 38.7175500, 29.9159300, + 24.0013000, 19.7798800, 16.6432600, 14.2393700, 12.3498800, 10.8330400, + 8.5652100, 6.9665300, 5.7906000, 4.8968900, 4.1998100, 3.0004700, + 2.2553400, 1.4119100, 0.9688000, 0.4766500, 0.2835300, +}; +static const double refascale100[7]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount100[7]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys100[7]{ + 1, + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc100[7]{ + 3, + 1, + 1, + 1, + 1, + 1, + 1, +}; + +// 101 +static const double refcn101[5]{ + +0.00000000000000, + +0.83019560575485, + +1.67299079895020, + +2.52414393424988, + +3.36544203758240, +}; +static const double refq101[5]{ + +0.00000000000000, + +0.12010000000000, + +0.17910000000000, + +0.21620000000000, + +0.23690000000000, +}; +static const double refsq101[5]{ + +0.00000000000000, + -0.12010000000000, + -0.08955000000000, + -0.07207000000000, + -0.05920000000000, +}; +static const double refalpha101[115]{ + 130.2072000, 114.1115300, 84.3232500, 44.1735800, 26.9219800, 18.7618300, + 14.2890700, 11.5253100, 9.6545200, 8.2988500, 7.2654300, 6.4473300, + 5.2261900, 4.3528300, 3.6953200, 3.1826200, 2.7725000, 2.0398100, + 1.5632300, 1.0001900, 0.6937800, 0.3454500, 0.2067300, 122.3584000, + 96.7485900, 66.8292500, 37.3575000, 25.1065100, 18.6943300, 14.8200100, + 12.2392800, 10.3950300, 9.0069900, 7.9210100, 7.0460100, 5.7195500, + 4.7603300, 4.0350800, 3.4690000, 3.0164800, 2.2102000, 1.6882200, + 1.0750900, 0.7433900, 0.3684100, 0.2198600, 50.5776500, 48.2323300, + 43.1074800, 32.1977700, 24.3573900, 19.1617800, 15.6147000, 13.0800000, + 11.1905700, 9.7313000, 8.5713100, 7.6275000, 6.1859700, 5.1392300, + 4.3474700, 3.7302200, 3.2377200, 2.3633300, 1.8000600, 1.1419300, + 0.7876700, 0.3889300, 0.2316200, 71.2250100, 59.4085900, 48.9787800, + 35.5944200, 27.1964200, 21.5383500, 17.5689600, 14.6827100, 12.5133600, + 10.8340600, 9.5007400, 8.4192200, 6.7771600, 5.5952800, 4.7088100, + 4.0230100, 3.4795100, 2.5235200, 1.9142100, 1.2088600, 0.8319600, + 0.4097500, 0.2436900, 100.3385300, 84.3364300, 64.3830000, 42.1400900, + 30.8493900, 23.9708700, 19.3555900, 16.0717600, 13.6333100, 11.7603700, + 10.2817000, 9.0876400, 7.2841600, 5.9935900, 5.0301200, 4.2876300, + 3.7011600, 2.6742300, 2.0231300, 1.2731600, 0.8742500, 0.4291600, + 0.2547600, +}; +static const double refascale101[5]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount101[5]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, +}; +static const int refsys101[5]{ + 1, + 1, + 1, + 1, + 1, +}; +static const int refc101[5]{ + 3, + 1, + 1, + 1, + 1, +}; + +// 102 +static const double refcn102[7]{ + +0.00000000000000, + +0.83132714033127, + +1.67657399177551, + +2.51869487762451, + +3.36061143875122, + +3.62583565711975, + +3.85555744171143, +}; +static const double refq102[7]{ + +0.00000000000000, + +0.01100000000000, + +0.01580000000000, + +0.01860000000000, + +0.02020000000000, + +0.02500000000000, + +0.02900000000000, +}; +static const double refsq102[7]{ + +0.00000000000000, + -0.01100000000000, + -0.00790000000000, + -0.00620000000000, + -0.00500000000000, + -0.00500000000000, + -0.00483000000000, +}; +static const double refalpha102[161]{ + 124.8052800, 110.0045000, 82.1183900, 43.5324100, 26.6190500, 18.5568300, + 14.1261500, 11.3882900, 9.5371900, 8.1977100, 7.1778500, 6.3710900, + 5.1672000, 4.3056400, 3.6562200, 3.1491500, 2.7430100, 2.0161900, + 1.5426600, 0.9830300, 0.6790800, 0.3355800, 0.2000200, 116.7644400, + 95.7311100, 67.1224100, 37.6422800, 25.1782600, 18.6618300, 14.7429700, + 12.1468300, 10.3010700, 8.9177600, 7.8389200, 6.9715600, 5.6589500, + 4.7104300, 3.9930400, 3.4326900, 2.9843700, 2.1845800, 1.6661600, + 1.0570800, 0.7281600, 0.3583200, 0.2130500, 50.1539300, 47.9467800, + 42.8472600, 32.0060400, 24.1919600, 19.0043700, 15.4660100, 12.9435000, + 11.0680800, 9.6229000, 8.4760000, 7.5438000, 6.1208100, 5.0872300, + 4.3047000, 3.6939600, 3.2061100, 2.3386200, 1.7789200, 1.1246200, + 0.7729500, 0.3790900, 0.2249400, 91.3663900, 69.0314800, 53.6426300, + 36.5348500, 27.1761000, 21.2644300, 17.2504600, 14.3838400, 12.2513400, + 10.6102800, 9.3114600, 8.2594600, 6.6624500, 5.5110600, 4.6451400, + 3.9732400, 3.4392500, 2.4961800, 1.8924500, 1.1916000, 0.8171200, + 0.3995300, 0.2366600, 124.2501600, 93.6045400, 66.8688500, 42.1117700, + 30.4955400, 23.5931200, 19.0153800, 15.7803700, 13.3883600, 11.5557700, + 10.1109200, 8.9447300, 7.1826000, 5.9194400, 4.9741900, 4.2439200, + 3.6657200, 2.6498600, 2.0034100, 1.2571400, 0.8603100, 0.4194600, + 0.2480700, 129.4476100, 97.8022200, 70.5399100, 44.9644600, 32.7582600, + 25.4115300, 20.4944800, 17.0008300, 14.4106000, 12.4242700, 10.8583100, + 9.5951500, 7.6891000, 6.3255500, 5.3071500, 4.5217400, 3.9008700, + 2.8126000, 2.1221900, 1.3278300, 0.9068900, 0.4408400, 0.2602500, + 134.8206700, 102.1887200, 74.4006500, 47.9164700, 35.0575700, 27.2357800, + 21.9652600, 18.2071400, 15.4169700, 13.2770900, 11.5910500, 10.2322400, + 8.1848800, 6.7231300, 5.6332500, 4.7939800, 4.1314200, 2.9723400, + 2.2388600, 1.3973400, 0.9527200, 0.4618800, 0.2722400, +}; +static const double refascale102[7]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount102[7]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys102[7]{ + 1, + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc102[7]{ + 3, + 1, + 1, + 1, + 1, + 1, + 1, +}; + +// 103 +static const double refcn103[7]{ + +0.00000000000000, + +0.81793087720871, + +1.64256453514099, + +2.47565555572510, + +3.21661520004272, + +3.99956941604614, + +4.77920246124268, +}; +static const double refq103[7]{ + +0.00000000000000, + +0.26760000000000, + +0.30610000000000, + +0.32020000000000, + +0.32590000000000, + +0.32850000000000, + +0.32990000000000, +}; +static const double refsq103[7]{ + +0.00000000000000, + -0.26760000000000, + -0.15305000000000, + -0.10673000000000, + -0.08150000000000, + -0.06570000000000, + -0.05500000000000, +}; +static const double refalpha103[161]{ + 206.6533200, 83.6937500, 64.8432200, 38.7234300, 25.1567100, 18.0960100, + 14.0318300, 11.4483000, 9.6673800, 8.3601100, 7.3535200, 6.5499200, + 5.3380000, 4.4612000, 3.7954000, 3.2730000, 2.8532900, 2.0999600, + 1.6078600, 1.0246900, 0.7070000, 0.3474600, 0.2059100, 92.3161300, + 82.9673800, 65.8155800, 40.9485200, 27.9903000, 20.6982400, 16.1941600, + 13.1960200, 11.0779900, 9.5086500, 8.3004100, 7.3410300, 5.9114700, + 4.8952500, 4.1354500, 3.5468000, 3.0786100, 2.2486600, 1.7134000, + 1.0857400, 0.7466800, 0.3653500, 0.2160000, 84.5082300, 70.8844100, + 54.6073800, 36.7023400, 26.9875800, 20.8759700, 16.7762200, 13.8910500, + 11.7749600, 10.1664300, 8.9059700, 7.8927900, 6.3660200, 5.2713300, + 4.4497300, 3.8123300, 3.3053600, 2.4078400, 1.8306800, 1.1565000, + 0.7937900, 0.3873200, 0.2286200, 47.5131300, 46.1744600, 42.8144500, + 34.3869400, 27.1100000, 21.6792100, 17.7218900, 14.8050900, 12.6061100, + 10.9063200, 9.5606300, 8.4722600, 6.8249300, 5.6415400, 4.7538100, + 4.0661300, 3.5201400, 2.5565200, 1.9394100, 1.2216400, 0.8370200, + 0.4074000, 0.2401300, 242.4220100, 51.7872100, 46.2957100, 36.7861900, + 29.2534000, 23.5192300, 19.2597900, 16.0851700, 13.6784800, 11.8139300, + 10.3373100, 9.1439400, 7.3414600, 6.0511200, 5.0865400, 4.3417100, + 3.7520400, 2.7154900, 2.0548700, 1.2901200, 0.8821300, 0.4281400, + 0.2519400, 143.6356600, 96.0464200, 68.6157000, 45.5604500, 33.9675300, + 26.5910500, 21.4849100, 17.7937700, 15.0381700, 12.9231500, 11.2595600, + 9.9227000, 7.9177900, 6.4946700, 5.4383800, 4.6275900, 3.9888900, + 2.8734500, 2.1676600, 1.3558600, 0.9251400, 0.4478000, 0.2631500, + 176.3109100, 122.3954600, 83.0180800, 51.6133400, 37.3991000, 28.8827900, + 23.1674700, 19.1031400, 16.0971100, 13.8030600, 12.0054900, 10.5648400, + 8.4103200, 6.8853900, 5.7560900, 4.8909700, 4.2106800, 3.0256600, + 2.2782900, 1.4215700, 0.9684800, 0.4677700, 0.2745500, +}; +static const double refascale103[7]{ + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, + 1.00000000000000, +}; +static const double refscount103[7]{ + 0.00000000000000, + 1.00000000000000, + 2.00000000000000, + 3.00000000000000, + 4.00000000000000, + 5.00000000000000, + 6.00000000000000, +}; +static const int refsys103[7]{ + 1, + 1, + 1, + 1, + 1, + 1, + 1, +}; +static const int refc103[7]{ + 3, + 1, + 1, + 1, + 1, + 1, + 1, +}; + +//////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// + +static const double *refcn[MAXELEMENT]{ + nullptr, refcn1, refcn2, refcn3, refcn4, refcn5, refcn6, refcn7, + refcn8, refcn9, refcn10, refcn11, refcn12, refcn13, refcn14, refcn15, + refcn16, refcn17, refcn18, refcn19, refcn20, refcn21, refcn22, refcn23, + refcn24, refcn25, refcn26, refcn27, refcn28, refcn29, refcn30, refcn31, + refcn32, refcn33, refcn34, refcn35, refcn36, refcn37, refcn38, refcn39, + refcn40, refcn41, refcn42, refcn43, refcn44, refcn45, refcn46, refcn47, + refcn48, refcn49, refcn50, refcn51, refcn52, refcn53, refcn54, refcn55, + refcn56, refcn57, refcn58, refcn59, refcn60, refcn61, refcn62, refcn63, + refcn64, refcn65, refcn66, refcn67, refcn68, refcn69, refcn70, refcn71, + refcn72, refcn73, refcn74, refcn75, refcn76, refcn77, refcn78, refcn79, + refcn80, refcn81, refcn82, refcn83, refcn84, refcn85, refcn86, refcn87, + refcn88, refcn89, refcn90, refcn91, refcn92, refcn93, refcn94, refcn95, + refcn96, refcn97, refcn98, refcn99, refcn100, refcn101, refcn102, refcn103, +}; +static const double *refq[MAXELEMENT]{ + nullptr, refq1, refq2, refq3, refq4, refq5, refq6, refq7, refq8, + refq9, refq10, refq11, refq12, refq13, refq14, refq15, refq16, refq17, + refq18, refq19, refq20, refq21, refq22, refq23, refq24, refq25, refq26, + refq27, refq28, refq29, refq30, refq31, refq32, refq33, refq34, refq35, + refq36, refq37, refq38, refq39, refq40, refq41, refq42, refq43, refq44, + refq45, refq46, refq47, refq48, refq49, refq50, refq51, refq52, refq53, + refq54, refq55, refq56, refq57, refq58, refq59, refq60, refq61, refq62, + refq63, refq64, refq65, refq66, refq67, refq68, refq69, refq70, refq71, + refq72, refq73, refq74, refq75, refq76, refq77, refq78, refq79, refq80, + refq81, refq82, refq83, refq84, refq85, refq86, refq87, refq88, refq89, + refq90, refq91, refq92, refq93, refq94, refq95, refq96, refq97, refq98, + refq99, refq100, refq101, refq102, refq103, +}; +static const double *refsq[MAXELEMENT]{ + nullptr, refsq1, refsq2, refsq3, refsq4, refsq5, refsq6, refsq7, + refsq8, refsq9, refsq10, refsq11, refsq12, refsq13, refsq14, refsq15, + refsq16, refsq17, refsq18, refsq19, refsq20, refsq21, refsq22, refsq23, + refsq24, refsq25, refsq26, refsq27, refsq28, refsq29, refsq30, refsq31, + refsq32, refsq33, refsq34, refsq35, refsq36, refsq37, refsq38, refsq39, + refsq40, refsq41, refsq42, refsq43, refsq44, refsq45, refsq46, refsq47, + refsq48, refsq49, refsq50, refsq51, refsq52, refsq53, refsq54, refsq55, + refsq56, refsq57, refsq58, refsq59, refsq60, refsq61, refsq62, refsq63, + refsq64, refsq65, refsq66, refsq67, refsq68, refsq69, refsq70, refsq71, + refsq72, refsq73, refsq74, refsq75, refsq76, refsq77, refsq78, refsq79, + refsq80, refsq81, refsq82, refsq83, refsq84, refsq85, refsq86, refsq87, + refsq88, refsq89, refsq90, refsq91, refsq92, refsq93, refsq94, refsq95, + refsq96, refsq97, refsq98, refsq99, refsq100, refsq101, refsq102, refsq103, +}; +static const double *refalpha[MAXELEMENT]{ + nullptr, refalpha1, refalpha2, refalpha3, refalpha4, refalpha5, + refalpha6, refalpha7, refalpha8, refalpha9, refalpha10, refalpha11, + refalpha12, refalpha13, refalpha14, refalpha15, refalpha16, refalpha17, + refalpha18, refalpha19, refalpha20, refalpha21, refalpha22, refalpha23, + refalpha24, refalpha25, refalpha26, refalpha27, refalpha28, refalpha29, + refalpha30, refalpha31, refalpha32, refalpha33, refalpha34, refalpha35, + refalpha36, refalpha37, refalpha38, refalpha39, refalpha40, refalpha41, + refalpha42, refalpha43, refalpha44, refalpha45, refalpha46, refalpha47, + refalpha48, refalpha49, refalpha50, refalpha51, refalpha52, refalpha53, + refalpha54, refalpha55, refalpha56, refalpha57, refalpha58, refalpha59, + refalpha60, refalpha61, refalpha62, refalpha63, refalpha64, refalpha65, + refalpha66, refalpha67, refalpha68, refalpha69, refalpha70, refalpha71, + refalpha72, refalpha73, refalpha74, refalpha75, refalpha76, refalpha77, + refalpha78, refalpha79, refalpha80, refalpha81, refalpha82, refalpha83, + refalpha84, refalpha85, refalpha86, refalpha87, refalpha88, refalpha89, + refalpha90, refalpha91, refalpha92, refalpha93, refalpha94, refalpha95, + refalpha96, refalpha97, refalpha98, refalpha99, refalpha100, refalpha101, + refalpha102, refalpha103, +}; +static const double *refascale[MAXELEMENT]{ + nullptr, refascale1, refascale2, refascale3, refascale4, + refascale5, refascale6, refascale7, refascale8, refascale9, + refascale10, refascale11, refascale12, refascale13, refascale14, + refascale15, refascale16, refascale17, refascale18, refascale19, + refascale20, refascale21, refascale22, refascale23, refascale24, + refascale25, refascale26, refascale27, refascale28, refascale29, + refascale30, refascale31, refascale32, refascale33, refascale34, + refascale35, refascale36, refascale37, refascale38, refascale39, + refascale40, refascale41, refascale42, refascale43, refascale44, + refascale45, refascale46, refascale47, refascale48, refascale49, + refascale50, refascale51, refascale52, refascale53, refascale54, + refascale55, refascale56, refascale57, refascale58, refascale59, + refascale60, refascale61, refascale62, refascale63, refascale64, + refascale65, refascale66, refascale67, refascale68, refascale69, + refascale70, refascale71, refascale72, refascale73, refascale74, + refascale75, refascale76, refascale77, refascale78, refascale79, + refascale80, refascale81, refascale82, refascale83, refascale84, + refascale85, refascale86, refascale87, refascale88, refascale89, + refascale90, refascale91, refascale92, refascale93, refascale94, + refascale95, refascale96, refascale97, refascale98, refascale99, + refascale100, refascale101, refascale102, refascale103, +}; +static const double *refscount[MAXELEMENT]{ + nullptr, refscount1, refscount2, refscount3, refscount4, + refscount5, refscount6, refscount7, refscount8, refscount9, + refscount10, refscount11, refscount12, refscount13, refscount14, + refscount15, refscount16, refscount17, refscount18, refscount19, + refscount20, refscount21, refscount22, refscount23, refscount24, + refscount25, refscount26, refscount27, refscount28, refscount29, + refscount30, refscount31, refscount32, refscount33, refscount34, + refscount35, refscount36, refscount37, refscount38, refscount39, + refscount40, refscount41, refscount42, refscount43, refscount44, + refscount45, refscount46, refscount47, refscount48, refscount49, + refscount50, refscount51, refscount52, refscount53, refscount54, + refscount55, refscount56, refscount57, refscount58, refscount59, + refscount60, refscount61, refscount62, refscount63, refscount64, + refscount65, refscount66, refscount67, refscount68, refscount69, + refscount70, refscount71, refscount72, refscount73, refscount74, + refscount75, refscount76, refscount77, refscount78, refscount79, + refscount80, refscount81, refscount82, refscount83, refscount84, + refscount85, refscount86, refscount87, refscount88, refscount89, + refscount90, refscount91, refscount92, refscount93, refscount94, + refscount95, refscount96, refscount97, refscount98, refscount99, + refscount100, refscount101, refscount102, refscount103, +}; +static const int *refsys[MAXELEMENT]{ + nullptr, refsys1, refsys2, refsys3, refsys4, refsys5, refsys6, + refsys7, refsys8, refsys9, refsys10, refsys11, refsys12, refsys13, + refsys14, refsys15, refsys16, refsys17, refsys18, refsys19, refsys20, + refsys21, refsys22, refsys23, refsys24, refsys25, refsys26, refsys27, + refsys28, refsys29, refsys30, refsys31, refsys32, refsys33, refsys34, + refsys35, refsys36, refsys37, refsys38, refsys39, refsys40, refsys41, + refsys42, refsys43, refsys44, refsys45, refsys46, refsys47, refsys48, + refsys49, refsys50, refsys51, refsys52, refsys53, refsys54, refsys55, + refsys56, refsys57, refsys58, refsys59, refsys60, refsys61, refsys62, + refsys63, refsys64, refsys65, refsys66, refsys67, refsys68, refsys69, + refsys70, refsys71, refsys72, refsys73, refsys74, refsys75, refsys76, + refsys77, refsys78, refsys79, refsys80, refsys81, refsys82, refsys83, + refsys84, refsys85, refsys86, refsys87, refsys88, refsys89, refsys90, + refsys91, refsys92, refsys93, refsys94, refsys95, refsys96, refsys97, + refsys98, refsys99, refsys100, refsys101, refsys102, refsys103, +}; +static const int *refc[MAXELEMENT]{ + nullptr, refc1, refc2, refc3, refc4, refc5, refc6, refc7, refc8, + refc9, refc10, refc11, refc12, refc13, refc14, refc15, refc16, refc17, + refc18, refc19, refc20, refc21, refc22, refc23, refc24, refc25, refc26, + refc27, refc28, refc29, refc30, refc31, refc32, refc33, refc34, refc35, + refc36, refc37, refc38, refc39, refc40, refc41, refc42, refc43, refc44, + refc45, refc46, refc47, refc48, refc49, refc50, refc51, refc52, refc53, + refc54, refc55, refc56, refc57, refc58, refc59, refc60, refc61, refc62, + refc63, refc64, refc65, refc66, refc67, refc68, refc69, refc70, refc71, + refc72, refc73, refc74, refc75, refc76, refc77, refc78, refc79, refc80, + refc81, refc82, refc83, refc84, refc85, refc86, refc87, refc88, refc89, + refc90, refc91, refc92, refc93, refc94, refc95, refc96, refc97, refc98, + refc99, refc100, refc101, refc102, refc103, }; // sec. 1 diff --git a/src/dftd_eeq.cpp b/src/dftd_eeq.cpp index de8546d..a9b5a5e 100644 --- a/src/dftd_eeq.cpp +++ b/src/dftd_eeq.cpp @@ -31,70 +31,107 @@ // wrap everything in the dftd namespace to keep it nicely confined namespace dftd4 { -static const double xi[87]{ - 0.0, 1.23695041, 1.26590957, 0.54341808, 0.99666991, 1.26691604, - 1.40028282, 1.55819364, 1.56866440, 1.57540015, 1.15056627, 0.55936220, - 0.72373742, 1.12910844, 1.12306840, 1.52672442, 1.40768172, 1.48154584, - 1.31062963, 0.40374140, 0.75442607, 0.76482096, 0.98457281, 0.96702598, - 1.05266584, 0.93274875, 1.04025281, 0.92738624, 1.07419210, 1.07900668, - 1.04712861, 1.15018618, 1.15388455, 1.36313743, 1.36485106, 1.39801837, - 1.18695346, 0.36273870, 0.58797255, 0.71961946, 0.96158233, 0.89585296, - 0.81360499, 1.00794665, 0.92613682, 1.09152285, 1.14907070, 1.13508911, - 1.08853785, 1.11005982, 1.12452195, 1.21642129, 1.36507125, 1.40340000, - 1.16653482, 0.34125098, 0.58884173, 0.68441115, 0.56999999, 0.56999999, - 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, - 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, - 0.87936784, 1.02761808, 0.93297476, 1.10172128, 0.97350071, 1.16695666, - 1.23997927, 1.18464453, 1.14191734, 1.12334192, 1.01485321, 1.12950808, - 1.30804834, 1.33689961, 1.27465977}; -static const double gam[87]{ - 0.0, -0.35015861, 1.04121227, 0.09281243, 0.09412380, 0.26629137, - 0.19408787, 0.05317918, 0.03151644, 0.32275132, 1.30996037, 0.24206510, - 0.04147733, 0.11634126, 0.13155266, 0.15350650, 0.15250997, 0.17523529, - 0.28774450, 0.42937314, 0.01896455, 0.07179178, -0.01121381, -0.03093370, - 0.02716319, -0.01843812, -0.15270393, -0.09192645, -0.13418723, -0.09861139, - 0.18338109, 0.08299615, 0.11370033, 0.19005278, 0.10980677, 0.12327841, - 0.25345554, 0.58615231, 0.16093861, 0.04548530, -0.02478645, 0.01909943, - 0.01402541, -0.03595279, 0.01137752, -0.03697213, 0.08009416, 0.02274892, - 0.12801822, -0.02078702, 0.05284319, 0.07581190, 0.09663758, 0.09547417, - 0.07803344, 0.64913257, 0.15348654, 0.05054344, 0.11000000, 0.11000000, - 0.11000000, 0.11000000, 0.11000000, 0.11000000, 0.11000000, 0.11000000, - 0.11000000, 0.11000000, 0.11000000, 0.11000000, 0.11000000, 0.11000000, - -0.02786741, 0.01057858, -0.03892226, -0.04574364, -0.03874080, -0.03782372, - -0.07046855, 0.09546597, 0.21953269, 0.02522348, 0.15263050, 0.08042611, - 0.01878626, 0.08715453, 0.10500484}; -static const double kappa[87]{ - 0.0, 0.04916110, 0.10937243, -0.12349591, -0.02665108, -0.02631658, - 0.06005196, 0.09279548, 0.11689703, 0.15704746, 0.07987901, -0.10002962, - -0.07712863, -0.02170561, -0.04964052, 0.14250599, 0.07126660, 0.13682750, - 0.14877121, -0.10219289, -0.08979338, -0.08273597, -0.01754829, -0.02765460, - -0.02558926, -0.08010286, -0.04163215, -0.09369631, -0.03774117, -0.05759708, - 0.02431998, -0.01056270, -0.02692862, 0.07657769, 0.06561608, 0.08006749, - 0.14139200, -0.05351029, -0.06701705, -0.07377246, -0.02927768, -0.03867291, - -0.06929825, -0.04485293, -0.04800824, -0.01484022, 0.07917502, 0.06619243, - 0.02434095, -0.01505548, -0.03030768, 0.01418235, 0.08953411, 0.08967527, - 0.07277771, -0.02129476, -0.06188828, -0.06568203, -0.11000000, -0.11000000, - -0.11000000, -0.11000000, -0.11000000, -0.11000000, -0.11000000, -0.11000000, - -0.11000000, -0.11000000, -0.11000000, -0.11000000, -0.11000000, -0.11000000, - -0.03585873, -0.03132400, -0.05902379, -0.02827592, -0.07606260, -0.02123839, - 0.03814822, 0.02146834, 0.01580538, -0.00894298, -0.05864876, -0.01817842, - 0.07721851, 0.07936083, 0.05849285}; -static const double alp[87]{ - 0.0, 0.55159092, 0.66205886, 0.90529132, 1.51710827, 2.86070364, - 1.88862966, 1.32250290, 1.23166285, 1.77503721, 1.11955204, 1.28263182, - 1.22344336, 1.70936266, 1.54075036, 1.38200579, 2.18849322, 1.36779065, - 1.27039703, 1.64466502, 1.58859404, 1.65357953, 1.50021521, 1.30104175, - 1.46301827, 1.32928147, 1.02766713, 1.02291377, 0.94343886, 1.14881311, - 1.47080755, 1.76901636, 1.98724061, 2.41244711, 2.26739524, 2.95378999, - 1.20807752, 1.65941046, 1.62733880, 1.61344972, 1.63220728, 1.60899928, - 1.43501286, 1.54559205, 1.32663678, 1.37644152, 1.36051851, 1.23395526, - 1.65734544, 1.53895240, 1.97542736, 1.97636542, 2.05432381, 3.80138135, - 1.43893803, 1.75505957, 1.59815118, 1.76401732, 1.63999999, 1.63999999, - 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, - 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, - 1.47055223, 1.81127084, 1.40189963, 1.54015481, 1.33721475, 1.57165422, - 1.04815857, 1.78342098, 2.79106396, 1.78160840, 2.47588882, 2.37670734, - 1.76613217, 2.66172302, 2.82773085}; +constexpr int MAXELEMENT = 104; // 103 + dummy + +static const double xi[MAXELEMENT]{ + +0.00000000, + +1.23695041, +1.26590957, +0.54341808, +0.99666991, +1.26691604, + +1.40028282, +1.55819364, +1.56866440, +1.57540015, +1.15056627, + +0.55936220, +0.72373742, +1.12910844, +1.12306840, +1.52672442, + +1.40768172, +1.48154584, +1.31062963, +0.40374140, +0.75442607, + +0.76482096, +0.98457281, +0.96702598, +1.05266584, +0.93274875, + +1.04025281, +0.92738624, +1.07419210, +1.07900668, +1.04712861, + +1.15018618, +1.15388455, +1.36313743, +1.36485106, +1.39801837, + +1.18695346, +0.36273870, +0.58797255, +0.71961946, +0.96158233, + +0.89585296, +0.81360499, +1.00794665, +0.92613682, +1.09152285, + +1.14907070, +1.13508911, +1.08853785, +1.11005982, +1.12452195, + +1.21642129, +1.36507125, +1.40340000, +1.16653482, +0.34125098, + +0.58884173, +0.68441115, +0.56999999, +0.56999999, +0.56999999, + +0.56999999, +0.56999999, +0.56999999, +0.56999999, +0.56999999, + +0.56999999, +0.56999999, +0.56999999, +0.56999999, +0.56999999, + +0.56999999, +0.87936784, +1.02761808, +0.93297476, +1.10172128, + +0.97350071, +1.16695666, +1.23997927, +1.18464453, +1.14191734, + +1.12334192, +1.01485321, +1.12950808, +1.30804834, +1.33689961, + +1.27465977, +1.06598299, +0.68184178, +1.25994649, +0.40030316, + +0.29458157, +0.75460678, +0.42330605, +0.53613714, +0.58870880, + +0.50349105, +0.02647510, +0.45350118, +0.63133032, +0.45995218, + +1.01557723, +1.17163176, +0.23501195, +}; + +static const double gam[MAXELEMENT]{ // eta (hardness) + +0.00000000, + -0.35015861, +1.04121227, +0.09281243, +0.09412380, +0.26629137, + +0.19408787, +0.05317918, +0.03151644, +0.32275132, +1.30996037, + +0.24206510, +0.04147733, +0.11634126, +0.13155266, +0.15350650, + +0.15250997, +0.17523529, +0.28774450, +0.42937314, +0.01896455, + +0.07179178, -0.01121381, -0.03093370, +0.02716319, -0.01843812, + -0.15270393, -0.09192645, -0.13418723, -0.09861139, +0.18338109, + +0.08299615, +0.11370033, +0.19005278, +0.10980677, +0.12327841, + +0.25345554, +0.58615231, +0.16093861, +0.04548530, -0.02478645, + +0.01909943, +0.01402541, -0.03595279, +0.01137752, -0.03697213, + +0.08009416, +0.02274892, +0.12801822, -0.02078702, +0.05284319, + +0.07581190, +0.09663758, +0.09547417, +0.07803344, +0.64913257, + +0.15348654, +0.05054344, +0.11000000, +0.11000000, +0.11000000, + +0.11000000, +0.11000000, +0.11000000, +0.11000000, +0.11000000, + +0.11000000, +0.11000000, +0.11000000, +0.11000000, +0.11000000, + +0.11000000, -0.02786741, +0.01057858, -0.03892226, -0.04574364, + -0.03874080, -0.03782372, -0.07046855, +0.09546597, +0.21953269, + +0.02522348, +0.15263050, +0.08042611, +0.01878626, +0.08715453, + +0.10500484, +0.10034731, +0.15801991, -0.00995585, +0.13654805, + +0.15968516, +0.12442023, +0.13340491, +0.11523968, +0.12165907, + +0.08181387, +0.65060023, +0.18634958, +0.16685501, +0.15080023, + +0.10094112, +0.10503808, +0.68963544, +}; + +static const double kappa[MAXELEMENT]{ // kcn + +0.00000000, + +0.04916110, +0.10937243, -0.12349591, -0.02665108, -0.02631658, + +0.06005196, +0.09279548, +0.11689703, +0.15704746, +0.07987901, + -0.10002962, -0.07712863, -0.02170561, -0.04964052, +0.14250599, + +0.07126660, +0.13682750, +0.14877121, -0.10219289, -0.08979338, + -0.08273597, -0.01754829, -0.02765460, -0.02558926, -0.08010286, + -0.04163215, -0.09369631, -0.03774117, -0.05759708, +0.02431998, + -0.01056270, -0.02692862, +0.07657769, +0.06561608, +0.08006749, + +0.14139200, -0.05351029, -0.06701705, -0.07377246, -0.02927768, + -0.03867291, -0.06929825, -0.04485293, -0.04800824, -0.01484022, + +0.07917502, +0.06619243, +0.02434095, -0.01505548, -0.03030768, + +0.01418235, +0.08953411, +0.08967527, +0.07277771, -0.02129476, + -0.06188828, -0.06568203, -0.11000000, -0.11000000, -0.11000000, + -0.11000000, -0.11000000, -0.11000000, -0.11000000, -0.11000000, + -0.11000000, -0.11000000, -0.11000000, -0.11000000, -0.11000000, + -0.11000000, -0.03585873, -0.03132400, -0.05902379, -0.02827592, + -0.07606260, -0.02123839, +0.03814822, +0.02146834, +0.01580538, + -0.00894298, -0.05864876, -0.01817842, +0.07721851, +0.07936083, + +0.05849285, +0.00013506, -0.00020631, +0.00328823, +0.00419390, + +0.00429264, +0.00193300, +0.00478177, +0.00264040, +0.00418168, + +0.00399258, -0.00293781, -0.00195990, +0.00148017, -0.00011254, + +0.00023249, -0.00006144, -0.02459107, +}; + +static const double alp[MAXELEMENT]{ // rad + +0.00000000, + +0.55159092, +0.66205886, +0.90529132, +1.51710827, +2.86070364, + +1.88862966, +1.32250290, +1.23166285, +1.77503721, +1.11955204, + +1.28263182, +1.22344336, +1.70936266, +1.54075036, +1.38200579, + +2.18849322, +1.36779065, +1.27039703, +1.64466502, +1.58859404, + +1.65357953, +1.50021521, +1.30104175, +1.46301827, +1.32928147, + +1.02766713, +1.02291377, +0.94343886, +1.14881311, +1.47080755, + +1.76901636, +1.98724061, +2.41244711, +2.26739524, +2.95378999, + +1.20807752, +1.65941046, +1.62733880, +1.61344972, +1.63220728, + +1.60899928, +1.43501286, +1.54559205, +1.32663678, +1.37644152, + +1.36051851, +1.23395526, +1.65734544, +1.53895240, +1.97542736, + +1.97636542, +2.05432381, +3.80138135, +1.43893803, +1.75505957, + +1.59815118, +1.76401732, +1.63999999, +1.63999999, +1.63999999, + +1.63999999, +1.63999999, +1.63999999, +1.63999999, +1.63999999, + +1.63999999, +1.63999999, +1.63999999, +1.63999999, +1.63999999, + +1.63999999, +1.47055223, +1.81127084, +1.40189963, +1.54015481, + +1.33721475, +1.57165422, +1.04815857, +1.78342098, +2.79106396, + +1.78160840, +2.47588882, +2.37670734, +1.76613217, +2.66172302, + +2.82773085, +1.04059593, +0.60550051, +1.93854984, +0.50189075, + +0.58180664, +0.73094166, +0.49548126, +0.67685715, +0.59573917, + +0.35345732, +0.29902232, +0.49626064, +0.55816329, +0.49019371, + +1.05120718, +0.95651052, +0.35885251, +}; static const double small = 1e-14; static const double pi = 3.1415926535897932384626433832795029; diff --git a/src/dftd_ncoord.cpp b/src/dftd_ncoord.cpp index 23c9da0..77e979a 100644 --- a/src/dftd_ncoord.cpp +++ b/src/dftd_ncoord.cpp @@ -189,130 +189,130 @@ static const double rad[119]{ 3.6786668559277906, 3.9810230358670613, 3.7290595525843355, - 3.9558266875387886}; + 3.9558266875387886 +}; // pauling EN's static const double en[119]{ - 0.0, - 2.20, - 3.00, // H,He - 0.98, - 1.57, - 2.04, - 2.55, - 3.04, - 3.44, - 3.98, - 4.50, // Li-Ne - 0.93, - 1.31, - 1.61, - 1.90, - 2.19, - 2.58, - 3.16, - 3.50, // Na-Ar - 0.82, - 1.00, // K,Ca - 1.36, - 1.54, - 1.63, - 1.66, - 1.55, - 1.83, - 1.88, - 1.91, - 1.90, - 1.65, // Sc-Zn - 1.81, - 2.01, - 2.18, - 2.55, - 2.96, - 3.00, // Ga-Kr - 0.82, - 0.95, // Rb,Sr - 1.22, - 1.33, - 1.60, - 2.16, - 1.90, - 2.20, - 2.28, - 2.20, - 1.93, - 1.69, // Y-Cd - 1.78, - 1.96, - 2.05, - 2.10, - 2.66, - 2.60, // In-Xe - 0.79, - 0.89, // Cs,Ba - 1.10, - 1.12, - 1.13, - 1.14, - 1.15, - 1.17, - 1.18, // La-Eu - 1.20, - 1.21, - 1.22, - 1.23, - 1.24, - 1.25, - 1.26, // Gd-Yb - 1.27, - 1.30, - 1.50, - 2.36, - 1.90, - 2.20, - 2.20, - 2.28, - 2.54, - 2.00, // Lu-Hg - 1.62, - 2.33, - 2.02, - 2.00, - 2.20, - 2.20, // Tl-Rn - // only dummies below - 1.50, - 1.50, // Fr,Ra - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, // Ac-Am - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, // Cm-No - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, // Rf-Cn - 1.50, - 1.50, - 1.50, - 1.50, - 1.50, - 1.50 // Nh-Og + 0.0, // dummy + 2.20, // H + 3.00, // He + 0.98, // Li (2nd) + 1.57, // Be + 2.04, // B + 2.55, // C + 3.04, // N + 3.44, // O + 3.98, // F + 4.50, // Ne + 0.93, // Na (3rd) + 1.31, // Mg + 1.61, // Al + 1.90, // Si + 2.19, // P + 2.58, // S + 3.16, // Cl + 3.50, // Ar + 0.82, // K (4th) + 1.00, // Ca + 1.36, // Sc + 1.54, // Ti + 1.63, // V + 1.66, // Cr + 1.55, // Mn + 1.83, // Fe + 1.88, // Co + 1.91, // Ni + 1.90, // Cu + 1.65, // Zn + 1.81, // Ga + 2.01, // Ge + 2.18, // As + 2.55, // Se + 2.96, // Br + 3.00, // Kr + 0.82, // Rb (5th) + 0.95, // Sr + 1.22, // Y + 1.33, // Zr + 1.60, // Nb + 2.16, // Mo + 1.90, // Tc + 2.20, // Ru + 2.28, // Rh + 2.20, // Pd + 1.93, // Ag + 1.69, // Cd + 1.78, // In + 1.96, // Sn + 2.05, // Sb + 2.10, // Te + 2.66, // I + 2.60, // Xe + 0.79, // Cs (6th) + 0.89, // Ba + 1.10, // La + 1.12, // Ce + 1.13, // Pr + 1.14, // Nd + 1.15, // Pm + 1.17, // Sm + 1.18, // Eu + 1.20, // Gd + 1.21, // Tb + 1.22, // Dy + 1.23, // Ho + 1.24, // Er + 1.25, // Tm + 1.26, // Yb + 1.27, // Lu + 1.30, // Hf + 1.50, // Ta + 2.36, // W + 1.90, // Re + 2.20, // Os + 2.20, // Ir + 2.28, // Pt + 2.54, // Au + 2.00, // Hg + 1.62, // Tl + 2.33, // Pb + 2.02, // Bi + 2.00, // Po + 2.20, // At + 2.20, // Rn + 0.79, // Fr (7th) + 0.90, // Ra + 1.10, // Ac + 1.30, // Th + 1.50, // Pa + 1.38, // U + 1.36, // Np + 1.28, // Pu + 1.13, // Am + 1.28, // Cm + 1.30, // Bk + 1.30, // Cf + 1.30, // Es + 1.30, // Fm + 1.30, // Md + 1.30, // No + 1.30, // Lr + 1.50, // Rf (only dummies from here) + 1.50, // Db + 1.50, // Sg + 1.50, // Bh + 1.50, // Hs + 1.50, // Mt + 1.50, // Ds + 1.50, // Rg + 1.50, // Cn + 1.50, // Nh + 1.50, // Fl + 1.50, // Lv + 1.50, // Mc + 1.50, // Ts + 1.50, // Og }; static const double kn = 7.5; diff --git a/test/molecules.h b/test/molecules.h index b7efbad..7391d24 100644 --- a/test/molecules.h +++ b/test/molecules.h @@ -141,7 +141,8 @@ static const char upu23_0a_atoms[upu23_0a_n][4]{ "H", "O", "C", "H", "H", "C", "H", "O", "C", "H", "N", "C", "H", "C", "H", "C", "O", "N", "H", "C", "O", "C", "H", "C", "H", "O", "H", "O", "P", "O", "O", "O", "C", "H", "H", "C", "H", "O", "C", "H", "N", "C", "H", "C", "H", - "C", "O", "N", "H", "C", "O", "C", "H", "C", "H", "O", "H", "O", "H"}; + "C", "O", "N", "H", "C", "O", "C", "H", "C", "H", "O", "H", "O", "H" +}; static const double upu23_0a_coord[upu23_0a_n * 3]{ 5.72352554274576, -3.42122719440678, -8.55686315818644, 4.96295410674576, -3.35977500640678, -6.88939899118644, @@ -204,4 +205,66 @@ static const double upu23_0a_coord[upu23_0a_n * 3]{ 2.29959659374576, 9.88216806759322, 7.02583644481356, }; +// AmF3 +static const int amf3_n{4}; +static const int amf3_charge{0}; +static const char amf3_atoms[amf3_n][4]{ + "Am", + "F", + "F", + "F", +}; +static const double amf3_coord[amf3_n * 3]{ + -1.13163973200000, + -2.17446990100000, + +1.10012477100000, + -4.66377948900000, + -3.12947883400000, + -0.36987606800000, + -0.19032564300000, + +1.36339950600000, + -0.36521789300000, + +1.46283310800000, + -4.75734549200000, + -0.36503081000000, +}; + +// Actinides +static const int actinides_n{17}; +static const int actinides_charge{0}; +static const char actinides_atoms[actinides_n][4]{ + "Fr", + "Ra", + "Ac", + "Th", + "Pa", + "U", + "Np", + "Pu", + "Am", + "Cm", + "Bk", + "Cf", + "Es", + "Fm", + "Md", + "No", + "Lr", +}; +static const double actinides_coord[actinides_n * 3]{ + +0.98692316414074, +6.12727238368797, -6.67861597188102, +3.63898862390869, + +5.12109301182962, +3.01908613326278, +5.14503571563551, -3.97172984617710, + +3.82011791828867, +6.71986847575494, +1.71382138402812, +3.92749159076307, + +4.13783589704826, -2.10695793491818, +0.19753203068899, +8.97685097698326, + -3.08813636191844, -4.45568615593938, +12.5486412940776, -1.77128765259458, + +0.59261498922861, +7.82051475868325, -3.97159756604558, -0.53637703616916, + -0.43444574624893, -1.69696511583960, -1.65898182093050, -4.71270645149099, + -0.11534827468942, +2.84863373521297, -2.52061680335614, +1.82937752749537, + -2.10366982879172, +0.13551154616576, +7.99805359235043, -1.55508522619903, + +3.91594542499717, -1.72975169129597, -5.07944366756113, -1.03393930231679, + +4.69307230054046, +0.02656940927472, +6.20675384557240, +4.24490721493632, + -0.71004195169885, +7.04586341131562, +5.20053667939076, -7.51972863675876, + +2.01082807362334, +1.34838807211157, -4.70482633508447, +}; + #endif // MOLECULES_H diff --git a/test/test_disp.cpp b/test/test_disp.cpp index 80aab52..42dd768 100644 --- a/test/test_disp.cpp +++ b/test/test_disp.cpp @@ -87,5 +87,18 @@ int test_disp() { ); if (!info == EXIT_SUCCESS) return info; + info = + test_energy(amf3_n, amf3_atoms, amf3_coord, amf3_charge, amf3_ref_energy); + if (!info == EXIT_SUCCESS) return info; + + info = test_energy( + actinides_n, + actinides_atoms, + actinides_coord, + actinides_charge, + actinides_ref_energy + ); + if (!info == EXIT_SUCCESS) return info; + return EXIT_SUCCESS; } diff --git a/test/test_disp.h b/test/test_disp.h index 1bdb30c..6f5f13b 100644 --- a/test/test_disp.h +++ b/test/test_disp.h @@ -24,6 +24,10 @@ static const double mb16_43_01_ref_energy{-2.5882588037023E-02}; static const double rost61_m1_ref_energy{-3.4287391104745E-02}; +static const double amf3_ref_energy{-2.7250500231929e-03}; + +static const double actinides_ref_energy{-2.752616027438038e-01}; + extern int test_energy( const int n, const char atoms[][4], diff --git a/test/test_disp2.cpp b/test/test_disp2.cpp index 4dcbce4..9496322 100644 --- a/test/test_disp2.cpp +++ b/test/test_disp2.cpp @@ -79,5 +79,14 @@ int test_disp2() { ); if (!info == EXIT_SUCCESS) return info; + info = test_energy2( + actinides_n, + actinides_atoms, + actinides_coord, + actinides_charge, + -2.754490712510605e-01 + ); + if (!info == EXIT_SUCCESS) return info; + return EXIT_SUCCESS; }