9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 03:23:29 +01:00
This commit is contained in:
Anthony Scemama 2020-05-13 11:48:20 +02:00
commit eb91084ee9
33 changed files with 31858 additions and 5115 deletions

View File

@ -1,519 +1,195 @@
HYDROGEN ! Obtained from
S 8 ! https://pseudopotentiallibrary.org
1 23.843185 0.00411490
2 10.212443 0.01046440
3 4.374164 0.02801110
4 1.873529 0.07588620
5 0.802465 0.18210620
6 0.343709 0.34852140
7 0.147217 0.37823130
8 0.063055 0.11642410
S 1
1 0.040680 1.00000000
S 1
1 0.139013 1.00000000
P 1
1 0.166430 1.00000000
P 1
1 0.740212 1.00000000
SODIUM $DATA
S 12
1 50.364926 -0.00144900
2 24.480199 -0.00059000
3 11.898760 -0.11881800
4 5.783470 -0.01085600
5 2.811093 0.25078300
6 1.366350 0.44727600
7 0.664123 0.34725400
8 0.322801 0.08065200
9 0.156900 0.00120800
10 0.076262 0.00040900
11 0.037068 0.00011200
12 0.018017 0.00007200
S 12
1 50.364926 0.00021200
2 24.480199 0.00037900
3 11.898760 0.01958200
4 5.783470 0.00062300
5 2.811093 -0.04578100
6 1.366350 -0.08872800
7 0.664123 -0.11295200
8 0.322801 -0.10839600
9 0.156900 0.00990100
10 0.076262 0.35541800
11 0.037068 0.56145100
12 0.018017 0.19899800
S 1
1 0.073591 1.00000000
S 1
1 0.036796 1.00000000
P 12
1 77.769943 0.00005400
2 42.060816 -0.00001600
3 22.748020 0.01257100
4 12.302957 0.07960100
5 6.653887 0.14044200
6 3.598664 0.21214100
7 1.946289 0.26179900
8 1.052624 0.25582000
9 0.569297 0.18035900
10 0.307897 0.07216500
11 0.166522 0.01066300
12 0.090061 0.00153800
P 12
1 77.769943 -0.00065600
2 42.060816 0.00313700
3 22.748020 -0.01100400
4 12.302957 0.00937600
5 6.653887 -0.06647900
6 3.598664 0.05895900
7 1.946289 -0.22105000
8 1.052624 0.30349100
9 0.569297 -0.67170500
10 0.307897 1.06436000
11 0.166522 -1.53048900
12 0.090061 1.84316700
P 1
1 0.063647 1.00000000
P 1
1 0.031823 1.00000000
D 1
1 0.093145 1.00000000
D 1
1 0.046573 1.00000000
MAGNESIUM POTASSIUM
S 12 S 13
1 63.931893 -0.00079400 1 33.190598 0.00093460
2 31.602596 0.00747900 2 17.266513 -0.01746080
3 15.621687 -0.13624600 3 8.982438 0.15299840
4 7.722059 -0.03203300 4 4.672871 -0.34050680
5 3.817142 0.21682300 5 2.430935 -0.22863440
6 1.886877 0.45136400 6 1.264628 0.22672980
7 0.932714 0.37759900 7 0.657889 0.54910420
8 0.461056 0.09431900 8 0.342249 0.42310450
9 0.227908 0.00170300 9 0.178046 0.09104080
10 0.112659 0.00048500 10 0.092623 0.00345520
11 0.055689 -0.00015100 11 0.048185 -0.00028370
12 0.027528 0.00003100 12 0.025067 0.00055460
S 12 13 0.013040 0.00000310
1 63.931893 0.00010600 S 13
2 31.602596 -0.00108600 1 33.190598 -0.00013550
3 15.621687 0.02867600 2 17.266513 0.00327580
4 7.722059 0.00578100 3 8.982438 -0.03127550
5 3.817142 -0.05065300 4 4.672871 0.07304500
6 1.886877 -0.11687700 5 2.430935 0.04905170
7 0.932714 -0.16512100 6 1.264628 -0.05320270
8 0.461056 -0.11801600 7 0.657889 -0.13678160
9 0.227908 0.10836500 8 0.342249 -0.16629980
10 0.112659 0.41475500 9 0.178046 -0.15469740
11 0.055689 0.47763300 10 0.092623 0.00178980
12 0.027528 0.17347600 11 0.048185 0.40887000
S 1 12 0.025067 0.56715150
1 0.041150 1.00000000 13 0.013040 0.18420760
S 1
1 0.020575 1.00000000
P 12 P 12
1 28.231094 0.01131700 1 25.955983 0.00005310
2 14.891993 0.08703900 2 12.863527 0.00359740
3 7.855575 0.16268300 3 6.375036 -0.04058580
4 4.143841 0.24138600 4 3.159405 -0.04220760
5 2.185889 0.29006400 5 1.565770 0.20965770
6 1.153064 0.25299100 6 0.775980 0.39509450
7 0.608245 0.13309700 7 0.384568 0.37504360
8 0.320851 0.02894100 8 0.190588 0.15682480
9 0.169250 0.00320900 9 0.094453 0.01966940
10 0.089280 0.00026800 10 0.046810 0.00125380
11 0.047095 0.00025700 11 0.023199 0.00029050
12 0.024843 -0.00003700 12 0.011497 -0.00000980
P 12 P 12
1 28.231094 -0.00182200 1 25.955983 -0.00001130
2 14.891993 -0.01360300 2 12.863527 -0.00050130
3 7.855575 -0.02570000 3 6.375036 0.00601080
4 4.143841 -0.03907600 4 3.159405 0.00570550
5 2.185889 -0.04877900 5 1.565770 -0.03288980
6 1.153064 -0.04599000 6 0.775980 -0.05912520
7 0.608245 -0.03165800 7 0.384568 -0.06798030
8 0.320851 0.04917800 8 0.190588 -0.04852530
9 0.169250 0.18690900 9 0.094453 0.02182800
10 0.089280 0.37939600 10 0.046810 0.27827650
11 0.047095 0.33543100 11 0.023199 0.48640440
12 0.024843 0.18405800 12 0.011497 0.31832720
D 11
1 25.002828 0.00002860
2 10.959775 -0.00030190
3 4.804124 0.00482980
4 2.105846 0.01402200
5 0.923080 0.02589140
6 0.404624 0.03605440
7 0.177364 0.04862730
8 0.077746 0.10242950
9 0.034079 0.28114010
10 0.014938 0.51238900
11 0.006548 0.25265610
S 1
1 0.910504 1.00000000
S 1
1 0.538624 1.00000000
S 1
1 0.051786 1.00000000
S 1
1 0.019252 1.00000000
S 1
1 0.009626 1.00000000
P 1 P 1
1 0.038365 1.00000000 1 0.479550 1.00000000
P 1 P 1
1 0.019183 1.00000000 1 0.234482 1.00000000
P 1
1 0.027763 1.00000000
P 1
1 0.012100 1.00000000
P 1
1 0.006050 1.00000000
D 1 D 1
1 0.196017 1.00000000 1 1.034207 1.00000000
D 1 D 1
1 0.098008 1.00000000 1 0.013386 1.00000000
D 1
1 0.006693 1.00000000
ALUMINUM CALCIUM
S 12 S 13
1 78.990577 -0.00048100 1 38.909972 0.00094450
2 39.484884 0.01309500 2 20.573489 -0.01770900
3 19.737241 -0.14615300 3 10.878148 0.14349340
4 9.866021 -0.04520600 4 5.751777 -0.28035140
5 4.931711 0.19070800 5 3.041228 -0.28847700
6 2.465206 0.45320700 6 1.608037 0.17248640
7 1.232278 0.39882400 7 0.850243 0.55290080
8 0.615977 0.10364800 8 0.449563 0.46769880
9 0.307907 0.00224700 9 0.237704 0.09929150
10 0.153913 0.00079000 10 0.125685 0.00665130
11 0.076936 -0.00014000 11 0.066456 -0.00192570
12 0.038458 0.00006400 12 0.035138 0.00096120
S 12 13 0.018579 -0.00024390
1 78.990577 0.00002400 S 13
2 39.484884 -0.00262700 1 38.909972 -0.00018310
3 19.737241 0.03694800 2 20.573489 0.00425520
4 9.866021 0.01070500 3 10.878148 -0.03727720
5 4.931711 -0.05334200 4 5.751777 0.07704740
6 2.465206 -0.14418800 5 3.041228 0.07822310
7 1.232278 -0.21396900 6 1.608037 -0.05175260
8 0.615977 -0.12558500 7 0.850243 -0.17462310
9 0.307907 0.19397000 8 0.449563 -0.25326320
10 0.153913 0.48467400 9 0.237704 -0.16061050
11 0.076936 0.41941400 10 0.125685 0.12654760
12 0.038458 0.11043000 11 0.066456 0.46487670
S 1 12 0.035138 0.47840060
1 0.062950 1.00000000 13 0.018579 0.15642960
S 1
1 0.030399 1.00000000
P 12 P 12
1 33.993368 0.01190800 1 31.519451 -0.00013110
2 17.617051 0.09748500 2 15.831494 0.00581110
3 9.130030 0.18047400 3 7.951795 -0.04461000
4 4.731635 0.26552200 4 3.994003 -0.04239180
5 2.452168 0.30797700 5 2.006096 0.18028850
6 1.270835 0.23506100 6 1.007616 0.40747440
7 0.658610 0.08963100 7 0.506102 0.38646720
8 0.341324 0.01108300 8 0.254203 0.15452190
9 0.176891 0.00157700 9 0.127681 0.01706770
10 0.091674 0.00000700 10 0.064131 0.00315970
11 0.047510 0.00021500 11 0.032211 -0.00022470
12 0.024622 -0.00002200 12 0.016179 0.00016830
P 12 P 12
1 33.993368 -0.00218300 1 31.519451 0.00002060
2 17.617051 -0.01736200 2 15.831494 -0.00124550
3 9.130030 -0.03229200 3 7.951795 0.01011140
4 4.731635 -0.04981000 4 3.994003 0.00894270
5 2.452168 -0.05992600 5 2.006096 -0.04458680
6 1.270835 -0.05255300 6 1.007616 -0.09627520
7 0.658610 0.00198900 7 0.506102 -0.11300730
8 0.341324 0.13005200 8 0.254203 -0.06533320
9 0.176891 0.28008900 9 0.127681 0.14680910
10 0.091674 0.37433900 10 0.064131 0.44119800
11 0.047510 0.27285700 11 0.032211 0.42763180
12 0.024622 0.08514500 12 0.016179 0.12519670
P 1 D 11
1 0.053015 1.00000000 1 28.997930 0.00227830
P 1 2 13.712713 0.01197270
1 0.014456 1.00000000 3 6.484549 0.02273230
D 1 4 3.066452 0.06997740
1 0.189387 1.00000000 5 1.450082 0.12588700
D 1 6 0.685723 0.17597110
1 0.053602 1.00000000 7 0.324269 0.20962750
8 0.153342 0.25661550
SILICON 9 0.072513 0.28874140
S 12 10 0.034291 0.22477940
1 96.651837 -0.00044000 11 0.016216 0.08294810
2 48.652547 0.01867100
3 24.490692 -0.15435300
4 12.328111 -0.05773800
5 6.205717 0.16808700
6 3.123831 0.45342800
7 1.572472 0.41767500
8 0.791550 0.11190100
9 0.398450 0.00333700
10 0.200572 0.00099500
11 0.100964 -0.00003800
12 0.050823 0.00006900
S 12
1 96.651837 -0.00000400
2 48.652547 -0.00442100
3 24.490692 0.04336200
4 12.328111 0.01585300
5 6.205717 -0.05170600
6 3.123831 -0.16289500
7 1.572472 -0.25021800
8 0.791550 -0.12421600
9 0.398450 0.24632500
10 0.200572 0.50589900
11 0.100964 0.38631400
12 0.050823 0.08770100
S 1 S 1
1 0.086279 1.00000000 1 1.383790 1.00000000
S 1 S 1
1 0.052598 1.00000000 1 0.701508 1.00000000
P 12
1 40.315996 0.01293800
2 21.171265 0.09812900
3 11.117733 0.17932400
4 5.838290 0.26388600
5 3.065879 0.30927200
6 1.609995 0.23274800
7 0.845462 0.08590000
8 0.443980 0.01026000
9 0.233149 0.00156000
10 0.122434 -0.00000300
11 0.064294 0.00023200
12 0.033763 -0.00002300
P 12
1 40.315996 0.00283300
2 21.171265 0.02086900
3 11.117733 0.03823600
4 5.838290 0.05967900
5 3.065879 0.07277600
6 1.609995 0.06112900
7 0.845462 -0.01677600
8 0.443980 -0.17225900
9 0.233149 -0.32119600
10 0.122434 -0.36282800
11 0.064294 -0.22078900
12 0.033763 -0.05515200
P 1
1 0.079370 1.00000000
P 1
1 0.025699 1.00000000
D 1
1 0.274454 1.00000000
D 1
1 0.082112 1.00000000
PHOSPHORUS
S 12
1 269.443884 0.00005500
2 127.601401 -0.00062400
3 60.428603 0.01940000
4 28.617367 -0.16550900
5 13.552418 -0.05426500
6 6.418062 0.25444000
7 3.039422 0.54966100
8 1.439389 0.32228500
9 0.681656 0.02663200
10 0.322814 0.00420300
11 0.152876 -0.00123300
12 0.072398 0.00049700
S 12
1 269.443884 0.00001800
2 127.601401 -0.00002600
3 60.428603 -0.00493300
4 28.617367 0.05012000
5 13.552418 0.01580100
6 6.418062 -0.08446300
7 3.039422 -0.24674200
8 1.439389 -0.27632600
9 0.681656 0.10027400
10 0.322814 0.51720100
11 0.152876 0.47975800
12 0.072398 0.12409900
S 1 S 1
1 0.111116 1.00000000 1 0.066369 1.00000000
S 1 S 1
1 0.070425 1.00000000 1 0.026432 1.00000000
P 12
1 48.154282 0.01288400
2 25.406431 0.09709500
3 13.404555 0.17821500
4 7.072308 0.26596400
5 3.731384 0.31293300
6 1.968696 0.23068600
7 1.038693 0.08048900
8 0.548020 0.00908500
9 0.289138 0.00124800
10 0.152550 -0.00006600
11 0.080486 0.00012900
12 0.042465 -0.00002900
P 12
1 48.154282 -0.00315200
2 25.406431 -0.02300600
3 13.404555 -0.04239800
4 7.072308 -0.06747700
5 3.731384 -0.08295200
6 1.968696 -0.06602600
7 1.038693 0.03446800
8 0.548020 0.20901800
9 0.289138 0.34717900
10 0.152550 0.34480600
11 0.080486 0.18173100
12 0.042465 0.03664900
P 1
1 0.110006 1.00000000
P 1
1 0.032651 1.00000000
D 1
1 0.373518 1.00000000
D 1
1 0.111363 1.00000000
SULFUR
S 12
1 306.317903 0.00006400
2 146.602801 -0.00078500
3 70.163647 0.02247100
4 33.580104 -0.16987100
5 16.071334 -0.06189700
6 7.691691 0.24003900
7 3.681219 0.55164900
8 1.761820 0.33438600
9 0.843202 0.03132300
10 0.403554 0.00443600
11 0.193140 -0.00101500
12 0.092436 0.00050700
S 12
1 306.317903 0.00002100
2 146.602801 -0.00000400
3 70.163647 -0.00611900
4 33.580104 0.05447100
5 16.071334 0.01934400
6 7.691691 -0.08383900
7 3.681219 -0.26532200
8 1.761820 -0.29306500
9 0.843202 0.11373000
10 0.403554 0.52928200
11 0.193140 0.46625400
12 0.092436 0.12580000
S 1 S 1
1 0.138193 1.00000000 1 0.006700 1.00000000
S 1
1 0.091639 1.00000000
P 12
1 55.148271 0.01344700
2 29.056588 0.10167000
3 15.309371 0.18519200
4 8.066220 0.27583600
5 4.249940 0.31707300
6 2.239213 0.21706600
7 1.179799 0.06576500
8 0.621614 0.00651700
9 0.327517 0.00111100
10 0.172562 0.00022200
11 0.090920 0.00018100
12 0.047904 0.00000800
P 12
1 55.148271 0.00354200
2 29.056588 0.02579700
3 15.309371 0.04726000
4 8.066220 0.07559400
5 4.249940 0.09198000
6 2.239213 0.06206700
7 1.179799 -0.07125300
8 0.621614 -0.25020600
9 0.327517 -0.34929500
10 0.172562 -0.31270000
11 0.090920 -0.15589800
12 0.047904 -0.03041800
P 1 P 1
1 0.132347 1.00000000 1 0.563426 1.00000000
P 1 P 1
1 0.043576 1.00000000 1 0.261483 1.00000000
D 1
1 0.480399 1.00000000
D 1
1 0.145431 1.00000000
CHLORINE
S 10
1 15.583847 0.002501
2 8.858485 -0.010046
3 5.035519 0.085810
4 2.862391 -0.290136
5 1.627098 -0.140314
6 0.924908 0.146839
7 0.525755 0.392484
8 0.298860 0.425061
9 0.169884 0.227195
10 0.096569 0.059828
S 1
1 0.648040 1.000000
S 1
1 0.151979 1.000000
P 10
1 7.682894 -0.004609
2 4.507558 -0.001798
3 2.644587 -0.068614
4 1.551581 0.062352
5 0.910313 0.166337
6 0.534081 0.282292
7 0.313346 0.275967
8 0.183840 0.241328
9 0.107859 0.110223
10 0.063281 0.040289
P 1 P 1
1 0.633351 1.000000 1 0.076223 1.00000000
P 1 P 1
1 0.405005 1.000000 1 0.027633 1.00000000
D 1
1 0.633222 1.000000
D 1
1 0.211734 1.000000
ARGON
S 12
1 400.805381 0.00009200
2 194.251428 -0.00125400
3 94.144487 0.02887900
4 45.627384 -0.17710600
5 22.113437 -0.07716500
6 10.717338 0.21018700
7 5.194187 0.55436900
8 2.517377 0.35907000
9 1.220054 0.04076900
10 0.591302 0.00508700
11 0.286576 -0.00064400
12 0.138890 0.00053300
S 12
1 400.805381 0.00001900
2 194.251428 0.00011400
3 94.144487 -0.00869300
4 45.627384 0.06117500
5 22.113437 0.02679200
6 10.717338 -0.07778000
7 5.194187 -0.29074700
8 2.517377 -0.32003600
9 1.220054 0.12393300
10 0.591302 0.53916300
11 0.286576 0.45626000
12 0.138890 0.13189200
S 1
1 0.200844 1.00000000
S 1
1 0.100422 1.00000000
P 12
1 71.845693 0.01423900
2 38.318786 0.10317800
3 20.437263 0.18518400
4 10.900182 0.27635700
5 5.813595 0.31813000
6 3.100671 0.21149400
7 1.653738 0.06192600
8 0.882019 0.00582100
9 0.470423 0.00083800
10 0.250899 -0.00004700
11 0.133817 0.00007700
12 0.071371 -0.00001800
P 12
1 71.845693 0.00414500
2 38.318786 0.02880000
3 20.437263 0.05191600
4 10.900182 0.08435600
5 5.813595 0.10330300
6 3.100671 0.05976300
7 1.653738 -0.09852400
8 0.882019 -0.27287100
9 0.470423 -0.34211200
10 0.250899 -0.28931700
11 0.133817 -0.14332900
12 0.071371 -0.03249500
P 1 P 1
1 0.205249 1.00000000 1 0.005400 1.00000000
P 1
1 0.102624 1.00000000
D 1 D 1
1 0.745011 1.00000000 1 1.493098 1.00000000
D 1 D 1
1 0.372505 1.00000000 1 0.050522 1.00000000
D 1
1 0.008800 1.00000000
SCANDIUM SCANDIUM
S 13 S 13
@ -640,6 +316,20 @@ F 1
1 0.083742 1.00000000 1 0.083742 1.00000000
F 1 F 1
1 0.280673 1.00000000 1 0.280673 1.00000000
S 1
1 0.531583 1.00000000
S 1
1 2.006315 1.00000000
P 1
1 0.608728 1.00000000
P 1
1 2.759507 1.00000000
D 1
1 1.412796 1.00000000
D 1
1 4.010741 1.00000000
F 1
1 1.670187 1.00000000
TITANIUM TITANIUM
S 13 S 13
@ -766,6 +456,20 @@ F 1
1 0.146931 1.00000000 1 0.146931 1.00000000
F 1 F 1
1 0.499717 1.00000000 1 0.499717 1.00000000
S 1
1 0.591537 1.00000000
S 1
1 2.205011 1.00000000
P 1
1 0.675360 1.00000000
P 1
1 3.138882 1.00000000
D 1
1 1.759833 1.00000000
D 1
1 5.086016 1.00000000
F 1
1 2.117563 1.00000000
VANADIUM VANADIUM
S 13 S 13
@ -892,6 +596,20 @@ F 1
1 0.308388 1.00000000 1 0.308388 1.00000000
F 1 F 1
1 1.138450 1.00000000 1 1.138450 1.00000000
S 1
1 0.736615 1.00000000
S 1
1 2.619861 1.00000000
P 1
1 0.973954 1.00000000
P 1
1 4.004062 1.00000000
D 1
1 0.749306 1.00000000
D 1
1 1.799378 1.00000000
F 1
1 3.352552 1.00000000
CHROMIUM CHROMIUM
S 13 S 13
@ -1018,6 +736,20 @@ F 1
1 0.311720 1.00000000 1 0.311720 1.00000000
F 1 F 1
1 1.112997 1.00000000 1 1.112997 1.00000000
S 1
1 0.734112 1.00000000
S 1
1 2.811823 1.00000000
P 1
1 0.851456 1.00000000
P 1
1 3.937167 1.00000000
D 1
1 0.845872 1.00000000
D 1
1 2.147155 1.00000000
F 1
1 3.530639 1.00000000
MANGANESE MANGANESE
S 13 S 13
@ -1144,6 +876,20 @@ F 1
1 0.373591 1.00000000 1 0.373591 1.00000000
F 1 F 1
1 1.357898 1.00000000 1 1.357898 1.00000000
S 1
1 0.832852 1.00000000
S 1
1 3.133156 1.00000000
P 1
1 1.020743 1.00000000
P 1
1 4.582593 1.00000000
D 1
1 0.985022 1.00000000
D 1
1 2.435684 1.00000000
F 1
1 4.198704 1.00000000
IRON IRON
S 13 S 13
@ -1270,6 +1016,20 @@ F 1
1 0.463696 1.00000000 1 0.463696 1.00000000
F 1 F 1
1 1.696126 1.00000000 1 1.696126 1.00000000
S 1
1 0.909741 1.00000000
S 1
1 3.519995 1.00000000
P 1
1 1.151345 1.00000000
P 1
1 5.187368 1.00000000
D 1
1 1.172100 1.00000000
D 1
1 2.828034 1.00000000
F 1
1 5.078925 1.00000000
COBALT COBALT
S 13 S 13
@ -1396,6 +1156,20 @@ F 1
1 0.557444 1.00000000 1 0.557444 1.00000000
F 1 F 1
1 2.012568 1.00000000 1 2.012568 1.00000000
S 1
1 1.010269 1.00000000
S 1
1 3.893671 1.00000000
P 1
1 1.270490 1.00000000
P 1
1 5.677091 1.00000000
D 1
1 1.291245 1.00000000
D 1
1 3.118104 1.00000000
F 1
1 5.891548 1.00000000
NICKEL NICKEL
S 13 S 13
@ -1522,6 +1296,20 @@ F 1
1 0.650562 1.00000000 1 0.650562 1.00000000
F 1 F 1
1 2.317543 1.00000000 1 2.317543 1.00000000
S 1
1 1.099912 1.00000000
S 1
1 4.266474 1.00000000
P 1
1 1.398024 1.00000000
P 1
1 6.294441 1.00000000
D 1
1 1.406397 1.00000000
D 1
1 3.410393 1.00000000
F 1
1 6.722827 1.00000000
COPPER COPPER
S 13 S 13
@ -1648,6 +1436,20 @@ F 1
1 0.771675 1.00000000 1 0.771675 1.00000000
F 1 F 1
1 2.739578 1.00000000 1 2.739578 1.00000000
S 1
1 1.218913 1.00000000
S 1
1 4.750059 1.00000000
P 1
1 1.551117 1.00000000
P 1
1 6.973554 1.00000000
D 1
1 1.873424 1.00000000
D 1
1 4.248371 1.00000000
F 1
1 6.750816 1.00000000
ZINC ZINC
S 13 S 13
@ -1774,4 +1576,19 @@ F 1
1 0.893402 1.00000000 1 0.893402 1.00000000
F 1 F 1
1 3.171936 1.00000000 1 3.171936 1.00000000
S 1
1 1.375940 1.00000000
S 1
1 5.098898 1.00000000
P 1
1 1.706665 1.00000000
P 1
1 7.892989 1.00000000
D 1
1 2.029918 1.00000000
D 1
1 4.655140 1.00000000
F 1
1 8.867564 1.00000000
$END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

