10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-11-03 20:54:00 +01:00

Merge pull request #167 from scemama/master

OpenMP Bug corrected
This commit is contained in:
Anthony Scemama 2016-06-06 23:30:11 +02:00
commit 1bb1575da2
34 changed files with 2379 additions and 125 deletions

4
configure vendored
View File

@ -142,7 +142,7 @@ ezfio = Info(
default_path=join(QP_ROOT_INSTALL, "EZFIO")) default_path=join(QP_ROOT_INSTALL, "EZFIO"))
zeromq = Info( zeromq = Info(
url='http://download.zeromq.org/zeromq-4.0.7.tar.gz', url='https://github.com/zeromq/zeromq4-1/releases/download/v4.1.4/zeromq-4.1.4.tar.gz',
description=' ZeroMQ', description=' ZeroMQ',
default_path=join(QP_ROOT_LIB, "libzmq.a")) default_path=join(QP_ROOT_LIB, "libzmq.a"))
@ -166,7 +166,7 @@ d_info = dict()
for m in ["ocaml", "m4", "curl", "zlib", "patch", "irpf90", "docopt", for m in ["ocaml", "m4", "curl", "zlib", "patch", "irpf90", "docopt",
"resultsFile", "ninja", "emsl", "ezfio", "p_graphviz", "resultsFile", "ninja", "emsl", "ezfio", "p_graphviz",
"zeromq", "f77zmq","bats" ]: "zeromq", "f77zmq","bats"]:
exec ("d_info['{0}']={0}".format(m)) exec ("d_info['{0}']={0}".format(m))

785
data/pseudo/tn_df Normal file
View File

@ -0,0 +1,785 @@
H GEN 0 2
6
1.00000000 1 34.44662515
-0.89096601 2 40.13885591
-4.35250792 2 24.66307521
-11.58011743 2 20.49225491
12.58011743 2 30.23909011
34.44662515 3 22.28419700
6
-262.22422461 2 17.87367530
258.22981252 2 28.75598991
5613.63467960 2 19.10096571
-4192.30569417 2 18.88256059
-1341.04802395 2 20.95302325
-79.28421640 2 34.10653707
6
-199.48848662 2 37.85954681
197.31066276 2 28.79454664
4870247.22276531 2 40.22839783
-5277181.77014563 2 40.34690459
-196566.81095176 2 39.13989706
603502.35555458 2 40.91315002
He GEN 0 2
6
2.00000000 1 22.64777484
-0.00700692 2 23.54196640
-8.90169316 2 18.71556903
113.56926776 2 15.15150658
-112.56926776 2 13.80465850
45.29554968 3 12.54192267
6
747.63794984 2 13.33611411
-753.70091072 2 23.45392111
-397.08293819 2 12.23651194
10.35341837 2 14.87987639
-1430.53848568 2 18.32138342
1818.26602949 2 21.24054054
6
305.67933642 2 21.32319132
-307.98355807 2 12.22370696
5957.66379729 2 14.11720170
-6099.62872267 2 14.41269814
523.59639310 2 17.66028106
-380.63505659 2 21.52626637
Li GEN 2 2
6
1.00000000 1 0.78732101
-2.23999912 2 0.79224763
0.10376190 2 1.79622268
4.27489122 2 1.83637465
-3.27489122 2 1.91213904
0.78732101 3 0.79291624
6
256.80790655 2 1.78312879
-255.81956741 2 0.95553059
90.30361668 2 0.87617279
272.13155048 2 1.09621549
-180.73373018 2 1.43900642
-180.70146573 2 1.83085147
6
-4.80714862 2 1.53942961
3.36281864 2 0.84742021
-305.38012622 2 0.78976831
-509.40184487 2 0.98031681
436.16121675 2 0.81548364
379.61797456 2 1.02582853
Be GEN 2 2
6
2.00000000 1 1.20639978
-5.40313229 2 1.18425537
1.72394027 2 2.81826911
2.83884922 2 2.37513515
-1.83884922 2 2.82920954
2.41279956 3 1.18219335
6
-1045.63679908 2 2.59240356
1047.85482764 2 1.41685787
-1899.15859219 2 1.48536566
1398.06780686 2 1.70076501
-696.13481389 2 2.03898674
1198.22571139 2 2.57766211
6
630.90931326 2 1.84421403
-632.78437074 2 1.13419132
441.35012255 2 1.13393716
435.97021325 2 1.22419150
-353.63284449 2 1.39760436
-522.69065435 2 1.88595068
B GEN 2 2
6
3.00000000 1 2.72292969
-11.78419674 2 2.41356794
5.22993640 2 4.60628004
0.42834165 2 3.81569642
0.57165835 2 4.75281449
8.16878907 3 2.42655010
6
-260.26050710 2 2.55536939
265.37594882 2 4.54575013
76.89512909 2 2.14992133
-57.25691791 2 2.71845869
4293.37943873 2 3.54567059
-4312.01708538 2 3.65811356
6
236.98381086 2 3.86703012
-239.59777090 2 2.15409783
4347.09682018 2 2.51320631
-4637.07702775 2 2.58243237
786.10765740 2 3.15459528
-495.13181880 2 3.69673537
C GEN 2 2
6
4.00000000 1 6.85914037
-69.31783111 2 7.66877502
58.73619595 2 8.89164866
-5.11066199 2 4.63398124
6.11066199 2 5.40104250
27.43656147 3 6.79273179
6
430.61454744 2 8.62389774
-421.35054055 2 5.03244470
-33212.40034531 2 6.89861917
44.12655159 2 3.96628687
96.39927700 2 5.01313881
33072.87650778 2 6.85964729
6
-104389.58452246 2 4.75057662
104386.03365951 2 8.95366858
690570.92310077 2 7.84605551
105067.78650436 2 4.75435948
-142604.06718444 2 8.80450514
-653033.64724842 2 7.81116996
N GEN 2 2
6
5.00000000 1 11.01983025
-747.65378590 2 7.70260962
731.28815439 2 7.83791198
-3.54162255 2 8.41784728
4.54162255 2 12.53426384
55.09915125 3 6.76845507
6
189.29450948 2 10.95064006
-174.81483163 2 7.48980682
148422.74289741 2 6.18035270
-167161.90534269 2 6.21695388
34280.43140051 2 6.81408633
-15540.26812247 2 7.23413705
6
-5338.70218681 2 6.15987128
5334.35386770 2 7.49726635
-1839.21100223 2 8.80963870
16010.85000728 2 6.52067091
-16722.95522386 2 6.97790252
2552.31199840 2 8.37871646
O GEN 2 2
6
6.00000000 1 8.86932353
-28.04199287 2 6.05326172
11.15704031 2 5.51480979
180.82432510 2 10.77878397
-179.82432510 2 10.23693413
53.21594115 3 7.90462675
6
-9212.20980516 2 7.28893859
9226.86567950 2 6.05971190
58203.26727502 2 10.83143357
-5120.48607364 2 5.75281092
-93321.50266843 2 10.51155711
40239.72318888 2 9.72227746
6
10001.55649464 2 7.43321349
-10012.86801601 2 5.85047476
8554.95973537 2 5.79011164
-20342.33136146 2 8.08750969
11739.44079236 2 8.43229920
48.92837040 2 4.71055456
F GEN 2 2
6
7.00000000 1 16.52048840
-10.46754024 2 13.26693551
-11.21567917 2 18.77563836
-32.41582195 2 10.96778594
33.41582195 2 21.09729680
115.64341877 3 13.46927525
6
1201.43391413 2 19.92490215
-1182.60889584 2 11.77163137
-8770.99026936 2 12.30043337
5336.21358848 2 11.63810105
8729.77565724 2 14.12189391
-5293.99672165 2 16.53091209
6
92.58757506 2 8.66992000
-108.46085404 2 9.40009036
-319.30686222 2 9.08633595
524.57586653 2 9.90194004
-443.63347077 2 13.57164540
239.36118945 2 16.47995554
Ne GEN 2 2
6
8.00000000 1 21.64664513
1794.02959527 2 14.45731213
-1828.03241002 2 14.11697591
23.90491418 2 14.10774236
-22.90491418 2 20.42359560
173.17316107 3 11.93940404
6
-5911.13460210 2 12.24993716
5941.26076308 2 20.24332306
2840.09993994 2 12.20646543
1742.40556167 2 11.50431394
8834.09207695 2 16.82066882
-13415.59681607 2 18.72208419
6
53626.32637171 2 20.56468824
-53639.90888359 2 19.92390926
-576.65341012 2 13.02834964
1907.80575476 2 15.43385134
5623.71426075 2 18.06950435
-6953.86800222 2 22.66963993
K GEN 18 2
6
1.00000000 1 0.50008727
1416.76952428 2 0.63134777
-1419.89095139 2 0.60241926
-302.74307268 2 0.68724573
303.74307268 2 0.55624069
0.50008727 3 0.50008691
6
-854959.33457742 2 0.55297829
854960.96236303 2 0.59508099
-2735051.37932036 2 0.55136787
-797902.82136562 2 0.59254779
-90621.33409241 2 0.60683509
3623576.53510235 2 0.55188848
6
5366450.44923246 2 0.56834617
-5366449.39460951 2 0.57395202
506392.75510780 2 0.65188562
1065012.45735119 2 0.60395254
-764583.36396565 2 0.55451976
-806820.84832728 2 0.64359720
Ca GEN 18 2
6
2.00000000 1 0.74758765
308735.40641498 2 0.72269274
-308740.90975833 2 0.72197603
7202.81432103 2 0.70435779
-7201.81432103 2 0.73462875
1.49517531 3 0.98521314
6
3358.40551562 2 0.85820603
-3354.33378202 2 0.50055931
645.82930380 2 0.77593512
-4032.30085432 2 0.85197466
3315.68514964 2 0.50005881
71.78714429 2 1.01826143
6
3797.10880911 2 0.54666026
-3794.15970380 2 0.55760964
1988.78457523 2 0.66771019
13912.48066729 2 0.71662858
-408.96685813 2 0.50701325
-15491.29677996 2 0.71335086
Sc GEN 18 2
6
3.00000000 1 6.99258598
-124.50237230 2 4.24128187
97.21802227 2 1.68870852
-87.09390293 2 1.51321231
88.09390293 2 5.62659050
20.97775795 3 2.67617421
6
375.73920548 2 5.45654024
-350.54708476 2 5.82486421
-11.58800164 2 0.51173797
12.31935173 2 0.56805032
20.80334597 2 0.78399590
-20.53480959 2 1.25273408
6
6092.78689761 2 1.30970450
-6068.65474455 2 6.97688197
6074.16548241 2 6.96312742
-2.71306889 2 0.50000000
562.44223581 2 1.09627007
-6632.89448781 2 1.28901234
Ti GEN 18 2
6
4.00000000 1 4.58962911
29.78882355 2 12.99080675
-64.03604684 2 6.47044482
4.09908827 2 7.32890448
-3.09908827 2 0.86508310
18.35851644 3 11.66884823
6
204.54741131 2 6.98984163
-173.26765359 2 1.14387234
-179.62280834 2 7.98041969
81.98571631 2 1.30274954
-105.23530836 2 0.79373704
203.87378660 2 0.87617820
6
47.21398743 2 4.46327869
-17.03315162 2 12.03758238
-1.80345968 2 1.82986618
-67.65022794 2 0.85432599
83.23157126 2 0.75234069
-12.77614240 2 0.56466795
V GEN 18 2
6
5.00000000 1 4.80344323
22.35774108 2 18.78787979
-64.07198704 2 7.13216682
4.33388926 2 9.27213879
-3.33388926 2 0.97989891
24.01721615 3 16.08839186
6
180.61077610 2 8.25076842
-142.94184574 2 0.97905818
-150.64642751 2 9.92043295
-6.71407277 2 0.62363714
176.09329684 2 0.95148528
-17.73131270 2 1.07801133
6
57.45110361 2 5.32960287
-20.81111514 2 14.24980571
-8.29286428 2 1.85925508
-5.73287020 2 0.58593750
29.10022105 2 0.79878530
-14.07269455 2 1.00225258
Cr GEN 18 2
6
6.00000000 1 12.84308988
-3.09604991 2 0.99382054
-44.89504234 2 7.58819115
-170.55613293 2 14.51774012
171.55613293 2 16.43682827
77.05853926 3 12.82491986
6
-18202.34922306 2 1.98782159
18244.42867028 2 31.32646602
30868.09979612 2 30.37846452
17868.98085600 2 1.97809129
-49114.96837018 2 30.73273877
378.88775116 2 2.67913288
6
29.20236180 2 19.25203633
12.37319603 2 0.97567458
4072.48148684 2 17.43196546
-17623.52674725 2 16.30880219
0.00000000 2 1.00000000
13552.04578438 2 15.92770430
Mn GEN 18 2
6
7.00000000 1 15.05016398
76.06668034 2 15.84783194
-134.18719488 2 9.80426007
5.15310013 2 22.40715541
-4.15310013 2 1.28870598
105.35114786 3 9.24698903
6
5.29793560 2 36.81344701
46.23395617 2 10.22325416
-60.32817992 2 19.40077237
47.36691946 2 10.31192728
-593.48022661 2 0.82035751
607.44155846 2 0.82499832
6
43.56050065 2 39.11191097
6.67450664 2 5.89010993
273.74198710 2 12.39309544
-27.45450618 2 46.10455298
-256.40166892 2 15.13448958
11.11513392 2 0.96513012
Fe GEN 18 2
6
8.00000000 1 15.22430826
44.74166498 2 23.61492800
-111.48295214 2 10.92989564
4.87905385 2 34.25190536
-3.87905385 2 1.33822720
121.79446608 3 12.33553803
6
-19.50464924 2 30.77395752
78.13974335 2 10.21396062
-93.51149367 2 7.16717891
-5331.00729306 2 2.86167947
2973.12062964 2 2.65030718
2452.39961633 2 3.20024669
6
24692.89537881 2 35.68878072
-24635.37117467 2 1.90446408
67.20321584 2 9.50100295
-24719.85685234 2 35.67756831
155.45498669 2 2.48480944
24498.19947049 2 1.90126047
Co GEN 18 2
6
9.00000000 1 16.99448342
49.13807967 2 27.18614115
-125.28324533 2 12.21218102
5.11388765 2 39.14513799
-4.11388765 2 1.47717612
152.95035078 3 13.67966454
6
-14.42629264 2 42.14707531
80.80701231 2 9.38147677
-241.37463154 2 5.80599555
-2375.49390008 2 3.20236619
1470.87516654 2 3.85735739
1146.99509265 2 2.77670509
6
136.98013925 2 35.88691706
-71.59603354 2 2.32679268
69.29537053 2 14.47120857
-182.97334302 2 33.48566094
53.73921710 2 5.03596368
60.93980797 2 1.71252673
Ni GEN 18 2
6
10.00000000 1 22.08639324
-144.93688782 2 14.51813938
58.56151708 2 31.72005545
5.46467869 2 46.47610840
-4.46467869 2 1.64348434
220.86393239 3 17.23929992
6
-1037.96291767 2 23.63013626
1112.68285967 2 22.54579447
-202.88667032 2 10.67846148
-1992.46747856 2 2.78611652
261.70081349 2 7.26891690
1934.65478930 2 2.71695433
6
-53.30731307 2 26.78098186
127.09013633 2 3.54449677
-4806.85555998 2 9.97427088
4887.04372410 2 10.06368893
-212.17359382 2 2.46160888
132.98697057 2 1.97486742
Cu GEN 18 2
6
11.00000000 1 2.82733696
-34.48196386 2 1.92614044
-60.25585479 2 16.36117816
95.74606505 2 26.07073787
-94.74606505 2 15.23964803
31.10070652 3 2.17204001
6
-45.62927216 2 31.69953680
125.91417027 2 1.14930323
-14.54702824 2 1.62190112
4.20903863 2 5.04037704
108.15433753 2 13.02666762
-96.81611101 2 1.08245080
6
95.22440516 2 11.30741812
-15.05535618 2 0.88219501
50.51809351 2 1.10244974
-44.11033096 2 1.38963093
24.77977412 2 1.74927941
-30.18619193 2 36.48037929
Zn GEN 18 2
6
12.00000000 1 31.07239014
-200.01988966 2 17.28158695
92.10229536 2 34.39655496
5.98135501 2 49.89939973
-4.98135501 2 1.96865590
372.86868168 3 19.34259724
6
-36.14038802 2 38.52109994
128.37782465 2 12.00212013
-1.61496737 2 1.07625274
-1.83786181 2 49.67118376
65.46563590 2 2.17772473
-61.01291439 2 3.24812913
6
-65.64354860 2 18.09701361
156.02859885 2 36.00255883
172.20201747 2 14.96596000
-192.17040837 2 36.71242576
4.39165632 2 5.39429237
16.57829500 2 1.49031308
Ga GEN 28 2
6
3.00000000 1 1.13608798
164.07678897 2 1.26217688
-167.28328999 2 1.14858151
-669.79177234 2 1.15353581
670.79177234 2 1.12952095
3.40826394 3 1.10744970
6
2326.37321481 2 0.75031475
-2323.38047364 2 0.75000124
386.83516033 2 2.39556890
3373.92258044 2 1.92296729
-3444.97340674 2 2.01243025
-314.78429931 2 1.54022372
6
-49.00749762 2 0.97248539
49.23559677 2 1.12030491
13.15736344 2 1.17799318
125.85888665 2 1.43966818
-194.32447492 2 1.61975153
56.31063114 2 1.96345236
Ge GEN 28 2
6
4.00000000 1 1.37803409
19.62241898 2 1.39153725
-23.72148814 2 1.27769848
2.49161805 2 1.59279926
-1.49161805 2 0.64699203
5.51213636 3 0.92923210
6
-2.74466220 2 0.87224298
6.62035166 2 1.17293014
-2420.40847648 2 1.99495027
-82306.43955717 2 2.42954180
6740.23721390 2 2.16484262
77987.61073589 2 2.43883104
6
-2107.38453991 2 1.16911036
2108.21076604 2 1.46731756
1481.43044167 2 1.13494844
-5605.67944848 2 1.57427397
1698.46708565 2 1.69705377
2426.78290985 2 1.49642085
As GEN 28 2
6
5.00000000 1 1.43022249
-9.34297986 2 1.49610460
4.21498088 2 6.47107540
10.09813510 2 3.25241162
-9.09813510 2 5.07144325
7.15111245 3 1.33657021
6
13218.94379269 2 1.93743539
-13214.39886844 2 1.06114866
-12968.43207956 2 1.94924972
13915.97822491 2 1.06566409
-954.00698285 2 1.23265097
7.46088753 2 4.89271387
6
1464.46500602 2 1.99905491
-1463.07044815 2 1.47578217
368.93680276 2 1.30626554
-20015.22902646 2 1.76510607
-4931.41969774 2 1.62454622
24578.71284776 2 1.71245824
Se GEN 28 2
6
6.00000000 1 1.51096144
18985.66456772 2 2.92355341
-18994.15945825 2 2.92032845
-67662.27071451 2 3.11248219
67663.27071451 2 3.11189793
9.06576863 3 1.65761092
6
9.98441274 2 1.51889669
-2.50844675 2 1.97738476
-180236.05319146 2 2.70806322
388717.66809223 2 2.76186155
-395809.31847294 2 2.85646715
187328.70401255 2 2.90992434
6
-0.64003892 2 1.60286011
4.75615253 2 1.39335643
-1221.08696720 2 2.09669307
-10412.15615824 2 2.41527013
11345.50935270 2 2.36453165
288.73492615 2 3.03391531
Br GEN 28 2
6
7.00000000 1 1.41289916
-7.52651514 2 1.15658370
-0.55005317 2 2.42725255
32.50767838 2 2.88316202
-31.50767838 2 2.65601102
9.89029412 3 1.40346702
6
28526.73706896 2 2.34791729
-28520.73498833 2 2.45113975
-99003.29767895 2 2.50553756
749850.19071550 2 2.81179865
-1128475.81390516 2 2.78141408
477629.92118992 2 2.68265676
6
17.76908748 2 1.31119911
-15.01578842 2 1.60289186
-18723.09651802 2 2.55330648
-655.15159005 2 2.02749820
16349.83148583 2 2.49321553
3029.41777740 2 2.76331597
Kr GEN 28 2
6
8.00000000 1 8.52108317
-122698.81335772 2 3.24264497
122687.31930993 2 3.40822193
-118092.31104849 2 3.40804203
118093.31104849 2 3.23631062
68.16866536 3 4.68396906
6
-494.70169718 2 5.76331362
503.25343741 2 2.73098609
-367021.57369848 2 3.66759371
-1529686.47073208 2 3.83008505
1834642.13235417 2 3.78655002
62066.91317383 2 4.17980892
6
-73.83484449 2 5.20603747
79.00632901 2 4.70236432
1062.70264892 2 4.15470411
-40873.21549348 2 3.08586486
43280.45283221 2 3.10363880
-3468.93856436 2 3.63224008
Al GEN 10 2
6
3.00000000 1 0.91821413
-12.79791788 2 1.10715442
7.32796626 2 2.03989390
-52053.92058080 2 2.04204466
52054.92058080 2 2.04199047
2.75464240 3 0.94029840
6
-42.72903905 2 1.99445589
47.15203530 2 1.12469986
3231.39534748 2 1.72843552
-398.06113457 2 1.37872018
6652.21368423 2 1.92811339
-9484.54780105 2 1.87995009
6
830.07508675 2 1.87943518
-827.97758021 2 1.42508183
-1235.04705829 2 1.80941062
-21.40768628 2 0.95469299
154.21154335 2 1.20079877
1103.24388863 2 1.53169350
Si GEN 10 2
6
4.00000000 1 1.22418085
40.72596063 2 2.05337336
-48.11509746 2 1.71412850
-37.28006653 2 2.41395005
38.28006653 2 2.32084434
4.89672339 3 1.35299631
6
-7.68509694 2 1.13070385
13.98411213 2 1.16859753
-116498.38332824 2 2.36994226
-9121.48068622 2 2.16734100
31941.11999828 2 2.44879942
93679.74429067 2 2.32322104
6
41248.64599856 2 1.86811003
-41245.51022334 2 2.10179754
-60.37864776 2 1.33467919
4180.55486914 2 2.29835912
-142125.41164262 2 1.93345601
138006.23630568 2 1.99192523
P GEN 10 2
6
5.00000000 1 3.71332384
-13724.87406260 2 3.31759335
13714.20593187 2 3.65850189
-19470.81568886 2 3.61426447
19471.81568886 2 3.37579099
18.56661922 3 2.21831587
6
-1411.99322697 2 3.20289077
1421.31824558 2 2.14807352
576236.74902855 2 2.65372234
-397754.23263905 2 2.69778221
-194403.08693812 2 2.58386669
15921.57087605 2 2.99361065
6
64.03084909 2 2.59482433
-58.63734715 2 3.43313766
365.80442210 2 2.95557705
-12.13895471 2 1.75387879
158.27628825 2 3.69699906
-510.94109430 2 3.15077203
S GEN 10 2
6
6.00000000 1 2.51977085
-84.83332404 2 3.22007986
70.54487302 2 4.71655238
3581.56671658 2 4.39998291
-3580.56671658 2 4.41784559
15.11862509 3 2.54586294
6
-231.72652822 2 4.61819246
244.26248418 2 2.30938314
-920.53494189 2 2.65072450
2410.83323256 2 3.31119070
-2429.46016726 2 3.80226712
940.16251250 2 4.46824294
6
957.88712772 2 4.48874898
-950.12559451 2 3.37845034
6481.05990210 2 3.83307173
-157.23448173 2 1.92699416
186.18956071 2 1.98946862
-6509.01396292 2 3.99439281
Cl GEN 10 2
6
7.00000000 1 6.06473582
-454.17116717 2 5.57110302
436.13184861 2 5.26917938
-712.97599461 2 4.62455647
713.97599461 2 4.94326867
42.45315074 3 3.47635853
6
3561.38023524 2 4.48278574
-3545.84042135 2 3.43372818
-348465.51723117 2 3.74855830
12627.08188052 2 3.20650110
404246.19776785 2 3.70673786
-68406.76197098 2 3.45681590
6
19.30024745 2 3.79400952
-9.26766424 2 3.06020678
508.81151546 2 4.47438492
-7.59455659 2 2.43219723
-757.15587217 2 4.97983429
256.93953188 2 5.71145786
Ar GEN 10 2
6
8.00000000 1 3.61306766
326.13269394 2 4.01911273
-346.66642426 2 5.31624938
-7083.13498801 2 4.62848435
7084.13498801 2 4.70295676
28.90454131 3 3.84612203
6
323.59441180 2 3.28236424
-306.35028843 2 3.72212609
-6283.46399338 2 4.23452843
435312.63926384 2 4.90386840
20087.00527001 2 5.30220051
-449115.17955704 2 4.93088566
6
-2470.88386165 2 5.66191962
2481.68427537 2 4.62960722
48097.69821672 2 2.45115265
-48060.46858390 2 2.45082141
-1386.79918148 2 4.23753203
1350.57102634 2 6.12344921

