From 7e7080dba323f6e50f7eb7c178dec5bf5d372a85 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 14 Mar 2018 10:09:09 +0100 Subject: [PATCH 01/15] Added AVnZ-BFD --- data/basis/av5z-bfd | 956 +++++++++++++++++++++++++++++++++++++++ data/basis/avdz-bfd | 804 +++++++++++++++++++++++++++++++++ data/basis/avqz-bfd | 988 ++++++++++++++++++++++++++++++++++++++++ data/basis/avtz-bfd | 1038 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 3786 insertions(+) create mode 100644 data/basis/av5z-bfd create mode 100644 data/basis/avdz-bfd create mode 100644 data/basis/avqz-bfd create mode 100644 data/basis/avtz-bfd diff --git a/data/basis/av5z-bfd b/data/basis/av5z-bfd new file mode 100644 index 00000000..4f6128c3 --- /dev/null +++ b/data/basis/av5z-bfd @@ -0,0 +1,956 @@ +NEON +S 9 + 1 0.205835 0.057514 + 2 0.391384 0.215776 + 3 0.744196 0.374799 + 4 1.415048 0.326313 + 5 2.690638 0.166383 + 6 5.116103 -0.039149 + 7 9.727994 -0.085909 + 8 18.497256 0.006816 + 9 35.171534 0.000206 +S 1 + 1 0.318678 1.000000 +S 1 + 1 0.830178 1.000000 +S 1 + 1 1.591904 1.000000 +S 1 + 1 2.744999 1.000000 +P 9 + 1 0.121772 0.029943 + 2 0.238248 0.114200 + 3 0.466136 0.219618 + 4 0.912002 0.268864 + 5 1.784344 0.256932 + 6 3.491095 0.191378 + 7 6.830378 0.112176 + 8 13.363732 0.063317 + 9 26.146332 0.008057 +P 1 + 1 0.218226 1.000000 +P 1 + 1 0.636921 1.000000 +P 1 + 1 1.888191 1.000000 +P 1 + 1 3.020108 1.000000 +D 1 + 1 0.654924 1.000000 +D 1 + 1 1.931502 1.000000 +D 1 + 1 5.027566 1.000000 +D 1 + 1 6.989700 1.000000 +F 1 + 1 1.314297 1.000000 +F 1 + 1 4.065928 1.000000 +F 1 + 1 5.587487 1.000000 +G 1 + 1 2.070925 1.000000 +G 1 + 1 6.073107 1.000000 +H 1 + 1 3.743118 1.000000 +S 1 + 1 0.0957000 1.0000000 +P 1 + 1 0.0654000 1.0000000 +D 1 + 1 0.2130000 1.0000000 +F 1 + 1 0.4250000 1.0000000 +G 1 + 1 0.8090000 1.0000000 +H 1 + 1 1.6280000 1.0000000 + +BORON +S 9 + 1 0.040569 0.032031 + 2 0.081044 0.243317 + 3 0.161898 0.434636 + 4 0.323418 0.329581 + 5 0.646080 0.111875 + 6 1.290648 -0.078699 + 7 2.578276 -0.098781 + 8 5.150520 0.016164 + 9 10.288990 -0.000016 +S 1 + 1 0.070664 1.000000 +S 1 + 1 0.170896 1.000000 +S 1 + 1 0.375720 1.000000 +S 1 + 1 0.614105 1.000000 +P 9 + 1 0.029207 0.019909 + 2 0.058408 0.141775 + 3 0.116803 0.294463 + 4 0.233582 0.309028 + 5 0.467115 0.236378 + 6 0.934132 0.131317 + 7 1.868068 0.066454 + 8 3.735743 0.021248 + 9 7.470701 0.002837 +P 1 + 1 0.057917 1.000000 +P 1 + 1 0.143772 1.000000 +P 1 + 1 0.436327 1.000000 +P 1 + 1 0.566611 1.000000 +D 1 + 1 0.134838 1.000000 +D 1 + 1 0.380163 1.000000 +D 1 + 1 0.808233 1.000000 +D 1 + 1 1.022256 1.000000 +F 1 + 1 0.272717 1.000000 +F 1 + 1 0.799174 1.000000 +F 1 + 1 1.002171 1.000000 +G 1 + 1 0.486131 1.000000 +G 1 + 1 0.824366 1.000000 +H 1 + 1 0.632779 1.000000 +S 1 + 1 0.0261000 1.0000000 +P 1 + 1 0.0157000 1.0000000 +D 1 + 1 0.0431000 1.0000000 +F 1 + 1 0.0843000 1.0000000 +G 1 + 1 0.2020000 1.0000000 +H 1 + 1 0.3840000 1.0000000 + +ALUMINUM +S 9 + 1 0.045518 0.206193 + 2 0.100308 0.559887 + 3 0.221051 0.407852 + 4 0.487132 -0.041098 + 5 1.073500 -0.238652 + 6 2.365686 0.038132 + 7 5.213294 -0.003935 + 8 11.488606 0.000470 + 9 25.317597 -0.000014 +S 1 + 1 0.056415 1.000000 +S 1 + 1 0.155063 1.000000 +S 1 + 1 0.332041 1.000000 +S 1 + 1 0.725343 1.000000 +P 9 + 1 0.014848 0.009932 + 2 0.030967 0.160212 + 3 0.064586 0.389171 + 4 0.134700 0.373235 + 5 0.280932 0.195800 + 6 0.585913 0.022947 + 7 1.221985 -0.053293 + 8 2.548578 0.004846 + 9 5.315330 -0.000726 +P 1 + 1 0.033949 1.000000 +P 1 + 1 0.083154 1.000000 +P 1 + 1 0.251360 1.000000 +P 1 + 1 0.314422 1.000000 +D 1 + 1 0.088651 1.000000 +D 1 + 1 0.241216 1.000000 +D 1 + 1 0.575129 1.000000 +D 1 + 1 0.989127 1.000000 +F 1 + 1 0.148598 1.000000 +F 1 + 1 0.374850 1.000000 +F 1 + 1 0.781006 1.000000 +G 1 + 1 0.259548 1.000000 +G 1 + 1 0.561381 1.000000 +H 1 + 1 0.328731 1.000000 +S 1 + 1 0.0177000 1.0000000 +P 1 + 1 0.0115000 1.0000000 +D 1 + 1 0.0294000 1.0000000 +F 1 + 1 0.0509000 1.0000000 +G 1 + 1 0.1069000 1.0000000 +H 1 + 1 0.2270000 1.0000000 + +NITROGEN +S 9 + 1 0.098869 0.067266 + 2 0.211443 0.334290 + 3 0.452197 0.454257 + 4 0.967080 0.267861 + 5 2.068221 0.000248 + 6 4.423150 -0.132606 + 7 9.459462 0.014437 + 8 20.230246 0.000359 + 9 43.264919 -0.000094 +S 1 + 1 0.115320 1.000000 +S 1 + 1 0.286632 1.000000 +S 1 + 1 0.702011 1.000000 +S 1 + 1 1.532221 1.000000 +P 9 + 1 0.073234 0.035758 + 2 0.145867 0.153945 + 3 0.290535 0.277656 + 4 0.578683 0.297676 + 5 1.152612 0.234403 + 6 2.295756 0.140321 + 7 4.572652 0.067219 + 8 9.107739 0.031594 + 9 18.140657 0.003301 +P 1 + 1 0.120601 1.000000 +P 1 + 1 0.322697 1.000000 +P 1 + 1 0.978538 1.000000 +P 1 + 1 1.272759 1.000000 +D 1 + 1 0.305579 1.000000 +D 1 + 1 0.891436 1.000000 +D 1 + 1 1.542532 1.000000 +D 1 + 1 2.798122 1.000000 +F 1 + 1 0.587676 1.000000 +F 1 + 1 1.592967 1.000000 +F 1 + 1 2.443045 1.000000 +G 1 + 1 1.038637 1.000000 +G 1 + 1 2.842018 1.000000 +H 1 + 1 2.272542 1.000000 +S 1 + 1 0.0518000 1.0000000 +P 1 + 1 0.0369000 1.0000000 +D 1 + 1 0.0971000 1.0000000 +F 1 + 1 0.1920000 1.0000000 +G 1 + 1 0.4360000 1.0000000 +H 1 + 1 0.7880000 1.0000000 + +FLUORINE +S 9 + 1 0.172723 0.070240 + 2 0.364875 0.311088 + 3 0.770795 0.444675 + 4 1.628295 0.287011 + 5 3.439757 0.018759 + 6 7.266451 -0.128608 + 7 15.350300 0.009104 + 8 32.427348 0.000810 + 9 68.502433 -0.000133 +S 1 + 1 0.191146 1.000000 +S 1 + 1 0.459697 1.000000 +S 1 + 1 1.250265 1.000000 +S 1 + 1 2.542428 1.000000 +P 9 + 1 0.101001 0.035321 + 2 0.204414 0.136924 + 3 0.413707 0.249353 + 4 0.837289 0.286620 + 5 1.694565 0.254541 + 6 3.429580 0.169572 + 7 6.941026 0.088542 + 8 14.047737 0.039843 + 9 28.430799 0.003378 +P 1 + 1 0.170574 1.000000 +P 1 + 1 0.489019 1.000000 +P 1 + 1 1.505085 1.000000 +P 1 + 1 2.018698 1.000000 +D 1 + 1 0.517711 1.000000 +D 1 + 1 1.523306 1.000000 +D 1 + 1 3.901897 1.000000 +D 1 + 1 5.603581 1.000000 +F 1 + 1 0.981494 1.000000 +F 1 + 1 2.950321 1.000000 +F 1 + 1 4.297889 1.000000 +G 1 + 1 1.638933 1.000000 +G 1 + 1 4.619953 1.000000 +H 1 + 1 2.963127 1.000000 +S 1 + 1 0.0806000 1.0000000 +P 1 + 1 0.0550000 1.0000000 +D 1 + 1 0.1720000 1.0000000 +F 1 + 1 0.3310000 1.0000000 +G 1 + 1 0.6630000 1.0000000 +H 1 + 1 1.3260000 1.0000000 + +CHLORINE +S 9 + 1 0.119944 0.148917 + 2 0.257348 0.503616 + 3 0.552157 0.523995 + 4 1.184691 0.013612 + 5 2.541836 -0.328846 + 6 5.453681 0.056309 + 7 11.701243 -0.001301 + 8 25.105812 -0.000294 + 9 53.866226 0.000076 +S 1 + 1 0.152049 1.000000 +S 1 + 1 0.639110 1.000000 +S 1 + 1 0.801438 1.000000 +S 1 + 1 1.671380 1.000000 +P 9 + 1 0.074374 0.084925 + 2 0.155084 0.270658 + 3 0.323378 0.396022 + 4 0.674303 0.324325 + 5 1.406043 0.100661 + 6 2.931855 -0.069802 + 7 6.113450 -0.000951 + 8 12.747651 0.001501 + 9 26.581165 -0.000249 +P 1 + 1 0.103926 1.000000 +P 1 + 1 0.275582 1.000000 +P 1 + 1 0.667436 1.000000 +P 1 + 1 1.171614 1.000000 +D 1 + 1 0.237419 1.000000 +D 1 + 1 0.729517 1.000000 +D 1 + 1 0.924049 1.000000 +D 1 + 1 1.522182 1.000000 +F 1 + 1 0.335123 1.000000 +F 1 + 1 0.789116 1.000000 +F 1 + 1 1.609975 1.000000 +G 1 + 1 0.576133 1.000000 +G 1 + 1 1.402971 1.000000 +H 1 + 1 1.099609 1.000000 +S 1 + 1 0.0479000 1.0000000 +P 1 + 1 0.0348000 1.0000000 +D 1 + 1 0.1003000 1.0000000 +F 1 + 1 0.1640000 1.0000000 +G 1 + 1 0.2770000 1.0000000 +H 1 + 1 0.6070000 1.0000000 + +CARBON +S 9 + 1 0.051344 0.013991 + 2 0.102619 0.169852 + 3 0.205100 0.397529 + 4 0.409924 0.380369 + 5 0.819297 0.180113 + 6 1.637494 -0.033512 + 7 3.272791 -0.121499 + 8 6.541187 0.015176 + 9 13.073594 -0.000705 +S 1 + 1 0.098302 1.000000 +S 1 + 1 0.232034 1.000000 +S 1 + 1 0.744448 1.000000 +S 1 + 1 1.009914 1.000000 +P 9 + 1 0.029281 0.001787 + 2 0.058547 0.050426 + 3 0.117063 0.191634 + 4 0.234064 0.302667 + 5 0.468003 0.289868 + 6 0.935757 0.210979 + 7 1.871016 0.112024 + 8 3.741035 0.054425 + 9 7.480076 0.021931 +P 1 + 1 0.084047 1.000000 +P 1 + 1 0.216618 1.000000 +P 1 + 1 0.576869 1.000000 +P 1 + 1 1.006252 1.000000 +D 1 + 1 0.206619 1.000000 +D 1 + 1 0.606933 1.000000 +D 1 + 1 1.001526 1.000000 +D 1 + 1 1.504882 1.000000 +F 1 + 1 0.400573 1.000000 +F 1 + 1 1.099564 1.000000 +F 1 + 1 1.501091 1.000000 +G 1 + 1 0.797648 1.000000 +G 1 + 1 1.401343 1.000000 +H 1 + 1 1.001703 1.000000 +S 1 + 1 0.0394000 1.0000000 +P 1 + 1 0.0272000 1.0000000 +D 1 + 1 0.0701000 1.0000000 +F 1 + 1 0.1380000 1.0000000 +G 1 + 1 0.3190000 1.0000000 +H 1 + 1 0.5860000 1.0000000 + +OXYGEN +S 9 + 1 0.125346 0.055741 + 2 0.268022 0.304848 + 3 0.573098 0.453752 + 4 1.225429 0.295926 + 5 2.620277 0.019567 + 6 5.602818 -0.128627 + 7 11.980245 0.012024 + 8 25.616801 0.000407 + 9 54.775216 -0.000076 +S 1 + 1 0.160664 1.000000 +S 1 + 1 0.384526 1.000000 +S 1 + 1 0.935157 1.000000 +S 1 + 1 1.937532 1.000000 +P 9 + 1 0.083598 0.044958 + 2 0.167017 0.150175 + 3 0.333673 0.255999 + 4 0.666627 0.281879 + 5 1.331816 0.242835 + 6 2.660761 0.161134 + 7 5.315785 0.082308 + 8 10.620108 0.039899 + 9 21.217318 0.004679 +P 1 + 1 0.130580 1.000000 +P 1 + 1 0.372674 1.000000 +P 1 + 1 1.178227 1.000000 +P 1 + 1 1.589967 1.000000 +D 1 + 1 0.401152 1.000000 +D 1 + 1 1.174596 1.000000 +D 1 + 1 2.823972 1.000000 +D 1 + 1 4.292433 1.000000 +F 1 + 1 0.708666 1.000000 +F 1 + 1 2.006788 1.000000 +F 1 + 1 3.223721 1.000000 +G 1 + 1 1.207657 1.000000 +G 1 + 1 3.584495 1.000000 +H 1 + 1 2.615818 1.000000 +S 1 + 1 0.0655000 1.0000000 +P 1 + 1 0.0446000 1.0000000 +D 1 + 1 0.1310000 1.0000000 +F 1 + 1 0.2370000 1.0000000 +G 1 + 1 0.5170000 1.0000000 +H 1 + 1 1.0240000 1.0000000 + +HYDROGEN +S 9 + 1 0.013000 0.000706 + 2 0.029900 -0.002119 + 3 0.068770 0.057693 + 4 0.158170 0.230695 + 5 0.363792 0.277612 + 6 0.836721 0.169833 + 7 1.924458 0.097443 + 8 4.426254 0.029966 + 9 10.180385 -0.000452 +S 1 + 1 0.122344 1.000000 +S 1 + 1 0.402892 1.000000 +S 1 + 1 0.715047 1.000000 +S 1 + 1 1.379838 1.000000 +P 9 + 1 0.003000 0.001242 + 2 0.007800 -0.000913 + 3 0.020281 -0.000054 + 4 0.052730 -0.000238 + 5 0.137097 -0.011530 + 6 0.356451 -0.018235 + 7 0.926774 -0.013929 + 8 2.409612 -0.009395 + 9 6.264991 -0.000347 +P 1 + 1 0.784765 1.000000 +P 1 + 1 0.173606 1.000000 +P 1 + 1 0.513665 1.000000 +D 1 + 1 2.917388 1.000000 +D 1 + 1 0.466379 1.000000 +D 1 + 1 1.132171 1.000000 +F 1 + 1 1.649608 1.000000 +F 1 + 1 0.793185 1.000000 +G 1 + 1 1.606813 1.000000 +S 1 + 1 0.0207000 1.0000000 +P 1 + 1 0.0744000 1.0000000 +D 1 + 1 0.1560000 1.0000000 +F 1 + 1 0.2740000 1.0000000 +G 1 + 1 0.5430000 1.0000000 + +PHOSPHORUS +S 9 + 1 0.074718 0.140225 + 2 0.160834 0.506746 + 3 0.346202 0.499893 + 4 0.745215 0.037301 + 5 1.604109 -0.284591 + 6 3.452917 0.024766 + 7 7.432561 0.001798 + 8 15.998924 -0.000314 + 9 34.438408 0.000088 +S 1 + 1 0.082092 1.000000 +S 1 + 1 0.195525 1.000000 +S 1 + 1 0.434767 1.000000 +S 1 + 1 1.027573 1.000000 +P 9 + 1 0.050242 0.072095 + 2 0.102391 0.278735 + 3 0.208669 0.411034 + 4 0.425256 0.304724 + 5 0.866651 0.091727 + 6 1.766191 -0.057060 + 7 3.599410 -0.005103 + 8 7.335418 0.000328 + 9 14.949217 -0.000046 +P 1 + 1 0.074159 1.000000 +P 1 + 1 0.189382 1.000000 +P 1 + 1 0.470798 1.000000 +P 1 + 1 0.815677 1.000000 +D 1 + 1 0.167800 1.000000 +D 1 + 1 0.457307 1.000000 +D 1 + 1 1.021650 1.000000 +D 1 + 1 1.598720 1.000000 +F 1 + 1 0.214751 1.000000 +F 1 + 1 0.482380 1.000000 +F 1 + 1 0.984966 1.000000 +G 1 + 1 0.406484 1.000000 +G 1 + 1 0.924507 1.000000 +H 1 + 1 0.831913 1.000000 +S 1 + 1 0.0335000 1.0000000 +P 1 + 1 0.0253000 1.0000000 +D 1 + 1 0.0624000 1.0000000 +F 1 + 1 0.0950000 1.0000000 +G 1 + 1 0.1840000 1.0000000 +H 1 + 1 0.3720000 1.0000000 + +SILICON +S 9 + 1 0.059887 0.167492 + 2 0.130108 0.532550 + 3 0.282668 0.464290 + 4 0.614115 -0.002322 + 5 1.334205 -0.268234 + 6 2.898645 0.031921 + 7 6.297493 -0.000106 + 8 13.681707 -0.000145 + 9 29.724387 0.000067 +S 1 + 1 0.075500 1.000000 +S 1 + 1 0.196459 1.000000 +S 1 + 1 0.424036 1.000000 +S 1 + 1 0.920486 1.000000 +P 9 + 1 0.036525 0.078761 + 2 0.076137 0.308331 + 3 0.158712 0.417773 + 4 0.330843 0.281676 + 5 0.689658 0.069876 + 6 1.437625 -0.056306 + 7 2.996797 0.000744 + 8 6.246966 -0.000259 + 9 13.022097 -0.000022 +P 1 + 1 0.048136 1.000000 +P 1 + 1 0.115813 1.000000 +P 1 + 1 0.238594 1.000000 +P 1 + 1 0.496918 1.000000 +D 1 + 1 0.127945 1.000000 +D 1 + 1 0.353096 1.000000 +D 1 + 1 0.805426 1.000000 +D 1 + 1 1.247695 1.000000 +F 1 + 1 0.172876 1.000000 +F 1 + 1 0.402208 1.000000 +F 1 + 1 0.833081 1.000000 +G 1 + 1 0.299885 1.000000 +G 1 + 1 0.647054 1.000000 +H 1 + 1 0.557542 1.000000 +S 1 + 1 0.0260000 1.0000000 +P 1 + 1 0.0192000 1.0000000 +D 1 + 1 0.0468000 1.0000000 +F 1 + 1 0.0735000 1.0000000 +G 1 + 1 0.1510000 1.0000000 +H 1 + 1 0.3230000 1.0000000 + +ARGON +S 9 + 1 0.147347 0.155473 + 2 0.312164 0.494617 + 3 0.661339 0.526705 + 4 1.401090 0.021986 + 5 2.968301 -0.338533 + 6 6.288539 0.056023 + 7 13.322677 -0.000115 + 8 28.224956 -0.000595 + 9 59.796402 0.000127 +S 1 + 1 0.189594 1.000000 +S 1 + 1 0.778040 1.000000 +S 1 + 1 0.971266 1.000000 +S 1 + 1 1.979612 1.000000 +P 9 + 1 0.090580 0.079101 + 2 0.188085 0.260718 + 3 0.390548 0.395065 + 4 0.810953 0.334954 + 5 1.683902 0.107462 + 6 3.496535 -0.073657 + 7 7.260371 -0.001407 + 8 15.075781 0.001710 + 9 31.304069 -0.000275 +P 1 + 1 0.133916 1.000000 +P 1 + 1 0.356186 1.000000 +P 1 + 1 0.833562 1.000000 +P 1 + 1 1.430927 1.000000 +D 1 + 1 0.268113 1.000000 +D 1 + 1 0.697753 1.000000 +D 1 + 1 1.185366 1.000000 +D 1 + 1 2.118102 1.000000 +F 1 + 1 0.422461 1.000000 +F 1 + 1 0.973776 1.000000 +F 1 + 1 2.020616 1.000000 +G 1 + 1 0.695217 1.000000 +G 1 + 1 1.690111 1.000000 +H 1 + 1 1.258944 1.000000 +S 1 + 1 0.0538000 1.0000000 +P 1 + 1 0.0402000 1.0000000 +D 1 + 1 0.1210000 1.0000000 +F 1 + 1 0.2090000 1.0000000 +G 1 + 1 0.3340000 1.0000000 +H 1 + 1 0.7420000 1.0000000 + +SULFUR +S 9 + 1 0.095120 0.140074 + 2 0.202385 0.490942 + 3 0.430611 0.515297 + 4 0.916203 0.050320 + 5 1.949388 -0.298908 + 6 4.147674 0.019827 + 7 8.824926 0.007266 + 8 18.776623 -0.001602 + 9 39.950656 0.000271 +S 1 + 1 0.113918 1.000000 +S 1 + 1 0.282790 1.000000 +S 1 + 1 0.626702 1.000000 +S 1 + 1 1.338226 1.000000 +P 9 + 1 0.057087 0.081938 + 2 0.115901 0.251826 + 3 0.235305 0.376344 + 4 0.477723 0.320902 + 5 0.969889 0.143779 + 6 1.969099 -0.045543 + 7 3.997726 -0.017191 + 8 8.116307 0.002580 + 9 16.477979 -0.000222 +P 1 + 1 0.079101 1.000000 +P 1 + 1 0.210632 1.000000 +P 1 + 1 0.522537 1.000000 +P 1 + 1 0.924454 1.000000 +D 1 + 1 0.186546 1.000000 +D 1 + 1 0.462328 1.000000 +D 1 + 1 0.955579 1.000000 +D 1 + 1 2.334308 1.000000 +F 1 + 1 0.274343 1.000000 +F 1 + 1 0.661568 1.000000 +F 1 + 1 1.389533 1.000000 +G 1 + 1 0.486698 1.000000 +G 1 + 1 1.166495 1.000000 +H 1 + 1 0.839494 1.000000 +S 1 + 1 0.0420000 1.0000000 +P 1 + 1 0.0294000 1.0000000 +D 1 + 1 0.0794000 1.0000000 +F 1 + 1 0.1188000 1.0000000 +G 1 + 1 0.2200000 1.0000000 +H 1 + 1 0.4720000 1.0000000 + +HELIUM +S 9 + 1 0.077786 0.012425 + 2 0.161528 0.128251 + 3 0.335425 0.282221 + 4 0.696535 0.292427 + 5 1.446408 0.215025 + 6 3.003576 0.125450 + 7 6.237154 0.064912 + 8 12.951926 0.038892 + 9 26.895662 0.002531 +S 1 + 1 1.324312 1.000000 +S 1 + 1 0.876976 1.000000 +S 1 + 1 0.294075 1.000000 +S 1 + 1 0.116506 1.000000 +P 8 + 1 0.228528 -0.000116 + 2 0.422019 2.116950 + 3 0.779333 -2.182954 + 4 1.439180 1.545850 + 5 2.657706 -0.879477 + 6 4.907934 0.469710 + 7 9.063386 -0.224631 + 8 16.737180 0.098422 +P 1 + 1 6.741009 1.000000 +P 1 + 1 2.647340 1.000000 +P 1 + 1 0.893850 1.000000 +D 1 + 1 1.842278 1.000000 +D 1 + 1 2.175208 1.000000 +D 1 + 1 4.285515 1.000000 +F 1 + 1 0.749734 1.000000 +F 1 + 1 1.632074 1.000000 +G 1 + 1 0.623669 1.000000 +S 1 + 1 0.0466400 1.0000000 +P 1 + 1 0.1400000 1.0000000 +D 1 + 1 0.2892000 1.0000000 +F 1 + 1 0.5345000 1.0000000 +G 1 + 1 0.7899000 1.0000000 + + diff --git a/data/basis/avdz-bfd b/data/basis/avdz-bfd new file mode 100644 index 00000000..a85c3d3d --- /dev/null +++ b/data/basis/avdz-bfd @@ -0,0 +1,804 @@ +ARSENIC +S 9 + 1 0.079412 0.192043 + 2 0.178687 0.611682 + 3 0.402068 0.439261 + 4 0.904702 -0.110280 + 5 2.035691 -0.394179 + 6 4.580555 0.145632 + 7 10.306811 -0.021379 + 8 23.191593 0.003205 + 9 52.183937 -0.000469 +S 1 + 1 0.051480 1.000000 +P 9 + 1 0.050626 0.105058 + 2 0.108692 0.361819 + 3 0.233354 0.452107 + 4 0.500995 0.231243 + 5 1.075603 -0.009549 + 6 2.309248 -0.121767 + 7 4.957802 0.028648 + 8 10.644071 -0.002941 + 9 22.852115 0.000293 +P 1 + 1 0.095623 1.000000 +D 1 + 1 0.297652 1.000000 +S 1 + 1 0.0411520 1.0000000 +P 1 + 1 0.0312680 1.0000000 +D 1 + 1 0.1078000 1.0000000 + +LITHIUM +S 9 + 1 0.010125 0.007841 + 2 0.023437 0.258118 + 3 0.054251 0.423307 + 4 0.125581 0.167825 + 5 0.290697 -0.068332 + 6 0.672909 -0.119269 + 7 1.557659 0.007736 + 8 3.605689 0.003630 + 9 8.346494 -0.000646 +S 1 + 1 0.103721 1.000000 +P 9 + 1 0.018300 -0.005906 + 2 0.031699 -0.031422 + 3 0.054908 -0.043628 + 4 0.095111 -0.016781 + 5 0.164751 -0.078594 + 6 0.285379 0.015562 + 7 0.494330 -0.030830 + 8 0.856273 0.006185 + 9 1.483225 -0.008621 +P 1 + 1 0.070391 1.000000 +D 1 + 1 0.110720 1.000000 +S 1 + 1 0.0086400 1.0000000 +P 1 + 1 0.0057900 1.0000000 +D 1 + 1 0.0725000 1.0000000 + +GERMANIUM +S 9 + 1 0.066287 0.213230 + 2 0.150128 0.605570 + 3 0.340013 0.413442 + 4 0.770064 -0.106356 + 5 1.744049 -0.364579 + 6 3.949940 0.127448 + 7 8.945864 -0.017166 + 8 20.260687 0.002454 + 9 45.886614 -0.000355 +S 1 + 1 0.043781 1.000000 +P 9 + 1 0.036511 0.098680 + 2 0.080524 0.372290 + 3 0.177593 0.443836 + 4 0.391677 0.232585 + 5 0.863832 0.000058 + 6 1.905157 -0.108282 + 7 4.201772 0.021894 + 8 9.266892 -0.001911 + 9 20.437873 0.000181 +P 1 + 1 0.074726 1.000000 +D 1 + 1 0.234278 1.000000 +S 1 + 1 0.0339610 1.0000000 +P 1 + 1 0.0239450 1.0000000 +D 1 + 1 0.0771000 1.0000000 + +NEON +S 9 + 1 0.205835 0.057514 + 2 0.391384 0.215776 + 3 0.744196 0.374799 + 4 1.415048 0.326313 + 5 2.690638 0.166383 + 6 5.116103 -0.039149 + 7 9.727994 -0.085909 + 8 18.497256 0.006816 + 9 35.171534 0.000206 +S 1 + 1 0.455383 1.000000 +P 9 + 1 0.121772 0.029943 + 2 0.238248 0.114200 + 3 0.466136 0.219618 + 4 0.912002 0.268864 + 5 1.784344 0.256932 + 6 3.491095 0.191378 + 7 6.830378 0.112176 + 8 13.363732 0.063317 + 9 26.146332 0.008057 +P 1 + 1 0.472224 1.000000 +D 1 + 1 2.371533 1.000000 +S 1 + 1 0.1230000 1.0000000 +P 1 + 1 0.1064000 1.0000000 +D 1 + 1 0.6310000 1.0000000 + +BORON +S 9 + 1 0.040569 0.032031 + 2 0.081044 0.243317 + 3 0.161898 0.434636 + 4 0.323418 0.329581 + 5 0.646080 0.111875 + 6 1.290648 -0.078699 + 7 2.578276 -0.098781 + 8 5.150520 0.016164 + 9 10.288990 -0.000016 +S 1 + 1 0.082513 1.000000 +P 9 + 1 0.029207 0.019909 + 2 0.058408 0.141775 + 3 0.116803 0.294463 + 4 0.233582 0.309028 + 5 0.467115 0.236378 + 6 0.934132 0.131317 + 7 1.868068 0.066454 + 8 3.735743 0.021248 + 9 7.470701 0.002837 +P 1 + 1 0.086803 1.000000 +D 1 + 1 0.349879 1.000000 +S 1 + 1 0.0310500 1.0000000 +P 1 + 1 0.0237800 1.0000000 +D 1 + 1 0.0904000 1.0000000 + +GALLIUM +S 9 + 1 0.054628 0.253171 + 2 0.123743 0.598295 + 3 0.280299 0.356909 + 4 0.634926 -0.056544 + 5 1.438218 -0.411266 + 6 3.257814 0.156079 + 7 7.379514 -0.025142 + 8 16.715879 0.004089 + 9 37.864367 -0.000622 +S 1 + 1 0.031898 1.000000 +P 9 + 1 0.029207 0.759400 + 2 0.064420 -0.022059 + 3 0.142086 0.368252 + 4 0.313389 0.051142 + 5 0.691221 0.036655 + 6 1.524577 -0.078589 + 7 3.362652 0.017781 + 8 7.416764 -0.002498 + 9 16.358632 0.000386 +P 1 + 1 0.027155 1.000000 +D 1 + 1 0.182311 1.000000 +S 1 + 1 0.0243480 1.0000000 +P 1 + 1 0.0151640 1.0000000 +D 1 + 1 0.0537000 1.0000000 + +ALUMINUM +S 9 + 1 0.045518 0.206193 + 2 0.100308 0.559887 + 3 0.221051 0.407852 + 4 0.487132 -0.041098 + 5 1.073500 -0.238652 + 6 2.365686 0.038132 + 7 5.213294 -0.003935 + 8 11.488606 0.000470 + 9 25.317597 -0.000014 +S 1 + 1 0.044024 1.000000 +P 9 + 1 0.014848 0.009932 + 2 0.030967 0.160212 + 3 0.064586 0.389171 + 4 0.134700 0.373235 + 5 0.280932 0.195800 + 6 0.585913 0.022947 + 7 1.221985 -0.053293 + 8 2.548578 0.004846 + 9 5.315330 -0.000726 +P 1 + 1 0.206631 1.000000 +D 1 + 1 0.193079 1.000000 +S 1 + 1 0.0231000 1.0000000 +P 1 + 1 0.0153000 1.0000000 +D 1 + 1 0.0535000 1.0000000 + +MAGNESIUM +S 9 + 1 0.030975 0.165290 + 2 0.062959 0.506272 + 3 0.127970 0.333197 + 4 0.260111 0.057482 + 5 0.528700 -0.137614 + 6 1.074630 -0.135378 + 7 2.184285 0.048310 + 8 4.439759 -0.005312 + 9 9.024217 0.000465 +S 1 + 1 0.162370 1.000000 +P 9 + 1 0.047055 1.502038 + 2 0.083253 -1.433944 + 3 0.147298 1.318987 + 4 0.260611 -0.741124 + 5 0.461094 0.436300 + 6 0.815803 -0.243798 + 7 1.443383 0.086774 + 8 2.553745 -0.028677 + 9 4.518286 0.006085 +P 1 + 1 0.121683 1.000000 +D 1 + 1 0.135526 1.000000 +S 1 + 1 0.0148800 1.0000000 +P 1 + 1 0.0093500 1.0000000 +D 1 + 1 0.0595000 1.0000000 + +NITROGEN +S 9 + 1 0.098869 0.067266 + 2 0.211443 0.334290 + 3 0.452197 0.454257 + 4 0.967080 0.267861 + 5 2.068221 0.000248 + 6 4.423150 -0.132606 + 7 9.459462 0.014437 + 8 20.230246 0.000359 + 9 43.264919 -0.000094 +S 1 + 1 0.175123 1.000000 +P 9 + 1 0.073234 0.035758 + 2 0.145867 0.153945 + 3 0.290535 0.277656 + 4 0.578683 0.297676 + 5 1.152612 0.234403 + 6 2.295756 0.140321 + 7 4.572652 0.067219 + 8 9.107739 0.031594 + 9 18.140657 0.003301 +P 1 + 1 0.223042 1.000000 +D 1 + 1 0.832058 1.000000 +S 1 + 1 0.0612400 1.0000000 +P 1 + 1 0.0561100 1.0000000 +D 1 + 1 0.2300000 1.0000000 + +BROMINE +S 9 + 1 0.114626 0.199832 + 2 0.253024 0.605806 + 3 0.558520 0.486414 + 4 1.232866 -0.208964 + 5 2.721403 -0.328448 + 6 6.007171 0.118471 + 7 13.260109 -0.013112 + 8 29.270100 0.001206 + 9 64.610234 -0.000121 +S 1 + 1 0.074712 1.000000 +P 9 + 1 0.067990 0.107992 + 2 0.145507 0.331860 + 3 0.311403 0.442871 + 4 0.666441 0.283256 + 5 1.426267 -0.026045 + 6 3.052389 -0.111323 + 7 6.532494 0.021712 + 8 13.980353 -0.001188 + 9 29.919703 0.000022 +P 1 + 1 0.129654 1.000000 +D 1 + 1 0.417296 1.000000 +S 1 + 1 0.0569460 1.0000000 +P 1 + 1 0.0410490 1.0000000 +D 1 + 1 0.1719000 1.0000000 + +FLUORINE +S 9 + 1 0.172723 0.070240 + 2 0.364875 0.311088 + 3 0.770795 0.444675 + 4 1.628295 0.287011 + 5 3.439757 0.018759 + 6 7.266451 -0.128608 + 7 15.350300 0.009104 + 8 32.427348 0.000810 + 9 68.502433 -0.000133 +S 1 + 1 0.344569 1.000000 +P 9 + 1 0.101001 0.035321 + 2 0.204414 0.136924 + 3 0.413707 0.249353 + 4 0.837289 0.286620 + 5 1.694565 0.254541 + 6 3.429580 0.169572 + 7 6.941026 0.088542 + 8 14.047737 0.039843 + 9 28.430799 0.003378 +P 1 + 1 0.364831 1.000000 +D 1 + 1 1.722479 1.000000 +S 1 + 1 0.0986300 1.0000000 +P 1 + 1 0.0850200 1.0000000 +D 1 + 1 0.4640000 1.0000000 + +CHLORINE +S 9 + 1 0.119944 0.148917 + 2 0.257348 0.503616 + 3 0.552157 0.523995 + 4 1.184691 0.013612 + 5 2.541836 -0.328846 + 6 5.453681 0.056309 + 7 11.701243 -0.001301 + 8 25.105812 -0.000294 + 9 53.866226 0.000076 +S 1 + 1 0.120667 1.000000 +P 9 + 1 0.074374 0.084925 + 2 0.155084 0.270658 + 3 0.323378 0.396022 + 4 0.674303 0.324325 + 5 1.406043 0.100661 + 6 2.931855 -0.069802 + 7 6.113450 -0.000951 + 8 12.747651 0.001501 + 9 26.581165 -0.000249 +P 1 + 1 0.168333 1.000000 +D 1 + 1 0.651071 1.000000 +S 1 + 1 0.0608000 1.0000000 +P 1 + 1 0.0466000 1.0000000 +D 1 + 1 0.1960000 1.0000000 + +CARBON +S 9 + 1 0.051344 0.013991 + 2 0.102619 0.169852 + 3 0.205100 0.397529 + 4 0.409924 0.380369 + 5 0.819297 0.180113 + 6 1.637494 -0.033512 + 7 3.272791 -0.121499 + 8 6.541187 0.015176 + 9 13.073594 -0.000705 +S 1 + 1 0.127852 1.000000 +P 9 + 1 0.029281 0.001787 + 2 0.058547 0.050426 + 3 0.117063 0.191634 + 4 0.234064 0.302667 + 5 0.468003 0.289868 + 6 0.935757 0.210979 + 7 1.871016 0.112024 + 8 3.741035 0.054425 + 9 7.480076 0.021931 +P 1 + 1 0.149161 1.000000 +D 1 + 1 0.561160 1.000000 +S 1 + 1 0.0469000 1.0000000 +P 1 + 1 0.0404100 1.0000000 +D 1 + 1 0.1510000 1.0000000 + +OXYGEN +S 9 + 1 0.125346 0.055741 + 2 0.268022 0.304848 + 3 0.573098 0.453752 + 4 1.225429 0.295926 + 5 2.620277 0.019567 + 6 5.602818 -0.128627 + 7 11.980245 0.012024 + 8 25.616801 0.000407 + 9 54.775216 -0.000076 +S 1 + 1 0.258551 1.000000 +P 9 + 1 0.083598 0.044958 + 2 0.167017 0.150175 + 3 0.333673 0.255999 + 4 0.666627 0.281879 + 5 1.331816 0.242835 + 6 2.660761 0.161134 + 7 5.315785 0.082308 + 8 10.620108 0.039899 + 9 21.217318 0.004679 +P 1 + 1 0.267865 1.000000 +D 1 + 1 1.232753 1.000000 +S 1 + 1 0.0789600 1.0000000 +P 1 + 1 0.0685600 1.0000000 +D 1 + 1 0.3320000 1.0000000 + +KRYPTON +S 9 + 1 0.129911 0.183453 + 2 0.282220 0.596016 + 3 0.613098 0.506410 + 4 1.331901 -0.150926 + 5 2.893437 -0.423611 + 6 6.285735 0.162644 + 7 13.655203 -0.023284 + 8 29.664719 0.003157 + 9 64.443973 -0.000422 +S 1 + 1 0.634619 1.000000 +P 9 + 1 0.079314 0.096705 + 2 0.167216 0.312567 + 3 0.352539 0.448237 + 4 0.743252 0.298640 + 5 1.566988 -0.003641 + 6 3.303659 -0.138798 + 7 6.965055 0.029989 + 8 14.684325 -0.002578 + 9 30.958748 0.000205 +P 1 + 1 0.149902 1.000000 +D 1 + 1 0.487932 1.000000 +S 1 + 1 0.0651450 1.0000000 +P 1 + 1 0.0466060 1.0000000 +D 1 + 1 0.2155000 1.0000000 + +HYDROGEN +S 9 + 1 0.013000 0.000706 + 2 0.029900 -0.002119 + 3 0.068770 0.057693 + 4 0.158170 0.230695 + 5 0.363792 0.277612 + 6 0.836721 0.169833 + 7 1.924458 0.097443 + 8 4.426254 0.029966 + 9 10.180385 -0.000452 +S 1 + 1 0.170483 1.000000 +P 9 + 1 0.003000 0.001242 + 2 0.007800 -0.000913 + 3 0.020281 -0.000054 + 4 0.052730 -0.000238 + 5 0.137097 -0.011530 + 6 0.356451 -0.018235 + 7 0.926774 -0.013929 + 8 2.409612 -0.009395 + 9 6.264991 -0.000347 +S 1 + 1 0.0297400 1.0000000 +P 1 + 1 0.1410000 1.0000000 + +PHOSPHORUS +S 9 + 1 0.074718 0.140225 + 2 0.160834 0.506746 + 3 0.346202 0.499893 + 4 0.745215 0.037301 + 5 1.604109 -0.284591 + 6 3.452917 0.024766 + 7 7.432561 0.001798 + 8 15.998924 -0.000314 + 9 34.438408 0.000088 +S 1 + 1 0.077260 1.000000 +P 9 + 1 0.050242 0.072095 + 2 0.102391 0.278735 + 3 0.208669 0.411034 + 4 0.425256 0.304724 + 5 0.866651 0.091727 + 6 1.766191 -0.057060 + 7 3.599410 -0.005103 + 8 7.335418 0.000328 + 9 14.949217 -0.000046 +P 1 + 1 0.113433 1.000000 +D 1 + 1 0.390944 1.000000 +S 1 + 1 0.0417000 1.0000000 +P 1 + 1 0.0343000 1.0000000 +D 1 + 1 0.1130000 1.0000000 + +SILICON +S 9 + 1 0.059887 0.167492 + 2 0.130108 0.532550 + 3 0.282668 0.464290 + 4 0.614115 -0.002322 + 5 1.334205 -0.268234 + 6 2.898645 0.031921 + 7 6.297493 -0.000106 + 8 13.681707 -0.000145 + 9 29.724387 0.000067 +S 1 + 1 0.059803 1.000000 +P 9 + 1 0.036525 0.078761 + 2 0.076137 0.308331 + 3 0.158712 0.417773 + 4 0.330843 0.281676 + 5 0.689658 0.069876 + 6 1.437625 -0.056306 + 7 2.996797 0.000744 + 8 6.246966 -0.000259 + 9 13.022097 -0.000022 +P 1 + 1 0.081570 1.000000 +D 1 + 1 0.283626 1.000000 +S 1 + 1 0.0332000 1.0000000 +P 1 + 1 0.0250000 1.0000000 +D 1 + 1 0.0823000 1.0000000 + +ARGON +S 9 + 1 0.147347 0.155473 + 2 0.312164 0.494617 + 3 0.661339 0.526705 + 4 1.401090 0.021986 + 5 2.968301 -0.338533 + 6 6.288539 0.056023 + 7 13.322677 -0.000115 + 8 28.224956 -0.000595 + 9 59.796402 0.000127 +S 1 + 1 0.147526 1.000000 +P 9 + 1 0.090580 0.079101 + 2 0.188085 0.260718 + 3 0.390548 0.395065 + 4 0.810953 0.334954 + 5 1.683902 0.107462 + 6 3.496535 -0.073657 + 7 7.260371 -0.001407 + 8 15.075781 0.001710 + 9 31.304069 -0.000275 +P 1 + 1 0.211798 1.000000 +D 1 + 1 0.810888 1.000000 +S 1 + 1 0.0709000 1.0000000 +P 1 + 1 0.0533000 1.0000000 +D 1 + 1 0.2400000 1.0000000 + +SODIUM +S 9 + 1 0.013061 0.200118 + 2 0.030041 0.467652 + 3 0.069092 0.227738 + 4 0.158908 -0.061581 + 5 0.365481 -0.137533 + 6 0.840589 0.003323 + 7 1.933315 0.003741 + 8 4.446533 -0.001117 + 9 10.226816 0.000244 +S 1 + 1 0.865135 1.000000 +P 9 + 1 0.002593 -0.002840 + 2 0.006741 0.005340 + 3 0.017525 -0.025936 + 4 0.045563 -0.053466 + 5 0.118461 -0.053691 + 6 0.307987 0.014439 + 7 0.800738 0.006199 + 8 2.081847 -0.001026 + 9 5.412617 0.000168 +P 1 + 1 0.106025 1.000000 +D 1 + 1 0.050790 1.000000 +S 1 + 1 0.0072500 1.0000000 +P 1 + 1 0.0063300 1.0000000 +D 1 + 1 0.0468000 1.0000000 + +BERYLLIUM +S 9 + 1 0.030068 0.025105 + 2 0.054002 0.178890 + 3 0.096986 0.263939 + 4 0.174186 0.435946 + 5 0.312836 -0.008188 + 6 0.561850 0.049509 + 7 1.009077 -0.114576 + 8 1.812290 -0.067207 + 9 3.254852 0.017250 +S 1 + 1 0.239392 1.000000 +P 9 + 1 0.015064 0.735052 + 2 0.028584 -0.476214 + 3 0.054236 0.564806 + 4 0.102911 -0.108575 + 5 0.195269 0.233862 + 6 0.370513 -0.009003 + 7 0.703030 0.067510 + 8 1.333967 -0.002868 + 9 2.531139 0.017869 +P 1 + 1 0.222969 1.000000 +D 1 + 1 0.217340 1.000000 +S 1 + 1 0.0187700 1.0000000 +P 1 + 1 0.0085000 1.0000000 +D 1 + 1 0.0740000 1.0000000 + +SELENIUM +S 9 + 1 0.096883 0.200965 + 2 0.217674 0.615093 + 3 0.489067 0.462636 + 4 1.098828 -0.204179 + 5 2.468828 -0.307584 + 6 5.546920 0.109895 + 7 12.462726 -0.012288 + 8 28.001040 0.001205 + 9 62.912258 -0.000132 +S 1 + 1 0.062467 1.000000 +P 9 + 1 0.056147 0.073504 + 2 0.122259 0.334692 + 3 0.266220 0.473323 + 4 0.579694 0.276571 + 5 1.262286 -0.032356 + 6 2.748631 -0.103709 + 7 5.985152 0.020181 + 8 13.032685 -0.001095 + 9 28.378708 0.000019 +P 1 + 1 0.107381 1.000000 +D 1 + 1 0.348649 1.000000 +S 1 + 1 0.0487470 1.0000000 +P 1 + 1 0.0354920 1.0000000 +D 1 + 1 0.1283000 1.0000000 + +SULFUR +S 9 + 1 0.095120 0.140074 + 2 0.202385 0.490942 + 3 0.430611 0.515297 + 4 0.916203 0.050320 + 5 1.949388 -0.298908 + 6 4.147674 0.019827 + 7 8.824926 0.007266 + 8 18.776623 -0.001602 + 9 39.950656 0.000271 +S 1 + 1 0.098454 1.000000 +P 9 + 1 0.057087 0.081938 + 2 0.115901 0.251826 + 3 0.235305 0.376344 + 4 0.477723 0.320902 + 5 0.969889 0.143779 + 6 1.969099 -0.045543 + 7 3.997726 -0.017191 + 8 8.116307 0.002580 + 9 16.477979 -0.000222 +P 1 + 1 0.128926 1.000000 +D 1 + 1 0.514135 1.000000 +S 1 + 1 0.0507000 1.0000000 +P 1 + 1 0.0399000 1.0000000 +D 1 + 1 0.1520000 1.0000000 + +HELIUM +S 9 + 1 0.077786 0.012425 + 2 0.161528 0.128251 + 3 0.335425 0.282221 + 4 0.696535 0.292427 + 5 1.446408 0.215025 + 6 3.003576 0.125450 + 7 6.237154 0.064912 + 8 12.951926 0.038892 + 9 26.895662 0.002531 +S 1 + 1 0.321750 1.000000 +P 8 + 1 0.228528 -0.000116 + 2 0.422019 2.116950 + 3 0.779333 -2.182954 + 4 1.439180 1.545850 + 5 2.657706 -0.879477 + 6 4.907934 0.469710 + 7 9.063386 -0.224631 + 8 16.737180 0.098422 +S 1 + 1 0.0725500 1.0000000 +P 1 + 1 0.2473000 1.0000000 + + diff --git a/data/basis/avqz-bfd b/data/basis/avqz-bfd new file mode 100644 index 00000000..7a3b35d2 --- /dev/null +++ b/data/basis/avqz-bfd @@ -0,0 +1,988 @@ +LITHIUM +S 9 + 1 0.010125 0.007841 + 2 0.023437 0.258118 + 3 0.054251 0.423307 + 4 0.125581 0.167825 + 5 0.290697 -0.068332 + 6 0.672909 -0.119269 + 7 1.557659 0.007736 + 8 3.605689 0.003630 + 9 8.346494 -0.000646 +S 1 + 1 0.024834 1.000000 +S 1 + 1 0.109770 1.000000 +S 1 + 1 0.519693 1.000000 +P 9 + 1 0.018300 -0.005906 + 2 0.031699 -0.031422 + 3 0.054908 -0.043628 + 4 0.095111 -0.016781 + 5 0.164751 -0.078594 + 6 0.285379 0.015562 + 7 0.494330 -0.030830 + 8 0.856273 0.006185 + 9 1.483225 -0.008621 +P 1 + 1 0.070662 1.000000 +P 1 + 1 0.115823 1.000000 +P 1 + 1 0.207505 1.000000 +D 1 + 1 0.029817 1.000000 +D 1 + 1 0.089353 1.000000 +D 1 + 1 0.214990 1.000000 +F 1 + 1 0.099930 1.000000 +F 1 + 1 0.240323 1.000000 +G 1 + 1 0.199570 1.000000 +S 1 + 1 0.0063600 1.0000000 +P 1 + 1 0.0075600 1.0000000 +D 1 + 1 0.0266000 1.0000000 +F 1 + 1 0.0552000 1.0000000 +G 1 + 1 0.1050000 1.0000000 + +NEON +S 9 + 1 0.205835 0.057514 + 2 0.391384 0.215776 + 3 0.744196 0.374799 + 4 1.415048 0.326313 + 5 2.690638 0.166383 + 6 5.116103 -0.039149 + 7 9.727994 -0.085909 + 8 18.497256 0.006816 + 9 35.171534 0.000206 +S 1 + 1 0.399186 1.000000 +S 1 + 1 1.658402 1.000000 +S 1 + 1 2.261159 1.000000 +P 9 + 1 0.121772 0.029943 + 2 0.238248 0.114200 + 3 0.466136 0.219618 + 4 0.912002 0.268864 + 5 1.784344 0.256932 + 6 3.491095 0.191378 + 7 6.830378 0.112176 + 8 13.363732 0.063317 + 9 26.146332 0.008057 +P 1 + 1 0.245215 1.000000 +P 1 + 1 0.757342 1.000000 +P 1 + 1 1.938376 1.000000 +D 1 + 1 0.738131 1.000000 +D 1 + 1 2.188751 1.000000 +D 1 + 1 6.170224 1.000000 +F 1 + 1 1.589986 1.000000 +F 1 + 1 4.849402 1.000000 +G 1 + 1 3.228793 1.000000 +S 1 + 1 0.1054000 1.0000000 +P 1 + 1 0.0817800 1.0000000 +D 1 + 1 0.2730000 1.0000000 +F 1 + 1 0.6890000 1.0000000 +G 1 + 1 1.2240000 1.0000000 + +BORON +S 9 + 1 0.040569 0.032031 + 2 0.081044 0.243317 + 3 0.161898 0.434636 + 4 0.323418 0.329581 + 5 0.646080 0.111875 + 6 1.290648 -0.078699 + 7 2.578276 -0.098781 + 8 5.150520 0.016164 + 9 10.288990 -0.000016 +S 1 + 1 0.082968 1.000000 +S 1 + 1 0.305133 1.000000 +S 1 + 1 0.422217 1.000000 +P 9 + 1 0.029207 0.019909 + 2 0.058408 0.141775 + 3 0.116803 0.294463 + 4 0.233582 0.309028 + 5 0.467115 0.236378 + 6 0.934132 0.131317 + 7 1.868068 0.066454 + 8 3.735743 0.021248 + 9 7.470701 0.002837 +P 1 + 1 0.066445 1.000000 +P 1 + 1 0.196614 1.000000 +P 1 + 1 0.447031 1.000000 +D 1 + 1 0.149100 1.000000 +D 1 + 1 0.410733 1.000000 +D 1 + 1 1.142614 1.000000 +F 1 + 1 0.315902 1.000000 +F 1 + 1 0.870011 1.000000 +G 1 + 1 0.710746 1.000000 +S 1 + 1 0.0272100 1.0000000 +P 1 + 1 0.0187800 1.0000000 +D 1 + 1 0.0466000 1.0000000 +F 1 + 1 0.1130000 1.0000000 +G 1 + 1 0.2730000 1.0000000 + +ALUMINUM +S 9 + 1 0.045518 0.206193 + 2 0.100308 0.559887 + 3 0.221051 0.407852 + 4 0.487132 -0.041098 + 5 1.073500 -0.238652 + 6 2.365686 0.038132 + 7 5.213294 -0.003935 + 8 11.488606 0.000470 + 9 25.317597 -0.000014 +S 1 + 1 0.058688 1.000000 +S 1 + 1 0.150215 1.000000 +S 1 + 1 0.324193 1.000000 +P 9 + 1 0.014848 0.009932 + 2 0.030967 0.160212 + 3 0.064586 0.389171 + 4 0.134700 0.373235 + 5 0.280932 0.195800 + 6 0.585913 0.022947 + 7 1.221985 -0.053293 + 8 2.548578 0.004846 + 9 5.315330 -0.000726 +P 1 + 1 0.034866 1.000000 +P 1 + 1 0.403929 1.000000 +P 1 + 1 0.084117 1.000000 +D 1 + 1 0.092392 1.000000 +D 1 + 1 0.245212 1.000000 +D 1 + 1 0.726318 1.000000 +F 1 + 1 0.160909 1.000000 +F 1 + 1 0.409285 1.000000 +G 1 + 1 0.352027 1.000000 +S 1 + 1 0.0183000 1.0000000 +P 1 + 1 0.0121000 1.0000000 +D 1 + 1 0.0282000 1.0000000 +F 1 + 1 0.0582000 1.0000000 +G 1 + 1 0.1530000 1.0000000 + +MAGNESIUM +S 9 + 1 0.030975 0.165290 + 2 0.062959 0.506272 + 3 0.127970 0.333197 + 4 0.260111 0.057482 + 5 0.528700 -0.137614 + 6 1.074630 -0.135378 + 7 2.184285 0.048310 + 8 4.439759 -0.005312 + 9 9.024217 0.000465 +S 1 + 1 0.023378 1.000000 +S 1 + 1 0.188141 1.000000 +S 1 + 1 0.616205 1.000000 +P 9 + 1 0.047055 1.502038 + 2 0.083253 -1.433944 + 3 0.147298 1.318987 + 4 0.260611 -0.741124 + 5 0.461094 0.436300 + 6 0.815803 -0.243798 + 7 1.443383 0.086774 + 8 2.553745 -0.028677 + 9 4.518286 0.006085 +P 1 + 1 0.089167 1.000000 +P 1 + 1 0.209210 1.000000 +P 1 + 1 0.846859 1.000000 +D 1 + 1 0.095526 1.000000 +D 1 + 1 0.734089 1.000000 +D 1 + 1 0.233222 1.000000 +F 1 + 1 0.127025 1.000000 +F 1 + 1 0.304907 1.000000 +G 1 + 1 0.192272 1.000000 +S 1 + 1 0.0123900 1.0000000 +P 1 + 1 0.0070600 1.0000000 +D 1 + 1 0.0382000 1.0000000 +F 1 + 1 0.0700000 1.0000000 +G 1 + 1 0.1480000 1.0000000 + +NITROGEN +S 9 + 1 0.098869 0.067266 + 2 0.211443 0.334290 + 3 0.452197 0.454257 + 4 0.967080 0.267861 + 5 2.068221 0.000248 + 6 4.423150 -0.132606 + 7 9.459462 0.014437 + 8 20.230246 0.000359 + 9 43.264919 -0.000094 +S 1 + 1 0.135764 1.000000 +S 1 + 1 0.310826 1.000000 +S 1 + 1 1.625001 1.000000 +P 9 + 1 0.073234 0.035758 + 2 0.145867 0.153945 + 3 0.290535 0.277656 + 4 0.578683 0.297676 + 5 1.152612 0.234403 + 6 2.295756 0.140321 + 7 4.572652 0.067219 + 8 9.107739 0.031594 + 9 18.140657 0.003301 +P 1 + 1 0.140736 1.000000 +P 1 + 1 0.413103 1.000000 +P 1 + 1 1.020750 1.000000 +D 1 + 1 0.346233 1.000000 +D 1 + 1 1.009895 1.000000 +D 1 + 1 3.028459 1.000000 +F 1 + 1 0.691129 1.000000 +F 1 + 1 2.024747 1.000000 +G 1 + 1 1.357512 1.000000 +S 1 + 1 0.0546400 1.0000000 +P 1 + 1 0.0440200 1.0000000 +D 1 + 1 0.1110000 1.0000000 +F 1 + 1 0.2450000 1.0000000 +G 1 + 1 0.5590000 1.0000000 + +FLUORINE +S 9 + 1 0.172723 0.070240 + 2 0.364875 0.311088 + 3 0.770795 0.444675 + 4 1.628295 0.287011 + 5 3.439757 0.018759 + 6 7.266451 -0.128608 + 7 15.350300 0.009104 + 8 32.427348 0.000810 + 9 68.502433 -0.000133 +S 1 + 1 0.294345 1.000000 +S 1 + 1 1.048013 1.000000 +S 1 + 1 1.705653 1.000000 +P 9 + 1 0.101001 0.035321 + 2 0.204414 0.136924 + 3 0.413707 0.249353 + 4 0.837289 0.286620 + 5 1.694565 0.254541 + 6 3.429580 0.169572 + 7 6.941026 0.088542 + 8 14.047737 0.039843 + 9 28.430799 0.003378 +P 1 + 1 0.205806 1.000000 +P 1 + 1 0.647240 1.000000 +P 1 + 1 1.650688 1.000000 +D 1 + 1 0.587354 1.000000 +D 1 + 1 1.724392 1.000000 +D 1 + 1 4.998085 1.000000 +F 1 + 1 1.178147 1.000000 +F 1 + 1 3.694285 1.000000 +G 1 + 1 2.406583 1.000000 +S 1 + 1 0.0859400 1.0000000 +P 1 + 1 0.0656800 1.0000000 +D 1 + 1 0.2070000 1.0000000 +F 1 + 1 0.4600000 1.0000000 +G 1 + 1 0.9240000 1.0000000 + +CHLORINE +S 9 + 1 0.119944 0.148917 + 2 0.257348 0.503616 + 3 0.552157 0.523995 + 4 1.184691 0.013612 + 5 2.541836 -0.328846 + 6 5.453681 0.056309 + 7 11.701243 -0.001301 + 8 25.105812 -0.000294 + 9 53.866226 0.000076 +S 1 + 1 0.161594 1.000000 +S 1 + 1 0.440111 1.000000 +S 1 + 1 0.848928 1.000000 +P 9 + 1 0.074374 0.084925 + 2 0.155084 0.270658 + 3 0.323378 0.396022 + 4 0.674303 0.324325 + 5 1.406043 0.100661 + 6 2.931855 -0.069802 + 7 6.113450 -0.000951 + 8 12.747651 0.001501 + 9 26.581165 -0.000249 +P 1 + 1 0.111309 1.000000 +P 1 + 1 1.286881 1.000000 +P 1 + 1 0.289403 1.000000 +D 1 + 1 0.253063 1.000000 +D 1 + 1 0.642589 1.000000 +D 1 + 1 1.654717 1.000000 +F 1 + 1 0.448175 1.000000 +F 1 + 1 1.189807 1.000000 +G 1 + 1 0.848307 1.000000 +S 1 + 1 0.0519000 1.0000000 +P 1 + 1 0.0376000 1.0000000 +D 1 + 1 0.0952000 1.0000000 +F 1 + 1 0.2170000 1.0000000 +G 1 + 1 0.3780000 1.0000000 + +CARBON +S 9 + 1 0.051344 0.013991 + 2 0.102619 0.169852 + 3 0.205100 0.397529 + 4 0.409924 0.380369 + 5 0.819297 0.180113 + 6 1.637494 -0.033512 + 7 3.272791 -0.121499 + 8 6.541187 0.015176 + 9 13.073594 -0.000705 +S 1 + 1 0.109576 1.000000 +S 1 + 1 0.846879 1.000000 +S 1 + 1 0.269659 1.000000 +P 9 + 1 0.029281 0.001787 + 2 0.058547 0.050426 + 3 0.117063 0.191634 + 4 0.234064 0.302667 + 5 0.468003 0.289868 + 6 0.935757 0.210979 + 7 1.871016 0.112024 + 8 3.741035 0.054425 + 9 7.480076 0.021931 +P 1 + 1 0.105389 1.000000 +P 1 + 1 0.313254 1.000000 +P 1 + 1 0.804681 1.000000 +D 1 + 1 0.240171 1.000000 +D 1 + 1 0.684884 1.000000 +D 1 + 1 2.013760 1.000000 +F 1 + 1 0.457302 1.000000 +F 1 + 1 1.324930 1.000000 +G 1 + 1 1.034180 1.000000 +S 1 + 1 0.0414500 1.0000000 +P 1 + 1 0.0321800 1.0000000 +D 1 + 1 0.0766000 1.0000000 +F 1 + 1 0.1870000 1.0000000 +G 1 + 1 0.4240000 1.0000000 + +OXYGEN +S 9 + 1 0.125346 0.055741 + 2 0.268022 0.304848 + 3 0.573098 0.453752 + 4 1.225429 0.295926 + 5 2.620277 0.019567 + 6 5.602818 -0.128627 + 7 11.980245 0.012024 + 8 25.616801 0.000407 + 9 54.775216 -0.000076 +S 1 + 1 0.224380 1.000000 +S 1 + 1 0.843157 1.000000 +S 1 + 1 1.351771 1.000000 +P 9 + 1 0.083598 0.044958 + 2 0.167017 0.150175 + 3 0.333673 0.255999 + 4 0.666627 0.281879 + 5 1.331816 0.242835 + 6 2.660761 0.161134 + 7 5.315785 0.082308 + 8 10.620108 0.039899 + 9 21.217318 0.004679 +P 1 + 1 0.148562 1.000000 +P 1 + 1 0.452364 1.000000 +P 1 + 1 1.106737 1.000000 +D 1 + 1 0.455711 1.000000 +D 1 + 1 1.344331 1.000000 +D 1 + 1 4.008867 1.000000 +F 1 + 1 0.876289 1.000000 +F 1 + 1 2.763115 1.000000 +G 1 + 1 1.759081 1.000000 +S 1 + 1 0.0695900 1.0000000 +P 1 + 1 0.0534800 1.0000000 +D 1 + 1 0.1540000 1.0000000 +F 1 + 1 0.3240000 1.0000000 +G 1 + 1 0.7140000 1.0000000 + +HYDROGEN +S 9 + 1 0.013000 0.000706 + 2 0.029900 -0.002119 + 3 0.068770 0.057693 + 4 0.158170 0.230695 + 5 0.363792 0.277612 + 6 0.836721 0.169833 + 7 1.924458 0.097443 + 8 4.426254 0.029966 + 9 10.180385 -0.000452 +S 1 + 1 0.120599 1.000000 +S 1 + 1 0.404783 1.000000 +S 1 + 1 0.715129 1.000000 +P 9 + 1 0.003000 0.001242 + 2 0.007800 -0.000913 + 3 0.020281 -0.000054 + 4 0.052730 -0.000238 + 5 0.137097 -0.011530 + 6 0.356451 -0.018235 + 7 0.926774 -0.013929 + 8 2.409612 -0.009395 + 9 6.264991 -0.000347 +P 1 + 1 0.774536 1.000000 +P 1 + 1 0.263038 1.000000 +D 1 + 1 2.315883 1.000000 +D 1 + 1 0.636656 1.000000 +F 1 + 1 1.130819 1.000000 +S 1 + 1 0.0236300 1.0000000 +P 1 + 1 0.0848000 1.0000000 +D 1 + 1 0.1900000 1.0000000 +F 1 + 1 0.3600000 1.0000000 + +PHOSPHORUS +S 9 + 1 0.074718 0.140225 + 2 0.160834 0.506746 + 3 0.346202 0.499893 + 4 0.745215 0.037301 + 5 1.604109 -0.284591 + 6 3.452917 0.024766 + 7 7.432561 0.001798 + 8 15.998924 -0.000314 + 9 34.438408 0.000088 +S 1 + 1 0.098851 1.000000 +S 1 + 1 0.255593 1.000000 +S 1 + 1 0.546057 1.000000 +P 9 + 1 0.050242 0.072095 + 2 0.102391 0.278735 + 3 0.208669 0.411034 + 4 0.425256 0.304724 + 5 0.866651 0.091727 + 6 1.766191 -0.057060 + 7 3.599410 -0.005103 + 8 7.335418 0.000328 + 9 14.949217 -0.000046 +P 1 + 1 0.074522 1.000000 +P 1 + 1 0.764539 1.000000 +P 1 + 1 0.182211 1.000000 +D 1 + 1 0.186505 1.000000 +D 1 + 1 0.502400 1.000000 +D 1 + 1 1.576445 1.000000 +F 1 + 1 0.280702 1.000000 +F 1 + 1 0.719161 1.000000 +G 1 + 1 0.599144 1.000000 +S 1 + 1 0.0354000 1.0000000 +P 1 + 1 0.0272000 1.0000000 +D 1 + 1 0.0594000 1.0000000 +F 1 + 1 0.1090000 1.0000000 +G 1 + 1 0.2500000 1.0000000 + +SILICON +S 9 + 1 0.059887 0.167492 + 2 0.130108 0.532550 + 3 0.282668 0.464290 + 4 0.614115 -0.002322 + 5 1.334205 -0.268234 + 6 2.898645 0.031921 + 7 6.297493 -0.000106 + 8 13.681707 -0.000145 + 9 29.724387 0.000067 +S 1 + 1 0.079900 1.000000 +S 1 + 1 0.206024 1.000000 +S 1 + 1 0.435017 1.000000 +P 9 + 1 0.036525 0.078761 + 2 0.076137 0.308331 + 3 0.158712 0.417773 + 4 0.330843 0.281676 + 5 0.689658 0.069876 + 6 1.437625 -0.056306 + 7 2.996797 0.000744 + 8 6.246966 -0.000259 + 9 13.022097 -0.000022 +P 1 + 1 0.054575 1.000000 +P 1 + 1 0.599112 1.000000 +P 1 + 1 0.134681 1.000000 +D 1 + 1 0.133118 1.000000 +D 1 + 1 0.350967 1.000000 +D 1 + 1 1.063961 1.000000 +F 1 + 1 0.211319 1.000000 +F 1 + 1 0.535932 1.000000 +G 1 + 1 0.465365 1.000000 +S 1 + 1 0.0275000 1.0000000 +P 1 + 1 0.0200000 1.0000000 +D 1 + 1 0.0435000 1.0000000 +F 1 + 1 0.0846000 1.0000000 +G 1 + 1 0.2120000 1.0000000 + +ARGON +S 9 + 1 0.147347 0.155473 + 2 0.312164 0.494617 + 3 0.661339 0.526705 + 4 1.401090 0.021986 + 5 2.968301 -0.338533 + 6 6.288539 0.056023 + 7 13.322677 -0.000115 + 8 28.224956 -0.000595 + 9 59.796402 0.000127 +S 1 + 1 0.196024 1.000000 +S 1 + 1 0.540061 1.000000 +S 1 + 1 1.020348 1.000000 +P 9 + 1 0.090580 0.079101 + 2 0.188085 0.260718 + 3 0.390548 0.395065 + 4 0.810953 0.334954 + 5 1.683902 0.107462 + 6 3.496535 -0.073657 + 7 7.260371 -0.001407 + 8 15.075781 0.001710 + 9 31.304069 -0.000275 +P 1 + 1 0.140701 1.000000 +P 1 + 1 1.604300 1.000000 +P 1 + 1 0.367738 1.000000 +D 1 + 1 0.304103 1.000000 +D 1 + 1 0.760464 1.000000 +D 1 + 1 1.900944 1.000000 +F 1 + 1 0.583628 1.000000 +F 1 + 1 1.480507 1.000000 +G 1 + 1 1.030824 1.000000 +S 1 + 1 0.0610000 1.0000000 +P 1 + 1 0.0435000 1.0000000 +D 1 + 1 0.1160000 1.0000000 +F 1 + 1 0.2940000 1.0000000 +G 1 + 1 0.4590000 1.0000000 + +SODIUM +S 9 + 1 0.013061 0.200118 + 2 0.030041 0.467652 + 3 0.069092 0.227738 + 4 0.158908 -0.061581 + 5 0.365481 -0.137533 + 6 0.840589 0.003323 + 7 1.933315 0.003741 + 8 4.446533 -0.001117 + 9 10.226816 0.000244 +S 1 + 1 0.064915 1.000000 +S 1 + 1 1.134458 1.000000 +S 1 + 1 0.771046 1.000000 +P 9 + 1 0.002593 -0.002840 + 2 0.006741 0.005340 + 3 0.017525 -0.025936 + 4 0.045563 -0.053466 + 5 0.118461 -0.053691 + 6 0.307987 0.014439 + 7 0.800738 0.006199 + 8 2.081847 -0.001026 + 9 5.412617 0.000168 +P 1 + 1 0.059662 1.000000 +P 1 + 1 0.096714 1.000000 +P 1 + 1 0.552976 1.000000 +D 1 + 1 0.046917 1.000000 +D 1 + 1 0.813868 1.000000 +D 1 + 1 0.127780 1.000000 +F 1 + 1 0.129992 1.000000 +F 1 + 1 0.626429 1.000000 +G 1 + 1 0.588778 1.000000 +S 1 + 1 0.0050300 1.0000000 +P 1 + 1 0.0077200 1.0000000 +D 1 + 1 0.0210000 1.0000000 +F 1 + 1 0.0453000 1.0000000 +G 1 + 1 0.0866000 1.0000000 + +BERYLLIUM +S 9 + 1 0.030068 0.025105 + 2 0.054002 0.178890 + 3 0.096986 0.263939 + 4 0.174186 0.435946 + 5 0.312836 -0.008188 + 6 0.561850 0.049509 + 7 1.009077 -0.114576 + 8 1.812290 -0.067207 + 9 3.254852 0.017250 +S 1 + 1 0.012287 1.000000 +S 1 + 1 0.175341 1.000000 +S 1 + 1 1.244398 1.000000 +P 9 + 1 0.015064 0.735052 + 2 0.028584 -0.476214 + 3 0.054236 0.564806 + 4 0.102911 -0.108575 + 5 0.195269 0.233862 + 6 0.370513 -0.009003 + 7 0.703030 0.067510 + 8 1.333967 -0.002868 + 9 2.531139 0.017869 +P 1 + 1 0.317061 1.000000 +P 1 + 1 1.585739 1.000000 +P 1 + 1 0.108346 1.000000 +D 1 + 1 0.125228 1.000000 +D 1 + 1 0.801065 1.000000 +D 1 + 1 0.301656 1.000000 +F 1 + 1 0.153439 1.000000 +F 1 + 1 0.377536 1.000000 +G 1 + 1 0.338801 1.000000 +S 1 + 1 0.0143900 1.0000000 +P 1 + 1 0.0065000 1.0000000 +D 1 + 1 0.0554000 1.0000000 +F 1 + 1 0.0930000 1.0000000 +G 1 + 1 0.1834000 1.0000000 + +SULFUR +S 9 + 1 0.095120 0.140074 + 2 0.202385 0.490942 + 3 0.430611 0.515297 + 4 0.916203 0.050320 + 5 1.949388 -0.298908 + 6 4.147674 0.019827 + 7 8.824926 0.007266 + 8 18.776623 -0.001602 + 9 39.950656 0.000271 +S 1 + 1 0.123759 1.000000 +S 1 + 1 0.315587 1.000000 +S 1 + 1 0.651905 1.000000 +P 9 + 1 0.057087 0.081938 + 2 0.115901 0.251826 + 3 0.235305 0.376344 + 4 0.477723 0.320902 + 5 0.969889 0.143779 + 6 1.969099 -0.045543 + 7 3.997726 -0.017191 + 8 8.116307 0.002580 + 9 16.477979 -0.000222 +P 1 + 1 0.078717 1.000000 +P 1 + 1 0.202707 1.000000 +P 1 + 1 0.301333 1.000000 +D 1 + 1 0.215701 1.000000 +D 1 + 1 0.560638 1.000000 +D 1 + 1 1.588204 1.000000 +F 1 + 1 0.356554 1.000000 +F 1 + 1 0.961826 1.000000 +G 1 + 1 0.694803 1.000000 +S 1 + 1 0.0428000 1.0000000 +P 1 + 1 0.0317000 1.0000000 +D 1 + 1 0.0748000 1.0000000 +F 1 + 1 0.1400000 1.0000000 +G 1 + 1 0.2970000 1.0000000 + +HELIUM +S 9 + 1 0.077786 0.012425 + 2 0.161528 0.128251 + 3 0.335425 0.282221 + 4 0.696535 0.292427 + 5 1.446408 0.215025 + 6 3.003576 0.125450 + 7 6.237154 0.064912 + 8 12.951926 0.038892 + 9 26.895662 0.002531 +S 1 + 1 0.937228 1.000000 +S 1 + 1 1.223567 1.000000 +S 1 + 1 0.229163 1.000000 +P 8 + 1 0.228528 -0.000116 + 2 0.422019 2.116950 + 3 0.779333 -2.182954 + 4 1.439180 1.545850 + 5 2.657706 -0.879477 + 6 4.907934 0.469710 + 7 9.063386 -0.224631 + 8 16.737180 0.098422 +P 1 + 1 3.888767 1.000000 +P 1 + 1 1.015492 1.000000 +D 1 + 1 0.939402 1.000000 +D 1 + 1 3.054371 1.000000 +F 1 + 1 1.021427 1.000000 +S 1 + 1 0.0481900 1.0000000 +P 1 + 1 0.1626000 1.0000000 +D 1 + 1 0.3510000 1.0000000 +F 1 + 1 0.6906000 1.0000000 + + diff --git a/data/basis/avtz-bfd b/data/basis/avtz-bfd new file mode 100644 index 00000000..5374d00f --- /dev/null +++ b/data/basis/avtz-bfd @@ -0,0 +1,1038 @@ +ARSENIC +S 9 + 1 0.079412 0.192043 + 2 0.178687 0.611682 + 3 0.402068 0.439261 + 4 0.904702 -0.110280 + 5 2.035691 -0.394179 + 6 4.580555 0.145632 + 7 10.306811 -0.021379 + 8 23.191593 0.003205 + 9 52.183937 -0.000469 +S 1 + 1 0.113088 1.000000 +S 1 + 1 0.540159 1.000000 +P 9 + 1 0.050626 0.105058 + 2 0.108692 0.361819 + 3 0.233354 0.452107 + 4 0.500995 0.231243 + 5 1.075603 -0.009549 + 6 2.309248 -0.121767 + 7 4.957802 0.028648 + 8 10.644071 -0.002941 + 9 22.852115 0.000293 +P 1 + 1 0.612326 1.000000 +P 1 + 1 0.100851 1.000000 +D 1 + 1 0.165790 1.000000 +D 1 + 1 0.412063 1.000000 +F 1 + 1 0.425290 1.000000 +S 1 + 1 0.0334070 1.0000000 +P 1 + 1 0.0267990 1.0000000 +D 1 + 1 0.0700000 1.0000000 +F 1 + 1 0.1690000 1.0000000 + +LITHIUM +S 9 + 1 0.010125 0.007841 + 2 0.023437 0.258118 + 3 0.054251 0.423307 + 4 0.125581 0.167825 + 5 0.290697 -0.068332 + 6 0.672909 -0.119269 + 7 1.557659 0.007736 + 8 3.605689 0.003630 + 9 8.346494 -0.000646 +S 1 + 1 0.026170 1.000000 +S 1 + 1 0.132259 1.000000 +P 9 + 1 0.018300 -0.005906 + 2 0.031699 -0.031422 + 3 0.054908 -0.043628 + 4 0.095111 -0.016781 + 5 0.164751 -0.078594 + 6 0.285379 0.015562 + 7 0.494330 -0.030830 + 8 0.856273 0.006185 + 9 1.483225 -0.008621 +P 1 + 1 0.052959 1.000000 +P 1 + 1 0.110075 1.000000 +D 1 + 1 0.067795 1.000000 +D 1 + 1 0.177140 1.000000 +F 1 + 1 0.180758 1.000000 +S 1 + 1 0.0076000 1.0000000 +P 1 + 1 0.0091000 1.0000000 +D 1 + 1 0.0371000 1.0000000 +F 1 + 1 0.0816000 1.0000000 + +GERMANIUM +S 9 + 1 0.066287 0.213230 + 2 0.150128 0.605570 + 3 0.340013 0.413442 + 4 0.770064 -0.106356 + 5 1.744049 -0.364579 + 6 3.949940 0.127448 + 7 8.945864 -0.017166 + 8 20.260687 0.002454 + 9 45.886614 -0.000355 +S 1 + 1 0.091049 1.000000 +S 1 + 1 0.445676 1.000000 +P 9 + 1 0.036511 0.098680 + 2 0.080524 0.372290 + 3 0.177593 0.443836 + 4 0.391677 0.232585 + 5 0.863832 0.000058 + 6 1.905157 -0.108282 + 7 4.201772 0.021894 + 8 9.266892 -0.001911 + 9 20.437873 0.000181 +P 1 + 1 0.040412 1.000000 +P 1 + 1 0.092450 1.000000 +D 1 + 1 0.130147 1.000000 +D 1 + 1 0.323826 1.000000 +F 1 + 1 0.352814 1.000000 +S 1 + 1 0.0273700 1.0000000 +P 1 + 1 0.0213680 1.0000000 +D 1 + 1 0.0528000 1.0000000 +F 1 + 1 0.1323000 1.0000000 + +NEON +S 9 + 1 0.205835 0.057514 + 2 0.391384 0.215776 + 3 0.744196 0.374799 + 4 1.415048 0.326313 + 5 2.690638 0.166383 + 6 5.116103 -0.039149 + 7 9.727994 -0.085909 + 8 18.497256 0.006816 + 9 35.171534 0.000206 +S 1 + 1 0.317767 1.000000 +S 1 + 1 0.534557 1.000000 +P 9 + 1 0.121772 0.029943 + 2 0.238248 0.114200 + 3 0.466136 0.219618 + 4 0.912002 0.268864 + 5 1.784344 0.256932 + 6 3.491095 0.191378 + 7 6.830378 0.112176 + 8 13.363732 0.063317 + 9 26.146332 0.008057 +P 1 + 1 0.294665 1.000000 +P 1 + 1 0.962126 1.000000 +D 1 + 1 1.134063 1.000000 +D 1 + 1 4.161437 1.000000 +F 1 + 1 2.556751 1.000000 +S 1 + 1 0.1133000 1.0000000 +P 1 + 1 0.0917500 1.0000000 +D 1 + 1 0.3860000 1.0000000 +F 1 + 1 1.0840000 1.0000000 + +BORON +S 9 + 1 0.040569 0.032031 + 2 0.081044 0.243317 + 3 0.161898 0.434636 + 4 0.323418 0.329581 + 5 0.646080 0.111875 + 6 1.290648 -0.078699 + 7 2.578276 -0.098781 + 8 5.150520 0.016164 + 9 10.288990 -0.000016 +S 1 + 1 0.626026 1.000000 +S 1 + 1 0.092094 1.000000 +P 9 + 1 0.029207 0.019909 + 2 0.058408 0.141775 + 3 0.116803 0.294463 + 4 0.233582 0.309028 + 5 0.467115 0.236378 + 6 0.934132 0.131317 + 7 1.868068 0.066454 + 8 3.735743 0.021248 + 9 7.470701 0.002837 +P 1 + 1 0.082056 1.000000 +P 1 + 1 0.235016 1.000000 +D 1 + 1 0.207316 1.000000 +D 1 + 1 0.699153 1.000000 +F 1 + 1 0.478872 1.000000 +S 1 + 1 0.0291400 1.0000000 +P 1 + 1 0.0209600 1.0000000 +D 1 + 1 0.0604000 1.0000000 +F 1 + 1 0.1630000 1.0000000 + +GALLIUM +S 9 + 1 0.054628 0.253171 + 2 0.123743 0.598295 + 3 0.280299 0.356909 + 4 0.634926 -0.056544 + 5 1.438218 -0.411266 + 6 3.257814 0.156079 + 7 7.379514 -0.025142 + 8 16.715879 0.004089 + 9 37.864367 -0.000622 +S 1 + 1 0.069703 1.000000 +S 1 + 1 0.341994 1.000000 +P 9 + 1 0.029207 0.759400 + 2 0.064420 -0.022059 + 3 0.142086 0.368252 + 4 0.313389 0.051142 + 5 0.691221 0.036655 + 6 1.524577 -0.078589 + 7 3.362652 0.017781 + 8 7.416764 -0.002498 + 9 16.358632 0.000386 +P 1 + 1 0.027309 1.000000 +P 1 + 1 0.064029 1.000000 +D 1 + 1 0.105092 1.000000 +D 1 + 1 0.266379 1.000000 +F 1 + 1 0.297554 1.000000 +S 1 + 1 0.0143980 1.0000000 +P 1 + 1 0.0193000 1.0000000 +D 1 + 1 0.0387000 1.0000000 +F 1 + 1 0.0980000 1.0000000 + +ALUMINUM +S 9 + 1 0.045518 0.206193 + 2 0.100308 0.559887 + 3 0.221051 0.407852 + 4 0.487132 -0.041098 + 5 1.073500 -0.238652 + 6 2.365686 0.038132 + 7 5.213294 -0.003935 + 8 11.488606 0.000470 + 9 25.317597 -0.000014 +S 1 + 1 0.064303 1.000000 +S 1 + 1 0.371009 1.000000 +P 9 + 1 0.014848 0.009932 + 2 0.030967 0.160212 + 3 0.064586 0.389171 + 4 0.134700 0.373235 + 5 0.280932 0.195800 + 6 0.585913 0.022947 + 7 1.221985 -0.053293 + 8 2.548578 0.004846 + 9 5.315330 -0.000726 +P 1 + 1 0.035607 1.000000 +P 1 + 1 0.090801 1.000000 +D 1 + 1 0.115540 1.000000 +D 1 + 1 0.359082 1.000000 +F 1 + 1 0.254838 1.000000 +S 1 + 1 0.0221000 1.0000000 +P 1 + 1 0.0146000 1.0000000 +D 1 + 1 0.0356000 1.0000000 +F 1 + 1 0.0858000 1.0000000 + +MAGNESIUM +S 9 + 1 0.030975 0.165290 + 2 0.062959 0.506272 + 3 0.127970 0.333197 + 4 0.260111 0.057482 + 5 0.528700 -0.137614 + 6 1.074630 -0.135378 + 7 2.184285 0.048310 + 8 4.439759 -0.005312 + 9 9.024217 0.000465 +S 1 + 1 0.153453 1.000000 +S 1 + 1 0.673960 1.000000 +P 9 + 1 0.047055 1.502038 + 2 0.083253 -1.433944 + 3 0.147298 1.318987 + 4 0.260611 -0.741124 + 5 0.461094 0.436300 + 6 0.815803 -0.243798 + 7 1.443383 0.086774 + 8 2.553745 -0.028677 + 9 4.518286 0.006085 +P 1 + 1 0.126917 1.000000 +P 1 + 1 1.118965 1.000000 +D 1 + 1 0.095734 1.000000 +D 1 + 1 0.274572 1.000000 +F 1 + 1 0.148519 1.000000 +S 1 + 1 0.0129000 1.0000000 +P 1 + 1 0.0074500 1.0000000 +D 1 + 1 0.0468000 1.0000000 +F 1 + 1 0.0940000 1.0000000 + +NITROGEN +S 9 + 1 0.098869 0.067266 + 2 0.211443 0.334290 + 3 0.452197 0.454257 + 4 0.967080 0.267861 + 5 2.068221 0.000248 + 6 4.423150 -0.132606 + 7 9.459462 0.014437 + 8 20.230246 0.000359 + 9 43.264919 -0.000094 +S 1 + 1 1.202183 1.000000 +S 1 + 1 0.163243 1.000000 +P 9 + 1 0.073234 0.035758 + 2 0.145867 0.153945 + 3 0.290535 0.277656 + 4 0.578683 0.297676 + 5 1.152612 0.234403 + 6 2.295756 0.140321 + 7 4.572652 0.067219 + 8 9.107739 0.031594 + 9 18.140657 0.003301 +P 1 + 1 0.170104 1.000000 +P 1 + 1 0.517547 1.000000 +D 1 + 1 0.483567 1.000000 +D 1 + 1 1.712416 1.000000 +F 1 + 1 1.093097 1.000000 +S 1 + 1 0.0576000 1.0000000 +P 1 + 1 0.0491000 1.0000000 +D 1 + 1 0.1510000 1.0000000 +F 1 + 1 0.3640000 1.0000000 + +BROMINE +S 9 + 1 0.114626 0.199832 + 2 0.253024 0.605806 + 3 0.558520 0.486414 + 4 1.232866 -0.208964 + 5 2.721403 -0.328448 + 6 6.007171 0.118471 + 7 13.260109 -0.013112 + 8 29.270100 0.001206 + 9 64.610234 -0.000121 +S 1 + 1 0.154401 1.000000 +S 1 + 1 0.660618 1.000000 +P 9 + 1 0.067990 0.107992 + 2 0.145507 0.331860 + 3 0.311403 0.442871 + 4 0.666441 0.283256 + 5 1.426267 -0.026045 + 6 3.052389 -0.111323 + 7 6.532494 0.021712 + 8 13.980353 -0.001188 + 9 29.919703 0.000022 +P 1 + 1 0.078655 1.000000 +P 1 + 1 0.164043 1.000000 +D 1 + 1 0.234980 1.000000 +D 1 + 1 0.568017 1.000000 +F 1 + 1 0.555711 1.000000 +S 1 + 1 0.0455930 1.0000000 +P 1 + 1 0.0351420 1.0000000 +D 1 + 1 0.1047000 1.0000000 +F 1 + 1 0.2580000 1.0000000 + +FLUORINE +S 9 + 1 0.172723 0.070240 + 2 0.364875 0.311088 + 3 0.770795 0.444675 + 4 1.628295 0.287011 + 5 3.439757 0.018759 + 6 7.266451 -0.128608 + 7 15.350300 0.009104 + 8 32.427348 0.000810 + 9 68.502433 -0.000133 +S 1 + 1 2.289795 1.000000 +S 1 + 1 0.327712 1.000000 +P 9 + 1 0.101001 0.035321 + 2 0.204414 0.136924 + 3 0.413707 0.249353 + 4 0.837289 0.286620 + 5 1.694565 0.254541 + 6 3.429580 0.169572 + 7 6.941026 0.088542 + 8 14.047737 0.039843 + 9 28.430799 0.003378 +P 1 + 1 0.243660 1.000000 +P 1 + 1 0.804181 1.000000 +D 1 + 1 0.900763 1.000000 +D 1 + 1 3.297425 1.000000 +F 1 + 1 1.859274 1.000000 +S 1 + 1 0.0915800 1.0000000 +P 1 + 1 0.0736100 1.0000000 +D 1 + 1 0.2920000 1.0000000 +F 1 + 1 0.7240000 1.0000000 + +CHLORINE +S 9 + 1 0.119944 0.148917 + 2 0.257348 0.503616 + 3 0.552157 0.523995 + 4 1.184691 0.013612 + 5 2.541836 -0.328846 + 6 5.453681 0.056309 + 7 11.701243 -0.001301 + 8 25.105812 -0.000294 + 9 53.866226 0.000076 +S 1 + 1 0.185613 1.000000 +S 1 + 1 0.991560 1.000000 +P 9 + 1 0.074374 0.084925 + 2 0.155084 0.270658 + 3 0.323378 0.396022 + 4 0.674303 0.324325 + 5 1.406043 0.100661 + 6 2.931855 -0.069802 + 7 6.113450 -0.000951 + 8 12.747651 0.001501 + 9 26.581165 -0.000249 +P 1 + 1 0.112268 1.000000 +P 1 + 1 0.309583 1.000000 +D 1 + 1 0.352357 1.000000 +D 1 + 1 1.128796 1.000000 +F 1 + 1 0.731999 1.000000 +S 1 + 1 0.0591000 1.0000000 +P 1 + 1 0.0419000 1.0000000 +D 1 + 1 0.1350000 1.0000000 +F 1 + 1 0.3120000 1.0000000 + +CARBON +S 9 + 1 0.051344 0.013991 + 2 0.102619 0.169852 + 3 0.205100 0.397529 + 4 0.409924 0.380369 + 5 0.819297 0.180113 + 6 1.637494 -0.033512 + 7 3.272791 -0.121499 + 8 6.541187 0.015176 + 9 13.073594 -0.000705 +S 1 + 1 0.921552 1.000000 +S 1 + 1 0.132800 1.000000 +P 9 + 1 0.029281 0.001787 + 2 0.058547 0.050426 + 3 0.117063 0.191634 + 4 0.234064 0.302667 + 5 0.468003 0.289868 + 6 0.935757 0.210979 + 7 1.871016 0.112024 + 8 3.741035 0.054425 + 9 7.480076 0.021931 +P 1 + 1 0.126772 1.000000 +P 1 + 1 0.376742 1.000000 +D 1 + 1 0.329486 1.000000 +D 1 + 1 1.141611 1.000000 +F 1 + 1 0.773485 1.000000 +S 1 + 1 0.0440200 1.0000000 +P 1 + 1 0.0356900 1.0000000 +D 1 + 1 0.1000000 1.0000000 +F 1 + 1 0.2680000 1.0000000 + +OXYGEN +S 9 + 1 0.125346 0.055741 + 2 0.268022 0.304848 + 3 0.573098 0.453752 + 4 1.225429 0.295926 + 5 2.620277 0.019567 + 6 5.602818 -0.128627 + 7 11.980245 0.012024 + 8 25.616801 0.000407 + 9 54.775216 -0.000076 +S 1 + 1 1.686633 1.000000 +S 1 + 1 0.237997 1.000000 +P 9 + 1 0.083598 0.044958 + 2 0.167017 0.150175 + 3 0.333673 0.255999 + 4 0.666627 0.281879 + 5 1.331816 0.242835 + 6 2.660761 0.161134 + 7 5.315785 0.082308 + 8 10.620108 0.039899 + 9 21.217318 0.004679 +P 1 + 1 0.184696 1.000000 +P 1 + 1 0.600621 1.000000 +D 1 + 1 0.669340 1.000000 +D 1 + 1 2.404278 1.000000 +F 1 + 1 1.423104 1.000000 +S 1 + 1 0.0737600 1.0000000 +P 1 + 1 0.0597400 1.0000000 +D 1 + 1 0.2140000 1.0000000 +F 1 + 1 0.5000000 1.0000000 + +KRYPTON +S 9 + 1 0.129911 0.183453 + 2 0.282220 0.596016 + 3 0.613098 0.506410 + 4 1.331901 -0.150926 + 5 2.893437 -0.423611 + 6 6.285735 0.162644 + 7 13.655203 -0.023284 + 8 29.664719 0.003157 + 9 64.443973 -0.000422 +S 1 + 1 0.179349 1.000000 +S 1 + 1 0.755436 1.000000 +P 9 + 1 0.079314 0.096705 + 2 0.167216 0.312567 + 3 0.352539 0.448237 + 4 0.743252 0.298640 + 5 1.566988 -0.003641 + 6 3.303659 -0.138798 + 7 6.965055 0.029989 + 8 14.684325 -0.002578 + 9 30.958748 0.000205 +P 1 + 1 0.094685 1.000000 +P 1 + 1 0.189991 1.000000 +D 1 + 1 0.279731 1.000000 +D 1 + 1 0.675347 1.000000 +F 1 + 1 0.685639 1.000000 +S 1 + 1 0.0519850 1.0000000 +P 1 + 1 0.0400330 1.0000000 +D 1 + 1 0.1257000 1.0000000 +F 1 + 1 0.3280000 1.0000000 + +HYDROGEN +S 9 + 1 0.013000 0.000706 + 2 0.029900 -0.002119 + 3 0.068770 0.057693 + 4 0.158170 0.230695 + 5 0.363792 0.277612 + 6 0.836721 0.169833 + 7 1.924458 0.097443 + 8 4.426254 0.029966 + 9 10.180385 -0.000452 +S 1 + 1 0.170654 1.000000 +P 9 + 1 0.003000 0.001242 + 2 0.007800 -0.000913 + 3 0.020281 -0.000054 + 4 0.052730 -0.000238 + 5 0.137097 -0.011530 + 6 0.356451 -0.018235 + 7 0.926774 -0.013929 + 8 2.409612 -0.009395 + 9 6.264991 -0.000347 +P 1 + 1 0.495357 1.000000 +D 1 + 1 0.955745 1.000000 +S 1 + 1 0.0252600 1.0000000 +P 1 + 1 0.1020000 1.0000000 +D 1 + 1 0.2470000 1.0000000 + +PHOSPHORUS +S 9 + 1 0.074718 0.140225 + 2 0.160834 0.506746 + 3 0.346202 0.499893 + 4 0.745215 0.037301 + 5 1.604109 -0.284591 + 6 3.452917 0.024766 + 7 7.432561 0.001798 + 8 15.998924 -0.000314 + 9 34.438408 0.000088 +S 1 + 1 0.115288 1.000000 +S 1 + 1 0.646066 1.000000 +P 9 + 1 0.050242 0.072095 + 2 0.102391 0.278735 + 3 0.208669 0.411034 + 4 0.425256 0.304724 + 5 0.866651 0.091727 + 6 1.766191 -0.057060 + 7 3.599410 -0.005103 + 8 7.335418 0.000328 + 9 14.949217 -0.000046 +P 1 + 1 0.076568 1.000000 +P 1 + 1 0.200301 1.000000 +D 1 + 1 0.234543 1.000000 +D 1 + 1 0.753299 1.000000 +F 1 + 1 0.468762 1.000000 +S 1 + 1 0.0409000 1.0000000 +P 1 + 1 0.0307000 1.0000000 +D 1 + 1 0.0775000 1.0000000 +F 1 + 1 0.1650000 1.0000000 + +SILICON +S 9 + 1 0.059887 0.167492 + 2 0.130108 0.532550 + 3 0.282668 0.464290 + 4 0.614115 -0.002322 + 5 1.334205 -0.268234 + 6 2.898645 0.031921 + 7 6.297493 -0.000106 + 8 13.681707 -0.000145 + 9 29.724387 0.000067 +S 1 + 1 0.090113 1.000000 +S 1 + 1 0.507467 1.000000 +P 9 + 1 0.036525 0.078761 + 2 0.076137 0.308331 + 3 0.158712 0.417773 + 4 0.330843 0.281676 + 5 0.689658 0.069876 + 6 1.437625 -0.056306 + 7 2.996797 0.000744 + 8 6.246966 -0.000259 + 9 13.022097 -0.000022 +P 1 + 1 0.056148 1.000000 +P 1 + 1 0.146758 1.000000 +D 1 + 1 0.170395 1.000000 +D 1 + 1 0.539756 1.000000 +F 1 + 1 0.352999 1.000000 +S 1 + 1 0.0330000 1.0000000 +P 1 + 1 0.0237000 1.0000000 +D 1 + 1 0.0556000 1.0000000 +F 1 + 1 0.1250000 1.0000000 + +ARGON +S 9 + 1 0.147347 0.155473 + 2 0.312164 0.494617 + 3 0.661339 0.526705 + 4 1.401090 0.021986 + 5 2.968301 -0.338533 + 6 6.288539 0.056023 + 7 13.322677 -0.000115 + 8 28.224956 -0.000595 + 9 59.796402 0.000127 +S 1 + 1 0.228740 1.000000 +S 1 + 1 1.191630 1.000000 +P 9 + 1 0.090580 0.079101 + 2 0.188085 0.260718 + 3 0.390548 0.395065 + 4 0.810953 0.334954 + 5 1.683902 0.107462 + 6 3.496535 -0.073657 + 7 7.260371 -0.001407 + 8 15.075781 0.001710 + 9 31.304069 -0.000275 +P 1 + 1 0.138338 1.000000 +P 1 + 1 0.380189 1.000000 +D 1 + 1 0.425779 1.000000 +D 1 + 1 1.370859 1.000000 +F 1 + 1 0.929931 1.000000 +S 1 + 1 0.0685000 1.0000000 +P 1 + 1 0.0487000 1.0000000 +D 1 + 1 0.1690000 1.0000000 +F 1 + 1 0.4060000 1.0000000 + +SODIUM +S 9 + 1 0.013061 0.200118 + 2 0.030041 0.467652 + 3 0.069092 0.227738 + 4 0.158908 -0.061581 + 5 0.365481 -0.137533 + 6 0.840589 0.003323 + 7 1.933315 0.003741 + 8 4.446533 -0.001117 + 9 10.226816 0.000244 +S 1 + 1 0.067854 1.000000 +S 1 + 1 0.550451 1.000000 +P 9 + 1 0.002593 -0.002840 + 2 0.006741 0.005340 + 3 0.017525 -0.025936 + 4 0.045563 -0.053466 + 5 0.118461 -0.053691 + 6 0.307987 0.014439 + 7 0.800738 0.006199 + 8 2.081847 -0.001026 + 9 5.412617 0.000168 +P 1 + 1 0.089406 1.000000 +P 1 + 1 0.619273 1.000000 +D 1 + 1 0.086920 1.000000 +D 1 + 1 0.693014 1.000000 +F 1 + 1 0.132402 1.000000 +S 1 + 1 0.0066500 1.0000000 +P 1 + 1 0.0070000 1.0000000 +D 1 + 1 0.0223000 1.0000000 +F 1 + 1 0.0714000 1.0000000 + +BERYLLIUM +S 9 + 1 0.030068 0.025105 + 2 0.054002 0.178890 + 3 0.096986 0.263939 + 4 0.174186 0.435946 + 5 0.312836 -0.008188 + 6 0.561850 0.049509 + 7 1.009077 -0.114576 + 8 1.812290 -0.067207 + 9 3.254852 0.017250 +S 1 + 1 0.060913 1.000000 +S 1 + 1 0.357735 1.000000 +P 9 + 1 0.015064 0.735052 + 2 0.028584 -0.476214 + 3 0.054236 0.564806 + 4 0.102911 -0.108575 + 5 0.195269 0.233862 + 6 0.370513 -0.009003 + 7 0.703030 0.067510 + 8 1.333967 -0.002868 + 9 2.531139 0.017869 +P 1 + 1 0.728274 1.000000 +P 1 + 1 0.165173 1.000000 +D 1 + 1 0.113241 1.000000 +D 1 + 1 0.305198 1.000000 +F 1 + 1 0.272841 1.000000 +S 1 + 1 0.0150300 1.0000000 +P 1 + 1 0.0070600 1.0000000 +D 1 + 1 0.0654000 1.0000000 +F 1 + 1 0.1533000 1.0000000 + +SELENIUM +S 9 + 1 0.096883 0.200965 + 2 0.217674 0.615093 + 3 0.489067 0.462636 + 4 1.098828 -0.204179 + 5 2.468828 -0.307584 + 6 5.546920 0.109895 + 7 12.462726 -0.012288 + 8 28.001040 0.001205 + 9 62.912258 -0.000132 +S 1 + 1 0.130387 1.000000 +S 1 + 1 0.584755 1.000000 +P 9 + 1 0.056147 0.073504 + 2 0.122259 0.334692 + 3 0.266220 0.473323 + 4 0.579694 0.276571 + 5 1.262286 -0.032356 + 6 2.748631 -0.103709 + 7 5.985152 0.020181 + 8 13.032685 -0.001095 + 9 28.378708 0.000019 +P 1 + 1 0.069683 1.000000 +P 1 + 1 0.141231 1.000000 +D 1 + 1 0.195235 1.000000 +D 1 + 1 0.471051 1.000000 +F 1 + 1 0.466246 1.000000 +S 1 + 1 0.0392010 1.0000000 +P 1 + 1 0.0302510 1.0000000 +D 1 + 1 0.0837000 1.0000000 +F 1 + 1 0.1880000 1.0000000 + +SULFUR +S 9 + 1 0.095120 0.140074 + 2 0.202385 0.490942 + 3 0.430611 0.515297 + 4 0.916203 0.050320 + 5 1.949388 -0.298908 + 6 4.147674 0.019827 + 7 8.824926 0.007266 + 8 18.776623 -0.001602 + 9 39.950656 0.000271 +S 1 + 1 0.146642 1.000000 +S 1 + 1 0.792025 1.000000 +P 9 + 1 0.057087 0.081938 + 2 0.115901 0.251826 + 3 0.235305 0.376344 + 4 0.477723 0.320902 + 5 0.969889 0.143779 + 6 1.969099 -0.045543 + 7 3.997726 -0.017191 + 8 8.116307 0.002580 + 9 16.477979 -0.000222 +P 1 + 1 0.088694 1.000000 +P 1 + 1 0.247967 1.000000 +D 1 + 1 0.292889 1.000000 +D 1 + 1 0.950659 1.000000 +F 1 + 1 0.573218 1.000000 +S 1 + 1 0.0497000 1.0000000 +P 1 + 1 0.0351000 1.0000000 +D 1 + 1 0.1010000 1.0000000 +F 1 + 1 0.2180000 1.0000000 + +HELIUM +S 9 + 1 0.077786 0.012425 + 2 0.161528 0.128251 + 3 0.335425 0.282221 + 4 0.696535 0.292427 + 5 1.446408 0.215025 + 6 3.003576 0.125450 + 7 6.237154 0.064912 + 8 12.951926 0.038892 + 9 26.895662 0.002531 +S 1 + 1 0.667868 1.000000 +S 1 + 1 0.224485 1.000000 +P 8 + 1 0.228528 -0.000116 + 2 0.422019 2.116950 + 3 0.779333 -2.182954 + 4 1.439180 1.545850 + 5 2.657706 -0.879477 + 6 4.907934 0.469710 + 7 9.063386 -0.224631 + 8 16.737180 0.098422 +P 1 + 1 1.492028 1.000000 +D 1 + 1 1.913792 1.000000 +S 1 + 1 0.0513800 1.0000000 +P 1 + 1 0.1993000 1.0000000 +D 1 + 1 0.4592000 1.0000000 + + From b3bade7c9fad9f126d6cf6791fc8da121403f40b Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 20 Mar 2018 08:52:46 +0100 Subject: [PATCH 03/15] debug in abort --- src/ZMQ/utils.irp.f | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ZMQ/utils.irp.f b/src/ZMQ/utils.irp.f index 570cf30f..804df09f 100644 --- a/src/ZMQ/utils.irp.f +++ b/src/ZMQ/utils.irp.f @@ -761,6 +761,7 @@ integer function add_task_to_taskserver(zmq_to_qp_run_socket,task) rc = f77_zmq_recv(zmq_to_qp_run_socket, message, sze-1, 0) if (message(1:rc) /= 'ok') then + print *, 'add_task_to_taskserver: '//trim(message(1:rc)) add_task_to_taskserver = -1 return endif @@ -790,6 +791,7 @@ integer function zmq_abort(zmq_to_qp_run_socket) rc = f77_zmq_recv(zmq_to_qp_run_socket, message, 510, 0) if (trim(message(1:rc)) /= 'ok') then + print *, 'zmq_abort: '//trim(message(1:rc)) zmq_abort = -1 return endif @@ -821,6 +823,7 @@ integer function task_done_to_taskserver(zmq_to_qp_run_socket, worker_id, task_i rc = f77_zmq_recv(zmq_to_qp_run_socket, message, 510, 0) if (trim(message(1:rc)) /= 'ok') then + print *, 'task_done_to_taskserver: '//trim(message(1:rc)) task_done_to_taskserver = -1 return endif @@ -862,6 +865,7 @@ integer function tasks_done_to_taskserver(zmq_to_qp_run_socket, worker_id, task_ rc = f77_zmq_recv(zmq_to_qp_run_socket, message, 64, 0) if (trim(message(1:rc)) /= 'ok') then + print *, 'tasks_done_to_taskserver: '//trim(message(1:rc)) tasks_done_to_taskserver = -1 endif deallocate(message) From 437df9439dd91e684b2a1f2a2ad28ac836069cdd Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 20 Mar 2018 13:11:53 +0100 Subject: [PATCH 04/15] corrected bitmask in Full_CI_ZMQ - seemingly working shiftedbk (#68) * corrected bitmask in Full_CI_ZMQ - seemingly working shiftedbk * removed set_generators_bitmasks_as_holes_and_particles from dress_zmq * removed dress_zmq dependency to MRCC_Utils --- plugins/Full_CI_ZMQ/pt2_stoch.irp.f | 1 + plugins/Full_CI_ZMQ/pt2_stoch_routines.irp.f | 2 +- plugins/Full_CI_ZMQ/run_pt2_slave.irp.f | 2 +- plugins/Full_CI_ZMQ/selection.irp.f | 9 +-- plugins/Full_CI_ZMQ/selection_buffer.irp.f | 4 +- plugins/dress_zmq/EZFIO.cfg | 17 ++++++ plugins/dress_zmq/alpha_factory.irp.f | 27 ++++----- plugins/dress_zmq/dress_stoch_routines.irp.f | 2 +- plugins/dress_zmq/dress_zmq_routines.irp.f | 2 +- plugins/dress_zmq/dressing.irp.f | 2 +- plugins/shiftedbk/NEEDED_CHILDREN_MODULES | 2 +- plugins/shiftedbk/shifted_bk.irp.f | 61 +++++++++++++------- 12 files changed, 78 insertions(+), 53 deletions(-) create mode 100644 plugins/dress_zmq/EZFIO.cfg diff --git a/plugins/Full_CI_ZMQ/pt2_stoch.irp.f b/plugins/Full_CI_ZMQ/pt2_stoch.irp.f index cd96a906..7cf27d0e 100644 --- a/plugins/Full_CI_ZMQ/pt2_stoch.irp.f +++ b/plugins/Full_CI_ZMQ/pt2_stoch.irp.f @@ -19,6 +19,7 @@ subroutine run double precision :: E_CI_before, relative_error, absolute_error, eqt allocate (pt2(N_states)) + call diagonalize_CI() pt2 = 0.d0 E_CI_before = pt2_E0_denominator(1) + nuclear_repulsion diff --git a/plugins/Full_CI_ZMQ/pt2_stoch_routines.irp.f b/plugins/Full_CI_ZMQ/pt2_stoch_routines.irp.f index 3d95d6b0..96c4db69 100644 --- a/plugins/Full_CI_ZMQ/pt2_stoch_routines.irp.f +++ b/plugins/Full_CI_ZMQ/pt2_stoch_routines.irp.f @@ -342,7 +342,7 @@ subroutine pt2_collector(zmq_socket_pull, E, b, tbc, comb, Ncomb, computed, pt2_ endif end if end do pullLoop - + E0 = sum(pt2_detail(pt2_stoch_istate,:first_det_of_teeth(tooth)-1)) prop = ((1d0 - dfloat(comb_teeth - tooth + 1) * comb_step) - pt2_cweight(first_det_of_teeth(tooth)-1)) prop = prop * pt2_weight_inv(first_det_of_teeth(tooth)) diff --git a/plugins/Full_CI_ZMQ/run_pt2_slave.irp.f b/plugins/Full_CI_ZMQ/run_pt2_slave.irp.f index 03b62937..88c8aacb 100644 --- a/plugins/Full_CI_ZMQ/run_pt2_slave.irp.f +++ b/plugins/Full_CI_ZMQ/run_pt2_slave.irp.f @@ -41,7 +41,7 @@ subroutine run_pt2_slave(thread,iproc,energy) buf%N = 0 n_tasks = 0 - call create_selection_buffer(1, 2, buf) + call create_selection_buffer(0, 0, buf) done = .False. do while (.not.done) diff --git a/plugins/Full_CI_ZMQ/selection.irp.f b/plugins/Full_CI_ZMQ/selection.irp.f index ce706d2d..2463b762 100644 --- a/plugins/Full_CI_ZMQ/selection.irp.f +++ b/plugins/Full_CI_ZMQ/selection.irp.f @@ -253,6 +253,7 @@ subroutine get_m0(gen, phasemask, bannedOrb, vect, mask, h, p, sp, coefs) deallocate(lbanned) end + subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,pt2,buf,subset) use bitmasks use selection_types @@ -289,7 +290,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d monoAdo = .true. monoBdo = .true. - + do k=1,N_int hole (k,1) = iand(psi_det_generators(k,1,i_generator), hole_mask(k,1)) @@ -598,7 +599,6 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d logical, external :: detEq - if(sp == 3) then s1 = 1 s2 = 2 @@ -616,15 +616,13 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d do p2=ib,mo_tot_num if(bannedOrb(p2, s2)) cycle if(banned(p1,p2)) cycle + if( sum(abs(mat(1:N_states, p1, p2))) == 0d0) cycle call apply_particles(mask, s1, p1, s2, p2, det, ok, N_int) Hii = diag_H_mat_elem_fock(psi_det_generators(1,1,i_generator),det,fock_diag_tmp,N_int) min_e_pert = 0d0 -! double precision :: hij -! call i_h_j(psi_det_generators(1,1,i_generator), det, N_int, hij) - do istate=1,N_states delta_E = E0(istate) - Hii val = mat(istate, p1, p2) + mat(istate, p1, p2) @@ -635,7 +633,6 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d e_pert = 0.5d0 * (tmp - delta_E) pt2(istate) = pt2(istate) + e_pert min_e_pert = min(e_pert,min_e_pert) -! ci(istate) = e_pert / hij end do if(min_e_pert <= buf%mini) then diff --git a/plugins/Full_CI_ZMQ/selection_buffer.irp.f b/plugins/Full_CI_ZMQ/selection_buffer.irp.f index 50c17f91..17410b7b 100644 --- a/plugins/Full_CI_ZMQ/selection_buffer.irp.f +++ b/plugins/Full_CI_ZMQ/selection_buffer.irp.f @@ -39,7 +39,7 @@ subroutine add_to_selection_buffer(b, det, val) double precision, intent(in) :: val integer :: i - if(val <= b%mini) then + if(b%N > 0 .and. val <= b%mini) then b%cur += 1 b%det(1:N_int,1:2,b%cur) = det(1:N_int,1:2) b%val(b%cur) = val @@ -119,7 +119,7 @@ subroutine sort_selection_buffer(b) integer(bit_kind), pointer :: detmp(:,:,:) integer :: i, nmwen logical, external :: detEq - if (b%cur == 0) return + if (b%N == 0 .or. b%cur == 0) return nmwen = min(b%N, b%cur) allocate(iorder(b%cur), detmp(N_int, 2, size(b%det,3))) diff --git a/plugins/dress_zmq/EZFIO.cfg b/plugins/dress_zmq/EZFIO.cfg new file mode 100644 index 00000000..52d41568 --- /dev/null +++ b/plugins/dress_zmq/EZFIO.cfg @@ -0,0 +1,17 @@ +[energy] +type: double precision +doc: Calculated energy +interface: ezfio + +[thresh_dressed_ci] +type: Threshold +doc: Threshold on the convergence of the dressed CI energy +interface: ezfio,provider,ocaml +default: 1.e-5 + +[n_it_max_dressed_ci] +type: Strictly_positive_int +doc: Maximum number of dressed CI iterations +interface: ezfio,provider,ocaml +default: 10 + diff --git a/plugins/dress_zmq/alpha_factory.irp.f b/plugins/dress_zmq/alpha_factory.irp.f index 39284da1..190a94ad 100644 --- a/plugins/dress_zmq/alpha_factory.irp.f +++ b/plugins/dress_zmq/alpha_factory.irp.f @@ -74,26 +74,19 @@ subroutine generate_singles_and_doubles(delta_ij_loc, i_generator, bitmask_index monoAdo = .true. monoBdo = .true. + do k=1,N_int - !hole (k,1) = iand(psi_det_generators(k,1,i_generator), generators_bitmask(k,1,s_hole,bitmask_index)) - !hole (k,2) = iand(psi_det_generators(k,2,i_generator), generators_bitmask(k,2,s_hole,bitmask_index)) - !particle(k,1) = iand(not(psi_det_generators(k,1,i_generator)), generators_bitmask(k,1,s_part,bitmask_index)) - !particle(k,2) = iand(not(psi_det_generators(k,2,i_generator)), generators_bitmask(k,2,s_part,bitmask_index)) - hole (k,1) = iand(psi_det_generators(k,1,i_generator), full_ijkl_bitmask(k)) - hole (k,2) = iand(psi_det_generators(k,2,i_generator), full_ijkl_bitmask(k)) - particle(k,1) = iand(not(psi_det_generators(k,1,i_generator)), full_ijkl_bitmask(k)) - particle(k,2) = iand(not(psi_det_generators(k,2,i_generator)), full_ijkl_bitmask(k)) - + hole (k,1) = iand(psi_det_generators(k,1,i_generator), generators_bitmask(k,1,s_hole,bitmask_index)) + hole (k,2) = iand(psi_det_generators(k,2,i_generator), generators_bitmask(k,2,s_hole,bitmask_index)) + particle(k,1) = iand(not(psi_det_generators(k,1,i_generator)), generators_bitmask(k,1,s_part,bitmask_index)) + particle(k,2) = iand(not(psi_det_generators(k,2,i_generator)), generators_bitmask(k,2,s_part,bitmask_index)) + !hole (k,1) = iand(psi_det_generators(k,1,i_generator), full_ijkl_bitmask(k)) + !hole (k,2) = iand(psi_det_generators(k,2,i_generator), full_ijkl_bitmask(k)) + !particle(k,1) = iand(not(psi_det_generators(k,1,i_generator)), full_ijkl_bitmask(k)) + !particle(k,2) = iand(not(psi_det_generators(k,2,i_generator)), full_ijkl_bitmask(k)) + enddo - - !if(i_generator == 34) then - ! call debug_det(psi_det_generators(1,1,34), N_int) - ! call debug_det(generators_bitmask(1,1,s_part,bitmask_index), N_int) - ! call debug_det(particle, N_int) - ! print *, "dddddddddddd" - ! stop - !end if integer :: N_holes(2), N_particles(2) integer :: hole_list(N_int*bit_kind_size,2) diff --git a/plugins/dress_zmq/dress_stoch_routines.irp.f b/plugins/dress_zmq/dress_stoch_routines.irp.f index 480fd415..06b5d538 100644 --- a/plugins/dress_zmq/dress_stoch_routines.irp.f +++ b/plugins/dress_zmq/dress_stoch_routines.irp.f @@ -286,7 +286,7 @@ subroutine dress_collector(zmq_socket_pull, E, relative_error, delta, delta_s2, call wall_time(time) - if ((dabs(eqt) < relative_error .and. cps_N(cur_cp) >= 5) .or. total_computed == N_det_generators) then + if ((dabs(eqt) < relative_error .and. cps_N(cur_cp) >= 30) .or. total_computed == N_det_generators) then ! Termination print '(2X, F16.7, 2X, G16.3, 2X, F16.4, A20)', avg+E(istate)+E0, eqt, time-time0, '' if (zmq_abort(zmq_to_qp_run_socket) == -1) then diff --git a/plugins/dress_zmq/dress_zmq_routines.irp.f b/plugins/dress_zmq/dress_zmq_routines.irp.f index 4dc75236..bde2c6d8 100644 --- a/plugins/dress_zmq/dress_zmq_routines.irp.f +++ b/plugins/dress_zmq/dress_zmq_routines.irp.f @@ -5,7 +5,7 @@ subroutine dress_zmq() read_wf = .True. SOFT_TOUCH read_wf - call set_generators_bitmasks_as_holes_and_particles + if (.True.) then integer :: i,j do j=1,N_states diff --git a/plugins/dress_zmq/dressing.irp.f b/plugins/dress_zmq/dressing.irp.f index f835ffbf..0c15ee0b 100644 --- a/plugins/dress_zmq/dressing.irp.f +++ b/plugins/dress_zmq/dressing.irp.f @@ -86,7 +86,7 @@ BEGIN_PROVIDER [ double precision, delta_ij, (N_states,N_det,2) ] ! else ! errr = 1d-4 ! end if - relative_error = 1.d-3 + relative_error = 1.d-4 call write_double(6,relative_error,"Convergence of the stochastic algorithm") call ZMQ_dress(E_CI_before, dress, del, del_s2, abs(relative_error)) diff --git a/plugins/shiftedbk/NEEDED_CHILDREN_MODULES b/plugins/shiftedbk/NEEDED_CHILDREN_MODULES index bebf68a2..c3290687 100644 --- a/plugins/shiftedbk/NEEDED_CHILDREN_MODULES +++ b/plugins/shiftedbk/NEEDED_CHILDREN_MODULES @@ -1 +1 @@ -dress_zmq DavidsonDressed MRCC_Utils +dress_zmq DavidsonDressed diff --git a/plugins/shiftedbk/shifted_bk.irp.f b/plugins/shiftedbk/shifted_bk.irp.f index a2826aae..4c0408d8 100644 --- a/plugins/shiftedbk/shifted_bk.irp.f +++ b/plugins/shiftedbk/shifted_bk.irp.f @@ -1,17 +1,23 @@ -program mrcc_sto +program shifted_bk implicit none BEGIN_DOC ! TODO END_DOC + + call diagonalize_CI() call dress_zmq() end BEGIN_PROVIDER [ double precision, fock_diag_tmp_, (2,mo_tot_num+1,Nproc) ] &BEGIN_PROVIDER [ integer, current_generator_, (Nproc) ] +&BEGIN_PROVIDER [ double precision, a_h_i, (N_det, Nproc) ] +&BEGIN_PROVIDER [ double precision, a_s2_i, (N_det, Nproc) ] implicit none current_generator_(:) = 0 + a_h_i = 0d0 + a_s2_i = 0d0 END_PROVIDER @@ -31,40 +37,48 @@ subroutine dress_with_alpha_buffer(Nstates,Ndet,Nint,delta_ij_loc, i_gen, minili integer(bit_kind), intent(in) :: alpha(Nint,2), det_minilist(Nint, 2, n_minilist) integer,intent(in) :: minilist(n_minilist) double precision, intent(inout) :: delta_ij_loc(Nstates,N_det,2) - double precision :: hii, hij, sij, delta_e + double precision :: haa, hij, sij double precision, external :: diag_H_mat_elem_fock integer :: i,j,k,l,m, l_sd - double precision, save :: tot = 0d0 - double precision :: de(N_states), val, tmp + double precision :: hdress, sdress + double precision :: de, a_h_psi(Nstates), c_alpha + a_h_psi = 0d0 + if(current_generator_(iproc) /= i_gen) then current_generator_(iproc) = i_gen call build_fock_tmp(fock_diag_tmp_(1,1,iproc),psi_det_generators(1,1,i_gen),N_int) end if - hii = diag_H_mat_elem_fock(psi_det_generators(1,1,i_gen),alpha,fock_diag_tmp_(1,1,iproc),N_int) - do i=1,N_states - de(i) = (E0_denominator(i) - hii) - end do - - do i=1,N_states - val = 0D0 - do l_sd=1,n_minilist - call i_h_j_s2(alpha,det_minilist(1,1,l_sd),N_int,hij, sij) - val += hij + haa = diag_H_mat_elem_fock(psi_det_generators(1,1,i_gen),alpha,fock_diag_tmp_(1,1,iproc),N_int) + + do l_sd=1,n_minilist + call i_h_j_s2(alpha,det_minilist(1,1,l_sd),N_int,hij, sij) + a_h_i(l_sd, iproc) = hij + a_s2_i(l_sd, iproc) = sij + do i=1,Nstates + a_h_psi(i) += hij * psi_coef(minilist(l_sd), i) + end do + end do + + + do i=1,Nstates + de = E0_denominator(i) - haa + if(DABS(de) < 1D-5) cycle + + c_alpha = a_h_psi(i) / de + + do l_sd=1,n_minilist + hdress = c_alpha * a_h_i(l_sd, iproc) + sdress = c_alpha * a_s2_i(l_sd, iproc) + delta_ij_loc(i, minilist(l_sd), 1) += hdress + delta_ij_loc(i, minilist(l_sd), 2) += sdress end do - val = 2d0 * val - tmp = dsqrt(de(i)**2 + val**2) - if(de(i) < 0d0) tmp = -tmp - delta_ij_loc(i, minilist(l_sd), 1) += 0.5d0 * (tmp - de(i)) ! * psi_coef(minilist(l_sd), i) end do end subroutine - - - BEGIN_PROVIDER [ logical, initialize_E0_denominator ] implicit none BEGIN_DOC @@ -72,7 +86,8 @@ BEGIN_PROVIDER [ logical, initialize_E0_denominator ] END_DOC initialize_E0_denominator = .True. END_PROVIDER - + + BEGIN_PROVIDER [ double precision, E0_denominator, (N_states) ] implicit none BEGIN_DOC @@ -88,3 +103,5 @@ BEGIN_PROVIDER [ double precision, E0_denominator, (N_states) ] E0_denominator = -huge(1.d0) endif END_PROVIDER + + From 7d18772ba484277b7a29c4d95d14ac25aa5abe2a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 20 Mar 2018 17:23:00 +0100 Subject: [PATCH 05/15] Fixed test --- tests/bats/mrcepa0.bats | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/tests/bats/mrcepa0.bats b/tests/bats/mrcepa0.bats index 9a62885e..ca463967 100644 --- a/tests/bats/mrcepa0.bats +++ b/tests/bats/mrcepa0.bats @@ -14,9 +14,11 @@ source $QP_ROOT/tests/bats/common.bats.sh ezfio set determinants read_wf True ezfio set mrcepa0 lambda_type 1 ezfio set mrcepa0 n_it_max_dressed_ci 3 - qp_run $EXE $INPUT + cp -r $INPUT TMP ; qp_run $EXE TMP + ezfio set_file TMP energy="$(ezfio get mrcepa0 energy_pt2)" - eq $energy -76.2382106224545 1.e-4 + rm -rf TMP + eq $energy -76.2382119593927 1.e-4 } @test "MRCC H2O cc-pVDZ" { @@ -30,9 +32,11 @@ source $QP_ROOT/tests/bats/common.bats.sh ezfio set determinants read_wf True ezfio set mrcepa0 lambda_type 0 ezfio set mrcepa0 n_it_max_dressed_ci 3 - qp_run $EXE $INPUT + cp -r $INPUT TMP ; qp_run $EXE TMP + ezfio set_file TMP energy="$(ezfio get mrcepa0 energy_pt2)" - eq $energy -76.2381754078899 1.e-4 + rm -rf TMP + eq $energy -76.2381753982902 1.e-4 } @test "MRSC2 H2O cc-pVDZ" { @@ -46,9 +50,11 @@ source $QP_ROOT/tests/bats/common.bats.sh ezfio set determinants read_wf True ezfio set mrcepa0 lambda_type 1 ezfio set mrcepa0 n_it_max_dressed_ci 3 - qp_run $EXE $INPUT + cp -r $INPUT TMP ; qp_run $EXE TMP + ezfio set_file TMP energy="$(ezfio get mrcepa0 energy_pt2)" - eq $energy -76.235786994991 2.e-4 + rm -rf TMP + eq $energy -76.2357032076682 2.e-4 } @test "MRCEPA0 H2O cc-pVDZ" { @@ -62,8 +68,10 @@ source $QP_ROOT/tests/bats/common.bats.sh ezfio set determinants read_wf True ezfio set mrcepa0 lambda_type 1 ezfio set mrcepa0 n_it_max_dressed_ci 3 - qp_run $EXE $INPUT + cp -r $INPUT TMP ; qp_run $EXE TMP + ezfio set_file TMP energy="$(ezfio get mrcepa0 energy_pt2)" - eq $energy -76.2411829210128 2.e-4 + rm -rf TMP + eq $energy -76.2411825032868 2.e-4 } From d23831039476097ea708f4035a1753cf2429c55d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 20 Mar 2018 17:47:33 +0100 Subject: [PATCH 06/15] Fixed test --- tests/bats/mrcepa0.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/bats/mrcepa0.bats b/tests/bats/mrcepa0.bats index ca463967..4985f8f0 100644 --- a/tests/bats/mrcepa0.bats +++ b/tests/bats/mrcepa0.bats @@ -54,7 +54,7 @@ source $QP_ROOT/tests/bats/common.bats.sh ezfio set_file TMP energy="$(ezfio get mrcepa0 energy_pt2)" rm -rf TMP - eq $energy -76.2357032076682 2.e-4 + eq $energy -76.2359960472962 3.e-4 } @test "MRCEPA0 H2O cc-pVDZ" { From 5a8ab847b9202ac2aa2c63e1dfeccd1cf88de161 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 23 Mar 2018 13:37:03 +0100 Subject: [PATCH 07/15] Multistate dressing OK --- ocaml/TaskServer.ml | 3 +- plugins/DavidsonDressed/diagonalize_CI.irp.f | 151 +++++++++++------- plugins/dress_zmq/dress_general.irp.f | 2 - plugins/dress_zmq/dress_stoch_routines.irp.f | 12 +- plugins/dress_zmq/dressing_vector.irp.f | 20 ++- plugins/dress_zmq/run_dress_slave.irp.f | 4 +- plugins/shiftedbk/shifted_bk.irp.f | 1 - .../diagonalization_hs2_dressed.irp.f | 54 +++++-- 8 files changed, 151 insertions(+), 96 deletions(-) diff --git a/ocaml/TaskServer.ml b/ocaml/TaskServer.ml index 170e011a..ca295971 100644 --- a/ocaml/TaskServer.ml +++ b/ocaml/TaskServer.ml @@ -830,10 +830,11 @@ let run ~port = let () = if debug_env then begin - Printf.sprintf "q:%d r:%d n:%d : %s\n%!" + Printf.sprintf "q:%d r:%d n:%d c:%d : %s\n%!" (Queuing_system.number_of_queued program_state.queue) (Queuing_system.number_of_running program_state.queue) (Queuing_system.number_of_tasks program_state.queue) + (Queuing_system.number_of_clients program_state.queue) (Message.to_string message) |> debug end diff --git a/plugins/DavidsonDressed/diagonalize_CI.irp.f b/plugins/DavidsonDressed/diagonalize_CI.irp.f index 3d1c1118..2ee540e2 100644 --- a/plugins/DavidsonDressed/diagonalize_CI.irp.f +++ b/plugins/DavidsonDressed/diagonalize_CI.irp.f @@ -55,66 +55,98 @@ END_PROVIDER if (diag_algorithm == "Davidson") then - allocate (eigenvectors(size(CI_eigenvectors_dressed,1),size(CI_eigenvectors_dressed,2)),& - eigenvectors_s2(size(CI_eigenvectors_dressed,1),size(CI_eigenvectors_dressed,2)),& - eigenvalues(size(CI_electronic_energy_dressed,1))) do j=1,min(N_states,N_det) do i=1,N_det - eigenvectors(i,j) = psi_coef(i,j) + CI_eigenvectors_dressed(i,j) = psi_coef(i,j) enddo enddo - do mrcc_state=1,N_states - do j=mrcc_state,min(N_states,N_det) - do i=1,N_det - eigenvectors(i,j) = psi_coef(i,j) - enddo - enddo - call davidson_diag_HS2(psi_det,eigenvectors, eigenvectors_s2, & - size(eigenvectors,1), & - eigenvalues,N_det,min(N_det,N_states),min(N_det,N_states_diag),N_int,& - mrcc_state) - CI_eigenvectors_dressed(1:N_det,mrcc_state) = eigenvectors(1:N_det,mrcc_state) - CI_electronic_energy_dressed(mrcc_state) = eigenvalues(mrcc_state) - enddo - do k=N_states+1,N_states_diag - CI_eigenvectors_dressed(1:N_det,k) = eigenvectors(1:N_det,k) - CI_electronic_energy_dressed(k) = eigenvalues(k) - enddo + call davidson_diag_HS2(psi_det,CI_eigenvectors_dressed, CI_eigenvectors_s2_dressed,& + size(CI_eigenvectors_dressed,1), CI_electronic_energy_dressed,& + N_det,min(N_det,N_states),min(N_det,N_states_diag),N_int,1) call u_0_S2_u_0(CI_eigenvectors_s2_dressed,CI_eigenvectors_dressed,N_det,psi_det,N_int,& N_states_diag,size(CI_eigenvectors_dressed,1)) - deallocate (eigenvectors,eigenvalues) - else if (diag_algorithm == "Lapack") then allocate (eigenvectors(size(H_matrix_dressed,1),N_det)) allocate (eigenvalues(N_det)) - do j=1,min(N_states,N_det) - do i=1,N_det - eigenvectors(i,j) = psi_coef(i,j) - enddo - enddo - do mrcc_state=1,N_states - do j=mrcc_state,min(N_states,N_det) - do i=1,N_det - eigenvectors(i,j) = psi_coef(i,j) - enddo - enddo - call lapack_diag(eigenvalues,eigenvectors, & - H_matrix_dressed(1,1,mrcc_state),size(H_matrix_dressed,1),N_det) - CI_eigenvectors_dressed(1:N_det,mrcc_state) = eigenvectors(1:N_det,mrcc_state) - CI_electronic_energy_dressed(mrcc_state) = eigenvalues(mrcc_state) - enddo - do k=N_states+1,N_states_diag - CI_eigenvectors_dressed(1:N_det,k) = eigenvectors(1:N_det,k) - CI_electronic_energy_dressed(k) = eigenvalues(k) - enddo - call u_0_S2_u_0(CI_eigenvectors_s2_dressed,CI_eigenvectors_dressed,N_det,psi_det,N_int,& - N_states_diag,size(CI_eigenvectors_dressed,1)) + H_matrix_dressed,size(H_matrix_dressed,1),N_det) + CI_electronic_energy_dressed(:) = 0.d0 + if (s2_eig) then + i_state = 0 + allocate (s2_eigvalues(N_det)) + allocate(index_good_state_array(N_det),good_state_array(N_det)) + good_state_array = .False. + call u_0_S2_u_0(s2_eigvalues,eigenvectors,N_det,psi_det,N_int,& + N_det,size(eigenvectors,1)) + do j=1,N_det + ! Select at least n_states states with S^2 values closed to "expected_s2" + if(dabs(s2_eigvalues(j)-expected_s2).le.0.5d0)then + i_state +=1 + index_good_state_array(i_state) = j + good_state_array(j) = .True. + endif + if(i_state.eq.N_states) then + exit + endif + enddo + if(i_state .ne.0)then + ! Fill the first "i_state" states that have a correct S^2 value + do j = 1, i_state + do i=1,N_det + CI_eigenvectors_dressed(i,j) = eigenvectors(i,index_good_state_array(j)) + enddo + CI_electronic_energy_dressed(j) = eigenvalues(index_good_state_array(j)) + CI_eigenvectors_s2_dressed(j) = s2_eigvalues(index_good_state_array(j)) + enddo + i_other_state = 0 + do j = 1, N_det + if(good_state_array(j))cycle + i_other_state +=1 + if(i_state+i_other_state.gt.n_states_diag)then + exit + endif + do i=1,N_det + CI_eigenvectors_dressed(i,i_state+i_other_state) = eigenvectors(i,j) + enddo + CI_electronic_energy_dressed(i_state+i_other_state) = eigenvalues(j) + CI_eigenvectors_s2_dressed(i_state+i_other_state) = s2_eigvalues(i_state+i_other_state) + enddo + else + print*,'' + print*,'!!!!!!!! WARNING !!!!!!!!!' + print*,' Within the ',N_det,'determinants selected' + print*,' and the ',N_states_diag,'states requested' + print*,' We did not find any state with S^2 values close to ',expected_s2 + print*,' We will then set the first N_states eigenvectors of the H matrix' + print*,' as the CI_eigenvectors_dressed' + print*,' You should consider more states and maybe ask for s2_eig to be .True. or just enlarge the CI space' + print*,'' + do j=1,min(N_states_diag,N_det) + do i=1,N_det + CI_eigenvectors_dressed(i,j) = eigenvectors(i,j) + enddo + CI_electronic_energy_dressed(j) = eigenvalues(j) + CI_eigenvectors_s2_dressed(j) = s2_eigvalues(j) + enddo + endif + deallocate(index_good_state_array,good_state_array) + deallocate(s2_eigvalues) + else + call u_0_S2_u_0(CI_eigenvectors_s2_dressed,eigenvectors,N_det,psi_det,N_int,& + min(N_det,N_states_diag),size(eigenvectors,1)) + ! Select the "N_states_diag" states of lowest energy + do j=1,min(N_det,N_states_diag) + do i=1,N_det + CI_eigenvectors_dressed(i,j) = eigenvectors(i,j) + enddo + CI_electronic_energy_dressed(j) = eigenvalues(j) + enddo + endif deallocate(eigenvectors,eigenvalues) endif @@ -137,24 +169,23 @@ end -BEGIN_PROVIDER [ double precision, h_matrix_dressed, (N_det,N_det,N_states) ] +BEGIN_PROVIDER [ double precision, h_matrix_dressed, (N_det,N_det) ] implicit none BEGIN_DOC ! Dressed H with Delta_ij END_DOC - integer :: i, j, ii,jj, dressing_state - do dressing_state = 1,N_states - do j=1,N_det - do i=1,N_det - h_matrix_dressed(i,j,dressing_state) = h_matrix_all_dets(i,j) - enddo - enddo - i = dressed_column_idx(dressing_state) - do j = 1, N_det - h_matrix_dressed(i,j,dressing_state) += dressing_column_h(j,dressing_state) - h_matrix_dressed(j,i,dressing_state) += dressing_column_h(j,dressing_state) - enddo - h_matrix_dressed(i,i,dressing_state) -= dressing_column_h(i,dressing_state) - enddo + integer :: i, j, k + + h_matrix_dressed(1:N_det,1:N_det) = h_matrix_all_dets(1:N_det,1:N_det) + do k=1,N_states + do j=1,N_det + do i=1,N_det + h_matrix_dressed(i,j) = h_matrix_dressed(i,j) + & + 0.5d0 * (dressing_column_h(i,k) * psi_coef(j,k) + & + dressing_column_h(j,k) * psi_coef(i,k)) + enddo + enddo + enddo + END_PROVIDER diff --git a/plugins/dress_zmq/dress_general.irp.f b/plugins/dress_zmq/dress_general.irp.f index 0bf7e715..068d811e 100644 --- a/plugins/dress_zmq/dress_general.irp.f +++ b/plugins/dress_zmq/dress_general.irp.f @@ -1,5 +1,3 @@ - - subroutine run_dressing(N_st,energy) implicit none diff --git a/plugins/dress_zmq/dress_stoch_routines.irp.f b/plugins/dress_zmq/dress_stoch_routines.irp.f index 06b5d538..f1406b7b 100644 --- a/plugins/dress_zmq/dress_stoch_routines.irp.f +++ b/plugins/dress_zmq/dress_stoch_routines.irp.f @@ -4,7 +4,7 @@ BEGIN_PROVIDER [ integer, fragment_first ] END_PROVIDER -subroutine ZMQ_dress(E, dress, delta, delta_s2, relative_error) +subroutine ZMQ_dress(E, dress, delta_out, delta_s2_out, relative_error) use f77_zmq implicit none @@ -15,9 +15,11 @@ subroutine ZMQ_dress(E, dress, delta, delta_s2, relative_error) integer, external :: omp_get_thread_num double precision, intent(in) :: E(N_states), relative_error double precision, intent(out) :: dress(N_states) - double precision, intent(out) :: delta(N_states, N_det) - double precision, intent(out) :: delta_s2(N_states, N_det) + double precision, intent(out) :: delta_out(N_states, N_det) + double precision, intent(out) :: delta_s2_out(N_states, N_det) + double precision, allocatable :: delta(:,:) + double precision, allocatable :: delta_s2(:,:) integer :: i, j, k, Ncp @@ -27,6 +29,7 @@ subroutine ZMQ_dress(E, dress, delta, delta_s2, relative_error) double precision :: state_average_weight_save(N_states) + allocate(delta(N_states,N_det), delta_s2(N_det,N_states)) state_average_weight_save(:) = state_average_weight(:) do dress_stoch_istate=1,N_states SOFT_TOUCH dress_stoch_istate @@ -108,6 +111,8 @@ subroutine ZMQ_dress(E, dress, delta, delta_s2, relative_error) call dress_slave_inproc(i) endif !$OMP END PARALLEL + delta_out(dress_stoch_istate,1:N_det) = delta(dress_stoch_istate,1:N_det) + delta_s2_out(dress_stoch_istate,1:N_det) = delta_s2_out(dress_stoch_istate,1:N_det) call end_parallel_job(zmq_to_qp_run_socket, zmq_socket_pull, 'dress') print *, '========== ================= ================= =================' @@ -115,6 +120,7 @@ subroutine ZMQ_dress(E, dress, delta, delta_s2, relative_error) FREE dress_stoch_istate state_average_weight(:) = state_average_weight_save(:) TOUCH state_average_weight + deallocate(delta,delta_s2) end subroutine diff --git a/plugins/dress_zmq/dressing_vector.irp.f b/plugins/dress_zmq/dressing_vector.irp.f index 494e7c4b..5a8fee3b 100644 --- a/plugins/dress_zmq/dressing_vector.irp.f +++ b/plugins/dress_zmq/dressing_vector.irp.f @@ -3,7 +3,7 @@ &BEGIN_PROVIDER [ double precision, dressing_column_s, (N_det,N_states) ] implicit none BEGIN_DOC - ! Null dressing vectors + ! \Delta_{state-specific}. \Psi END_DOC integer :: i,ii,k,j, l @@ -14,18 +14,16 @@ dressing_column_s(:,:) = 0.d0 do k=1,N_states - l = dressed_column_idx(k) - f = 1.d0/psi_coef(l,k) do j = 1, n_det - dressing_column_h(j,k) = delta_ij(k,j,1) * f - dressing_column_s(j,k) = delta_ij(k,j,2) * f + dressing_column_h(j,k) = delta_ij(k,j,1) + dressing_column_s(j,k) = delta_ij(k,j,2) enddo - tmp = u_dot_v(dressing_column_h(1,k), psi_coef(1,k), N_det) & - - dressing_column_h(l,k) * psi_coef(l,k) - dressing_column_h(l,k) -= tmp * f - tmp = u_dot_v(dressing_column_s(1,k), psi_coef(1,k), N_det) & - - dressing_column_s(l,k) * psi_coef(l,k) - dressing_column_s(l,k) -= tmp * f +! tmp = u_dot_v(dressing_column_h(1,k), psi_coef(1,k), N_det) & +! - dressing_column_h(l,k) * psi_coef(l,k) +! dressing_column_h(l,k) -= tmp * f +! tmp = u_dot_v(dressing_column_s(1,k), psi_coef(1,k), N_det) & +! - dressing_column_s(l,k) * psi_coef(l,k) +! dressing_column_s(l,k) -= tmp * f enddo END_PROVIDER diff --git a/plugins/dress_zmq/run_dress_slave.irp.f b/plugins/dress_zmq/run_dress_slave.irp.f index b0896c00..0311d2ed 100644 --- a/plugins/dress_zmq/run_dress_slave.irp.f +++ b/plugins/dress_zmq/run_dress_slave.irp.f @@ -62,9 +62,9 @@ subroutine run_dress_slave(thread,iproc,energy) exit end if end do - call disconnect_from_taskserver(zmq_to_qp_run_socket,zmq_socket_push,worker_id) - call end_zmq_to_qp_run_socket(zmq_to_qp_run_socket) + call disconnect_from_taskserver(zmq_to_qp_run_socket,worker_id) call end_zmq_push_socket(zmq_socket_push,thread) + call end_zmq_to_qp_run_socket(zmq_to_qp_run_socket) end subroutine diff --git a/plugins/shiftedbk/shifted_bk.irp.f b/plugins/shiftedbk/shifted_bk.irp.f index 4c0408d8..d2ab57ad 100644 --- a/plugins/shiftedbk/shifted_bk.irp.f +++ b/plugins/shiftedbk/shifted_bk.irp.f @@ -1,4 +1,3 @@ - program shifted_bk implicit none BEGIN_DOC diff --git a/src/Davidson/diagonalization_hs2_dressed.irp.f b/src/Davidson/diagonalization_hs2_dressed.irp.f index 4e853f32..59e9c9fe 100644 --- a/src/Davidson/diagonalization_hs2_dressed.irp.f +++ b/src/Davidson/diagonalization_hs2_dressed.irp.f @@ -38,7 +38,7 @@ subroutine davidson_diag_hs2(dets_in,u_in,s2_out,dim_in,energies,sze,N_st,N_st_d double precision, allocatable :: H_jj(:), S2_jj(:) double precision, external :: diag_H_mat_elem, diag_S_mat_elem - integer :: i + integer :: i,k ASSERT (N_st > 0) ASSERT (sze > 0) ASSERT (Nint > 0) @@ -58,7 +58,11 @@ subroutine davidson_diag_hs2(dets_in,u_in,s2_out,dim_in,energies,sze,N_st,N_st_d !$OMP END PARALLEL if (dressing_state > 0) then - H_jj(dressed_column_idx(dressing_state)) += dressing_column_h(dressed_column_idx(dressing_state),dressing_state) + do k=1,N_st + do i=1,sze + H_jj(i) += u_in(i,k) * dressing_column_h(i,k) + enddo + enddo endif call davidson_diag_hjj_sjj(dets_in,u_in,H_jj,S2_out,energies,dim_in,sze,N_st,N_st_diag,Nint,dressing_state) @@ -150,17 +154,17 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_ do i=1,N_st write_buffer = trim(write_buffer)//' ================ =========== ===========' enddo - write(6,'(A)') write_buffer(1:6+41*N_states) + write(6,'(A)') write_buffer(1:6+41*N_st) write_buffer = 'Iter' do i=1,N_st write_buffer = trim(write_buffer)//' Energy S^2 Residual ' enddo - write(6,'(A)') write_buffer(1:6+41*N_states) + write(6,'(A)') write_buffer(1:6+41*N_st) write_buffer = '=====' do i=1,N_st write_buffer = trim(write_buffer)//' ================ =========== ===========' enddo - write(6,'(A)') write_buffer(1:6+41*N_states) + write(6,'(A)') write_buffer(1:6+41*N_st) allocate( & @@ -242,17 +246,35 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_ if (dressing_state > 0) then - l = dressed_column_idx(dressing_state) - do istate=1,N_st_diag - do i=1,sze - W(i,shift+istate) += dressing_column_h(i,dressing_state) * U(l,shift+istate) - S(i,shift+istate) += dressing_column_s(i,dressing_state) * U(l,shift+istate) - W(l,shift+istate) += dressing_column_h(i,dressing_state) * U(i,shift+istate) - S(l,shift+istate) += dressing_column_s(i,dressing_state) * U(i,shift+istate) - enddo - W(l,shift+istate) -= dressing_column_h(l,dressing_state) * U(l,shift+istate) - S(l,shift+istate) -= dressing_column_s(l,dressing_state) * U(l,shift+istate) - enddo + call dgemm('T','N', N_st, N_st_diag, sze, 1.d0, & + psi_coef, size(psi_coef,1), & + U(1,shift+1), size(U,1), 0.d0, s_tmp, size(s_tmp,1)) + + call dgemm('N','N', sze, N_st_diag, N_st, 0.5d0, & + dressing_column_h, size(dressing_column_h,1), s_tmp, size(s_tmp,1), & + 1.d0, W(1,shift+1), size(W,1)) + + call dgemm('N','N', sze, N_st_diag, N_st, 0.5d0, & + dressing_column_s, size(dressing_column_s,1), s_tmp, size(s_tmp,1), & + 1.d0, S(1,shift+1), size(S,1)) + + + call dgemm('T','N', N_st, N_st_diag, sze, 1.d0, & + dressing_column_h, size(dressing_column_h,1), & + U(1,shift+1), size(U,1), 0.d0, s_tmp, size(s_tmp,1)) + + call dgemm('N','N', sze, N_st_diag, N_st, 0.5d0, & + psi_coef, size(psi_coef,1), s_tmp, size(s_tmp,1), & + 1.d0, W(1,shift+1), size(W,1)) + + call dgemm('T','N', N_st, N_st_diag, sze, 1.d0, & + dressing_column_s, size(dressing_column_s,1), & + U(1,shift+1), size(U,1), 0.d0, s_tmp, size(s_tmp,1)) + + call dgemm('N','N', sze, N_st_diag, N_st, 0.5d0, & + psi_coef, size(psi_coef,1), s_tmp, size(s_tmp,1), & + 1.d0, S(1,shift+1), size(S,1)) + endif ! Compute h_kl = = From af1c600a53f904b5772274d512375059b3fcc8c0 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 26 Mar 2018 12:06:18 +0200 Subject: [PATCH 08/15] Added shifted_bk_slave --- plugins/shiftedbk/shifted_bk.irp.f | 97 --------------------- plugins/shiftedbk/shifted_bk_routines.irp.f | 95 ++++++++++++++++++++ plugins/shiftedbk/shifted_bk_slave.irp.f | 8 ++ 3 files changed, 103 insertions(+), 97 deletions(-) create mode 100644 plugins/shiftedbk/shifted_bk_routines.irp.f create mode 100644 plugins/shiftedbk/shifted_bk_slave.irp.f diff --git a/plugins/shiftedbk/shifted_bk.irp.f b/plugins/shiftedbk/shifted_bk.irp.f index d2ab57ad..b7a2a1ce 100644 --- a/plugins/shiftedbk/shifted_bk.irp.f +++ b/plugins/shiftedbk/shifted_bk.irp.f @@ -7,100 +7,3 @@ program shifted_bk call diagonalize_CI() call dress_zmq() end - - - BEGIN_PROVIDER [ double precision, fock_diag_tmp_, (2,mo_tot_num+1,Nproc) ] -&BEGIN_PROVIDER [ integer, current_generator_, (Nproc) ] -&BEGIN_PROVIDER [ double precision, a_h_i, (N_det, Nproc) ] -&BEGIN_PROVIDER [ double precision, a_s2_i, (N_det, Nproc) ] - implicit none - current_generator_(:) = 0 - a_h_i = 0d0 - a_s2_i = 0d0 - END_PROVIDER - - - -subroutine dress_with_alpha_buffer(Nstates,Ndet,Nint,delta_ij_loc, i_gen, minilist, det_minilist, n_minilist, alpha, iproc) - use bitmasks - implicit none - BEGIN_DOC - !delta_ij_loc(:,:,1) : dressing column for H - !delta_ij_loc(:,:,2) : dressing column for S2 - !i_gen : generator index in psi_det_generators - !minilist : indices of determinants connected to alpha ( in psi_det_sorted ) - !n_minilist : size of minilist - !alpha : alpha determinant - END_DOC - integer, intent(in) :: Nint, Ndet, Nstates, n_minilist, iproc, i_gen - integer(bit_kind), intent(in) :: alpha(Nint,2), det_minilist(Nint, 2, n_minilist) - integer,intent(in) :: minilist(n_minilist) - double precision, intent(inout) :: delta_ij_loc(Nstates,N_det,2) - double precision :: haa, hij, sij - double precision, external :: diag_H_mat_elem_fock - integer :: i,j,k,l,m, l_sd - double precision :: hdress, sdress - double precision :: de, a_h_psi(Nstates), c_alpha - - - a_h_psi = 0d0 - - if(current_generator_(iproc) /= i_gen) then - current_generator_(iproc) = i_gen - call build_fock_tmp(fock_diag_tmp_(1,1,iproc),psi_det_generators(1,1,i_gen),N_int) - end if - - haa = diag_H_mat_elem_fock(psi_det_generators(1,1,i_gen),alpha,fock_diag_tmp_(1,1,iproc),N_int) - - do l_sd=1,n_minilist - call i_h_j_s2(alpha,det_minilist(1,1,l_sd),N_int,hij, sij) - a_h_i(l_sd, iproc) = hij - a_s2_i(l_sd, iproc) = sij - do i=1,Nstates - a_h_psi(i) += hij * psi_coef(minilist(l_sd), i) - end do - end do - - - do i=1,Nstates - de = E0_denominator(i) - haa - if(DABS(de) < 1D-5) cycle - - c_alpha = a_h_psi(i) / de - - do l_sd=1,n_minilist - hdress = c_alpha * a_h_i(l_sd, iproc) - sdress = c_alpha * a_s2_i(l_sd, iproc) - delta_ij_loc(i, minilist(l_sd), 1) += hdress - delta_ij_loc(i, minilist(l_sd), 2) += sdress - end do - end do -end subroutine - - -BEGIN_PROVIDER [ logical, initialize_E0_denominator ] - implicit none - BEGIN_DOC - ! If true, initialize pt2_E0_denominator - END_DOC - initialize_E0_denominator = .True. -END_PROVIDER - - -BEGIN_PROVIDER [ double precision, E0_denominator, (N_states) ] - implicit none - BEGIN_DOC - ! E0 in the denominator of the PT2 - END_DOC - if (initialize_E0_denominator) then - E0_denominator(1:N_states) = psi_energy(1:N_states) - ! call ezfio_get_full_ci_zmq_energy(pt2_E0_denominator(1)) - ! pt2_E0_denominator(1) -= nuclear_repulsion - ! pt2_E0_denominator(1:N_states) = HF_energy - nuclear_repulsion - ! pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) - else - E0_denominator = -huge(1.d0) - endif -END_PROVIDER - - diff --git a/plugins/shiftedbk/shifted_bk_routines.irp.f b/plugins/shiftedbk/shifted_bk_routines.irp.f new file mode 100644 index 00000000..498e6e42 --- /dev/null +++ b/plugins/shiftedbk/shifted_bk_routines.irp.f @@ -0,0 +1,95 @@ + BEGIN_PROVIDER [ double precision, fock_diag_tmp_, (2,mo_tot_num+1,Nproc) ] +&BEGIN_PROVIDER [ integer, current_generator_, (Nproc) ] +&BEGIN_PROVIDER [ double precision, a_h_i, (N_det, Nproc) ] +&BEGIN_PROVIDER [ double precision, a_s2_i, (N_det, Nproc) ] + implicit none + current_generator_(:) = 0 + a_h_i = 0d0 + a_s2_i = 0d0 + END_PROVIDER + + + +subroutine dress_with_alpha_buffer(Nstates,Ndet,Nint,delta_ij_loc, i_gen, minilist, det_minilist, n_minilist, alpha, iproc) + use bitmasks + implicit none + BEGIN_DOC + !delta_ij_loc(:,:,1) : dressing column for H + !delta_ij_loc(:,:,2) : dressing column for S2 + !i_gen : generator index in psi_det_generators + !minilist : indices of determinants connected to alpha ( in psi_det_sorted ) + !n_minilist : size of minilist + !alpha : alpha determinant + END_DOC + integer, intent(in) :: Nint, Ndet, Nstates, n_minilist, iproc, i_gen + integer(bit_kind), intent(in) :: alpha(Nint,2), det_minilist(Nint, 2, n_minilist) + integer,intent(in) :: minilist(n_minilist) + double precision, intent(inout) :: delta_ij_loc(Nstates,N_det,2) + double precision :: haa, hij, sij + double precision, external :: diag_H_mat_elem_fock + integer :: i,j,k,l,m, l_sd + double precision :: hdress, sdress + double precision :: de, a_h_psi(Nstates), c_alpha + + + a_h_psi = 0d0 + + if(current_generator_(iproc) /= i_gen) then + current_generator_(iproc) = i_gen + call build_fock_tmp(fock_diag_tmp_(1,1,iproc),psi_det_generators(1,1,i_gen),N_int) + end if + + haa = diag_H_mat_elem_fock(psi_det_generators(1,1,i_gen),alpha,fock_diag_tmp_(1,1,iproc),N_int) + + do l_sd=1,n_minilist + call i_h_j_s2(alpha,det_minilist(1,1,l_sd),N_int,hij, sij) + a_h_i(l_sd, iproc) = hij + a_s2_i(l_sd, iproc) = sij + do i=1,Nstates + a_h_psi(i) += hij * psi_coef(minilist(l_sd), i) + end do + end do + + + do i=1,Nstates + de = E0_denominator(i) - haa + if(DABS(de) < 1D-5) cycle + + c_alpha = a_h_psi(i) / de + + do l_sd=1,n_minilist + hdress = c_alpha * a_h_i(l_sd, iproc) + sdress = c_alpha * a_s2_i(l_sd, iproc) + delta_ij_loc(i, minilist(l_sd), 1) += hdress + delta_ij_loc(i, minilist(l_sd), 2) += sdress + end do + end do +end subroutine + + +BEGIN_PROVIDER [ logical, initialize_E0_denominator ] + implicit none + BEGIN_DOC + ! If true, initialize pt2_E0_denominator + END_DOC + initialize_E0_denominator = .True. +END_PROVIDER + + +BEGIN_PROVIDER [ double precision, E0_denominator, (N_states) ] + implicit none + BEGIN_DOC + ! E0 in the denominator of the PT2 + END_DOC + if (initialize_E0_denominator) then + E0_denominator(1:N_states) = psi_energy(1:N_states) + ! call ezfio_get_full_ci_zmq_energy(pt2_E0_denominator(1)) + ! pt2_E0_denominator(1) -= nuclear_repulsion + ! pt2_E0_denominator(1:N_states) = HF_energy - nuclear_repulsion + ! pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) + else + E0_denominator = -huge(1.d0) + endif +END_PROVIDER + + diff --git a/plugins/shiftedbk/shifted_bk_slave.irp.f b/plugins/shiftedbk/shifted_bk_slave.irp.f new file mode 100644 index 00000000..27787cf2 --- /dev/null +++ b/plugins/shiftedbk/shifted_bk_slave.irp.f @@ -0,0 +1,8 @@ +program bk_slave + implicit none + BEGIN_DOC +! Helper subroutine to compute the dress in distributed mode. + END_DOC + call dress_slave +end + From 4cbe7d33a2d4adbd3a0db61ea2b7feb0015f5b12 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 29 Mar 2018 10:31:35 +0200 Subject: [PATCH 09/15] debug --- src/ZMQ/utils.irp.f | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ZMQ/utils.irp.f b/src/ZMQ/utils.irp.f index 804df09f..fac7470c 100644 --- a/src/ZMQ/utils.irp.f +++ b/src/ZMQ/utils.irp.f @@ -785,13 +785,14 @@ integer function zmq_abort(zmq_to_qp_run_socket) sze = len(trim(message)) rc = f77_zmq_send(zmq_to_qp_run_socket, trim(message), sze, 0) if (rc /= sze) then + print *, 'zmq_abort: rc /= sze', rc, sze zmq_abort = -1 return endif rc = f77_zmq_recv(zmq_to_qp_run_socket, message, 510, 0) if (trim(message(1:rc)) /= 'ok') then - print *, 'zmq_abort: '//trim(message(1:rc)) + print *, 'zmq_abort: ', rc, ':', trim(message(1:rc)) zmq_abort = -1 return endif From 7411dd28917ab1faddfb2bbd2b9f595714ea8914 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 9 Apr 2018 18:34:45 +0200 Subject: [PATCH 10/15] analyze_wf --- plugins/analyze_wf/occupation.irp.f | 8 ++++++-- plugins/dress_zmq/dress_stoch_routines.irp.f | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/analyze_wf/occupation.irp.f b/plugins/analyze_wf/occupation.irp.f index c208cda3..0962247e 100644 --- a/plugins/analyze_wf/occupation.irp.f +++ b/plugins/analyze_wf/occupation.irp.f @@ -8,13 +8,17 @@ subroutine get_occupation_from_dets(istate,occupation) integer :: i,j, ispin integer :: list(N_int*bit_kind_size,2) integer :: n_elements(2) - double precision :: c + double precision :: c, norm_2 ASSERT (istate > 0) ASSERT (istate <= N_states) occupation = 0.d0 + double precision, external :: u_dot_u + + norm_2 = 1.d0/u_dot_u(psi_coef(1,istate),N_det) + do i=1,N_det - c = psi_coef(i,istate)*psi_coef(i,istate) + c = psi_coef(i,istate)*psi_coef(i,istate)*norm_2 call bitstring_to_list_ab(psi_det(1,1,i), list, n_elements, N_int) do ispin=1,2 do j=1,n_elements(ispin) diff --git a/plugins/dress_zmq/dress_stoch_routines.irp.f b/plugins/dress_zmq/dress_stoch_routines.irp.f index f1406b7b..6bee7256 100644 --- a/plugins/dress_zmq/dress_stoch_routines.irp.f +++ b/plugins/dress_zmq/dress_stoch_routines.irp.f @@ -369,7 +369,7 @@ end function ! gen_per_cp : number of generators per checkpoint END_DOC comb_teeth = 64 - N_cps_max = 64 + N_cps_max = 256 gen_per_cp = (N_det_generators / N_cps_max) + 1 END_PROVIDER From f3a79c231678f5f4b8ff5a20837d6540a75f6afe Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 12 Apr 2018 15:29:44 +0200 Subject: [PATCH 11/15] Barycentric energy --- ocaml/myocamlbuild.ml | 13 +++++++++ plugins/Full_CI_ZMQ/energy.irp.f | 5 ++-- plugins/shiftedbk/shifted_bk_routines.irp.f | 6 ++-- src/Determinants/energy.irp.f | 31 +++++++++++++++++++++ 4 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 ocaml/myocamlbuild.ml create mode 100644 src/Determinants/energy.irp.f diff --git a/ocaml/myocamlbuild.ml b/ocaml/myocamlbuild.ml new file mode 100644 index 00000000..2980af57 --- /dev/null +++ b/ocaml/myocamlbuild.ml @@ -0,0 +1,13 @@ +open Ocamlbuild_plugin;; +open Command;; + +dispatch begin function + | Before_rules -> + begin + end + | After_rules -> + begin + flag ["ocaml";"compile";"native";"gprof"] (S [ A "-p"]); + end + | _ -> () +end diff --git a/plugins/Full_CI_ZMQ/energy.irp.f b/plugins/Full_CI_ZMQ/energy.irp.f index 281f8eea..a8361b2d 100644 --- a/plugins/Full_CI_ZMQ/energy.irp.f +++ b/plugins/Full_CI_ZMQ/energy.irp.f @@ -12,14 +12,15 @@ BEGIN_PROVIDER [ double precision, pt2_E0_denominator, (N_states) ] ! E0 in the denominator of the PT2 END_DOC if (initialize_pt2_E0_denominator) then - pt2_E0_denominator(1:N_states) = psi_energy(1:N_states) + pt2_E0_denominator(1:N_states) = psi_energy(1:N_states) ! call ezfio_get_full_ci_zmq_energy(pt2_E0_denominator(1)) ! pt2_E0_denominator(1) -= nuclear_repulsion ! pt2_E0_denominator(1:N_states) = HF_energy - nuclear_repulsion -! pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) +! pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) call write_double(6,pt2_E0_denominator(1)+nuclear_repulsion, 'PT2 Energy denominator') else pt2_E0_denominator = -huge(1.d0) endif END_PROVIDER + diff --git a/plugins/shiftedbk/shifted_bk_routines.irp.f b/plugins/shiftedbk/shifted_bk_routines.irp.f index 498e6e42..aae25315 100644 --- a/plugins/shiftedbk/shifted_bk_routines.irp.f +++ b/plugins/shiftedbk/shifted_bk_routines.irp.f @@ -84,9 +84,9 @@ BEGIN_PROVIDER [ double precision, E0_denominator, (N_states) ] if (initialize_E0_denominator) then E0_denominator(1:N_states) = psi_energy(1:N_states) ! call ezfio_get_full_ci_zmq_energy(pt2_E0_denominator(1)) - ! pt2_E0_denominator(1) -= nuclear_repulsion - ! pt2_E0_denominator(1:N_states) = HF_energy - nuclear_repulsion - ! pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) + ! E0_denominator(1) -= nuclear_repulsion + ! E0_denominator(1:N_states) = HF_energy - nuclear_repulsion + ! E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) else E0_denominator = -huge(1.d0) endif diff --git a/src/Determinants/energy.irp.f b/src/Determinants/energy.irp.f new file mode 100644 index 00000000..5a49afc2 --- /dev/null +++ b/src/Determinants/energy.irp.f @@ -0,0 +1,31 @@ +BEGIN_PROVIDER [ double precision, diagonal_H_matrix_on_psi_det, (N_det) ] + implicit none + BEGIN_DOC + ! Diagonal of the Hamiltonian ordered as psi_det + END_DOC + double precision, external :: diag_h_mat_elem + integer :: i + + do i=1,N_det + diagonal_H_matrix_on_psi_det(i) = diag_h_mat_elem(psi_det(1,1,i),N_int) + enddo + +END_PROVIDER + +BEGIN_PROVIDER [ double precision, barycentric_electronic_energy, (N_states) ] + implicit none + BEGIN_DOC + ! TODO : ASCII Elephant + END_DOC + integer :: istate,i + + barycentric_electronic_energy(:) = 0.d0 + + do istate=1,N_states + do i=1,N_det + barycentric_electronic_energy(istate) += psi_coef(i,istate)*psi_coef(i,istate)*diagonal_H_matrix_on_psi_det(i) + enddo + enddo + +END_PROVIDER + From 85bb6ac5f41b060c4638bd6b45ca7c4d39347807 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 12 Apr 2018 15:45:28 +0200 Subject: [PATCH 12/15] Added barycentric PT --- ocaml/qptypes_generator.ml | 20 +++++++++++++++++++ plugins/Full_CI_ZMQ/energy.irp.f | 10 ++++++++-- plugins/Perturbation/EZFIO.cfg | 5 +++++ plugins/shiftedbk/EZFIO.cfg | 22 +++++++++++++++++++++ plugins/shiftedbk/shifted_bk_routines.irp.f | 13 +++++++----- 5 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 plugins/shiftedbk/EZFIO.cfg diff --git a/ocaml/qptypes_generator.ml b/ocaml/qptypes_generator.ml index aa6bd533..d76120b8 100644 --- a/ocaml/qptypes_generator.ml +++ b/ocaml/qptypes_generator.ml @@ -214,6 +214,26 @@ end = struct | _ -> raise (Invalid_argument (\"Wrong IO type : \"^s)) end + +module Perturbation : sig + type t [@@deriving sexp] + val to_string : t -> string + val of_string : string -> t +end = struct + type t = + | EN + | Barycentric + [@@deriving sexp] + + let to_string = function + | EN -> \"EN\" + | Barycentric -> \"Barycentric\" + let of_string s = + match (String.lowercase_ascii s) with + | \"en\" -> EN + | \"barycentric\" -> Barycentric + | _ -> raise (Invalid_argument (\"Wrong Perturbation type : \"^s)) +end " diff --git a/plugins/Full_CI_ZMQ/energy.irp.f b/plugins/Full_CI_ZMQ/energy.irp.f index a8361b2d..72895a1d 100644 --- a/plugins/Full_CI_ZMQ/energy.irp.f +++ b/plugins/Full_CI_ZMQ/energy.irp.f @@ -12,11 +12,17 @@ BEGIN_PROVIDER [ double precision, pt2_E0_denominator, (N_states) ] ! E0 in the denominator of the PT2 END_DOC if (initialize_pt2_E0_denominator) then - pt2_E0_denominator(1:N_states) = psi_energy(1:N_states) + if (h0_type == "EN") then + pt2_E0_denominator(1:N_states) = psi_energy(1:N_states) + else if (h0_type == "Barycentric") then + pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) + else + print *, h0_type, ' not implemented' + stop + endif ! call ezfio_get_full_ci_zmq_energy(pt2_E0_denominator(1)) ! pt2_E0_denominator(1) -= nuclear_repulsion ! pt2_E0_denominator(1:N_states) = HF_energy - nuclear_repulsion -! pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) call write_double(6,pt2_E0_denominator(1)+nuclear_repulsion, 'PT2 Energy denominator') else pt2_E0_denominator = -huge(1.d0) diff --git a/plugins/Perturbation/EZFIO.cfg b/plugins/Perturbation/EZFIO.cfg index 7120e4a6..8c56b03a 100644 --- a/plugins/Perturbation/EZFIO.cfg +++ b/plugins/Perturbation/EZFIO.cfg @@ -62,4 +62,9 @@ doc: Thresholds on selectors (fraction of the norm) for final PT2 calculation interface: ezfio,provider,ocaml default: 1. +[h0_type] +type: Perturbation +doc: Type of zeroth-order Hamiltonian [ EN | Barycentric ] +interface: ezfio,provider,ocaml +default: EN diff --git a/plugins/shiftedbk/EZFIO.cfg b/plugins/shiftedbk/EZFIO.cfg new file mode 100644 index 00000000..c8dbb19e --- /dev/null +++ b/plugins/shiftedbk/EZFIO.cfg @@ -0,0 +1,22 @@ +[energy] +type: double precision +doc: Calculated energy +interface: ezfio + +[thresh_dressed_ci] +type: Threshold +doc: Threshold on the convergence of the dressed CI energy +interface: ezfio,provider,ocaml +default: 1.e-5 + +[n_it_max_dressed_ci] +type: Strictly_positive_int +doc: Maximum number of dressed CI iterations +interface: ezfio,provider,ocaml +default: 10 + +[h0_type] +type: Perturbation +doc: Type of zeroth-order Hamiltonian [ EN | Barycentric ] +interface: ezfio,provider,ocaml +default: EN diff --git a/plugins/shiftedbk/shifted_bk_routines.irp.f b/plugins/shiftedbk/shifted_bk_routines.irp.f index aae25315..e88d153c 100644 --- a/plugins/shiftedbk/shifted_bk_routines.irp.f +++ b/plugins/shiftedbk/shifted_bk_routines.irp.f @@ -82,11 +82,14 @@ BEGIN_PROVIDER [ double precision, E0_denominator, (N_states) ] ! E0 in the denominator of the PT2 END_DOC if (initialize_E0_denominator) then - E0_denominator(1:N_states) = psi_energy(1:N_states) - ! call ezfio_get_full_ci_zmq_energy(pt2_E0_denominator(1)) - ! E0_denominator(1) -= nuclear_repulsion - ! E0_denominator(1:N_states) = HF_energy - nuclear_repulsion - ! E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) + if (h0_type == "EN") then + E0_denominator(1:N_states) = psi_energy(1:N_states) + else if (h0_type == "Barycentric") then + E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) + else + print *, h0_type, ' not implemented' + stop + endif else E0_denominator = -huge(1.d0) endif From 600c82c021aa606c22ced1cd8602a44e53e28790 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 30 Apr 2018 18:43:13 +0200 Subject: [PATCH 13/15] python2 --- README.md | 4 ++-- configure => configure.py | 2 +- scripts/compilation/cache_compile.py | 2 +- scripts/compilation/qp_create_ninja.py | 2 +- scripts/compilation/read_compilation_cfg.py | 2 +- scripts/entanglement.py | 2 +- scripts/ezfio_interface/ei_handler.py | 2 +- scripts/ezfio_interface/ezfio_generate_ocaml.py | 2 +- scripts/ezfio_interface/ezfio_generate_provider.py | 2 +- scripts/ezfio_interface/qp_convert_output_to_ezfio.py | 2 +- scripts/generate_h_apply.py | 2 +- scripts/module/module_handler.py | 2 +- scripts/module/qp_module.py | 2 +- scripts/module/qp_update_readme.py | 2 +- scripts/perturbation.py | 2 +- scripts/pseudo/elts_num_ele.py | 2 +- scripts/pseudo/put_pseudo_in_ezfio.py | 2 +- scripts/qp_bitmasks.py | 2 +- scripts/qp_set_frozen_core.py | 2 +- scripts/save_current_mos.sh | 2 +- scripts/utility/get_groups.py | 2 +- scripts/utility/is_master_repository.py | 2 +- scripts/utility/qp_path.py | 2 +- 23 files changed, 24 insertions(+), 24 deletions(-) rename configure => configure.py (99%) diff --git a/README.md b/README.md index 52f949c3..6c27753d 100644 --- a/README.md +++ b/README.md @@ -41,9 +41,9 @@ Demo ### 1) Configure - $ ./configure + $ ./configure.py -For example you can type `./configure config/gfortran.cfg` +For example you can type `./configure.py config/gfortran.cfg` This command has two purposes : diff --git a/configure b/configure.py similarity index 99% rename from configure rename to configure.py index 544770e1..19c2c2fe 100755 --- a/configure +++ b/configure.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- """configure diff --git a/scripts/compilation/cache_compile.py b/scripts/compilation/cache_compile.py index 37f9b14b..d95adbda 100755 --- a/scripts/compilation/cache_compile.py +++ b/scripts/compilation/cache_compile.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 """ Save the .o from a .f90 and is the .o is asked a second time, retur it diff --git a/scripts/compilation/qp_create_ninja.py b/scripts/compilation/qp_create_ninja.py index b3e40a14..f1164627 100755 --- a/scripts/compilation/qp_create_ninja.py +++ b/scripts/compilation/qp_create_ninja.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Usage: qp_create_ninja.py create (--development | --production) diff --git a/scripts/compilation/read_compilation_cfg.py b/scripts/compilation/read_compilation_cfg.py index 8145527c..a452e31f 100755 --- a/scripts/compilation/read_compilation_cfg.py +++ b/scripts/compilation/read_compilation_cfg.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- import os diff --git a/scripts/entanglement.py b/scripts/entanglement.py index c55cc98e..c61bae8f 100755 --- a/scripts/entanglement.py +++ b/scripts/entanglement.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- import sys import matplotlib.pyplot as plt diff --git a/scripts/ezfio_interface/ei_handler.py b/scripts/ezfio_interface/ei_handler.py index 8d154fc2..4137bb0e 100755 --- a/scripts/ezfio_interface/ei_handler.py +++ b/scripts/ezfio_interface/ei_handler.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Welcome to the ei_handler. diff --git a/scripts/ezfio_interface/ezfio_generate_ocaml.py b/scripts/ezfio_interface/ezfio_generate_ocaml.py index 244f67a3..deea0463 100755 --- a/scripts/ezfio_interface/ezfio_generate_ocaml.py +++ b/scripts/ezfio_interface/ezfio_generate_ocaml.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 """ This program generates all the OCaml templates needed by qp_edit diff --git a/scripts/ezfio_interface/ezfio_generate_provider.py b/scripts/ezfio_interface/ezfio_generate_provider.py index 24b10e0e..4a8e7ec4 100755 --- a/scripts/ezfio_interface/ezfio_generate_provider.py +++ b/scripts/ezfio_interface/ezfio_generate_provider.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 __author__ = "Applencourt PEP8" __date__ = "jeudi 26 mars 2015, 12:49:35 (UTC+0100)" diff --git a/scripts/ezfio_interface/qp_convert_output_to_ezfio.py b/scripts/ezfio_interface/qp_convert_output_to_ezfio.py index 7f4f30be..6b415dd7 100755 --- a/scripts/ezfio_interface/qp_convert_output_to_ezfio.py +++ b/scripts/ezfio_interface/qp_convert_output_to_ezfio.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 """ convert output of gamess/GAU$$IAN to ezfio diff --git a/scripts/generate_h_apply.py b/scripts/generate_h_apply.py index 3b5d96c2..a100dd88 100755 --- a/scripts/generate_h_apply.py +++ b/scripts/generate_h_apply.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 import os diff --git a/scripts/module/module_handler.py b/scripts/module/module_handler.py index e6a13441..c142cdb4 100755 --- a/scripts/module/module_handler.py +++ b/scripts/module/module_handler.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Module utilitary diff --git a/scripts/module/qp_module.py b/scripts/module/qp_module.py index adeb3a46..e6baeee4 100755 --- a/scripts/module/qp_module.py +++ b/scripts/module/qp_module.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Usage: diff --git a/scripts/module/qp_update_readme.py b/scripts/module/qp_update_readme.py index cc42e49e..b76030e9 100755 --- a/scripts/module/qp_update_readme.py +++ b/scripts/module/qp_update_readme.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Updates the README.rst of a module diff --git a/scripts/perturbation.py b/scripts/perturbation.py index fab02b25..1639bd00 100755 --- a/scripts/perturbation.py +++ b/scripts/perturbation.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 import os diff --git a/scripts/pseudo/elts_num_ele.py b/scripts/pseudo/elts_num_ele.py index f0aa3179..243d3474 100644 --- a/scripts/pseudo/elts_num_ele.py +++ b/scripts/pseudo/elts_num_ele.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 import os diff --git a/scripts/pseudo/put_pseudo_in_ezfio.py b/scripts/pseudo/put_pseudo_in_ezfio.py index 9a62a3db..957e59da 100755 --- a/scripts/pseudo/put_pseudo_in_ezfio.py +++ b/scripts/pseudo/put_pseudo_in_ezfio.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Create the pseudo potential for a given atom diff --git a/scripts/qp_bitmasks.py b/scripts/qp_bitmasks.py index 3787ccb0..ff97edd3 100644 --- a/scripts/qp_bitmasks.py +++ b/scripts/qp_bitmasks.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python +#! /usr/bin/env python2 BIT_KIND_SIZE=64 diff --git a/scripts/qp_set_frozen_core.py b/scripts/qp_set_frozen_core.py index 2bfd89e5..51915170 100755 --- a/scripts/qp_set_frozen_core.py +++ b/scripts/qp_set_frozen_core.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 import os import sys diff --git a/scripts/save_current_mos.sh b/scripts/save_current_mos.sh index f9d7806f..3b546ca0 100755 --- a/scripts/save_current_mos.sh +++ b/scripts/save_current_mos.sh @@ -24,7 +24,7 @@ if [[ ! -f "${EZFIO}/mo_basis/mo_label" ]] then LABEL='no_label' else - LABEL=$(head -1 "${EZFIO}/mo_basis/mo_label") + LABEL=$(head -1 "${EZFIO}/mo_basis/mo_label" | xargs) #xargs trims the result fi DESTINATION="save/mo_basis/${LABEL}" diff --git a/scripts/utility/get_groups.py b/scripts/utility/get_groups.py index e8a24d84..0d79cae2 100755 --- a/scripts/utility/get_groups.py +++ b/scripts/utility/get_groups.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- import urllib diff --git a/scripts/utility/is_master_repository.py b/scripts/utility/is_master_repository.py index da5fb56f..c39914e1 100755 --- a/scripts/utility/is_master_repository.py +++ b/scripts/utility/is_master_repository.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 import subprocess pipe = subprocess.Popen("git config --get remote.origin.url", \ diff --git a/scripts/utility/qp_path.py b/scripts/utility/qp_path.py index f997ec21..eab6076c 100644 --- a/scripts/utility/qp_path.py +++ b/scripts/utility/qp_path.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- import os From db72510ce4fda56abc44f8bb85a1f6b2b8f17ddc Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 2 May 2018 19:52:23 +0200 Subject: [PATCH 14/15] Python2 --- configure.py => configure | 2 +- plugins/All_singles/H_apply.irp.f | 2 +- plugins/CID/H_apply.irp.f | 2 +- plugins/CID_selected/H_apply.irp.f | 4 ++-- plugins/CIS/H_apply.irp.f | 2 +- plugins/CISD/H_apply.irp.f | 2 +- plugins/CISD_SC2_selected/H_apply.irp.f | 2 +- plugins/CISD_selected/H_apply.irp.f | 4 ++-- plugins/FOBOCI/H_apply.irp.f | 2 +- plugins/Full_CI/H_apply.irp.f | 2 +- plugins/MP2/H_apply.irp.f | 2 +- plugins/MRCC_Utils/H_apply.irp.f | 2 +- plugins/MRPT_Utils/H_apply.irp.f | 2 +- plugins/Perturbation/perturbation.irp.f | 2 +- plugins/Perturbation/perturbation.template.f | 2 +- plugins/QMC/qp_convert_qmcpack_to_ezfio.py | 2 +- scripts/compilation/qp_create_ninja.py | 7 ------- src/DavidsonUndressed/guess_lowest_state.irp.f | 2 +- 18 files changed, 19 insertions(+), 26 deletions(-) rename configure.py => configure (99%) diff --git a/configure.py b/configure similarity index 99% rename from configure.py rename to configure index 19c2c2fe..9bc8f24b 100755 --- a/configure.py +++ b/configure @@ -242,7 +242,7 @@ def checking(d_dependency): version = check_output("irpf90 -v".split()).strip() from distutils.version import LooseVersion - if LooseVersion(version) < LooseVersion("1.6.7"): + if LooseVersion(version) < LooseVersion("1.7.2"): return 0 else: return a diff --git a/plugins/All_singles/H_apply.irp.f b/plugins/All_singles/H_apply.irp.f index 04eb1804..24180cba 100644 --- a/plugins/All_singles/H_apply.irp.f +++ b/plugins/All_singles/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * s = H_apply("just_1h_1p") diff --git a/plugins/CID/H_apply.irp.f b/plugins/CID/H_apply.irp.f index 41584070..600c092f 100644 --- a/plugins/CID/H_apply.irp.f +++ b/plugins/CID/H_apply.irp.f @@ -1,7 +1,7 @@ ! Generates subroutine H_apply_cid ! ---------------------------------- -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import H_apply H = H_apply("cid",do_double_exc=True,do_mono_exc=False) print H diff --git a/plugins/CID_selected/H_apply.irp.f b/plugins/CID_selected/H_apply.irp.f index e3afaa9d..f11e599a 100644 --- a/plugins/CID_selected/H_apply.irp.f +++ b/plugins/CID_selected/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * from perturbation import perturbations @@ -16,7 +16,7 @@ subroutine H_apply_cisd_selection(perturbation,pt2, norm_pert, H_pert_diag, N_st integer, intent(in) :: N_st double precision, intent(inout):: pt2(N_st), norm_pert(N_st), H_pert_diag(N_st) -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from perturbation import perturbations for perturbation in perturbations: diff --git a/plugins/CIS/H_apply.irp.f b/plugins/CIS/H_apply.irp.f index cf68267e..929f01e7 100644 --- a/plugins/CIS/H_apply.irp.f +++ b/plugins/CIS/H_apply.irp.f @@ -1,7 +1,7 @@ ! Generates subroutine H_apply_cisd ! ---------------------------------- -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import H_apply H = H_apply("cis",do_double_exc=False) print H diff --git a/plugins/CISD/H_apply.irp.f b/plugins/CISD/H_apply.irp.f index 0df1da38..a66c997d 100644 --- a/plugins/CISD/H_apply.irp.f +++ b/plugins/CISD/H_apply.irp.f @@ -1,7 +1,7 @@ ! Generates subroutine H_apply_cisd ! ---------------------------------- -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import H_apply H = H_apply("cisd") print H diff --git a/plugins/CISD_SC2_selected/H_apply.irp.f b/plugins/CISD_SC2_selected/H_apply.irp.f index 76e3d95e..85371597 100644 --- a/plugins/CISD_SC2_selected/H_apply.irp.f +++ b/plugins/CISD_SC2_selected/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * from perturbation import perturbations diff --git a/plugins/CISD_selected/H_apply.irp.f b/plugins/CISD_selected/H_apply.irp.f index 91dfb9fc..8106105f 100644 --- a/plugins/CISD_selected/H_apply.irp.f +++ b/plugins/CISD_selected/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * from perturbation import perturbations @@ -16,7 +16,7 @@ subroutine H_apply_cisd_selection(perturbation,pt2, norm_pert, H_pert_diag, N_st integer, intent(in) :: N_st double precision, intent(inout):: pt2(N_st), norm_pert(N_st), H_pert_diag(N_st) -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from perturbation import perturbations for perturbation in perturbations: diff --git a/plugins/FOBOCI/H_apply.irp.f b/plugins/FOBOCI/H_apply.irp.f index d8ab02f1..5de9d124 100644 --- a/plugins/FOBOCI/H_apply.irp.f +++ b/plugins/FOBOCI/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * s = H_apply("just_1h_1p") diff --git a/plugins/Full_CI/H_apply.irp.f b/plugins/Full_CI/H_apply.irp.f index a37e2165..bbfc67bb 100644 --- a/plugins/Full_CI/H_apply.irp.f +++ b/plugins/Full_CI/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * s = H_apply("FCI") diff --git a/plugins/MP2/H_apply.irp.f b/plugins/MP2/H_apply.irp.f index a5489149..c9842a4a 100644 --- a/plugins/MP2/H_apply.irp.f +++ b/plugins/MP2/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * from perturbation import perturbations diff --git a/plugins/MRCC_Utils/H_apply.irp.f b/plugins/MRCC_Utils/H_apply.irp.f index 7fedd1a8..375aa603 100644 --- a/plugins/MRCC_Utils/H_apply.irp.f +++ b/plugins/MRCC_Utils/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * s = H_apply("mrcc") diff --git a/plugins/MRPT_Utils/H_apply.irp.f b/plugins/MRPT_Utils/H_apply.irp.f index 6f17ab05..ee922fc4 100644 --- a/plugins/MRPT_Utils/H_apply.irp.f +++ b/plugins/MRPT_Utils/H_apply.irp.f @@ -1,5 +1,5 @@ use bitmasks -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from generate_h_apply import * s = H_apply("mrpt") diff --git a/plugins/Perturbation/perturbation.irp.f b/plugins/Perturbation/perturbation.irp.f index 208deab5..f7d1f478 100644 --- a/plugins/Perturbation/perturbation.irp.f +++ b/plugins/Perturbation/perturbation.irp.f @@ -1,4 +1,4 @@ -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] from perturbation import perturbations import os diff --git a/plugins/Perturbation/perturbation.template.f b/plugins/Perturbation/perturbation.template.f index a445bec0..6da5028f 100644 --- a/plugins/Perturbation/perturbation.template.f +++ b/plugins/Perturbation/perturbation.template.f @@ -1,4 +1,4 @@ -BEGIN_SHELL [ /usr/bin/env python ] +BEGIN_SHELL [ /usr/bin/env python2 ] import perturbation END_SHELL diff --git a/plugins/QMC/qp_convert_qmcpack_to_ezfio.py b/plugins/QMC/qp_convert_qmcpack_to_ezfio.py index 94f0c347..54f6b5b5 100755 --- a/plugins/QMC/qp_convert_qmcpack_to_ezfio.py +++ b/plugins/QMC/qp_convert_qmcpack_to_ezfio.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python2 print "#QP -> QMCPACK" diff --git a/scripts/compilation/qp_create_ninja.py b/scripts/compilation/qp_create_ninja.py index f1164627..fd20c3dc 100755 --- a/scripts/compilation/qp_create_ninja.py +++ b/scripts/compilation/qp_create_ninja.py @@ -25,7 +25,6 @@ except ImportError: "quantum_package.rc")) print "\n".join(["", "Error:", "source %s" % f, ""]) - raise sys.exit(1) @@ -820,13 +819,8 @@ if __name__ == "__main__": pickle_path = os.path.join(QP_ROOT, "config", "qp_create_ninja.pickle") if arguments["update"]: - try: with open(pickle_path, 'rb') as handle: arguments = pickle.load(handle) - except IOError: - print "You need to create first my friend" - raise - sys.exit(1) elif arguments["create"]: @@ -928,7 +922,6 @@ if __name__ == "__main__": "- Or install a module that needs {0} with a main "] print "\n".join(l_msg).format(module.rel) - raise sys.exit(1) # ~#~#~#~#~#~#~#~#~#~#~#~ # diff --git a/src/DavidsonUndressed/guess_lowest_state.irp.f b/src/DavidsonUndressed/guess_lowest_state.irp.f index f6d0a004..f827e86b 100644 --- a/src/DavidsonUndressed/guess_lowest_state.irp.f +++ b/src/DavidsonUndressed/guess_lowest_state.irp.f @@ -72,7 +72,7 @@ program first_guess call write_int(6,psi_det_size,'psi_det_size') TOUCH psi_det_size -BEGIN_SHELL [ /usr/bin/python ] +BEGIN_SHELL [ /usr/bin/env python2 ] template_alpha_ext = """ do %(i2)s = %(i1)s-1,1,-1 From b91c9ebad13c0a19f8fb54332ad5aa55acd06afa Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 7 May 2018 12:06:25 +0200 Subject: [PATCH 15/15] Merge Anouar (#69) * Converter for Pyscf * Scripts to read integrals and metadata and generates fake ezfio * update README * Trying to fix jbuilder bug in OCaml installation * Do AO->MO transformation from pyscf in QP * Optimization of reader due to format creux * Optimization of reader due to format creux 2 --- plugins/QMC/qp_convert_qmcpack_to_ezfio.py | 41 +++++- plugins/pyscf/NEEDED_CHILDREN_MODULES | 1 + plugins/pyscf/PyscfToQp.py | 137 ++++++++++++++++++ plugins/pyscf/README.rst | 21 +++ plugins/pyscf/pyscf.main.irp.f | 38 +++++ .../read_integral/Gen_Ezfio_from_integral.sh | 17 +++ plugins/read_integral/README.rst | 1 + plugins/read_integral/create_ezfio.py | 48 ++++++ .../read_integrals_achocol.irp.f | 47 ++++++ .../read_integrals_mo_chocol.irp.f | 86 +++++++++++ 10 files changed, 432 insertions(+), 5 deletions(-) create mode 100644 plugins/pyscf/NEEDED_CHILDREN_MODULES create mode 100644 plugins/pyscf/PyscfToQp.py create mode 100644 plugins/pyscf/README.rst create mode 100644 plugins/pyscf/pyscf.main.irp.f create mode 100755 plugins/read_integral/Gen_Ezfio_from_integral.sh create mode 100755 plugins/read_integral/create_ezfio.py create mode 100644 plugins/read_integral/read_integrals_achocol.irp.f create mode 100644 plugins/read_integral/read_integrals_mo_chocol.irp.f diff --git a/plugins/QMC/qp_convert_qmcpack_to_ezfio.py b/plugins/QMC/qp_convert_qmcpack_to_ezfio.py index 54f6b5b5..b6237476 100755 --- a/plugins/QMC/qp_convert_qmcpack_to_ezfio.py +++ b/plugins/QMC/qp_convert_qmcpack_to_ezfio.py @@ -333,11 +333,14 @@ if do_pseudo: # |_/ (/_ |_ # + psi_coef = ezfio.get_determinants_psi_coef() psi_det = ezfio.get_determinants_psi_det() bit_kind = ezfio.get_determinants_bit_kind() +nexcitedstate = ezfio.get_determinants_n_states() + print "" print "BEGIN_DET" print "" @@ -349,7 +352,11 @@ if "QP_STATE" in os.environ: state = int(os.environ["QP_STATE"])-1 else: state = 0 -psi_coef = psi_coef[state] + +psi_coef_small = psi_coef[state] + + + encode = 8*bit_kind @@ -359,11 +366,35 @@ def bindigits(n, bits): decode = lambda det: ''.join(bindigits(i,encode)[::-1] for i in det)[:mo_num] -for coef, (det_a, det_b) in zip(psi_coef, psi_det): +MultiDetAlpha = [] +MultiDetBeta = [] +for coef, (det_a, det_b) in zip(psi_coef_small, psi_det): print coef - print decode(det_a) - print decode(det_b) + MyDetA=decode(det_a) + MyDetB=decode(det_b) + print MyDetA + print MyDetB print '' - + MultiDetAlpha.append( det_a ) + MultiDetBeta.append( det_b ) print "END_DET" + +import h5py +H5_qmcpack=h5py.File('MultiDet.h5','w') +groupMultiDet=H5_qmcpack.create_group("MultiDet") +groupMultiDet.create_dataset("NbDet",(1,),dtype="f8",data=len(psi_coef_small)) + +groupMultiDet.create_dataset("Coeff",(len(psi_coef_small),),dtype="f8",data=psi_coef) +groupMultiDet.create_dataset("nstate",(1,),dtype="i4",data=len(MyDetA)) +groupMultiDet.create_dataset("nexcitedstate",(1,),dtype="i4",data=nexcitedstate) +groupMultiDet.create_dataset("Nbits",(1,),dtype="i4",data=len(det_a)) + +print "temp=",MultiDetAlpha[0] +mylen="S"+str(len(MyDetA)) +groupMultiDet.create_dataset("CI_Alpha",(len(psi_coef_small),len(det_a)),dtype='i8',data=MultiDetAlpha) + +mylen="S"+str(len(MyDetB)) +groupMultiDet.create_dataset("CI_Beta",(len(psi_coef_small),len(det_b)),dtype='i8',data=MultiDetBeta) + +H5_qmcpack.close() diff --git a/plugins/pyscf/NEEDED_CHILDREN_MODULES b/plugins/pyscf/NEEDED_CHILDREN_MODULES new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/plugins/pyscf/NEEDED_CHILDREN_MODULES @@ -0,0 +1 @@ + diff --git a/plugins/pyscf/PyscfToQp.py b/plugins/pyscf/PyscfToQp.py new file mode 100644 index 00000000..74ef951c --- /dev/null +++ b/plugins/pyscf/PyscfToQp.py @@ -0,0 +1,137 @@ + +import numpy,re,sys + +def pyscf2QP(cell,mf, kpts=[], int_threshold = 1E-15): + # The integral will be not printed in they are bellow that + + + PBC=False + ComputeMode= re.split('[. ]', str(mf)) + print 'ComputeMode=',ComputeMode + + for n in ComputeMode: + if n in ("UHF","KUHF","UKS"): + sys.exit('Unrestricted calculation unsupported in Quantum Package') + if n == "pbc": + PBC=True + + if PBC and len(kpts) == 0: + sys.exit("ERROR (read!): You need to specify explicit the list of K-point (including gamma)") + + print 'Performing PBC?:',PBC + if PBC: + from pyscf.pbc import ao2mo + from pyscf.pbc import tools + else: + from pyscf import ao2mo + + natom = len(cell.atom_coords()) + print 'n_atom', natom + print 'num_elec', cell.nelectron + print 'nucl_num', len(cell.atom_coords()) + + + print '' + mo_coeff = mf.mo_coeff # List of mo_coeff for each k-point + if not PBC: + nmo = mo_coeff.shape[1] + else: + nmo = mo_coeff[0].shape[1] + + + # Wrote all the parameter need to creat a dummy EZFIO folder who will containt the integral after. + # More an implentation detail than a real thing + with open('param','w') as f: + f.write(' '.join(map(str,(cell.nelectron, nmo, natom)))) + # _ + # |\ | _ | _ _. ._ |_) _ ._ | _ o _ ._ + # | \| |_| (_ | (/_ (_| | | \ (/_ |_) |_| | _> | (_) | | + # | + + print 'mf, cell', mf.energy_nuc(), cell.energy_nuc() + shift = tools.pbc.madelung(cell, numpy.zeros(3))*cell.nelectron * -.5 if PBC else 0 + e_nuc = cell.energy_nuc() + shift + + print 'nucl_repul', e_nuc + with open('e_nuc','w') as f: + f.write(str(e_nuc)) + + + from itertools import product + + # ___ + # | ._ _|_ _ _ ._ _. | _ |\/| _ ._ _ + # _|_ | | |_ (/_ (_| | (_| | _> | | (_) | | (_) + # _| + + if PBC: + h_ao = ('kinetic', mf.get_hcore(kpts=kpts) ) # Give only one k point ? + dummy_ao = ('nuclear', numpy.zeros( (len(kpts),nmo,nmo), dtype=numpy.float )) + else: + h_ao = ('kinetic', mf.get_hcore() ) + dummy_ao = ('nuclear', numpy.zeros( (nmo,nmo), dtype=numpy.float )) + + def gen_mono_MO(mo_coeff,l_int,shift=0): + # 2Id transfortion Transformation. For now we handle only one or zero K point. + print 'l_int.shape=',l_int.shape + + l_int_mo = reduce(numpy.dot, (mo_coeff.T, l_int, mo_coeff)) #This formula is only right for one kpt. + + print 'l_int_mo=',l_int_mo + + for i,j in product(range(nmo), repeat=2): + int_ = l_int_mo[i,j] + yield (i+1+shift,j+1+shift, int_) + + # Print + for name, ao in (h_ao,dummy_ao): + with open('%s_mo' % name,'w') as f: + print '%s_mo' % name + if not PBC: + for mono in gen_mono_MO(mo_coeff,ao): + f.write('%s %s %s\n'% mono) + else: + for i,(m,a) in enumerate(zip(mo_coeff,ao)): + for mono in gen_mono_MO(m,a,i): + f.write('%s %s %s\n'% mono) + + # ___ _ + # | ._ _|_ _ _ ._ _. | _ |_) o + # _|_ | | |_ (/_ (_| | (_| | _> |_) | + # _| + # + + def ao2mo_amazing(mo_coeff): + if PBC: + eri_4d= mf.with_df.ao2mo(mo_coeff,compact=False) + else: + eri_4d= ao2mo.kernel(cell,mo_coeff,compact=False) + + return eri_4d.reshape((nmo,)*4) + + + def write_amazing(eri_4d, shift=0): + + # HANDLE 8 FOLD by Scemama way. Maybe we can use compact=True + for l in range(nmo): + for k in range(nmo): + for j in range(l,nmo): + for i in range(max(j,k),nmo): + v = eri_4d[i,k,j,l] + if abs(v) > int_threshold: + f.write('%s %s %s %s %s\n' % (i+1+shift,j+1+shift,k+1+shift,l+1+shift,v)) + + + if PBC: + eri_4d= mf.with_df.ao2mo(mo_coeff[0],compact=False) + else: #Molecular + eri_4d= ao2mo.kernel(cell,mo_coeff,compact=False) + + eri_4d = eri_4d.reshape((nmo,)*4) + + f = open('bielec_mo','w') + for i,mc in enumerate(mo_coeff): + eri = ao2mo_amazing(mc) + write_amazing(eri, nmo*i) + + diff --git a/plugins/pyscf/README.rst b/plugins/pyscf/README.rst new file mode 100644 index 00000000..6588ef08 --- /dev/null +++ b/plugins/pyscf/README.rst @@ -0,0 +1,21 @@ +===== +pyscf +===== +Converter from Pyscf to Quatum Package for Molecules AND Solids +Import this script in your Pyscf input. + + +Use as follow: +``` + from MolPyscfToQP import pyscf2QP + pyscf2QP(cell,mf,kpts=kpts,int_threshold = 1E-15) + +``` +Needed Modules +============== +.. Do not edit this section It was auto-generated +.. by the `update_README.py` script. +Documentation +============= +.. Do not edit this section It was auto-generated +.. by the `update_README.py` script. diff --git a/plugins/pyscf/pyscf.main.irp.f b/plugins/pyscf/pyscf.main.irp.f new file mode 100644 index 00000000..dc2013c2 --- /dev/null +++ b/plugins/pyscf/pyscf.main.irp.f @@ -0,0 +1,38 @@ +program pyscf + implicit none + BEGIN_DOC +! TODO + END_DOC + print *, ' _/ ' + print *, ' -:\_?, _Jm####La ' + print *, 'J"(:" > _]#AZ#Z#UUZ##, ' + print *, '_,::./ %(|i%12XmX1*1XL _?, ' + print *, ' \..\ _\(vmWQwodY+ia%lnL _",/ ( ' + print *, ' .:< ]J=mQD?WXn|,)nr" ' + print *, ' 4XZ#Xov1v}=)vnXAX1nnv;1n" ' + print *, ' ]XX#ZXoovvvivnnnlvvo2*i7 ' + print *, ' "23Z#1S2oo2XXSnnnoSo2>v" ' + print *, ' miX#L -~`""!!1}oSoe|i7 ' + print *, ' 4cn#m, v221=|v[ ' + print *, ' ]hI3Zma,;..__wXSe=+vo ' + print *, ' ]Zov*XSUXXZXZXSe||vo2 ' + print *, ' ]Z#>=|< ' + print *, ' -ziiiii||||||+||==+> ' + print *, ' -%|+++||=|=+|=|==/ ' + print *, ' -a>====+|====-:- ' + print *, ' "~,- -- /- ' + print *, ' -. )> ' + print *, ' .~ +- ' + print *, ' . .... : . ' + print *, ' -------~ ' + print *, '' +end diff --git a/plugins/read_integral/Gen_Ezfio_from_integral.sh b/plugins/read_integral/Gen_Ezfio_from_integral.sh new file mode 100755 index 00000000..d190ffae --- /dev/null +++ b/plugins/read_integral/Gen_Ezfio_from_integral.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +ezfio=$1 +# Create the integral +echo 'Create Integral' + +echo 'Create EZFIO' +read nel nmo natom <<< $(cat param) +read e_nucl <<< $(cat e_nuc) +./create_ezfio.py $ezfio $nel $natom $nmo $e_nucl +#Handle the orbital consitensy check +qp_edit -c $ezfio &> /dev/null +cp $ezfio/{ao,mo}_basis/ao_md5 + +#Read the integral +echo 'Read Integral' +qp_run read_integrals_mo $ezfio diff --git a/plugins/read_integral/README.rst b/plugins/read_integral/README.rst index 02b63512..a027ede8 100644 --- a/plugins/read_integral/README.rst +++ b/plugins/read_integral/README.rst @@ -3,6 +3,7 @@ read_integral ============= Warning: CAN NOT CHANGE THE NUMBER OF MO ! +Scripts to read integrals and metadata and generates fake ezfio Needed Modules ============== diff --git a/plugins/read_integral/create_ezfio.py b/plugins/read_integral/create_ezfio.py new file mode 100755 index 00000000..acad3441 --- /dev/null +++ b/plugins/read_integral/create_ezfio.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python +from ezfio import ezfio + +import sys +filename = sys.argv[1] +num_elec, nucl_num, mo_tot_num = map(int,sys.argv[2:5]) + +nuclear_repulsion = float(sys.argv[5]) +ezfio.set_file(filename) + +#Important ! +import math +ezfio.electrons_elec_alpha_num = int(math.ceil(num_elec / 2.)) +ezfio.electrons_elec_beta_num = int(math.floor(num_elec / 2.)) + + +#Important +ezfio.set_nuclei_nucl_num(nucl_num) +ezfio.set_nuclei_nucl_charge([0.]*nucl_num) +ezfio.set_nuclei_nucl_coord( [ [0.], [0.], [0.] ]*nucl_num ) +ezfio.set_nuclei_nucl_label( ['He'] * nucl_num ) + +ezfio.set_nuclei_disk_access_nuclear_repulsion('Read') +ezfio.set_nuclei_nuclear_repulsion(nuclear_repulsion) + +# Ao num +ao_num = mo_tot_num +ezfio.set_ao_basis_ao_basis("Dummy one. We read MO") +ezfio.set_ao_basis_ao_num(ao_num) +ezfio.set_ao_basis_ao_nucl([1]*ao_num) #Maybe put a realy incorrect stuff + +#Just need one +ao_prim_num_max = 5 + +d = [ [0] *ao_prim_num_max]*ao_num +ezfio.set_ao_basis_ao_prim_num([ao_prim_num_max]*ao_num) +ezfio.set_ao_basis_ao_power(d) +ezfio.set_ao_basis_ao_coef(d) +ezfio.set_ao_basis_ao_expo(d) + +#Dummy one +ao_md5 = '3b8b464dfc95f282129bde3efef3c502' +ezfio.set_ao_basis_ao_md5(ao_md5) +ezfio.set_mo_basis_ao_md5(ao_md5) + + +ezfio.set_mo_basis_mo_tot_num(mo_tot_num) +ezfio.set_mo_basis_mo_coef([ [0]*mo_tot_num] * ao_num) diff --git a/plugins/read_integral/read_integrals_achocol.irp.f b/plugins/read_integral/read_integrals_achocol.irp.f new file mode 100644 index 00000000..d6b51b25 --- /dev/null +++ b/plugins/read_integral/read_integrals_achocol.irp.f @@ -0,0 +1,47 @@ +program read_integrals + + PROVIDE ezfio_filename + call ezfio_set_integrals_monoelec_disk_access_ao_one_integrals("None") + call run +end + +subroutine run + use map_module + implicit none + + integer :: iunit + integer :: getunitandopen + + integer ::i,j,k,l + double precision :: integral + double precision, allocatable :: A(:,:) + + integer :: n_integrals + integer(key_kind), allocatable :: buffer_i(:) + real(integral_kind), allocatable :: buffer_values(:) + integer(key_kind) :: key + + call ezfio_set_integrals_monoelec_disk_access_ao_one_integrals("Read") + + allocate(buffer_i(ao_num**4/8), buffer_values(ao_num**4/8)) + + iunit = getunitandopen('bielec_ao','r') + n_integrals=0 + do + read (iunit,*,end=13) i,j,k,l, integral + n_integrals += 1 + call bielec_integrals_index(i, j, k, l, buffer_i(n_integrals) ) + buffer_values(n_integrals) = integral + enddo + 13 continue + close(iunit) + + call insert_into_ao_integrals_map(n_integrals,buffer_i,buffer_values) + + call map_sort(ao_integrals_map) + call map_unique(ao_integrals_map) + + call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map) + call ezfio_set_integrals_bielec_disk_access_ao_integrals('Read') + +end diff --git a/plugins/read_integral/read_integrals_mo_chocol.irp.f b/plugins/read_integral/read_integrals_mo_chocol.irp.f new file mode 100644 index 00000000..8e5fde8e --- /dev/null +++ b/plugins/read_integral/read_integrals_mo_chocol.irp.f @@ -0,0 +1,86 @@ +program read_integrals + BEGIN_DOC +! Reads the integrals from the following files: +! - kinetic_mo +! - nuclear_mo +! - bielec_mo + END_DOC + + integer :: iunit + integer :: getunitandopen + integer :: i,j,n + + PROVIDE ezfio_filename + call ezfio_set_integrals_monoelec_disk_access_mo_one_integrals("None") + + logical :: has + call ezfio_has_mo_basis_mo_tot_num(has) + if (.not.has) then + + iunit = getunitandopen('nuclear_mo','r') + n=0 + do + read (iunit,*,end=12) i + n = max(n,i) + enddo + 12 continue + close(iunit) + call ezfio_set_mo_basis_mo_tot_num(n) + + call ezfio_has_ao_basis_ao_num(has) + mo_label = "None" + if (has) then + call huckel_guess + else + call ezfio_set_ao_basis_ao_num(n) + endif + endif + call run +end + +subroutine run + use map_module + implicit none + + integer :: iunit + integer :: getunitandopen + + integer ::i,j,k,l + double precision :: integral + double precision, allocatable :: A(:,:) + + integer :: n_integrals + integer(key_kind), allocatable :: buffer_i(:) + real(integral_kind), allocatable :: buffer_values(:) + integer(key_kind) :: key + + call ezfio_get_mo_basis_mo_tot_num(mo_tot_num) + + allocate (A(mo_tot_num,mo_tot_num)) + A = 0.d0 + + iunit = getunitandopen('kinetic_mo','r') + do + read (iunit,*,end=10) i,j, integral + A(i,j) = integral + enddo + 10 continue + close(iunit) + call write_one_e_integrals('mo_kinetic_integral', A, size(A,1), size(A,2)) + + + iunit = getunitandopen('nuclear_mo','r') + do + read (iunit,*,end=12) i,j, integral + A(i,j) = integral + enddo + 12 continue + close(iunit) + call write_one_e_integrals('mo_ne_integral', A, size(A,1), size(A,2)) + + call write_one_e_integrals('mo_pseudo_integral', mo_pseudo_integral,& + size(mo_pseudo_integral,1), size(mo_pseudo_integral,2)) + + + call ezfio_set_integrals_monoelec_disk_access_mo_one_integrals("Read") +end