4156
data/basis/cc-pv5z_ecp_ccecp Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3370
data/basis/cc-pvqz_ecp_ccecp Normal file

File diff suppressed because it is too large Load Diff

2654
data/basis/cc-pvtz_ecp_ccecp Normal file

File diff suppressed because it is too large Load Diff

433
data/pseudo/ccecp Normal file
View File

@ -0,0 +1,433 @@
H GEN 0 1
3
1.00000000000000 1 21.24359508259891
21.24359508259891 3 21.24359508259891
-10.85192405303825 2 21.77696655044365
1
0.00000000000000 2 1.000000000000000
He GEN 0 1
3
2.000000 1 32.000000
64.00000 3 32.000000
-27.70084 2 33.713355
1
0.000000 2 1.0000000
Li GEN 2 1
3
1.000 1 15.0000000000000
15.0000000000000 3 15.0479971422127
-1.24272969818004 2 1.80605426846072
1
6.75286789026804 2 1.33024777689591
Be GEN 2 1
4
2 1 17.94900205362972
35.89800410725944 3 24.13200289331664
-12.77499846818315 2 20.13800265282147
-2.96001382478467 2 4.333170937885760
1
12.66391859014478 2 2.487403700772570
B GEN 2 1
3
3.00000 1 31.49298
94.47895 3 22.56509
-9.74800 2 8.64669
1
20.74800 2 4.06246
C GEN 2 1
3
4.00000 1 14.43502
57.74008 3 8.39889
-25.81955 2 7.38188
1
52.13345 2 7.76079
N GEN 2 1
6
3.25000 1 12.91881
1.75000 1 9.22825
41.98612 3 12.96581
16.14945 3 8.05477
-26.09522 2 12.54876
-10.32626 2 7.53360
2
34.77692 2 9.41609
15.20330 2 8.16694
O GEN 2 1
3
6.000000 1 12.30997
73.85984 3 14.76962
-47.87600 2 13.71419
1
85.86406 2 13.65512
F GEN 2 1
3
7.0 1 12.08758490486192
84.61309433403344 3 12.83806306400466
-53.02751706539332 2 12.31234562699041
1
78.90177172847011 2 14.78076492090162
Ne GEN 2 1
3
8.000 1 14.79351199705315
118.34809597642520 3 16.58203947626090
-70.27885884380557 2 16.08073529218220
1
81.62205749824426 2 16.55441468334002
Na GEN 10 2
3
1.000000 1 4.311678
4.311678 3 1.925689
-2.083137 2 1.549498
2
6.234064 2 5.377666
9.075931 2 1.408414
2
3.232724 2 1.379949
2.494079 2 0.862453
Mg GEN 10 2
3
2.000000 1 6.048538
12.097075 3 2.796989
-17.108313 2 2.547408
2
6.428631 2 5.936017
14.195491 2 1.592891
2
3.315069 2 1.583969
4.403025 2 1.077297
Al GEN 10 2
3
3.000000 1 5.073893
15.221680 3 8.607001
-11.165685 2 3.027490
2
14.879513 2 7.863954
20.746863 2 2.061358
2
7.786227 2 3.125175
7.109015 2 1.414930
Si GEN 10 2
3
4.000000 1 5.168316
20.673264 3 8.861690
-14.818174 2 3.933474
2
14.832760 2 9.447023
26.349664 2 2.553812
2
7.621400 2 3.660001
10.331583 2 1.903653
P GEN 10 2
3
5.000000 1 5.872694
29.363469 3 9.891298
-17.011136 2 4.692469
2
15.259383 2 12.091334
31.707918 2 3.044535
2
7.747190 2 4.310884
13.932528 2 2.426903
S GEN 10 2
3
6.000000 1 6.151144
36.906864 3 11.561575
-19.819533 2 5.390961
2
15.925748 2 16.117687
38.515895 2 3.608629
2
8.062221 2 6.228956
18.737525 2 2.978074
Cl GEN 10 2
3
7.000000 1 7.944352
55.610463 3 12.801261
-22.860784 2 6.296744
2
15.839234 2 17.908432
44.469504 2 4.159880
2
8.321946 2 7.931763
24.044745 2 3.610412
Ar GEN 10 2
3
8.000000 1 8.317181
66.537451 3 13.124648
-24.100393 2 6.503132
2
18.910152 2 27.068139
53.040012 2 4.801263
2
8.015534 2 11.135735
28.220208 2 4.126631
K GEN 10 2
4
9.000 1 7.27386331637373
65.46476984736357 3 11.1729834540799
-10.84433558416271 2 7.70617523948938
-15.96316084113368 2 5.62491694962345
2
11.86687269408012 2 11.4425076498453
90.07677060151201 2 6.53712447768095
2
11.53420167311457 2 9.63121897030662
27.72023517356577 2 4.50881062128081
Ca GEN 10 2
4
10.000 1 7.041331745291820
70.41331745291820 3 14.01444871170631
-92.87298019372959 2 13.76936244330539
-5.753568238854550 2 4.717259669813990
2
149.3026232361631 2 11.24016734279034
23.75932943609596 2 5.353611600469730
2
99.20411436357747 2 13.06654848325639
13.45216129084917 2 4.027484971490170
Sc GEN 10 2
4
11.00000000 1 16.02394388
176.26338271 3 14.08647403
-83.68149599 2 11.93985121
0.43282764 2 3.69440111
2
153.96530175 2 11.49466541
14.93675657 2 5.01031394
2
97.21725690 2 11.45126730
10.81704018 2 4.76798446
Ti GEN 10 2
4
12.00000000 1 18.41366202
220.96394426 3 15.92292414
-94.29025824 2 13.65000623
0.09791142 2 5.09555210
2
173.94657235 2 12.70580613
18.83768333 2 6.11178551
2
111.45672882 2 12.64091929
11.17702682 2 5.35437415
V GEN 10 2
4
13.00000000 1 20.32168914
264.18195885 3 19.59698040
-115.29293208 2 17.33147348
-0.66288726 2 5.12320657
2
195.56713891 2 15.12502150
22.88642834 2 6.29898914
2
126.42119500 2 15.93855113
16.03597127 2 5.74006266
Cr GEN 10 2
4
14.00000000 1 18.28091074
255.93275041 3 17.09800655
-132.01826317 2 16.72267276
-0.77388761 2 5.02865105
2
219.48146209 2 16.90078760
28.07933176 2 7.33662150
2
139.98396871 2 17.31974516
19.54835786 2 6.92409757
Mn GEN 10 2
4
15.00000000 1 21.91937433
328.79061500 3 21.35527127
-162.05172805 2 21.27162653
-1.82694272 2 7.93913962
2
244.66870492 2 18.92044965
33.54162717 2 8.32764757
2
162.35033685 2 20.17347020
24.17956695 2 7.80047874
Fe GEN 10 2
4
16.00000000 1 23.22091713
371.53467417 3 23.54714679
-181.22603445 2 23.47256344
-2.37305236 2 9.85238815
2
277.50032547 2 22.21062697
46.20495585 2 9.51515800
2
194.99875056 2 24.57000871
31.67945132 2 8.86648776
Co GEN 10 2
4
17.00000000 1 25.00124115
425.02109971 3 22.83490096
-195.48211282 2 23.47468155
-2.81572866 2 10.33794825
2
271.77708486 2 23.41427030
54.26461121 2 10.76931694
2
201.53430745 2 25.47446316
38.99231927 2 10.68404901
Ni GEN 10 2
4
18.000 1 2.82630001015327e+01
508.7340018275886 3 2.69360254587070e+01
-2.20099999296390e+02 2 2.70860075292970e+01
-2.13493270999809e+00 2 1.22130001295874e+01
2
3.21240002430625e+02 2 2.64320193944270e+01
6.03470084610628e+01 2 1.17489696842121e+01
2
2.36539998999428e+02 2 2.94929998193907e+01
4.43969887908906e+01 2 1.15569831458722e+01
Cu GEN 10 2
4
19.00000000 1 31.53811263
599.22413997 3 31.06925531
-244.68915484 2 30.59035868
-1.29349525 2 14.05141063
2
370.71371824 2 29.35562242
66.27560813 2 12.77235919
2
271.66281028 2 33.51694543
49.76265057 2 12.52471484
Zn GEN 10 2
4
20.00000000 1 35.80797616
716.15952323 3 34.53646083
-204.68393323 2 28.62830178
0.76026614 2 7.96239682
2
431.70804302 2 35.02141356
95.87640437 2 14.63498691
2
313.57770563 2 42.22979234
74.01270048 2 14.57429304
Ga GEN 28 3
4
3.0 1 17.00473938158134
51.01421814474402 3 14.99961796477555
-39.00062591247301 2 11.99279249750992
35.44659356093000 2 14.99282276192415
2
21.78930966695012 2 1.85781132082231
-2.86685089713932 2 0.91950586478827
2
18.63985979160424 2 1.92030166263971
-1.63369679761927 2 1.00895888918239
2
2.03523714898590 2 0.62750876923831
-0.08532375682035 2 0.32619029984635
Ge GEN 28 3
4
4.0 1 1.478962662442
5.9158506497680 3 3.188905647765
-12.033712959815 2 1.927438978253
1.283543489065 2 1.545539235916
2
43.265429324814 2 2.894473589836
-1.909339873965 2 1.550339816290
2
35.263014141211 2 2.986528872039
0.963439928853 2 1.283381203893
2
2.339019442484 2 1.043001142249
0.541380654081 2 0.554562729807
As GEN 28 3
4
5.0 1 1.28593131534589
6.429656576729450 3 9.93487432688877
-15.01243900647766 2 1.89568153750512
2.89881363078702 2 1.72825641453405
2
75.65519437230579 2 3.47938697518409
-3.31145348709338 2 1.63747973017064
2
67.96186740640852 2 3.22936389274538
-3.09455795155570 2 1.66636575135787
2
24.30473448724631 2 2.06816256325470
0.93945624468575 2 1.54699940726544
Se GEN 28 3
4
6.0 1 2.97705189898323
17.862311393899380 3 7.01667360591764
-20.00913150638712 2 3.96066255032528
10.00573531473560 2 5.02826321004214
2
71.37928031464314 2 4.17536331935161
0.42619859321245 2 2.14491059745542
2
50.94828961394475 2 4.28772186507645
5.54288117697892 2 2.09538253707367
2
6.20469719059516 2 1.39403720595047
0.53395702862692 2 1.69659923150419
Br GEN 28 3
4
7.00000000000000 1 3.665770450000000
25.6603931500000 3 5.293022720000000
13.0402619252684 2 3.176376149835153
-21.908838668870 2 2.897543523376016
2
85.8843473075379 2 4.971806723636273
4.62125463404037 2 2.042687217782981
2
55.3617154916148 2 4.711839367430644
11.0314096124871 2 2.384292508891309
2
26.4104098578207 2 3.412863477885576
5.46873883641966 2 1.530284946887900
Kr GEN 28 3
4
8.0 1 10.79423805030976
86.353904402478080 3 13.32338941541937
-11.11453291523170 2 9.292050205053670
10.22951903851239 2 20.14895793077237
2
92.88955174083402 2 5.49072858263344
12.92947788650997 2 3.86301190150576
2
43.09952401633328 2 4.03857692489950
9.50975957670500 2 3.30678898758958
2
17.80494496367218 2 4.21348003421066
4.58911494794530 2 1.54989721316990