292
data/pseudo/tn_df_sc Normal file
View File

@ -0,0 +1,292 @@
Sc GEN 12 2
8
9.00000000 1 18.44478556
-28.08765281 2 1.72227091
6.39250114 2 38.78217945
135.57316128 3 4.25767220
30.42990876 3 30.59237471
732.69856731 4 3.04901650
-839.18407578 4 3.26586693
306.02608763 4 19.55311974
8
-0.66275990 2 28.84167604
15.34001225 2 2.35022973
-2135.70086146 3 2.36887926
-272.32226474 3 1.53860208
2408.02312621 3 2.24659807
101.49528202 4 3.20659052
2308.19070504 4 1.65816906
-2392.74854053 4 1.70062176
8
253.56902450 2 1.38158346
-244.79525414 2 7.79906720
613.28437434 3 3.46268859
-167.40250936 3 1.44953060
-445.88186498 3 4.19986338
-558.92885001 4 2.84253773
-139.52186395 4 8.10103826
-860.39715397 4 5.29686620
Ti GEN 12 2
8
10.00000000 1 22.29649672
-72305.15340277 2 6.07562013
72279.39956641 2 7.08549167
-5.38004642 3 1.85317121
228.34501358 3 11.48488557
72347.84359974 4 6.58565089
-36.31015055 4 10.79509368
524.90430538 4 4.36759114
8
-1486.27686725 2 1.90199524
1504.05739312 2 3.17280244
-346.63236251 3 7.28185273
297.60206194 3 1.60782556
49.03030057 3 31.70876802
1363.17044217 4 2.57136209
173.13661454 4 15.10326471
408.87838151 4 10.51280239
8
770.58828172 2 4.79017059
-760.06500844 2 16.39428027
4131.47101858 3 2.73641831
-2.86068712 3 1.26533109
-4128.61033146 3 2.75566672
-4681.55429918 4 13.54811035
-216.64417046 4 3.18165696
-3871.27097394 4 7.38011991
V GEN 12 2
8
11.00000000 1 7.61152016
-2254.24090893 2 3.39807975
2224.02899636 2 6.97361870
-110446453.80565737 3 4.55862146
110446537.53237911 3 4.55862102
3279.23908558 4 3.96488312
110445429.80748074 4 5.79893896
-110440859.60674113 4 5.79892709
8
793493.20383269 2 1.90936932
-793472.27490442 2 1.96341714
-208.86387558 3 5.49944355
258.48298732 3 4.42141770
-49.61911175 3 2.27427679
-42873.55595686 4 1.93670396
-750668.26686351 4 13.81929388
750696.33209725 4 13.81951796
8
563.75098077 2 2.73920868
-551.25384718 2 8.34159772
565.60881231 3 6.86565518
-552.54712531 3 7.02672916
-13.06168700 3 1.72160118
766.15325384 4 5.21722741
-1341.96583800 4 3.64504781
-2478.29367021 4 6.45896159
Cr GEN 12 2
8
12.00000000 1 37.30558989
-31.65683900 2 2.72495980
-3.82112970 2 82.35078893
-1340.05228092 3 5.03605834
1787.71935961 3 8.49223479
1670.38275859 4 5.05934149
-297.67363866 4 11.22316422
-1773.64577915 4 12.78798168
8
1321.32584937 2 2.01494487
-1297.16280545 2 9.11769637
172456.79432585 3 2.74640213
-172130.54143941 3 2.73601029
-326.25288644 3 8.22966405
3318.19479259 4 8.93660753
-4964.77333719 4 4.18996691
-7518.15931266 4 8.08712175
8
426.08303476 2 2.13852920
-410.95463497 2 6.95873057
-26339.61341213 3 10.51865586
27348.01671881 3 10.59655900
-1008.40330668 3 12.57249470
-1190.97633771 4 3.81958382
-242.50982893 4 2.30397730
-515.04540222 4 8.50147041
Mn GEN 12 2
8
13.00000000 1 5.18371402
-578541.89058487 2 5.06065032
578503.38848415 2 6.70792867
-51913.84692424 3 6.17952209
51981.23520653 3 6.17539491
363344.02202434 4 6.42176078
267112.71548476 4 5.85884127
322304.52239107 4 5.30004030
8
1419.16815158 2 2.36735511
-1393.80593768 2 10.44777616
90835.30824196 3 3.38832573
-87236.54130341 3 3.33976449
-3598.76693855 3 4.59371397
-6244.54083570 4 4.53305698
1227.60592152 4 6.80451212
-6185.56255228 4 8.40561309
8
4024.75281098 2 2.94114594
-4009.68099577 2 7.86104996
6036.24229971 3 5.47734943
597.55987937 3 7.26632213
-6633.80217908 3 5.64966653
-8536.73955532 4 4.35053539
-2120.81538582 4 3.10976563
-9025.36229250 4 6.88076377
Fe GEN 12 2
8
14.00000000 1 5.12237041
-40.17016318 2 2.51511645
-1.31093574 2 68.88205922
233.53970769 3 8.04518971
-161.82652195 3 11.87602774
-1791.82033120 4 5.09693593
1599.45078669 4 4.72210640
1.03695301 4 1.70594204
8
26.70612465 2 1.98046097
0.57578912 2 129.99498266
3039.39666376 3 2.39996246
-3165.32503397 3 2.43500497
125.92837021 3 5.42607639
-291.65810402 4 8.00515516
391.88052787 4 5.38996549
27.51771082 4 21.57361672
8
624.99065580 2 2.73200743
-610.14663705 2 8.14205971
1017.89543597 3 6.81776145
-40.92293045 3 25.88593190
-976.97250552 3 5.88766735
-1433.26030940 4 3.94271278
-167.70300401 4 2.68547503
-1659.40792313 4 8.24853344
Co GEN 12 2
8
15.00000000 1 7.54679164
144513.79744165 2 3.67362404
-144558.25171900 2 4.84501436
107.53071842 3 2.40342575
5.67115611 3 26.17864786
-58433.23776581 4 3.80837544
-86187.09039425 4 4.51680318
-24877.11683436 4 4.40937071
8
95.23258759 2 2.24610518
-66.50913381 2 5.03497074
5039.10184384 3 3.22714612
106438.82887427 3 4.39051698
-111477.93071810 3 4.34028955
-3416.23892647 4 3.35420522
-108155.92422115 4 5.08283495
111451.19401338 4 5.04411598
8
595.60664332 2 4.48956443
-581.05689813 2 7.69628175
-1377.49199281 3 3.90883087
825.53641688 3 4.85597858
551.95557593 3 2.42496884
-403.44284159 4 2.48937518
360.79216631 4 7.08237042
-1755.31252545 4 7.01264199
Ni GEN 12 2
8
16.00000000 1 7.69817381
1050.11428773 2 7.53303210
-1144.28791364 2 25.60798551
13641.04856576 3 13.90272560
-13517.87778478 3 14.02243059
-99.93959073 4 5.40919366
-14590.22326277 4 19.39187326
-6702.20081903 4 10.04177364
8
-137324.04248861 2 3.00959957
137399.59146577 2 2.97820277
137895.50489379 3 3.20429852
-1036.38091066 3 8.22563766
-136859.12398313 3 3.17346613
1370.72380067 4 18.22958633
-904.80564965 4 6.63637638
-4552.45338879 4 4.01705177
8
-315.28909178 2 15.14825706
371.76324185 2 5.57172908
471.27416207 3 2.88437623
165.43855728 3 3.75784965
-636.71271936 3 3.41699124
-172.18113847 4 5.67830819
-148.24251004 4 2.70288433
-2384.29249546 4 8.91177457
Cu GEN 12 2
8
17.00000000 1 14.72121260
0.43564135 2 173.23217215
-51.26559465 2 2.58024469
3.82433122 3 80.09883693
246.43628291 3 9.08368916
6456.72306266 4 4.49885474
-6459.98303523 4 4.56436500
-53.55070822 4 20.14135032
8
-7.61322720 2 104.42478595
38.51618543 2 3.64199543
-12.00344193 3 52.46064977
288.99573247 3 4.33410703
-276.99229053 3 8.38373584
876.14551285 4 3.01347300
-1144.52462196 4 3.25680498
-386.35474053 4 59.52152812
8
142.97388030 2 48.08520852
-128.80933064 2 49.90034500
-186.15554307 3 11.18440029
180.45159943 3 5.04653753
5.70394364 3 85.01391269
101.90155258 4 3.06268644
-238.17133323 4 3.55821337
583.56858981 4 22.24622222
Zn GEN 12 2
8
18.00000000 1 16.25309578
-62.06001046 2 3.04359000
8.22443626 2 52.31604625
284.31836352 3 4.12635237
8.23736049 3 129.68855961
11442.99692797 4 7.94323624
-11664.25528103 4 7.74821809
462.64311342 4 34.44853266
8
140.30017448 2 3.16683649
-108.24959569 2 14.80839343
88.79372352 3 43.94225321
949.52154936 3 3.34122685
-1038.31527288 3 8.34153430
780.81282740 4 18.34782011
-1958.42831296 4 4.00418064
18.92059615 4 597.07325481
8
664.93623774 2 5.16678579
-651.12455824 2 11.88724380
930.96426186 3 7.96788974
-913.07841414 3 5.27302550
-17.88584772 3 127.63757255
3275.61040524 4 37.54266998
-3957.43240479 4 9.90068894
-3622.67126499 4 37.33250038

