From ec01bc2fbd6ca57f2730fe5a4690e2cc169df67b Mon Sep 17 00:00:00 2001 From: Juerg Hutter Date: Mon, 17 Jun 2019 17:07:29 +0200 Subject: [PATCH] =?UTF-8?q?gCP=20potentials=20and=20=EF=BF=BCShort=20range?= =?UTF-8?q?=20bond=20correction=20for=20vdW=20D3=20method=20(general=20for?= =?UTF-8?q?mula)=20(#417)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Short range bond correction for vdW D3 method, parameterize general formula * gCP potentials input * gCP energy/forces * Debug forces * gCP method * Update to latest trunk version * Adjust input interface * Copyright banner and remove replicated file --- data/BASIS_MINIX | 1703 ++++++++++++++++++++++++++++++ data/xc_section/HF-3c.sec | 62 ++ src/common/bibliography.F | 19 +- src/input_cp2k_xc.F | 68 +- src/kg_energy_corrections.F | 3 + src/qs_dispersion_pairpot.F | 14 +- src/qs_dispersion_types.F | 1 + src/qs_dispersion_utils.F | 2 + src/qs_energy_init.F | 9 + src/qs_energy_types.F | 2 + src/qs_energy_utils.F | 1 + src/qs_environment.F | 19 + src/qs_environment_types.F | 20 +- src/qs_force.F | 9 +- src/qs_force_types.F | 9 + src/qs_gcp_method.F | 306 ++++++ src/qs_gcp_types.F | 100 ++ src/qs_gcp_utils.F | 251 +++++ src/qs_ks_methods.F | 2 +- src/qs_ks_utils.F | 3 + src/qs_neighbor_lists.F | 26 +- src/qs_scf_output.F | 3 + src/subsys/atprop_types.F | 5 +- tests/QS/regtest-hf-3c/ch2o.inp | 99 ++ tests/QS/regtest-hf-3c/exam.inp | 115 ++ tests/QS/regtest-hf-3c/h2o.inp | 90 ++ tests/QS/regtest-hf-3c/n3.inp | 99 ++ tests/QS/regtest-hf-3c/o2.inp | 98 ++ tests/QS/regtest-hf-3c/taxol.inp | 197 ++++ 29 files changed, 3315 insertions(+), 20 deletions(-) create mode 100644 data/BASIS_MINIX create mode 100644 data/xc_section/HF-3c.sec create mode 100644 src/qs_gcp_method.F create mode 100644 src/qs_gcp_types.F create mode 100644 src/qs_gcp_utils.F create mode 100644 tests/QS/regtest-hf-3c/ch2o.inp create mode 100644 tests/QS/regtest-hf-3c/exam.inp create mode 100644 tests/QS/regtest-hf-3c/h2o.inp create mode 100644 tests/QS/regtest-hf-3c/n3.inp create mode 100644 tests/QS/regtest-hf-3c/o2.inp create mode 100644 tests/QS/regtest-hf-3c/taxol.inp diff --git a/data/BASIS_MINIX b/data/BASIS_MINIX new file mode 100644 index 0000000000..e5fd96741e --- /dev/null +++ b/data/BASIS_MINIX @@ -0,0 +1,1703 @@ +# MINIX BASIS SETS USED FOR HF-3c METHOD +# +# H -- Kr All Electron basis +# Rb -- Xe ECP basis +# +# +# h (3s) / [1s] {3} +H minix + 1 + 1 0 0 3 1 + 7.0340630000 0.70452000000E-01 + 1.0647560000 0.40782600000 + 0.23655900000 0.64775200000 + +# he (3s) / [1s] {3} +He minix + 1 + 1 0 0 3 1 + 13.626736000 0.80241000000E-01 + 1.9993490000 0.40914300000 + 0.38299300000 0.65727800000 + +# li (6s) / [2s] {33} +Li minix + 3 + 1 0 0 3 1 + 35.046150000 0.73760000000E-01 + 5.2016900000 0.39747100000 + 1.0562400000 0.66509200000 + 2 0 0 3 1 + 0.85125300000 -0.93970000000E-01 + 0.83951000000E-01 0.57010000000 + 0.32554000000E-01 0.49975000000 + 2 1 1 1 1 + 0.10 1.0 + +# be (6s) / [2s] {33} +Be minix + 3 + 1 0 0 3 1 + 66.953540000 0.70200000000E-01 + 9.9392900000 0.39191000000 + 2.0571300000 0.66997000000 + 2 0 0 3 1 + 2.3348560000 -0.82820000000E-01 + 0.19697600000 0.55755300000 + 0.67449000000E-01 0.51604300000 + 2 1 1 1 1 + 0.25 1.0 + +# b (6s3p) / [2s1p] {33/3} +B minix + 3 + 1 0 0 3 1 + 108.43704000 0.68651000000E-01 + 16.120560000 0.38993300000 + 3.3734300000 0.67139500000 + 2 0 0 3 1 + 4.4578540000 -0.82419000000E-01 + 0.36931500000 0.55906400000 + 0.12255500000 0.51679500000 + 2 1 1 3 1 + 3.2148920000 0.10590000000 + 0.64613600000 0.45718000000 + 0.15391600000 0.63186100000 + +# c (6s3p) / [2s1p] {33/3} +C minix + 3 + 1 0 0 3 1 + 153.17226000 0.70740000000E-01 + 23.073030000 0.39538000000 + 4.9232900000 0.66331100000 + 2 0 0 3 1 + 6.6166120000 -0.81380000000E-01 + 0.52585600000 0.57485300000 + 0.16995800000 0.50241300000 + 2 1 1 3 1 + 4.9129200000 0.10993100000 + 0.99761600000 0.46271300000 + 0.23268500000 0.62751400000 + +# n (6s3p) / [2s1p] {33/3} +N minix + 3 + 1 0 0 3 1 + 218.36449000 0.67870000000E-01 + 32.598890000 0.39020200000 + 6.9173900000 0.67008300000 + 2 0 0 3 1 + 8.9194260000 -0.80890000000E-01 + 0.70614100000 0.56720200000 + 0.22505400000 0.51109200000 + 2 1 1 3 1 + 6.5562720000 0.11591900000 + 1.3490790000 0.46995800000 + 0.31220900000 0.61844800000 + +# o (6s3p) / [2s1p] {33/3} +O minix + 3 + 1 0 0 3 1 + 281.86658000 0.69060000000E-01 + 42.416000000 0.39315900000 + 9.0956200000 0.66566900000 + 2 0 0 3 1 + 11.789326000 -0.80820000000E-01 + 0.91289400000 0.58209000000 + 0.28666100000 0.49716000000 + 2 1 1 3 1 + 8.2741400000 0.12427100000 + 1.7154630000 0.47659400000 + 0.38301300000 0.61304400000 + +# f (6s3p) / [2s1p] {33/3} +F minix + 3 + 1 0 0 3 1 + 368.37112000 0.67040000000E-01 + 55.061060000 0.38924900000 + 11.747670000 0.67078800000 + 2 0 0 3 1 + 15.364708000 -0.80550000000E-01 + 1.1675460000 0.58772900000 + 0.36314100000 0.49197900000 + 2 1 1 3 1 + 10.725667000 0.12627000000 + 2.2258170000 0.47794800000 + 0.48610500000 0.61400800000 + +# ne (6s3p) / [2s1p] {33/3} +Ne minix + 3 + 1 0 0 3 1 + 456.95285000 0.66910000000E-01 + 68.365430000 0.38934900000 + 14.619760000 0.67051800000 + 2 0 0 3 1 + 19.327190000 -0.80250000000E-01 + 1.4418200000 0.59529800000 + 0.44408000000 0.48486800000 + 2 1 1 3 1 + 13.352520000 0.12884000000 + 2.7794700000 0.48044100000 + 0.60097000000 0.61167200000 + +# na (9s3p) / [3s1p] {333/3} +Na minix + 5 + 1 0 0 3 1 + 542.76053000 0.68410000000E-01 + 81.959470000 0.39209200000 + 17.723770000 0.66608400000 + 2 0 0 3 1 + 23.280420000 -0.83801000000E-01 + 1.8683400000 0.58279400000 + 0.62325000000 0.49247400000 + 3 0 0 3 1 + 0.61761100000 -0.11576200000 + 0.65219000000E-01 0.69586300000 + 0.25351000000E-01 0.38104700000 + 2 1 1 3 1 + 17.836360000 0.12571000000 + 3.7956900000 0.48046100000 + 0.87751000000 0.60228100000 + 3 1 1 1 1 + 0.05 1.0000000 + +# mg (9s3p) / [3s1p] {333/3} +Mg minix + 5 + 1 0 0 3 1 + 650.64336700 0.68030000000E-01 + 98.370780000 0.39073800000 + 21.322490000 0.66726700000 + 2 0 0 3 1 + 27.977380000 -0.86720000000E-01 + 2.3265200000 0.58569700000 + 0.81808000000 0.48649700000 + 3 0 0 3 1 + 1.0847510000 -0.12765100000 + 0.11831400000 0.65077300000 + 0.43124000000E-01 0.43627200000 + 2 1 1 3 1 + 23.216620000 0.12146000000 + 5.0022200000 0.47929100000 + 1.2046500000 0.59894200000 + 3 1 1 1 1 + 0.20 1.0000000 + +# al (9s6p1d) / [3s2p1d] {333/33/1} +Al minix + 6 + 1 0 0 3 1 + 777.44334000 0.66887000000E-01 + 117.23153000 0.38776800000 + 25.376297000 0.67070300000 + 2 0 0 3 1 + 33.356253000 -0.88956000000E-01 + 2.8013150000 0.60106100000 + 1.0227330000 0.46878600000 + 3 0 0 3 1 + 1.6852460000 -0.15138900000 + 0.20496900000 0.65938600000 + 0.74790000000E-01 0.43869300000 + 2 1 1 3 1 + 30.569580000 0.11235300000 + 6.6447010000 0.46746700000 + 1.6543950000 0.60978200000 + 3 1 1 3 1 + 0.56613000000E-01 0.39647000000 + 0.37992000000 0.22643300000 + 0.14688100000 0.50058600000 + 3 2 2 1 1 + 0.30000000000 1.0000000000 + +# si (9s6p1d) / [3s2p1d] {333/33/1} +Si minix + 6 + 1 0 0 3 1 + 909.23487000 0.66405000000E-01 + 137.12456000 0.38622200000 + 29.714810000 0.67224000000 + 2 0 0 3 1 + 39.129423000 -0.90999000000E-01 + 3.3359810000 0.61161500000 + 1.2512590000 0.45686000000 + 3 0 0 3 1 + 2.1976490000 -0.16873300000 + 0.27592700000 0.67545300000 + 0.10042500000 0.42941900000 + 2 1 1 3 1 + 37.881761000 0.10875300000 + 8.3045980000 0.46351500000 + 2.1207920000 0.61133400000 + 3 1 1 3 1 + 0.54578900000 0.23891300000 + 0.76007000000E-01 0.34545300000 + 0.20822000000 0.54229500000 + 3 2 2 1 1 + 0.35000000000 1.0000000000 + +# p (9s6p1d) / [3s2p1d] {333/33/1} +P minix + 6 + 1 0 0 3 1 + 1053.2658000 0.65865000000E-01 + 158.79044000 0.38457800000 + 34.424407000 0.67396300000 + 2 0 0 3 1 + 45.450377000 -0.92655000000E-01 + 3.8999260000 0.62651300000 + 1.4885070000 0.44103900000 + 3 0 0 3 1 + 2.4694830000 -0.18054900000 + 0.32087200000 0.68095200000 + 0.11683200000 0.42914200000 + 2 1 1 3 1 + 46.100019000 0.10538800000 + 10.165057000 0.45971200000 + 2.6447940000 0.61371400000 + 3 1 1 3 1 + 0.67905900000 0.23588500000 + 0.25782600000 0.55416000000 + 0.92783000000E-01 0.33653000000 + 3 2 2 1 1 + 0.45000000000 1.0000000000 + +# s (9s6p1d) / [3s2p1d] {333/33/1} +S minix + 6 + 1 0 0 3 1 + 1201.4584000 0.65765000000E-01 + 181.39212000 0.38394800000 + 39.404795000 0.67437200000 + 2 0 0 3 1 + 52.139030000 -0.94232000000E-01 + 4.5287990000 0.63546800000 + 1.7549380000 0.43150600000 + 3 0 0 3 1 + 2.9205260000 0.19004200000 + 0.39218700000 -0.68552700000 + 0.14269900000 -0.42927200000 + 2 1 1 3 1 + 54.644071000 0.10367300000 + 12.122902000 0.45819000000 + 3.2065040000 0.61340000000 + 3 1 1 3 1 + 0.88761500000 0.22943600000 + 0.11174300000 0.35370000000 + 0.32710000000 0.55296000000 + 3 2 2 1 1 + 0.55000000000 1.0000000000 + +# cl (9s6p1d) / [3s2p1d] {333/33/1} +Cl minix + 6 + 1 0 0 3 1 + 1362.0220000 0.65544000000E-01 + 205.81110000 0.38298700000 + 44.772167000 0.67521000000 + 2 0 0 3 1 + 59.225732000 -0.95620000000E-01 + 5.2139020000 0.64142600000 + 2.0473460000 0.42515300000 + 3 0 0 3 1 + 3.4471240000 0.19640100000 + 0.47378500000 -0.69236000000 + 0.17132100000 -0.42619300000 + 2 1 1 3 1 + 64.099958000 0.10178900000 + 14.287139000 0.45610700000 + 3.8281350000 0.61428200000 + 3 1 1 3 1 + 1.1039040000 0.23590300000 + 0.13323600000 0.34660000000 + 0.39917800000 0.55806600000 + 3 2 2 1 1 + 0.65000000000 1.0000000000 + +# ar (9s6p1d) / [3s2p1d] {333/33/1} +Ar minix + 6 + 1 0 0 3 1 + 1536.9325000 0.65159000000E-01 + 232.17765000 0.38180700000 + 50.521685000 0.67644600000 + 2 0 0 3 1 + 66.933949000 -0.96740000000E-01 + 5.9185520000 0.65274900000 + 2.3393420000 0.41357300000 + 3 0 0 3 1 + 4.0453070000 0.20073600000 + 0.56570100000 -0.69626800000 + 0.20406500000 -0.42484300000 + 2 1 1 3 1 + 74.352915000 0.10007900000 + 16.631346000 0.45422600000 + 4.5039270000 0.61525900000 + 3 1 1 3 1 + 1.3570910000 0.23727600000 + 0.48811300000 0.55836000000 + 0.16212600000 0.34616500000 + 3 2 2 1 1 + 0.69600000000 1.0000000000 + +# k (14s8p) / [5s2p] {63311/53} +K minix + 7 + 1 0 0 6 1 + 31478.746764 0.39838653994E-02 + 4726.8876066 0.30501759762E-01 + 1075.4345353 0.15073752622 + 303.39811023 0.51912939801 + 98.327112831 1.0366957005 + 33.636222177 0.76398963199 + 2 0 0 3 1 + 65.639209962 -0.28242617106 + 7.3162592218 1.6914935860 + 2.8902580135 1.2965331953 + 3 0 0 3 1 + 4.5459748965 -0.76343555273E-02 + 0.70404124062 0.25635718960E-01 + 0.28266888959 0.16606859208E-01 + 4 0 0 1 1 + 0.29058164020E-01 1.0000000000 + 5 0 0 1 1 + 0.12111638157E-01 1.0000000000 + 2 1 1 5 1 + 361.22492154 0.20906479823E-01 + 84.670222166 0.15043641740 + 26.469088236 0.55440061077 + 9.2658077615 1.0409009991 + 3.3423388293 0.67825341194 + 3 1 1 3 1 + 1.5100876104 0.75248191146 + 0.56568375163 1.3708585031 + 0.20817008495 0.66047633079 + +# ca (14s8p) / [5s2p] {63311/53} +Ca minix + 7 + 1 0 0 6 1 + 35138.713929 0.39482520740E-02 + 5276.4111348 0.30234243552E-01 + 1200.4692589 0.14952019681 + 338.71810542 0.51597345713 + 109.85385922 1.0339510296 + 37.608880299 0.76937933526 + 2 0 0 3 1 + 73.107977555 -0.28268525011 + 8.2407705688 1.6796092142 + 3.2959812993 1.2803766016 + 3 0 0 3 1 + 5.2341800914 -0.76868604561E-02 + 0.84187220515 0.25382375978E-01 + 0.36510294029 0.16512171511E-01 + 4 0 0 1 1 + 0.51222402884E-01 1.0000000000 + 5 0 0 1 1 + 0.19825111408E-01 1.0000000000 + 2 1 1 5 1 + 413.11313893 0.20327135354E-01 + 96.935786224 0.14730276362 + 30.372154659 0.54887167322 + 10.684776830 1.0440659818 + 3.8821258350 0.68653490684 + 3 1 1 3 1 + 1.7993016295 0.75410246871 + 0.69189056530 1.3409296599 + 0.26364024096 0.56391989435 + +# sc (14s8p5d) / [5s2p2d] {63311/53/41} +Sc minix + 9 + 1 0 0 6 1 + 38956.081804 0.39293205858E-02 + 5849.5733637 0.30093221229E-01 + 1330.8813154 0.14890370950 + 375.55534165 0.51464282906 + 121.87261370 1.0337708070 + 41.760243729 0.77436851627 + 2 0 0 3 1 + 81.060633953 -0.28318552316 + 9.2059823972 1.6770806984 + 3.7063215732 1.2594733678 + 3 0 0 3 1 + 5.9888909988 -0.77821367493E-02 + 0.97363432378 0.25499692745E-01 + 0.42041019223 0.16191560820E-01 + 4 0 0 1 1 + 0.59440551913E-01 1.0000000000 + 5 0 0 1 1 + 0.22897806303E-01 1.0000000000 + 2 1 1 5 1 + 466.31481262 0.19984300385E-01 + 109.51217097 0.14561043072 + 34.375921827 0.54687466223 + 12.142096955 1.0479006012 + 4.4336767669 0.68894890327 + 3 1 1 3 1 + 2.0971291866 0.75619214724 + 0.80977606956 1.3178212235 + 0.30834046588 0.54312268173 + 3 2 2 4 1 + 19.240334928 0.27039082144E-01 + 5.1178995899 0.13803684743 + 1.6554278827 0.34869086403 + 0.54016355610 0.48594185717 + 4 2 2 1 1 + 0.16211214518 0.34374449689 + +# ti (14s8p5d) / [5s2p2d] {63311/53/41} +Ti minix + 9 + 1 0 0 6 1 + 42961.512185 0.39127635355E-02 + 6450.9759169 0.29969820489E-01 + 1467.7210915 0.14836352707 + 414.20997355 0.51347285324 + 134.48715840 1.0335365483 + 46.122209796 0.77854233930 + 2 0 0 3 1 + 89.447762543 -0.28385401259 + 10.223346060 1.6772785333 + 4.1353774271 1.2411928456 + 3 0 0 3 1 + 6.7896181452 -0.78399994518E-02 + 1.1106730691 0.25495493019E-01 + 0.47565975578 0.16061172892E-01 + 4 0 0 1 1 + 0.65986956934E-01 1.0000000000 + 5 0 0 1 1 + 0.25210342250E-01 1.0000000000 + 2 1 1 5 1 + 522.03684782 0.19754179642E-01 + 122.68649489 0.14460677619 + 38.572903611 0.54669004165 + 13.672169319 1.0531647540 + 5.0118529359 0.69111213363 + 3 1 1 3 1 + 2.4131928282 0.75803437136 + 0.93252270050 1.3036241399 + 0.35429058390 0.53638653300 + 3 2 2 4 1 + 23.465125957 0.26536380115E-01 + 6.3332593832 0.13796453963 + 2.0766489946 0.35312644228 + 0.69027361954 0.48647124166 + 4 2 2 1 1 + 0.21088738554 0.33026314258 + +# v (14s8p5d) / [5s2p2d] {63311/53/41} +V minix + 9 + 1 0 0 6 1 + 47160.376060 0.14498688908E-02 + 7081.4110871 0.11106435251E-01 + 1611.1621223 0.55005423585E-01 + 454.72940551 0.19060252591 + 147.71321208 0.38435022957 + 50.699538950 0.29095546792 + 2 0 0 3 1 + 98.262492669 -0.10942337856 + 11.294293099 0.64539490399 + 4.5853360105 0.47117880777 + 3 0 0 3 1 + 7.6359689588 -0.22454949054 + 1.2539836689 0.72594852764 + 0.53271935387 0.45560582748 + 4 0 0 1 1 + 0.72246239566E-01 1.0000000000 + 5 0 0 1 1 + 0.27358087448E-01 1.0000000000 + 2 1 1 5 1 + 580.55044988 0.97315110917E-02 + 136.52341127 0.71531241137E-01 + 42.983958820 0.27197688414 + 15.282798763 0.52618988893 + 5.6202495154 0.34452533498 + 3 1 1 3 1 + 2.7485386415 0.34040396496 + 1.0618550073 0.57983996120 + 0.40235518645 0.23911643083 + 3 2 2 4 1 + 27.358434017 0.26641927050E-01 + 7.4540604253 0.13995311726 + 2.4633917847 0.35751066639 + 0.82480925277 0.48488354148 + 4 2 2 1 1 + 0.25257904742 0.32332844995 + +# cr (14s8p5d) / [5s2p2d] {63311/53/41} +Cr minix + 9 + 1 0 0 6 1 + 51528.086349 0.14405823106E-02 + 7737.2103487 0.11036202287E-01 + 1760.3748470 0.54676651806E-01 + 496.87706544 0.18965038103 + 161.46520598 0.38295412850 + 55.466352268 0.29090050668 + 2 0 0 3 1 + 107.54732999 -0.10932281100 + 12.408671897 0.64472599471 + 5.0423628826 0.46262712560 + 3 0 0 3 1 + 8.5461640165 -0.22711013286 + 1.3900441221 0.73301527591 + 0.56066602876 0.44225565433 + 4 0 0 1 1 + 0.71483705972E-01 1.0000000000 + 5 0 0 1 1 + 0.28250687604E-01 1.0000000000 + 2 1 1 5 1 + 640.48536096 0.96126715203E-02 + 150.69711194 0.70889834655E-01 + 47.503755296 0.27065258990 + 16.934120165 0.52437343414 + 6.2409680590 0.34107994714 + 3 1 1 3 1 + 3.0885463206 0.33973986903 + 1.1791047769 0.57272062927 + 0.43369774432 0.24582728206 + 3 2 2 4 1 + 27.559479426 0.30612488044E-01 + 7.4687020327 0.15593270944 + 2.4345903574 0.36984421276 + 0.78244754808 0.47071118077 + 4 2 2 1 1 + 0.21995774311 0.33941649889 + +# mn (14s8p5d) / [5s2p2d] {63311/53/41} +Mn minix + 9 + 1 0 0 6 1 + 56137.009037 0.14321304702E-02 + 8429.2063943 0.10972509162E-01 + 1917.8277233 0.54382468712E-01 + 541.36230198 0.18884335129 + 176.00069142 0.38198025054 + 60.500477010 0.29156772596 + 2 0 0 3 1 + 117.17282882 -0.10933661328 + 13.596973368 0.64305039431 + 5.5483996341 0.45848970584 + 3 0 0 3 1 + 9.4662853530 -0.22538977259 + 1.5595006070 0.72307758657 + 0.65230205868 0.45300721536 + 4 0 0 1 1 + 0.84003734475E-01 1.0000000000 + 5 0 0 1 1 + 0.31256098581E-01 1.0000000000 + 2 1 1 5 1 + 706.00497535 0.95055518167E-02 + 166.19728820 0.70356271142E-01 + 52.452061906 0.27005556982 + 18.746932862 0.52574344602 + 6.9282991622 0.34254033223 + 3 1 1 3 1 + 3.4772204938 0.33994073736 + 1.3406906449 0.57203836254 + 0.50498803038 0.23847605831 + 3 2 2 4 1 + 35.423264935 0.26985304111E-01 + 9.7814221451 0.14383458648 + 3.2673488767 0.36418958377 + 1.1026472189 0.48152670661 + 4 2 2 1 1 + 0.33743205934 0.31458754360 + +# fe (14s8p5d) / [5s2p2d] {63311/53/41} +Fe minix + 9 + 1 0 0 6 1 + 60923.640643 0.14302254466E-02 + 9147.8893982 0.10958790038E-01 + 2081.3505927 0.54332554248E-01 + 587.55977067 0.18884995009 + 191.09043990 0.38253069946 + 65.732730112 0.29308335984 + 2 0 0 3 1 + 127.25891928 -0.10964564925 + 14.830913010 0.64387631332 + 6.0653307408 0.45472347323 + 3 0 0 3 1 + 10.449943710 -0.22539639952 + 1.7245228003 0.72164398156 + 0.71772177325 0.44985492922 + 4 0 0 1 1 + 0.91449828308E-01 1.0000000000 + 5 0 0 1 1 + 0.33706691021E-01 1.0000000000 + 2 1 1 5 1 + 773.43750995 0.94325735144E-02 + 182.15149714 0.70029620575E-01 + 57.547272758 0.26993651996 + 20.614988935 0.52700011047 + 7.6348557890 0.34284148028 + 3 1 1 3 1 + 3.8719327990 0.33974402988 + 1.4924724132 0.56842594005 + 0.56061284958 0.23649365839 + 3 2 2 4 1 + 38.968133419 0.27879664382E-01 + 10.800067078 0.14858319982 + 3.6136457999 0.36905479496 + 1.2129967888 0.47745100883 + 4 2 2 1 1 + 0.36524393170 0.31418142304 + +# co (14s8p5d) / [5s2p2d] {63311/53/41} +Co minix + 9 + 1 0 0 6 1 + 65902.208257 0.14284614936E-02 + 9895.3896027 0.10946072783E-01 + 2251.4305789 0.54285953890E-01 + 635.61097084 0.18885179079 + 206.78820681 0.38301634994 + 71.179242971 0.29443551266 + 2 0 0 3 1 + 137.77268040 -0.10990221736 + 16.118079243 0.64455537395 + 6.6030327710 0.45116787924 + 3 0 0 3 1 + 11.479915788 -0.22593846910 + 1.8956426324 0.72231409008 + 0.78466232067 0.44903812296 + 4 0 0 1 1 + 0.98425774432E-01 1.0000000000 + 5 0 0 1 1 + 0.35945741932E-01 1.0000000000 + 2 1 1 5 1 + 843.64358575 0.93866097254E-02 + 198.76386994 0.69880208716E-01 + 62.854963098 0.27037070345 + 22.562842280 0.52904786880 + 8.3713209127 0.34357029579 + 3 1 1 3 1 + 4.2858719800 0.34027999036 + 1.6508041817 0.56693392384 + 0.61834231096 0.23617979783 + 3 2 2 4 1 + 42.927867612 0.28487788365E-01 + 11.942533053 0.15206951283 + 4.0046495664 0.37310913999 + 1.3413193804 0.47549837676 + 4 2 2 1 1 + 0.40015009743 0.31346831424 + +# ni (14s8p5d) / [5s2p2d] {63311/53/41} +Ni minix + 9 + 1 0 0 6 1 + 71074.803211 0.14260386729E-02 + 10672.020941 0.10928236994E-01 + 2428.1389007 0.54212626938E-01 + 685.53595148 0.18874768902 + 223.10072863 0.38324616985 + 76.842014042 0.29550637144 + 2 0 0 3 1 + 148.71122016 -0.11014443059 + 17.459154987 0.64521426988 + 7.1625280665 0.44797838103 + 3 0 0 3 1 + 12.556137125 -0.22645403224 + 2.0735740488 0.72320959286 + 0.85382640602 0.44868026476 + 4 0 0 1 1 + 0.10536766271 1.0000000000 + 5 0 0 1 1 + 0.38134087688E-01 1.0000000000 + 2 1 1 5 1 + 916.73608662 0.93439635610E-02 + 216.06139913 0.69737374902E-01 + 68.383914817 0.27073495012 + 24.593843952 0.53078301549 + 9.1392960204 0.34410229438 + 3 1 1 3 1 + 4.7193371746 0.34076082016 + 1.8161849234 0.56580169611 + 0.67840750720 0.23616717361 + 3 2 2 4 1 + 47.093832108 0.28982316948E-01 + 13.146463975 0.15494995950 + 4.4170548925 0.37633115111 + 1.4771565078 0.47365096014 + 4 2 2 1 1 + 0.43735921792 0.31247837833 + +# cu (14s8p5d) / [5s2p2d] {63311/53/41} +Cu minix + 9 + 1 0 0 6 1 + 76381.348056 0.14336079896E-02 + 11468.777499 0.10986749865E-01 + 2609.4246495 0.54513652465E-01 + 736.75033098 0.18990128258 + 239.82419958 0.38581959211 + 82.656829252 0.29790607498 + 2 0 0 3 1 + 160.13544196 -0.11146778567 + 18.834177695 0.65349301031 + 7.7176595741 0.44770534421 + 3 0 0 3 1 + 13.710846717 -0.22870911122 + 2.2349895670 0.73464423031 + 0.87818360069 0.43273070874 + 4 0 0 1 1 + 0.87187458064E-01 1.0000000000 + 5 0 0 1 1 + 0.32969114665E-01 1.0000000000 + 2 1 1 5 1 + 991.24075782 0.93878498798E-02 + 233.69376116 0.70208282458E-01 + 74.020930927 0.27323522220 + 26.664967447 0.53580792728 + 9.9192087478 0.34575794906 + 3 1 1 3 1 + 5.1519553926 0.34229108083 + 1.9638205828 0.56456592484 + 0.71560097037 0.24078584318 + 3 2 2 4 1 + 47.335049590 0.32375547758E-01 + 13.161666077 0.16810218684 + 4.3693777244 0.38477707982 + 1.4132925109 0.46147880178 + 4 2 2 1 1 + 0.38878001452 0.32388873258 + +# zn (14s8p5d) / [5s2p2d] {63311/53/41} +Zn minix + 9 + 1 0 0 6 1 + 82000.711629 0.14210764000E-02 + 12312.471777 0.10891499487E-01 + 2801.3944193 0.54057188059E-01 + 790.99424302 0.18847463904 + 257.56551079 0.38346549346 + 88.814933400 0.29723794197 + 2 0 0 3 1 + 171.86353716 -0.11051849523 + 20.302534785 0.64607716984 + 8.3464123068 0.44220117322 + 3 0 0 3 1 + 14.847536940 -0.22705309278 + 2.4495029507 0.72433217935 + 0.99845821824 0.44836495592 + 4 0 0 1 1 + 0.11891307937 1.0000000000 + 5 0 0 1 1 + 0.42297428760E-01 1.0000000000 + 2 1 1 5 1 + 1071.5185372 0.92767797235E-02 + 252.69712152 0.69541149434E-01 + 80.100829126 0.27156772564 + 28.903393172 0.53401355573 + 10.768899879 0.34501323446 + 3 1 1 3 1 + 5.6446212530 0.34129600164 + 2.1678291347 0.56390521973 + 0.80540898341 0.23676109735 + 3 2 2 4 1 + 56.088939191 0.29588869140E-01 + 15.751908917 0.15872571404 + 5.3115812367 0.37976229159 + 1.7737904917 0.46898959172 + 4 2 2 1 1 + 0.51975583665 0.30907149078 + +# ga (14s10p6d) / [5s4p3d] {63311/5311/411} +Ga minix + 12 + 1 0 0 6 1 + 87842.126296 0.14271588798E-02 + 13189.496402 0.10938894097E-01 + 3000.9482141 0.54308200127E-01 + 847.38425966 0.18951055983 + 276.00980642 0.38615185918 + 95.216672071 0.30051082719 + 2 0 0 3 1 + 184.00703968 -0.11124461963 + 21.827051433 0.64831322918 + 9.0026963761 0.44358383594 + 3 0 0 3 1 + 16.033176938 -0.23014299555 + 2.6707724878 0.72946861516 + 1.1252834170 0.46214976951 + 4 0 0 1 1 + 0.15967608829 1.0000000000 + 5 0 0 1 1 + 0.57643044753E-01 1.0000000000 + 2 1 1 5 1 + 1167.2665844 0.90974021307E-02 + 275.38062789 0.68456273343E-01 + 87.375073070 0.26922293888 + 31.597254670 0.53507897882 + 11.824122798 0.35279062760 + 3 1 1 3 1 + 6.2881845133 0.33938244530 + 2.5199853240 0.56871947608 + 1.0169726306 0.27717694939 + 4 1 1 1 1 + 0.24748373604 1.0000000000 + 5 1 1 1 1 + 0.66685294163E-01 1.0000000000 + 3 2 2 4 1 + 65.354237674 0.27370146382E-01 + 18.504656747 0.15099463976 + 6.3179620632 0.37485328545 + 2.1641389426 0.47510606851 + 4 2 2 1 1 + 0.66693092754 0.29843287401 + 5 2 2 1 1 + 0.20700000000 1.0000000000 + +# ge (14s10p6d) / [5s4p3d] {63311/5311/411} +Ge minix + 12 + 1 0 0 6 1 + 93889.836642 0.14233976060E-02 + 14097.497528 0.10910795654E-01 + 3207.5477309 0.54183705943E-01 + 905.76727269 0.18922820349 + 295.11014693 0.38612847001 + 101.84713141 0.30164050736 + 2 0 0 3 1 + 196.56719662 -0.11118770940 + 23.405292522 0.64616007369 + 9.6839116702 0.44188904568 + 3 0 0 3 1 + 17.269736544 -0.23027421375 + 2.8964622160 0.73017169398 + 1.2553621412 0.46197222255 + 4 0 0 1 1 + 0.20213081492 1.0000000000 + 5 0 0 1 1 + 0.73867910982E-01 1.0000000000 + 2 1 1 5 1 + 1259.2085995 0.90115464252E-02 + 297.15626382 0.67986841689E-01 + 94.353387522 0.26853856488 + 34.176329677 0.53659649219 + 12.816139615 0.35633514961 + 3 1 1 3 1 + 6.8471029784 0.33900693119 + 2.7717363939 0.56809365264 + 1.1458418175 0.27246539884 + 4 1 1 1 1 + 0.30679631536 1.0000000000 + 5 1 1 1 1 + 0.89283644115E-01 1.0000000000 + 3 2 2 4 1 + 74.782168177 0.25755860205E-01 + 21.310849759 0.14536816132 + 7.3464792363 0.37134209859 + 2.5656271395 0.48002998436 + 4 2 2 1 1 + 0.81981773070 0.28978790744 + 5 2 2 1 1 + 0.24600000000 1.0000000000 + +# as (14s10p6d) / [5s4p3d] {63311/5311/411} +As minix + 12 + 1 0 0 6 1 + 100146.52554 0.14258349617E-02 + 15036.861711 0.10930176963E-01 + 3421.2902833 0.54294174610E-01 + 966.16965717 0.18976078153 + 314.87394026 0.38775195453 + 108.70823790 0.30402812040 + 2 0 0 3 1 + 209.54238950 -0.11162094204 + 25.038221139 0.64697607762 + 10.390964343 0.44223608673 + 3 0 0 3 1 + 18.555090093 -0.22994190569 + 3.1281217449 0.73319107613 + 1.3884885073 0.45533653943 + 4 0 0 1 1 + 0.24714362141 1.0000000000 + 5 0 0 1 1 + 0.91429428670E-01 1.0000000000 + 2 1 1 5 1 + 1355.6443507 0.89182507898E-02 + 319.99929270 0.67454750717E-01 + 101.67734092 0.26759772110 + 36.886323845 0.53776844520 + 13.861115909 0.35992570244 + 3 1 1 3 1 + 7.4260666912 0.34036849637 + 3.0316247187 0.57030149334 + 1.2783078340 0.26606170238 + 4 1 1 1 1 + 0.37568503356 1.0000000000 + 5 1 1 1 1 + 0.11394805454 1.0000000000 + 3 2 2 4 1 + 84.445514539 0.24518402724E-01 + 24.190416102 0.14107454677 + 8.4045015119 0.36875228915 + 2.9808970748 0.48409561362 + 4 2 2 1 1 + 0.97909243359 0.28250268781 + 5 2 2 1 1 + 0.29300000000 1.0000000000 + +# se (14s10p6d) / [5s4p3d] {63311/5311/411} +Se minix + 12 + 1 0 0 6 1 + 106612.20027 0.14274889113E-02 + 16007.604701 0.10943525114E-01 + 3642.1699707 0.54374171596E-01 + 1028.5912993 0.19018092947 + 335.30298888 0.38913021696 + 115.80129154 0.30620207088 + 2 0 0 3 1 + 222.93325020 -0.11198808009 + 26.726257934 0.64752124207 + 11.124501923 0.44241976651 + 3 0 0 3 1 + 19.888520061 -0.22857227762 + 3.3668473803 0.73591359951 + 1.5249277839 0.44330199577 + 4 0 0 1 1 + 0.29630037912 1.0000000000 + 5 0 0 1 1 + 0.11009288974 1.0000000000 + 2 1 1 5 1 + 1455.9068120 0.88203597043E-02 + 343.75101831 0.66875851967E-01 + 109.29554964 0.26640578080 + 39.707711022 0.53834928422 + 14.950185232 0.36303281993 + 3 1 1 3 1 + 8.0208962094 0.34153807025 + 3.2934649756 0.57257906583 + 1.4058602438 0.25549813222 + 4 1 1 1 1 + 0.45076123226 1.0000000000 + 5 1 1 1 1 + 0.13353413325 1.0000000000 + 3 2 2 4 1 + 94.494024044 0.23490101098E-01 + 27.188185260 0.13747735767 + 9.5091567352 0.36649929124 + 3.4170516853 0.48750989884 + 4 2 2 1 1 + 1.1479590083 0.27657943383 + 5 2 2 1 1 + 0.33800000000 1.0000000000 + +# br (14s10p6d) / [5s4p3d] {63311/5311/411} +Br minix + 12 + 1 0 0 6 1 + 113286.38776 0.14283037779E-02 + 17009.626303 0.10950417496E-01 + 3870.1842567 0.54421006604E-01 + 1093.0357227 0.19047907695 + 356.39721797 0.39024642737 + 123.12539643 0.30814432514 + 2 0 0 3 1 + 236.74084007 -0.11228065671 + 28.468661070 0.64775962312 + 11.883443722 0.44235575986 + 3 0 0 3 1 + 21.269633312 -0.22642576323 + 3.6129226841 0.73823712008 + 1.6626648969 0.42683868694 + 4 0 0 1 1 + 0.34823793232 1.0000000000 + 5 0 0 1 1 + 0.13019031394 1.0000000000 + 2 1 1 5 1 + 1560.2801881 0.87166669072E-02 + 368.47859205 0.66243637420E-01 + 117.22978849 0.26495610385 + 42.648909248 0.53839160587 + 16.087225096 0.36579387888 + 3 1 1 3 1 + 8.6352810058 0.34248787366 + 3.5613665502 0.57500678213 + 1.5292626609 0.24330394172 + 4 1 1 1 1 + 0.53064294848 1.0000000000 + 5 1 1 1 1 + 0.15702758965 1.0000000000 + 3 2 2 4 1 + 104.85518642 0.22650147581E-01 + 30.281143688 0.13455483230 + 10.651394267 0.36474454537 + 3.8699456233 0.49044587056 + 4 2 2 1 1 + 1.3240876762 0.27137289040 + 5 2 2 1 1 + 0.38900000000 1.0000000000 + +# kr (14s10p6d) / [5s4p3d] {63311/5311/411} +Kr minix + 12 + 1 0 0 6 1 + 120165.64875 0.14294234496E-02 + 18042.500169 0.10959597020E-01 + 4105.1800388 0.54479647470E-01 + 1159.4447248 0.19081239122 + 378.13810346 0.39140445949 + 130.67610045 0.31007346689 + 2 0 0 3 1 + 250.96373353 -0.11258604011 + 30.265930380 0.64816322524 + 12.668110757 0.44240238994 + 3 0 0 3 1 + 22.697940101 -0.22391964908 + 3.8673017398 0.74060953026 + 1.8013706671 0.40803658445 + 4 0 0 1 1 + 0.40308639136 1.0000000000 + 5 0 0 1 1 + 0.15170527749 1.0000000000 + 2 1 1 5 1 + 1668.5736623 0.86215009803E-02 + 394.13862798 0.65665506884E-01 + 125.46644854 0.26366576697 + 45.704992729 0.53867658574 + 17.270133229 0.36865167502 + 3 1 1 3 1 + 9.2699487770 0.34346189015 + 3.8364617719 0.57784776196 + 1.6467163312 0.23075615197 + 4 1 1 1 1 + 0.61479686489 1.0000000000 + 5 1 1 1 1 + 0.18319467414 1.0000000000 + 3 2 2 4 1 + 115.55868603 0.21945485333E-01 + 33.477985864 0.13211212879 + 11.834450207 0.36333306964 + 4.3408254894 0.49300484446 + 4 2 2 1 1 + 1.5079273157 0.26676858913 + 5 2 2 1 1 + 0.44300000000 1.0000000000 + +# rb (7s,6p,2d) / [5s,3p,2d] +Rb minix + 10 + 1 0 0 3 1 + 4.6687885071 0.29008526793 + 2.9442428420 -0.67740090428 + 0.58171262989 0.45712389487 + 2 0 0 1 1 + 0.45147933555 1.0000000000 + 3 0 0 1 1 + 0.21604923532 1.0000000000 + 4 0 0 1 1 + 0.32088816526E-01 1.0000000000 + 5 0 0 1 1 + 0.13833878175E-01 1.0000000000 + 2 1 1 4 1 + 5.5234179480 0.51234729472E-01 + 3.4120149646 -0.17337025646 + 0.76899021792 0.43339683188 + 0.33088071786 0.55354332721 + 3 1 1 1 1 + 0.13423268441 1.0000000000 + 4 1 1 1 1 + 0.20642679613E-01 1.0000000000 + 3 2 2 1 1 + 0.2260000 1.0000000 + 4 2 2 1 1 + 0.27432280711E-01 1.0000000000 + +# sr (6s,6p,5d) / [4s,3p,2d] +Sr minix + 9 + 1 0 0 3 1 + 5.9276428767 0.19698765364 + 3.0691274814 -0.64852205985 + 0.70675488028 0.62064729022 + 2 0 0 1 1 + 0.33824024280 1.0000000000 + 3 0 0 1 1 + 0.61768869200E-01 1.0000000000 + 4 0 0 1 1 + 0.25767593093E-01 1.0000000000 + 2 1 1 4 1 + 2.4324720000 -0.37145059848 + 1.6642340000 0.37856824234 + 0.59455471858 0.59874487803 + 0.26152621998 0.35314019512 + 3 1 1 1 1 + 0.10258814042 1.0000000000 + 4 1 1 1 1 + 0.33223404030E-01 1.0000000000 + 3 2 2 4 1 + 3.6180810000 -0.75010000000E-02 + 0.99665600000 0.10809800000 + 0.39073500000 0.27854000000 + 0.12277000000 0.47731800000 + 4 2 2 1 1 + 0.36655000000E-01 0.44818300000 + +# y (7s,6p,5d) / [5s,3p,2d] +Y minix + 10 + 1 0 0 3 1 + 5.1329580000 -1.3864845457 + 4.2401920000 1.9459581166 + 1.2982800000 0.44182603154 + 2 0 0 1 1 + 0.82904954347 1.0000000000 + 3 0 0 1 1 + 0.34752758911 1.0000000000 + 4 0 0 1 1 + 0.68418878574E-01 1.0000000000 + 5 0 0 1 1 + 0.27323992904E-01 1.0000000000 + 2 1 1 4 1 + 2.7279200000 -0.37249884911871 + 1.9790500000 0.32572065995957 + 0.79980886805 0.50094655502482 + 0.38409397354 0.44385929492812 + 3 1 1 1 1 + 0.16173582264 1.0000000000 + 4 1 1 1 1 + 0.0300000 1.0000000000 + 3 2 2 4 1 + 3.9030833060 -0.0098209792625124 + 1.1363234302 0.19183629664092 + 0.45617043877 0.40597788538820 + 0.17470950748 0.43861485518224 + 4 2 2 1 1 + 0.61978796638E-01 1.0000000000 + +# zr (7s,6p,5d) / [5s,3p,2d] +Zr minix + 10 + 1 0 0 3 1 + 5.8737890000 0.54255558714 + 4.2872700000 -0.95241333244 + 1.4641370000 -0.13703926411 + 2 0 0 1 1 + 0.83727682345 0.88521584390 + 3 0 0 1 1 + 0.36849806511 1.0000000000 + 4 0 0 1 1 + 0.77806859124E-01 1.0000000000 + 5 0 0 1 1 + 0.30273088330E-01 1.0000000000 + 2 1 1 4 1 + 2.8742240000 -0.46624086918 + 2.1199010000 0.45883133891 + 0.78845821105 0.58853912475 + 0.36332579847 0.35822232244 + 3 1 1 1 1 + 0.14951762021 1.0000000000 + 4 1 1 1 1 + 0.30000000000E-01 1.0000000000 + 3 2 2 4 1 + 4.2898623878 -0.12212868080E-01 + 1.3615557498 0.19692423520 + 0.56937550689 0.42057831659 + 0.22674948677 0.42757027999 + 4 2 2 1 1 + 0.83011031631E-01 1.0000000000 + +# nb (7s,6p,5d) / [5s,3p,2d] +Nb minix + 10 + 1 0 0 3 1 + 6.5663010000 -0.94917907866 + 4.5864380000 1.5736372883 + 3.7537700000 0.36380422981 + 2 0 0 1 1 + 0.84187717437 1.0000000000 + 3 0 0 1 1 + 0.38160666177 1.0000000000 + 4 0 0 1 1 + 0.85819911368E-01 1.0000000000 + 5 0 0 1 1 + 0.32702330370E-01 1.0000000000 + 2 1 1 4 1 + 3.0700630000 -0.51025115881 + 2.2379640000 0.53570598017 + 0.80801969671 0.63102216351 + 0.35783343432 0.30205908942 + 3 1 1 1 1 + 0.13820085283 1.0000000000 + 4 1 1 1 1 + 0.0360000 1.0000000000 + 3 2 2 4 1 + 4.6170975867 -0.13574476955E-01 + 1.5663438480 0.20374310496 + 0.66952425826 0.42997453105 + 0.27140946867 0.4179975484761 + 4 2 2 1 1 + 0.10054426592 1.0000000000 + +# mo (7s,6p,5d) / [5s,3p,2d] +Mo minix + 10 + 1 0 0 3 1 + 7.2033800000 -0.89310617237 + 5.0522950000 1.6074095756 + 2.9135330000 0.27804186088 + 2 0 0 1 1 + 0.97858218681 1.0000000000 + 3 0 0 1 1 + 0.44369153753 1.0000000000 + 4 0 0 1 1 + 0.92150090705E-01 1.0000000000 + 5 0 0 1 1 + 0.34802246935E-01 1.0000000000 + 2 1 1 4 1 + 3.1518660000 -0.71873040872 + 2.4534820000 0.76442887870 + 0.85030192180 0.64808585640 + 0.36918237179 0.26792115234 + 3 1 1 1 1 + 0.13490627460 1.0000000000 + 4 1 1 1 1 + 0.38200000000E-01 1.0000000000 + 3 2 2 4 1 + 5.0044445497 -0.21587364862E-01 + 1.7736823324 0.20958680086 + 0.76950591696 0.43730880599 + 0.31530878939 0.41123927009 + 4 2 2 1 1 + 0.11754374390 1.0000000000 + +# tc (7s,6p,5d) / [5s,3p,2d] +Tc minix + 10 + 1 0 0 3 1 + 7.4344020000 -1.1436289973 + 5.5513270000 1.8752000559 + 3.0230860000 0.23952854431 + 2 0 0 1 1 + 1.0647443990 1.0000000000 + 3 0 0 1 1 + 0.48127808497 1.0000000000 + 4 0 0 1 1 + 0.98299016952E-01 1.0000000000 + 5 0 0 1 1 + 0.36659977936E-01 1.0000000000 + 2 1 1 4 1 + 3.4490050000 -0.72277510434 + 2.6927370000 0.76458962802 + 0.94427370692 0.64533225171 + 0.41348148619 0.27195668811 + 3 1 1 1 1 + 0.15488152305 1.0000000000 + 4 1 1 1 1 + 0.40300000000E-01 1.0000000000 + 3 2 2 4 1 + 5.0906268699 -0.32176405405E-01 + 2.0156178510 0.21280802536 + 0.88113887240 0.44403309175 + 0.36427094833 0.40796933085 + 4 2 2 1 1 + 0.13678402297 1.0000000000 + +# ru (7s,6p,5d) -> [5s,3p,2d] +Ru minix + 10 + 1 0 0 3 1 + 7.9365700000 -1.1772083350 + 5.9842450000 1.6197059592 + 4.8822200000 0.51065807556 + 2 0 0 1 1 + 1.1031002163 1.0000000000 + 3 0 0 1 1 + 0.49818875261 1.0000000000 + 4 0 0 1 1 + 0.10678711393 1.0000000000 + 5 0 0 1 1 + 0.39191775872E-01 1.0000000000 + 2 1 1 4 1 + 3.7546090000 -0.70777873563 + 2.9165710000 0.74954391484 + 1.0322209568 0.64660609645 + 0.45249553774 0.27029086816 + 3 1 1 1 1 + 0.16987042198 1.0000000000 + 4 1 1 1 1 + 0.43000000000E-01 1.0000000000 + 3 2 2 4 1 + 5.7341846619 -0.35266111560E-01 + 2.2483686294 0.21802502222 + 0.98376978359 0.44709565013 + 0.40379445583 0.40371732508 + 4 2 2 1 1 + 0.14978618173 1.0000000000 + +# rh (7s,6p,5d) / [5s,3p,2d] +Rh minix + 10 + 1 0 0 3 1 + 7.9177440000 0.14014042010165D+01 + 6.8412070000 -0.17975072656312D+01 + 2.9598400000 -0.16225754496571 + 2 0 0 1 1 + 1.3166643441 0.87495110714057 + 3 0 0 1 1 + 0.56907152172 1.0000000000 + 4 0 0 1 1 + 0.10059695193 1.0000000000 + 5 0 0 1 1 + 0.37071460798E-01 1.0000000000 + 2 1 1 4 1 + 4.1360790000 -0.55183328017626 + 2.9462810000 0.61370533515352 + 1.0792431924 0.64005434538256 + 0.46611217769 0.25958050755066 + 3 1 1 1 1 + 0.17453169991 1.0000000000 + 4 1 1 1 1 + 0.0410000 1.0000000000 + 3 2 2 4 1 + 6.8847131641 -0.15962387984517D-01 + 2.3837304391 0.23047555828858 + 1.0184384022 0.44075804027937 + 0.39957494644 0.39567661995894 + 4 2 2 1 1 + 0.13951120264 1.0000000000 + +# pd (7s,6p,5d) / [5s,3p,2d] +Pd minix + 10 + 1 0 0 3 1 + 8.4756400000 1.2392391076 + 7.1657170000 -1.6563109970 + 3.1821100000 -0.13178619060 + 2 0 0 1 1 + 1.3973644196 1.0000000000 + 3 0 0 1 1 + 0.60532955868 1.0000000000 + 4 0 0 1 1 + 0.10229514209 1.0000000000 + 5 0 0 1 1 + 0.37338972881E-01 1.0000000000 + 2 1 1 4 1 + 4.2460970000 -0.82324104973 + 3.3925940000 0.87084659933 + 1.1975891264 0.63512225791 + 0.52673750585 0.27225338752 + 3 1 1 1 1 + 0.20607094098 1.0000000000 + 4 1 1 1 1 + 0.37000000000E-01 1.0000000000 + 3 2 2 4 1 + 7.3613290985 -0.17199885828E-01 + 2.6291037258 0.23313745275 + 1.1292744634 0.44536385867 + 0.44471659896 0.39293650406 + 4 2 2 1 1 + 0.15544893836 1.0000000000 + +# ag (7s,6p,5d) / [5s,3p,2d] +Ag minix + 10 + 1 0 0 3 1 + 9.0884420000 -1.9808918797 + 7.5407310000 2.7554513347 + 2.7940050000 0.22715408381 + 2 0 0 1 1 + 1.4918135849 1.0000000000 + 3 0 0 1 1 + 0.63579159445 1.0000000000 + 4 0 0 1 1 + 0.10368414161 1.0000000000 + 5 0 0 1 1 + 0.37460004363E-01 1.0000000000 + 2 1 1 4 1 + 4.4512400000 -0.99352103771 + 3.6752630000 1.0500525237 + 1.2610620905 0.64747532537 + 0.54212477498 0.25621550723 + 3 1 1 1 1 + 0.20221617026 1.0000000000 + 4 1 1 1 1 + 0.0412000 1.0000000000 + 3 2 2 4 1 + 7.7956672292 -0.17042912377E-01 + 2.8926510238 0.23446154803 + 1.2474273203 0.44765877533 + 0.49313817671 0.39064954560 + 4 2 2 1 1 + 0.17285032603 1.0000000000 + +# cd (7s,6p,5d) / [5s,3p,2d] +Cd minix + 10 + 1 0 0 3 1 + 9.7270110000 -1.7930075316 + 7.8375230000 2.6110318971 + 5.0891940000 0.10748428949 + 2 0 0 1 1 + 1.4981738327 1.0000000000 + 3 0 0 1 1 + 0.67281383129 1.0000000000 + 4 0 0 1 1 + 0.13297424875 1.0000000000 + 5 0 0 1 1 + 0.46915090488E-01 1.0000000000 + 2 1 1 4 1 + 4.7427160000 -1.0411923051 + 3.9366550000 1.1003682332 + 1.3569243142 0.65366639411 + 0.58791569541 0.24632369113 + 3 1 1 1 1 + 0.21371239619 1.0000000000 + 4 1 1 1 1 + 0.0516000 1.0000000000 + 3 2 2 4 1 + 7.8631040859 -0.21376239365E-01 + 3.2935059133 0.22596399568 + 1.4503676025 0.45294402972 + 0.59373316766 0.39218971958231D+00 + 4 2 2 1 1 + 0.21760141520 1.0000000000 + +# in (10s,7p,6d) / [4s,4p,2d] +In minix + 10 + 1 0 0 6 1 + 283.52297445 0.70132141424E-03 + 23.324282101 -0.90887432418E-01 + 16.868026844 0.28096825177 + 6.7866498137 -0.70697832452 + 1.6782596016 0.98671644913 + 0.78396870439 0.62568576302 + 2 0 0 2 1 + 1.8276654775 -0.34151640249 + 0.83753492534 -0.59696724334 + 3 0 0 1 1 + 0.16643068973 1.0000000000 + 4 0 0 1 1 + 0.61143742809E-01 1.0000000000 + 2 1 1 4 1 + 14.699191826 0.92248042349E-01 + 8.8709038051 -0.32437029300 + 1.1342905889 0.61162217018 + 0.52667652433 0.17609640386 + 3 1 1 1 1 + 2.3284433667 1.0000000000 + 4 1 1 1 1 + 0.16859144934 1.0000000000 + 5 1 1 1 1 + 0.50070381081E-01 1.0000000000 + 3 2 2 5 1 + 31.378655926 0.54007004722E-02 + 18.290046326 -0.11208558948E-01 + 3.2551894590 0.30384519161 + 1.3874842584 0.54078109979 + 0.54248962672 0.38232680038 + 4 2 2 1 1 + 0.18000000000 1.0000000000 + +# sn (10s,7p,6d) / [4s,4p,2d] +Sn minix + 10 + 1 0 0 6 1 + 375.95156177 0.15224884228E-02 + 23.661818008 -0.16776065030 + 19.946281315 0.33989090393 + 6.8240270454 -0.84441791529 + 1.8771488722 0.92646952846 + 0.82033199226 0.53091094490 + 2 0 0 2 1 + 10.341549887 -0.90331119154E-02 + 1.3672524155 0.22980877714 + 3 0 0 1 1 + 0.18314843823 1.0000000000 + 4 0 0 1 1 + 0.69547226146E-01 1.0000000000 + 2 1 1 4 1 + 21.293597748 0.37103218279E-01 + 8.8171842499 -0.32351709661 + 1.2347028371 0.83846760898 + 0.57869142617 0.23294977050 + 3 1 1 1 1 + 2.5084050284 1.0000000000 + 4 1 1 1 1 + 0.21298577719 1.0000000000 + 5 1 1 1 1 + 0.67364584657E-01 1.0000000000 + 3 2 2 5 1 + 39.693023177 0.39185734275E-02 + 20.852179275 -0.68210073667E-02 + 3.6907832774 0.27938420495 + 1.5849404530 0.52607409874 + 0.62772693365 0.36149465348 + 4 2 2 1 1 + 0.20500000000 1.0000000000 + +# sb (10s,7p,6d) / [4s,4p,2d] +Sb minix + 10 + 1 0 0 6 1 + 372.76139166 0.15878057239E-02 + 22.689478596 -0.15027605583 + 18.391547037 0.35915813039 + 7.6406271414 -0.74805091065 + 1.9052000235 0.92017581656 + 0.93007107773 0.46754079597 + 2 0 0 2 1 + 10.584496987 -0.14845336778E-01 + 1.4680242769 0.35289492025 + 3 0 0 1 1 + 0.21621190032 1.0000000000 + 4 0 0 1 1 + 0.83546307041E-01 1.0000000000 + 2 1 1 4 1 + 15.926550950 0.13206950012 + 10.052739237 -0.41511149340 + 1.2682183726 0.74197972626 + 0.57196620929 0.15580772750 + 3 1 1 1 1 + 2.6190751238 1.0000000000 + 4 1 1 1 1 + 0.25183282652 1.0000000000 + 5 1 1 1 1 + 0.83389127684E-01 1.0000000000 + 3 2 2 5 1 + 45.485063360 0.32556415807E-02 + 18.504059617 -0.54952972010E-02 + 3.9156032308 0.27988806353 + 1.7142196009 0.51273377761 + 0.69675478242 0.33288802736 + 4 2 2 1 1 + 0.23060000000 1.0000000000 + +# te (10s,7p,6d) / [4s,4p,2d] +Te minix + 10 + 1 0 0 6 1 + 396.47954659 0.26307731203E-02 + 21.919773309 -0.13203517066 + 18.061271390 0.36203197834 + 8.1403463241 -0.75591120276 + 2.0705998798 0.79192928400 + 0.97715185085 0.40558342540 + 2 0 0 2 1 + 11.263563841 -0.15212984183E-01 + 1.6122696062 0.35202140517 + 3 0 0 1 1 + 0.25095401705 1.0000000000 + 4 0 0 1 1 + 0.97478452576E-01 1.0000000000 + 2 1 1 4 1 + 17.479502221 0.11517799182 + 10.433943171 -0.41205302672 + 1.3623024763 0.78760578076 + 0.59239616258 0.15283299018 + 3 1 1 1 1 + 2.7961737670 1.0000000000 + 4 1 1 1 1 + 0.29766401026 1.0000000000 + 5 1 1 1 1 + 0.96151090240E-01 1.0000000000 + 3 2 2 5 1 + 50.821835991 0.33763474774E-02 + 18.884095378 -0.35221408938E-02 + 4.2527304630 0.28254216065 + 1.8757557092 0.52039372916 + 0.77069282849 0.32213541689 + 4 2 2 1 1 + 0.25000000000 1.0000000000 + +# i (10s,7p,6d) / [4s,4p,2d] +I minix + 10 + 1 0 0 6 1 + 445.90489176 0.20037290389E-02 + 23.336842412 -0.14989397324 + 19.583446104 0.36436474913 + 8.5112089186 -0.75538138199 + 2.1996161861 0.82816359356 + 1.0668970454 0.42161048110 + 2 0 0 2 1 + 11.720547572 -0.16160234511E-01 + 1.7625986449 0.35271525193 + 3 0 0 1 1 + 0.28697476318 1.0000000000 + 4 0 0 1 1 + 0.11227609607 1.0000000000 + 2 1 1 4 1 + 20.499027254 0.77159335656E-01 + 10.558754576 -0.38370372780 + 1.5015895485 0.83554174719 + 0.64597173095 0.16787259488 + 3 1 1 1 1 + 3.0288656771 1.0000000000 + 4 1 1 1 1 + 0.34506591841 1.0000000000 + 5 1 1 1 1 + 0.11134513813 1.0000000000 + 3 2 2 5 1 + 51.235354920 0.40345130346E-02 + 15.616239482 -0.50768108881E-02 + 4.5266002139 0.29151065356 + 2.0529808766 0.51145783605 + 0.87640281623 0.31232025297 + 4 2 2 1 1 + 0.30900000000 1.0000000000 + +# xe (11s,10p,8d,2f) / [6s,5p,3d,2f] +Xe minix + 16 + 1 0 0 5 1 + 6420.2481656 0.25092173886E-03 + 983.54530664 0.16251948178E-02 + 219.43881364 0.46037106451E-02 + 23.012587807 -0.14698707182 + 18.048324490 0.57524870348 + 2 0 0 2 1 + 11.752550163 0.66038420156 + 6.2390917199 0.38470524721 + 3 0 0 1 1 + 2.6257211320 1.0000000000 + 4 0 0 1 1 + 1.2905042943 1.0000000000 + 5 0 0 1 1 + 0.36204185060 1.0000000000 + 6 0 0 1 1 + 0.14069888091 1.0000000000 + 2 1 1 3 1 + 193.81432545 0.95394802497E-03 + 21.725228086 0.57393353332E-01 + 9.8891605641 -0.27974266640 + 3 1 1 4 1 + 13.960683826 -0.50950157807E-01 + 4.0928947097 0.36669211800 + 2.2546815460 0.72619456861 + 1.1546596184 0.35555871740 + 4 1 1 1 1 + 0.52321923128 1.0000000000 + 5 1 1 1 1 + 0.21945569800 1.0000000000 + 6 1 1 1 1 + 0.86158996836E-01 1.0000000000 + 3 2 2 6 1 + 135.60300038 0.81873543290E-03 + 38.727062692 0.60897654151E-02 + 15.377328089 -0.92782985596E-02 + 5.2602537686 0.22890785589 + 2.6590627424 0.44434407051 + 1.2938205124 0.36029482992 + 4 2 2 1 1 + 0.58050830139 1.0000000000 + 5 2 2 1 1 + 0.18000000000 1.0000000000 + 4 3 3 1 1 + 0.49652793 1.00000000 + 5 3 3 1 1 + 2.5000000 1.0000000000 + diff --git a/data/xc_section/HF-3c.sec b/data/xc_section/HF-3c.sec new file mode 100644 index 0000000000..eb0c036f6c --- /dev/null +++ b/data/xc_section/HF-3c.sec @@ -0,0 +1,62 @@ + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &SCREENING + EPS_SCHWARZ 1.0E-12 + &END + &END + &vdW_POTENTIAL + DISPERSION_FUNCTIONAL PAIR_POTENTIAL + &PAIR_POTENTIAL + TYPE DFTD3(BJ) + D3BJ_SCALING 1.0000 0.4171 0.8777 2.9149 + PARAMETER_FILE_NAME dftd3.dat + SHORT_RANGE_CORRECTION TRUE + SHORT_RANGE_CORRECTION_PARAMETERS 0.03 0.70 1.50 0.75 + &END PAIR_POTENTIAL + &END vdW_POTENTIAL + &gcp_potential + GLOBAL_PARAMETERS 0.1290 1.1549 1.1763 1.1526 + + DELTA_ENERGY H 0.04240 + DELTA_ENERGY He 0.02832 + + DELTA_ENERGY Li 0.17787 + DELTA_ENERGY Be 0.17160 + DELTA_ENERGY B 0.22424 + DELTA_ENERGY C 0.27995 + DELTA_ENERGY N 0.35791 + DELTA_ENERGY O 0.47901 + DELTA_ENERGY F 0.63852 + DELTA_ENERGY Ne 0.83235 + + DELTA_ENERGY Na 1.11411 + DELTA_ENERGY Mg 1.27115 + DELTA_ENERGY Al 1.44695 + DELTA_ENERGY Si 1.61098 + DELTA_ENERGY P 1.76661 + DELTA_ENERGY S 1.98823 + DELTA_ENERGY Cl 2.22845 + DELTA_ENERGY Ar 2.48796 + + DELTA_ENERGY K 0.37425 + DELTA_ENERGY Ca 0.46097 + DELTA_ENERGY Sc 0.44489 + DELTA_ENERGY Ti 0.40499 + DELTA_ENERGY V 0.37841 + DELTA_ENERGY Cr 0.37344 + DELTA_ENERGY Mn 0.36125 + DELTA_ENERGY Fe 0.36001 + DELTA_ENERGY Co 0.36293 + DELTA_ENERGY Ni 0.24380 + DELTA_ENERGY Cu 0.40530 + DELTA_ENERGY Zn 0.39651 + DELTA_ENERGY Ga 0.35002 + DELTA_ENERGY Ge 0.34578 + DELTA_ENERGY As 0.34953 + DELTA_ENERGY Se 0.36731 + DELTA_ENERGY Br 0.38201 + DELTA_ENERGY Kr 0.39971 + &END GCP_POTENTIAL + &END XC diff --git a/src/common/bibliography.F b/src/common/bibliography.F index 56e11a9491..ecffdb29b0 100644 --- a/src/common/bibliography.F +++ b/src/common/bibliography.F @@ -69,7 +69,7 @@ MODULE bibliography Putrino2002, Sebastiani2001, Weber2009, Tran2013, Golze2013, & Golze2015, Golze2017a, Golze2017b, Tuckerman1992, Zhao1994, & Tozer1996, Goedecker2004, & - Khaliullin2013, Hutter2014, Bengtsson1999, Kantorovich2008, & + Khaliullin2013, Kruse2012, Hutter2014, Bengtsson1999, Kantorovich2008, & Kantorovich2008a, Wellendorff2012, Niklasson2014, Borstnik2014, & Rayson2009, Grimme2011, Fattebert2002, Andreussi2012, & Khaliullin2007, Khaliullin2008, Merlot2014, Lin2009, Lin2013, & @@ -3983,6 +3983,23 @@ CONTAINS "ER"), & DOI="10.4208/cicp.OA-2018-0053") + CALL add_reference(key=Kruse2012, ISI_record=s2a( & + "AU Kruse,Holger", & + " Grimme,Stefan", & + "AF Kruse,Holger", & + " Grimme,Stefan", & + "TI A geometrical correction for the inter- and intra-molecular basis set superposition error", & + " in Hartree-Fock and density functional theory calculations for large systems", & + "SO The Journal of Chemical Physics", & + "SN 0021-9606", & + "PY 2012", & + "VL 136", & + "IS 15", & + "AR 154101", & + "DI 10.1063/1.3700154", & + "ER"), & + DOI="10.1063/1.3700154") + END SUBROUTINE add_all_references END MODULE bibliography diff --git a/src/input_cp2k_xc.F b/src/input_cp2k_xc.F index 04d259a8cf..45da3aae42 100644 --- a/src/input_cp2k_xc.F +++ b/src/input_cp2k_xc.F @@ -12,7 +12,7 @@ MODULE input_cp2k_xc USE bibliography, ONLY: & Becke1988, Becke1997, BeckeRoussel1989, Goedecker1996, Grimme2006, Grimme2010, Grimme2011, & - Heyd2004, Lee1988, Lehtola2018, Marques2012, Ortiz1994, Perdew1981, Perdew1996, & + Heyd2004, Kruse2012, Lee1988, Lehtola2018, Marques2012, Ortiz1994, Perdew1981, Perdew1996, & Perdew2008, Proynov2007, Tao2003, Tran2013, Vosko1980, Wellendorff2012, Zhang1998 USE cp_output_handling, ONLY: add_last_numeric,& cp_print_key_section_create,& @@ -961,8 +961,16 @@ CONTAINS usage="SHORT_RANGE_CORRECTION", default_l_val=.FALSE., & lone_keyword_l_val=.TRUE.) CALL section_add_keyword(subsection, keyword) - ! KG molecular corrections CALL keyword_release(keyword) + CALL keyword_create(keyword, __LOCATION__, name="SHORT_RANGE_CORRECTION_PARAMETERS", & + description="Parameters for the short-range bond correction to the DFT-D3 model. "// & + " s*(za*zb)^t1*EXP(-g*dr*r0ab^t2), parameters: s, g, t1, t2 "// & + " Defaults: s=0.08, g=10.0, t1=0.5, t2=-1.0 ", & + usage="SHORT_RANGE_CORRECTION_PARAMETRS", default_r_vals=(/0.08_dp, 10.0_dp, 0.5_dp, -1.0_dp/), & + n_var=4, type_of_var=real_t) + CALL section_add_keyword(subsection, keyword) + CALL keyword_release(keyword) + ! KG molecular corrections CALL keyword_create(keyword, __LOCATION__, name="MOLECULE_CORRECTION", & description="Calculate a intermolecular correction to the DFT-D3 model", & usage="MOLECULE_CORRECTION", default_l_val=.FALSE., & @@ -1075,6 +1083,58 @@ CONTAINS END SUBROUTINE create_vdw_potential_section +! ************************************************************************************************** +!> \brief creates the structure of the section needed for gCP potentials +!> \param section the section that will be created +!> \author jgh +! ************************************************************************************************** + SUBROUTINE create_gcp_potential_section(section) + TYPE(section_type), POINTER :: section + + CHARACTER(len=*), PARAMETER :: routineN = 'create_gcp_potential_section', & + routineP = moduleN//':'//routineN + + TYPE(keyword_type), POINTER :: keyword + + CPASSERT(.NOT. ASSOCIATED(section)) + CALL section_create(section, __LOCATION__, name="gcp_potential", & + description="This section combines geometrical counterpoise potentials."// & + " This is a simple empirical pair potential to correct for BSSE. ", & + citations=(/Kruse2012/), & + n_keywords=1, n_subsections=1, repeats=.FALSE.) + + NULLIFY (keyword) + CALL keyword_create(keyword, __LOCATION__, name="PARAMETER_FILE_NAME", & + description="Name of the parameter file, may include a path", & + usage="PARAMETER_FILE_NAME ", & + default_lc_val="---") + CALL section_add_keyword(section, keyword) + CALL keyword_release(keyword) + + CALL keyword_create(keyword, __LOCATION__, name="GLOBAL_PARAMETERS", & + description="Global parameters of the gCP method."// & + " Parameters are sigma, alpha, beta, eta from the original paper.", & + usage="GLOBAL_PARAMETERS 1.0 1.0 1.0 1.0", n_var=4, & + default_r_vals=(/0.0_dp, 0.0_dp, 0.0_dp, 0.0_dp/)) + CALL section_add_keyword(section, keyword) + CALL keyword_release(keyword) + + CALL keyword_create(keyword, __LOCATION__, name="DELTA_ENERGY", & + description="Specify the delta energy [Hartree] term for an atom kind", & + usage="DELTA_ENERGY type value", & + type_of_var=char_t, repeats=.TRUE., n_var=-1, default_c_vals=(/"XX ", "0.0"/)) + CALL section_add_keyword(section, keyword) + CALL keyword_release(keyword) + + CALL keyword_create(keyword, __LOCATION__, name="VERBOSE", & + description="Verbose output for gCP calculation", & + usage="VERBOSE logical_value", & + default_l_val=.TRUE., lone_keyword_l_val=.TRUE.) + CALL section_add_keyword(section, keyword) + CALL keyword_release(keyword) + + END SUBROUTINE create_gcp_potential_section + ! ************************************************************************************************** !> \brief creates the input section for the xc part !> \param section the section to create @@ -1196,6 +1256,10 @@ CONTAINS CALL section_add_subsection(section, subsection) CALL section_release(subsection) + CALL create_gcp_potential_section(subsection) + CALL section_add_subsection(section, subsection) + CALL section_release(subsection) + END SUBROUTINE create_xc_section ! ************************************************************************************************** diff --git a/src/kg_energy_corrections.F b/src/kg_energy_corrections.F index 4414deddf8..ae46feeb90 100644 --- a/src/kg_energy_corrections.F +++ b/src/kg_energy_corrections.F @@ -776,6 +776,9 @@ CONTAINS ! dispersion through pairpotentials CALL calculate_dispersion_pairpot(qs_env, ec_env%dispersion_env, energy, .FALSE.) ec_env%edispersion = ec_env%edispersion+energy +!deb ! gCP pairpotentials +!deb CALL calculate_gcp_pairpot(qs_env, ec_env%gcp_env, energy, .FALSE.) +!deb ec_env%edispersion = ec_env%edispersion+energy SELECT CASE (ec_env%energy_functional) CASE (kg_ec_functional_harris) diff --git a/src/qs_dispersion_pairpot.F b/src/qs_dispersion_pairpot.F index 32d834efd9..f98b0f4f17 100644 --- a/src/qs_dispersion_pairpot.F +++ b/src/qs_dispersion_pairpot.F @@ -873,8 +873,8 @@ CONTAINS dc8a, dc8b, dcc6aba, dcc6abb, dcc6bcb, dcc6bcc, dcc6caa, dcc6cac, dd, de6, de8, de91, & de921, de922, dea, devdw, dfdab6, dfdab8, dfdabc, dfdmp, dr, drk, e6, e6tot, e8, e8tot, & e9, e9tot, elrc6, elrc8, elrc9, eps_cn, er, esrb, evdw, f0ab, fac, fac0, fdab6, fdab8, & - fdabc, fdmp, gnorm, kgc8, nab, nabc, r0, r0ab, r2ab, r2abc, r2bc, r2ca, r6, r8, rabc, & - rc2, rcc, rcut, rs6, rs8, s1, s2, s3, s6, s8, s8i, s9, srbe, xp + fdabc, fdmp, gnorm, gsrb, kgc8, nab, nabc, r0, r0ab, r2ab, r2abc, r2bc, r2ca, r6, r8, & + rabc, rc2, rcc, rcut, rs6, rs8, s1, s2, s3, s6, s8, s8i, s9, srbe, ssrb, t1srb, t2srb, xp REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: atom2mol, c6d2, cnkind, cnumbers, & cnumfix, radd2 REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: rcpbc @@ -1035,6 +1035,11 @@ CONTAINS ELSE IF (dispersion_env%pp_type == vdw_pairpot_dftd3bj) THEN idmp = 2 END IF + ! SRB parameters + ssrb = dispersion_env%srb_params(1) + gsrb = dispersion_env%srb_params(2) + t1srb = dispersion_env%srb_params(3) + t2srb = dispersion_env%srb_params(4) IF (unit_nr > 0) THEN WRITE (unit_nr, *) " Scaling parameter (s6) ", s6 @@ -1049,6 +1054,7 @@ CONTAINS WRITE (unit_nr, *) " Cutoff coordination numbers", eps_cn IF (dispersion_env%lrc) THEN WRITE (unit_nr, *) " Apply a long range correction" + WRITE (unit_nr, *) " SRB parameters (s,g,t1,t2) ", ssrb, gsrb, t1srb, t2srb END IF IF (dispersion_env%srb) THEN WRITE (unit_nr, *) " Apply a short range bond correction" @@ -1239,7 +1245,7 @@ CONTAINS CPABORT("Unknown DFT-D3 damping function:") END IF IF (dispersion_env%srb .AND. dr .LT. 30.0d0) THEN - srbe = 0.08_dp*SQRT(REAL((za*zb), KIND=dp))*EXP(-10.0_dp*dr/dispersion_env%r0ab(za, zb)) + srbe = ssrb*(REAL((za*zb), KIND=dp))**t1srb*EXP(-gsrb*dr*dispersion_env%r0ab(za, zb)**t2srb) esrb = esrb+srbe evdw = evdw-srbe ELSE @@ -1267,7 +1273,7 @@ CONTAINS END IF fdij(:) = (de6+de8)*rij(:)/dr*fac IF (dispersion_env%srb .AND. dr .LT. 30.0d0) THEN - fdij(:) = fdij(:)+10._dp*srbe*rij(:)/(dr*dispersion_env%r0ab(za, zb)) + fdij(:) = fdij(:)+srbe*gsrb*dispersion_env%r0ab(za, zb)**t2srb*rij(:)/dr END IF atom_a = atom_of_kind(iatom) atom_b = atom_of_kind(jatom) diff --git a/src/qs_dispersion_types.F b/src/qs_dispersion_types.F index 853b3f93bf..bf7f8ab551 100644 --- a/src/qs_dispersion_types.F +++ b/src/qs_dispersion_types.F @@ -50,6 +50,7 @@ MODULE qs_dispersion_types LOGICAL :: c9cnst !use constant c9 terms LOGICAL :: lrc !calculate a long range correction LOGICAL :: srb !calculate a short range bond correction + REAL(KIND=dp), DIMENSION(4) :: srb_params ! parameters for SRB (s,g,t1,t2) TYPE(neighbor_list_set_p_type), & DIMENSION(:), POINTER :: sab_vdw, sab_cn ! neighborlists for pair interactions REAL(KIND=dp), DIMENSION(:, :, :, :, :), POINTER & diff --git a/src/qs_dispersion_utils.F b/src/qs_dispersion_utils.F index edaf5072cc..08446d1eb4 100644 --- a/src/qs_dispersion_utils.F +++ b/src/qs_dispersion_utils.F @@ -113,6 +113,8 @@ CONTAINS CALL section_vals_val_get(pp_section, "REFERENCE_C9_TERM", l_val=dispersion_env%c9cnst) CALL section_vals_val_get(pp_section, "LONG_RANGE_CORRECTION", l_val=dispersion_env%lrc) CALL section_vals_val_get(pp_section, "SHORT_RANGE_CORRECTION", l_val=dispersion_env%srb) + CALL section_vals_val_get(pp_section, "SHORT_RANGE_CORRECTION_PARAMETERS", r_vals=params) + dispersion_env%srb_params(1:4) = params(1:4) ! KG corrections CALL section_vals_val_get(pp_section, "MOLECULE_CORRECTION", l_val=dispersion_env%domol) CALL section_vals_val_get(pp_section, "MOLECULE_CORRECTION_C8", r_val=dispersion_env%kgc8) diff --git a/src/qs_energy_init.F b/src/qs_energy_init.F index 6402d68555..a2fed3ef6d 100644 --- a/src/qs_energy_init.F +++ b/src/qs_energy_init.F @@ -48,6 +48,8 @@ MODULE qs_energy_init USE qs_external_density, ONLY: external_read_density USE qs_external_potential, ONLY: external_c_potential,& external_e_potential + USE qs_gcp_method, ONLY: calculate_gcp_pairpot + USE qs_gcp_types, ONLY: qs_gcp_type USE qs_ks_methods, ONLY: qs_ks_allocate_basics USE qs_ks_types, ONLY: qs_ks_env_type,& set_ks_env @@ -261,6 +263,7 @@ CONTAINS POINTER :: sab_nl TYPE(qs_dispersion_type), POINTER :: dispersion_env TYPE(qs_energy_type), POINTER :: energy + TYPE(qs_gcp_type), POINTER :: gcp_env TYPE(section_vals_type), POINTER :: input CALL timeset(routineN, handle) @@ -339,6 +342,12 @@ CONTAINS ! energy info at the end of the SCF CALL get_qs_env(qs_env=qs_env, dispersion_env=dispersion_env, energy=energy) CALL calculate_dispersion_pairpot(qs_env, dispersion_env, energy%dispersion, calc_forces) + ! Add possible pair potential gCP energy - Evaluate first so we can print + ! energy info at the end of the SCF + CALL get_qs_env(qs_env=qs_env, gcp_env=gcp_env, energy=energy) + IF (ASSOCIATED(gcp_env)) THEN + CALL calculate_gcp_pairpot(qs_env, gcp_env, energy%gcp, calc_forces) + END IF END IF ! Embedding potential diff --git a/src/qs_energy_types.F b/src/qs_energy_types.F index b2dbdd5921..87e64d5148 100644 --- a/src/qs_energy_types.F +++ b/src/qs_energy_types.F @@ -27,6 +27,7 @@ MODULE qs_energy_types core_self, & repulsive, & dispersion, & + gcp, & ex, & exc, & exc_aux_fit, & @@ -154,6 +155,7 @@ CONTAINS qs_energy%core_self = 0.0_dp qs_energy%repulsive = 0.0_dp qs_energy%dispersion = 0.0_dp + qs_energy%gcp = 0.0_dp qs_energy%qmmm_el = 0.0_dp qs_energy%qmmm_nu = 0.0_dp qs_energy%ex = 0.0_dp diff --git a/src/qs_energy_utils.F b/src/qs_energy_utils.F index 5cf65772bb..6aa62217e7 100644 --- a/src/qs_energy_utils.F +++ b/src/qs_energy_utils.F @@ -250,6 +250,7 @@ CONTAINS CALL atprop_array_add(atprop%atener, atprop%atexc) CALL atprop_array_add(atprop%atener, atprop%atecoul) CALL atprop_array_add(atprop%atener, atprop%atevdw) + CALL atprop_array_add(atprop%atener, atprop%ategcp) CALL atprop_array_add(atprop%atener, atprop%atecc) CALL atprop_array_add(atprop%atener, atprop%ate1c) END IF diff --git a/src/qs_environment.F b/src/qs_environment.F index 19f83b91e9..6afe8834b8 100644 --- a/src/qs_environment.F +++ b/src/qs_environment.F @@ -142,6 +142,9 @@ MODULE qs_environment qs_environment_type,& set_qs_env USE qs_force_types, ONLY: qs_force_type + USE qs_gcp_types, ONLY: qs_gcp_type + USE qs_gcp_utils, ONLY: qs_gcp_env_set,& + qs_gcp_init USE qs_interactions, ONLY: init_interaction_radii,& init_se_nlradius,& write_core_charge_radii,& @@ -516,6 +519,7 @@ CONTAINS TYPE(qs_dispersion_type), POINTER :: dispersion_env TYPE(qs_energy_type), POINTER :: energy TYPE(qs_force_type), DIMENSION(:), POINTER :: force + TYPE(qs_gcp_type), POINTER :: gcp_env TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set TYPE(qs_kind_type), POINTER :: qs_kind TYPE(qs_ks_env_type), POINTER :: ks_env @@ -1141,6 +1145,21 @@ CONTAINS CALL set_qs_env(qs_env, dispersion_env=dispersion_env) END IF + ! Initialize possible geomertical counterpoise correction potential + IF (dft_control%qs_control%method_id == do_method_gpw .OR. & + dft_control%qs_control%method_id == do_method_gapw .OR. & + dft_control%qs_control%method_id == do_method_gapw_xc .OR. & + dft_control%qs_control%method_id == do_method_lrigpw .OR. & + dft_control%qs_control%method_id == do_method_rigpw .OR. & + dft_control%qs_control%method_id == do_method_ofgpw) THEN + ALLOCATE (gcp_env) + NULLIFY (xc_section) + xc_section => section_vals_get_subs_vals(dft_section, "XC") + CALL qs_gcp_env_set(gcp_env, xc_section) + CALL qs_gcp_init(qs_env, gcp_env) + CALL set_qs_env(qs_env, gcp_env=gcp_env) + END IF + ! *** Allocate the MO data types *** CALL get_qs_kind_set(qs_kind_set, nsgf=n_ao, nelectron=nelectron) diff --git a/src/qs_environment_types.F b/src/qs_environment_types.F index 8bf35a2b09..36ae9b2ad9 100644 --- a/src/qs_environment_types.F +++ b/src/qs_environment_types.F @@ -94,6 +94,8 @@ MODULE qs_environment_types qs_dispersion_type USE qs_energy_types, ONLY: qs_energy_type USE qs_force_types, ONLY: qs_force_type + USE qs_gcp_types, ONLY: qs_gcp_release,& + qs_gcp_type USE qs_kind_types, ONLY: qs_kind_type USE qs_ks_qmmm_types, ONLY: qs_ks_qmmm_env_type,& qs_ks_qmmm_release,& @@ -277,6 +279,8 @@ MODULE qs_environment_types TYPE(lri_density_type), POINTER :: lri_density ! Empirical dispersion TYPE(qs_dispersion_type), POINTER :: dispersion_env + ! Empirical geometrical BSSE correction + TYPE(qs_gcp_type), POINTER :: gcp_env ! Semi-empirical and DFTB types TYPE(ewald_environment_type), POINTER :: ewald_env TYPE(ewald_pw_type), POINTER :: ewald_pw @@ -456,6 +460,7 @@ CONTAINS !> \param lri_env ... !> \param lri_density ... !> \param dispersion_env ... +!> \param gcp_env ... !> \param vee ... !> \param rho_external ... !> \param external_vxc ... @@ -507,7 +512,7 @@ CONTAINS neighbor_list_id, linres_control, xas_env, virial, cp_ddapc_env, cp_ddapc_ewald, & outer_scf_history, outer_scf_ihistory, x_data, et_coupling, dftb_potential, results, & se_taper, se_store_int_env, se_nddo_mpole, se_nonbond_env, admm_env, admm_dm, & - lri_env, lri_density, dispersion_env, vee, rho_external, external_vxc, mask, & + lri_env, lri_density, dispersion_env, gcp_env, vee, rho_external, external_vxc, mask, & mp2_env, kg_env, WannierCentres, atprop, ls_scf_env, do_transport, transport_env, v_hartree_rspace, & s_mstruct_changed, rho_changed, potential_changed, forces_up_to_date, mscfg_env, almo_scf_env, & gradient_history, variable_history, embed_pot, spin_embed_pot, polar_env, rhs) @@ -621,6 +626,7 @@ CONTAINS TYPE(lri_environment_type), OPTIONAL, POINTER :: lri_env TYPE(lri_density_type), OPTIONAL, POINTER :: lri_density TYPE(qs_dispersion_type), OPTIONAL, POINTER :: dispersion_env + TYPE(qs_gcp_type), OPTIONAL, POINTER :: gcp_env TYPE(pw_p_type), OPTIONAL, POINTER :: vee TYPE(qs_rho_type), OPTIONAL, POINTER :: rho_external TYPE(pw_p_type), OPTIONAL, POINTER :: external_vxc, mask @@ -694,6 +700,7 @@ CONTAINS IF (PRESENT(lri_env)) lri_env => qs_env%lri_env IF (PRESENT(lri_density)) lri_density => qs_env%lri_density IF (PRESENT(dispersion_env)) dispersion_env => qs_env%dispersion_env + IF (PRESENT(gcp_env)) gcp_env => qs_env%gcp_env IF (PRESENT(run_rtp)) run_rtp = qs_env%run_rtp IF (PRESENT(rtp)) rtp => qs_env%rtp IF (PRESENT(ls_scf_env)) ls_scf_env => qs_env%ls_scf_env @@ -909,7 +916,7 @@ CONTAINS NULLIFY (qs_env%efield) NULLIFY (qs_env%lri_env) NULLIFY (qs_env%lri_density) - NULLIFY (qs_env%dispersion_env) + NULLIFY (qs_env%gcp_env) NULLIFY (qs_env%rtp) NULLIFY (qs_env%mp2_env) NULLIFY (qs_env%kg_env) @@ -1012,6 +1019,7 @@ CONTAINS !> \param lri_env ... !> \param lri_density ... !> \param dispersion_env ... +!> \param gcp_env ... !> \param mp2_env ... !> \param kg_env ... !> \param kpoints ... @@ -1039,7 +1047,7 @@ CONTAINS linres_control, xas_env, cp_ddapc_env, cp_ddapc_ewald, & outer_scf_history, outer_scf_ihistory, x_data, et_coupling, dftb_potential, & se_taper, se_store_int_env, se_nddo_mpole, se_nonbond_env, admm_env, ls_scf_env, & - do_transport, transport_env, lri_env, lri_density, dispersion_env, mp2_env, kg_env, & + do_transport, transport_env, lri_env, lri_density, dispersion_env, gcp_env, mp2_env, kg_env, & kpoints, WannierCentres, almo_scf_env, gradient_history, variable_history, embed_pot, & spin_embed_pot, polar_env, rhs) @@ -1101,6 +1109,7 @@ CONTAINS TYPE(lri_environment_type), OPTIONAL, POINTER :: lri_env TYPE(lri_density_type), OPTIONAL, POINTER :: lri_density TYPE(qs_dispersion_type), OPTIONAL, POINTER :: dispersion_env + TYPE(qs_gcp_type), OPTIONAL, POINTER :: gcp_env TYPE(mp2_type), OPTIONAL, POINTER :: mp2_env TYPE(kg_environment_type), OPTIONAL, POINTER :: kg_env TYPE(kpoint_type), OPTIONAL, POINTER :: kpoints @@ -1282,6 +1291,7 @@ CONTAINS IF (PRESENT(lri_env)) qs_env%lri_env => lri_env IF (PRESENT(lri_density)) qs_env%lri_density => lri_density IF (PRESENT(dispersion_env)) qs_env%dispersion_env => dispersion_env + IF (PRESENT(gcp_env)) qs_env%gcp_env => gcp_env IF (PRESENT(WannierCentres)) qs_env%WannierCentres => WannierCentres IF (PRESENT(kpoints)) CALL set_ks_env(qs_env%ks_env, kpoints=kpoints) @@ -1510,6 +1520,10 @@ CONTAINS ! dispersion CALL qs_dispersion_release(qs_env%dispersion_env) + ! gCP + IF (ASSOCIATED(qs_env%gcp_env)) THEN + CALL qs_gcp_release(qs_env%gcp_env) + END IF IF (ASSOCIATED(qs_env%WannierCentres)) THEN DO i = 1, SIZE(qs_env%WannierCentres) diff --git a/src/qs_force.F b/src/qs_force.F index 1d04d34f1a..50e123f25e 100644 --- a/src/qs_force.F +++ b/src/qs_force.F @@ -552,9 +552,10 @@ CONTAINS iatom, ikind, " core_overlap", qs_force(ikind)%core_overlap(1:3, i), & iatom, ikind, " rho_core", qs_force(ikind)%rho_core(1:3, i), & iatom, ikind, " rho_elec", qs_force(ikind)%rho_elec(1:3, i), & - iatom, ikind, " rho_lri_elec", qs_force(ikind)%rho_lri_elec(1:3, i), & + iatom, ikind, " rho_lri_elec", qs_force(ikind)%rho_lri_elec(1:3, i), & iatom, ikind, " ch_pulay", qs_force(ikind)%ch_pulay(1:3, i), & iatom, ikind, " dispersion", qs_force(ikind)%dispersion(1:3, i), & + iatom, ikind, " gCP", qs_force(ikind)%gcp(1:3, i), & iatom, ikind, " other", qs_force(ikind)%other(1:3, i), & iatom, ikind, " fock_4c", qs_force(ikind)%fock_4c(1:3, i), & iatom, ikind, " ehrenfest", qs_force(ikind)%ehrenfest(1:3, i), & @@ -580,11 +581,12 @@ CONTAINS iatom, ikind, " core_overlap", qs_force(ikind)%core_overlap(1:3, i), & iatom, ikind, " rho_core", qs_force(ikind)%rho_core(1:3, i), & iatom, ikind, " rho_elec", qs_force(ikind)%rho_elec(1:3, i), & - iatom, ikind, " rho_lri_elec", qs_force(ikind)%rho_lri_elec(1:3, i), & + iatom, ikind, " rho_lri_elec", qs_force(ikind)%rho_lri_elec(1:3, i), & iatom, ikind, " vhxc_atom", qs_force(ikind)%vhxc_atom(1:3, i), & iatom, ikind, " g0s_Vh_elec", qs_force(ikind)%g0s_Vh_elec(1:3, i), & iatom, ikind, " ch_pulay", qs_force(ikind)%ch_pulay(1:3, i), & iatom, ikind, " dispersion", qs_force(ikind)%dispersion(1:3, i), & + iatom, ikind, " gCP", qs_force(ikind)%gcp(1:3, i), & iatom, ikind, " fock_4c", qs_force(ikind)%fock_4c(1:3, i), & iatom, ikind, " efield", qs_force(ikind)%efield(1:3, i), & iatom, ikind, " eev", qs_force(ikind)%eev(1:3, i), & @@ -600,7 +602,6 @@ CONTAINS WRITE (UNIT=output_unit, FMT=fmtstr2) & iatom, ikind, " all_potential", qs_force(ikind)%all_potential(1:3, i), & iatom, ikind, " rho_elec", qs_force(ikind)%rho_elec(1:3, i), & - iatom, ikind, " rho_lri_elec", qs_force(ikind)%rho_lri_elec(1:3, i), & iatom, ikind, " total", qs_force(ikind)%total(1:3, i) grand_total(1:3) = grand_total(1:3)+qs_force(ikind)%total(1:3, i) END DO @@ -618,7 +619,6 @@ CONTAINS iatom, ikind, " core_overlap", qs_force(ikind)%core_overlap(1:3, i), & iatom, ikind, " rho_core", qs_force(ikind)%rho_core(1:3, i), & iatom, ikind, " rho_elec", qs_force(ikind)%rho_elec(1:3, i), & - iatom, ikind, " rho_lri_elec", qs_force(ikind)%rho_lri_elec(1:3, i), & iatom, ikind, " ch_pulay", qs_force(ikind)%ch_pulay(1:3, i), & iatom, ikind, " fock_4c", qs_force(ikind)%fock_4c(1:3, i), & iatom, ikind, " mp2_non_sep", qs_force(ikind)%mp2_non_sep(1:3, i), & @@ -649,7 +649,6 @@ CONTAINS iatom, ikind, " overlap", qs_force(ikind)%overlap(1:3, i), & iatom, ikind, " kinetic", qs_force(ikind)%kinetic(1:3, i), & iatom, ikind, " rho_elec", qs_force(ikind)%rho_elec(1:3, i), & - iatom, ikind, " rho_lri_elec", qs_force(ikind)%rho_lri_elec(1:3, i), & iatom, ikind, " dispersion", qs_force(ikind)%dispersion(1:3, i), & iatom, ikind, " all potential", qs_force(ikind)%all_potential(1:3, i), & iatom, ikind, " other", qs_force(ikind)%other(1:3, i), & diff --git a/src/qs_force_types.F b/src/qs_force_types.F index 8e66596100..24df072890 100644 --- a/src/qs_force_types.F +++ b/src/qs_force_types.F @@ -38,6 +38,7 @@ MODULE qs_force_types g0s_Vh_elec, & repulsive, & dispersion, & + gcp, & other, & ch_pulay, & fock_4c, & @@ -100,6 +101,7 @@ CONTAINS ALLOCATE (qs_force(ikind)%g0s_Vh_elec(3, n)) ALLOCATE (qs_force(ikind)%repulsive(3, n)) ALLOCATE (qs_force(ikind)%dispersion(3, n)) + ALLOCATE (qs_force(ikind)%gcp(3, n)) ALLOCATE (qs_force(ikind)%other(3, n)) ALLOCATE (qs_force(ikind)%ch_pulay(3, n)) ALLOCATE (qs_force(ikind)%ehrenfest(3, n)) @@ -196,6 +198,10 @@ CONTAINS DEALLOCATE (qs_force(ikind)%dispersion) END IF + IF (ASSOCIATED(qs_force(ikind)%gcp)) THEN + DEALLOCATE (qs_force(ikind)%gcp) + END IF + IF (ASSOCIATED(qs_force(ikind)%other)) THEN DEALLOCATE (qs_force(ikind)%other) END IF @@ -270,6 +276,7 @@ CONTAINS qs_force(ikind)%g0s_Vh_elec(:, :) = 0.0_dp qs_force(ikind)%repulsive(:, :) = 0.0_dp qs_force(ikind)%dispersion(:, :) = 0.0_dp + qs_force(ikind)%gcp(:, :) = 0.0_dp qs_force(ikind)%other(:, :) = 0.0_dp qs_force(ikind)%fock_4c(:, :) = 0.0_dp qs_force(ikind)%ehrenfest(:, :) = 0.0_dp @@ -320,6 +327,7 @@ CONTAINS CALL mp_sum(qs_force(ikind)%mp2_sep, para_env%group) CALL mp_sum(qs_force(ikind)%repulsive, para_env%group) CALL mp_sum(qs_force(ikind)%dispersion, para_env%group) + CALL mp_sum(qs_force(ikind)%gcp, para_env%group) CALL mp_sum(qs_force(ikind)%ehrenfest, para_env%group) qs_force(ikind)%total(:, :) = qs_force(ikind)%total(:, :)+ & @@ -341,6 +349,7 @@ CONTAINS qs_force(ikind)%mp2_sep(:, :)+ & qs_force(ikind)%repulsive(:, :)+ & qs_force(ikind)%dispersion(:, :)+ & + qs_force(ikind)%gcp(:, :)+ & qs_force(ikind)%ehrenfest(:, :)+ & qs_force(ikind)%efield(:, :)+ & qs_force(ikind)%eev(:, :) diff --git a/src/qs_gcp_method.F b/src/qs_gcp_method.F new file mode 100644 index 0000000000..34327fab5b --- /dev/null +++ b/src/qs_gcp_method.F @@ -0,0 +1,306 @@ +!--------------------------------------------------------------------------------------------------! +! CP2K: A general program to perform molecular dynamics simulations ! +! Copyright (C) 2000 - 2019 CP2K developers group ! +!--------------------------------------------------------------------------------------------------! + +! ************************************************************************************************** +!> \brief Calculation of gCP pair potentials +!> \author JGH +! ************************************************************************************************** +MODULE qs_gcp_method + USE ai_overlap, ONLY: overlap_ab + USE atomic_kind_types, ONLY: atomic_kind_type,& + get_atomic_kind_set + USE atprop_types, ONLY: atprop_array_init,& + atprop_type + USE cell_types, ONLY: cell_type + USE cp_log_handling, ONLY: cp_logger_get_default_io_unit + USE cp_para_types, ONLY: cp_para_env_type + USE kinds, ONLY: dp + USE message_passing, ONLY: mp_sum + USE particle_types, ONLY: particle_type + USE physcon, ONLY: kcalmol + USE qs_environment_types, ONLY: get_qs_env,& + qs_environment_type + USE qs_force_types, ONLY: qs_force_type + USE qs_gcp_types, ONLY: qs_gcp_type + USE qs_kind_types, ONLY: qs_kind_type + USE qs_neighbor_list_types, ONLY: get_iterator_info,& + neighbor_list_iterate,& + neighbor_list_iterator_create,& + neighbor_list_iterator_p_type,& + neighbor_list_iterator_release,& + neighbor_list_set_p_type + USE virial_methods, ONLY: virial_pair_force + USE virial_types, ONLY: virial_type +#include "./base/base_uses.f90" + + IMPLICIT NONE + + PRIVATE + + CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'qs_gcp_method' + + PUBLIC :: calculate_gcp_pairpot + +! ************************************************************************************************** + +CONTAINS + +! ************************************************************************************************** +!> \brief ... +!> \param qs_env ... +!> \param gcp_env ... +!> \param energy ... +!> \param calculate_forces ... +!> \note +!> \note energy_correction_type: also add gcp_env and egcp to the type +!> \note +! ************************************************************************************************** + SUBROUTINE calculate_gcp_pairpot(qs_env, gcp_env, energy, calculate_forces) + + TYPE(qs_environment_type), POINTER :: qs_env + TYPE(qs_gcp_type), POINTER :: gcp_env + REAL(KIND=dp), INTENT(OUT) :: energy + LOGICAL, INTENT(IN) :: calculate_forces + + CHARACTER(LEN=*), PARAMETER :: routineN = 'calculate_gcp_pairpot', & + routineP = moduleN//':'//routineN + + INTEGER :: atom_a, atom_b, handle, i, iatom, ikind, & + jatom, jkind, mepos, natom, nkind, & + nsto, unit_nr + INTEGER, ALLOCATABLE, DIMENSION(:) :: atom_of_kind, kind_of, ngcpat + LOGICAL :: atenergy, atstress, use_virial, verbose + REAL(KIND=dp) :: eama, eamb, egcp, expab, fac, fda, fdb, & + gnorm, nvirta, nvirtb, rcc, sint, sqa, & + sqb + REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: egcpat + REAL(KIND=dp), DIMENSION(3) :: dsint, fdij, rij + REAL(KIND=dp), DIMENSION(3, 3) :: dvirial + REAL(KIND=dp), DIMENSION(6) :: cla, clb, rcut, zeta, zetb + REAL(KIND=dp), DIMENSION(6, 6) :: sab + REAL(KIND=dp), DIMENSION(6, 6, 3) :: dab + REAL(KIND=dp), DIMENSION(:), POINTER :: atener + REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: atstr + TYPE(atomic_kind_type), DIMENSION(:), POINTER :: atomic_kind_set + TYPE(atprop_type), POINTER :: atprop + TYPE(cell_type), POINTER :: cell + TYPE(cp_para_env_type), POINTER :: para_env + TYPE(neighbor_list_iterator_p_type), & + DIMENSION(:), POINTER :: nl_iterator + TYPE(neighbor_list_set_p_type), DIMENSION(:), & + POINTER :: sab_gcp + TYPE(particle_type), DIMENSION(:), POINTER :: particle_set + TYPE(qs_force_type), DIMENSION(:), POINTER :: force + TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set + TYPE(virial_type), POINTER :: virial + + energy = 0._dp + IF (.NOT. gcp_env%do_gcp) RETURN + + CALL timeset(routineN, handle) + + NULLIFY (atomic_kind_set, qs_kind_set, particle_set, sab_gcp) + + CALL get_qs_env(qs_env=qs_env, atomic_kind_set=atomic_kind_set, qs_kind_set=qs_kind_set, & + cell=cell, virial=virial, para_env=para_env, atprop=atprop) + nkind = SIZE(atomic_kind_set) + NULLIFY (particle_set) + CALL get_qs_env(qs_env=qs_env, particle_set=particle_set) + natom = SIZE(particle_set) + + verbose = gcp_env%verbose + IF (verbose) THEN + unit_nr = cp_logger_get_default_io_unit() + ELSE + unit_nr = -1 + END IF + ! atomic energy and stress arrays + atenergy = atprop%energy + IF (atenergy) THEN + CALL atprop_array_init(atprop%ategcp, natom) + atener => atprop%ategcp + END IF + atstress = atprop%stress + IF (atstress) THEN + atstr => atprop%atstress + END IF + + IF (unit_nr > 0) THEN + WRITE (unit_nr, *) + WRITE (unit_nr, *) " Pair potential geometrical counterpoise (gCP) calculation" + WRITE (unit_nr, *) + WRITE (unit_nr, "(T15,A,T74,F7.4)") " Gloabal Parameters: sigma = ", gcp_env%sigma, & + " alpha = ", gcp_env%alpha, & + " beta = ", gcp_env%beta, & + " eta = ", gcp_env%eta + WRITE (unit_nr, *) + WRITE (unit_nr, "(T31,4(A5,10X))") " kind", "nvirt", "Emiss", " asto" + DO ikind = 1, nkind + WRITE (unit_nr, "(T31,i5,F15.1,F15.4,F15.4)") ikind, gcp_env%gcp_kind(ikind)%nbvirt, & + gcp_env%gcp_kind(ikind)%eamiss, gcp_env%gcp_kind(ikind)%asto + END DO + WRITE (unit_nr, *) + END IF + + IF (calculate_forces) THEN + NULLIFY (force) + CALL get_qs_env(qs_env=qs_env, force=force) + ALLOCATE (atom_of_kind(natom), kind_of(natom)) + CALL get_atomic_kind_set(atomic_kind_set, atom_of_kind=atom_of_kind, kind_of=kind_of) + use_virial = virial%pv_availability .AND. (.NOT. virial%pv_numer) + IF (use_virial) dvirial = virial%pv_virial + END IF + + ! include all integrals in the list + rcut = 1.e6_dp + + egcp = 0.0_dp + IF (verbose) THEN + ALLOCATE (egcpat(natom), ngcpat(natom)) + egcpat = 0.0_dp + ngcpat = 0 + END IF + + nsto = 6 + DO ikind = 1, nkind + CPASSERT(nsto == SIZE(gcp_env%gcp_kind(jkind)%al)) + END DO + + sab_gcp => gcp_env%sab_gcp + CALL neighbor_list_iterator_create(nl_iterator, sab_gcp) + DO WHILE (neighbor_list_iterate(nl_iterator) == 0) + + CALL get_iterator_info(nl_iterator, mepos=mepos, ikind=ikind, jkind=jkind, iatom=iatom, jatom=jatom, r=rij) + + rcc = SQRT(rij(1)*rij(1)+rij(2)*rij(2)+rij(3)*rij(3)) + IF (rcc > 1.e-6_dp) THEN + fac = 1._dp + IF (iatom == jatom) fac = 0.5_dp + nvirta = gcp_env%gcp_kind(ikind)%nbvirt + nvirtb = gcp_env%gcp_kind(jkind)%nbvirt + eama = gcp_env%gcp_kind(ikind)%eamiss + eamb = gcp_env%gcp_kind(jkind)%eamiss + expab = EXP(-gcp_env%alpha*rcc**gcp_env%beta) + zeta(1:nsto) = gcp_env%gcp_kind(ikind)%al(1:nsto) + zetb(1:nsto) = gcp_env%gcp_kind(jkind)%al(1:nsto) + cla(1:nsto) = gcp_env%gcp_kind(ikind)%cl(1:nsto) + clb(1:nsto) = gcp_env%gcp_kind(jkind)%cl(1:nsto) + IF (calculate_forces) THEN + CALL overlap_ab(0, 0, nsto, rcut, zeta, 0, 0, nsto, rcut, zetb, rij, sab, dab) + DO i = 1, 3 + dsint(i) = SUM(cla*MATMUL(dab(:, :, i), clb)) + END DO + ELSE + CALL overlap_ab(0, 0, nsto, rcut, zeta, 0, 0, nsto, rcut, zetb, rij, sab) + END IF + sint = SUM(cla*MATMUL(sab, clb)) + IF (sint < 1.e-16_dp) CYCLE + sqa = SQRT(sint*nvirta) + sqb = SQRT(sint*nvirtb) + IF (sqb > 1.e-12_dp) THEN + fda = gcp_env%sigma*eama*expab/sqb + ELSE + fda = 0.0_dp + END IF + IF (sqa > 1.e-12_dp) THEN + fdb = gcp_env%sigma*eamb*expab/sqa + ELSE + fdb = 0.0_dp + END IF + egcp = egcp+fac*(fda+fdb) + IF (verbose) THEN + egcpat(iatom) = egcpat(iatom)+fac*fda + egcpat(jatom) = egcpat(jatom)+fac*fdb + ngcpat(iatom) = ngcpat(iatom)+1 + ngcpat(jatom) = ngcpat(jatom)+1 + END IF + IF (calculate_forces) THEN + fdij = -fac*(fda+fdb)*(gcp_env%alpha*gcp_env%beta*rcc**(gcp_env%beta-1.0_dp)*rij(1:3)/rcc) + IF (sqa > 1.e-12_dp) THEN + fdij = fdij+0.25_dp*fac*fdb/(sqa*sqa)*dsint(1:3) + END IF + IF (sqb > 1.e-12_dp) THEN + fdij = fdij+0.25_dp*fac*fda/(sqb*sqb)*dsint(1:3) + END IF + atom_a = atom_of_kind(iatom) + atom_b = atom_of_kind(jatom) + force(ikind)%gcp(:, atom_a) = force(ikind)%gcp(:, atom_a)-fdij(:) + force(jkind)%gcp(:, atom_b) = force(jkind)%gcp(:, atom_b)+fdij(:) + IF (use_virial) THEN + CALL virial_pair_force(virial%pv_virial, -1._dp, fdij, rij) + END IF + IF (atstress) THEN + CALL virial_pair_force(atstr(:, :, iatom), -0.5_dp, fdij, rij) + CALL virial_pair_force(atstr(:, :, jatom), -0.5_dp, fdij, rij) + END IF + END IF + IF (atenergy) THEN + atener(iatom) = atener(iatom)+fda*fac + atener(jatom) = atener(jatom)+fdb*fac + END IF + END IF + END DO + + CALL neighbor_list_iterator_release(nl_iterator) + + ! set gCP energy + CALL mp_sum(egcp, para_env%group) + energy = egcp + IF (verbose) THEN + CALL mp_sum(egcpat, para_env%group) + CALL mp_sum(ngcpat, para_env%group) + END IF + + IF (unit_nr > 0) THEN + WRITE (unit_nr, "(T15,A,T61,F20.10)") " Total gCP energy [au] :", egcp + WRITE (unit_nr, "(T15,A,T61,F20.10)") " Total gCP energy [kcal] :", egcp*kcalmol + WRITE (unit_nr, *) + WRITE (unit_nr, "(T19,A)") " gCP atomic energy contributions" + WRITE (unit_nr, "(T19,A,T60,A20)") " # sites", " BSSE [kcal/mol]" + DO i = 1, natom + WRITE (unit_nr, "(12X,I8,10X,I8,T61,F20.10)") i, ngcpat(i), egcpat(i)*kcalmol + END DO + END IF + IF (calculate_forces) THEN + IF (unit_nr > 0) THEN + WRITE (unit_nr, *) " gCP Forces " + WRITE (unit_nr, *) " Atom Kind Forces " + END IF + gnorm = 0._dp + DO iatom = 1, natom + ikind = kind_of(iatom) + atom_a = atom_of_kind(iatom) + fdij(1:3) = force(ikind)%gcp(:, atom_a) + CALL mp_sum(fdij, para_env%group) + gnorm = gnorm+SUM(ABS(fdij)) + IF (unit_nr > 0) WRITE (unit_nr, "(i5,i7,3F20.14)") iatom, ikind, fdij + END DO + IF (unit_nr > 0) THEN + WRITE (unit_nr, *) + WRITE (unit_nr, *) " |G| = ", gnorm + WRITE (unit_nr, *) + END IF + IF (use_virial) THEN + dvirial = virial%pv_virial-dvirial + CALL mp_sum(dvirial, para_env%group) + IF (unit_nr > 0) THEN + WRITE (unit_nr, *) " Stress Tensor (gCP)" + WRITE (unit_nr, "(3G20.12)") dvirial + WRITE (unit_nr, *) " Tr(P)/3 : ", (dvirial(1, 1)+dvirial(2, 2)+dvirial(3, 3))/3._dp + WRITE (unit_nr, *) + END IF + END IF + END IF + IF (verbose) THEN + DEALLOCATE (egcpat, ngcpat) + END IF + + CALL timestop(handle) + + END SUBROUTINE calculate_gcp_pairpot + +! ************************************************************************************************** + +END MODULE qs_gcp_method diff --git a/src/qs_gcp_types.F b/src/qs_gcp_types.F new file mode 100644 index 0000000000..6d900091f6 --- /dev/null +++ b/src/qs_gcp_types.F @@ -0,0 +1,100 @@ +!--------------------------------------------------------------------------------------------------! +! CP2K: A general program to perform molecular dynamics simulations ! +! Copyright (C) 2000 - 2019 CP2K developers group ! +!--------------------------------------------------------------------------------------------------! + +! ************************************************************************************************** +!> \brief Definition of gCP types for DFT calculations +!> \author JGH (20.10.2018) +! ************************************************************************************************** +MODULE qs_gcp_types + + USE kinds, ONLY: default_string_length,& + dp + USE qs_neighbor_list_types, ONLY: deallocate_neighbor_list_set,& + neighbor_list_set_p_type +#include "./base/base_uses.f90" + + IMPLICIT NONE + + PRIVATE + + CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'qs_gcp_types' + +! ************************************************************************************************** + TYPE qs_gcp_kind_type + INTEGER :: za + REAL(KIND=dp) :: asto + REAL(KIND=dp) :: rcsto + INTEGER :: nq + REAL(KIND=dp) :: nbvirt + REAL(KIND=dp) :: eamiss + REAL(KIND=dp), DIMENSION(6) :: al + REAL(KIND=dp), DIMENSION(6) :: cl + END TYPE qs_gcp_kind_type +! ************************************************************************************************** + TYPE qs_gcp_type + LOGICAL :: do_gcp = .FALSE. + LOGICAL :: verbose !extended output + CHARACTER(LEN=default_string_length) :: parameter_file_name + ! parameter input + CHARACTER(LEN=default_string_length), & + DIMENSION(:), POINTER :: kind_type => NULL() + REAL(KIND=dp), DIMENSION(:), POINTER :: ea => NULL() + !global parameters + REAL(KIND=dp) :: alpha, beta, sigma, eta + !neighborlist + TYPE(neighbor_list_set_p_type), & + DIMENSION(:), POINTER :: sab_gcp => Null() ! neighborlists for pair interactions + !kind information + TYPE(qs_gcp_kind_type), DIMENSION(:), & + POINTER :: gcp_kind => NULL() ! atomic kind parameters + END TYPE qs_gcp_type +! ************************************************************************************************** + + PUBLIC :: qs_gcp_type + PUBLIC :: qs_gcp_release + +! ************************************************************************************************** +CONTAINS +! ************************************************************************************************** +!> \brief ... +!> \param gcp_env ... +! ************************************************************************************************** + SUBROUTINE qs_gcp_release(gcp_env) + + TYPE(qs_gcp_type), POINTER :: gcp_env + + CHARACTER(len=*), PARAMETER :: routineN = 'qs_gcp_release', routineP = moduleN//':'//routineN + + INTEGER :: iab + + IF (ASSOCIATED(gcp_env)) THEN + + IF (ASSOCIATED(gcp_env%sab_gcp)) THEN + DO iab = 1, SIZE(gcp_env%sab_gcp) + CALL deallocate_neighbor_list_set(gcp_env%sab_gcp(iab)%neighbor_list_set) + END DO + DEALLOCATE (gcp_env%sab_gcp) + END IF + IF (ASSOCIATED(gcp_env%kind_type)) THEN + DEALLOCATE (gcp_env%kind_type) + END IF + IF (ASSOCIATED(gcp_env%ea)) THEN + DEALLOCATE (gcp_env%ea) + END IF + + IF (ASSOCIATED(gcp_env%gcp_kind)) THEN + DEALLOCATE (gcp_env%gcp_kind) + END IF + + DEALLOCATE (gcp_env) + + END IF + + END SUBROUTINE qs_gcp_release + +! ************************************************************************************************** + +END MODULE qs_gcp_types + diff --git a/src/qs_gcp_utils.F b/src/qs_gcp_utils.F new file mode 100644 index 0000000000..412134e56f --- /dev/null +++ b/src/qs_gcp_utils.F @@ -0,0 +1,251 @@ +!--------------------------------------------------------------------------------------------------! +! CP2K: A general program to perform molecular dynamics simulations ! +! Copyright (C) 2000 - 2019 CP2K developers group ! +!--------------------------------------------------------------------------------------------------! + +! ************************************************************************************************** +!> \brief Set disperson types for DFT calculations +!> \author JGH (04.2014) +! ************************************************************************************************** +MODULE qs_gcp_utils + + USE basis_set_types, ONLY: get_gto_basis_set,& + gto_basis_set_type + USE cp_para_types, ONLY: cp_para_env_type + USE cp_parser_methods, ONLY: parser_get_next_line,& + parser_get_object + USE cp_parser_types, ONLY: cp_parser_type,& + parser_create,& + parser_release + USE input_section_types, ONLY: section_vals_get,& + section_vals_get_subs_vals,& + section_vals_type,& + section_vals_val_get + USE kinds, ONLY: default_string_length,& + dp + USE mathconstants, ONLY: pi + USE periodic_table, ONLY: get_ptable_info + USE qs_environment_types, ONLY: get_qs_env,& + qs_environment_type + USE qs_gcp_types, ONLY: qs_gcp_type + USE qs_kind_types, ONLY: get_qs_kind,& + qs_kind_type + USE sto_ng, ONLY: get_sto_ng +#include "./base/base_uses.f90" + + IMPLICIT NONE + + PRIVATE + + CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'qs_gcp_utils' + + INTEGER, DIMENSION(106) :: nshell = (/ & + 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, & ! 1-30 + 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, & ! 31-60 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, & ! 61-90 + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7/) ! 91-106 + + INTEGER, DIMENSION(106) :: nll = (/ & + 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, & ! 1-30 + 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, & ! 31-60 + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, & ! 61-90 + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 0, 0/) ! 91-106 + + ! + ! Slater exponents for valence states + ! Aleksander Herman + ! Empirically adjusted and consistent set of EHT valence orbital parameters for all elements of the periodic table + ! Modelling and Simulation in Materials Science and Engineering, 12, 21-32 (2004) + ! + ! Hydrogen uses 1.2000, not the original 1.0000 + ! + REAL(KIND=dp), DIMENSION(4, 106) :: sexp = RESHAPE((/ & + 1.2000, 0.0000, 0.0000, 0.0000, 1.6469, 0.0000, 0.0000, 0.0000, 0.6534, 0.5305, 0.0000, 0.0000, & ! 1 2 3 + 1.0365, 0.8994, 0.0000, 0.0000, 1.3990, 1.2685, 0.0000, 0.0000, 1.7210, 1.6105, 0.0000, 0.0000, & ! 4 5 6 + 2.0348, 1.9398, 0.0000, 0.0000, 2.2399, 2.0477, 0.0000, 0.0000, 2.5644, 2.4022, 0.0000, 0.0000, & ! 7 8 9 + 2.8812, 2.7421, 0.0000, 0.0000, 0.8675, 0.6148, 0.0000, 0.0000, 1.1935, 0.8809, 0.0000, 0.0000, & ! 10 11 12 + 1.5143, 1.1660, 0.0000, 0.0000, 1.7580, 1.4337, 0.0000, 0.0000, 1.9860, 1.6755, 0.0000, 0.0000, & ! 13 14 15 + 2.1362, 1.7721, 0.0000, 0.0000, 2.3617, 2.0176, 0.0000, 0.0000, 2.5796, 2.2501, 0.0000, 0.0000, & ! 16 17 18 + 0.9362, 0.6914, 0.0000, 0.0000, 1.2112, 0.9329, 0.0000, 0.0000, 1.2870, 0.9828, 2.4341, 0.0000, & ! 19 20 21 + 1.3416, 1.0104, 2.6439, 0.0000, 1.3570, 0.9947, 2.7809, 0.0000, 1.3804, 0.9784, 2.9775, 0.0000, & ! 22 23 24 + 1.4761, 1.0641, 3.2208, 0.0000, 1.5465, 1.1114, 3.4537, 0.0000, 1.5650, 1.1001, 3.6023, 0.0000, & ! 25 26 27 + 1.5532, 1.0594, 3.7017, 0.0000, 1.5791, 1.0527, 3.8962, 0.0000, 1.7778, 1.2448, 0.0000, 0.0000, & ! 28 29 30 + 2.0675, 1.5073, 0.0000, 0.0000, 2.2702, 1.7680, 0.0000, 0.0000, 2.4546, 1.9819, 0.0000, 0.0000, & ! 31 32 33 + 2.5680, 2.0548, 0.0000, 0.0000, 2.7523, 2.2652, 0.0000, 0.0000, 2.9299, 2.4617, 0.0000, 0.0000, & ! 34 35 36 + 1.0963, 0.7990, 0.0000, 0.0000, 1.3664, 1.0415, 0.0000, 0.0000, 1.4613, 1.1100, 2.1576, 0.0000, & ! 37 38 39 + 1.5393, 1.1647, 2.3831, 0.0000, 1.5926, 1.1738, 2.6256, 0.0000, 1.6579, 1.2186, 2.8241, 0.0000, & ! 40 41 42 + 1.6930, 1.2490, 2.9340, 0.0000, 1.7347, 1.2514, 3.1524, 0.0000, 1.7671, 1.2623, 3.3113, 0.0000, & ! 43 44 45 + 1.6261, 1.1221, 3.0858, 0.0000, 1.8184, 1.2719, 3.6171, 0.0000, 1.9900, 1.4596, 0.0000, 0.0000, & ! 46 47 48 + 2.4649, 1.6848, 0.0000, 0.0000, 2.4041, 1.9128, 0.0000, 0.0000, 2.5492, 2.0781, 0.0000, 0.0000, & ! 49 50 51 + 2.6576, 2.1718, 0.0000, 0.0000, 2.8080, 2.3390, 0.0000, 0.0000, 2.9595, 2.5074, 0.0000, 0.0000, & ! 52 53 54 + 1.1993, 0.8918, 0.0000, 0.0000, 1.4519, 1.1397, 0.0000, 0.0000, 1.5331, 1.1979, 2.2743, 4.4161, & ! 55 56 57 + 1.5379, 1.1930, 2.2912, 4.9478, 1.5162, 1.1834, 2.0558, 4.8982, 1.5322, 1.1923, 2.0718, 5.0744, & ! 58 59 60 + 1.5486, 1.2018, 2.0863, 5.2466, 1.5653, 1.2118, 2.0999, 5.4145, 1.5762, 1.2152, 2.0980, 5.5679, & ! 61 62 63 + 1.6703, 1.2874, 2.4862, 5.9888, 1.6186, 1.2460, 2.1383, 5.9040, 1.6358, 1.2570, 2.1472, 6.0598, & ! 64 65 66 + 1.6536, 1.2687, 2.1566, 6.2155, 1.6723, 1.2813, 2.1668, 6.3703, 1.6898, 1.2928, 2.1731, 6.5208, & ! 67 68 69 + 1.7063, 1.3030, 2.1754, 6.6686, 1.6647, 1.2167, 2.3795, 0.0000, 1.8411, 1.3822, 2.7702, 0.0000, & ! 70 71 72 + 1.9554, 1.4857, 3.0193, 0.0000, 2.0190, 1.5296, 3.1936, 0.0000, 2.0447, 1.5276, 3.3237, 0.0000, & ! 73 74 75 + 2.1361, 1.6102, 3.5241, 0.0000, 2.2167, 1.6814, 3.7077, 0.0000, 2.2646, 1.6759, 3.8996, 0.0000, & ! 76 77 78 + 2.3185, 1.7126, 4.0525, 0.0000, 2.4306, 1.8672, 0.0000, 0.0000, 2.5779, 1.9899, 0.0000, 0.0000, & ! 79 80 81 + 2.7241, 2.1837, 0.0000, 0.0000, 2.7869, 2.2146, 0.0000, 0.0000, 2.9312, 2.3830, 0.0000, 0.0000, & ! 82 83 84 + 3.1160, 2.6200, 0.0000, 0.0000, 3.2053, 2.6866, 0.0000, 0.0000, 1.4160, 1.0598, 0.0000, 0.0000, & ! 85 86 87 + 1.6336, 1.3011, 0.0000, 0.0000, 1.6540, 1.2890, 2.3740, 3.7960, 1.8381, 1.4726, 2.6584, 4.3613, & ! 88 89 90 + 1.7770, 1.4120, 2.5710, 4.5540, 1.8246, 1.4588, 2.6496, 4.7702, 1.8451, 1.4739, 2.6940, 4.9412, & ! 91 92 93 + 1.7983, 1.4366, 2.5123, 4.9882, 1.8011, 1.4317, 2.5170, 5.1301, 1.8408, 1.4418, 2.7349, 5.3476, & ! 94 95 96 + 1.8464, 1.4697, 2.5922, 5.4596, 1.8647, 1.4838, 2.6205, 5.6140, 1.8890, 1.5050, 2.6590, 5.7740, & ! 97 98 99 + 1.9070, 1.5190, 2.6850, 5.9220, 1.9240, 1.5320, 2.7090, 6.0690, 1.9400, 1.5440, 2.7300, 6.2130, & ! 100 101 102 + 2.1300, 1.7200, 2.9900, 0.0000, 1.9200, 1.4500, 2.9700, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, & ! 103 104 105 + 0.0000, 0.0000, 0.0000, 0.0000/), & ! 106 + (/4, 106/)) + + PUBLIC :: qs_gcp_env_set, qs_gcp_init + +! ************************************************************************************************** +CONTAINS +! ************************************************************************************************** +!> \brief ... +!> \param gcp_env ... +!> \param xc_section ... +! ************************************************************************************************** + SUBROUTINE qs_gcp_env_set(gcp_env, xc_section) + TYPE(qs_gcp_type), POINTER :: gcp_env + TYPE(section_vals_type), POINTER :: xc_section + + CHARACTER(len=*), PARAMETER :: routineN = 'qs_gcp_env_set', routineP = moduleN//':'//routineN + + CHARACTER(LEN=default_string_length), & + DIMENSION(:), POINTER :: tmpstringlist + INTEGER :: i_rep, n_rep + LOGICAL :: explicit + REAL(dp), POINTER :: params(:) + TYPE(section_vals_type), POINTER :: gcp_section + + CPASSERT(ASSOCIATED(gcp_env)) + + gcp_section => section_vals_get_subs_vals(xc_section, "GCP_POTENTIAL") + CALL section_vals_get(gcp_section, explicit=explicit) + IF (explicit) THEN + CALL section_vals_val_get(gcp_section, "VERBOSE", l_val=gcp_env%verbose) + gcp_env%do_gcp = .TRUE. + CALL section_vals_val_get(gcp_section, "PARAMETER_FILE_NAME", & + c_val=gcp_env%parameter_file_name) + CALL section_vals_val_get(gcp_section, "GLOBAL_PARAMETERS", r_vals=params) + gcp_env%sigma = params(1) + gcp_env%alpha = params(2) + gcp_env%beta = params(3) + gcp_env%eta = params(4) + ! eamiss definitions + CALL section_vals_val_get(gcp_section, "DELTA_ENERGY", n_rep_val=n_rep) + IF (n_rep > 0) THEN + ALLOCATE (gcp_env%kind_type(n_rep)) + ALLOCATE (gcp_env%ea(n_rep)) + DO i_rep = 1, n_rep + CALL section_vals_val_get(gcp_section, "DELTA_ENERGY", i_rep_val=i_rep, & + c_vals=tmpstringlist) + READ (tmpstringlist(1), *) gcp_env%kind_type(i_rep) + READ (tmpstringlist(2), *) gcp_env%ea(i_rep) + END DO + END IF + ELSE + gcp_env%do_gcp = .FALSE. + END IF + + END SUBROUTINE qs_gcp_env_set + +! ************************************************************************************************** +!> \brief ... +!> \param qs_env ... +!> \param gcp_env ... +! ************************************************************************************************** + SUBROUTINE qs_gcp_init(qs_env, gcp_env) + TYPE(qs_environment_type), POINTER :: qs_env + TYPE(qs_gcp_type), POINTER :: gcp_env + + CHARACTER(len=*), PARAMETER :: routineN = 'qs_gcp_init', routineP = moduleN//':'//routineN + REAL(KIND=dp), PARAMETER :: epsc = 1.e-6_dp + + CHARACTER(LEN=10) :: aname + CHARACTER(LEN=2) :: element_symbol + INTEGER :: i, ikind, nbas, nel, nkind, nsto, za + LOGICAL :: at_end + REAL(KIND=dp) :: ea + REAL(KIND=dp), DIMENSION(10) :: al, cl + TYPE(cp_para_env_type), POINTER :: para_env + TYPE(cp_parser_type), POINTER :: parser + TYPE(gto_basis_set_type), POINTER :: orb_basis + TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set + TYPE(qs_kind_type), POINTER :: qs_kind + + IF (gcp_env%do_gcp) THEN + CALL get_qs_env(qs_env, qs_kind_set=qs_kind_set, nkind=nkind) + ALLOCATE (gcp_env%gcp_kind(nkind)) + DO ikind = 1, nkind + qs_kind => qs_kind_set(ikind) + gcp_env%gcp_kind(ikind)%rcsto = 0.0_dp + CALL get_qs_kind(qs_kind, element_symbol=element_symbol) + CALL get_ptable_info(element_symbol, number=za) + gcp_env%gcp_kind(ikind)%za = za + gcp_env%gcp_kind(ikind)%asto = gcp_env%eta*SUM(sexp(1:4, za))/REAL(nll(za), KIND=dp) + gcp_env%gcp_kind(ikind)%nq = nshell(za) + gcp_env%gcp_kind(ikind)%rcsto = ((nshell(za)-1)*2.5_dp-LOG(epsc))/gcp_env%gcp_kind(ikind)%asto + ! basis + NULLIFY (orb_basis) + CALL get_qs_kind(qs_kind, basis_set=orb_basis, basis_type="ORB") + CALL get_gto_basis_set(gto_basis_set=orb_basis, nsgf=nbas) + nel = SUM(qs_kind%elec_conf) + gcp_env%gcp_kind(ikind)%nbvirt = REAL(nbas, KIND=dp)-0.5_dp*REAL(nel, KIND=dp) + ! STO-nG + nsto = SIZE(gcp_env%gcp_kind(ikind)%al) + CALL get_sto_ng(gcp_env%gcp_kind(ikind)%asto, nsto, nshell(za), 0, al, cl) + DO i = 1, nsto + gcp_env%gcp_kind(ikind)%al(i) = al(i) + gcp_env%gcp_kind(ikind)%cl(i) = cl(i)*(2._dp*al(i)/pi)**0.75_dp + END DO + END DO + ! eamiss from data file + IF (gcp_env%parameter_file_name /= "---") THEN + CALL get_qs_env(qs_env, para_env=para_env) + DO ikind = 1, nkind + qs_kind => qs_kind_set(ikind) + CALL get_qs_kind(qs_kind, element_symbol=element_symbol) + CALL get_ptable_info(element_symbol, number=za) + ! + NULLIFY (parser) + CALL parser_create(parser, gcp_env%parameter_file_name, para_env=para_env) + ea = 0.0_dp + DO + at_end = .FALSE. + CALL parser_get_next_line(parser, 1, at_end) + IF (at_end) EXIT + CALL parser_get_object(parser, aname) + IF (TRIM(aname) == element_symbol) THEN + CALL parser_get_object(parser, ea) + EXIT + END IF + END DO + CALL parser_release(parser) + gcp_env%gcp_kind(ikind)%eamiss = ea + END DO + END IF + ! + ! eamiss from input + IF (ASSOCIATED(gcp_env%kind_type)) THEN + DO i = 1, SIZE(gcp_env%kind_type) + IF (TRIM(gcp_env%kind_type(i)) == "XX") CYCLE + element_symbol = TRIM(gcp_env%kind_type(i)) + CALL get_ptable_info(element_symbol, number=za) + ea = gcp_env%ea(i) + DO ikind = 1, nkind + IF (za == gcp_env%gcp_kind(ikind)%za) THEN + gcp_env%gcp_kind(ikind)%eamiss = ea + END IF + END DO + END DO + END IF + END IF + + END SUBROUTINE qs_gcp_init +! ************************************************************************************************** + +END MODULE qs_gcp_utils + diff --git a/src/qs_ks_methods.F b/src/qs_ks_methods.F index 4b5e292f2e..e2247c678f 100644 --- a/src/qs_ks_methods.F +++ b/src/qs_ks_methods.F @@ -842,7 +842,7 @@ CONTAINS ! Sum all energy terms to obtain the total energy energy%total = energy%core_overlap+energy%core_self+energy%core+energy%hartree+ & energy%hartree_1c+energy%exc+energy%exc1+energy%ex+ & - energy%dispersion+energy%qmmm_el+energy%mulliken+ & + energy%dispersion+energy%gcp+energy%qmmm_el+energy%mulliken+ & SUM(energy%ddapc_restraint)+energy%s2_restraint+ & energy%dft_plus_u+energy%kTS+ & energy%efield+energy%efield_core+energy%ee+ & diff --git a/src/qs_ks_utils.F b/src/qs_ks_utils.F index 5d871d0e54..5dcf1e0333 100644 --- a/src/qs_ks_utils.F +++ b/src/qs_ks_utils.F @@ -1061,6 +1061,9 @@ CONTAINS IF (energy%dispersion /= 0.0_dp) & WRITE (UNIT=output_unit, FMT="(T3,A,T61,F20.10)") & "Dispersion energy: ", energy%dispersion + IF (energy%gcp /= 0.0_dp) & + WRITE (UNIT=output_unit, FMT="(T3,A,T61,F20.10)") & + "gCP energy: ", energy%gcp IF (dft_control%qs_control%gapw) THEN WRITE (UNIT=output_unit, FMT="(/,(T3,A,T61,F20.10))") & "GAPW| Exc from hard and soft atomic rho1: ", energy%exc1, & diff --git a/src/qs_neighbor_lists.F b/src/qs_neighbor_lists.F index b72c423db1..f749c8c2da 100644 --- a/src/qs_neighbor_lists.F +++ b/src/qs_neighbor_lists.F @@ -73,6 +73,7 @@ MODULE qs_neighbor_lists USE qs_dispersion_types, ONLY: qs_dispersion_type USE qs_environment_types, ONLY: get_qs_env,& qs_environment_type + USE qs_gcp_types, ONLY: qs_gcp_type USE qs_kind_types, ONLY: get_qs_kind,& get_qs_kind_set,& qs_kind_type @@ -323,13 +324,14 @@ CONTAINS TYPE(local_atoms_type), ALLOCATABLE, DIMENSION(:) :: atom2d TYPE(molecule_type), DIMENSION(:), POINTER :: molecule_set TYPE(neighbor_list_set_p_type), DIMENSION(:), POINTER :: saa_list, sab_all, sab_almo, & - sab_aux_fit, sab_aux_fit_asymm, sab_aux_fit_vs_orb, sab_cn, sab_core, sab_kp, sab_lrc, & - sab_orb, sab_scp, sab_se, sab_tbe, sab_vdw, sab_xb, sac_ae, sac_lri, sac_ppl, sap_oce, & - sap_ppnl, soa_list, soo_list + sab_aux_fit, sab_aux_fit_asymm, sab_aux_fit_vs_orb, sab_cn, sab_core, sab_gcp, sab_kp, & + sab_lrc, sab_orb, sab_scp, sab_se, sab_tbe, sab_vdw, sab_xb, sac_ae, sac_lri, sac_ppl, & + sap_oce, sap_ppnl, soa_list, soo_list TYPE(particle_type), DIMENSION(:), POINTER :: particle_set TYPE(paw_proj_set_type), POINTER :: paw_proj TYPE(qs_dftb_atom_type), POINTER :: dftb_atom TYPE(qs_dispersion_type), POINTER :: dispersion_env + TYPE(qs_gcp_type), POINTER :: gcp_env TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set TYPE(qs_ks_env_type), POINTER :: ks_env TYPE(section_vals_type), POINTER :: hfx_sections, neighbor_list_section @@ -827,6 +829,24 @@ CONTAINS END IF END IF + ! Build the neighbor lists for the gCP pair potential + NULLIFY (gcp_env) + CALL get_qs_env(qs_env=qs_env, gcp_env=gcp_env) + IF (ASSOCIATED(gcp_env)) THEN + IF (gcp_env%do_gcp) THEN + sab_gcp => gcp_env%sab_gcp + DO ikind = 1, nkind + c_radius(ikind) = gcp_env%gcp_kind(ikind)%rcsto + END DO + CALL pair_radius_setup(orb_present, orb_present, c_radius, c_radius, pair_radius) + CALL build_neighbor_lists(sab_gcp, particle_set, atom2d, cell, pair_radius, & + subcells=subcells, operator_type="PP", nlname="sab_gcp") + gcp_env%sab_gcp => sab_gcp + ELSE + NULLIFY (gcp_env%sab_gcp) + END IF + END IF + IF (lrigpw .OR. lri_optbas) THEN ! set neighborlists in lri_env environment CALL pair_radius_setup(orb_present, orb_present, orb_radius, orb_radius, pair_radius) diff --git a/src/qs_scf_output.F b/src/qs_scf_output.F index 5014ec6d49..c1cc04eddd 100644 --- a/src/qs_scf_output.F +++ b/src/qs_scf_output.F @@ -425,6 +425,9 @@ CONTAINS IF (energy%dispersion /= 0.0_dp) & WRITE (UNIT=output_unit, FMT="(T3,A,T56,F25.14)") & "Dispersion energy: ", energy%dispersion + IF (energy%gcp /= 0.0_dp) & + WRITE (UNIT=output_unit, FMT="(T3,A,T56,F25.14)") & + "gCP energy: ", energy%gcp IF (gapw) THEN WRITE (UNIT=output_unit, FMT="(/,(T3,A,T56,F25.14))") & "GAPW| Exc from hard and soft atomic rho1: ", energy%exc1, & diff --git a/src/subsys/atprop_types.F b/src/subsys/atprop_types.F index db4bd05d9c..397c10e8cd 100644 --- a/src/subsys/atprop_types.F +++ b/src/subsys/atprop_types.F @@ -34,6 +34,7 @@ MODULE atprop_types REAL(KIND=dp), DIMENSION(:), POINTER :: atexc REAL(KIND=dp), DIMENSION(:), POINTER :: ateself REAL(KIND=dp), DIMENSION(:), POINTER :: atevdw + REAL(KIND=dp), DIMENSION(:), POINTER :: ategcp REAL(KIND=dp), DIMENSION(:), POINTER :: atecc REAL(KIND=dp), DIMENSION(:), POINTER :: ate1c REAL(KIND=dp), DIMENSION(:), POINTER :: atecoul @@ -54,7 +55,7 @@ CONTAINS CALL atprop_release(atprop_env) ALLOCATE (atprop_env) NULLIFY (atprop_env%atener, atprop_env%atstress) - NULLIFY (atprop_env%ateb, atprop_env%atevdw, atprop_env%atecc, atprop_env%atecoul) + NULLIFY (atprop_env%ateb, atprop_env%atevdw, atprop_env%ategcp, atprop_env%atecc, atprop_env%atecoul) NULLIFY (atprop_env%ateself, atprop_env%atexc, atprop_env%ate1c) atprop_env%energy = .FALSE. atprop_env%stress = .FALSE. @@ -78,6 +79,7 @@ CONTAINS CALL atprop_array_init(atprop_env%atener, natom) CALL atprop_array_release(atprop_env%ateb) CALL atprop_array_release(atprop_env%atevdw) + CALL atprop_array_release(atprop_env%ategcp) CALL atprop_array_release(atprop_env%atecc) CALL atprop_array_release(atprop_env%atecoul) CALL atprop_array_release(atprop_env%ateself) @@ -168,6 +170,7 @@ CONTAINS CALL atprop_array_release(atprop_env%ateself) CALL atprop_array_release(atprop_env%atexc) CALL atprop_array_release(atprop_env%atevdw) + CALL atprop_array_release(atprop_env%ategcp) CALL atprop_array_release(atprop_env%atecc) CALL atprop_array_release(atprop_env%ate1c) CALL atprop_array_release(atprop_env%atecoul) diff --git a/tests/QS/regtest-hf-3c/ch2o.inp b/tests/QS/regtest-hf-3c/ch2o.inp new file mode 100644 index 0000000000..a52eeeddee --- /dev/null +++ b/tests/QS/regtest-hf-3c/ch2o.inp @@ -0,0 +1,99 @@ +&GLOBAL + PROJECT ch2o + RUN_TYPE ENERGY + PRINT_LEVEL LOW +&END GLOBAL +&FORCE_EVAL + METHOD QS + &DFT + BASIS_SET_FILE_NAME BASIS_MINIX + POTENTIAL_FILE_NAME POTENTIAL + &MGRID + CUTOFF 200 + REL_CUTOFF 30 + &END MGRID + &QS + METHOD GAPW + &END QS + &SCF + SCF_GUESS ATOMIC + MAX_SCF 1 + EPS_SCF 1.0e-6 + &END SCF + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &SCREENING + EPS_SCHWARZ 1.0E-10 + &END + &END + &vdW_POTENTIAL + DISPERSION_FUNCTIONAL PAIR_POTENTIAL + &PAIR_POTENTIAL + TYPE DFTD3(BJ) + D3BJ_SCALING 1.0000 0.4171 0.8777 2.9149 + PARAMETER_FILE_NAME dftd3.dat + SHORT_RANGE_CORRECTION TRUE + SHORT_RANGE_CORRECTION_PARAMETERS 0.03 0.70 1.50 0.75 + &PRINT_DFTD + &END + &END PAIR_POTENTIAL + &END vdW_POTENTIAL + &gcp_potential + GLOBAL_PARAMETERS 0.1290 1.1549 1.1763 1.1526 + DELTA_ENERGY H 0.04240 + DELTA_ENERGY O 0.47901 + DELTA_ENERGY C 0.27995 + DELTA_ENERGY N 0.35791 + VERBOSE T +# elem emiss nbas elem emiss nbas elem emiss nbas +# h 0.04240 1 he 0.02832 1 li 0.17787 5 +# be 0.17160 5 b 0.22424 5 c 0.27995 5 +# n 0.35791 5 o 0.47901 5 f 0.63852 5 +# ne 0.83235 5 na 1.11411 9 mg 1.27115 9 +# al 1.44695 14 si 1.61098 14 p 1.76661 14 +# s 1.98823 14 cl 2.22845 14 ar 2.48796 14 +# k 0.37425 11 ca 0.46097 11 sc 0.44489 21 +# ti 0.40499 21 v 0.37841 21 cr 0.37344 21 +# mn 0.36125 21 fe 0.36001 21 co 0.36293 21 +# ni 0.24380 21 cu 0.40530 21 zn 0.39651 21 +# ga 0.35002 32 ge 0.34578 32 as 0.34953 32 +# se 0.36731 32 br 0.38201 32 kr 0.39971 32 + &END GCP_POTENTIAL + &END XC + &POISSON + PERIODIC NONE + PSOLVER MT + &END + &END DFT + &SUBSYS + &CELL + ABC 10.0 10.0 10.0 + PERIODIC NONE + &END CELL + &COORD + UNIT bohr + O 0.097071 0.000000 0.000000 + C 2.416225 0.000000 0.000000 + H 3.534655 1.775600 0.000000 + H 3.534655 -1.775600 0.000000 + &END COORD + &KIND H + BASIS_SET minix + POTENTIAL ALL + &END + &KIND C + BASIS_SET minix + POTENTIAL ALL + &END + &KIND O + BASIS_SET minix + POTENTIAL ALL + &END + &KIND N + BASIS_SET minix + POTENTIAL ALL + &END + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/QS/regtest-hf-3c/exam.inp b/tests/QS/regtest-hf-3c/exam.inp new file mode 100644 index 0000000000..c59e17a545 --- /dev/null +++ b/tests/QS/regtest-hf-3c/exam.inp @@ -0,0 +1,115 @@ +&GLOBAL + PROJECT s22-12 + RUN_TYPE ENERGY + PRINT_LEVEL LOW +&END GLOBAL +&FORCE_EVAL + METHOD QS + &DFT + BASIS_SET_FILE_NAME BASIS_MINIX + POTENTIAL_FILE_NAME POTENTIAL + &MGRID + CUTOFF 200 + REL_CUTOFF 30 + &END MGRID + &QS + METHOD GAPW + &END QS + &SCF + SCF_GUESS ATOMIC + MAX_SCF 1 + EPS_SCF 1.0e-6 + &END SCF + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &SCREENING + EPS_SCHWARZ 1.0E-10 + &END + &END + &vdW_POTENTIAL + DISPERSION_FUNCTIONAL PAIR_POTENTIAL + &PAIR_POTENTIAL + TYPE DFTD3(BJ) + D3BJ_SCALING 1.0000 0.4171 0.8777 2.9149 + PARAMETER_FILE_NAME dftd3.dat + SHORT_RANGE_CORRECTION TRUE + SHORT_RANGE_CORRECTION_PARAMETERS 0.03 0.70 1.50 0.75 + &PRINT_DFTD + &END + &END PAIR_POTENTIAL + &END vdW_POTENTIAL + &gcp_potential + GLOBAL_PARAMETERS 0.1290 1.1549 1.1763 1.1526 + DELTA_ENERGY H 0.04240 + DELTA_ENERGY O 0.47901 + DELTA_ENERGY C 0.27995 + DELTA_ENERGY N 0.35791 + VERBOSE T +# elem emiss nbas elem emiss nbas elem emiss nbas +# h 0.04240 1 he 0.02832 1 li 0.17787 5 +# be 0.17160 5 b 0.22424 5 c 0.27995 5 +# n 0.35791 5 o 0.47901 5 f 0.63852 5 +# ne 0.83235 5 na 1.11411 9 mg 1.27115 9 +# al 1.44695 14 si 1.61098 14 p 1.76661 14 +# s 1.98823 14 cl 2.22845 14 ar 2.48796 14 +# k 0.37425 11 ca 0.46097 11 sc 0.44489 21 +# ti 0.40499 21 v 0.37841 21 cr 0.37344 21 +# mn 0.36125 21 fe 0.36001 21 co 0.36293 21 +# ni 0.24380 21 cu 0.40530 21 zn 0.39651 21 +# ga 0.35002 32 ge 0.34578 32 as 0.34953 32 +# se 0.36731 32 br 0.38201 32 kr 0.39971 32 + &END GCP_POTENTIAL + &END XC + &POISSON + PERIODIC NONE + PSOLVER MT + &END + &END DFT + &SUBSYS + &CELL + ABC 10.0 10.0 10.0 + PERIODIC NONE + &END CELL + &COORD + UNIT bohr + c -2.41190081140813 -2.25210745025525 -1.32102571135184 c + c -2.41190076023348 -2.25210734627092 1.32102587176460 c + c 1.39709406754529 -4.26618935000003 1.32516272888583 c + c 1.39709422665700 -4.26618905552235 -1.32516255705396 c + c -0.61999300132123 3.95356682694306 2.15436183806086 c + c 1.63540872567219 2.56929858230983 2.15433467128730 c + c 1.63540857286923 2.56929845982578 -2.15433486995303 c + c -0.61999313131748 3.95356673906409 -2.15436197357171 c + h 2.95977650901829 -5.08196917972001 2.37710806473911 h + h 2.95977833118661 -5.08196571483010 -2.37710788056673 h + h -3.96620937903017 -1.42352690648999 -2.37446790169673 h + h -3.96620936093822 -1.42352686237886 2.37446806111936 h + h -1.52029181309796 4.49846977023347 3.91642852225071 h + h 2.52473073150291 2.00438346465477 3.91667000243445 h + h 2.52473044350564 2.00438323910073 -3.91667022666881 h + h -1.52029202228550 4.49846964283464 -3.91642862967092 h + n 2.75335234162936 1.88285287748725 -0.00000011871148 n + n -0.50612492953263 -3.26275552083227 2.63481105503609 n + n -0.50612518600038 -3.26275602762472 -2.63481089551030 n + n -1.73833355442148 4.63880381147098 -0.00000005082273 n + &END COORD + &KIND H + BASIS_SET minix + POTENTIAL ALL + &END + &KIND C + BASIS_SET minix + POTENTIAL ALL + &END + &KIND O + BASIS_SET minix + POTENTIAL ALL + &END + &KIND N + BASIS_SET minix + POTENTIAL ALL + &END + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/QS/regtest-hf-3c/h2o.inp b/tests/QS/regtest-hf-3c/h2o.inp new file mode 100644 index 0000000000..1059f8418e --- /dev/null +++ b/tests/QS/regtest-hf-3c/h2o.inp @@ -0,0 +1,90 @@ +&GLOBAL + PROJECT h2o + RUN_TYPE ENERGY + PRINT_LEVEL LOW +&END GLOBAL +&FORCE_EVAL + METHOD QS + &DFT + BASIS_SET_FILE_NAME BASIS_MINIX + POTENTIAL_FILE_NAME POTENTIAL + &MGRID + CUTOFF 200 + REL_CUTOFF 30 + &END MGRID + &QS + METHOD GAPW + &END QS + &SCF + SCF_GUESS ATOMIC + MAX_SCF 1 + EPS_SCF 1.0e-6 + &END SCF + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &SCREENING + EPS_SCHWARZ 1.0E-10 + &END + &MEMORY + MAX_MEMORY 10 + &END + &END + &vdW_POTENTIAL + DISPERSION_FUNCTIONAL PAIR_POTENTIAL + &PAIR_POTENTIAL + TYPE DFTD3(BJ) + D3BJ_SCALING 1.0000 0.4171 0.8777 2.9149 + PARAMETER_FILE_NAME dftd3.dat + SHORT_RANGE_CORRECTION TRUE + SHORT_RANGE_CORRECTION_PARAMETERS 0.03 0.70 1.50 0.75 + &PRINT_DFTD + &END + &END PAIR_POTENTIAL + &END vdW_POTENTIAL + &gcp_potential + GLOBAL_PARAMETERS 0.1290 1.1549 1.1763 1.1526 + DELTA_ENERGY H 0.04240 + DELTA_ENERGY O 0.47901 + VERBOSE T +# elem emiss nbas elem emiss nbas elem emiss nbas +# h 0.04240 1 he 0.02832 1 li 0.17787 5 +# be 0.17160 5 b 0.22424 5 c 0.27995 5 +# n 0.35791 5 o 0.47901 5 f 0.63852 5 +# ne 0.83235 5 na 1.11411 9 mg 1.27115 9 +# al 1.44695 14 si 1.61098 14 p 1.76661 14 +# s 1.98823 14 cl 2.22845 14 ar 2.48796 14 +# k 0.37425 11 ca 0.46097 11 sc 0.44489 21 +# ti 0.40499 21 v 0.37841 21 cr 0.37344 21 +# mn 0.36125 21 fe 0.36001 21 co 0.36293 21 +# ni 0.24380 21 cu 0.40530 21 zn 0.39651 21 +# ga 0.35002 32 ge 0.34578 32 as 0.34953 32 +# se 0.36731 32 br 0.38201 32 kr 0.39971 32 + &END GCP_POTENTIAL + &END XC + &POISSON + PERIODIC NONE + PSOLVER MT + &END + &END DFT + &SUBSYS + &CELL + ABC 4.0 4.0 4.0 + PERIODIC NONE + &END CELL + &COORD + O 0.000000 0.000000 -0.065587 + H 0.000000 -0.757136 0.520545 + H 0.000000 0.757136 0.520545 + &END COORD + &KIND H + BASIS_SET minix + POTENTIAL ALL + &END + &KIND O + BASIS_SET minix + POTENTIAL ALL + &END + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/QS/regtest-hf-3c/n3.inp b/tests/QS/regtest-hf-3c/n3.inp new file mode 100644 index 0000000000..97c6fce8f8 --- /dev/null +++ b/tests/QS/regtest-hf-3c/n3.inp @@ -0,0 +1,99 @@ +&GLOBAL + PROJECT n3 + RUN_TYPE ENERGY + PRINT_LEVEL LOW +&END GLOBAL +&FORCE_EVAL + METHOD QS + &DFT + LSD + BASIS_SET_FILE_NAME BASIS_MINIX + POTENTIAL_FILE_NAME POTENTIAL + &MGRID + CUTOFF 200 + REL_CUTOFF 30 + &END MGRID + &QS + METHOD GAPW + &END QS + &SCF + SCF_GUESS ATOMIC + MAX_SCF 1 + EPS_SCF 1.0e-6 + &END SCF + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &SCREENING + EPS_SCHWARZ 1.0E-10 + &END + &END + &vdW_POTENTIAL + DISPERSION_FUNCTIONAL PAIR_POTENTIAL + &PAIR_POTENTIAL + TYPE DFTD3(BJ) + D3BJ_SCALING 1.0000 0.4171 0.8777 2.9149 + PARAMETER_FILE_NAME dftd3.dat + SHORT_RANGE_CORRECTION TRUE + SHORT_RANGE_CORRECTION_PARAMETERS 0.03 0.70 1.50 0.75 + &PRINT_DFTD + &END + &END PAIR_POTENTIAL + &END vdW_POTENTIAL + &gcp_potential + GLOBAL_PARAMETERS 0.1290 1.1549 1.1763 1.1526 + DELTA_ENERGY H 0.04240 + DELTA_ENERGY O 0.47901 + DELTA_ENERGY C 0.27995 + DELTA_ENERGY N 0.35791 + VERBOSE T +# elem emiss nbas elem emiss nbas elem emiss nbas +# h 0.04240 1 he 0.02832 1 li 0.17787 5 +# be 0.17160 5 b 0.22424 5 c 0.27995 5 +# n 0.35791 5 o 0.47901 5 f 0.63852 5 +# ne 0.83235 5 na 1.11411 9 mg 1.27115 9 +# al 1.44695 14 si 1.61098 14 p 1.76661 14 +# s 1.98823 14 cl 2.22845 14 ar 2.48796 14 +# k 0.37425 11 ca 0.46097 11 sc 0.44489 21 +# ti 0.40499 21 v 0.37841 21 cr 0.37344 21 +# mn 0.36125 21 fe 0.36001 21 co 0.36293 21 +# ni 0.24380 21 cu 0.40530 21 zn 0.39651 21 +# ga 0.35002 32 ge 0.34578 32 as 0.34953 32 +# se 0.36731 32 br 0.38201 32 kr 0.39971 32 + &END GCP_POTENTIAL + &END XC + &POISSON + PERIODIC NONE + PSOLVER MT + &END + &END DFT + &SUBSYS + &CELL + ABC 10.0 10.0 10.0 + PERIODIC NONE + &END CELL + &COORD + UNIT bohr + O 0.000000 0.000000 0.000000 + O 4.000000 0.000000 0.000000 + O 8.000000 0.000000 0.000000 + &END COORD + &KIND H + BASIS_SET minix + POTENTIAL ALL + &END + &KIND C + BASIS_SET minix + POTENTIAL ALL + &END + &KIND O + BASIS_SET minix + POTENTIAL ALL + &END + &KIND N + BASIS_SET minix + POTENTIAL ALL + &END + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/QS/regtest-hf-3c/o2.inp b/tests/QS/regtest-hf-3c/o2.inp new file mode 100644 index 0000000000..5b6cb448a5 --- /dev/null +++ b/tests/QS/regtest-hf-3c/o2.inp @@ -0,0 +1,98 @@ +&GLOBAL + PROJECT o2 + RUN_TYPE ENERGY + PRINT_LEVEL LOW +&END GLOBAL +&FORCE_EVAL + METHOD QS + &DFT + LSD + BASIS_SET_FILE_NAME BASIS_MINIX + POTENTIAL_FILE_NAME POTENTIAL + &MGRID + CUTOFF 200 + REL_CUTOFF 30 + &END MGRID + &QS + METHOD GAPW + &END QS + &SCF + SCF_GUESS ATOMIC + MAX_SCF 1 + EPS_SCF 1.0e-6 + &END SCF + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &SCREENING + EPS_SCHWARZ 1.0E-10 + &END + &END + &vdW_POTENTIAL + DISPERSION_FUNCTIONAL PAIR_POTENTIAL + &PAIR_POTENTIAL + TYPE DFTD3(BJ) + D3BJ_SCALING 1.0000 0.4171 0.8777 2.9149 + PARAMETER_FILE_NAME dftd3.dat + SHORT_RANGE_CORRECTION TRUE + SHORT_RANGE_CORRECTION_PARAMETERS 0.03 0.70 1.50 0.75 + &PRINT_DFTD + &END + &END PAIR_POTENTIAL + &END vdW_POTENTIAL + &gcp_potential + GLOBAL_PARAMETERS 0.1290 1.1549 1.1763 1.1526 + DELTA_ENERGY H 0.04240 + DELTA_ENERGY O 0.47901 + DELTA_ENERGY C 0.27995 + DELTA_ENERGY N 0.35791 + VERBOSE T +# elem emiss nbas elem emiss nbas elem emiss nbas +# h 0.04240 1 he 0.02832 1 li 0.17787 5 +# be 0.17160 5 b 0.22424 5 c 0.27995 5 +# n 0.35791 5 o 0.47901 5 f 0.63852 5 +# ne 0.83235 5 na 1.11411 9 mg 1.27115 9 +# al 1.44695 14 si 1.61098 14 p 1.76661 14 +# s 1.98823 14 cl 2.22845 14 ar 2.48796 14 +# k 0.37425 11 ca 0.46097 11 sc 0.44489 21 +# ti 0.40499 21 v 0.37841 21 cr 0.37344 21 +# mn 0.36125 21 fe 0.36001 21 co 0.36293 21 +# ni 0.24380 21 cu 0.40530 21 zn 0.39651 21 +# ga 0.35002 32 ge 0.34578 32 as 0.34953 32 +# se 0.36731 32 br 0.38201 32 kr 0.39971 32 + &END GCP_POTENTIAL + &END XC + &POISSON + PERIODIC NONE + PSOLVER MT + &END + &END DFT + &SUBSYS + &CELL + ABC 10.0 10.0 10.0 + PERIODIC NONE + &END CELL + &COORD + UNIT bohr + O 0.000000 0.000000 0.000000 + O 4.000000 0.000000 0.000000 + &END COORD + &KIND H + BASIS_SET minix + POTENTIAL ALL + &END + &KIND C + BASIS_SET minix + POTENTIAL ALL + &END + &KIND O + BASIS_SET minix + POTENTIAL ALL + &END + &KIND N + BASIS_SET minix + POTENTIAL ALL + &END + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/QS/regtest-hf-3c/taxol.inp b/tests/QS/regtest-hf-3c/taxol.inp new file mode 100644 index 0000000000..5f32d65a7d --- /dev/null +++ b/tests/QS/regtest-hf-3c/taxol.inp @@ -0,0 +1,197 @@ +&GLOBAL + PROJECT taxol + RUN_TYPE ENERGY + PRINT_LEVEL LOW +&END GLOBAL +&FORCE_EVAL + METHOD QS + &DFT + BASIS_SET_FILE_NAME BASIS_MINIX + POTENTIAL_FILE_NAME POTENTIAL + &MGRID + CUTOFF 200 + REL_CUTOFF 30 + &END MGRID + &QS + METHOD GAPW + EPS_DEFAULT 1.e-16 + &END QS + &SCF + SCF_GUESS ATOMIC + MAX_SCF 1 + EPS_SCF 1.0e-6 + &END SCF + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &SCREENING + EPS_SCHWARZ 1.0E-10 + &END + &END + &vdW_POTENTIAL + DISPERSION_FUNCTIONAL PAIR_POTENTIAL + &PAIR_POTENTIAL + TYPE DFTD3(BJ) + D3BJ_SCALING 1.0000 0.4171 0.8777 2.9149 + PARAMETER_FILE_NAME dftd3.dat + SHORT_RANGE_CORRECTION TRUE + SHORT_RANGE_CORRECTION_PARAMETERS 0.03 0.70 1.50 0.75 + &PRINT_DFTD + &END + &END PAIR_POTENTIAL + &END vdW_POTENTIAL + &gcp_potential + GLOBAL_PARAMETERS 0.1290 1.1549 1.1763 1.1526 + DELTA_ENERGY H 0.04240 + DELTA_ENERGY O 0.47901 + DELTA_ENERGY C 0.27995 + DELTA_ENERGY N 0.35791 + VERBOSE T +# elem emiss nbas elem emiss nbas elem emiss nbas +# h 0.04240 1 he 0.02832 1 li 0.17787 5 +# be 0.17160 5 b 0.22424 5 c 0.27995 5 +# n 0.35791 5 o 0.47901 5 f 0.63852 5 +# ne 0.83235 5 na 1.11411 9 mg 1.27115 9 +# al 1.44695 14 si 1.61098 14 p 1.76661 14 +# s 1.98823 14 cl 2.22845 14 ar 2.48796 14 +# k 0.37425 11 ca 0.46097 11 sc 0.44489 21 +# ti 0.40499 21 v 0.37841 21 cr 0.37344 21 +# mn 0.36125 21 fe 0.36001 21 co 0.36293 21 +# ni 0.24380 21 cu 0.40530 21 zn 0.39651 21 +# ga 0.35002 32 ge 0.34578 32 as 0.34953 32 +# se 0.36731 32 br 0.38201 32 kr 0.39971 32 + &END GCP_POTENTIAL + &END XC + &POISSON + PERIODIC NONE + PSOLVER MT + &END + &END DFT + &SUBSYS + &CELL + ABC 20.0 20.0 20.0 + PERIODIC NONE + &END CELL + &COORD + UNIT bohr + C -2.75422175362833 4.88205595547640 -3.35668019764011 + C -4.89636437694867 3.48111474498741 -4.66577349906772 + C -3.14587898089591 7.00916526986790 -1.47767402736533 + C -0.39112727923381 3.98833834149900 -3.64501356107012 + C -4.65506670157627 0.68960657647565 -3.78685362412784 + C -2.31332074784111 5.93805020424707 1.12814603019323 + C 0.09089322841768 1.46235809123155 -4.91230651085006 + C 1.96693005487524 5.26082579230782 -2.70107385817416 + C -7.61685041311990 4.41676098862359 -4.27367586421650 + O -5.62383954061628 8.03714545877456 -1.33049858660306 + C -4.52045648245173 3.65946126011641 -7.55996679527227 + H -1.84177110780185 8.57576662860584 -1.89303703430124 + C -5.13243580268152 0.40403946264478 -0.86393188517975 + C -3.71347095525440 3.79294546628795 2.51849054375829 + O -6.61168374546654 -0.65386883548323 -5.01235773979409 + C -2.10762359900994 -0.42898639683603 -4.65782103220549 + O -0.35238413511144 6.74945463069459 1.94980804066986 + O 2.22524359337752 0.24754838843429 -3.69760951132643 + C -5.97657298910859 10.44092860818972 -2.08867755277763 + H -5.84453199337999 2.39429290249141 -8.50026768917311 + H -2.61949375929026 3.18064406703739 -8.16681889075526 + H -4.90473711850306 5.58947877125332 -8.16765575917408 + H -8.88162145572969 3.15570277168137 -5.30027698963047 + H -7.83825477939877 6.30836465515381 -5.04920693291460 + H -8.21625444059990 4.43661593457266 -2.31510552529948 + H 3.48574782410364 4.97906414496096 -4.06580553999356 + H 2.55751755667330 4.45198098416919 -0.89670761081202 + H 1.69543966453997 7.28141481571322 -2.43557502863277 + H 0.62286616389413 1.72785562695556 -6.90321258147153 + C -3.03248696059022 1.28827683819439 1.03261433538677 + C -2.66036475699012 3.90306380603502 5.31049897601019 + C -6.55109930013046 4.33728093195026 2.78265895208614 + O -5.68447896699966 -2.24003494226763 -0.49225534896911 + H -6.77127058463450 -2.30742873301951 -4.24721563014199 + C 4.38919515350772 -0.01727680729772 -4.92750625715577 + H -2.42067549348539 -1.33700865832034 -6.48496725784320 + H -1.53950069221244 -1.90354293785717 -3.33566589444156 + H -6.89722109959338 1.40039398258999 -0.45980320279725 + C -8.65977934424017 11.25189491756870 -1.60795349896372 + O -4.36186712637548 11.73356468493966 -3.00602571174966 + C -2.13846158901065 -0.93507487124965 2.71225450939085 + C -0.17601450117489 2.48050180266109 5.63641123557416 + O -4.46642024637622 3.09117055703745 7.08004603516665 + H -1.32761907425908 1.71171379305483 -0.06004279427161 + C -7.88079656414129 -2.86785289931735 0.62024273043224 + H -6.79663808729591 5.91464781461330 4.08330652620012 + H -7.51403163140735 2.69902445675473 3.57087654500199 + H -7.44886189316021 4.84692014828003 1.01541211055408 + H -2.32994502928741 5.91837360344958 5.70368188588543 + C 6.23640343719723 -1.71691542074622 -3.48505893590230 + O 4.90608977364205 0.96358302217710 -6.91255859364461 + H -8.95018172414545 13.14957685773710 -2.33874539972598 + H -9.01383089081425 11.21828386500458 0.41939820347943 + H -9.95426564852871 9.93490300004304 -2.51423269320752 + C -0.50442470804037 -0.30326765337150 5.04548880188861 + C -3.95357943210590 -2.16405001923217 4.61989078502303 + O -0.96833297587134 -2.66006294543500 0.96045744368580 + H -4.06828240944650 1.37755551634343 7.62563495419667 + H 1.26792608465731 3.28800786551726 4.41183663823650 + H 0.44887388611826 2.66812100457173 7.59556351117105 + O -9.37033865414920 -1.34693826681822 1.43115546398267 + C -8.23241043866238 -5.64735838430951 0.77816295700356 + C 8.46218736839208 -0.05304708887146 -2.51253314803634 + O 5.02077123832797 -3.02350801140142 -1.53581458156187 + H 6.99182242704328 -3.10269620933609 -4.83385300940165 + O -2.33116640649002 -1.49977678243844 6.67761982092692 + C 0.01884127140618 -4.88468883322427 1.64225736838665 + H -4.16500289381031 -4.21140182964611 4.43716572795657 + H -5.80481804486070 -1.25624563717105 4.78335998170243 + H 1.30702395724853 -1.30312799473358 5.09896111525751 + C -10.31931343489841 -6.56118929268801 2.10750154472034 + C -6.53872425052417 -7.33640405183194 -0.33144081060646 + C 10.75166785917711 -1.53835912450025 -1.65885800844686 + N 7.46999111101415 1.63117940305486 -0.54579410827088 + H 9.03497087444481 1.17943011266750 -4.08134444025290 + H 3.72272508337098 -1.95075651250539 -0.78857749276112 + O 0.26038541584440 -5.62138263220708 3.77448961105768 + C 0.79020534468577 -6.42909118298574 -0.62945542330994 + C -10.69898451734659 -9.14038461994881 2.33461325654239 + C -6.92948455519594 -9.91464865360206 -0.09902701044444 + H -11.61898838013555 -5.22445034257893 2.95781253200858 + H -4.92664885367749 -6.62377821613846 -1.37394969966546 + C 13.06741392749892 -0.28224600190127 -1.57185466919596 + C 10.64491807061757 -4.07394950684923 -0.96743510107778 + C 6.30353106105665 0.59634471844069 1.57090033564930 + H 6.24477407196677 2.88198412021953 -1.34346073680208 + H -0.45167574558374 -8.06746588469714 -0.73469509421189 + H 2.71612645607674 -7.09512152613059 -0.35626910730471 + H 0.66378643268868 -5.34375908969597 -2.36648836149020 + C -9.00331942114607 -10.81657464414146 1.23519826465783 + H -12.31610332239828 -9.85003552359730 3.37248177184792 + H -5.61190905597755 -11.22746482819311 -0.95799714348069 + C 15.23250461685864 -1.53138908472102 -0.78543460344008 + C 12.81584681145065 -5.32131711143592 -0.18580328467309 + O 4.13643431181960 1.19055530546031 2.07477806937000 + C 7.85671181743914 -1.03597887652096 3.23907719586055 + H 13.16708189075178 1.69320102500146 -2.11033513523406 + H 8.86964807254477 -5.08894394415900 -0.99666723342523 + H -9.29830568244296 -12.83574606425507 1.41784191742182 + C 15.11010391360424 -4.05696073250481 -0.08711166034559 + C 10.32350874633572 -0.34179122139165 3.85153710083126 + C 6.79252560972846 -3.18951151680852 4.32074038536061 + H 17.01806987741279 -0.52911033379028 -0.71754578030844 + H 12.70545902828425 -7.29286656425878 0.36073524265411 + C 11.72953198165022 -1.82482837492992 5.48955863706336 + C 8.21575004808072 -4.68013477485924 5.93615318804377 + H 16.79925354836453 -5.03600851477630 0.53276304207989 + H 11.11963623702429 1.36747523392382 3.05057597822599 + H 4.86666579164096 -3.70660320433175 3.85606162241743 + C 10.68418523664758 -4.00288306661292 6.51656221602793 + H 13.64856556643712 -1.28400567524983 5.96139006086769 + H 7.39457824978855 -6.36991639262988 6.75199678774226 + H 11.79525679743083 -5.16879168381238 7.78319070073019 + &END COORD + &KIND DEFAULT + BASIS_SET minix + POTENTIAL ALL + &END + &END SUBSYS +&END FORCE_EVAL