View File

@ -1,263 +0,0 @@
H GEN 0 1
3
1.00000000000000 1 21.24359508259891
21.24359508259891 3 21.24359508259891
-10.85192405303825 2 21.77696655044365
1
0.00000000000000 2 1.000000000000000
B GEN 2 1
3
3.00000 1 31.49298
94.47895 3 22.56509
-9.74800 2 8.64669
1
20.74800 2 4.06246
C GEN 2 1
3
4.00000 1 14.43502
57.74008 3 8.39889
-25.81955 2 7.38188
1
52.13345 2 7.76079
N GEN 2 1
6
3.25000 1 12.91881
1.75000 1 9.22825
41.98612 3 12.96581
16.14945 3 8.05477
-26.09522 2 12.54876
-10.32626 2 7.53360
2
34.77692 2 9.41609
15.20330 2 8.16694
O GEN 2 1
3
6.000000 1 12.30997
73.85984 3 14.76962
-47.87600 2 13.71419
1
85.86406 2 13.65512
F GEN 2 1
3
7.0 1 11.3954401213
79.7680808491 3 10.49201883
-49.4990068225 2 10.2868054098
1
51.3934743997 2 11.3903478843
Na GEN 10 2
3
1.000000 1 4.311678
4.311678 3 1.925689
-2.083137 2 1.549498
2
6.234064 2 5.377666
9.075931 2 1.408414
2
3.232724 2 1.379949
2.494079 2 0.862453
Mg GEN 10 2
3
2.000000 1 6.048538
12.097075 3 2.796989
-17.108313 2 2.547408
2
6.428631 2 5.936017
14.195491 2 1.592891
2
3.315069 2 1.583969
4.403025 2 1.077297
Al GEN 2 1
3
11.000000 1 11.062056
121.682619 3 12.369778
-82.624567 2 11.965444
2
25.157259 2 81.815564
113.067525 2 24.522883
Si GEN 10 2
3
4.000000 1 5.168316
20.673264 3 8.861690
-14.818174 2 3.933474
2
14.832760 2 9.447023
26.349664 2 2.553812
2
7.621400 2 3.660001
10.331583 2 1.903653
P GEN 2 1
3
13.000000 1 15.073300
195.952906 3 18.113176
-117.611086 2 17.371539
2
25.197230 2 101.982019
189.426261 2 37.485881
S GEN 2 1
3
14.000000 1 17.977612
251.686565 3 20.435964
-135.538891 2 19.796579
2
25.243283 2 111.936344
227.060768 2 43.941844
Cl GEN 2 1
3
15.000000 1 22.196266
332.943994 3 26.145117
-161.999982 2 25.015118
2
26.837357 2 124.640433
277.296696 2 52.205433
Ar GEN 2 1
3
16.000000 1 23.431337
374.901386 3 26.735872
-178.039517 2 26.003325
2
25.069215 2 135.620522
332.151842 2 60.471053
Sc GEN 10 2
4
11.00000000 1 16.02394388
176.26338271 3 14.08647403
-83.68149599 2 11.93985121
0.43282764 2 3.69440111
2
153.96530175 2 11.49466541
14.93675657 2 5.01031394
2
97.21725690 2 11.45126730
10.81704018 2 4.76798446
Ti GEN 10 2
4
12.00000000 1 18.41366202
220.96394426 3 15.92292414
-94.29025824 2 13.65000623
0.09791142 2 5.09555210
2
173.94657235 2 12.70580613
18.83768333 2 6.11178551
2
111.45672882 2 12.64091929
11.17702682 2 5.35437415
V GEN 10 2
4
13.00000000 1 20.32168914
264.18195885 3 19.59698040
-115.29293208 2 17.33147348
-0.66288726 2 5.12320657
2
195.56713891 2 15.12502150
22.88642834 2 6.29898914
2
126.42119500 2 15.93855113
16.03597127 2 5.74006266
Cr GEN 10 2
4
14.00000000 1 18.28091074
255.93275041 3 17.09800655
-132.01826317 2 16.72267276
-0.77388761 2 5.02865105
2
219.48146209 2 16.90078760
28.07933176 2 7.33662150
2
139.98396871 2 17.31974516
19.54835786 2 6.92409757
Mn GEN 10 2
4
15.00000000 1 21.91937433
328.79061500 3 21.35527127
-162.05172805 2 21.27162653
-1.82694272 2 7.93913962
2
244.66870492 2 18.92044965
33.54162717 2 8.32764757
2
162.35033685 2 20.17347020
24.17956695 2 7.80047874
Fe GEN 10 2
4
16.00000000 1 23.22091713
371.53467417 3 23.54714679
-181.22603445 2 23.47256344
-2.37305236 2 9.85238815
2
277.50032547 2 22.21062697
46.20495585 2 9.51515800
2
194.99875056 2 24.57000871
31.67945132 2 8.86648776
Co GEN 10 2
4
17.00000000 1 25.00124115
425.02109971 3 22.83490096
-195.48211282 2 23.47468155
-2.81572866 2 10.33794825
2
271.77708486 2 23.41427030
54.26461121 2 10.76931694
2
201.53430745 2 25.47446316
38.99231927 2 10.68404901
Ni GEN 10 2
4
18.000 1 2.82630001015327e+01
508.7340018275886 3 2.69360254587070e+01
-2.20099999296390e+02 2 2.70860075292970e+01
-2.13493270999809e+00 2 1.22130001295874e+01
2
3.21240002430625e+02 2 2.64320193944270e+01
6.03470084610628e+01 2 1.17489696842121e+01
2
2.36539998999428e+02 2 2.94929998193907e+01
4.43969887908906e+01 2 1.15569831458722e+01
Cu GEN 10 2
4
19.00000000 1 31.53811263
599.22413997 3 31.06925531
-244.68915484 2 30.59035868
-1.29349525 2 14.05141063
2
370.71371824 2 29.35562242
66.27560813 2 12.77235919
2
271.66281028 2 33.51694543
49.76265057 2 12.52471484
Zn GEN 10 2
4
20.00000000 1 35.80797616
716.15952323 3 34.53646083
-204.68393323 2 28.62830178
0.76026614 2 7.96239682
2
431.70804302 2 35.02141356
95.87640437 2 14.63498691
2
313.57770563 2 42.22979234
74.01270048 2 14.57429304