785
data/pseudo/tn_hf Normal file
View File

@ -0,0 +1,785 @@
H GEN 0 2
6
1.00000000 1 33.97261756
-5.73227574 2 41.31028903
-0.09126064 2 25.25940941
-20.89980944 2 22.55290552
21.89980945 2 32.44131356
33.97261756 3 21.12884239
6
-792.10375913 2 18.05333002
788.69064150 2 28.72271273
243.76232429 2 17.34000000
1971.45741618 2 20.31094085
-1795.56663560 2 22.08154655
-418.65661775 2 30.98799599
6
20.17177614 2 43.35000000
-21.74798121 2 30.58059209
81.48044293 2 43.35000000
-250.69197995 2 42.07548166
88.72115024 2 36.90496619
81.48044293 2 43.35000000
He GEN 0 2
6
2.00000000 1 20.98762121
-33.61186426 2 22.14709418
24.51669349 2 23.61790706
130.14113834 2 15.38761786
-129.14113834 2 14.22621787
41.97524242 3 12.59257273
6
1056.41263785 2 13.17618363
-1062.28560366 2 23.62254131
-463.87351954 2 12.04168890
-676.20404915 2 15.14280380
-595.21618656 2 19.81607243
1736.29130578 2 22.34342328
6
428.21432838 2 21.71652417
-430.31401911 2 12.32378638
7327.65357096 2 14.04426129
-7501.20178041 2 14.34477832
827.37705616 2 17.58948890
-652.83515208 2 21.22706329
Li GEN 2 2
6
1.00000000 1 0.78732101
-2.23995793 2 0.79224763
0.10336496 2 1.79622268
4.26591073 2 1.83637465
-3.26591073 2 1.91213904
0.78732101 3 0.79291624
6
256.06005883 2 1.78312879
-255.07112703 2 0.95553059
89.99417499 2 0.87617279
271.48958394 2 1.09621549
-180.35430387 2 1.43900642
-180.12948429 2 1.83085147
6
-6.15265886 2 1.51120608
4.70876577 2 0.76936375
-145.31681550 2 0.76874061
-238.21930857 2 0.99080928
219.67347903 2 0.80457655
164.85986038 2 1.07164892
Be GEN 2 2
6
2.00000000 1 1.20639978
-5.40210132 2 1.18425537
1.72285109 2 2.81826911
2.83477794 2 2.37513515
-1.83477794 2 2.82920954
2.41279956 3 1.18219335
6
-1045.56923435 2 2.59240549
1047.78889524 2 1.41686040
-1899.02207714 2 1.48536195
1398.02036098 2 1.70076266
-696.17508584 2 2.03898393
1198.17691383 2 2.57766021
6
630.77503458 2 1.84421403
-632.64959849 2 1.13419132
441.30858401 2 1.13393716
435.76647651 2 1.22419150
-353.48689426 2 1.39760436
-522.59133089 2 1.88595068
B GEN 2 2
6
3.00000000 1 2.72292969
-11.77602579 2 2.41356794
5.22133296 2 4.60628004
0.40709712 2 3.81569642
0.59290288 2 4.75281449
8.16878906 3 2.42655010
6
-259.65579181 2 2.54943794
264.77623108 2 4.54559309
79.19161122 2 2.15270531
-59.67150303 2 2.71820746
4276.39654293 2 3.54458188
-4294.91608677 2 3.65732479
6
236.40878048 2 3.85965228
-239.02058908 2 2.15130911
4065.68265375 2 2.50786619
-4354.92616892 2 2.58144728
782.08428825 2 3.14947869
-491.84514677 2 3.69136935
C GEN 2 2
6
4.00000000 1 6.85924392
-68.83281650 2 7.67473342
58.31001518 2 8.89832626
-5.23010100 2 4.63334409
6.23010100 2 5.40036758
27.43697568 3 6.78357071
6
15927.37261280 2 7.83879438
-15918.16480090 2 5.19308059
2266.75441213 2 7.53204263
199.75030501 2 9.76960112
15915.92435302 2 5.19521204
-18381.42723477 2 7.82847044
6
-153360.42295057 2 4.77965478
153356.81223147 2 7.75552602
-369415.66050006 2 7.39994991
152547.92039307 2 4.77641318
-50035.07991665 2 8.01352516
266903.80850142 2 7.30461659
N GEN 2 2
6
5.00000000 1 11.01983025
-745.67280403 2 7.70260962
729.30210222 2 7.83791198
-3.61639106 2 8.41784728
4.61639106 2 12.53426384
55.09915126 3 6.76845507
6
190.73305357 2 10.95092720
-176.25003778 2 7.48977970
138618.50426238 2 6.17989888
-156031.83911197 2 6.21713643
33624.66842989 2 6.84042808
-16210.33273520 2 7.23938652
6
-6963.78021671 2 6.00000000
6959.42174113 2 6.82157159
-1881.92821431 2 8.95497565
13576.39988827 2 6.21477468
-14307.35309373 2 6.69426410
2613.87687182 2 8.63240466
O GEN 2 2
6
6.00000000 1 8.86965578
-28.03502457 2 6.05347085
11.15565054 2 5.51487970
180.73182495 2 10.77996678
-179.73182495 2 10.23800841
53.21793471 3 7.90307811
6
-9301.89903913 2 7.28355994
9316.57793048 2 6.06026884
59864.04331135 2 10.82203807
-5153.55178109 2 5.75221581
-94673.29831259 2 10.51025188
39963.80850689 2 9.71187643
6
1682.75815189 2 6.93414347
-1694.05800561 2 5.70161443
848.47217112 2 5.90927487
-8787.11179775 2 8.69956320
7632.94108771 2 8.89513889
306.69604455 2 4.97067782
F GEN 2 2
6
7.00000000 1 16.52363418
-6.34751135 2 13.25777643
-15.15415075 2 18.76649923
-34.29784879 2 10.97564997
35.29784879 2 21.10568925
115.66543928 3 13.45706123
6
3851.10542697 2 18.85020393
-3832.40250429 2 12.48878559
-237433.87385812 2 13.23599298
4380.91891820 2 11.79852686
240164.95590264 2 13.28196243
-7110.99868861 2 17.38283172
6
-154.12048513 2 8.59949907
138.11297468 2 9.44224375
90.42851925 2 8.92886754
24.83173716 2 10.18592724
-424.59591732 2 14.47166344
310.33244840 2 16.45175456
Ne GEN 2 2
6
8.00000000 1 21.65168713
1792.30188007 2 14.45374325
-1826.14661180 2 14.11313946
24.26469360 2 14.10779016
-23.26469360 2 20.42281751
173.21349705 3 11.94458523
6
-3233.03788910 2 12.39056574
3263.09949012 2 20.60119535
1065.47298248 2 11.30677784
846.05067282 2 12.27737462
-34052.05079344 2 17.82669542
32141.52790433 2 17.34318949
6
64989.42116117 2 20.31242587
-65003.08394100 2 20.05277414
-486.55828399 2 12.87396775
2895.04182579 2 15.84533388
-261.91821074 2 19.42277681
-2145.56672184 2 23.82700477
K GEN 18 2
6
1.00000000 1 0.68724959
7665.13435390 2 0.62381187
-7668.26785841 2 0.59278246
-3877.60874288 2 0.63961163
3878.60874288 2 0.57860350
0.68724959 3 0.50008691
6
477943.00813868 2 0.60446875
-477941.36080643 2 0.55281419
-533027.54468668 2 0.57763214
644866.44840953 2 0.56624742
-347063.87255621 2 0.60823749
235225.96911606 2 0.54903924
6
5177368.01138896 2 0.56835236
-5177366.94506877 2 0.57395949
479730.23987439 2 0.65183506
1027151.48932830 2 0.60393420
-737636.25038898 2 0.55451546
-769244.47868615 2 0.64345811
Ca GEN 18 2
6
2.00000000 1 1.02097432
-10036.20006734 2 0.76570985
10030.67757963 2 0.83608195
-8136.00883920 2 0.84362927
8137.00883920 2 0.75729596
2.04194863 3 0.94514267
6
-34706.02643508 2 0.85912364
34710.12533681 2 0.50000000
860.68953329 2 0.79227941
33806.87817612 2 0.85997136
-34747.30927870 2 0.50004940
80.74228959 2 1.01833438
6
514.89542915 2 0.50045897
-511.93073005 2 0.57886998
-1374495660.24999190 2 0.50000000
687246875.87136328 2 0.50000000
595.96081232 2 0.56402502
687248189.41960287 2 0.50000000
Sc GEN 18 2
6
3.00000000 1 8.57059896
39.59298139 2 7.59719947
-67.37349200 2 5.06179469
3.54689568 2 11.85222547
-2.54689568 2 0.70815643
25.71179688 3 5.04858060
6
414.99811890 2 5.58945823
-389.30527335 2 5.93611719
8.74915776 2 0.56803113
-23.92388226 2 0.60868170
42.12589000 2 0.76957270
-25.95178014 2 1.21300456
6
87.05758924 2 1.12946939
-62.19670511 2 8.56362761
66.37833241 2 7.27494713
16.41391965 2 0.74327556
43.70031508 2 2.03252459
-125.49197853 2 1.19227023
Ti GEN 18 2
6
4.00000000 1 4.77516915
28.34758957 2 10.86929502
-63.21363466 2 5.37319310
5.17935660 2 6.86168513
-4.17935660 2 0.95669336
19.10067660 3 3.52162434
6
211.66189616 2 7.01854391
-179.82099411 2 1.03880358
-185.28466640 2 8.02474194
43.44334388 2 1.22490803
-44.06205312 2 0.73917909
186.90335758 2 0.89595855
6
49.26886952 2 4.65596397
-18.32131307 2 12.03001514
-5.50633295 2 2.16547114
-342.25486254 2 0.92182600
304.90681508 2 0.90099079
43.85505055 2 0.99684289
V GEN 18 2
6
5.00000000 1 7.54069430
35.58763613 2 13.63949328
-78.03044429 2 6.35551182
6.53716910 2 2.59423528
-5.53716910 2 1.16176108
37.70347150 3 6.00940761
6
194.57815114 2 8.18606241
-156.25972501 2 0.95585889
-162.29334861 2 9.81441300
-7.74379387 2 0.70017858
244.84040986 2 0.97854682
-73.80312462 2 1.14925292
6
58.91069981 2 5.48333809
-21.55840127 2 14.40777862
-10.12891199 2 2.12080402
2.52953175 2 0.69388688
109.28174657 2 1.01378564
-100.68144081 2 1.02780261
Cr GEN 18 2
6
6.00000000 1 5.86829616
-3.09900314 2 0.98487638
-44.94655388 2 6.96616660
135.46731129 2 13.59887742
-134.46731129 2 11.34882544
35.20977696 3 8.91110617
6
-526.12421414 2 1.73784849
568.24328209 2 32.55674074
-4019.88240027 2 29.55364033
495.64908693 2 1.64707294
3445.48735974 2 29.05037955
79.74580069 2 3.85284016
6
31.31844062 2 19.50625909
10.30743573 2 0.86978393
-81.88780266 2 15.20370471
461.22634080 2 10.28610919
1.00599253 2 29.84121604
-379.34381792 2 10.93761710
Mn GEN 18 2
6
7.00000000 1 15.05016398
76.91199595 2 15.84783194
-135.08366030 2 9.80426007
5.12036990 2 21.62193241
-4.12036990 2 1.26331891
105.35114786 3 9.24698903
6
4.45077705 2 37.07900996
46.93892122 2 10.09409180
-59.63952162 2 18.98557107
47.25376130 2 10.16267391
2270.38024432 2 0.79460121
-2256.99438460 2 0.79345224
6
43.65884288 2 39.18960573
6.58957965 2 5.88646925
273.41973132 2 12.35978155
-27.85882166 2 45.92825074
-255.64090683 2 15.10051906
11.08093098 2 0.96083847
Fe GEN 18 2
6
8.00000000 1 20.13246747
61.79343671 2 20.09868712
-128.55600523 2 10.70685691
4.84472314 2 28.79726611
-3.84472314 2 1.31374323
161.05973977 3 11.74858936
6
-20.21006220 2 30.42214774
78.68908034 2 10.18491881
-104.38370168 2 6.69228251
11879.61125830 2 2.98725076
4067.63536025 2 2.63900793
-15841.86182474 2 2.88538957
6
52.35701571 2 38.26448010
4.85142656 2 5.90250183
2169.08154283 2 14.09502191
-40.04038813 2 42.65213493
-2140.34005623 2 14.44188153
12.29991314 2 1.06050818
Co GEN 18 2
6
9.00000000 1 18.31609159
47.84627034 2 26.91264651
-123.98809879 2 11.91957078
5.09540361 2 38.50128360
-4.09540361 2 1.45636943
164.84482431 3 13.41744556
6
-22.55314559 2 34.07535172
88.75521276 2 10.45260699
-158.32924566 2 5.91087540
-53402.80058080 2 3.13684604
49767.17959800 2 3.16692544
3794.95155282 2 2.81533596
6
61.92019742 2 38.11279103
2.85881103 2 5.82898971
-387.27158530 2 15.59733227
-64.65478412 2 38.57519906
439.30094674 2 13.98109833
13.62664636 2 1.17046441
Ni GEN 18 2
6
10.00000000 1 19.84291404
-195.32353012 2 16.02128656
108.98533897 2 26.59513762
6.08469364 2 39.39261550
-5.08469364 2 1.73812596
198.42914037 3 16.63287860
6
636.14358475 2 21.00974643
-561.54325704 2 22.88188409
-146.65571659 2 11.08963477
1590.91833845 2 2.66405882
203.15470938 2 6.84512029
-1646.41568069 2 2.74451213
6
67.70992628 2 28.31556957
5.37743585 2 4.16521410
374.49405320 2 17.37825451
-389.83846114 2 21.96153313
1.91671522 2 49.74424984
14.42906054 2 1.27579002
Cu GEN 18 2
6
11.00000000 1 35.47715926
-18105.91023962 2 21.73013363
18011.23386368 2 21.83870561
6.01228206 2 18.42008793
-5.01228206 2 1.78198604
390.24875182 3 20.58922180
6
-51.41016015 2 31.92243640
131.47547623 2 14.07215286
-100490.54220540 2 4.21909683
20675.75763691 2 3.56801887
263590.56712535 2 4.06536588
-183774.78117039 2 3.92650866
6
68.62159615 2 31.47726702
10.70810140 2 4.95987737
233.01753836 2 17.95562228
-258.78181256 2 26.97191776
12.01106739 2 46.85069031
14.75422657 2 1.35614623
Zn GEN 18 2
6
12.00000000 1 26.60492300
-196.98442222 2 17.93401272
89.18558790 2 36.25784521
6.19159911 2 49.96784160
-5.19159911 2 1.99109193
319.25907600 3 19.77027094
6
-177.37971474 2 32.01501166
269.42130045 2 23.08836163
60361.29701582 2 4.67975974
1343973.13568915 2 5.29114502
-619902.07009680 2 5.11539109
-784431.36064381 2 5.38368747
6
46.22045015 2 19.08371294
43.98275320 2 50.00000000
103.59052598 2 16.88459979
-129.86700605 2 37.83300205
11.83058445 2 5.11918008
15.44716451 2 1.45112568
Ga GEN 28 2
6
3.00000000 1 1.29464779
1852.96920182 2 1.20541500
-1856.15440251 2 1.17879070
-513.51787928 2 1.21964580
514.51787928 2 1.12868888
3.88394338 3 1.06946118
6
-10.41248284 2 0.75266853
13.44253658 2 0.82344143
-163070.82529640 2 1.96346903
118782.06261627 2 1.90761481
72439.51450979 2 2.00432013
-28149.75180125 2 1.83309310
6
-55.43707314 2 0.98715132
55.68679311 2 1.18143237
95.35935510 2 1.24163917
-111.55606197 2 1.48647971
6.22134153 2 1.87957113
10.97737885 2 2.24689865
Ge GEN 28 2
6
4.00000000 1 0.64699203
1042.65966555 2 1.17600365
-1045.50742663 2 1.40672708
-522.21837337 2 1.06148136
523.21837337 2 1.52689039
2.58796812 3 0.70634661
6
298.52031462 2 1.37488700
-295.91758286 2 3.05395101
-65778.83466330 2 1.99750874
253302.61962618 2 2.10159773
25864.29161720 2 2.35028323
-213387.07659768 2 2.16152517
6
-1416.87913796 2 1.43279054
1416.49405157 2 1.27947333
-4677.12774504 2 1.39756889
6758.57740664 2 1.50728327
-2630.12555402 2 1.70834188
549.67778384 2 1.92912262
As GEN 28 2
6
5.00000000 1 1.90897798
-8.55267316 2 1.59326524
3.44617934 2 1.10844459
-8.94709126 2 1.02625257
9.94709126 2 1.90897549
9.54488990 3 1.18318262
6
-299.57003383 2 1.31601774
303.89084920 2 0.88992491
34018.91875930 2 0.82417957
-44808.38727678 2 0.87058735
19528.43031171 2 0.91644709
-8737.95845690 2 0.77833472
6
46094.50987530 2 1.90902784
-46093.10097169 2 1.56895782
-1934.82978262 2 1.41134047
-240427.05172601 2 1.84187044
36043.17172862 2 1.53235052
206319.71069040 2 1.81590910
Se GEN 28 2
6
6.00000000 1 1.73885845
-4868.76631948 2 3.10952817
4860.07291481 2 2.76656612
247376.94576273 2 2.93723435
-247375.94576273 2 2.93039894
10.43315069 3 1.80783830
6
43.48906338 2 1.54256367
-36.07303722 2 1.99876644
-1338.16209913 2 2.22244851
88855.15492433 2 3.01653570
-93322.17292948 2 3.00370283
5806.18068397 2 2.62760372
6
101.24952978 2 1.51703915
-96.89194467 2 1.50669503
-561.81915381 2 2.17759706
1474.30831735 2 2.47900419
-87533.83638244 2 3.02701983
86622.34849171 2 3.03071493
Br GEN 28 2
6
7.00000000 1 1.29861066
-8.22129971 2 1.15959643
0.21335410 2 2.29768788
-14617.16154553 2 2.88622041
14618.16154553 2 2.88664159
9.09027461 3 1.38987227
6
1993.56030565 2 1.99554365
-1988.14839885 2 2.18330258
62338.94920254 2 2.78298975
91516.94063906 2 2.50252605
-109846.25447802 2 2.70576408
-44008.63516555 2 2.38434210
6
17.36412726 2 1.29580803
-14.67327121 2 1.60078690
-6128.76923065 2 2.16344915
12563.02678529 2 2.26961184
757.63553722 2 2.83383736
-7190.89195704 2 2.41971949
Kr GEN 28 2
6
8.00000000 1 6.82429532
2245.94610147 2 4.82301962
-2257.24927570 2 3.38163452
1889.52842356 2 3.29088128
-1888.52842356 2 4.98656184
54.59436254 3 3.01373570
6
-2003.10975854 2 6.01573226
2010.79212346 2 4.07497664
13467772.94730707 2 4.47273823
-18464141.82809087 2 4.45030979
-2607955.84552628 2 4.28291762
7604325.72641131 2 4.35368575
6
-6512.57971257 2 5.33963561
6517.54562224 2 4.41831473
55170.14413687 2 3.66247372
-35314.20447418 2 3.56293692
-27094.88743738 2 3.99199621
7239.94695795 2 5.23539786
Al GEN 10 2
6
3.00000000 1 0.90167530
-12.07740634 2 1.08338853
6.60507677 2 2.07851308
-13877404.00590185 2 2.08053590
13877405.00590186 2 2.08053570
2.70502591 3 0.92748596
6
-41.26842670 2 2.04866185
45.70193781 2 1.11866688
2946.69575922 2 1.71721106
-376.01922297 2 1.36753958
4331.41613799 2 1.93292012
-6901.09265568 2 1.86705782
6
504.79904464 2 1.88548919
-502.69536383 2 1.42616967
-769.46860271 2 1.80548694
-17.66088618 2 0.95520911
101.43853505 2 1.20112583
686.69150206 2 1.52824179
Si GEN 10 2
6
4.00000000 1 2.54461774
-2902.58084906 2 2.24978528
2895.18838752 2 2.53789008
7161.72254279 2 2.34887222
-7160.72254279 2 2.46336277
10.17847098 3 1.52421025
6
4.24352962 2 1.08064949
2.05989979 2 1.33341749
88608.14855737 2 2.39993059
-849.93508619 2 1.92845396
-1434647.87047626 2 2.35634772
1346890.65714548 2 2.35320332
6
-15264.86061936 2 1.82998100
15267.99758945 2 1.91566514
-0.49522434 2 1.35066217
2807.17037795 2 2.16756956
6912.45723497 2 1.79762600
-9718.13169060 2 2.03990309
P GEN 10 2
6
5.00000000 1 2.20104239
-14571.76154266 2 3.30954781
14561.08785293 2 3.65491917
-21023.88213100 2 3.60582863
21024.88213100 2 3.36814532
11.00521195 3 2.06883762
6
-214.99423753 2 3.00175595
224.31212541 2 1.90508764
-1320.42895216 2 2.23252373
2262.27394007 2 2.56842585
-5217.11058123 2 3.22957222
4276.26614237 2 3.32169865
6
-4655.41288683 2 1.51251059
4660.80718311 2 1.51289861
-994.25816078 2 3.31761981
-19.30793578 2 2.04639527
311.57919748 2 3.70626860
702.98798215 2 3.09154453
S GEN 10 2
6
6.00000000 1 3.76431332
518.21506704 2 2.91975646
-532.35656437 2 2.26777538
14394.84387811 2 2.49556645
-14393.84387811 2 2.51698479
22.58587994 3 2.71241239
6
-104.19902150 2 4.55895180
116.57081427 2 2.10503756
-994.81335242 2 2.63814508
2203.13414043 2 3.11140569
-1617.61176296 2 3.62963239
410.29160018 2 4.55921172
6
723.09548214 2 4.48128068
-715.46568241 2 3.35956681
9063.41201304 2 3.83857196
-16.38228027 2 1.92699416
44.06704522 2 2.30670170
-9090.09577098 2 3.92706305
Cl GEN 10 2
6
7.00000000 1 4.77392870
719885.76609499 2 4.74019033
-719903.82223984 2 4.74189768
-37102.89380181 2 4.67979490
37103.89380181 2 4.71510215
33.41750090 3 3.29732864
6
959.05010082 2 5.01134618
-943.54843009 2 3.64529189
-6456.16063099 2 4.20510279
637.70704529 2 2.74283267
-1479.66774202 2 3.00605599
7299.12201388 2 3.90198120
6
-121.63220275 2 3.86324469
131.70125226 2 3.08695111
5447.27282828 2 5.92092153
-52.94814165 2 2.63467524
559.83762330 2 5.08437179
-5953.16139883 2 5.86183616
Ar GEN 10 2
6
8.00000000 1 5.17746158
-76.72264736 2 5.90884243
56.16280755 2 3.53735685
-660.63282107 2 4.53072721
661.63282107 2 4.90879705
41.41969264 3 3.95156133
6
496.48392385 2 3.21092458
-479.29969508 2 3.39224537
-12086.26924659 2 4.28061928
37151.97923364 2 4.62803105
496310.90908097 2 5.10487541
-521375.61810527 2 5.08995306
6
-1901.02320099 2 5.53714820
1911.87432982 2 4.52372637
-127.53875733 2 2.45115265
198.78501467 2 2.62001527
-976.26297293 2 3.97593759
906.01814260 2 6.12659776

View File

@ -6,6 +6,7 @@ cd -
# Normal installation # Normal installation
PACKAGES="core cryptokit ocamlfind sexplib ZMQ" PACKAGES="core cryptokit ocamlfind sexplib ZMQ"
#ppx_sexp_conv
# Needed for ZeroMQ # Needed for ZeroMQ
export C_INCLUDE_PATH="${QP_ROOT}"/lib:"${C_INCLUDE_PATH}" export C_INCLUDE_PATH="${QP_ROOT}"/lib:"${C_INCLUDE_PATH}"

View File

@ -15,14 +15,14 @@ function _install()
./configure --without-libsodium || exit 1 ./configure --without-libsodium || exit 1
make -j 8 || exit 1 make -j 8 || exit 1
rm -f -- "${QP_ROOT}"/lib/libzmq.a "${QP_ROOT}"/lib/libzmq.so "${QP_ROOT}"/lib/libzmq.so.? rm -f -- "${QP_ROOT}"/lib/libzmq.a "${QP_ROOT}"/lib/libzmq.so "${QP_ROOT}"/lib/libzmq.so.?
# cp .libs/libzmq.a "${QP_ROOT}"/lib cp .libs/libzmq.a "${QP_ROOT}"/lib
# cp .libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.5 cp .libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.5
cp src/.libs/libzmq.a "${QP_ROOT}"/lib # cp src/.libs/libzmq.a "${QP_ROOT}"/lib
cp src/.libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.4 # cp src/.libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.4
cp include/{zmq.h,zmq_utils.h} "${QP_ROOT}"/lib cp include/{zmq.h,zmq_utils.h} "${QP_ROOT}"/lib
cd "${QP_ROOT}"/lib cd "${QP_ROOT}"/lib
# ln -s libzmq.so.5 libzmq.so ln -s libzmq.so.5 libzmq.so
ln -s libzmq.so.4 libzmq.so # ln -s libzmq.so.4 libzmq.so
cd ${ORIG} cd ${ORIG}
return 0 return 0
} }