View File

@ -13,6 +13,8 @@ module Ao_basis : sig
ao_coef : AO_coef.t array; ao_coef : AO_coef.t array;
ao_expo : AO_expo.t array; ao_expo : AO_expo.t array;
ao_cartesian : bool; ao_cartesian : bool;
ao_normalized : bool;
primitives_normalized : bool;
} [@@deriving sexp] } [@@deriving sexp]
;; ;;
val read : unit -> t option val read : unit -> t option
@ -34,6 +36,8 @@ end = struct
ao_coef : AO_coef.t array; ao_coef : AO_coef.t array;
ao_expo : AO_expo.t array; ao_expo : AO_expo.t array;
ao_cartesian : bool; ao_cartesian : bool;
ao_normalized : bool;
primitives_normalized : bool;
} [@@deriving sexp] } [@@deriving sexp]
;; ;;
@ -107,6 +111,24 @@ end = struct
Ezfio.get_ao_basis_ao_cartesian () Ezfio.get_ao_basis_ao_cartesian ()
;; ;;
let read_ao_normalized () =
if not (Ezfio.has_ao_basis_ao_normalized()) then
get_default "ao_normalized"
|> bool_of_string
|> Ezfio.set_ao_basis_ao_normalized
;
Ezfio.get_ao_basis_ao_normalized ()
;;
let read_primitives_normalized () =
if not (Ezfio.has_ao_basis_primitives_normalized()) then
get_default "primitives_normalized"
|> bool_of_string
|> Ezfio.set_ao_basis_primitives_normalized
;
Ezfio.get_ao_basis_primitives_normalized ()
;;
let to_long_basis b = let to_long_basis b =
let ao_num = AO_number.to_int b.ao_num in let ao_num = AO_number.to_int b.ao_num in
let gto_array = Array.init (AO_number.to_int b.ao_num) let gto_array = Array.init (AO_number.to_int b.ao_num)
@ -169,6 +191,8 @@ end = struct
ao_coef ; ao_coef ;
ao_expo ; ao_expo ;
ao_cartesian ; ao_cartesian ;
ao_normalized ;
primitives_normalized ;
} = b } = b
in in
write_md5 b ; write_md5 b ;
@ -201,6 +225,8 @@ end = struct
~rank:2 ~dim:[| ao_num ; 3 |] ~data:ao_power) ; ~rank:2 ~dim:[| ao_num ; 3 |] ~data:ao_power) ;
Ezfio.set_ao_basis_ao_cartesian(ao_cartesian); Ezfio.set_ao_basis_ao_cartesian(ao_cartesian);
Ezfio.set_ao_basis_ao_normalized(ao_normalized);
Ezfio.set_ao_basis_primitives_normalized(primitives_normalized);
let ao_coef = let ao_coef =
Array.to_list ao_coef Array.to_list ao_coef
@ -233,6 +259,8 @@ end = struct
ao_coef = read_ao_coef () ; ao_coef = read_ao_coef () ;
ao_expo = read_ao_expo () ; ao_expo = read_ao_expo () ;
ao_cartesian = read_ao_cartesian () ; ao_cartesian = read_ao_cartesian () ;
ao_normalized = read_ao_normalized () ;
primitives_normalized = read_primitives_normalized () ;
} }
in in
to_md5 result to_md5 result
@ -340,7 +368,10 @@ end = struct
in in
{ ao_basis = name ; { ao_basis = name ;
ao_num ; ao_prim_num ; ao_prim_num_max ; ao_nucl ; ao_num ; ao_prim_num ; ao_prim_num_max ; ao_nucl ;
ao_power ; ao_coef ; ao_expo ; ao_cartesian } ao_power ; ao_coef ; ao_expo ; ao_cartesian ;
ao_normalized = bool_of_string @@ get_default "ao_normalized";
primitives_normalized = bool_of_string @@ get_default "primitives_normalized";
}
;; ;;
let reorder b = let reorder b =
@ -394,6 +425,14 @@ Cartesian coordinates (6d,10f,...) ::
ao_cartesian = %s ao_cartesian = %s
Use normalized primitive functions ::
primitives_normalized = %s
Use normalized basis functions ::
ao_normalized = %s
Basis set (read-only) :: Basis set (read-only) ::
%s %s
@ -407,6 +446,8 @@ Basis set (read-only) ::
" (AO_basis_name.to_string b.ao_basis) " (AO_basis_name.to_string b.ao_basis)
(string_of_bool b.ao_cartesian) (string_of_bool b.ao_cartesian)
(string_of_bool b.primitives_normalized)
(string_of_bool b.ao_normalized)
(Basis.to_string short_basis (Basis.to_string short_basis
|> String_ext.split ~on:'\n' |> String_ext.split ~on:'\n'
|> List.map (fun x-> " "^x) |> List.map (fun x-> " "^x)
@ -443,6 +484,8 @@ ao_power = %s
ao_coef = %s ao_coef = %s
ao_expo = %s ao_expo = %s
ao_cartesian = %s ao_cartesian = %s
ao_normalized = %s
primitives_normalized = %s
md5 = %s md5 = %s
" "
(AO_basis_name.to_string b.ao_basis) (AO_basis_name.to_string b.ao_basis)
@ -459,6 +502,8 @@ md5 = %s
(b.ao_expo |> Array.to_list |> List.map AO_expo.to_string (b.ao_expo |> Array.to_list |> List.map AO_expo.to_string
|> String.concat ", ") |> String.concat ", ")
(b.ao_cartesian |> string_of_bool) (b.ao_cartesian |> string_of_bool)
(b.ao_normalized |> string_of_bool)
(b.primitives_normalized |> string_of_bool)
(to_md5 b |> MD5.to_string ) (to_md5 b |> MD5.to_string )
;; ;;

View File

@ -55,3 +55,15 @@ doc: If |true|, use |AOs| in Cartesian coordinates (6d,10f,...)
interface: ezfio, provider interface: ezfio, provider
default: false default: false
[ao_normalized]
type: logical
doc: Use normalized basis functions
interface: ezfio, provider
default: true
[primitives_normalized]
type: logical
doc: Use normalized primitive functions
interface: ezfio, provider
default: true

View File

@ -20,17 +20,27 @@ END_PROVIDER
C_A(2) = 0.d0 C_A(2) = 0.d0
C_A(3) = 0.d0 C_A(3) = 0.d0
ao_coef_normalized = 0.d0 ao_coef_normalized = 0.d0
do i=1,ao_num do i=1,ao_num
powA(1) = ao_power(i,1) powA(1) = ao_power(i,1)
powA(2) = ao_power(i,2) powA(2) = ao_power(i,2)
powA(3) = ao_power(i,3) powA(3) = ao_power(i,3)
! Normalization of the primitives
if (primitives_normalized) then
do j=1,ao_prim_num(i) do j=1,ao_prim_num(i)
call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,j),powA,powA,overlap_x,overlap_y,overlap_z,norm,nz) call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,j),powA,powA,overlap_x,overlap_y,overlap_z,norm,nz)
ao_coef_normalized(i,j) = ao_coef(i,j)/sqrt(norm) ao_coef_normalized(i,j) = ao_coef(i,j)/sqrt(norm)
enddo enddo
else
do j=1,ao_prim_num(i)
ao_coef_normalized(i,j) = ao_coef(i,j)
enddo
endif
! Normalization of the contracted basis functions ! Normalization of the contracted basis functions
if (ao_normalized) then
norm = 0.d0 norm = 0.d0
do j=1,ao_prim_num(i) do j=1,ao_prim_num(i)
do k=1,ao_prim_num(i) do k=1,ao_prim_num(i)
@ -39,6 +49,9 @@ END_PROVIDER
enddo enddo
enddo enddo
ao_coef_normalization_factor(i) = 1.d0/sqrt(norm) ao_coef_normalization_factor(i) = 1.d0/sqrt(norm)
else
ao_coef_normalization_factor(i) = 1.d0
endif
enddo enddo
END_PROVIDER END_PROVIDER

View File

@ -3,6 +3,8 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e, (ao_num,ao_num)]
! Nucleus-electron interaction, in the |AO| basis set. ! Nucleus-electron interaction, in the |AO| basis set.
! !
! :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle` ! :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle`
!
! These integrals also contain the pseudopotential integrals.
END_DOC END_DOC
implicit none implicit none
double precision :: alpha, beta, gama, delta double precision :: alpha, beta, gama, delta
@ -75,12 +77,12 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e, (ao_num,ao_num)]
!$OMP END DO !$OMP END DO
!$OMP END PARALLEL !$OMP END PARALLEL
endif
IF (DO_PSEUDO) THEN IF (DO_PSEUDO) THEN
ao_integrals_n_e += ao_pseudo_integrals ao_integrals_n_e += ao_pseudo_integrals
ENDIF ENDIF
endif
if (write_ao_integrals_n_e) then if (write_ao_integrals_n_e) then
call ezfio_set_ao_one_e_ints_ao_integrals_n_e(ao_integrals_n_e) call ezfio_set_ao_one_e_ints_ao_integrals_n_e(ao_integrals_n_e)

View File

@ -0,0 +1,13 @@
logical function ao_one_e_integral_zero(i,k)
implicit none
integer, intent(in) :: i,k
ao_one_e_integral_zero = .False.
if (.not.((io_ao_integrals_overlap/='None').or.is_periodic)) then
if (ao_overlap_abs(i,k) < ao_integrals_threshold) then
ao_one_e_integral_zero = .True.
return
endif
endif
end