View File

@ -1,4 +1,4 @@
open Core.Std;; open Core.Std
exception AtomError of string exception AtomError of string
@ -27,12 +27,18 @@ let of_string ~units s =
coord = Point3d.of_string ~units (String.concat [x; y; z] ~sep:" ") coord = Point3d.of_string ~units (String.concat [x; y; z] ~sep:" ")
} }
| _ -> raise (AtomError s) | _ -> raise (AtomError s)
;;
let to_string ~units a = let to_string ~units a =
[ Element.to_string a.element ; [ Element.to_string a.element ;
Charge.to_string a.charge ; Charge.to_string a.charge ;
Point3d.to_string ~units a.coord ] Point3d.to_string ~units a.coord ]
|> String.concat ~sep:" " |> String.concat ~sep:" "
;;
let to_xyz a =
Printf.sprintf "%-3s %s"
(Element.to_string a.element)
(Point3d.to_string ~units:Units.Angstrom a.coord)

View File

@ -7,3 +7,4 @@ val sexp_of_t : t -> Sexplib.Sexp.t
val of_string : units:Units.units -> string -> t val of_string : units:Units.units -> string -> t
val to_string : units:Units.units -> t -> string val to_string : units:Units.units -> t -> string
val to_xyz : t -> string

View File

@ -35,11 +35,11 @@ let read_element in_channel at_number element =
read in_channel at_number read in_channel at_number
let to_string b =
let to_string_general ~fmt ~atom_sep b =
let new_nucleus n = let new_nucleus n =
Printf.sprintf "Atom %d" n Printf.sprintf "Atom %d" n
in in
let rec do_work accu current_nucleus = function let rec do_work accu current_nucleus = function
| [] -> List.rev accu | [] -> List.rev accu
| (g,n)::tail -> | (g,n)::tail ->
@ -47,15 +47,27 @@ let to_string b =
in in
let accu = let accu =
if (n <> current_nucleus) then if (n <> current_nucleus) then
(new_nucleus n)::""::accu (new_nucleus n)::atom_sep::accu
else else
accu accu
in in
do_work ((Gto.to_string g)::accu) n tail do_work ((Gto.to_string ~fmt g)::accu) n tail
in in
do_work [new_nucleus 1] 1 b do_work [new_nucleus 1] 1 b
|> String.concat ~sep:"\n" |> String.concat ~sep:"\n"
let to_string_gamess =
to_string_general ~fmt:Gto.Gamess ~atom_sep:""
let to_string_gaussian b =
String.concat ~sep:"\n"
[ to_string_general ~fmt:Gto.Gaussian ~atom_sep:"****" b ; "****" ]
let to_string ?(fmt=Gto.Gamess) =
match fmt with
| Gto.Gamess -> to_string_gamess
| Gto.Gaussian -> to_string_gaussian
include To_md5 include To_md5
let to_md5 = to_md5 sexp_of_t let to_md5 = to_md5 sexp_of_t

View File

@ -14,7 +14,7 @@ val read_element :
in_channel -> Nucl_number.t -> Element.t -> (Gto.t * Nucl_number.t) list in_channel -> Nucl_number.t -> Element.t -> (Gto.t * Nucl_number.t) list
(** Convert the basis to a string *) (** Convert the basis to a string *)
val to_string : (Gto.t * Nucl_number.t) list -> string val to_string : ?fmt:Gto.fmt -> (Gto.t * Nucl_number.t) list -> string
(** Convert the basis to an MD5 hash *) (** Convert the basis to an MD5 hash *)
val to_md5 : (Gto.t * Nucl_number.t) list -> MD5.t val to_md5 : (Gto.t * Nucl_number.t) list -> MD5.t

View File

@ -4,6 +4,10 @@ open Qptypes
exception GTO_Read_Failure of string exception GTO_Read_Failure of string
exception End_Of_Basis exception End_Of_Basis
type fmt =
| Gamess
| Gaussian
type t = type t =
{ sym : Symmetry.t ; { sym : Symmetry.t ;
lc : ((Primitive.t * AO_coef.t) list) lc : ((Primitive.t * AO_coef.t) list)
@ -68,8 +72,8 @@ let read_one in_channel =
(** Transform the gto to a string *) (** Write the GTO in Gamess format *)
let to_string { sym = sym ; lc = lc } = let to_string_gamess { sym = sym ; lc = lc } =
let result = let result =
Printf.sprintf "%s %3d" (Symmetry.to_string sym) (List.length lc) Printf.sprintf "%s %3d" (Symmetry.to_string sym) (List.length lc)
in in
@ -88,3 +92,30 @@ let to_string { sym = sym ; lc = lc } =
|> String.concat ~sep:"\n" |> String.concat ~sep:"\n"
(** Write the GTO in Gaussian format *)
let to_string_gaussian { sym = sym ; lc = lc } =
let result =
Printf.sprintf "%s %3d 1.00" (Symmetry.to_string sym) (List.length lc)
in
let rec do_work accu i = function
| [] -> List.rev accu
| (p,c)::tail ->
let p = AO_expo.to_float p.Primitive.expo
and c = AO_coef.to_float c
in
let result =
Printf.sprintf "%15.7f %15.7f" p c
in
do_work (result::accu) (i+1) tail
in
(do_work [result] 1 lc)
|> String.concat ~sep:"\n"
(** Transform the gto to a string *)
let to_string ?(fmt=Gamess) =
match fmt with
| Gamess -> to_string_gamess
| Gaussian -> to_string_gaussian

View File

@ -1,5 +1,9 @@
exception GTO_Read_Failure of string exception GTO_Read_Failure of string
exception End_Of_Basis exception End_Of_Basis
type fmt =
| Gamess
| Gaussian
type t = type t =
{ sym : Symmetry.t ; { sym : Symmetry.t ;
lc : (Primitive.t * Qptypes.AO_coef.t) list; lc : (Primitive.t * Qptypes.AO_coef.t) list;
@ -13,4 +17,4 @@ val of_prim_coef_list :
val read_one : in_channel -> t val read_one : in_channel -> t
(** Convert to string for printing *) (** Convert to string for printing *)
val to_string : t -> string val to_string : ?fmt:fmt -> t -> string

View File

@ -17,6 +17,7 @@ module Ao_basis : sig
;; ;;
val read : unit -> t option val read : unit -> t option
val to_string : t -> string val to_string : t -> string
val to_basis : t -> Basis.t
val write : t -> unit val write : t -> unit
val to_md5 : t -> MD5.t val to_md5 : t -> MD5.t
val to_rst : t -> Rst_string.t val to_rst : t -> Rst_string.t

View File

@ -13,6 +13,7 @@ module Nuclei : sig
val read : unit -> t option val read : unit -> t option
val write : t -> unit val write : t -> unit
val to_string : t -> string val to_string : t -> string
val to_atom_list : t -> Atom.t list
val to_rst : t -> Rst_string.t val to_rst : t -> Rst_string.t
val of_rst : Rst_string.t -> t option val of_rst : Rst_string.t -> t option
end = struct end = struct
@ -134,6 +135,22 @@ end = struct
;; ;;
let to_atom_list b =
let rec loop accu (coord, charge, label) = function
| -1 -> accu
| i ->
let atom =
{ Atom.element = label.(i) ;
Atom.charge = charge.(i) ;
Atom.coord = coord.(i) ;
}
in
loop (atom::accu) (coord, charge, label) (i-1)
in
loop [] (b.nucl_coord, b.nucl_charge, b.nucl_label)
( (Nucl_number.to_int b.nucl_num) - 1)
;;
let to_string b = let to_string b =
Printf.sprintf " Printf.sprintf "
nucl_num = %s nucl_num = %s

View File

@ -85,7 +85,7 @@ let name m =
String.concat (result) String.concat (result)
let to_string m = let to_string_general ~f m =
let { nuclei ; elec_alpha ; elec_beta } = m let { nuclei ; elec_alpha ; elec_beta } = m
in in
let n = let n =
@ -94,10 +94,15 @@ let to_string m =
let title = let title =
name m name m
in in
[ Int.to_string n ; title ] @ [ Int.to_string n ; title ] @ (List.map ~f nuclei)
(List.map ~f:(fun x -> Atom.to_string Units.Angstrom x) nuclei)
|> String.concat ~sep:"\n" |> String.concat ~sep:"\n"
let to_string =
to_string_general ~f:(fun x -> Atom.to_string Units.Angstrom x)
let to_xyz =
to_string_general ~f:Atom.to_xyz
let of_xyz_string let of_xyz_string
?(charge=(Charge.of_int 0)) ?(multiplicity=(Multiplicity.of_int 1)) ?(charge=(Charge.of_int 0)) ?(multiplicity=(Multiplicity.of_int 1))

View File

@ -20,6 +20,7 @@ val name : t -> string
(** Conversion for printing *) (** Conversion for printing *)
val to_string : t -> string val to_string : t -> string
val to_xyz : t -> string
(** Creates a molecule from an xyz file *) (** Creates a molecule from an xyz file *)

84
ocaml/TaskServer.mli Normal file
View File

@ -0,0 +1,84 @@
type t =
{
queue : Queuing_system.t ;
state : Message.State.t option ;
address_tcp : Address.Tcp.t option ;
address_inproc : Address.Inproc.t option ;
psi : Message.Psi.t option;
progress_bar : Progress_bar.t option ;
running : bool;
}
(** {1} Debugging *)
(** Fetch the QP_TASK_DEBUG environment variable *)
val debug_env : bool
(** Print a debug message *)
val debug : string -> unit
(** {1} ZMQ *)
(** ZeroMQ context *)
val zmq_context : ZMQ.Context.t
(** Bind a ZMQ socket *)
val bind_socket :
socket_type:string -> socket:'a ZMQ.Socket.t -> address:string -> unit
(** Name of the host on which the server runs *)
val hostname : string lazy_t
(** IP address of the current host *)
val ip_address : string lazy_t
(** Standard messages *)
val reply_ok : [> `Req ] ZMQ.Socket.t -> unit
val reply_wrong_state : [> `Req ] ZMQ.Socket.t -> unit
(** Stop server *)
val stop : port:int -> unit
(** {1} Server functions *)
(** Create a new job *)
val new_job : Message.Newjob_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Finish a running job *)
val end_job : Message.Endjob_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Connect a client *)
val connect: Message.Connect_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Disconnect a client *)
val disconnect: Message.Disconnect_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Add a task to the pool *)
val add_task: Message.AddTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Mark the task as done by the client *)
val task_done: Message.TaskDone_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Delete a task when it has been pulled by the collector *)
val del_task: Message.DelTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** The client get a new task to execute *)
val get_task: Message.GetTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Terminate server *)
val terminate : t -> [> `Req ] ZMQ.Socket.t -> t
(** Put a wave function in the task server *)
val put_psi :
Message.PutPsi_msg.t -> string list -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Get the wave function stored in the task server *)
val get_psi : Message.GetPsi_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Reply an Error message *)
val error : string -> t -> [> `Req ] ZMQ.Socket.t -> t
(** Run server *)
val run : port:int -> unit