View File

@ -85,9 +85,10 @@ double precision function get_ao_two_e_integral_erf(i,j,k,l,map) result(result)
type(map_type), intent(inout) :: map type(map_type), intent(inout) :: map
integer :: ii integer :: ii
real(integral_kind) :: tmp real(integral_kind) :: tmp
logical, external :: ao_two_e_integral_zero
PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_cache ao_integrals_erf_cache_min PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_cache ao_integrals_erf_cache_min
!DIR$ FORCEINLINE !DIR$ FORCEINLINE
if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < ao_integrals_threshold ) then if (ao_two_e_integral_zero(i,j,k,l)) then
tmp = 0.d0 tmp = 0.d0
else if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < ao_integrals_threshold) then else if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < ao_integrals_threshold) then
tmp = 0.d0 tmp = 0.d0
@ -127,10 +128,11 @@ subroutine get_ao_two_e_integrals_erf(j,k,l,sze,out_val)
integer :: i integer :: i
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: thresh double precision :: thresh
logical, external :: ao_one_e_integral_zero
PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_map PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_map
thresh = ao_integrals_threshold thresh = ao_integrals_threshold
if (ao_overlap_abs(j,l) < thresh) then if (ao_one_e_integral_zero(j,l)) then
out_val = 0.d0 out_val = 0.d0
return return
endif endif
@ -156,11 +158,12 @@ subroutine get_ao_two_e_integrals_erf_non_zero(j,k,l,sze,out_val,out_val_index,n
integer :: i integer :: i
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: thresh,tmp double precision :: thresh,tmp
logical, external :: ao_one_e_integral_zero
PROVIDE ao_two_e_integrals_erf_in_map PROVIDE ao_two_e_integrals_erf_in_map
thresh = ao_integrals_threshold thresh = ao_integrals_threshold
non_zero_int = 0 non_zero_int = 0
if (ao_overlap_abs(j,l) < thresh) then if (ao_one_e_integral_zero(j,l)) then
out_val = 0.d0 out_val = 0.d0
return return
endif endif

View File

@ -291,8 +291,10 @@ subroutine compute_ao_two_e_integrals_erf(j,k,l,sze,buffer_value)
double precision :: ao_two_e_integral_erf double precision :: ao_two_e_integral_erf
integer :: i integer :: i
logical, external :: ao_one_e_integral_zero
logical, external :: ao_two_e_integral_zero
if (ao_overlap_abs(j,l) < thresh) then if (ao_one_e_integral_zero(j,l)) then
buffer_value = 0._integral_kind buffer_value = 0._integral_kind
return return
endif endif
@ -302,7 +304,7 @@ subroutine compute_ao_two_e_integrals_erf(j,k,l,sze,buffer_value)
endif endif
do i = 1, ao_num do i = 1, ao_num
if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < thresh) then if (ao_two_e_integral_zero(i,j,k,l)) then
buffer_value(i) = 0._integral_kind buffer_value(i) = 0._integral_kind
cycle cycle
endif endif
@ -618,6 +620,7 @@ subroutine compute_ao_integrals_erf_jl(j,l,n_integrals,buffer_i,buffer_value)
double precision :: integral, wall_0 double precision :: integral, wall_0
double precision :: thr double precision :: thr
integer :: kk, m, j1, i1 integer :: kk, m, j1, i1
logical, external :: ao_two_e_integral_zero
thr = ao_integrals_threshold thr = ao_integrals_threshold
@ -634,7 +637,7 @@ subroutine compute_ao_integrals_erf_jl(j,l,n_integrals,buffer_i,buffer_value)
if (i1 > j1) then if (i1 > j1) then
exit exit
endif endif
if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < thr) then if (ao_two_e_integral_zero(i,j,k,l)) then
cycle cycle
endif endif
if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < thr ) then if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < thr ) then

View File

@ -333,11 +333,10 @@ double precision function get_ao_two_e_integral(i,j,k,l,map) result(result)
type(map_type), intent(inout) :: map type(map_type), intent(inout) :: map
integer :: ii integer :: ii
real(integral_kind) :: tmp real(integral_kind) :: tmp
logical, external :: ao_two_e_integral_zero
PROVIDE ao_two_e_integrals_in_map ao_integrals_cache ao_integrals_cache_min PROVIDE ao_two_e_integrals_in_map ao_integrals_cache ao_integrals_cache_min
!DIR$ FORCEINLINE !DIR$ FORCEINLINE
if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < ao_integrals_threshold ) then if (ao_two_e_integral_zero(i,j,k,l)) then
tmp = 0.d0
else if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < ao_integrals_threshold) then
tmp = 0.d0 tmp = 0.d0
else else
ii = l-ao_integrals_cache_min ii = l-ao_integrals_cache_min
@ -427,9 +426,8 @@ complex*16 function get_ao_two_e_integral_periodic(i,j,k,l,map) result(result)
complex(integral_kind) :: tmp complex(integral_kind) :: tmp
PROVIDE ao_two_e_integrals_in_map ao_integrals_cache_periodic ao_integrals_cache_min PROVIDE ao_two_e_integrals_in_map ao_integrals_cache_periodic ao_integrals_cache_min
!DIR$ FORCEINLINE !DIR$ FORCEINLINE
if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < ao_integrals_threshold ) then logical, external :: ao_two_e_integral_zero
tmp = (0.d0,0.d0) if (ao_two_e_integral_zero(i,j,k,l)) then
else if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < ao_integrals_threshold) then
tmp = (0.d0,0.d0) tmp = (0.d0,0.d0)
else else
ii = l-ao_integrals_cache_min ii = l-ao_integrals_cache_min
@ -481,11 +479,10 @@ subroutine get_ao_two_e_integrals(j,k,l,sze,out_val)
integer :: i integer :: i
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: thresh logical, external :: ao_one_e_integral_zero
PROVIDE ao_two_e_integrals_in_map ao_integrals_map PROVIDE ao_two_e_integrals_in_map ao_integrals_map
thresh = ao_integrals_threshold
if (ao_overlap_abs(j,l) < thresh) then if (ao_one_e_integral_zero(j,l)) then
out_val = 0.d0 out_val = 0.d0
return return
endif endif
@ -511,11 +508,10 @@ subroutine get_ao_two_e_integrals_periodic(j,k,l,sze,out_val)
integer :: i integer :: i
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: thresh logical, external :: ao_one_e_integral_zero
PROVIDE ao_two_e_integrals_in_map ao_integrals_map PROVIDE ao_two_e_integrals_in_map ao_integrals_map
thresh = ao_integrals_threshold
if (ao_overlap_abs(j,l) < thresh) then if (ao_one_e_integral_zero(j,l)) then
out_val = 0.d0 out_val = 0.d0
return return
endif endif
@ -540,12 +536,13 @@ subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_z
integer :: i integer :: i
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: thresh,tmp double precision :: tmp
logical, external :: ao_one_e_integral_zero
logical, external :: ao_two_e_integral_zero
PROVIDE ao_two_e_integrals_in_map PROVIDE ao_two_e_integrals_in_map
thresh = ao_integrals_threshold
non_zero_int = 0 non_zero_int = 0
if (ao_overlap_abs(j,l) < thresh) then if (ao_one_e_integral_zero(j,l)) then
out_val = 0.d0 out_val = 0.d0
return return
endif endif
@ -555,12 +552,12 @@ subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_z
integer, external :: ao_l4 integer, external :: ao_l4
double precision, external :: ao_two_e_integral double precision, external :: ao_two_e_integral
!DIR$ FORCEINLINE !DIR$ FORCEINLINE
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then if (ao_two_e_integral_zero(i,j,k,l)) then
cycle cycle
endif endif
call two_e_integrals_index(i,j,k,l,hash) call two_e_integrals_index(i,j,k,l,hash)
call map_get(ao_integrals_map, hash,tmp) call map_get(ao_integrals_map, hash,tmp)
if (dabs(tmp) < thresh ) cycle if (dabs(tmp) < ao_integrals_threshold) cycle
non_zero_int = non_zero_int+1 non_zero_int = non_zero_int+1
out_val_index(non_zero_int) = i out_val_index(non_zero_int) = i
out_val(non_zero_int) = tmp out_val(non_zero_int) = tmp
@ -584,10 +581,12 @@ subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out
integer :: i,k integer :: i,k
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: tmp double precision :: tmp
logical, external :: ao_one_e_integral_zero
logical, external :: ao_two_e_integral_zero
PROVIDE ao_two_e_integrals_in_map PROVIDE ao_two_e_integrals_in_map
non_zero_int = 0 non_zero_int = 0
if (ao_overlap_abs(j,l) < thresh) then if (ao_one_e_integral_zero(j,l)) then
out_val = 0.d0 out_val = 0.d0
return return
endif endif
@ -598,7 +597,7 @@ subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out
integer, external :: ao_l4 integer, external :: ao_l4
double precision, external :: ao_two_e_integral double precision, external :: ao_two_e_integral
!DIR$ FORCEINLINE !DIR$ FORCEINLINE
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then if (ao_two_e_integral_zero(i,j,k,l)) then
cycle cycle
endif endif
call two_e_integrals_index(i,j,k,l,hash) call two_e_integrals_index(i,j,k,l,hash)
@ -630,10 +629,12 @@ subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,s
integer :: i,k integer :: i,k
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: tmp double precision :: tmp
logical, external :: ao_one_e_integral_zero
logical, external :: ao_two_e_integral_zero
PROVIDE ao_two_e_integrals_in_map PROVIDE ao_two_e_integrals_in_map
non_zero_int = 0 non_zero_int = 0
if (ao_overlap_abs(j,l) < thresh) then if (ao_one_e_integral_zero(j,l)) then
out_val = 0.d0 out_val = 0.d0
return return
endif endif
@ -646,7 +647,7 @@ subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,s
integer, external :: ao_l4 integer, external :: ao_l4
double precision, external :: ao_two_e_integral double precision, external :: ao_two_e_integral
!DIR$ FORCEINLINE !DIR$ FORCEINLINE
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then if (ao_two_e_integral_zero(i,j,k,l)) then
cycle cycle
endif endif
call two_e_integrals_index(i,j,k,l,hash) call two_e_integrals_index(i,j,k,l,hash)

View File

@ -0,0 +1,15 @@
logical function ao_two_e_integral_zero(i,j,k,l)
implicit none
integer, intent(in) :: i,j,k,l
ao_two_e_integral_zero = .False.
if (.not.(read_ao_two_e_integrals.or.is_periodic)) then
if (ao_overlap_abs(j,l)*ao_overlap_abs(i,k) < ao_integrals_threshold) then
ao_two_e_integral_zero = .True.
return
endif
if (ao_two_e_integral_schwartz(j,l)*ao_two_e_integral_schwartz(i,k) < ao_integrals_threshold) then
ao_two_e_integral_zero = .True.
endif
endif
end

View File