View File

@ -1,3 +1,3 @@
true: package(core,sexplib.syntax,cryptokit,ZMQ) true: package(core,cryptokit,ZMQ,sexplib.syntax)
true: thread true: thread
false: profile false: profile

View File

@ -24,6 +24,8 @@ subroutine run_wf
integer(ZMQ_PTR) :: zmq_to_qp_run_socket integer(ZMQ_PTR) :: zmq_to_qp_run_socket
print *, 'Getting wave function' print *, 'Getting wave function'
zmq_context = f77_zmq_ctx_new ()
zmq_to_qp_run_socket = new_zmq_to_qp_run_socket() zmq_to_qp_run_socket = new_zmq_to_qp_run_socket()
call zmq_get_psi(zmq_to_qp_run_socket, 1) call zmq_get_psi(zmq_to_qp_run_socket, 1)
@ -33,6 +35,8 @@ subroutine run_wf
call provide_everything call provide_everything
integer :: rc, i integer :: rc, i
print *, 'Contribution to PT2 running'
!$OMP PARALLEL PRIVATE(i) !$OMP PARALLEL PRIVATE(i)
i = omp_get_thread_num() i = omp_get_thread_num()
call H_apply_FCI_PT2_slave_tcp(i) call H_apply_FCI_PT2_slave_tcp(i)

View File

@ -0,0 +1,102 @@
program e_curve
use bitmasks
implicit none
integer :: i,j,k, nab, m, l
double precision :: norm, E, hij, num, ci, cj
integer, allocatable :: iorder(:)
double precision , allocatable :: norm_sort(:)
nab = n_det_alpha_unique+n_det_beta_unique
allocate ( norm_sort(0:nab), iorder(0:nab) )
norm_sort(0) = 0.d0
iorder(0) = 0
do i=1,n_det_alpha_unique
norm_sort(i) = det_alpha_norm(i)
iorder(i) = i
enddo
do i=1,n_det_beta_unique
norm_sort(i+n_det_alpha_unique) = det_beta_norm(i)
iorder(i+n_det_alpha_unique) = -i
enddo
call dsort(norm_sort(1),iorder(1),nab)
if (.not.read_wf) then
stop 'Please set read_wf to true'
endif
PROVIDE psi_bilinear_matrix_values nuclear_repulsion
print *, ''
print *, '=============================='
print *, 'Energies at different cut-offs'
print *, '=============================='
print *, ''
print *, '=========================================================='
print '(A8,2X,A8,2X,A12,2X,A10,2X,A12)', 'Thresh.', 'Ndet', 'Cost', 'Norm', 'E'
print *, '=========================================================='
double precision :: thresh
integer(bit_kind), allocatable :: det_i(:,:), det_j(:,:)
thresh = 1.d-10
do j=0,nab
i = iorder(j)
if (i<0) then
do k=1,n_det
if (psi_bilinear_matrix_columns(k) == -i) then
psi_bilinear_matrix_values(k,1) = 0.d0
endif
enddo
else
do k=1,n_det
if (psi_bilinear_matrix_rows(k) == i) then
psi_bilinear_matrix_values(k,1) = 0.d0
endif
enddo
endif
if (thresh > norm_sort(j)) then
cycle
endif
num = 0.d0
norm = 0.d0
m = 0
!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(k,l,det_i,det_j,ci,cj,hij) REDUCTION(+:norm,m,num)
allocate( det_i(N_int,2), det_j(N_int,2))
!$OMP DO SCHEDULE(guided)
do k=1,n_det
if (psi_bilinear_matrix_values(k,1) == 0.d0) then
cycle
endif
ci = psi_bilinear_matrix_values(k,1)
det_i(:,1) = psi_det_alpha_unique(:,psi_bilinear_matrix_rows(k))
det_i(:,2) = psi_det_beta_unique(:,psi_bilinear_matrix_columns(k))
do l=1,n_det
if (psi_bilinear_matrix_values(l,1) == 0.d0) then
cycle
endif
cj = psi_bilinear_matrix_values(l,1)
det_j(:,1) = psi_det_alpha_unique(:,psi_bilinear_matrix_rows(l))
det_j(:,2) = psi_det_beta_unique(:,psi_bilinear_matrix_columns(l))
call i_h_j(det_i, det_j, N_int, hij)
num = num + ci*cj*hij
enddo
norm = norm + ci*ci
m = m+1
enddo
!$OMP END DO
deallocate (det_i,det_j)
!$OMP END PARALLEL
if (m == 0) then
exit
endif
E = num / norm + nuclear_repulsion
print '(E9.1,2X,I8,2X,F10.2,2X,F10.8,2X,F12.6)', thresh, m, &
dble( elec_alpha_num**3 + elec_alpha_num**2 * (nab-1) ) / &
dble( elec_alpha_num**3 + elec_alpha_num**2 * (j-1)), norm, E
thresh = thresh * 2.d0
enddo
print *, '=========================================================='
deallocate (iorder, norm_sort)
end

View File

@ -1,9 +1,46 @@
program save_for_qmc program save_for_qmc
read_wf = .True.
TOUCH read_wf integer :: iunit
print *, "N_det = ", N_det integer, external :: get_unit_and_open
call write_spindeterminants logical :: exists
if (do_pseudo) then double precision :: e_ref
call write_pseudopotential
endif ! Determinants
read_wf = .True.
TOUCH read_wf
print *, "N_det = ", N_det
call write_spindeterminants
! Reference Energy
if (do_pseudo) then
call write_pseudopotential
endif
call system( &
'mkdir -p '//trim(ezfio_filename)//'/simulation ;' // &
'cp '//trim(ezfio_filename)//'/.version '//trim(ezfio_filename)//'/simulation/.version ; ' // &
'mkdir -p '//trim(ezfio_filename)//'/properties ;' // &
'cp '//trim(ezfio_filename)//'/.version '//trim(ezfio_filename)//'/properties/.version ; ' // &
'echo T > '//trim(ezfio_filename)//'/properties/e_loc' &
)
iunit = 13
open(unit=iunit,file=trim(ezfio_filename)//'/simulation/e_ref',action='write')
call ezfio_has_full_ci_energy_pt2(exists)
if (exists) then
call ezfio_get_full_ci_energy_pt2(e_ref)
else
call ezfio_has_full_ci_energy(exists)
if (exists) then
call ezfio_get_full_ci_energy(e_ref)
else
call ezfio_has_hartree_fock_energy(exists)
if (exists) then
call ezfio_get_hartree_fock_energy(e_ref)
else
e_ref = 0.d0
endif
endif
endif
write(iunit,*) e_ref
close(iunit)
end end

View File

@ -183,6 +183,9 @@ def get_nb_permutation(str_):
def order_l_l_sym(l_l_sym): def order_l_l_sym(l_l_sym):
l_order_mo = [i for i,_ in enumerate(l_l_sym)]
n = 1 n = 1
for i in range(len(l_l_sym)): for i in range(len(l_l_sym)):
if n != 1: if n != 1:
@ -192,11 +195,11 @@ def order_l_l_sym(l_l_sym):
l = l_l_sym[i] l = l_l_sym[i]
n = get_nb_permutation(l[2]) n = get_nb_permutation(l[2])
l_l_sym[i:i + n] = sorted(l_l_sym[i:i + n], l_l_sym[i:i + n], l_order_mo[i:i+n] = zip(*sorted(zip(l_l_sym[i:i + n],l_order_mo[i:i+n]),
key=lambda x: x[2], key=lambda x: x[0][2],
cmp=compare_gamess_style) cmp=compare_gamess_style))
return l_l_sym return l_l_sym, l_order_mo
#========================== #==========================
@ -205,8 +208,13 @@ def order_l_l_sym(l_l_sym):
l_sym_without_header = sym_raw.split("\n")[3:-2] l_sym_without_header = sym_raw.split("\n")[3:-2]
l_l_sym_raw = [i.split() for i in l_sym_without_header] l_l_sym_raw = [i.split() for i in l_sym_without_header]
print len(l_l_sym_raw)
l_l_sym_expend_sym = expend_sym_l(l_l_sym_raw) l_l_sym_expend_sym = expend_sym_l(l_l_sym_raw)
l_l_sym_ordered = order_l_l_sym(l_l_sym_expend_sym) print len(l_l_sym_expend_sym)
l_l_sym_ordered, l_order_mo = order_l_l_sym(l_l_sym_expend_sym)
#======== #========
#MO COEF #MO COEF
@ -348,6 +356,7 @@ d_rep={"+":"1","-":"0"}
det_without_header = det_raw[pos+2::] det_without_header = det_raw[pos+2::]
for line_raw in det_without_header.split("\n"): for line_raw in det_without_header.split("\n"):
line = line_raw line = line_raw
@ -355,8 +364,14 @@ for line_raw in det_without_header.split("\n"):
try: try:
float(line) float(line)
except ValueError: except ValueError:
print line_raw.strip(), len(line_raw.strip())
print l_order_mo, len(l_order_mo)
line_order = [line_raw[i] for i in l_order_mo]
line= "".join([d_rep[x] if x in d_rep else x for x in line_raw]) line= "".join([d_rep[x] if x in d_rep else x for x in line_raw])
print line.strip() print line.strip()
print "END_DET" print "END_DET"

View File

@ -37,7 +37,7 @@ from qp_path import QP_ROOT, QP_SRC, QP_EZFIO
LIB = "" # join(QP_ROOT, "lib", "rdtsc.o") LIB = "" # join(QP_ROOT, "lib", "rdtsc.o")
EZFIO_LIB = join(QP_ROOT, "lib", "libezfio_irp.a") EZFIO_LIB = join(QP_ROOT, "lib", "libezfio_irp.a")
ZMQ_LIB = join(QP_ROOT, "lib", "libf77zmq.a") + " " + join(QP_ROOT, "lib", "libzmq.a") + " -lstdc++ -lrt" ZMQ_LIB = join(QP_ROOT, "lib", "libf77zmq.a") + " " + join(QP_ROOT, "lib", "libzmq.a") + " -lstdc++ -lrt"
ROOT_BUILD_NINJA = join(QP_ROOT, "config", "build.ninja") ROOT_BUILD_NINJA = join(QP_ROOT, "config", "build.ninja")
header = r"""# header = r"""#
@ -96,7 +96,8 @@ def ninja_create_env_variable(pwd_config_file):
l_string.append(str_) l_string.append(str_)
lib_lapack = get_compilation_option(pwd_config_file, "LAPACK_LIB") lib_lapack = get_compilation_option(pwd_config_file, "LAPACK_LIB")
l_string.append("LIB = {0} {1} {2} {3}".format(LIB, lib_lapack, EZFIO_LIB, ZMQ_LIB)) str_lib = " ".join([LIB, lib_lapack, EZFIO_LIB, ZMQ_LIB])
l_string.append("LIB = {0} ".format(str_lib))
l_string.append("") l_string.append("")
@ -387,6 +388,8 @@ def get_l_file_for_module(path_module):
l_src.append(f) l_src.append(f)
obj = '{0}.o'.format(os.path.splitext(f)[0]) obj = '{0}.o'.format(os.path.splitext(f)[0])
l_obj.append(obj) l_obj.append(obj)
elif f.lower().endswith(".o"):
l_obj.append(join(path_module.abs, f))
elif f == "EZFIO.cfg": elif f == "EZFIO.cfg":
l_depend.append(join(path_module.abs, "ezfio_interface.irp.f")) l_depend.append(join(path_module.abs, "ezfio_interface.irp.f"))

View File

@ -6,7 +6,7 @@ open Core.Std;;
WARNING WARNING
This file is autogenerad by This file is autogenerad by
`${{QP_ROOT}}/script/ezfio_interface/ei_handler.py` `${{QP_ROOT}}/scripts/ezfio_interface/ei_handler.py`
*) *)
@ -169,7 +169,9 @@ let run check_only ezfio_filename =
in in
(* Create the temp file *) (* Create the temp file *)
let temp_filename = create_temp_file ezfio_filename tasks in let temp_filename =
create_temp_file ezfio_filename tasks
in
(* Open the temp file with external editor *) (* Open the temp file with external editor *)
let editor = let editor =
@ -193,7 +195,7 @@ let run check_only ezfio_filename =
List.iter ~f:(fun x -> set temp_string x) tasks; List.iter ~f:(fun x -> set temp_string x) tasks;
(* Remove temp_file *) (* Remove temp_file *)
Sys.remove temp_filename; Sys.remove temp_filename
;; ;;

View File