@ -18,8 +18,7 @@ double precision function ao_two_e_integral(i,j,k,l)
if (ao_prim_num(i) * ao_prim_num(j) * ao_prim_num(k) * ao_prim_num(l) > 1024 ) then if (ao_prim_num(i) * ao_prim_num(j) * ao_prim_num(k) * ao_prim_num(l) > 1024 ) then
ao_two_e_integral = ao_two_e_integral_schwartz_accel(i,j,k,l) ao_two_e_integral = ao_two_e_integral_schwartz_accel(i,j,k,l)
return else
endif
dim1 = n_pt_max_integrals dim1 = n_pt_max_integrals
@ -101,6 +100,7 @@ double precision function ao_two_e_integral(i,j,k,l)
endif endif
endif
end end
double precision function ao_two_e_integral_schwartz_accel(i,j,k,l) double precision function ao_two_e_integral_schwartz_accel(i,j,k,l)
@ -300,22 +300,17 @@ subroutine compute_ao_two_e_integrals(j,k,l,sze,buffer_value)
double precision :: ao_two_e_integral double precision :: ao_two_e_integral
integer :: i integer :: i
logical, external :: ao_one_e_integral_zero
logical, external :: ao_two_e_integral_zero
if (ao_overlap_abs(j,l) < thresh) then
buffer_value = 0._integral_kind if (ao_one_e_integral_zero(j,l)) then
return
endif
if (ao_two_e_integral_schwartz(j,l) < thresh ) then
buffer_value = 0._integral_kind buffer_value = 0._integral_kind
return return
endif endif
do i = 1, ao_num do i = 1, ao_num
if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < thresh) then if (ao_two_e_integral_zero(i,j,k,l)) then
buffer_value(i) = 0._integral_kind
cycle
endif
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh ) then
buffer_value(i) = 0._integral_kind buffer_value(i) = 0._integral_kind
cycle cycle
endif endif
@ -348,8 +343,6 @@ BEGIN_PROVIDER [ logical, ao_two_e_integrals_in_map ]
integer :: kk, m, j1, i1, lmax integer :: kk, m, j1, i1, lmax
character*(64) :: fmt character*(64) :: fmt
integral = ao_two_e_integral(1,1,1,1)
double precision :: map_mb double precision :: map_mb
PROVIDE read_ao_two_e_integrals io_ao_two_e_integrals PROVIDE read_ao_two_e_integrals io_ao_two_e_integrals
if (read_ao_two_e_integrals) then if (read_ao_two_e_integrals) then
@ -357,14 +350,18 @@ BEGIN_PROVIDER [ logical, ao_two_e_integrals_in_map ]
call map_load_from_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map) call map_load_from_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map)
print*, 'AO integrals provided' print*, 'AO integrals provided'
ao_two_e_integrals_in_map = .True. ao_two_e_integrals_in_map = .True.
return else
endif
print*, 'Providing the AO integrals' print*, 'Providing the AO integrals'
call wall_time(wall_0) call wall_time(wall_0)
call wall_time(wall_1) call wall_time(wall_1)
call cpu_time(cpu_1) call cpu_time(cpu_1)
if (.True.) then
! Avoid openMP
integral = ao_two_e_integral(1,1,1,1)
endif
integer(ZMQ_PTR) :: zmq_to_qp_run_socket, zmq_socket_pull integer(ZMQ_PTR) :: zmq_to_qp_run_socket, zmq_socket_pull
call new_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,'ao_integrals') call new_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,'ao_integrals')
@ -419,6 +416,8 @@ BEGIN_PROVIDER [ logical, ao_two_e_integrals_in_map ]
call ezfio_set_ao_two_e_ints_io_ao_two_e_integrals('Read') call ezfio_set_ao_two_e_ints_io_ao_two_e_integrals('Read')
endif endif
endif
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, ao_two_e_integral_schwartz,(ao_num,ao_num) ] BEGIN_PROVIDER [ double precision, ao_two_e_integral_schwartz,(ao_num,ao_num) ]
@ -1173,6 +1172,7 @@ subroutine compute_ao_integrals_jl(j,l,n_integrals,buffer_i,buffer_value)
double precision :: integral, wall_0 double precision :: integral, wall_0
double precision :: thr double precision :: thr
integer :: kk, m, j1, i1 integer :: kk, m, j1, i1
logical, external :: ao_two_e_integral_zero
thr = ao_integrals_threshold thr = ao_integrals_threshold
@ -1189,10 +1189,7 @@ subroutine compute_ao_integrals_jl(j,l,n_integrals,buffer_i,buffer_value)
if (i1 > j1) then if (i1 > j1) then
exit exit
endif endif
if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < thr) then if (ao_two_e_integral_zero(i,j,k,l)) then
cycle
endif
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thr ) then
cycle cycle
endif endif
!DIR$ FORCEINLINE !DIR$ FORCEINLINE

View File

@ -22,14 +22,14 @@ END_PROVIDER
subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st)
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! Updates the rPT2- and Variance- matching weights. ! Updates the PT2- and Variance- matching weights.
END_DOC END_DOC
integer, intent(in) :: N_st integer, intent(in) :: N_st
double precision, intent(in) :: pt2(N_st) double precision, intent(in) :: pt2(N_st)
double precision, intent(in) :: variance(N_st) double precision, intent(in) :: variance(N_st)
double precision, intent(in) :: norm(N_st) double precision, intent(in) :: norm(N_st)
double precision :: avg, rpt2(N_st), element, dt, x double precision :: avg, pt2_rpt2(N_st), element, dt, x
integer :: k integer :: k
integer, save :: i_iter=0 integer, save :: i_iter=0
integer, parameter :: i_itermax = 1 integer, parameter :: i_itermax = 1
@ -46,16 +46,17 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st)
i_iter = 1 i_iter = 1
endif endif
dt = 0.5d0 dt = 1.0d0
do k=1,N_st do k=1,N_st
rpt2(k) = pt2(k)/(1.d0 + norm(k)) ! PT2 + rPT2
pt2_rpt2(k) = pt2(k)* (1.d0 + 1.d0/(1.d0 + norm(k)))
enddo enddo
avg = sum(rpt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero avg = sum(pt2_rpt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero
do k=1,N_st do k=1,N_st
element = exp(dt*(rpt2(k)/avg -1.d0)) element = exp(dt*(pt2_rpt2(k)/avg -1.d0))
element = min(1.5d0 , element) element = min(2.0d0 , element)
element = max(0.5d0 , element) element = max(0.5d0 , element)
memo_pt2(k,i_iter) = element memo_pt2(k,i_iter) = element
pt2_match_weight(k) *= product(memo_pt2(k,:)) pt2_match_weight(k) *= product(memo_pt2(k,:))
@ -64,14 +65,14 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st)
avg = sum(variance(1:N_st)) / dble(N_st) + 1.d-32 ! Avoid future division by zero avg = sum(variance(1:N_st)) / dble(N_st) + 1.d-32 ! Avoid future division by zero
do k=1,N_st do k=1,N_st
element = exp(dt*(variance(k)/avg -1.d0)) element = exp(dt*(variance(k)/avg -1.d0))
element = min(1.5d0 , element) element = min(2.0d0 , element)
element = max(0.5d0 , element) element = max(0.5d0 , element)
memo_variance(k,i_iter) = element memo_variance(k,i_iter) = element
variance_match_weight(k) *= product(memo_variance(k,:)) variance_match_weight(k) *= product(memo_variance(k,:))
enddo enddo
threshold_davidson_pt2 = min(1.d-6, & threshold_davidson_pt2 = min(1.d-6, &
max(threshold_davidson, 1.e-1 * PT2_relative_error * minval(abs(rpt2(1:N_states)))) ) max(threshold_davidson, 1.e-1 * PT2_relative_error * minval(abs(pt2(1:N_states)))) )
SOFT_TOUCH pt2_match_weight variance_match_weight threshold_davidson_pt2 SOFT_TOUCH pt2_match_weight variance_match_weight threshold_davidson_pt2
end end

View File

@ -25,7 +25,7 @@
!$OMP local_threshold)& !$OMP local_threshold)&
!$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,& !$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,&
!$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, & !$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, &
!$OMP ao_overlap_abs, ao_two_e_integral_alpha, ao_two_e_integral_beta) !$OMP ao_two_e_integral_alpha, ao_two_e_integral_beta)
allocate(keys(1), values(1)) allocate(keys(1), values(1))
allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), & allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), &
@ -48,8 +48,8 @@
l = ll(1) l = ll(1)
j = jj(1) j = jj(1)
if (ao_overlap_abs(k,l)*ao_overlap_abs(i,j) & logical, external :: ao_two_e_integral_zero
< ao_integrals_threshold) then if (ao_two_e_integral_zero(i,k,j,l)) then
cycle cycle
endif endif
local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j) local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j)

View File

@ -28,7 +28,7 @@
!$OMP local_threshold)& !$OMP local_threshold)&
!$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,& !$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,&
!$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, & !$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, &
!$OMP ao_overlap_abs, ao_two_e_integral_alpha, ao_two_e_integral_beta) !$OMP ao_two_e_integral_alpha, ao_two_e_integral_beta)
allocate(keys(1), values(1)) allocate(keys(1), values(1))
allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), & allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), &
@ -51,8 +51,8 @@
l = ll(1) l = ll(1)
j = jj(1) j = jj(1)
if (ao_overlap_abs(k,l)*ao_overlap_abs(i,j) & logical, external :: ao_two_e_integral_zero
< ao_integrals_threshold) then if (ao_two_e_integral_zero(i,k,j,l)) then
cycle cycle
endif endif
local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j) local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j)

View File

@ -26,7 +26,7 @@
!$OMP local_threshold)& !$OMP local_threshold)&
!$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,& !$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,&
!$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, & !$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, &
!$OMP ao_overlap_abs, ao_two_e_integral_alpha, ao_two_e_integral_beta) !$OMP ao_two_e_integral_alpha, ao_two_e_integral_beta)
allocate(keys(1), values(1)) allocate(keys(1), values(1))
allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), & allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), &
@ -49,8 +49,8 @@
l = ll(1) l = ll(1)
j = jj(1) j = jj(1)
if (ao_overlap_abs(k,l)*ao_overlap_abs(i,j) & logical, external :: ao_two_e_integral_zero
< ao_integrals_threshold) then if (ao_two_e_integral_zero(i,k,j,l)) then
cycle cycle
endif endif
local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j) local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j)

View File

@ -189,7 +189,6 @@ subroutine add_integrals_to_map(mask_ijkl)
two_e_tmp_2 = 0.d0 two_e_tmp_2 = 0.d0
do j1 = 1,ao_num do j1 = 1,ao_num
call get_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1)) call get_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1))
! call compute_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1))
enddo enddo
do j1 = 1,ao_num do j1 = 1,ao_num
kmax = 0 kmax = 0
@ -747,7 +746,6 @@ subroutine add_integrals_to_map_no_exit_34(mask_ijkl)
two_e_tmp_2 = 0.d0 two_e_tmp_2 = 0.d0
do j1 = 1,ao_num do j1 = 1,ao_num
call get_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1)) call get_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1))
! call compute_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1))
enddo enddo
do j1 = 1,ao_num do j1 = 1,ao_num
kmax = 0 kmax = 0