@ -283,13 +283,13 @@ class H_apply(object):
""" """
self.data["deinit_thread"] = """ self.data["deinit_thread"] = """
!$ call omp_set_lock(lck) ! OMP CRITICAL
do k=1,N_st do k=1,N_st
sum_e_2_pert_in(k) = sum_e_2_pert_in(k) + sum_e_2_pert(k) sum_e_2_pert_in(k) = sum_e_2_pert_in(k) + sum_e_2_pert(k)
sum_norm_pert_in(k) = sum_norm_pert_in(k) + sum_norm_pert(k) sum_norm_pert_in(k) = sum_norm_pert_in(k) + sum_norm_pert(k)
sum_H_pert_diag_in(k) = sum_H_pert_diag_in(k) + sum_H_pert_diag(k) sum_H_pert_diag_in(k) = sum_H_pert_diag_in(k) + sum_H_pert_diag(k)
enddo enddo
!$ call omp_unset_lock(lck) ! OMP END CRITICAL
deallocate (e_2_pert_buffer, coef_pert_buffer) deallocate (e_2_pert_buffer, coef_pert_buffer)
""" """
self.data["size_max"] = "8192" self.data["size_max"] = "8192"
@ -391,12 +391,12 @@ class H_apply(object):
self.data["skip"] = """ self.data["skip"] = """
if (i_generator < size_select_max) then if (i_generator < size_select_max) then
if (select_max(i_generator) < selection_criterion_min*selection_criterion_factor) then if (select_max(i_generator) < selection_criterion_min*selection_criterion_factor) then
!$ call omp_set_lock(lck) ! OMP CRITICAL
do k=1,N_st do k=1,N_st
norm_psi(k) = norm_psi(k) + psi_coef_generators(i_generator,k)*psi_coef_generators(i_generator,k) norm_psi(k) = norm_psi(k) + psi_coef_generators(i_generator,k)*psi_coef_generators(i_generator,k)
pt2_old(k) = 0.d0 pt2_old(k) = 0.d0
enddo enddo
!$ call omp_unset_lock(lck) ! OMP END CRITICAL
cycle cycle
endif endif
select_max(i_generator) = 0.d0 select_max(i_generator) = 0.d0
@ -436,7 +436,16 @@ class H_apply_zmq(H_apply):
H_pert_diag(k) = 0.d0 H_pert_diag(k) = 0.d0
norm_psi(k) = 0.d0 norm_psi(k) = 0.d0
enddo enddo
""" """
self.data["copy_buffer"] = """
do i=1,N_det_generators
do k=1,N_st
pt2(k) = pt2(k) + pt2_generators(k,i)
norm_pert(k) = norm_pert(k) + norm_pert_generators(k,i)
H_pert_diag(k) = H_pert_diag(k) + H_pert_diag_generators(k,i)
enddo
enddo
"""
def set_selection_pt2(self,pert): def set_selection_pt2(self,pert):
H_apply.set_selection_pt2(self,pert) H_apply.set_selection_pt2(self,pert)
@ -451,3 +460,4 @@ class H_apply_zmq(H_apply):
select_max(i_generator) = 0.d0 select_max(i_generator) = 0.d0
endif endif
""" """

View File

@ -25,7 +25,7 @@ END_PROVIDER
BEGIN_DOC BEGIN_DOC
! Coefficients including the AO normalization ! Coefficients including the AO normalization
END_DOC END_DOC
double precision :: norm, norm2,overlap_x,overlap_y,overlap_z,C_A(3), c double precision :: norm,overlap_x,overlap_y,overlap_z,C_A(3), c
integer :: l, powA(3), nz integer :: l, powA(3), nz
integer :: i,j,k integer :: i,j,k
nz=100 nz=100
@ -34,9 +34,11 @@ END_PROVIDER
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)
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)
@ -51,8 +53,42 @@ END_PROVIDER
enddo enddo
ao_coef_normalization_factor(i) = 1.d0/sqrt(norm) ao_coef_normalization_factor(i) = 1.d0/sqrt(norm)
enddo enddo
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, ao_coef_normalization_libint_factor, (ao_num) ]
implicit none
BEGIN_DOC
! Coefficients including the AO normalization
END_DOC
double precision :: norm,overlap_x,overlap_y,overlap_z,C_A(3), c
integer :: l, powA(3), nz
integer :: i,j,k
nz=100
C_A(1) = 0.d0
C_A(2) = 0.d0
C_A(3) = 0.d0
do i=1,ao_num
powA(1) = ao_l(i)
powA(2) = 0
powA(3) = 0
! Normalization of the contracted basis functions
norm = 0.d0
do j=1,ao_prim_num(i)
do k=1,ao_prim_num(i)
call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,k),powA,powA,overlap_x,overlap_y,overlap_z,c,nz)
norm = norm+c*ao_coef_normalized(i,j)*ao_coef_normalized(i,k)
enddo
enddo
ao_coef_normalization_libint_factor(i) = ao_coef_normalization_factor(i) * sqrt(norm)
enddo
END_PROVIDER
BEGIN_PROVIDER [ double precision, ao_coef_normalized_ordered, (ao_num_align,ao_prim_num_max) ] BEGIN_PROVIDER [ double precision, ao_coef_normalized_ordered, (ao_num_align,ao_prim_num_max) ]
&BEGIN_PROVIDER [ double precision, ao_expo_ordered, (ao_num_align,ao_prim_num_max) ] &BEGIN_PROVIDER [ double precision, ao_expo_ordered, (ao_num_align,ao_prim_num_max) ]
implicit none implicit none

View File

@ -214,8 +214,13 @@ subroutine remove_duplicates_in_psi_det(found_duplicates)
duplicate(i) = .False. duplicate(i) = .False.
enddo enddo
do i=1,N_det-1 found_duplicates = .False.
i=0
j=0
do while (i<N_det-1)
i = max(i+1,j)
if (duplicate(i)) then if (duplicate(i)) then
found_duplicates = .True.
cycle cycle
endif endif
j = i+1 j = i+1
@ -239,14 +244,6 @@ subroutine remove_duplicates_in_psi_det(found_duplicates)
enddo enddo
enddo enddo
found_duplicates = .False.
do i=1,N_det
if (duplicate(i)) then
found_duplicates = .True.
exit
endif
enddo
if (found_duplicates) then if (found_duplicates) then
call write_bool(output_determinants,found_duplicates,'Found duplicate determinants') call write_bool(output_determinants,found_duplicates,'Found duplicate determinants')
k=0 k=0
@ -307,14 +304,14 @@ subroutine fill_H_apply_buffer_no_selection(n_selected,det_buffer,Nint,iproc)
end end
subroutine push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,N_st,task_id) subroutine push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,i_generator,N_st,task_id)
use f77_zmq use f77_zmq
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! Push PT2 calculation to the collector ! Push PT2 calculation to the collector
END_DOC END_DOC
integer(ZMQ_PTR), intent(in) :: zmq_socket_push integer(ZMQ_PTR), intent(in) :: zmq_socket_push
integer, intent(in) :: N_st integer, intent(in) :: N_st, i_generator
double precision, intent(in) :: pt2(N_st), norm_pert(N_st), H_pert_diag(N_st) double precision, intent(in) :: pt2(N_st), norm_pert(N_st), H_pert_diag(N_st)
integer, intent(in) :: task_id integer, intent(in) :: task_id
integer :: rc integer :: rc
@ -343,6 +340,12 @@ subroutine push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,N_st,task_id)
stop 'error' stop 'error'
endif endif
rc = f77_zmq_send( zmq_socket_push, i_generator, 4, ZMQ_SNDMORE)
if (rc /= 4) then
print *, irp_here, 'f77_zmq_send( zmq_socket_push, i_generator, 4, 0)'
stop 'error'
endif
rc = f77_zmq_send( zmq_socket_push, task_id, 4, 0) rc = f77_zmq_send( zmq_socket_push, task_id, 4, 0)
if (rc /= 4) then if (rc /= 4) then
print *, irp_here, 'f77_zmq_send( zmq_socket_push, task_id, 4, 0)' print *, irp_here, 'f77_zmq_send( zmq_socket_push, task_id, 4, 0)'
@ -358,7 +361,7 @@ subroutine push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,N_st,task_id)
! endif ! endif
end end
subroutine pull_pt2(zmq_socket_pull,pt2,norm_pert,H_pert_diag,N_st,n,task_id) subroutine pull_pt2(zmq_socket_pull,pt2,norm_pert,H_pert_diag,i_generator,N_st,n,task_id)
use f77_zmq use f77_zmq
implicit none implicit none
BEGIN_DOC BEGIN_DOC
@ -368,7 +371,7 @@ subroutine pull_pt2(zmq_socket_pull,pt2,norm_pert,H_pert_diag,N_st,n,task_id)
integer, intent(in) :: N_st integer, intent(in) :: N_st
double precision, intent(out) :: pt2(N_st), norm_pert(N_st), H_pert_diag(N_st) double precision, intent(out) :: pt2(N_st), norm_pert(N_st), H_pert_diag(N_st)
integer, intent(out) :: task_id integer, intent(out) :: task_id
integer, intent(out) :: n integer, intent(out) :: n, i_generator
integer :: rc integer :: rc
n=0 n=0
@ -406,6 +409,12 @@ subroutine pull_pt2(zmq_socket_pull,pt2,norm_pert,H_pert_diag,N_st,n,task_id)
stop 'error' stop 'error'
endif endif
rc = f77_zmq_recv( zmq_socket_pull, i_generator, 4, 0)
if (rc /= 4) then
print *, irp_here, 'f77_zmq_recv( zmq_socket_pull, i_generator, 4, 0)'
stop 'error'
endif
rc = f77_zmq_recv( zmq_socket_pull, task_id, 4, 0) rc = f77_zmq_recv( zmq_socket_pull, task_id, 4, 0)
if (rc /= 4) then if (rc /= 4) then
print *, irp_here, 'f77_zmq_recv( zmq_socket_pull, task_id, 4, 0)' print *, irp_here, 'f77_zmq_recv( zmq_socket_pull, task_id, 4, 0)'

View File

@ -167,11 +167,6 @@ subroutine $subroutine_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl
double precision :: diag_H_mat_elem double precision :: diag_H_mat_elem
integer :: iproc integer :: iproc
integer :: jtest_vvvv integer :: jtest_vvvv
integer(omp_lock_kind), save :: lck, ifirst=0
if (ifirst == 0) then
!$ call omp_init_lock(lck)
ifirst=1
endif
logical :: check_double_excitation logical :: check_double_excitation
logical :: is_a_1h1p logical :: is_a_1h1p
@ -422,7 +417,6 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generato
integer, allocatable :: ia_ja_pairs(:,:,:) integer, allocatable :: ia_ja_pairs(:,:,:)
logical, allocatable :: array_pairs(:,:) logical, allocatable :: array_pairs(:,:)
double precision :: diag_H_mat_elem double precision :: diag_H_mat_elem
integer(omp_lock_kind), save :: lck, ifirst=0
integer :: iproc integer :: iproc
integer(bit_kind) :: key_mask(N_int, 2) integer(bit_kind) :: key_mask(N_int, 2)
@ -445,11 +439,6 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generato
$check_double_excitation $check_double_excitation
if (ifirst == 0) then
ifirst=1
!$ call omp_init_lock(lck)
endif
$initialization $initialization
$omp_parallel $omp_parallel

View File

@ -11,7 +11,6 @@ subroutine $subroutine($params_main)
integer :: i_generator, nmax integer :: i_generator, nmax
double precision :: wall_0, wall_1 double precision :: wall_0, wall_1
integer(omp_lock_kind) :: lck
integer(bit_kind), allocatable :: mask(:,:,:) integer(bit_kind), allocatable :: mask(:,:,:)
integer :: ispin, k integer :: ispin, k
integer :: iproc integer :: iproc
@ -23,8 +22,6 @@ subroutine $subroutine($params_main)
nmax = mod( N_det_generators,nproc ) nmax = mod( N_det_generators,nproc )
!$ call omp_init_lock(lck)
call wall_time(wall_0) call wall_time(wall_0)
iproc = 0 iproc = 0
@ -129,19 +126,18 @@ subroutine $subroutine($params_main)
mask(1,1,s_hole ), mask(1,1,s_part ), & mask(1,1,s_hole ), mask(1,1,s_part ), &
fock_diag_tmp, i_generator, iproc $params_post) fock_diag_tmp, i_generator, iproc $params_post)
endif endif
!$ call omp_set_lock(lck) !$OMP CRITICAL
call wall_time(wall_1) call wall_time(wall_1)
$printout_always $printout_always
if (wall_1 - wall_0 > 2.d0) then if (wall_1 - wall_0 > 2.d0) then
$printout_now $printout_now
wall_0 = wall_1 wall_0 = wall_1
endif endif
!$ call omp_unset_lock(lck) !$OMP END CRITICAL
enddo enddo
!$OMP END DO !$OMP END DO
deallocate( mask, fock_diag_tmp ) deallocate( mask, fock_diag_tmp )
!$OMP END PARALLEL !$OMP END PARALLEL
!$ call omp_destroy_lock(lck)
$copy_buffer $copy_buffer
$generate_psi_guess $generate_psi_guess

View File

@ -13,7 +13,6 @@ subroutine $subroutine($params_main)
integer :: i integer :: i
integer :: i_generator integer :: i_generator
double precision :: wall_0, wall_1 double precision :: wall_0, wall_1
integer(omp_lock_kind) :: lck
integer(bit_kind), allocatable :: mask(:,:,:) integer(bit_kind), allocatable :: mask(:,:,:)
integer :: ispin, k integer :: ispin, k
integer :: rc integer :: rc
@ -27,6 +26,9 @@ subroutine $subroutine($params_main)
integer(ZMQ_PTR) :: zmq_socket_pair integer(ZMQ_PTR) :: zmq_socket_pair
integer(ZMQ_PTR) :: zmq_to_qp_run_socket integer(ZMQ_PTR) :: zmq_to_qp_run_socket
double precision, allocatable :: pt2_generators(:,:), norm_pert_generators(:,:)
double precision, allocatable :: H_pert_diag_generators(:,:)
call new_parallel_job(zmq_to_qp_run_socket,'$subroutine') call new_parallel_job(zmq_to_qp_run_socket,'$subroutine')
zmq_socket_pair = new_zmq_pair_socket(.True.) zmq_socket_pair = new_zmq_pair_socket(.True.)
@ -38,16 +40,20 @@ subroutine $subroutine($params_main)
call add_task_to_taskserver(zmq_to_qp_run_socket,task) call add_task_to_taskserver(zmq_to_qp_run_socket,task)
enddo enddo
allocate ( pt2_generators(N_states,N_det_generators), &
norm_pert_generators(N_states,N_det_generators), &
H_pert_diag_generators(N_states,N_det_generators) )
PROVIDE nproc N_states PROVIDE nproc N_states
!$OMP PARALLEL DEFAULT(NONE) & !$OMP PARALLEL DEFAULT(NONE) &
!$OMP PRIVATE(i) & !$OMP PRIVATE(i) &
!$OMP SHARED(zmq_socket_pair,N_states, pt2, norm_pert, H_pert_diag, n, task_id) & !$OMP SHARED(zmq_socket_pair,N_states, pt2_generators, norm_pert_generators, H_pert_diag_generators, n, task_id, i_generator) &
!$OMP num_threads(nproc+1) !$OMP num_threads(nproc+1)
i = omp_get_thread_num() i = omp_get_thread_num()
if (i == 0) then if (i == 0) then
call $subroutine_collector() call $subroutine_collector()
integer :: n, task_id integer :: n, task_id
call pull_pt2(zmq_socket_pair, pt2, norm_pert, H_pert_diag, N_states, n, task_id) call pull_pt2(zmq_socket_pair, pt2_generators, norm_pert_generators, H_pert_diag_generators, i_generator, size(pt2_generators), n, task_id)
else else
call $subroutine_slave_inproc(i) call $subroutine_slave_inproc(i)
endif endif
@ -61,6 +67,7 @@ subroutine $subroutine($params_main)
$copy_buffer $copy_buffer
$generate_psi_guess $generate_psi_guess
deallocate ( pt2_generators, norm_pert_generators, H_pert_diag_generators)
end end
subroutine $subroutine_slave_tcp(iproc) subroutine $subroutine_slave_tcp(iproc)
@ -168,7 +175,7 @@ subroutine $subroutine_slave(thread, iproc)
endif endif
call task_done_to_taskserver(zmq_to_qp_run_socket,worker_id,task_id,1) call task_done_to_taskserver(zmq_to_qp_run_socket,worker_id,task_id,1)
call push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,N_st,task_id) call push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,i_generator,N_st,task_id)
enddo enddo
@ -185,7 +192,7 @@ subroutine $subroutine_collector
use f77_zmq use f77_zmq
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! Collects results from the selection ! Collects results from the selection in an array of generators
END_DOC END_DOC
integer :: k, rc integer :: k, rc
@ -193,7 +200,7 @@ subroutine $subroutine_collector
integer(ZMQ_PTR), external :: new_zmq_pull_socket integer(ZMQ_PTR), external :: new_zmq_pull_socket
integer(ZMQ_PTR) :: zmq_socket_pull integer(ZMQ_PTR) :: zmq_socket_pull
integer*8 :: control, accu integer*8 :: control, accu
integer :: n, more, task_id integer :: n, more, task_id, i_generator
integer(ZMQ_PTR),external :: new_zmq_to_qp_run_socket integer(ZMQ_PTR),external :: new_zmq_to_qp_run_socket
integer(ZMQ_PTR) :: zmq_to_qp_run_socket integer(ZMQ_PTR) :: zmq_to_qp_run_socket
@ -201,22 +208,25 @@ subroutine $subroutine_collector
zmq_to_qp_run_socket = new_zmq_to_qp_run_socket() zmq_to_qp_run_socket = new_zmq_to_qp_run_socket()
zmq_socket_pull = new_zmq_pull_socket() zmq_socket_pull = new_zmq_pull_socket()
double precision, allocatable :: pt2(:,:), norm_pert(:,:), H_pert_diag(:,:) double precision, allocatable :: pt2(:), norm_pert(:), H_pert_diag(:)
allocate ( pt2(N_states,2), norm_pert(N_states,2), H_pert_diag(N_states,2)) double precision, allocatable :: pt2_result(:,:), norm_pert_result(:,:), H_pert_diag_result(:,:)
allocate (pt2(N_states), norm_pert(N_states), H_pert_diag(N_states))
allocate (pt2_result(N_states,N_det_generators), norm_pert_result(N_states,N_det_generators), &
H_pert_diag_result(N_states,N_det_generators))
pt2 = 0.d0 pt2_result = 0.d0
norm_pert = 0.d0 norm_pert_result = 0.d0
H_pert_diag = 0.d0 H_pert_diag_result = 0.d0
accu = 0_8 accu = 0_8
more = 1 more = 1
do while (more == 1) do while (more == 1)
call pull_pt2(zmq_socket_pull, pt2, norm_pert, H_pert_diag, N_states, n, task_id) call pull_pt2(zmq_socket_pull, pt2, norm_pert, H_pert_diag, i_generator, N_states, n, task_id)
if (n > 0) then if (n > 0) then
do k=1,N_states do k=1,N_states
pt2(k,2) = pt2(k,1) + pt2(k,2) pt2_result(k,i_generator) = pt2(k)
norm_pert(k,2) = norm_pert(k,1) + norm_pert(k,2) norm_pert_result(k,i_generator) = norm_pert(k)
H_pert_diag(k,2) = H_pert_diag(k,1) + H_pert_diag(k,2) H_pert_diag_result(k,i_generator) = H_pert_diag(k)
enddo enddo
accu = accu + 1_8 accu = accu + 1_8
call zmq_delete_task(zmq_to_qp_run_socket,zmq_socket_pull,task_id,more) call zmq_delete_task(zmq_to_qp_run_socket,zmq_socket_pull,task_id,more)
@ -233,9 +243,10 @@ subroutine $subroutine_collector
socket_result = new_zmq_pair_socket(.False.) socket_result = new_zmq_pair_socket(.False.)
call push_pt2(socket_result, pt2(1,2), norm_pert(1,2), H_pert_diag(1,2), N_states,0) call push_pt2(socket_result, pt2_result, norm_pert_result, H_pert_diag_result, i_generator, &
N_states*N_det_generators,0)
deallocate ( pt2, norm_pert, H_pert_diag) deallocate (pt2, norm_pert, H_pert_diag, pt2_result, norm_pert_result, H_pert_diag_result)
call end_zmq_pair_socket(socket_result) call end_zmq_pair_socket(socket_result)

View File

@ -301,13 +301,21 @@ subroutine diagonalize_s2_betweenstates(keys_tmp,psi_coefs_inout,n,nmax_keys,nma
print*,'' print*,''
print*,'nstates = ',nstates print*,'nstates = ',nstates
allocate(s2(nstates,nstates),overlap(nstates,nstates)) allocate(s2(nstates,nstates),overlap(nstates,nstates))
do i = 1, nstates !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) SCHEDULE(dynamic) &
overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n)
do j = i+1, nstates do i = 1, nstates
overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) do j = 1, nstates
overlap(j,i) = overlap(i,j) if (i < j) then
enddo cycle
enddo else if (i == j) then
overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n)
else
overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n)
overlap(j,i) = overlap(i,j)
endif
enddo
enddo
!$OMP END PARALLEL DO
print*,'Overlap matrix in the basis of the states considered' print*,'Overlap matrix in the basis of the states considered'
do i = 1, nstates do i = 1, nstates
write(*,'(10(F16.10,X))')overlap(i,:) write(*,'(10(F16.10,X))')overlap(i,:)
@ -315,13 +323,21 @@ subroutine diagonalize_s2_betweenstates(keys_tmp,psi_coefs_inout,n,nmax_keys,nma
call ortho_lowdin(overlap,size(overlap,1),nstates,psi_coefs_inout,size(psi_coefs_inout,1),n) call ortho_lowdin(overlap,size(overlap,1),nstates,psi_coefs_inout,size(psi_coefs_inout,1),n)
print*,'passed ortho' print*,'passed ortho'
do i = 1, nstates !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) SCHEDULE(dynamic) &
overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n)
do j = i+1, nstates do i = 1, nstates
overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) do j = 1, nstates
overlap(j,i) = overlap(i,j) if (i < j) then
enddo cycle
enddo else if (i == j) then
overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n)
else
overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n)
overlap(j,i) = overlap(i,j)
endif
enddo
enddo
!$OMP END PARALLEL DO
print*,'Overlap matrix in the basis of the Lowdin orthonormalized states ' print*,'Overlap matrix in the basis of the Lowdin orthonormalized states '
do i = 1, nstates do i = 1, nstates
write(*,'(10(F16.10,X))')overlap(i,:) write(*,'(10(F16.10,X))')overlap(i,:)

View File

@ -904,12 +904,13 @@ subroutine create_minilist_find_previous(key_mask, fullList, miniList, N_fullLis
integer, intent(in) :: Nint integer, intent(in) :: Nint
integer(bit_kind), intent(in) :: fullList(Nint, 2, N_fullList) integer(bit_kind), intent(in) :: fullList(Nint, 2, N_fullList)
integer(bit_kind),intent(out) :: miniList(Nint, 2, N_fullList) integer(bit_kind),intent(out) :: miniList(Nint, 2, N_fullList)
integer(bit_kind) :: subList(Nint, 2, N_fullList) integer(bit_kind), allocatable :: subList(:,:,:)
logical,intent(out) :: fullMatch logical,intent(out) :: fullMatch
integer,intent(out) :: N_miniList integer,intent(out) :: N_miniList
integer(bit_kind) :: key_mask(Nint, 2) integer(bit_kind) :: key_mask(Nint, 2)
integer :: ni, i, k, l, N_subList integer :: ni, i, k, l, N_subList
allocate (subList(Nint, 2, N_fullList))
fullMatch = .false. fullMatch = .false.
N_miniList = 0 N_miniList = 0
@ -962,6 +963,8 @@ subroutine create_minilist_find_previous(key_mask, fullList, miniList, N_fullLis
enddo enddo
N_minilist = N_minilist + N_subList N_minilist = N_minilist + N_subList
end if end if
deallocate(sublist)
end subroutine end subroutine

View File

@ -4,6 +4,7 @@ double precision function ao_bielec_integral(i,j,k,l)
! integral of the AO basis <ik|jl> or (ij|kl) ! integral of the AO basis <ik|jl> or (ij|kl)
! i(r1) j(r1) 1/r12 k(r2) l(r2) ! i(r1) j(r1) 1/r12 k(r2) l(r2)
END_DOC END_DOC
integer,intent(in) :: i,j,k,l integer,intent(in) :: i,j,k,l
integer :: p,q,r,s integer :: p,q,r,s
double precision :: I_center(3),J_center(3),K_center(3),L_center(3) double precision :: I_center(3),J_center(3),K_center(3),L_center(3)

View File

@ -181,14 +181,14 @@ function new_zmq_pair_socket(bind)
endif endif
endif endif
rc = f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_SNDHWM, 0, 4) rc = f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_SNDHWM, 1, 4)
if (rc /= 0) then if (rc /= 0) then
stop 'f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_SNDHWM, 0, 4)' stop 'f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_SNDHWM, 1, 4)'
endif endif
rc = f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_RCVHWM, 0, 4) rc = f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_RCVHWM, 1, 4)
if (rc /= 0) then if (rc /= 0) then
stop 'f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_RCVHWM, 0, 4)' stop 'f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_RCVHWM, 1, 4)'
endif endif
rc = f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_IMMEDIATE, 1, 4) rc = f77_zmq_setsockopt(new_zmq_pair_socket, ZMQ_IMMEDIATE, 1, 4)
@ -229,16 +229,11 @@ function new_zmq_pull_socket()
stop 'Unable to set ZMQ_LINGER on pull socket' stop 'Unable to set ZMQ_LINGER on pull socket'
endif endif
rc = f77_zmq_setsockopt(new_zmq_pull_socket,ZMQ_RCVHWM,100000,4) rc = f77_zmq_setsockopt(new_zmq_pull_socket,ZMQ_RCVHWM,1000,4)
if (rc /= 0) then if (rc /= 0) then
stop 'Unable to set ZMQ_RCVHWM on pull socket' stop 'Unable to set ZMQ_RCVHWM on pull socket'
endif endif
rc = f77_zmq_setsockopt(new_zmq_pull_socket,ZMQ_IMMEDIATE,1,4)
if (rc /= 0) then
stop 'Unable to set ZMQ_IMMEDIATE on pull socket'
endif
rc = f77_zmq_bind(new_zmq_pull_socket, zmq_socket_pull_tcp_address) rc = f77_zmq_bind(new_zmq_pull_socket, zmq_socket_pull_tcp_address)
if (rc /= 0) then if (rc /= 0) then
print *, 'Unable to bind new_zmq_pull_socket (tcp)', zmq_socket_pull_tcp_address print *, 'Unable to bind new_zmq_pull_socket (tcp)', zmq_socket_pull_tcp_address
@ -279,7 +274,7 @@ function new_zmq_push_socket(thread)
stop 'Unable to set ZMQ_LINGER on push socket' stop 'Unable to set ZMQ_LINGER on push socket'
endif endif
rc = f77_zmq_setsockopt(new_zmq_push_socket,ZMQ_SNDHWM,100,4) rc = f77_zmq_setsockopt(new_zmq_push_socket,ZMQ_SNDHWM,1000,4)
if (rc /= 0) then if (rc /= 0) then
stop 'Unable to set ZMQ_SNDHWM on push socket' stop 'Unable to set ZMQ_SNDHWM on push socket'
endif endif
@ -355,11 +350,11 @@ subroutine end_zmq_pull_socket(zmq_socket_pull)
! endif ! endif
rc = f77_zmq_unbind(zmq_socket_pull,zmq_socket_pull_tcp_address) rc = f77_zmq_unbind(zmq_socket_pull,zmq_socket_pull_tcp_address)
if (rc /= 0) then ! if (rc /= 0) then
print *, rc ! print *, rc
print *, irp_here, 'f77_zmq_unbind(zmq_socket_pull,zmq_socket_pull_tcp_address)' ! print *, irp_here, 'f77_zmq_unbind(zmq_socket_pull,zmq_socket_pull_tcp_address)'
stop 'error' ! stop 'error'
endif ! endif
call sleep(1) ! see https://github.com/zeromq/libzmq/issues/1922 call sleep(1) ! see https://github.com/zeromq/libzmq/issues/1922