• R/O
  • HTTP
  • SSH
  • HTTPS

pwdft: Commit

Source code and sample for Educational-PWDFT


Commit MetaInfo

Revisionbdcdb351a8190e187b6b5e9556ec1ee99ab3a1c7 (tree)
Zeit2018-12-06 16:16:04
AutorMitsuaki Kawamura <kawamitsuaki@gmai...>
CommiterMitsuaki Kawamura

Log Message

Backupp

Ändern Zusammenfassung

Diff

--- /dev/null
+++ b/sample/Al/al.lda.lps
@@ -0,0 +1,1608 @@
1+al BLPS | nov-7-2007 | Vg=25.18 bohr^-1 | Coulombic tail starts@6.5 bohr | OscTailCut=5.582 | Al_swAll_NO2.mat files
2+ 13.0000 3.0000 06112007 zatom,zion,pspd
3+ 8 2 0 0 1601 0 pspcod,pspxc,lmax,lloc,mmax,r2well
4+ 0 -1 0 rchrg fchrg qchrg
5+ 0 0 0 0 0 nproj
6+ 0 extension_switch
7+0
8+1 0.00000000 1.5613386023214708
9+2 0.01000000 1.5609120482094345
10+3 0.02000000 1.5596326378653460
11+4 0.03000000 1.5575011270806915
12+5 0.04000000 1.5545187748929721
13+6 0.05000000 1.5506873426638543
14+7 0.06000000 1.5460090927892174
15+8 0.07000000 1.5404867870423415
16+9 0.08000000 1.5341236845513480
17+10 0.09000000 1.5269235394120166
18+11 0.10000000 1.5188905979380456
19+12 0.11000000 1.5100295955503649
20+13 0.12000000 1.5003457533079330
21+14 0.13000000 1.4898447740821681
22+15 0.14000000 1.4785328383780099
23+16 0.15000000 1.4664165998043655
24+17 0.16000000 1.4535031801971412
25+18 0.17000000 1.4398001643984366
26+19 0.18000000 1.4253155946954532
27+20 0.19000000 1.4100579649232441
28+21 0.20000000 1.3940362142353007
29+22 0.21000000 1.3772597205466697
30+23 0.22000000 1.3597382936541378
31+24 0.23000000 1.3414821680384204
32+25 0.24000000 1.3225019953538142
33+26 0.25000000 1.3028088366103450
34+27 0.26000000 1.2824141540545364
35+28 0.27000000 1.2613298027543194
36+29 0.28000000 1.2395680218946536
37+30 0.29000000 1.2171414257898778
38+31 0.30000000 1.1940629946197601
39+32 0.31000000 1.1703460648959059
40+33 0.32000000 1.1460043196657250
41+34 0.33000000 1.1210517784612934
42+35 0.34000000 1.0955027870005858
43+36 0.35000000 1.0693720066489960
44+37 0.36000000 1.0426744036489695
45+38 0.37000000 1.0154252381261264
46+39 0.38000000 0.9876400528801582
47+40 0.39000000 0.9593346619691671
48+41 0.40000000 0.9305251390963951
49+42 0.41000000 0.9012278058080812
50+43 0.42000000 0.8714592195119966
51+44 0.43000000 0.8412361613257875
52+45 0.44000000 0.8105756237648862
53+46 0.45000000 0.7794947982796050
54+47 0.46000000 0.7480110626514896
55+48 0.47000000 0.7161419682588919
56+49 0.48000000 0.6839052272220678
57+50 0.49000000 0.6513186994381412
58+51 0.50000000 0.6184003795166291
59+52 0.51000000 0.5851683836259062
60+53 0.52000000 0.5516409362617374
61+54 0.53000000 0.5178363569484890
62+55 0.54000000 0.4837730468843334
63+56 0.55000000 0.4494694755412940
64+57 0.56000000 0.4149441672315711
65+58 0.57000000 0.3802156876513216
66+59 0.58000000 0.3453026304132914
67+60 0.59000000 0.3102236035798128
68+61 0.60000000 0.2749972162075540
69+62 0.61000000 0.2396420649156376
70+63 0.62000000 0.2041767204886376
71+64 0.63000000 0.1686197145260991
72+65 0.64000000 0.1329895261501876
73+66 0.65000000 0.0973045687829658
74+67 0.66000000 0.0615831770050769
75+68 0.67000000 0.0258435935072103
76+69 0.68000000 -0.0098960438539908
77+70 0.69000000 -0.0456177148841401
78+71 0.70000000 -0.0813035297519859
79+72 0.71000000 -0.1169357415516190
80+73 0.72000000 -0.1524967587147850
81+74 0.73000000 -0.1879691572619756
82+75 0.74000000 -0.2233356928814173
83+76 0.75000000 -0.2585793128248724
84+77 0.76000000 -0.2936831676094991
85+78 0.77000000 -0.3286306225151181
86+79 0.78000000 -0.3634052688663199
87+80 0.79000000 -0.3979909350891681
88+81 0.80000000 -0.4323716975322824
89+82 0.81000000 -0.4665318910423404
90+83 0.82000000 -0.5004561192843752
91+84 0.83000000 -0.5341292647971632
92+85 0.84000000 -0.5675364987746609
93+86 0.85000000 -0.6006632905642334
94+87 0.86000000 -0.6334954168729781
95+88 0.87000000 -0.6660189706738210
96+89 0.88000000 -0.6982203698028446
97+90 0.89000000 -0.7300863652401852
98+91 0.90000000 -0.7616040490667979
99+92 0.91000000 -0.7927608620897844
100+93 0.92000000 -0.8235446011293313
101+94 0.93000000 -0.8539434259606370
102+95 0.94000000 -0.8839458659045222
103+96 0.95000000 -0.9135408260608531
104+97 0.96000000 -0.9427175931791828
105+98 0.97000000 -0.9714658411614401
106+99 0.98000000 -0.9997756361918935
107+100 0.99000000 -1.0276374414899994
108+101 1.00000000 -1.0550421216820873
109+102 1.01000000 -1.0819809467884418
110+103 1.02000000 -1.1084455958223431
111+104 1.03000000 -1.1344281599986747
112+105 1.04000000 -1.1599211455494332
113+106 1.05000000 -1.1849174761444625
114+107 1.06000000 -1.2094104949159550
115+108 1.07000000 -1.2333939660855742
116+109 1.08000000 -1.2568620761937508
117+110 1.09000000 -1.2798094349310296
118+111 1.10000000 -1.3022310755716815
119+112 1.11000000 -1.3241224550105466
120+113 1.12000000 -1.3454794534041543
121+114 1.13000000 -1.3662983734179128
122+115 1.14000000 -1.3865759390815435
123+116 1.15000000 -1.4063092942551370
124+117 1.16000000 -1.4254960007091477
125+118 1.17000000 -1.4441340358215962
126+119 1.18000000 -1.4622217898965211
127+120 1.19000000 -1.4797580631079132
128+121 1.20000000 -1.4967420620741467
129+122 1.21000000 -1.5131733960679281
130+123 1.22000000 -1.5290520728674903
131+124 1.23000000 -1.5443784942552072
132+125 1.24000000 -1.5591534511698868
133+126 1.25000000 -1.5733781185199023
134+127 1.26000000 -1.5870540496642609
135+128 1.27000000 -1.6001831705693155
136+129 1.28000000 -1.6127677736491897
137+130 1.29000000 -1.6248105112984195
138+131 1.30000000 -1.6363143891253535
139+132 1.31000000 -1.6472827588957237
140+133 1.32000000 -1.6577193111955424
141+134 1.33000000 -1.6676280678234454
142+135 1.34000000 -1.6770133739221074
143+136 1.35000000 -1.6858798898595984
144+137 1.36000000 -1.6942325828709821
145+138 1.37000000 -1.7020767184711856
146+139 1.38000000 -1.7094178516503926
147+140 1.39000000 -1.7162618178633398
148+141 1.40000000 -1.7226147238239178
149+142 1.41000000 -1.7284829381173776
150+143 1.42000000 -1.7338730816416879
151+144 1.43000000 -1.7387920178905694
152+145 1.44000000 -1.7432468430903749
153+146 1.45000000 -1.7472448762033466
154+147 1.46000000 -1.7507936488099751
155+148 1.47000000 -1.7539008948829016
156+149 1.48000000 -1.7565745404654189
157+150 1.49000000 -1.7588226932673123
158+151 1.50000000 -1.7606536321909472
159+152 1.51000000 -1.7620757968004035
160+153 1.52000000 -1.7630977767469940
161+154 1.53000000 -1.7637283011636504
162+155 1.54000000 -1.7639762280411981
163+156 1.55000000 -1.7638505335997408
164+157 1.56000000 -1.7633603016673118
165+158 1.57000000 -1.7625147130791716
166+159 1.58000000 -1.7613230351098734
167+160 1.59000000 -1.7597946109508062
168+161 1.60000000 -1.7579388492456194
169+162 1.61000000 -1.7557652136955801
170+163 1.62000000 -1.7532832127471087
171+164 1.63000000 -1.7505023893731062
172+165 1.64000000 -1.7474323109599286
173+166 1.65000000 -1.7440825593113085
174+167 1.66000000 -1.7404627207804930
175+168 1.67000000 -1.7365823765415036
176+169 1.68000000 -1.7324510930101293
177+170 1.69000000 -1.7280784124251423
178+171 1.70000000 -1.7234738435997838
179+172 1.71000000 -1.7186468528533336
180+173 1.72000000 -1.7136068551321373
181+174 1.73000000 -1.7083632053292583
182+175 1.74000000 -1.7029251898116342
183+176 1.75000000 -1.6973020181630096
184+177 1.76000000 -1.6915028151506388
185+178 1.77000000 -1.6855366129237788
186+179 1.78000000 -1.6794123434506527
187+180 1.79000000 -1.6731388312014603
188+181 1.80000000 -1.6667247860832273
189+182 1.81000000 -1.6601787966330916
190+183 1.82000000 -1.6535093234752791
191+184 1.83000000 -1.6467246930472124
192+185 1.84000000 -1.6398330915993580
193+186 1.85000000 -1.6328425594732794
194+187 1.86000000 -1.6257609856616744
195+188 1.87000000 -1.6185961026539246
196+189 1.88000000 -1.6113554815701159
197+190 1.89000000 -1.6040465275860292
198+191 1.90000000 -1.5966764756513623
199+192 1.91000000 -1.5892523865026282
200+193 1.92000000 -1.5817811429720661
201+194 1.93000000 -1.5742694465933187
202+195 1.94000000 -1.5667238145040452
203+196 1.95000000 -1.5591505766455396
204+197 1.96000000 -1.5515558732586325
205+198 1.97000000 -1.5439456526748552
206+199 1.98000000 -1.5363256694015914
207+200 1.99000000 -1.5287014824991432
208+201 2.00000000 -1.5210784542475784
209+202 2.01000000 -1.5134617491006412
210+203 2.02000000 -1.5058563329235128
211+204 2.03000000 -1.4982669725112270
212+205 2.04000000 -1.4906982353834481
213+206 2.05000000 -1.4831544898518267
214+207 2.06000000 -1.4756399053548905
215+208 2.07000000 -1.4681584530558969
216+209 2.08000000 -1.4607139066980095
217+210 2.09000000 -1.4533098437113230
218+211 2.10000000 -1.4459496465659523
219+212 2.11000000 -1.4386365043643987
220+213 2.12000000 -1.4313734146673038
221+214 2.13000000 -1.4241631855452681
222+215 2.14000000 -1.4170084378498418
223+216 2.15000000 -1.4099116076963103
224+217 2.16000000 -1.4028749491507169
225+218 2.17000000 -1.3959005371133186
226+219 2.18000000 -1.3889902703904011
227+220 2.19000000 -1.3821458749463957
228+221 2.20000000 -1.3753689073278379
229+222 2.21000000 -1.3686607582506658
230+223 2.22000000 -1.3620226563421822
231+224 2.23000000 -1.3554556720290656
232+225 2.24000000 -1.3489607215622141
233+226 2.25000000 -1.3425385711697153
234+227 2.26000000 -1.3361898413288580
235+228 2.27000000 -1.3299150111479230
236+229 2.28000000 -1.3237144228486961
237+230 2.29000000 -1.3175882863405795
238+231 2.30000000 -1.3115366838769851
239+232 2.31000000 -1.3055595747849387
240+233 2.32000000 -1.2996568002586262
241+234 2.33000000 -1.2938280882078756
242+235 2.34000000 -1.2880730581524249
243+236 2.35000000 -1.2823912261530448
244+237 2.36000000 -1.2767820097705009
245+238 2.37000000 -1.2712447330436922
246+239 2.38000000 -1.2657786314781170
247+240 2.39000000 -1.2603828570362170
248+241 2.40000000 -1.2550564831210345
249+242 2.41000000 -1.2497985095451352
250+243 2.42000000 -1.2446078674763610
251+244 2.43000000 -1.2394834243528294
252+245 2.44000000 -1.2344239887591886
253+246 2.45000000 -1.2294283152567176
254+247 2.46000000 -1.2244951091599596
255+248 2.47000000 -1.2196230312526417
256+249 2.48000000 -1.2148107024363803
257+250 2.49000000 -1.2100567083049982
258+251 2.50000000 -1.2053596036387311
259+252 2.51000000 -1.2007179168116935
260+253 2.52000000 -1.1961301541069824
261+254 2.53000000 -1.1915948039340472
262+255 2.54000000 -1.1871103409426016
263+256 2.55000000 -1.1826752300285672
264+257 2.56000000 -1.1782879302269280
265+258 2.57000000 -1.1739468984874621
266+259 2.58000000 -1.1696505933290351
267+260 2.59000000 -1.1653974783685961
268+261 2.60000000 -1.1611860257216906
269+262 2.61000000 -1.1570147192709705
270+263 2.62000000 -1.1528820577999852
271+264 2.63000000 -1.1487865579898209
272+265 2.64000000 -1.1447267572760003
273+266 2.65000000 -1.1407012165640660
274+267 2.66000000 -1.1367085228020108
275+268 2.67000000 -1.1327472914082013
276+269 2.68000000 -1.1288161685539810
277+270 2.69000000 -1.1249138332999924
278+271 2.70000000 -1.1210389995860113
279+272 2.71000000 -1.1171904180739995
280+273 2.72000000 -1.1133668778446482
281+274 2.73000000 -1.1095672079478909
282+275 2.74000000 -1.1057902788079517
283+276 2.75000000 -1.1020350034841113
284+277 2.76000000 -1.0983003387884573
285+278 2.77000000 -1.0945852862619343
286+279 2.78000000 -1.0908888930107938
287+280 2.79000000 -1.0872102524052150
288+281 2.80000000 -1.0835485046425239
289+282 2.81000000 -1.0799028371773665
290+283 2.82000000 -1.0762724850217058
291+284 2.83000000 -1.0726567309174135
292+285 2.84000000 -1.0690549053847282
293+286 2.85000000 -1.0654663866496843
294+287 2.86000000 -1.0618906004542421
295+288 2.87000000 -1.0583270197526167
296+289 2.88000000 -1.0547751642976810
297+290 2.89000000 -1.0512346001213924
298+291 2.90000000 -1.0477049389133837
299+292 2.91000000 -1.0441858373018724
300+293 2.92000000 -1.0406769960414206
301+294 2.93000000 -1.0371781591116720
302+295 2.94000000 -1.0336891127319647
303+296 2.95000000 -1.0302096842961794
304+297 2.96000000 -1.0267397412327324
305+298 2.97000000 -1.0232791897941906
306+299 2.98000000 -1.0198279737816283
307+300 2.99000000 -1.0163860732083634
308+301 3.00000000 -1.0129535029078682
309+302 3.01000000 -1.0095303110910483
310+303 3.02000000 -1.0061165778574206
311+304 3.03000000 -1.0027124136651813
312+305 3.04000000 -0.9993179577651876
313+306 3.05000000 -0.9959333766033981
314+307 3.06000000 -0.9925588621967882
315+308 3.07000000 -0.9891946304873069
316+309 3.08000000 -0.9858409196787553
317+310 3.09000000 -0.9824979885609447
318+311 3.10000000 -0.9791661148259653
319+312 3.11000000 -0.9758455933807160
320+313 3.12000000 -0.9725367346603929
321+314 3.13000000 -0.9692398629468205
322+315 3.14000000 -0.9659553146961068
323+316 3.15000000 -0.9626834368794774
324+317 3.16000000 -0.9594245853412432
325+318 3.17000000 -0.9561791231776766
326+319 3.18000000 -0.9529474191404608
327+320 3.19000000 -0.9497298460681500
328+321 3.20000000 -0.9465267793491881
329+322 3.21000000 -0.9433385954193669
330+323 3.22000000 -0.9401656702970977
331+324 3.23000000 -0.9370083781591624
332+325 3.24000000 -0.9338670899597878
333+326 3.25000000 -0.9307421720955450
334+327 3.26000000 -0.9276339851184568
335+328 3.27000000 -0.9245428824995291
336+329 3.28000000 -0.9214692094448109
337+330 3.29000000 -0.9184133017656918
338+331 3.30000000 -0.9153754848053022
339+332 3.31000000 -0.9123560724223813
340+333 3.32000000 -0.9093553660339982
341+334 3.33000000 -0.9063736537183090
342+335 3.34000000 -0.9034112093782674
343+336 3.35000000 -0.9004682919670602
344+337 3.36000000 -0.8975451447760419
345+338 3.37000000 -0.8946419947854175
346+339 3.38000000 -0.8917590520780839
347+340 3.39000000 -0.8888965093167859
348+341 3.40000000 -0.8860545412843130
349+342 3.41000000 -0.8832333044867864
350+343 3.42000000 -0.8804329368195302
351+344 3.43000000 -0.8776535572949642
352+345 3.44000000 -0.8748952658319235
353+346 3.45000000 -0.8721581431056352
354+347 3.46000000 -0.8694422504571628
355+348 3.47000000 -0.8667476298615289
356+349 3.48000000 -0.8640743039529883
357+350 3.49000000 -0.8614222761063964
358+351 3.50000000 -0.8587915305728943
359+352 3.51000000 -0.8561820326686240
360+353 3.52000000 -0.8535937290145531
361+354 3.53000000 -0.8510265478257885
362+355 3.54000000 -0.8484803992483319
363+356 3.55000000 -0.8459551757415033
364+357 3.56000000 -0.8434507525037407
365+358 3.57000000 -0.8409669879399220
366+359 3.58000000 -0.8385037241678166
367+360 3.59000000 -0.8360607875614130
368+361 3.60000000 -0.8336379893289925
369+362 3.61000000 -0.8312351261234123
370+363 3.62000000 -0.8288519806823073
371+364 3.63000000 -0.8264883224957518
372+365 3.64000000 -0.8241439084988954
373+366 3.65000000 -0.8218184837872329
374+367 3.66000000 -0.8195117823518415
375+368 3.67000000 -0.8172235278322965
376+369 3.68000000 -0.8149534342846209
377+370 3.69000000 -0.8127012069618345
378+371 3.70000000 -0.8104665431047374
379+372 3.71000000 -0.8082491327403534
380+373 3.72000000 -0.8060486594856741
381+374 3.73000000 -0.8038648013543586
382+375 3.74000000 -0.8016972315639375
383+376 3.75000000 -0.7995456193413571
384+377 3.76000000 -0.7974096307245001
385+378 3.77000000 -0.7952889293575103
386+379 3.78000000 -0.7931831772778327
387+380 3.79000000 -0.7910920356928266
388+381 3.80000000 -0.7890151657439949
389+382 3.81000000 -0.7869522292568297
390+383 3.82000000 -0.7849028894744826
391+384 3.83000000 -0.7828668117734703
392+385 3.84000000 -0.7808436643596479
393+386 3.85000000 -0.7788331189429019
394+387 3.86000000 -0.7768348513890764
395+388 3.87000000 -0.7748485423475877
396+389 3.88000000 -0.7728738778534977
397+390 3.89000000 -0.7709105499027439
398+391 3.90000000 -0.7689582569994318
399+392 3.91000000 -0.7670167046740676
400+393 3.92000000 -0.7650856059719117
401+394 3.93000000 -0.7631646819104309
402+395 3.94000000 -0.7612536619053495
403+396 3.95000000 -0.7593522841644063
404+397 3.96000000 -0.7574602960484822
405+398 3.97000000 -0.7555774543994862
406+399 3.98000000 -0.7537035258348980
407+400 3.99000000 -0.7518382870084590
408+401 4.00000000 -0.7499815248371169
409+402 4.01000000 -0.7481330366940058
410+403 4.02000000 -0.7462926305676817
411+404 4.03000000 -0.7444601251876397
412+405 4.04000000 -0.7426353501164027
413+406 4.05000000 -0.7408181458085846
414+407 4.06000000 -0.7390083636372594
415+408 4.07000000 -0.7372058658882062
416+409 4.08000000 -0.7354105257226076
417+410 4.09000000 -0.7336222271088868
418+411 4.10000000 -0.7318408647244145
419+412 4.11000000 -0.7300663438279755
420+413 4.12000000 -0.7282985801037773
421+414 4.13000000 -0.7265374994780697
422+415 4.14000000 -0.7247830379093663
423+416 4.15000000 -0.7230351411533038
424+417 4.16000000 -0.7212937645033580
425+418 4.17000000 -0.7195588725085511
426+419 4.18000000 -0.7178304386693991
427+420 4.19000000 -0.7161084451133450
428+421 4.20000000 -0.7143928822511139
429+422 4.21000000 -0.7126837484151383
430+423 4.22000000 -0.7109810494816245
431+424 4.23000000 -0.7092847984775782
432+425 4.24000000 -0.7075950151741761
433+426 4.25000000 -0.7059117256680343
434+427 4.26000000 -0.7042349619517310
435+428 4.27000000 -0.7025647614750482
436+429 4.28000000 -0.7009011666985238
437+430 4.29000000 -0.6992442246405710
438+431 4.30000000 -0.6975939864198465
439+432 4.31000000 -0.6959505067941189
440+433 4.32000000 -0.6943138436972127
441+434 4.33000000 -0.6926840577754549
442+435 4.34000000 -0.6910612119248684
443+436 4.35000000 -0.6894453708307227
444+437 4.36000000 -0.6878366005105456
445+438 4.37000000 -0.6862349678621559
446+439 4.38000000 -0.6846405402178256
447+440 4.39000000 -0.6830533849058666
448+441 4.40000000 -0.6814735688208939
449+442 4.41000000 -0.6799011580039105
450+443 4.42000000 -0.6783362172332429
451+444 4.43000000 -0.6767788096275761
452+445 4.44000000 -0.6752289962618919
453+446 4.45000000 -0.6736868357974566
454+447 4.46000000 -0.6721523841267042
455+448 4.47000000 -0.6706256940337599
456+449 4.48000000 -0.6691068148716095
457+450 4.49000000 -0.6675957922564717
458+451 4.50000000 -0.6660926677801214
459+452 4.51000000 -0.6645974787407409
460+453 4.52000000 -0.6631102578929189
461+454 4.53000000 -0.6616310332171639
462+455 4.54000000 -0.6601598277094298
463+456 4.55000000 -0.6586966591910192
464+457 4.56000000 -0.6572415401390856
465+458 4.57000000 -0.6557944775380079
466+459 4.58000000 -0.6543554727517630
467+460 4.59000000 -0.6529245214174618
468+461 4.60000000 -0.6515016133599425
469+462 4.61000000 -0.6500867325275673
470+463 4.62000000 -0.6486798569489235
471+464 4.63000000 -0.6472809587105229
472+465 4.64000000 -0.6458900039549612
473+466 4.65000000 -0.6445069528996633
474+467 4.66000000 -0.6431317598754583
475+468 4.67000000 -0.6417643733849551
476+469 4.68000000 -0.6404047361800775
477+470 4.69000000 -0.6390527853583108
478+471 4.70000000 -0.6377084524771811
479+472 4.71000000 -0.6363716636862915
480+473 4.72000000 -0.6350423398763525
481+474 4.73000000 -0.6337203968445142
482+475 4.74000000 -0.6324057454752641
483+476 4.75000000 -0.6310982919361868
484+477 4.76000000 -0.6297979378877611
485+478 4.77000000 -0.6285045807063752
486+479 4.78000000 -0.6272181137197694
487+480 4.79000000 -0.6259384264539778
488+481 4.80000000 -0.6246654048908796
489+482 4.81000000 -0.6233989317354826
490+483 4.82000000 -0.6221388866919511
491+484 4.83000000 -0.6208851467475210
492+485 4.84000000 -0.6196375864631759
493+486 4.85000000 -0.6183960782703452
494+487 4.86000000 -0.6171604927723969
495+488 4.87000000 -0.6159306990502037
496+489 4.88000000 -0.6147065649705519
497+490 4.89000000 -0.6134879574966307
498+491 4.90000000 -0.6122747429995176
499+492 4.91000000 -0.6110667875696817
500+493 4.92000000 -0.6098639573276569
501+494 4.93000000 -0.6086661187328596
502+495 4.94000000 -0.6074731388896298
503+496 4.95000000 -0.6062848858496699
504+497 4.96000000 -0.6051012289099023
505+498 4.97000000 -0.6039220389049692
506+499 4.98000000 -0.6027471884934900
507+500 4.99000000 -0.6015765524372757
508+501 5.00000000 -0.6004100078727657
509+502 5.01000000 -0.5992474345738990
510+503 5.02000000 -0.5980887152057199
511+504 5.03000000 -0.5969337355680659
512+505 5.04000000 -0.5957823848286480
513+506 5.05000000 -0.5946345557450063
514+507 5.06000000 -0.5934901448746828
515+508 5.07000000 -0.5923490527731738
516+509 5.08000000 -0.5912111841791043
517+510 5.09000000 -0.5900764481862791
518+511 5.10000000 -0.5889447584021553
519+512 5.11000000 -0.5878160330923751
520+513 5.12000000 -0.5866901953111001
521+514 5.13000000 -0.5855671730169135
522+515 5.14000000 -0.5844468991739177
523+516 5.15000000 -0.5833293118381226
524+517 5.16000000 -0.5822143542287282
525+518 5.17000000 -0.5811019747844027
526+519 5.18000000 -0.5799921272044697
527+520 5.19000000 -0.5788847704750066
528+521 5.20000000 -0.5777798688799068
529+522 5.21000000 -0.5766773919970262
530+523 5.22000000 -0.5755773146795584
531+524 5.23000000 -0.5744796170227803
532+525 5.24000000 -0.5733842843164384
533+526 5.25000000 -0.5722913069830365
534+527 5.26000000 -0.5712006805022869
535+528 5.27000000 -0.5701124053221036
536+529 5.28000000 -0.5690264867565138
537+530 5.29000000 -0.5679429348708774
538+531 5.30000000 -0.5668617643548723
539+532 5.31000000 -0.5657829943836968
540+533 5.32000000 -0.5647066484680447
541+534 5.33000000 -0.5636327542933366
542+535 5.34000000 -0.5625613435487642
543+536 5.35000000 -0.5614924517467808
544+537 5.36000000 -0.5604261180335940
545+538 5.37000000 -0.5593623849912819
546+539 5.38000000 -0.5583012984322311
547+540 5.39000000 -0.5572429071864800
548+541 5.40000000 -0.5561872628827036
549+542 5.41000000 -0.5551344197234898
550+543 5.42000000 -0.5540844342556168
551+544 5.43000000 -0.5530373651360195
552+545 5.44000000 -0.5519932728941542
553+546 5.45000000 -0.5509522196915181
554+547 5.46000000 -0.5499142690789702
555+548 5.47000000 -0.5488794857525836
556+549 5.48000000 -0.5478479353087802
557+550 5.49000000 -0.5468196839994153
558+551 5.50000000 -0.5457947984875080
559+552 5.51000000 -0.5447733456043409
560+553 5.52000000 -0.5437553921085484
561+554 5.53000000 -0.5427410044479369
562+555 5.54000000 -0.5417302485246275
563+556 5.55000000 -0.5407231894641835
564+557 5.56000000 -0.5397198913893489
565+558 5.57000000 -0.5387204171989798
566+559 5.58000000 -0.5377248283527700
567+560 5.59000000 -0.5367331846622566
568+561 5.60000000 -0.5357455440888013
569+562 5.61000000 -0.5347619625488513
570+563 5.62000000 -0.5337824937271018
571+564 5.63000000 -0.5328071888979985
572+565 5.64000000 -0.5318360967559148
573+566 5.65000000 -0.5308692632545621
574+567 5.66000000 -0.5299067314558179
575+568 5.67000000 -0.5289485413884416
576+569 5.68000000 -0.5279947299169682
577+570 5.69000000 -0.5270453306209485
578+571 5.70000000 -0.5261003736849214
579+572 5.71000000 -0.5251598857992242
580+573 5.72000000 -0.5242238900718492
581+574 5.73000000 -0.5232924059514902
582+575 5.74000000 -0.5223654491618834
583+576 5.75000000 -0.5214430316475097
584+577 5.76000000 -0.5205251615307273
585+578 5.77000000 -0.5196118430802460
586+579 5.78000000 -0.5187030766911221
587+580 5.79000000 -0.5177988588759513
588+581 5.80000000 -0.5168991822673915
589+582 5.81000000 -0.5160040356317868
590+583 5.82000000 -0.5151134038937297
591+584 5.83000000 -0.5142272681714981
592+585 5.84000000 -0.5133456058229590
593+586 5.85000000 -0.5124683905019088
594+587 5.86000000 -0.5115955922244644
595+588 5.87000000 -0.5107271774452187
596+589 5.88000000 -0.5098631091428676
597+590 5.89000000 -0.5090033469149943
598+591 5.90000000 -0.5081478470815939
599+592 5.91000000 -0.5072965627969759
600+593 5.92000000 -0.5064494441696443
601+594 5.93000000 -0.5056064383897496
602+595 5.94000000 -0.5047674898636145
603+596 5.95000000 -0.5039325403549237
604+597 5.96000000 -0.5031015291321180
605+598 5.97000000 -0.5022743931214598
606+599 5.98000000 -0.5014510670653033
607+600 5.99000000 -0.5006314836850793
608+601 6.00000000 -0.4998155738484235
609+602 6.01000000 -0.4990032667400221
610+603 6.02000000 -0.4981944900355451
611+604 6.03000000 -0.4973891700781984
612+605 6.04000000 -0.4965872320573801
613+606 6.05000000 -0.4957886001888328
614+607 6.06000000 -0.4949931978958675
615+608 6.07000000 -0.4942009479910116
616+609 6.08000000 -0.4934117728576669
617+610 6.09000000 -0.4926255946312023
618+611 6.10000000 -0.4918423353789401
619+612 6.11000000 -0.4910619172786482
620+613 6.12000000 -0.4902842627948786
621+614 6.13000000 -0.4895092948528336
622+615 6.14000000 -0.4887369370091961
623+616 6.15000000 -0.4879671136194543
624+617 6.16000000 -0.4871997500013748
625+618 6.17000000 -0.4864347725940851
626+619 6.18000000 -0.4856721091124353
627+620 6.19000000 -0.4849116886962498
628+621 6.20000000 -0.4841534420540047
629+622 6.21000000 -0.4833973016007091
630+623 6.22000000 -0.4826432015895774
631+624 6.23000000 -0.4818910782371949
632+625 6.24000000 -0.4811408698418936
633+626 6.25000000 -0.4803925168951192
634+627 6.26000000 -0.4796459621854352
635+628 6.27000000 -0.4789011508950951
636+629 6.28000000 -0.4781580306888413
637+630 6.29000000 -0.4774165517948823
638+631 6.30000000 -0.4766766670778180
639+632 6.31000000 -0.4759383321034660
640+633 6.32000000 -0.4752015051954052
641+634 6.33000000 -0.4744661474832486
642+635 6.34000000 -0.4737322229425811
643+636 6.35000000 -0.4729996984264798
644+637 6.36000000 -0.4722685436887248
645+638 6.37000000 -0.4715387313986162
646+639 6.38000000 -0.4708102371475754
647+640 6.39000000 -0.4700830394474542
648+641 6.40000000 -0.4693571197208078
649+642 6.41000000 -0.4686324622831275
650+643 6.42000000 -0.4679090543172547
651+644 6.43000000 -0.4671868858401131
652+645 6.44000000 -0.4664659496618880
653+646 6.45000000 -0.4657462413380205
654+647 6.46000000 -0.4649646116855852
655+648 6.47000000 -0.4641841063365487
656+649 6.48000000 -0.4634050242026713
657+650 6.49000000 -0.4626276602171345
658+651 6.50000000 -0.4618523040832441
659+652 6.51000000 -0.4610792390690892
660+653 6.52000000 -0.4603087408521891
661+654 6.53000000 -0.4595410764180075
662+655 6.54000000 -0.4587765030158620
663+656 6.55000000 -0.4580152671755725
664+657 6.56000000 -0.4573170731707317
665+658 6.57000000 -0.4566210045662100
666+659 6.58000000 -0.4559270516717325
667+660 6.59000000 -0.4552352048558422
668+661 6.60000000 -0.4545454545454545
669+662 6.61000000 -0.4538577912254160
670+663 6.62000000 -0.4531722054380665
671+664 6.63000000 -0.4524886877828054
672+665 6.64000000 -0.4518072289156626
673+666 6.65000000 -0.4511278195488722
674+667 6.66000000 -0.4504504504504505
675+668 6.67000000 -0.4497751124437781
676+669 6.68000000 -0.4491017964071857
677+670 6.69000000 -0.4484304932735426
678+671 6.70000000 -0.4477611940298508
679+672 6.71000000 -0.4470938897168406
680+673 6.72000000 -0.4464285714285715
681+674 6.73000000 -0.4457652303120356
682+675 6.74000000 -0.4451038575667656
683+676 6.75000000 -0.4444444444444444
684+677 6.76000000 -0.4437869822485207
685+678 6.77000000 -0.4431314623338257
686+679 6.78000000 -0.4424778761061947
687+680 6.79000000 -0.4418262150220913
688+681 6.80000000 -0.4411764705882353
689+682 6.81000000 -0.4405286343612335
690+683 6.82000000 -0.4398826979472141
691+684 6.83000000 -0.4392386530014641
692+685 6.84000000 -0.4385964912280702
693+686 6.85000000 -0.4379562043795620
694+687 6.86000000 -0.4373177842565598
695+688 6.87000000 -0.4366812227074236
696+689 6.88000000 -0.4360465116279070
697+690 6.89000000 -0.4354136429608128
698+691 6.90000000 -0.4347826086956522
699+692 6.91000000 -0.4341534008683068
700+693 6.92000000 -0.4335260115606936
701+694 6.93000000 -0.4329004329004329
702+695 6.94000000 -0.4322766570605187
703+696 6.95000000 -0.4316546762589928
704+697 6.96000000 -0.4310344827586207
705+698 6.97000000 -0.4304160688665710
706+699 6.98000000 -0.4297994269340974
707+700 6.99000000 -0.4291845493562232
708+701 7.00000000 -0.4285714285714285
709+702 7.01000000 -0.4279600570613409
710+703 7.02000000 -0.4273504273504273
711+704 7.03000000 -0.4267425320056899
712+705 7.04000000 -0.4261363636363636
713+706 7.05000000 -0.4255319148936170
714+707 7.06000000 -0.4249291784702549
715+708 7.07000000 -0.4243281471004243
716+709 7.08000000 -0.4237288135593220
717+710 7.09000000 -0.4231311706629055
718+711 7.10000000 -0.4225352112676056
719+712 7.11000000 -0.4219409282700421
720+713 7.12000000 -0.4213483146067415
721+714 7.13000000 -0.4207573632538569
722+715 7.14000000 -0.4201680672268907
723+716 7.15000000 -0.4195804195804196
724+717 7.16000000 -0.4189944134078212
725+718 7.17000000 -0.4184100418410042
726+719 7.18000000 -0.4178272980501393
727+720 7.19000000 -0.4172461752433936
728+721 7.20000000 -0.4166666666666666
729+722 7.21000000 -0.4160887656033287
730+723 7.22000000 -0.4155124653739612
731+724 7.23000000 -0.4149377593360996
732+725 7.24000000 -0.4143646408839779
733+726 7.25000000 -0.4137931034482759
734+727 7.26000000 -0.4132231404958678
735+728 7.27000000 -0.4126547455295735
736+729 7.28000000 -0.4120879120879121
737+730 7.29000000 -0.4115226337448560
738+731 7.30000000 -0.4109589041095891
739+732 7.31000000 -0.4103967168262654
740+733 7.32000000 -0.4098360655737705
741+734 7.33000000 -0.4092769440654843
742+735 7.34000000 -0.4087193460490463
743+736 7.35000000 -0.4081632653061224
744+737 7.36000000 -0.4076086956521739
745+738 7.37000000 -0.4070556309362279
746+739 7.38000000 -0.4065040650406504
747+740 7.39000000 -0.4059539918809201
748+741 7.40000000 -0.4054054054054054
749+742 7.41000000 -0.4048582995951417
750+743 7.42000000 -0.4043126684636119
751+744 7.43000000 -0.4037685060565276
752+745 7.44000000 -0.4032258064516129
753+746 7.45000000 -0.4026845637583892
754+747 7.46000000 -0.4021447721179625
755+748 7.47000000 -0.4016064257028112
756+749 7.48000000 -0.4010695187165775
757+750 7.49000000 -0.4005340453938585
758+751 7.50000000 -0.4000000000000000
759+752 7.51000000 -0.3994673768308922
760+753 7.52000000 -0.3989361702127660
761+754 7.53000000 -0.3984063745019920
762+755 7.54000000 -0.3978779840848806
763+756 7.55000000 -0.3973509933774835
764+757 7.56000000 -0.3968253968253968
765+758 7.57000000 -0.3963011889035667
766+759 7.58000000 -0.3957783641160950
767+760 7.59000000 -0.3952569169960474
768+761 7.60000000 -0.3947368421052631
769+762 7.61000000 -0.3942181340341656
770+763 7.62000000 -0.3937007874015748
771+764 7.63000000 -0.3931847968545216
772+765 7.64000000 -0.3926701570680628
773+766 7.65000000 -0.3921568627450980
774+767 7.66000000 -0.3916449086161880
775+768 7.67000000 -0.3911342894393742
776+769 7.68000000 -0.3906250000000000
777+770 7.69000000 -0.3901170351105331
778+771 7.70000000 -0.3896103896103896
779+772 7.71000000 -0.3891050583657588
780+773 7.72000000 -0.3886010362694300
781+774 7.73000000 -0.3880983182406209
782+775 7.74000000 -0.3875968992248062
783+776 7.75000000 -0.3870967741935484
784+777 7.76000000 -0.3865979381443299
785+778 7.77000000 -0.3861003861003861
786+779 7.78000000 -0.3856041131105398
787+780 7.79000000 -0.3851091142490372
788+781 7.80000000 -0.3846153846153846
789+782 7.81000000 -0.3841229193341869
790+783 7.82000000 -0.3836317135549872
791+784 7.83000000 -0.3831417624521073
792+785 7.84000000 -0.3826530612244898
793+786 7.85000000 -0.3821656050955414
794+787 7.86000000 -0.3816793893129771
795+788 7.87000000 -0.3811944091486658
796+789 7.88000000 -0.3807106598984772
797+790 7.89000000 -0.3802281368821293
798+791 7.90000000 -0.3797468354430379
799+792 7.91000000 -0.3792667509481669
800+793 7.92000000 -0.3787878787878788
801+794 7.93000000 -0.3783102143757881
802+795 7.94000000 -0.3778337531486146
803+796 7.95000000 -0.3773584905660377
804+797 7.96000000 -0.3768844221105528
805+798 7.97000000 -0.3764115432873275
806+799 7.98000000 -0.3759398496240601
807+800 7.99000000 -0.3754693366708385
808+801 8.00000000 -0.3750000000000000
809+802 8.01000000 -0.3745318352059925
810+803 8.02000000 -0.3740648379052369
811+804 8.03000000 -0.3735990037359900
812+805 8.04000000 -0.3731343283582090
813+806 8.05000000 -0.3726708074534161
814+807 8.06000000 -0.3722084367245658
815+808 8.07000000 -0.3717472118959108
816+809 8.08000000 -0.3712871287128713
817+810 8.09000000 -0.3708281829419036
818+811 8.10000000 -0.3703703703703704
819+812 8.11000000 -0.3699136868064118
820+813 8.12000000 -0.3694581280788177
821+814 8.13000000 -0.3690036900369004
822+815 8.14000000 -0.3685503685503685
823+816 8.15000000 -0.3680981595092025
824+817 8.16000000 -0.3676470588235294
825+818 8.17000000 -0.3671970624235006
826+819 8.18000000 -0.3667481662591687
827+820 8.19000000 -0.3663003663003663
828+821 8.20000000 -0.3658536585365854
829+822 8.21000000 -0.3654080389768575
830+823 8.22000000 -0.3649635036496351
831+824 8.23000000 -0.3645200486026731
832+825 8.24000000 -0.3640776699029126
833+826 8.25000000 -0.3636363636363636
834+827 8.26000000 -0.3631961259079903
835+828 8.27000000 -0.3627569528415961
836+829 8.28000000 -0.3623188405797101
837+830 8.29000000 -0.3618817852834741
838+831 8.30000000 -0.3614457831325301
839+832 8.31000000 -0.3610108303249098
840+833 8.32000000 -0.3605769230769231
841+834 8.33000000 -0.3601440576230492
842+835 8.34000000 -0.3597122302158273
843+836 8.35000000 -0.3592814371257485
844+837 8.36000000 -0.3588516746411484
845+838 8.37000000 -0.3584229390681003
846+839 8.38000000 -0.3579952267303103
847+840 8.39000000 -0.3575685339690107
848+841 8.40000000 -0.3571428571428572
849+842 8.41000000 -0.3567181926278240
850+843 8.42000000 -0.3562945368171022
851+844 8.43000000 -0.3558718861209965
852+845 8.44000000 -0.3554502369668247
853+846 8.45000000 -0.3550295857988166
854+847 8.46000000 -0.3546099290780141
855+848 8.47000000 -0.3541912632821724
856+849 8.48000000 -0.3537735849056604
857+850 8.49000000 -0.3533568904593640
858+851 8.50000000 -0.3529411764705883
859+852 8.51000000 -0.3525264394829613
860+853 8.52000000 -0.3521126760563381
861+854 8.53000000 -0.3516998827667057
862+855 8.54000000 -0.3512880562060890
863+856 8.55000000 -0.3508771929824561
864+857 8.56000000 -0.3504672897196262
865+858 8.57000000 -0.3500583430571762
866+859 8.58000000 -0.3496503496503496
867+860 8.59000000 -0.3492433061699651
868+861 8.60000000 -0.3488372093023256
869+862 8.61000000 -0.3484320557491289
870+863 8.62000000 -0.3480278422273781
871+864 8.63000000 -0.3476245654692932
872+865 8.64000000 -0.3472222222222222
873+866 8.65000000 -0.3468208092485550
874+867 8.66000000 -0.3464203233256351
875+868 8.67000000 -0.3460207612456748
876+869 8.68000000 -0.3456221198156682
877+870 8.69000000 -0.3452243958573072
878+871 8.70000000 -0.3448275862068966
879+872 8.71000000 -0.3444316877152698
880+873 8.72000000 -0.3440366972477065
881+874 8.73000000 -0.3436426116838488
882+875 8.74000000 -0.3432494279176201
883+876 8.75000000 -0.3428571428571429
884+877 8.76000000 -0.3424657534246575
885+878 8.77000000 -0.3420752565564424
886+879 8.78000000 -0.3416856492027334
887+880 8.79000000 -0.3412969283276451
888+881 8.80000000 -0.3409090909090909
889+882 8.81000000 -0.3405221339387061
890+883 8.82000000 -0.3401360544217687
891+884 8.83000000 -0.3397508493771235
892+885 8.84000000 -0.3393665158371041
893+886 8.85000000 -0.3389830508474577
894+887 8.86000000 -0.3386004514672686
895+888 8.87000000 -0.3382187147688838
896+889 8.88000000 -0.3378378378378379
897+890 8.89000000 -0.3374578177727784
898+891 8.90000000 -0.3370786516853933
899+892 8.91000000 -0.3367003367003367
900+893 8.92000000 -0.3363228699551570
901+894 8.93000000 -0.3359462486002240
902+895 8.94000000 -0.3355704697986577
903+896 8.95000000 -0.3351955307262570
904+897 8.96000000 -0.3348214285714285
905+898 8.97000000 -0.3344481605351171
906+899 8.98000000 -0.3340757238307350
907+900 8.99000000 -0.3337041156840934
908+901 9.00000000 -0.3333333333333333
909+902 9.01000000 -0.3329633740288568
910+903 9.02000000 -0.3325942350332595
911+904 9.03000000 -0.3322259136212624
912+905 9.04000000 -0.3318584070796460
913+906 9.05000000 -0.3314917127071823
914+907 9.06000000 -0.3311258278145696
915+908 9.07000000 -0.3307607497243660
916+909 9.08000000 -0.3303964757709251
917+910 9.09000000 -0.3300330033003300
918+911 9.10000000 -0.3296703296703297
919+912 9.11000000 -0.3293084522502744
920+913 9.12000000 -0.3289473684210526
921+914 9.13000000 -0.3285870755750274
922+915 9.14000000 -0.3282275711159737
923+916 9.15000000 -0.3278688524590164
924+917 9.16000000 -0.3275109170305677
925+918 9.17000000 -0.3271537622682661
926+919 9.18000000 -0.3267973856209150
927+920 9.19000000 -0.3264417845484222
928+921 9.20000000 -0.3260869565217391
929+922 9.21000000 -0.3257328990228013
930+923 9.22000000 -0.3253796095444686
931+924 9.23000000 -0.3250270855904658
932+925 9.24000000 -0.3246753246753247
933+926 9.25000000 -0.3243243243243243
934+927 9.26000000 -0.3239740820734341
935+928 9.27000000 -0.3236245954692557
936+929 9.28000000 -0.3232758620689655
937+930 9.29000000 -0.3229278794402584
938+931 9.30000000 -0.3225806451612903
939+932 9.31000000 -0.3222341568206230
940+933 9.32000000 -0.3218884120171674
941+934 9.33000000 -0.3215434083601286
942+935 9.34000000 -0.3211991434689507
943+936 9.35000000 -0.3208556149732620
944+937 9.36000000 -0.3205128205128205
945+938 9.37000000 -0.3201707577374600
946+939 9.38000000 -0.3198294243070363
947+940 9.39000000 -0.3194888178913738
948+941 9.40000000 -0.3191489361702128
949+942 9.41000000 -0.3188097768331562
950+943 9.42000000 -0.3184713375796178
951+944 9.43000000 -0.3181336161187699
952+945 9.44000000 -0.3177966101694916
953+946 9.45000000 -0.3174603174603175
954+947 9.46000000 -0.3171247357293869
955+948 9.47000000 -0.3167898627243929
956+949 9.48000000 -0.3164556962025316
957+950 9.49000000 -0.3161222339304531
958+951 9.50000000 -0.3157894736842105
959+952 9.51000000 -0.3154574132492113
960+953 9.52000000 -0.3151260504201681
961+954 9.53000000 -0.3147953830010493
962+955 9.54000000 -0.3144654088050315
963+956 9.55000000 -0.3141361256544503
964+957 9.56000000 -0.3138075313807532
965+958 9.57000000 -0.3134796238244514
966+959 9.58000000 -0.3131524008350731
967+960 9.59000000 -0.3128258602711158
968+961 9.60000000 -0.3125000000000000
969+962 9.61000000 -0.3121748178980229
970+963 9.62000000 -0.3118503118503118
971+964 9.63000000 -0.3115264797507789
972+965 9.64000000 -0.3112033195020747
973+966 9.65000000 -0.3108808290155441
974+967 9.66000000 -0.3105590062111801
975+968 9.67000000 -0.3102378490175802
976+969 9.68000000 -0.3099173553719008
977+970 9.69000000 -0.3095975232198143
978+971 9.70000000 -0.3092783505154639
979+972 9.71000000 -0.3089598352214212
980+973 9.72000000 -0.3086419753086420
981+974 9.73000000 -0.3083247687564234
982+975 9.74000000 -0.3080082135523614
983+976 9.75000000 -0.3076923076923077
984+977 9.76000000 -0.3073770491803279
985+978 9.77000000 -0.3070624360286592
986+979 9.78000000 -0.3067484662576687
987+980 9.79000000 -0.3064351378958121
988+981 9.80000000 -0.3061224489795918
989+982 9.81000000 -0.3058103975535169
990+983 9.82000000 -0.3054989816700611
991+984 9.83000000 -0.3051881993896236
992+985 9.84000000 -0.3048780487804878
993+986 9.85000000 -0.3045685279187818
994+987 9.86000000 -0.3042596348884382
995+988 9.87000000 -0.3039513677811550
996+989 9.88000000 -0.3036437246963563
997+990 9.89000000 -0.3033367037411527
998+991 9.90000000 -0.3030303030303031
999+992 9.91000000 -0.3027245206861756
1000+993 9.92000000 -0.3024193548387097
1001+994 9.93000000 -0.3021148036253776
1002+995 9.94000000 -0.3018108651911469
1003+996 9.95000000 -0.3015075376884422
1004+997 9.96000000 -0.3012048192771084
1005+998 9.97000000 -0.3009027081243731
1006+999 9.98000000 -0.3006012024048096
1007+1000 9.99000000 -0.3003003003003003
1008+1001 10.00000000 -0.3000000000000000
1009+1002 10.01000000 -0.2997002997002997
1010+1003 10.02000000 -0.2994011976047904
1011+1004 10.03000000 -0.2991026919242273
1012+1005 10.04000000 -0.2988047808764940
1013+1006 10.05000000 -0.2985074626865671
1014+1007 10.06000000 -0.2982107355864811
1015+1008 10.07000000 -0.2979145978152929
1016+1009 10.08000000 -0.2976190476190476
1017+1010 10.09000000 -0.2973240832507433
1018+1011 10.10000000 -0.2970297029702970
1019+1012 10.11000000 -0.2967359050445104
1020+1013 10.12000000 -0.2964426877470355
1021+1014 10.13000000 -0.2961500493583416
1022+1015 10.14000000 -0.2958579881656804
1023+1016 10.15000000 -0.2955665024630542
1024+1017 10.16000000 -0.2952755905511811
1025+1018 10.17000000 -0.2949852507374631
1026+1019 10.18000000 -0.2946954813359529
1027+1020 10.19000000 -0.2944062806673209
1028+1021 10.20000000 -0.2941176470588235
1029+1022 10.21000000 -0.2938295788442703
1030+1023 10.22000000 -0.2935420743639922
1031+1024 10.23000000 -0.2932551319648093
1032+1025 10.24000000 -0.2929687500000000
1033+1026 10.25000000 -0.2926829268292683
1034+1027 10.26000000 -0.2923976608187134
1035+1028 10.27000000 -0.2921129503407984
1036+1029 10.28000000 -0.2918287937743190
1037+1030 10.29000000 -0.2915451895043732
1038+1031 10.30000000 -0.2912621359223301
1039+1032 10.31000000 -0.2909796314258002
1040+1033 10.32000000 -0.2906976744186047
1041+1034 10.33000000 -0.2904162633107454
1042+1035 10.34000000 -0.2901353965183752
1043+1036 10.35000000 -0.2898550724637681
1044+1037 10.36000000 -0.2895752895752896
1045+1038 10.37000000 -0.2892960462873674
1046+1039 10.38000000 -0.2890173410404624
1047+1040 10.39000000 -0.2887391722810395
1048+1041 10.40000000 -0.2884615384615385
1049+1042 10.41000000 -0.2881844380403458
1050+1043 10.42000000 -0.2879078694817658
1051+1044 10.43000000 -0.2876318312559923
1052+1045 10.44000000 -0.2873563218390805
1053+1046 10.45000000 -0.2870813397129187
1054+1047 10.46000000 -0.2868068833652007
1055+1048 10.47000000 -0.2865329512893983
1056+1049 10.48000000 -0.2862595419847328
1057+1050 10.49000000 -0.2859866539561487
1058+1051 10.50000000 -0.2857142857142857
1059+1052 10.51000000 -0.2854424357754520
1060+1053 10.52000000 -0.2851711026615970
1061+1054 10.53000000 -0.2849002849002849
1062+1055 10.54000000 -0.2846299810246680
1063+1056 10.55000000 -0.2843601895734597
1064+1057 10.56000000 -0.2840909090909091
1065+1058 10.57000000 -0.2838221381267739
1066+1059 10.58000000 -0.2835538752362949
1067+1060 10.59000000 -0.2832861189801700
1068+1061 10.60000000 -0.2830188679245283
1069+1062 10.61000000 -0.2827521206409048
1070+1063 10.62000000 -0.2824858757062146
1071+1064 10.63000000 -0.2822201317027281
1072+1065 10.64000000 -0.2819548872180451
1073+1066 10.65000000 -0.2816901408450704
1074+1067 10.66000000 -0.2814258911819887
1075+1068 10.67000000 -0.2811621368322400
1076+1069 10.68000000 -0.2808988764044944
1077+1070 10.69000000 -0.2806361085126287
1078+1071 10.70000000 -0.2803738317757010
1079+1072 10.71000000 -0.2801120448179272
1080+1073 10.72000000 -0.2798507462686567
1081+1074 10.73000000 -0.2795899347623486
1082+1075 10.74000000 -0.2793296089385475
1083+1076 10.75000000 -0.2790697674418605
1084+1077 10.76000000 -0.2788104089219331
1085+1078 10.77000000 -0.2785515320334262
1086+1079 10.78000000 -0.2782931354359925
1087+1080 10.79000000 -0.2780352177942539
1088+1081 10.80000000 -0.2777777777777777
1089+1082 10.81000000 -0.2775208140610546
1090+1083 10.82000000 -0.2772643253234751
1091+1084 10.83000000 -0.2770083102493075
1092+1085 10.84000000 -0.2767527675276753
1093+1086 10.85000000 -0.2764976958525346
1094+1087 10.86000000 -0.2762430939226519
1095+1088 10.87000000 -0.2759889604415823
1096+1089 10.88000000 -0.2757352941176471
1097+1090 10.89000000 -0.2754820936639119
1098+1091 10.90000000 -0.2752293577981652
1099+1092 10.91000000 -0.2749770852428964
1100+1093 10.92000000 -0.2747252747252747
1101+1094 10.93000000 -0.2744739249771272
1102+1095 10.94000000 -0.2742230347349178
1103+1096 10.95000000 -0.2739726027397261
1104+1097 10.96000000 -0.2737226277372263
1105+1098 10.97000000 -0.2734731084776664
1106+1099 10.98000000 -0.2732240437158470
1107+1100 10.99000000 -0.2729754322111010
1108+1101 11.00000000 -0.2727272727272727
1109+1102 11.01000000 -0.2724795640326976
1110+1103 11.02000000 -0.2722323049001815
1111+1104 11.03000000 -0.2719854941069809
1112+1105 11.04000000 -0.2717391304347826
1113+1106 11.05000000 -0.2714932126696832
1114+1107 11.06000000 -0.2712477396021700
1115+1108 11.07000000 -0.2710027100271002
1116+1109 11.08000000 -0.2707581227436823
1117+1110 11.09000000 -0.2705139765554554
1118+1111 11.10000000 -0.2702702702702703
1119+1112 11.11000000 -0.2700270027002700
1120+1113 11.12000000 -0.2697841726618705
1121+1114 11.13000000 -0.2695417789757413
1122+1115 11.14000000 -0.2692998204667864
1123+1116 11.15000000 -0.2690582959641256
1124+1117 11.16000000 -0.2688172043010753
1125+1118 11.17000000 -0.2685765443151298
1126+1119 11.18000000 -0.2683363148479427
1127+1120 11.19000000 -0.2680965147453083
1128+1121 11.20000000 -0.2678571428571428
1129+1122 11.21000000 -0.2676181980374665
1130+1123 11.22000000 -0.2673796791443850
1131+1124 11.23000000 -0.2671415850400712
1132+1125 11.24000000 -0.2669039145907473
1133+1126 11.25000000 -0.2666666666666667
1134+1127 11.26000000 -0.2664298401420959
1135+1128 11.27000000 -0.2661934338952973
1136+1129 11.28000000 -0.2659574468085106
1137+1130 11.29000000 -0.2657218777679363
1138+1131 11.30000000 -0.2654867256637168
1139+1132 11.31000000 -0.2652519893899205
1140+1133 11.32000000 -0.2650176678445230
1141+1134 11.33000000 -0.2647837599293910
1142+1135 11.34000000 -0.2645502645502645
1143+1136 11.35000000 -0.2643171806167401
1144+1137 11.36000000 -0.2640845070422536
1145+1138 11.37000000 -0.2638522427440633
1146+1139 11.38000000 -0.2636203866432338
1147+1140 11.39000000 -0.2633889376646181
1148+1141 11.40000000 -0.2631578947368421
1149+1142 11.41000000 -0.2629272567922875
1150+1143 11.42000000 -0.2626970227670753
1151+1144 11.43000000 -0.2624671916010499
1152+1145 11.44000000 -0.2622377622377622
1153+1146 11.45000000 -0.2620087336244541
1154+1147 11.46000000 -0.2617801047120419
1155+1148 11.47000000 -0.2615518744551003
1156+1149 11.48000000 -0.2613240418118467
1157+1150 11.49000000 -0.2610966057441253
1158+1151 11.50000000 -0.2608695652173913
1159+1152 11.51000000 -0.2606429192006950
1160+1153 11.52000000 -0.2604166666666667
1161+1154 11.53000000 -0.2601908065915004
1162+1155 11.54000000 -0.2599653379549394
1163+1156 11.55000000 -0.2597402597402597
1164+1157 11.56000000 -0.2595155709342561
1165+1158 11.57000000 -0.2592912705272256
1166+1159 11.58000000 -0.2590673575129533
1167+1160 11.59000000 -0.2588438308886972
1168+1161 11.60000000 -0.2586206896551724
1169+1162 11.61000000 -0.2583979328165375
1170+1163 11.62000000 -0.2581755593803786
1171+1164 11.63000000 -0.2579535683576956
1172+1165 11.64000000 -0.2577319587628866
1173+1166 11.65000000 -0.2575107296137339
1174+1167 11.66000000 -0.2572898799313894
1175+1168 11.67000000 -0.2570694087403599
1176+1169 11.68000000 -0.2568493150684932
1177+1170 11.69000000 -0.2566295979469632
1178+1171 11.70000000 -0.2564102564102564
1179+1172 11.71000000 -0.2561912894961571
1180+1173 11.72000000 -0.2559726962457338
1181+1174 11.73000000 -0.2557544757033248
1182+1175 11.74000000 -0.2555366269165247
1183+1176 11.75000000 -0.2553191489361702
1184+1177 11.76000000 -0.2551020408163265
1185+1178 11.77000000 -0.2548853016142736
1186+1179 11.78000000 -0.2546689303904923
1187+1180 11.79000000 -0.2544529262086514
1188+1181 11.80000000 -0.2542372881355932
1189+1182 11.81000000 -0.2540220152413210
1190+1183 11.82000000 -0.2538071065989848
1191+1184 11.83000000 -0.2535925612848690
1192+1185 11.84000000 -0.2533783783783784
1193+1186 11.85000000 -0.2531645569620253
1194+1187 11.86000000 -0.2529510961214165
1195+1188 11.87000000 -0.2527379949452401
1196+1189 11.88000000 -0.2525252525252525
1197+1190 11.89000000 -0.2523128679562658
1198+1191 11.90000000 -0.2521008403361344
1199+1192 11.91000000 -0.2518891687657431
1200+1193 11.92000000 -0.2516778523489933
1201+1194 11.93000000 -0.2514668901927913
1202+1195 11.94000000 -0.2512562814070352
1203+1196 11.95000000 -0.2510460251046025
1204+1197 11.96000000 -0.2508361204013378
1205+1198 11.97000000 -0.2506265664160401
1206+1199 11.98000000 -0.2504173622704507
1207+1200 11.99000000 -0.2502085070892410
1208+1201 12.00000000 -0.2500000000000000
1209+1202 12.01000000 -0.2497918401332223
1210+1203 12.02000000 -0.2495840266222962
1211+1204 12.03000000 -0.2493765586034913
1212+1205 12.04000000 -0.2491694352159469
1213+1206 12.05000000 -0.2489626556016597
1214+1207 12.06000000 -0.2487562189054726
1215+1208 12.07000000 -0.2485501242750621
1216+1209 12.08000000 -0.2483443708609271
1217+1210 12.09000000 -0.2481389578163772
1218+1211 12.10000000 -0.2479338842975207
1219+1212 12.11000000 -0.2477291494632535
1220+1213 12.12000000 -0.2475247524752475
1221+1214 12.13000000 -0.2473206924979390
1222+1215 12.14000000 -0.2471169686985173
1223+1216 12.15000000 -0.2469135802469136
1224+1217 12.16000000 -0.2467105263157895
1225+1218 12.17000000 -0.2465078060805259
1226+1219 12.18000000 -0.2463054187192118
1227+1220 12.19000000 -0.2461033634126333
1228+1221 12.20000000 -0.2459016393442623
1229+1222 12.21000000 -0.2457002457002457
1230+1223 12.22000000 -0.2454991816693945
1231+1224 12.23000000 -0.2452984464431725
1232+1225 12.24000000 -0.2450980392156863
1233+1226 12.25000000 -0.2448979591836735
1234+1227 12.26000000 -0.2446982055464927
1235+1228 12.27000000 -0.2444987775061125
1236+1229 12.28000000 -0.2442996742671010
1237+1230 12.29000000 -0.2441008950366151
1238+1231 12.30000000 -0.2439024390243902
1239+1232 12.31000000 -0.2437043054427295
1240+1233 12.32000000 -0.2435064935064935
1241+1234 12.33000000 -0.2433090024330900
1242+1235 12.34000000 -0.2431118314424635
1243+1236 12.35000000 -0.2429149797570850
1244+1237 12.36000000 -0.2427184466019418
1245+1238 12.37000000 -0.2425222312045271
1246+1239 12.38000000 -0.2423263327948304
1247+1240 12.39000000 -0.2421307506053269
1248+1241 12.40000000 -0.2419354838709677
1249+1242 12.41000000 -0.2417405318291700
1250+1243 12.42000000 -0.2415458937198068
1251+1244 12.43000000 -0.2413515687851971
1252+1245 12.44000000 -0.2411575562700965
1253+1246 12.45000000 -0.2409638554216868
1254+1247 12.46000000 -0.2407704654895666
1255+1248 12.47000000 -0.2405773857257418
1256+1249 12.48000000 -0.2403846153846154
1257+1250 12.49000000 -0.2401921537229784
1258+1251 12.50000000 -0.2400000000000000
1259+1252 12.51000000 -0.2398081534772182
1260+1253 12.52000000 -0.2396166134185304
1261+1254 12.53000000 -0.2394253790901836
1262+1255 12.54000000 -0.2392344497607656
1263+1256 12.55000000 -0.2390438247011952
1264+1257 12.56000000 -0.2388535031847134
1265+1258 12.57000000 -0.2386634844868735
1266+1259 12.58000000 -0.2384737678855326
1267+1260 12.59000000 -0.2382843526608419
1268+1261 12.60000000 -0.2380952380952381
1269+1262 12.61000000 -0.2379064234734338
1270+1263 12.62000000 -0.2377179080824089
1271+1264 12.63000000 -0.2375296912114014
1272+1265 12.64000000 -0.2373417721518987
1273+1266 12.65000000 -0.2371541501976284
1274+1267 12.66000000 -0.2369668246445498
1275+1268 12.67000000 -0.2367797947908445
1276+1269 12.68000000 -0.2365930599369085
1277+1270 12.69000000 -0.2364066193853428
1278+1271 12.70000000 -0.2362204724409449
1279+1272 12.71000000 -0.2360346184107002
1280+1273 12.72000000 -0.2358490566037736
1281+1274 12.73000000 -0.2356637863315004
1282+1275 12.74000000 -0.2354788069073783
1283+1276 12.75000000 -0.2352941176470588
1284+1277 12.76000000 -0.2351097178683386
1285+1278 12.77000000 -0.2349256068911511
1286+1279 12.78000000 -0.2347417840375587
1287+1280 12.79000000 -0.2345582486317436
1288+1281 12.80000000 -0.2343750000000000
1289+1282 12.81000000 -0.2341920374707260
1290+1283 12.82000000 -0.2340093603744150
1291+1284 12.83000000 -0.2338269680436477
1292+1285 12.84000000 -0.2336448598130841
1293+1286 12.85000000 -0.2334630350194553
1294+1287 12.86000000 -0.2332814930015552
1295+1288 12.87000000 -0.2331002331002331
1296+1289 12.88000000 -0.2329192546583851
1297+1290 12.89000000 -0.2327385570209465
1298+1291 12.90000000 -0.2325581395348837
1299+1292 12.91000000 -0.2323780015491867
1300+1293 12.92000000 -0.2321981424148607
1301+1294 12.93000000 -0.2320185614849188
1302+1295 12.94000000 -0.2318392581143740
1303+1296 12.95000000 -0.2316602316602317
1304+1297 12.96000000 -0.2314814814814815
1305+1298 12.97000000 -0.2313030069390902
1306+1299 12.98000000 -0.2311248073959938
1307+1300 12.99000000 -0.2309468822170901
1308+1301 13.00000000 -0.2307692307692308
1309+1302 13.01000000 -0.2305918524212145
1310+1303 13.02000000 -0.2304147465437788
1311+1304 13.03000000 -0.2302379125095932
1312+1305 13.04000000 -0.2300613496932515
1313+1306 13.05000000 -0.2298850574712644
1314+1307 13.06000000 -0.2297090352220520
1315+1308 13.07000000 -0.2295332823259373
1316+1309 13.08000000 -0.2293577981651376
1317+1310 13.09000000 -0.2291825821237586
1318+1311 13.10000000 -0.2290076335877863
1319+1312 13.11000000 -0.2288329519450801
1320+1313 13.12000000 -0.2286585365853658
1321+1314 13.13000000 -0.2284843869002285
1322+1315 13.14000000 -0.2283105022831050
1323+1316 13.15000000 -0.2281368821292776
1324+1317 13.16000000 -0.2279635258358663
1325+1318 13.17000000 -0.2277904328018223
1326+1319 13.18000000 -0.2276176024279211
1327+1320 13.19000000 -0.2274450341167551
1328+1321 13.20000000 -0.2272727272727273
1329+1322 13.21000000 -0.2271006813020439
1330+1323 13.22000000 -0.2269288956127080
1331+1324 13.23000000 -0.2267573696145125
1332+1325 13.24000000 -0.2265861027190332
1333+1326 13.25000000 -0.2264150943396226
1334+1327 13.26000000 -0.2262443438914027
1335+1328 13.27000000 -0.2260738507912585
1336+1329 13.28000000 -0.2259036144578313
1337+1330 13.29000000 -0.2257336343115124
1338+1331 13.30000000 -0.2255639097744361
1339+1332 13.31000000 -0.2253944402704733
1340+1333 13.32000000 -0.2252252252252252
1341+1334 13.33000000 -0.2250562640660165
1342+1335 13.34000000 -0.2248875562218891
1343+1336 13.35000000 -0.2247191011235955
1344+1337 13.36000000 -0.2245508982035928
1345+1338 13.37000000 -0.2243829468960359
1346+1339 13.38000000 -0.2242152466367713
1347+1340 13.39000000 -0.2240477968633308
1348+1341 13.40000000 -0.2238805970149254
1349+1342 13.41000000 -0.2237136465324385
1350+1343 13.42000000 -0.2235469448584203
1351+1344 13.43000000 -0.2233804914370812
1352+1345 13.44000000 -0.2232142857142857
1353+1346 13.45000000 -0.2230483271375465
1354+1347 13.46000000 -0.2228826151560178
1355+1348 13.47000000 -0.2227171492204900
1356+1349 13.48000000 -0.2225519287833828
1357+1350 13.49000000 -0.2223869532987398
1358+1351 13.50000000 -0.2222222222222222
1359+1352 13.51000000 -0.2220577350111029
1360+1353 13.52000000 -0.2218934911242604
1361+1354 13.53000000 -0.2217294900221730
1362+1355 13.54000000 -0.2215657311669129
1363+1356 13.55000000 -0.2214022140221402
1364+1357 13.56000000 -0.2212389380530973
1365+1358 13.57000000 -0.2210759027266028
1366+1359 13.58000000 -0.2209131075110456
1367+1360 13.59000000 -0.2207505518763797
1368+1361 13.60000000 -0.2205882352941176
1369+1362 13.61000000 -0.2204261572373255
1370+1363 13.62000000 -0.2202643171806167
1371+1364 13.63000000 -0.2201027146001467
1372+1365 13.64000000 -0.2199413489736070
1373+1366 13.65000000 -0.2197802197802198
1374+1367 13.66000000 -0.2196193265007321
1375+1368 13.67000000 -0.2194586686174104
1376+1369 13.68000000 -0.2192982456140351
1377+1370 13.69000000 -0.2191380569758948
1378+1371 13.70000000 -0.2189781021897810
1379+1372 13.71000000 -0.2188183807439825
1380+1373 13.72000000 -0.2186588921282799
1381+1374 13.73000000 -0.2184996358339403
1382+1375 13.74000000 -0.2183406113537118
1383+1376 13.75000000 -0.2181818181818182
1384+1377 13.76000000 -0.2180232558139535
1385+1378 13.77000000 -0.2178649237472767
1386+1379 13.78000000 -0.2177068214804064
1387+1380 13.79000000 -0.2175489485134155
1388+1381 13.80000000 -0.2173913043478261
1389+1382 13.81000000 -0.2172338884866039
1390+1383 13.82000000 -0.2170767004341534
1391+1384 13.83000000 -0.2169197396963124
1392+1385 13.84000000 -0.2167630057803468
1393+1386 13.85000000 -0.2166064981949458
1394+1387 13.86000000 -0.2164502164502164
1395+1388 13.87000000 -0.2162941600576784
1396+1389 13.88000000 -0.2161383285302594
1397+1390 13.89000000 -0.2159827213822894
1398+1391 13.90000000 -0.2158273381294964
1399+1392 13.91000000 -0.2156721782890007
1400+1393 13.92000000 -0.2155172413793104
1401+1394 13.93000000 -0.2153625269203159
1402+1395 13.94000000 -0.2152080344332855
1403+1396 13.95000000 -0.2150537634408602
1404+1397 13.96000000 -0.2148997134670487
1405+1398 13.97000000 -0.2147458840372226
1406+1399 13.98000000 -0.2145922746781116
1407+1400 13.99000000 -0.2144388849177984
1408+1401 14.00000000 -0.2142857142857143
1409+1402 14.01000000 -0.2141327623126338
1410+1403 14.02000000 -0.2139800285306705
1411+1404 14.03000000 -0.2138275124732716
1412+1405 14.04000000 -0.2136752136752137
1413+1406 14.05000000 -0.2135231316725978
1414+1407 14.06000000 -0.2133712660028450
1415+1408 14.07000000 -0.2132196162046908
1416+1409 14.08000000 -0.2130681818181818
1417+1410 14.09000000 -0.2129169623846700
1418+1411 14.10000000 -0.2127659574468085
1419+1412 14.11000000 -0.2126151665485471
1420+1413 14.12000000 -0.2124645892351275
1421+1414 14.13000000 -0.2123142250530786
1422+1415 14.14000000 -0.2121640735502122
1423+1416 14.15000000 -0.2120141342756184
1424+1417 14.16000000 -0.2118644067796610
1425+1418 14.17000000 -0.2117148906139732
1426+1419 14.18000000 -0.2115655853314528
1427+1420 14.19000000 -0.2114164904862579
1428+1421 14.20000000 -0.2112676056338028
1429+1422 14.21000000 -0.2111189303307530
1430+1423 14.22000000 -0.2109704641350211
1431+1424 14.23000000 -0.2108222066057625
1432+1425 14.24000000 -0.2106741573033708
1433+1426 14.25000000 -0.2105263157894737
1434+1427 14.26000000 -0.2103786816269285
1435+1428 14.27000000 -0.2102312543798178
1436+1429 14.28000000 -0.2100840336134454
1437+1430 14.29000000 -0.2099370188943317
1438+1431 14.30000000 -0.2097902097902098
1439+1432 14.31000000 -0.2096436058700210
1440+1433 14.32000000 -0.2094972067039106
1441+1434 14.33000000 -0.2093510118632240
1442+1435 14.34000000 -0.2092050209205021
1443+1436 14.35000000 -0.2090592334494774
1444+1437 14.36000000 -0.2089136490250696
1445+1438 14.37000000 -0.2087682672233821
1446+1439 14.38000000 -0.2086230876216968
1447+1440 14.39000000 -0.2084781097984711
1448+1441 14.40000000 -0.2083333333333333
1449+1442 14.41000000 -0.2081887578070784
1450+1443 14.42000000 -0.2080443828016643
1451+1444 14.43000000 -0.2079002079002079
1452+1445 14.44000000 -0.2077562326869806
1453+1446 14.45000000 -0.2076124567474049
1454+1447 14.46000000 -0.2074688796680498
1455+1448 14.47000000 -0.2073255010366275
1456+1449 14.48000000 -0.2071823204419889
1457+1450 14.49000000 -0.2070393374741201
1458+1451 14.50000000 -0.2068965517241379
1459+1452 14.51000000 -0.2067539627842867
1460+1453 14.52000000 -0.2066115702479339
1461+1454 14.53000000 -0.2064693737095664
1462+1455 14.54000000 -0.2063273727647868
1463+1456 14.55000000 -0.2061855670103093
1464+1457 14.56000000 -0.2060439560439560
1465+1458 14.57000000 -0.2059025394646534
1466+1459 14.58000000 -0.2057613168724280
1467+1460 14.59000000 -0.2056202878684030
1468+1461 14.60000000 -0.2054794520547945
1469+1462 14.61000000 -0.2053388090349076
1470+1463 14.62000000 -0.2051983584131327
1471+1464 14.63000000 -0.2050580997949419
1472+1465 14.64000000 -0.2049180327868853
1473+1466 14.65000000 -0.2047781569965870
1474+1467 14.66000000 -0.2046384720327422
1475+1468 14.67000000 -0.2044989775051125
1476+1469 14.68000000 -0.2043596730245232
1477+1470 14.69000000 -0.2042205582028591
1478+1471 14.70000000 -0.2040816326530612
1479+1472 14.71000000 -0.2039428959891230
1480+1473 14.72000000 -0.2038043478260869
1481+1474 14.73000000 -0.2036659877800407
1482+1475 14.74000000 -0.2035278154681140
1483+1476 14.75000000 -0.2033898305084746
1484+1477 14.76000000 -0.2032520325203252
1485+1478 14.77000000 -0.2031144211238998
1486+1479 14.78000000 -0.2029769959404601
1487+1480 14.79000000 -0.2028397565922921
1488+1481 14.80000000 -0.2027027027027027
1489+1482 14.81000000 -0.2025658338960162
1490+1483 14.82000000 -0.2024291497975708
1491+1484 14.83000000 -0.2022926500337154
1492+1485 14.84000000 -0.2021563342318059
1493+1486 14.85000000 -0.2020202020202020
1494+1487 14.86000000 -0.2018842530282638
1495+1488 14.87000000 -0.2017484868863484
1496+1489 14.88000000 -0.2016129032258065
1497+1490 14.89000000 -0.2014775016789792
1498+1491 14.90000000 -0.2013422818791946
1499+1492 14.91000000 -0.2012072434607646
1500+1493 14.92000000 -0.2010723860589812
1501+1494 14.93000000 -0.2009377093101139
1502+1495 14.94000000 -0.2008032128514056
1503+1496 14.95000000 -0.2006688963210702
1504+1497 14.96000000 -0.2005347593582888
1505+1498 14.97000000 -0.2004008016032064
1506+1499 14.98000000 -0.2002670226969292
1507+1500 14.99000000 -0.2001334222815210
1508+1501 15.00000000 -0.2000000000000000
1509+1502 15.01000000 -0.1998667554963358
1510+1503 15.02000000 -0.1997336884154461
1511+1504 15.03000000 -0.1996007984031936
1512+1505 15.04000000 -0.1994680851063830
1513+1506 15.05000000 -0.1993355481727575
1514+1507 15.06000000 -0.1992031872509960
1515+1508 15.07000000 -0.1990710019907100
1516+1509 15.08000000 -0.1989389920424403
1517+1510 15.09000000 -0.1988071570576541
1518+1511 15.10000000 -0.1986754966887417
1519+1512 15.11000000 -0.1985440105890139
1520+1513 15.12000000 -0.1984126984126984
1521+1514 15.13000000 -0.1982815598149372
1522+1515 15.14000000 -0.1981505944517833
1523+1516 15.15000000 -0.1980198019801980
1524+1517 15.16000000 -0.1978891820580475
1525+1518 15.17000000 -0.1977587343441002
1526+1519 15.18000000 -0.1976284584980237
1527+1520 15.19000000 -0.1974983541803818
1528+1521 15.20000000 -0.1973684210526316
1529+1522 15.21000000 -0.1972386587771203
1530+1523 15.22000000 -0.1971090670170828
1531+1524 15.23000000 -0.1969796454366382
1532+1525 15.24000000 -0.1968503937007874
1533+1526 15.25000000 -0.1967213114754098
1534+1527 15.26000000 -0.1965923984272608
1535+1528 15.27000000 -0.1964636542239686
1536+1529 15.28000000 -0.1963350785340314
1537+1530 15.29000000 -0.1962066710268149
1538+1531 15.30000000 -0.1960784313725490
1539+1532 15.31000000 -0.1959503592423253
1540+1533 15.32000000 -0.1958224543080940
1541+1534 15.33000000 -0.1956947162426614
1542+1535 15.34000000 -0.1955671447196871
1543+1536 15.35000000 -0.1954397394136808
1544+1537 15.36000000 -0.1953125000000000
1545+1538 15.37000000 -0.1951854261548471
1546+1539 15.38000000 -0.1950585175552666
1547+1540 15.39000000 -0.1949317738791423
1548+1541 15.40000000 -0.1948051948051948
1549+1542 15.41000000 -0.1946787800129786
1550+1543 15.42000000 -0.1945525291828794
1551+1544 15.43000000 -0.1944264419961115
1552+1545 15.44000000 -0.1943005181347150
1553+1546 15.45000000 -0.1941747572815534
1554+1547 15.46000000 -0.1940491591203105
1555+1548 15.47000000 -0.1939237233354880
1556+1549 15.48000000 -0.1937984496124031
1557+1550 15.49000000 -0.1936733376371853
1558+1551 15.50000000 -0.1935483870967742
1559+1552 15.51000000 -0.1934235976789168
1560+1553 15.52000000 -0.1932989690721650
1561+1554 15.53000000 -0.1931745009658725
1562+1555 15.54000000 -0.1930501930501931
1563+1556 15.55000000 -0.1929260450160772
1564+1557 15.56000000 -0.1928020565552699
1565+1558 15.57000000 -0.1926782273603083
1566+1559 15.58000000 -0.1925545571245186
1567+1560 15.59000000 -0.1924310455420141
1568+1561 15.60000000 -0.1923076923076923
1569+1562 15.61000000 -0.1921844971172325
1570+1563 15.62000000 -0.1920614596670935
1571+1564 15.63000000 -0.1919385796545106
1572+1565 15.64000000 -0.1918158567774936
1573+1566 15.65000000 -0.1916932907348243
1574+1567 15.66000000 -0.1915708812260536
1575+1568 15.67000000 -0.1914486279514997
1576+1569 15.68000000 -0.1913265306122449
1577+1570 15.69000000 -0.1912045889101338
1578+1571 15.70000000 -0.1910828025477707
1579+1572 15.71000000 -0.1909611712285169
1580+1573 15.72000000 -0.1908396946564885
1581+1574 15.73000000 -0.1907183725365544
1582+1575 15.74000000 -0.1905972045743329
1583+1576 15.75000000 -0.1904761904761905
1584+1577 15.76000000 -0.1903553299492386
1585+1578 15.77000000 -0.1902346227013317
1586+1579 15.78000000 -0.1901140684410647
1587+1580 15.79000000 -0.1899936668777708
1588+1581 15.80000000 -0.1898734177215190
1589+1582 15.81000000 -0.1897533206831120
1590+1583 15.82000000 -0.1896333754740834
1591+1584 15.83000000 -0.1895135818066961
1592+1585 15.84000000 -0.1893939393939394
1593+1586 15.85000000 -0.1892744479495268
1594+1587 15.86000000 -0.1891551071878941
1595+1588 15.87000000 -0.1890359168241966
1596+1589 15.88000000 -0.1889168765743073
1597+1590 15.89000000 -0.1887979861548143
1598+1591 15.90000000 -0.1886792452830189
1599+1592 15.91000000 -0.1885606536769328
1600+1593 15.92000000 -0.1884422110552764
1601+1594 15.93000000 -0.1883239171374765
1602+1595 15.94000000 -0.1882057716436638
1603+1596 15.95000000 -0.1880877742946709
1604+1597 15.96000000 -0.1879699248120301
1605+1598 15.97000000 -0.1878522229179712
1606+1599 15.98000000 -0.1877346683354193
1607+1600 15.99000000 -0.1876172607879925
1608+1601 16.00000000 -0.1875000000000000
--- a/sample/Al/band.in
+++ b/sample/Al/band.in
@@ -1,8 +1,8 @@
11 &CONTROL
2- calculation = 'scf'
2+ calculation = 'direct'
33 /
44 &SYSTEM
5-nbnd = 5
5+nbnd = 10
66 nat = 1
77 ntyp = 1
88 ecutwfc = 30.000000
@@ -15,8 +15,9 @@ CELL_PARAMETERS
1515 2.024700 0.000000 2.024700
1616 2.024700 2.024700 0.000000
1717 ATOMIC_SPECIES
18- Al Al.pz-n-nc.UPF
18+ Al al.lda.lps
1919 ATOMIC_POSITIONS
2020 Al 0.000000 0.000000 0.000000
2121 K_POINTS
22- 8 8 8
22+1
23+0.0 0.0 0.0
--- /dev/null
+++ b/sample/Al/vloc.xsf
@@ -0,0 +1,1562 @@
1+ CRYSTAL
2+ PRIMVEC
3+ 0.000000000 2.024700000 2.024700000
4+ 2.024700000 0.000000000 2.024700000
5+ 2.024700000 2.024700000 0.000000000
6+ PRIMCOORD
7+ 1 1
8+Al 0.000000000 0.000000000 0.000000000
9+BEGIN_BLOCK_DATAGRID_3D
10+3D_PWSCF
11+DATAGRID_3D_UNKNOWN
12+ 21 21 21
13+ 0.000000 0.000000 0.000000
14+ 0.000000 2.024700 2.024700
15+ 2.024700 0.000000 2.024700
16+ 2.024700 2.024700 0.000000
17+ -0.478080E+01 -0.475948E+01 -0.465019E+01 -0.427482E+01 -0.352749E+01 -0.250792E+01
18+ -0.147892E+01 -0.719950E+00 -0.355001E+00 -0.259606E+00 -0.231807E+00 -0.259606E+00
19+ -0.355001E+00 -0.719950E+00 -0.147892E+01 -0.250792E+01 -0.352749E+01 -0.427482E+01
20+ -0.465019E+01 -0.475948E+01 -0.478080E+01 -0.475948E+01 -0.469693E+01 -0.445023E+01
21+ -0.386307E+01 -0.295236E+01 -0.190155E+01 -0.100995E+01 -0.468369E+00 -0.284471E+00
22+ -0.232063E+00 -0.232063E+00 -0.284471E+00 -0.468369E+00 -0.100995E+01 -0.190155E+01
23+ -0.295236E+01 -0.386307E+01 -0.445023E+01 -0.469693E+01 -0.475948E+01 -0.475948E+01
24+ -0.465019E+01 -0.445023E+01 -0.397118E+01 -0.318109E+01 -0.219125E+01 -0.125763E+01
25+ -0.602848E+00 -0.314799E+00 -0.234093E+00 -0.200150E+00 -0.234093E+00 -0.314799E+00
26+ -0.602848E+00 -0.125763E+01 -0.219125E+01 -0.318109E+01 -0.397118E+01 -0.445023E+01
27+ -0.465019E+01 -0.469693E+01 -0.465019E+01 -0.427482E+01 -0.386307E+01 -0.318109E+01
28+ -0.229396E+01 -0.139788E+01 -0.710288E+00 -0.348635E+00 -0.235189E+00 -0.177816E+00
29+ -0.177816E+00 -0.235189E+00 -0.348635E+00 -0.710288E+00 -0.139788E+01 -0.229396E+01
30+ -0.318109E+01 -0.386307E+01 -0.427482E+01 -0.445023E+01 -0.445023E+01 -0.427482E+01
31+ -0.352749E+01 -0.295236E+01 -0.219125E+01 -0.139788E+01 -0.749906E+00 -0.373066E+00
32+ -0.235040E+00 -0.166541E+00 -0.129916E+00 -0.166541E+00 -0.235040E+00 -0.373066E+00
33+ -0.749906E+00 -0.139788E+01 -0.219125E+01 -0.295236E+01 -0.352749E+01 -0.386307E+01
34+ -0.397118E+01 -0.386307E+01 -0.352749E+01 -0.250792E+01 -0.190155E+01 -0.125763E+01
35+ -0.710288E+00 -0.373066E+00 -0.235577E+00 -0.159484E+00 -0.103802E+00 -0.103802E+00
36+ -0.159484E+00 -0.235577E+00 -0.373066E+00 -0.710288E+00 -0.125763E+01 -0.190155E+01
37+ -0.250792E+01 -0.295236E+01 -0.318109E+01 -0.318109E+01 -0.295236E+01 -0.250792E+01
38+ -0.147892E+01 -0.100995E+01 -0.602848E+00 -0.348635E+00 -0.235040E+00 -0.159484E+00
39+ -0.957745E-01 -0.749146E-01 -0.957745E-01 -0.159484E+00 -0.235040E+00 -0.348635E+00
40+ -0.602848E+00 -0.100995E+01 -0.147892E+01 -0.190155E+01 -0.219125E+01 -0.229396E+01
41+ -0.219125E+01 -0.190155E+01 -0.147892E+01 -0.719950E+00 -0.468369E+00 -0.314799E+00
42+ -0.235189E+00 -0.166541E+00 -0.103802E+00 -0.749146E-01 -0.749146E-01 -0.103802E+00
43+ -0.166541E+00 -0.235189E+00 -0.314799E+00 -0.468369E+00 -0.719950E+00 -0.100995E+01
44+ -0.125763E+01 -0.139788E+01 -0.139788E+01 -0.125763E+01 -0.100995E+01 -0.719950E+00
45+ -0.355001E+00 -0.284471E+00 -0.234093E+00 -0.177816E+00 -0.129916E+00 -0.103802E+00
46+ -0.957745E-01 -0.103802E+00 -0.129916E+00 -0.177816E+00 -0.234093E+00 -0.284471E+00
47+ -0.355001E+00 -0.468369E+00 -0.602848E+00 -0.710288E+00 -0.749906E+00 -0.710288E+00
48+ -0.602848E+00 -0.468369E+00 -0.355001E+00 -0.259606E+00 -0.232063E+00 -0.200150E+00
49+ -0.177816E+00 -0.166541E+00 -0.159484E+00 -0.159484E+00 -0.166541E+00 -0.177816E+00
50+ -0.200150E+00 -0.232063E+00 -0.259606E+00 -0.284471E+00 -0.314799E+00 -0.348635E+00
51+ -0.373066E+00 -0.373066E+00 -0.348635E+00 -0.314799E+00 -0.284471E+00 -0.259606E+00
52+ -0.231807E+00 -0.232063E+00 -0.234093E+00 -0.235189E+00 -0.235040E+00 -0.235577E+00
53+ -0.235040E+00 -0.235189E+00 -0.234093E+00 -0.232063E+00 -0.231807E+00 -0.232063E+00
54+ -0.234093E+00 -0.235189E+00 -0.235040E+00 -0.235577E+00 -0.235040E+00 -0.235189E+00
55+ -0.234093E+00 -0.232063E+00 -0.231807E+00 -0.259606E+00 -0.284471E+00 -0.314799E+00
56+ -0.348635E+00 -0.373066E+00 -0.373066E+00 -0.348635E+00 -0.314799E+00 -0.284471E+00
57+ -0.259606E+00 -0.232063E+00 -0.200150E+00 -0.177816E+00 -0.166541E+00 -0.159484E+00
58+ -0.159484E+00 -0.166541E+00 -0.177816E+00 -0.200150E+00 -0.232063E+00 -0.259606E+00
59+ -0.355001E+00 -0.468369E+00 -0.602848E+00 -0.710288E+00 -0.749906E+00 -0.710288E+00
60+ -0.602848E+00 -0.468369E+00 -0.355001E+00 -0.284471E+00 -0.234093E+00 -0.177816E+00
61+ -0.129916E+00 -0.103802E+00 -0.957745E-01 -0.103802E+00 -0.129916E+00 -0.177816E+00
62+ -0.234093E+00 -0.284471E+00 -0.355001E+00 -0.719950E+00 -0.100995E+01 -0.125763E+01
63+ -0.139788E+01 -0.139788E+01 -0.125763E+01 -0.100995E+01 -0.719950E+00 -0.468369E+00
64+ -0.314799E+00 -0.235189E+00 -0.166541E+00 -0.103802E+00 -0.749146E-01 -0.749146E-01
65+ -0.103802E+00 -0.166541E+00 -0.235189E+00 -0.314799E+00 -0.468369E+00 -0.719950E+00
66+ -0.147892E+01 -0.190155E+01 -0.219125E+01 -0.229396E+01 -0.219125E+01 -0.190155E+01
67+ -0.147892E+01 -0.100995E+01 -0.602848E+00 -0.348635E+00 -0.235040E+00 -0.159484E+00
68+ -0.957745E-01 -0.749146E-01 -0.957745E-01 -0.159484E+00 -0.235040E+00 -0.348635E+00
69+ -0.602848E+00 -0.100995E+01 -0.147892E+01 -0.250792E+01 -0.295236E+01 -0.318109E+01
70+ -0.318109E+01 -0.295236E+01 -0.250792E+01 -0.190155E+01 -0.125763E+01 -0.710288E+00
71+ -0.373066E+00 -0.235577E+00 -0.159484E+00 -0.103802E+00 -0.103802E+00 -0.159484E+00
72+ -0.235577E+00 -0.373066E+00 -0.710288E+00 -0.125763E+01 -0.190155E+01 -0.250792E+01
73+ -0.352749E+01 -0.386307E+01 -0.397118E+01 -0.386307E+01 -0.352749E+01 -0.295236E+01
74+ -0.219125E+01 -0.139788E+01 -0.749906E+00 -0.373066E+00 -0.235040E+00 -0.166541E+00
75+ -0.129916E+00 -0.166541E+00 -0.235040E+00 -0.373066E+00 -0.749906E+00 -0.139788E+01
76+ -0.219125E+01 -0.295236E+01 -0.352749E+01 -0.427482E+01 -0.445023E+01 -0.445023E+01
77+ -0.427482E+01 -0.386307E+01 -0.318109E+01 -0.229396E+01 -0.139788E+01 -0.710288E+00
78+ -0.348635E+00 -0.235189E+00 -0.177816E+00 -0.177816E+00 -0.235189E+00 -0.348635E+00
79+ -0.710288E+00 -0.139788E+01 -0.229396E+01 -0.318109E+01 -0.386307E+01 -0.427482E+01
80+ -0.465019E+01 -0.469693E+01 -0.465019E+01 -0.445023E+01 -0.397118E+01 -0.318109E+01
81+ -0.219125E+01 -0.125763E+01 -0.602848E+00 -0.314799E+00 -0.234093E+00 -0.200150E+00
82+ -0.234093E+00 -0.314799E+00 -0.602848E+00 -0.125763E+01 -0.219125E+01 -0.318109E+01
83+ -0.397118E+01 -0.445023E+01 -0.465019E+01 -0.475948E+01 -0.475948E+01 -0.469693E+01
84+ -0.445023E+01 -0.386307E+01 -0.295236E+01 -0.190155E+01 -0.100995E+01 -0.468369E+00
85+ -0.284471E+00 -0.232063E+00 -0.232063E+00 -0.284471E+00 -0.468369E+00 -0.100995E+01
86+ -0.190155E+01 -0.295236E+01 -0.386307E+01 -0.445023E+01 -0.469693E+01 -0.475948E+01
87+ -0.478080E+01 -0.475948E+01 -0.465019E+01 -0.427482E+01 -0.352749E+01 -0.250792E+01
88+ -0.147892E+01 -0.719950E+00 -0.355001E+00 -0.259606E+00 -0.231807E+00 -0.259606E+00
89+ -0.355001E+00 -0.719950E+00 -0.147892E+01 -0.250792E+01 -0.352749E+01 -0.427482E+01
90+ -0.465019E+01 -0.475948E+01 -0.478080E+01 -0.475948E+01 -0.469693E+01 -0.445023E+01
91+ -0.386307E+01 -0.295236E+01 -0.190155E+01 -0.100995E+01 -0.468369E+00 -0.284471E+00
92+ -0.232063E+00 -0.232063E+00 -0.284471E+00 -0.468369E+00 -0.100995E+01 -0.190155E+01
93+ -0.295236E+01 -0.386307E+01 -0.445023E+01 -0.469693E+01 -0.475948E+01 -0.475948E+01
94+ -0.469693E+01 -0.452735E+01 -0.407698E+01 -0.329587E+01 -0.229384E+01 -0.132855E+01
95+ -0.639173E+00 -0.327735E+00 -0.243863E+00 -0.211572E+00 -0.243863E+00 -0.327735E+00
96+ -0.639173E+00 -0.132855E+01 -0.229384E+01 -0.329587E+01 -0.407698E+01 -0.452735E+01
97+ -0.469693E+01 -0.473258E+01 -0.469693E+01 -0.445023E+01 -0.407698E+01 -0.341160E+01
98+ -0.250635E+01 -0.155502E+01 -0.801064E+00 -0.382922E+00 -0.252302E+00 -0.196276E+00
99+ -0.196276E+00 -0.252302E+00 -0.382922E+00 -0.801064E+00 -0.155502E+01 -0.250635E+01
100+ -0.341160E+01 -0.407698E+01 -0.445023E+01 -0.459347E+01 -0.459347E+01 -0.445023E+01
101+ -0.386307E+01 -0.329587E+01 -0.250635E+01 -0.163585E+01 -0.896009E+00 -0.433586E+00
102+ -0.258159E+00 -0.189355E+00 -0.151452E+00 -0.189355E+00 -0.258159E+00 -0.433586E+00
103+ -0.896009E+00 -0.163585E+01 -0.250635E+01 -0.329587E+01 -0.386307E+01 -0.417814E+01
104+ -0.427511E+01 -0.417814E+01 -0.386307E+01 -0.295236E+01 -0.229384E+01 -0.155502E+01
105+ -0.896009E+00 -0.454015E+00 -0.263590E+00 -0.184326E+00 -0.125542E+00 -0.125542E+00
106+ -0.184326E+00 -0.263590E+00 -0.454015E+00 -0.896009E+00 -0.155502E+01 -0.229384E+01
107+ -0.295236E+01 -0.341198E+01 -0.363978E+01 -0.363978E+01 -0.341198E+01 -0.295236E+01
108+ -0.190155E+01 -0.132855E+01 -0.801064E+00 -0.433586E+00 -0.263590E+00 -0.181598E+00
109+ -0.113165E+00 -0.861538E-01 -0.113165E+00 -0.181598E+00 -0.263590E+00 -0.433586E+00
110+ -0.801064E+00 -0.132855E+01 -0.190155E+01 -0.239913E+01 -0.272570E+01 -0.283855E+01
111+ -0.272570E+01 -0.239913E+01 -0.190155E+01 -0.100995E+01 -0.639173E+00 -0.382922E+00
112+ -0.258159E+00 -0.184326E+00 -0.113165E+00 -0.757530E-01 -0.757530E-01 -0.113165E+00
113+ -0.184326E+00 -0.258159E+00 -0.382922E+00 -0.639173E+00 -0.100995E+01 -0.140101E+01
114+ -0.172008E+01 -0.189866E+01 -0.189866E+01 -0.172008E+01 -0.140101E+01 -0.100995E+01
115+ -0.468369E+00 -0.327735E+00 -0.252302E+00 -0.189355E+00 -0.125542E+00 -0.861538E-01
116+ -0.757530E-01 -0.861538E-01 -0.125542E+00 -0.189355E+00 -0.252302E+00 -0.327735E+00
117+ -0.468369E+00 -0.677464E+00 -0.897774E+00 -0.106141E+01 -0.112042E+01 -0.106141E+01
118+ -0.897774E+00 -0.677464E+00 -0.468369E+00 -0.284471E+00 -0.243863E+00 -0.196276E+00
119+ -0.151452E+00 -0.125542E+00 -0.113165E+00 -0.113165E+00 -0.125542E+00 -0.151452E+00
120+ -0.196276E+00 -0.243863E+00 -0.284471E+00 -0.339657E+00 -0.419981E+00 -0.505422E+00
121+ -0.559612E+00 -0.559612E+00 -0.505422E+00 -0.419981E+00 -0.339657E+00 -0.284471E+00
122+ -0.232063E+00 -0.211572E+00 -0.196276E+00 -0.189355E+00 -0.184326E+00 -0.181598E+00
123+ -0.184326E+00 -0.189355E+00 -0.196276E+00 -0.211572E+00 -0.232063E+00 -0.249802E+00
124+ -0.264969E+00 -0.279345E+00 -0.293728E+00 -0.300970E+00 -0.293728E+00 -0.279345E+00
125+ -0.264969E+00 -0.249802E+00 -0.232063E+00 -0.232063E+00 -0.243863E+00 -0.252302E+00
126+ -0.258159E+00 -0.263590E+00 -0.263590E+00 -0.258159E+00 -0.252302E+00 -0.243863E+00
127+ -0.232063E+00 -0.219512E+00 -0.210564E+00 -0.206611E+00 -0.202808E+00 -0.200309E+00
128+ -0.200309E+00 -0.202808E+00 -0.206611E+00 -0.210564E+00 -0.219512E+00 -0.232063E+00
129+ -0.284471E+00 -0.327735E+00 -0.382922E+00 -0.433586E+00 -0.454015E+00 -0.433586E+00
130+ -0.382922E+00 -0.327735E+00 -0.284471E+00 -0.249802E+00 -0.210564E+00 -0.170130E+00
131+ -0.144116E+00 -0.130228E+00 -0.124738E+00 -0.130228E+00 -0.144116E+00 -0.170130E+00
132+ -0.210564E+00 -0.249802E+00 -0.284471E+00 -0.468369E+00 -0.639173E+00 -0.801064E+00
133+ -0.896009E+00 -0.896009E+00 -0.801064E+00 -0.639173E+00 -0.468369E+00 -0.339657E+00
134+ -0.264969E+00 -0.206611E+00 -0.144116E+00 -0.975180E-01 -0.769317E-01 -0.769317E-01
135+ -0.975180E-01 -0.144116E+00 -0.206611E+00 -0.264969E+00 -0.339657E+00 -0.468369E+00
136+ -0.100995E+01 -0.132855E+01 -0.155502E+01 -0.163585E+01 -0.155502E+01 -0.132855E+01
137+ -0.100995E+01 -0.677464E+00 -0.419981E+00 -0.279345E+00 -0.202808E+00 -0.130228E+00
138+ -0.769317E-01 -0.622448E-01 -0.769317E-01 -0.130228E+00 -0.202808E+00 -0.279345E+00
139+ -0.419981E+00 -0.677464E+00 -0.100995E+01 -0.190155E+01 -0.229384E+01 -0.250635E+01
140+ -0.250635E+01 -0.229384E+01 -0.190155E+01 -0.140101E+01 -0.897774E+00 -0.505422E+00
141+ -0.293728E+00 -0.200309E+00 -0.124738E+00 -0.769317E-01 -0.769317E-01 -0.124738E+00
142+ -0.200309E+00 -0.293728E+00 -0.505422E+00 -0.897774E+00 -0.140101E+01 -0.190155E+01
143+ -0.295236E+01 -0.329587E+01 -0.341160E+01 -0.329587E+01 -0.295236E+01 -0.239913E+01
144+ -0.172008E+01 -0.106141E+01 -0.559612E+00 -0.300970E+00 -0.200309E+00 -0.130228E+00
145+ -0.975180E-01 -0.130228E+00 -0.200309E+00 -0.300970E+00 -0.559612E+00 -0.106141E+01
146+ -0.172008E+01 -0.239913E+01 -0.295236E+01 -0.386307E+01 -0.407698E+01 -0.407698E+01
147+ -0.386307E+01 -0.341198E+01 -0.272570E+01 -0.189866E+01 -0.112042E+01 -0.559612E+00
148+ -0.293728E+00 -0.202808E+00 -0.144116E+00 -0.144116E+00 -0.202808E+00 -0.293728E+00
149+ -0.559612E+00 -0.112042E+01 -0.189866E+01 -0.272570E+01 -0.341198E+01 -0.386307E+01
150+ -0.445023E+01 -0.452735E+01 -0.445023E+01 -0.417814E+01 -0.363978E+01 -0.283855E+01
151+ -0.189866E+01 -0.106141E+01 -0.505422E+00 -0.279345E+00 -0.206611E+00 -0.170130E+00
152+ -0.206611E+00 -0.279345E+00 -0.505422E+00 -0.106141E+01 -0.189866E+01 -0.283855E+01
153+ -0.363978E+01 -0.417814E+01 -0.445023E+01 -0.469693E+01 -0.469693E+01 -0.459347E+01
154+ -0.427511E+01 -0.363978E+01 -0.272570E+01 -0.172008E+01 -0.897774E+00 -0.419981E+00
155+ -0.264969E+00 -0.210564E+00 -0.210564E+00 -0.264969E+00 -0.419981E+00 -0.897774E+00
156+ -0.172008E+01 -0.272570E+01 -0.363978E+01 -0.427511E+01 -0.459347E+01 -0.469693E+01
157+ -0.475948E+01 -0.473258E+01 -0.459347E+01 -0.417814E+01 -0.341198E+01 -0.239913E+01
158+ -0.140101E+01 -0.677464E+00 -0.339657E+00 -0.249802E+00 -0.219512E+00 -0.249802E+00
159+ -0.339657E+00 -0.677464E+00 -0.140101E+01 -0.239913E+01 -0.341198E+01 -0.417814E+01
160+ -0.459347E+01 -0.473258E+01 -0.475948E+01 -0.475948E+01 -0.469693E+01 -0.445023E+01
161+ -0.386307E+01 -0.295236E+01 -0.190155E+01 -0.100995E+01 -0.468369E+00 -0.284471E+00
162+ -0.232063E+00 -0.232063E+00 -0.284471E+00 -0.468369E+00 -0.100995E+01 -0.190155E+01
163+ -0.295236E+01 -0.386307E+01 -0.445023E+01 -0.469693E+01 -0.475948E+01 -0.475948E+01
164+ -0.465019E+01 -0.445023E+01 -0.397118E+01 -0.318109E+01 -0.219125E+01 -0.125763E+01
165+ -0.602848E+00 -0.314799E+00 -0.234093E+00 -0.200150E+00 -0.234093E+00 -0.314799E+00
166+ -0.602848E+00 -0.125763E+01 -0.219125E+01 -0.318109E+01 -0.397118E+01 -0.445023E+01
167+ -0.465019E+01 -0.469693E+01 -0.465019E+01 -0.445023E+01 -0.407698E+01 -0.341160E+01
168+ -0.250635E+01 -0.155502E+01 -0.801064E+00 -0.382922E+00 -0.252302E+00 -0.196276E+00
169+ -0.196276E+00 -0.252302E+00 -0.382922E+00 -0.801064E+00 -0.155502E+01 -0.250635E+01
170+ -0.341160E+01 -0.407698E+01 -0.445023E+01 -0.459347E+01 -0.459347E+01 -0.445023E+01
171+ -0.397118E+01 -0.341160E+01 -0.261614E+01 -0.172113E+01 -0.950317E+00 -0.457072E+00
172+ -0.266070E+00 -0.196840E+00 -0.158873E+00 -0.196840E+00 -0.266070E+00 -0.457072E+00
173+ -0.950317E+00 -0.172113E+01 -0.261614E+01 -0.341160E+01 -0.397118E+01 -0.427511E+01
174+ -0.436684E+01 -0.427511E+01 -0.397118E+01 -0.318109E+01 -0.250635E+01 -0.172113E+01
175+ -0.100355E+01 -0.504702E+00 -0.279240E+00 -0.196198E+00 -0.137025E+00 -0.137025E+00
176+ -0.196198E+00 -0.279240E+00 -0.504702E+00 -0.100355E+01 -0.172113E+01 -0.250635E+01
177+ -0.318109E+01 -0.363978E+01 -0.386309E+01 -0.386309E+01 -0.363978E+01 -0.318109E+01
178+ -0.219125E+01 -0.155502E+01 -0.950317E+00 -0.504702E+00 -0.285789E+00 -0.194925E+00
179+ -0.125744E+00 -0.950188E-01 -0.125744E+00 -0.194925E+00 -0.285789E+00 -0.504702E+00
180+ -0.950317E+00 -0.155502E+01 -0.219125E+01 -0.272570E+01 -0.306532E+01 -0.318031E+01
181+ -0.306532E+01 -0.272570E+01 -0.219125E+01 -0.125763E+01 -0.801064E+00 -0.457072E+00
182+ -0.279240E+00 -0.194925E+00 -0.120548E+00 -0.765323E-01 -0.765323E-01 -0.120548E+00
183+ -0.194925E+00 -0.279240E+00 -0.457072E+00 -0.801064E+00 -0.125763E+01 -0.172008E+01
184+ -0.208877E+01 -0.229114E+01 -0.229114E+01 -0.208877E+01 -0.172008E+01 -0.125763E+01
185+ -0.602848E+00 -0.382922E+00 -0.266070E+00 -0.196198E+00 -0.125744E+00 -0.765323E-01
186+ -0.637050E-01 -0.765323E-01 -0.125744E+00 -0.196198E+00 -0.266070E+00 -0.382922E+00
187+ -0.602848E+00 -0.897774E+00 -0.118640E+01 -0.139379E+01 -0.146853E+01 -0.139379E+01
188+ -0.118640E+01 -0.897774E+00 -0.602848E+00 -0.314799E+00 -0.252302E+00 -0.196840E+00
189+ -0.137025E+00 -0.950188E-01 -0.765323E-01 -0.765323E-01 -0.950188E-01 -0.137025E+00
190+ -0.196840E+00 -0.252302E+00 -0.314799E+00 -0.419981E+00 -0.564374E+00 -0.705055E+00
191+ -0.788881E+00 -0.788881E+00 -0.705055E+00 -0.564374E+00 -0.419981E+00 -0.314799E+00
192+ -0.234093E+00 -0.196276E+00 -0.158873E+00 -0.137025E+00 -0.125744E+00 -0.120548E+00
193+ -0.125744E+00 -0.137025E+00 -0.158873E+00 -0.196276E+00 -0.234093E+00 -0.264969E+00
194+ -0.298603E+00 -0.341711E+00 -0.382485E+00 -0.399074E+00 -0.382485E+00 -0.341711E+00
195+ -0.298603E+00 -0.264969E+00 -0.234093E+00 -0.200150E+00 -0.196276E+00 -0.196840E+00
196+ -0.196198E+00 -0.194925E+00 -0.194925E+00 -0.196198E+00 -0.196840E+00 -0.196276E+00
197+ -0.200150E+00 -0.210564E+00 -0.221870E+00 -0.228341E+00 -0.231623E+00 -0.235728E+00
198+ -0.235728E+00 -0.231623E+00 -0.228341E+00 -0.221870E+00 -0.210564E+00 -0.200150E+00
199+ -0.234093E+00 -0.252302E+00 -0.266070E+00 -0.279240E+00 -0.285789E+00 -0.279240E+00
200+ -0.266070E+00 -0.252302E+00 -0.234093E+00 -0.210564E+00 -0.186832E+00 -0.170744E+00
201+ -0.162507E+00 -0.156896E+00 -0.154649E+00 -0.156896E+00 -0.162507E+00 -0.170744E+00
202+ -0.186832E+00 -0.210564E+00 -0.234093E+00 -0.314799E+00 -0.382922E+00 -0.457072E+00
203+ -0.504702E+00 -0.504702E+00 -0.457072E+00 -0.382922E+00 -0.314799E+00 -0.264969E+00
204+ -0.221870E+00 -0.170744E+00 -0.125013E+00 -0.987150E-01 -0.856627E-01 -0.856627E-01
205+ -0.987150E-01 -0.125013E+00 -0.170744E+00 -0.221870E+00 -0.264969E+00 -0.314799E+00
206+ -0.602848E+00 -0.801064E+00 -0.950317E+00 -0.100355E+01 -0.950317E+00 -0.801064E+00
207+ -0.602848E+00 -0.419981E+00 -0.298603E+00 -0.228341E+00 -0.162507E+00 -0.987150E-01
208+ -0.606061E-01 -0.498276E-01 -0.606061E-01 -0.987150E-01 -0.162507E+00 -0.228341E+00
209+ -0.298603E+00 -0.419981E+00 -0.602848E+00 -0.125763E+01 -0.155502E+01 -0.172113E+01
210+ -0.172113E+01 -0.155502E+01 -0.125763E+01 -0.897774E+00 -0.564374E+00 -0.341711E+00
211+ -0.231623E+00 -0.156896E+00 -0.856627E-01 -0.498276E-01 -0.498276E-01 -0.856627E-01
212+ -0.156896E+00 -0.231623E+00 -0.341711E+00 -0.564374E+00 -0.897774E+00 -0.125763E+01
213+ -0.219125E+01 -0.250635E+01 -0.261614E+01 -0.250635E+01 -0.219125E+01 -0.172008E+01
214+ -0.118640E+01 -0.705055E+00 -0.382485E+00 -0.235728E+00 -0.154649E+00 -0.856627E-01
215+ -0.606061E-01 -0.856627E-01 -0.154649E+00 -0.235728E+00 -0.382485E+00 -0.705055E+00
216+ -0.118640E+01 -0.172008E+01 -0.219125E+01 -0.318109E+01 -0.341160E+01 -0.341160E+01
217+ -0.318109E+01 -0.272570E+01 -0.208877E+01 -0.139379E+01 -0.788881E+00 -0.399074E+00
218+ -0.235728E+00 -0.156896E+00 -0.987150E-01 -0.987150E-01 -0.156896E+00 -0.235728E+00
219+ -0.399074E+00 -0.788881E+00 -0.139379E+01 -0.208877E+01 -0.272570E+01 -0.318109E+01
220+ -0.397118E+01 -0.407698E+01 -0.397118E+01 -0.363978E+01 -0.306532E+01 -0.229114E+01
221+ -0.146853E+01 -0.788881E+00 -0.382485E+00 -0.231623E+00 -0.162507E+00 -0.125013E+00
222+ -0.162507E+00 -0.231623E+00 -0.382485E+00 -0.788881E+00 -0.146853E+01 -0.229114E+01
223+ -0.306532E+01 -0.363978E+01 -0.397118E+01 -0.445023E+01 -0.445023E+01 -0.427511E+01
224+ -0.386309E+01 -0.318031E+01 -0.229114E+01 -0.139379E+01 -0.705055E+00 -0.341711E+00
225+ -0.228341E+00 -0.170744E+00 -0.170744E+00 -0.228341E+00 -0.341711E+00 -0.705055E+00
226+ -0.139379E+01 -0.229114E+01 -0.318031E+01 -0.386309E+01 -0.427511E+01 -0.445023E+01
227+ -0.465019E+01 -0.459347E+01 -0.436684E+01 -0.386309E+01 -0.306532E+01 -0.208877E+01
228+ -0.118640E+01 -0.564374E+00 -0.298603E+00 -0.221870E+00 -0.186832E+00 -0.221870E+00
229+ -0.298603E+00 -0.564374E+00 -0.118640E+01 -0.208877E+01 -0.306532E+01 -0.386309E+01
230+ -0.436684E+01 -0.459347E+01 -0.465019E+01 -0.469693E+01 -0.459347E+01 -0.427511E+01
231+ -0.363978E+01 -0.272570E+01 -0.172008E+01 -0.897774E+00 -0.419981E+00 -0.264969E+00
232+ -0.210564E+00 -0.210564E+00 -0.264969E+00 -0.419981E+00 -0.897774E+00 -0.172008E+01
233+ -0.272570E+01 -0.363978E+01 -0.427511E+01 -0.459347E+01 -0.469693E+01 -0.469693E+01
234+ -0.465019E+01 -0.445023E+01 -0.397118E+01 -0.318109E+01 -0.219125E+01 -0.125763E+01
235+ -0.602848E+00 -0.314799E+00 -0.234093E+00 -0.200150E+00 -0.234093E+00 -0.314799E+00
236+ -0.602848E+00 -0.125763E+01 -0.219125E+01 -0.318109E+01 -0.397118E+01 -0.445023E+01
237+ -0.465019E+01 -0.469693E+01 -0.465019E+01 -0.427482E+01 -0.386307E+01 -0.318109E+01
238+ -0.229396E+01 -0.139788E+01 -0.710288E+00 -0.348635E+00 -0.235189E+00 -0.177816E+00
239+ -0.177816E+00 -0.235189E+00 -0.348635E+00 -0.710288E+00 -0.139788E+01 -0.229396E+01
240+ -0.318109E+01 -0.386307E+01 -0.427482E+01 -0.445023E+01 -0.445023E+01 -0.427482E+01
241+ -0.386307E+01 -0.329587E+01 -0.250635E+01 -0.163585E+01 -0.896009E+00 -0.433586E+00
242+ -0.258159E+00 -0.189355E+00 -0.151452E+00 -0.189355E+00 -0.258159E+00 -0.433586E+00
243+ -0.896009E+00 -0.163585E+01 -0.250635E+01 -0.329587E+01 -0.386307E+01 -0.417814E+01
244+ -0.427511E+01 -0.417814E+01 -0.386307E+01 -0.318109E+01 -0.250635E+01 -0.172113E+01
245+ -0.100355E+01 -0.504702E+00 -0.279240E+00 -0.196198E+00 -0.137025E+00 -0.137025E+00
246+ -0.196198E+00 -0.279240E+00 -0.504702E+00 -0.100355E+01 -0.172113E+01 -0.250635E+01
247+ -0.318109E+01 -0.363978E+01 -0.386309E+01 -0.386309E+01 -0.363978E+01 -0.318109E+01
248+ -0.229396E+01 -0.163585E+01 -0.100355E+01 -0.531127E+00 -0.294221E+00 -0.199678E+00
249+ -0.130830E+00 -0.989867E-01 -0.130830E+00 -0.199678E+00 -0.294221E+00 -0.531127E+00
250+ -0.100355E+01 -0.163585E+01 -0.229396E+01 -0.283855E+01 -0.318031E+01 -0.329518E+01
251+ -0.318031E+01 -0.283855E+01 -0.229396E+01 -0.139788E+01 -0.896009E+00 -0.504702E+00
252+ -0.294221E+00 -0.201640E+00 -0.126376E+00 -0.787866E-01 -0.787866E-01 -0.126376E+00
253+ -0.201640E+00 -0.294221E+00 -0.504702E+00 -0.896009E+00 -0.139788E+01 -0.189866E+01
254+ -0.229114E+01 -0.250276E+01 -0.250276E+01 -0.229114E+01 -0.189866E+01 -0.139788E+01
255+ -0.710288E+00 -0.433586E+00 -0.279240E+00 -0.199678E+00 -0.126376E+00 -0.710827E-01
256+ -0.560166E-01 -0.710827E-01 -0.126376E+00 -0.199678E+00 -0.279240E+00 -0.433586E+00
257+ -0.710288E+00 -0.106141E+01 -0.139379E+01 -0.162853E+01 -0.171315E+01 -0.162853E+01
258+ -0.139379E+01 -0.106141E+01 -0.710288E+00 -0.348635E+00 -0.258159E+00 -0.196198E+00
259+ -0.130830E+00 -0.787866E-01 -0.560166E-01 -0.560166E-01 -0.787866E-01 -0.130830E+00
260+ -0.196198E+00 -0.258159E+00 -0.348635E+00 -0.505422E+00 -0.705055E+00 -0.886652E+00
261+ -0.992053E+00 -0.992053E+00 -0.886652E+00 -0.705055E+00 -0.505422E+00 -0.348635E+00
262+ -0.235189E+00 -0.189355E+00 -0.137025E+00 -0.989867E-01 -0.787866E-01 -0.710827E-01
263+ -0.787866E-01 -0.989867E-01 -0.137025E+00 -0.189355E+00 -0.235189E+00 -0.279345E+00
264+ -0.341711E+00 -0.421672E+00 -0.489562E+00 -0.514722E+00 -0.489562E+00 -0.421672E+00
265+ -0.341711E+00 -0.279345E+00 -0.235189E+00 -0.177816E+00 -0.151452E+00 -0.137025E+00
266+ -0.130830E+00 -0.126376E+00 -0.126376E+00 -0.130830E+00 -0.137025E+00 -0.151452E+00
267+ -0.177816E+00 -0.206611E+00 -0.228341E+00 -0.244996E+00 -0.261660E+00 -0.273612E+00
268+ -0.273612E+00 -0.261660E+00 -0.244996E+00 -0.228341E+00 -0.206611E+00 -0.177816E+00
269+ -0.177816E+00 -0.189355E+00 -0.196198E+00 -0.199678E+00 -0.201640E+00 -0.199678E+00
270+ -0.196198E+00 -0.189355E+00 -0.177816E+00 -0.170130E+00 -0.170744E+00 -0.175241E+00
271+ -0.176760E+00 -0.176368E+00 -0.176860E+00 -0.176368E+00 -0.176760E+00 -0.175241E+00
272+ -0.170744E+00 -0.170130E+00 -0.177816E+00 -0.235189E+00 -0.258159E+00 -0.279240E+00
273+ -0.294221E+00 -0.294221E+00 -0.279240E+00 -0.258159E+00 -0.235189E+00 -0.206611E+00
274+ -0.170744E+00 -0.136312E+00 -0.115632E+00 -0.104829E+00 -0.980457E-01 -0.980457E-01
275+ -0.104829E+00 -0.115632E+00 -0.136312E+00 -0.170744E+00 -0.206611E+00 -0.235189E+00
276+ -0.348635E+00 -0.433586E+00 -0.504702E+00 -0.531127E+00 -0.504702E+00 -0.433586E+00
277+ -0.348635E+00 -0.279345E+00 -0.228341E+00 -0.175241E+00 -0.115632E+00 -0.721406E-01
278+ -0.485268E-01 -0.397472E-01 -0.485268E-01 -0.721406E-01 -0.115632E+00 -0.175241E+00
279+ -0.228341E+00 -0.279345E+00 -0.348635E+00 -0.710288E+00 -0.896009E+00 -0.100355E+01
280+ -0.100355E+01 -0.896009E+00 -0.710288E+00 -0.505422E+00 -0.341711E+00 -0.244996E+00
281+ -0.176760E+00 -0.104829E+00 -0.485268E-01 -0.236011E-01 -0.236011E-01 -0.485268E-01
282+ -0.104829E+00 -0.176760E+00 -0.244996E+00 -0.341711E+00 -0.505422E+00 -0.710288E+00
283+ -0.139788E+01 -0.163585E+01 -0.172113E+01 -0.163585E+01 -0.139788E+01 -0.106141E+01
284+ -0.705055E+00 -0.421672E+00 -0.261660E+00 -0.176368E+00 -0.980457E-01 -0.397472E-01
285+ -0.236011E-01 -0.397472E-01 -0.980457E-01 -0.176368E+00 -0.261660E+00 -0.421672E+00
286+ -0.705055E+00 -0.106141E+01 -0.139788E+01 -0.229396E+01 -0.250635E+01 -0.250635E+01
287+ -0.229396E+01 -0.189866E+01 -0.139379E+01 -0.886652E+00 -0.489562E+00 -0.273612E+00
288+ -0.176860E+00 -0.980457E-01 -0.485268E-01 -0.485268E-01 -0.980457E-01 -0.176860E+00
289+ -0.273612E+00 -0.489562E+00 -0.886652E+00 -0.139379E+01 -0.189866E+01 -0.229396E+01
290+ -0.318109E+01 -0.329587E+01 -0.318109E+01 -0.283855E+01 -0.229114E+01 -0.162853E+01
291+ -0.992053E+00 -0.514722E+00 -0.273612E+00 -0.176368E+00 -0.104829E+00 -0.721406E-01
292+ -0.104829E+00 -0.176368E+00 -0.273612E+00 -0.514722E+00 -0.992053E+00 -0.162853E+01
293+ -0.229114E+01 -0.283855E+01 -0.318109E+01 -0.386307E+01 -0.386307E+01 -0.363978E+01
294+ -0.318031E+01 -0.250276E+01 -0.171315E+01 -0.992053E+00 -0.489562E+00 -0.261660E+00
295+ -0.176760E+00 -0.115632E+00 -0.115632E+00 -0.176760E+00 -0.261660E+00 -0.489562E+00
296+ -0.992053E+00 -0.171315E+01 -0.250276E+01 -0.318031E+01 -0.363978E+01 -0.386307E+01
297+ -0.427482E+01 -0.417814E+01 -0.386309E+01 -0.329518E+01 -0.250276E+01 -0.162853E+01
298+ -0.886652E+00 -0.421672E+00 -0.244996E+00 -0.175241E+00 -0.136312E+00 -0.175241E+00
299+ -0.244996E+00 -0.421672E+00 -0.886652E+00 -0.162853E+01 -0.250276E+01 -0.329518E+01
300+ -0.386309E+01 -0.417814E+01 -0.427482E+01 -0.445023E+01 -0.427511E+01 -0.386309E+01
301+ -0.318031E+01 -0.229114E+01 -0.139379E+01 -0.705055E+00 -0.341711E+00 -0.228341E+00
302+ -0.170744E+00 -0.170744E+00 -0.228341E+00 -0.341711E+00 -0.705055E+00 -0.139379E+01
303+ -0.229114E+01 -0.318031E+01 -0.386309E+01 -0.427511E+01 -0.445023E+01 -0.445023E+01
304+ -0.445023E+01 -0.417814E+01 -0.363978E+01 -0.283855E+01 -0.189866E+01 -0.106141E+01
305+ -0.505422E+00 -0.279345E+00 -0.206611E+00 -0.170130E+00 -0.206611E+00 -0.279345E+00
306+ -0.505422E+00 -0.106141E+01 -0.189866E+01 -0.283855E+01 -0.363978E+01 -0.417814E+01
307+ -0.445023E+01 -0.452735E+01 -0.445023E+01 -0.427482E+01 -0.386307E+01 -0.318109E+01
308+ -0.229396E+01 -0.139788E+01 -0.710288E+00 -0.348635E+00 -0.235189E+00 -0.177816E+00
309+ -0.177816E+00 -0.235189E+00 -0.348635E+00 -0.710288E+00 -0.139788E+01 -0.229396E+01
310+ -0.318109E+01 -0.386307E+01 -0.427482E+01 -0.445023E+01 -0.445023E+01 -0.427482E+01
311+ -0.352749E+01 -0.295236E+01 -0.219125E+01 -0.139788E+01 -0.749906E+00 -0.373066E+00
312+ -0.235040E+00 -0.166541E+00 -0.129916E+00 -0.166541E+00 -0.235040E+00 -0.373066E+00
313+ -0.749906E+00 -0.139788E+01 -0.219125E+01 -0.295236E+01 -0.352749E+01 -0.386307E+01
314+ -0.397118E+01 -0.386307E+01 -0.352749E+01 -0.295236E+01 -0.229384E+01 -0.155502E+01
315+ -0.896009E+00 -0.454015E+00 -0.263590E+00 -0.184326E+00 -0.125542E+00 -0.125542E+00
316+ -0.184326E+00 -0.263590E+00 -0.454015E+00 -0.896009E+00 -0.155502E+01 -0.229384E+01
317+ -0.295236E+01 -0.341198E+01 -0.363978E+01 -0.363978E+01 -0.341198E+01 -0.295236E+01
318+ -0.219125E+01 -0.155502E+01 -0.950317E+00 -0.504702E+00 -0.285789E+00 -0.194925E+00
319+ -0.125744E+00 -0.950188E-01 -0.125744E+00 -0.194925E+00 -0.285789E+00 -0.504702E+00
320+ -0.950317E+00 -0.155502E+01 -0.219125E+01 -0.272570E+01 -0.306532E+01 -0.318031E+01
321+ -0.306532E+01 -0.272570E+01 -0.219125E+01 -0.139788E+01 -0.896009E+00 -0.504702E+00
322+ -0.294221E+00 -0.201640E+00 -0.126376E+00 -0.787866E-01 -0.787866E-01 -0.126376E+00
323+ -0.201640E+00 -0.294221E+00 -0.504702E+00 -0.896009E+00 -0.139788E+01 -0.189866E+01
324+ -0.229114E+01 -0.250276E+01 -0.250276E+01 -0.229114E+01 -0.189866E+01 -0.139788E+01
325+ -0.749906E+00 -0.454015E+00 -0.285789E+00 -0.201640E+00 -0.127014E+00 -0.692156E-01
326+ -0.530337E-01 -0.692156E-01 -0.127014E+00 -0.201640E+00 -0.285789E+00 -0.454015E+00
327+ -0.749906E+00 -0.112042E+01 -0.146853E+01 -0.171315E+01 -0.180143E+01 -0.171315E+01
328+ -0.146853E+01 -0.112042E+01 -0.749906E+00 -0.373066E+00 -0.263590E+00 -0.194925E+00
329+ -0.126376E+00 -0.692156E-01 -0.441483E-01 -0.441483E-01 -0.692156E-01 -0.126376E+00
330+ -0.194925E+00 -0.263590E+00 -0.373066E+00 -0.559612E+00 -0.788881E+00 -0.992053E+00
331+ -0.111060E+01 -0.111060E+01 -0.992053E+00 -0.788881E+00 -0.559612E+00 -0.373066E+00
332+ -0.235040E+00 -0.184326E+00 -0.125744E+00 -0.787866E-01 -0.530337E-01 -0.441483E-01
333+ -0.530337E-01 -0.787866E-01 -0.125744E+00 -0.184326E+00 -0.235040E+00 -0.293728E+00
334+ -0.382485E+00 -0.489562E+00 -0.577300E+00 -0.610223E+00 -0.577300E+00 -0.489562E+00
335+ -0.382485E+00 -0.293728E+00 -0.235040E+00 -0.166541E+00 -0.125542E+00 -0.950188E-01
336+ -0.787866E-01 -0.692156E-01 -0.692156E-01 -0.787866E-01 -0.950188E-01 -0.125542E+00
337+ -0.166541E+00 -0.202808E+00 -0.231623E+00 -0.261660E+00 -0.293818E+00 -0.314101E+00
338+ -0.314101E+00 -0.293818E+00 -0.261660E+00 -0.231623E+00 -0.202808E+00 -0.166541E+00
339+ -0.129916E+00 -0.125542E+00 -0.125744E+00 -0.126376E+00 -0.127014E+00 -0.126376E+00
340+ -0.125744E+00 -0.125542E+00 -0.129916E+00 -0.144116E+00 -0.162507E+00 -0.176760E+00
341+ -0.185127E+00 -0.190330E+00 -0.192662E+00 -0.190330E+00 -0.185127E+00 -0.176760E+00
342+ -0.162507E+00 -0.144116E+00 -0.129916E+00 -0.166541E+00 -0.184326E+00 -0.194925E+00
343+ -0.201640E+00 -0.201640E+00 -0.194925E+00 -0.184326E+00 -0.166541E+00 -0.144116E+00
344+ -0.125013E+00 -0.115632E+00 -0.113343E+00 -0.110732E+00 -0.109925E+00 -0.109925E+00
345+ -0.110732E+00 -0.113343E+00 -0.115632E+00 -0.125013E+00 -0.144116E+00 -0.166541E+00
346+ -0.235040E+00 -0.263590E+00 -0.285789E+00 -0.294221E+00 -0.285789E+00 -0.263590E+00
347+ -0.235040E+00 -0.202808E+00 -0.162507E+00 -0.115632E+00 -0.779253E-01 -0.555487E-01
348+ -0.413051E-01 -0.356421E-01 -0.413051E-01 -0.555487E-01 -0.779253E-01 -0.115632E+00
349+ -0.162507E+00 -0.202808E+00 -0.235040E+00 -0.373066E+00 -0.454015E+00 -0.504702E+00
350+ -0.504702E+00 -0.454015E+00 -0.373066E+00 -0.293728E+00 -0.231623E+00 -0.176760E+00
351+ -0.113343E+00 -0.555487E-01 -0.193232E-01 -0.231149E-03 -0.231149E-03 -0.193232E-01
352+ -0.555487E-01 -0.113343E+00 -0.176760E+00 -0.231623E+00 -0.293728E+00 -0.373066E+00
353+ -0.749906E+00 -0.896009E+00 -0.950317E+00 -0.896009E+00 -0.749906E+00 -0.559612E+00
354+ -0.382485E+00 -0.261660E+00 -0.185127E+00 -0.110732E+00 -0.413051E-01 -0.231149E-03
355+ 0.117156E-01 -0.231149E-03 -0.413051E-01 -0.110732E+00 -0.185127E+00 -0.261660E+00
356+ -0.382485E+00 -0.559612E+00 -0.749906E+00 -0.139788E+01 -0.155502E+01 -0.155502E+01
357+ -0.139788E+01 -0.112042E+01 -0.788881E+00 -0.489562E+00 -0.293818E+00 -0.190330E+00
358+ -0.109925E+00 -0.356421E-01 -0.231149E-03 -0.231149E-03 -0.356421E-01 -0.109925E+00
359+ -0.190330E+00 -0.293818E+00 -0.489562E+00 -0.788881E+00 -0.112042E+01 -0.139788E+01
360+ -0.219125E+01 -0.229384E+01 -0.219125E+01 -0.189866E+01 -0.146853E+01 -0.992053E+00
361+ -0.577300E+00 -0.314101E+00 -0.192662E+00 -0.109925E+00 -0.413051E-01 -0.193232E-01
362+ -0.413051E-01 -0.109925E+00 -0.192662E+00 -0.314101E+00 -0.577300E+00 -0.992053E+00
363+ -0.146853E+01 -0.189866E+01 -0.219125E+01 -0.295236E+01 -0.295236E+01 -0.272570E+01
364+ -0.229114E+01 -0.171315E+01 -0.111060E+01 -0.610223E+00 -0.314101E+00 -0.190330E+00
365+ -0.110732E+00 -0.555487E-01 -0.555487E-01 -0.110732E+00 -0.190330E+00 -0.314101E+00
366+ -0.610223E+00 -0.111060E+01 -0.171315E+01 -0.229114E+01 -0.272570E+01 -0.295236E+01
367+ -0.352749E+01 -0.341198E+01 -0.306532E+01 -0.250276E+01 -0.180143E+01 -0.111060E+01
368+ -0.577300E+00 -0.293818E+00 -0.185127E+00 -0.113343E+00 -0.779253E-01 -0.113343E+00
369+ -0.185127E+00 -0.293818E+00 -0.577300E+00 -0.111060E+01 -0.180143E+01 -0.250276E+01
370+ -0.306532E+01 -0.341198E+01 -0.352749E+01 -0.386307E+01 -0.363978E+01 -0.318031E+01
371+ -0.250276E+01 -0.171315E+01 -0.992053E+00 -0.489562E+00 -0.261660E+00 -0.176760E+00
372+ -0.115632E+00 -0.115632E+00 -0.176760E+00 -0.261660E+00 -0.489562E+00 -0.992053E+00
373+ -0.171315E+01 -0.250276E+01 -0.318031E+01 -0.363978E+01 -0.386307E+01 -0.386307E+01
374+ -0.397118E+01 -0.363978E+01 -0.306532E+01 -0.229114E+01 -0.146853E+01 -0.788881E+00
375+ -0.382485E+00 -0.231623E+00 -0.162507E+00 -0.125013E+00 -0.162507E+00 -0.231623E+00
376+ -0.382485E+00 -0.788881E+00 -0.146853E+01 -0.229114E+01 -0.306532E+01 -0.363978E+01
377+ -0.397118E+01 -0.407698E+01 -0.397118E+01 -0.386307E+01 -0.341198E+01 -0.272570E+01
378+ -0.189866E+01 -0.112042E+01 -0.559612E+00 -0.293728E+00 -0.202808E+00 -0.144116E+00
379+ -0.144116E+00 -0.202808E+00 -0.293728E+00 -0.559612E+00 -0.112042E+01 -0.189866E+01
380+ -0.272570E+01 -0.341198E+01 -0.386307E+01 -0.407698E+01 -0.407698E+01 -0.386307E+01
381+ -0.352749E+01 -0.295236E+01 -0.219125E+01 -0.139788E+01 -0.749906E+00 -0.373066E+00
382+ -0.235040E+00 -0.166541E+00 -0.129916E+00 -0.166541E+00 -0.235040E+00 -0.373066E+00
383+ -0.749906E+00 -0.139788E+01 -0.219125E+01 -0.295236E+01 -0.352749E+01 -0.386307E+01
384+ -0.397118E+01 -0.386307E+01 -0.352749E+01 -0.250792E+01 -0.190155E+01 -0.125763E+01
385+ -0.710288E+00 -0.373066E+00 -0.235577E+00 -0.159484E+00 -0.103802E+00 -0.103802E+00
386+ -0.159484E+00 -0.235577E+00 -0.373066E+00 -0.710288E+00 -0.125763E+01 -0.190155E+01
387+ -0.250792E+01 -0.295236E+01 -0.318109E+01 -0.318109E+01 -0.295236E+01 -0.250792E+01
388+ -0.190155E+01 -0.132855E+01 -0.801064E+00 -0.433586E+00 -0.263590E+00 -0.181598E+00
389+ -0.113165E+00 -0.861538E-01 -0.113165E+00 -0.181598E+00 -0.263590E+00 -0.433586E+00
390+ -0.801064E+00 -0.132855E+01 -0.190155E+01 -0.239913E+01 -0.272570E+01 -0.283855E+01
391+ -0.272570E+01 -0.239913E+01 -0.190155E+01 -0.125763E+01 -0.801064E+00 -0.457072E+00
392+ -0.279240E+00 -0.194925E+00 -0.120548E+00 -0.765323E-01 -0.765323E-01 -0.120548E+00
393+ -0.194925E+00 -0.279240E+00 -0.457072E+00 -0.801064E+00 -0.125763E+01 -0.172008E+01
394+ -0.208877E+01 -0.229114E+01 -0.229114E+01 -0.208877E+01 -0.172008E+01 -0.125763E+01
395+ -0.710288E+00 -0.433586E+00 -0.279240E+00 -0.199678E+00 -0.126376E+00 -0.710827E-01
396+ -0.560166E-01 -0.710827E-01 -0.126376E+00 -0.199678E+00 -0.279240E+00 -0.433586E+00
397+ -0.710288E+00 -0.106141E+01 -0.139379E+01 -0.162853E+01 -0.171315E+01 -0.162853E+01
398+ -0.139379E+01 -0.106141E+01 -0.710288E+00 -0.373066E+00 -0.263590E+00 -0.194925E+00
399+ -0.126376E+00 -0.692156E-01 -0.441483E-01 -0.441483E-01 -0.692156E-01 -0.126376E+00
400+ -0.194925E+00 -0.263590E+00 -0.373066E+00 -0.559612E+00 -0.788881E+00 -0.992053E+00
401+ -0.111060E+01 -0.111060E+01 -0.992053E+00 -0.788881E+00 -0.559612E+00 -0.373066E+00
402+ -0.235577E+00 -0.181598E+00 -0.120548E+00 -0.710827E-01 -0.441483E-01 -0.352624E-01
403+ -0.441483E-01 -0.710827E-01 -0.120548E+00 -0.181598E+00 -0.235577E+00 -0.300970E+00
404+ -0.399074E+00 -0.514722E+00 -0.610223E+00 -0.647102E+00 -0.610223E+00 -0.514722E+00
405+ -0.399074E+00 -0.300970E+00 -0.235577E+00 -0.159484E+00 -0.113165E+00 -0.765323E-01
406+ -0.560166E-01 -0.441483E-01 -0.441483E-01 -0.560166E-01 -0.765323E-01 -0.113165E+00
407+ -0.159484E+00 -0.200309E+00 -0.235728E+00 -0.273612E+00 -0.314101E+00 -0.341149E+00
408+ -0.341149E+00 -0.314101E+00 -0.273612E+00 -0.235728E+00 -0.200309E+00 -0.159484E+00
409+ -0.103802E+00 -0.861538E-01 -0.765323E-01 -0.710827E-01 -0.692156E-01 -0.710827E-01
410+ -0.765323E-01 -0.861538E-01 -0.103802E+00 -0.130228E+00 -0.156896E+00 -0.176368E+00
411+ -0.190330E+00 -0.199955E+00 -0.203276E+00 -0.199955E+00 -0.190330E+00 -0.176368E+00
412+ -0.156896E+00 -0.130228E+00 -0.103802E+00 -0.103802E+00 -0.113165E+00 -0.120548E+00
413+ -0.126376E+00 -0.126376E+00 -0.120548E+00 -0.113165E+00 -0.103802E+00 -0.975180E-01
414+ -0.987150E-01 -0.104829E+00 -0.110732E+00 -0.114438E+00 -0.117977E+00 -0.117977E+00
415+ -0.114438E+00 -0.110732E+00 -0.104829E+00 -0.987150E-01 -0.975180E-01 -0.103802E+00
416+ -0.159484E+00 -0.181598E+00 -0.194925E+00 -0.199678E+00 -0.194925E+00 -0.181598E+00
417+ -0.159484E+00 -0.130228E+00 -0.987150E-01 -0.721406E-01 -0.555487E-01 -0.437808E-01
418+ -0.375202E-01 -0.371743E-01 -0.375202E-01 -0.437808E-01 -0.555487E-01 -0.721406E-01
419+ -0.987150E-01 -0.130228E+00 -0.159484E+00 -0.235577E+00 -0.263590E+00 -0.279240E+00
420+ -0.279240E+00 -0.263590E+00 -0.235577E+00 -0.200309E+00 -0.156896E+00 -0.104829E+00
421+ -0.555487E-01 -0.199027E-01 0.407676E-02 0.170254E-01 0.170254E-01 0.407676E-02
422+ -0.199027E-01 -0.555487E-01 -0.104829E+00 -0.156896E+00 -0.200309E+00 -0.235577E+00
423+ -0.373066E+00 -0.433586E+00 -0.457072E+00 -0.433586E+00 -0.373066E+00 -0.300970E+00
424+ -0.235728E+00 -0.176368E+00 -0.110732E+00 -0.437808E-01 0.407676E-02 0.320647E-01
425+ 0.428656E-01 0.320647E-01 0.407676E-02 -0.437808E-01 -0.110732E+00 -0.176368E+00
426+ -0.235728E+00 -0.300970E+00 -0.373066E+00 -0.710288E+00 -0.801064E+00 -0.801064E+00
427+ -0.710288E+00 -0.559612E+00 -0.399074E+00 -0.273612E+00 -0.190330E+00 -0.114438E+00
428+ -0.375202E-01 0.170254E-01 0.428656E-01 0.428656E-01 0.170254E-01 -0.375202E-01
429+ -0.114438E+00 -0.190330E+00 -0.273612E+00 -0.399074E+00 -0.559612E+00 -0.710288E+00
430+ -0.125763E+01 -0.132855E+01 -0.125763E+01 -0.106141E+01 -0.788881E+00 -0.514722E+00
431+ -0.314101E+00 -0.199955E+00 -0.117977E+00 -0.371743E-01 0.170254E-01 0.320647E-01
432+ 0.170254E-01 -0.371743E-01 -0.117977E+00 -0.199955E+00 -0.314101E+00 -0.514722E+00
433+ -0.788881E+00 -0.106141E+01 -0.125763E+01 -0.190155E+01 -0.190155E+01 -0.172008E+01
434+ -0.139379E+01 -0.992053E+00 -0.610223E+00 -0.341149E+00 -0.203276E+00 -0.117977E+00
435+ -0.375202E-01 0.407676E-02 0.407676E-02 -0.375202E-01 -0.117977E+00 -0.203276E+00
436+ -0.341149E+00 -0.610223E+00 -0.992053E+00 -0.139379E+01 -0.172008E+01 -0.190155E+01
437+ -0.250792E+01 -0.239913E+01 -0.208877E+01 -0.162853E+01 -0.111060E+01 -0.647102E+00
438+ -0.341149E+00 -0.199955E+00 -0.114438E+00 -0.437808E-01 -0.199027E-01 -0.437808E-01
439+ -0.114438E+00 -0.199955E+00 -0.341149E+00 -0.647102E+00 -0.111060E+01 -0.162853E+01
440+ -0.208877E+01 -0.239913E+01 -0.250792E+01 -0.295236E+01 -0.272570E+01 -0.229114E+01
441+ -0.171315E+01 -0.111060E+01 -0.610223E+00 -0.314101E+00 -0.190330E+00 -0.110732E+00
442+ -0.555487E-01 -0.555487E-01 -0.110732E+00 -0.190330E+00 -0.314101E+00 -0.610223E+00
443+ -0.111060E+01 -0.171315E+01 -0.229114E+01 -0.272570E+01 -0.295236E+01 -0.295236E+01
444+ -0.318109E+01 -0.283855E+01 -0.229114E+01 -0.162853E+01 -0.992053E+00 -0.514722E+00
445+ -0.273612E+00 -0.176368E+00 -0.104829E+00 -0.721406E-01 -0.104829E+00 -0.176368E+00
446+ -0.273612E+00 -0.514722E+00 -0.992053E+00 -0.162853E+01 -0.229114E+01 -0.283855E+01
447+ -0.318109E+01 -0.329587E+01 -0.318109E+01 -0.318109E+01 -0.272570E+01 -0.208877E+01
448+ -0.139379E+01 -0.788881E+00 -0.399074E+00 -0.235728E+00 -0.156896E+00 -0.987150E-01
449+ -0.987150E-01 -0.156896E+00 -0.235728E+00 -0.399074E+00 -0.788881E+00 -0.139379E+01
450+ -0.208877E+01 -0.272570E+01 -0.318109E+01 -0.341160E+01 -0.341160E+01 -0.318109E+01
451+ -0.295236E+01 -0.239913E+01 -0.172008E+01 -0.106141E+01 -0.559612E+00 -0.300970E+00
452+ -0.200309E+00 -0.130228E+00 -0.975180E-01 -0.130228E+00 -0.200309E+00 -0.300970E+00
453+ -0.559612E+00 -0.106141E+01 -0.172008E+01 -0.239913E+01 -0.295236E+01 -0.329587E+01
454+ -0.341160E+01 -0.329587E+01 -0.295236E+01 -0.250792E+01 -0.190155E+01 -0.125763E+01
455+ -0.710288E+00 -0.373066E+00 -0.235577E+00 -0.159484E+00 -0.103802E+00 -0.103802E+00
456+ -0.159484E+00 -0.235577E+00 -0.373066E+00 -0.710288E+00 -0.125763E+01 -0.190155E+01
457+ -0.250792E+01 -0.295236E+01 -0.318109E+01 -0.318109E+01 -0.295236E+01 -0.250792E+01
458+ -0.147892E+01 -0.100995E+01 -0.602848E+00 -0.348635E+00 -0.235040E+00 -0.159484E+00
459+ -0.957745E-01 -0.749146E-01 -0.957745E-01 -0.159484E+00 -0.235040E+00 -0.348635E+00
460+ -0.602848E+00 -0.100995E+01 -0.147892E+01 -0.190155E+01 -0.219125E+01 -0.229396E+01
461+ -0.219125E+01 -0.190155E+01 -0.147892E+01 -0.100995E+01 -0.639173E+00 -0.382922E+00
462+ -0.258159E+00 -0.184326E+00 -0.113165E+00 -0.757530E-01 -0.757530E-01 -0.113165E+00
463+ -0.184326E+00 -0.258159E+00 -0.382922E+00 -0.639173E+00 -0.100995E+01 -0.140101E+01
464+ -0.172008E+01 -0.189866E+01 -0.189866E+01 -0.172008E+01 -0.140101E+01 -0.100995E+01
465+ -0.602848E+00 -0.382922E+00 -0.266070E+00 -0.196198E+00 -0.125744E+00 -0.765323E-01
466+ -0.637050E-01 -0.765323E-01 -0.125744E+00 -0.196198E+00 -0.266070E+00 -0.382922E+00
467+ -0.602848E+00 -0.897774E+00 -0.118640E+01 -0.139379E+01 -0.146853E+01 -0.139379E+01
468+ -0.118640E+01 -0.897774E+00 -0.602848E+00 -0.348635E+00 -0.258159E+00 -0.196198E+00
469+ -0.130830E+00 -0.787866E-01 -0.560166E-01 -0.560166E-01 -0.787866E-01 -0.130830E+00
470+ -0.196198E+00 -0.258159E+00 -0.348635E+00 -0.505422E+00 -0.705055E+00 -0.886652E+00
471+ -0.992053E+00 -0.992053E+00 -0.886652E+00 -0.705055E+00 -0.505422E+00 -0.348635E+00
472+ -0.235040E+00 -0.184326E+00 -0.125744E+00 -0.787866E-01 -0.530337E-01 -0.441483E-01
473+ -0.530337E-01 -0.787866E-01 -0.125744E+00 -0.184326E+00 -0.235040E+00 -0.293728E+00
474+ -0.382485E+00 -0.489562E+00 -0.577300E+00 -0.610223E+00 -0.577300E+00 -0.489562E+00
475+ -0.382485E+00 -0.293728E+00 -0.235040E+00 -0.159484E+00 -0.113165E+00 -0.765323E-01
476+ -0.560166E-01 -0.441483E-01 -0.441483E-01 -0.560166E-01 -0.765323E-01 -0.113165E+00
477+ -0.159484E+00 -0.200309E+00 -0.235728E+00 -0.273612E+00 -0.314101E+00 -0.341149E+00
478+ -0.341149E+00 -0.314101E+00 -0.273612E+00 -0.235728E+00 -0.200309E+00 -0.159484E+00
479+ -0.957745E-01 -0.757530E-01 -0.637050E-01 -0.560166E-01 -0.530337E-01 -0.560166E-01
480+ -0.637050E-01 -0.757530E-01 -0.957745E-01 -0.124738E+00 -0.154649E+00 -0.176860E+00
481+ -0.192662E+00 -0.203276E+00 -0.206718E+00 -0.203276E+00 -0.192662E+00 -0.176860E+00
482+ -0.154649E+00 -0.124738E+00 -0.957745E-01 -0.749146E-01 -0.757530E-01 -0.765323E-01
483+ -0.787866E-01 -0.787866E-01 -0.765323E-01 -0.757530E-01 -0.749146E-01 -0.769317E-01
484+ -0.856627E-01 -0.980457E-01 -0.109925E+00 -0.117977E+00 -0.120662E+00 -0.120662E+00
485+ -0.117977E+00 -0.109925E+00 -0.980457E-01 -0.856627E-01 -0.769317E-01 -0.749146E-01
486+ -0.957745E-01 -0.113165E+00 -0.125744E+00 -0.130830E+00 -0.125744E+00 -0.113165E+00
487+ -0.957745E-01 -0.769317E-01 -0.606061E-01 -0.485268E-01 -0.413051E-01 -0.375202E-01
488+ -0.369149E-01 -0.375950E-01 -0.369149E-01 -0.375202E-01 -0.413051E-01 -0.485268E-01
489+ -0.606061E-01 -0.769317E-01 -0.957745E-01 -0.159484E+00 -0.184326E+00 -0.196198E+00
490+ -0.196198E+00 -0.184326E+00 -0.159484E+00 -0.124738E+00 -0.856627E-01 -0.485268E-01
491+ -0.193232E-01 0.407676E-02 0.212404E-01 0.272745E-01 0.272745E-01 0.212404E-01
492+ 0.407676E-02 -0.193232E-01 -0.485268E-01 -0.856627E-01 -0.124738E+00 -0.159484E+00
493+ -0.235040E+00 -0.258159E+00 -0.266070E+00 -0.258159E+00 -0.235040E+00 -0.200309E+00
494+ -0.154649E+00 -0.980457E-01 -0.413051E-01 0.407676E-02 0.371996E-01 0.578621E-01
495+ 0.645788E-01 0.578621E-01 0.371996E-01 0.407676E-02 -0.413051E-01 -0.980457E-01
496+ -0.154649E+00 -0.200309E+00 -0.235040E+00 -0.348635E+00 -0.382922E+00 -0.382922E+00
497+ -0.348635E+00 -0.293728E+00 -0.235728E+00 -0.176860E+00 -0.109925E+00 -0.375202E-01
498+ 0.212404E-01 0.578621E-01 0.781343E-01 0.781343E-01 0.578621E-01 0.212404E-01
499+ -0.375202E-01 -0.109925E+00 -0.176860E+00 -0.235728E+00 -0.293728E+00 -0.348635E+00
500+ -0.602848E+00 -0.639173E+00 -0.602848E+00 -0.505422E+00 -0.382485E+00 -0.273612E+00
501+ -0.192662E+00 -0.117977E+00 -0.369149E-01 0.272745E-01 0.645788E-01 0.781343E-01
502+ 0.645788E-01 0.272745E-01 -0.369149E-01 -0.117977E+00 -0.192662E+00 -0.273612E+00
503+ -0.382485E+00 -0.505422E+00 -0.602848E+00 -0.100995E+01 -0.100995E+01 -0.897774E+00
504+ -0.705055E+00 -0.489562E+00 -0.314101E+00 -0.203276E+00 -0.120662E+00 -0.375950E-01
505+ 0.272745E-01 0.578621E-01 0.578621E-01 0.272745E-01 -0.375950E-01 -0.120662E+00
506+ -0.203276E+00 -0.314101E+00 -0.489562E+00 -0.705055E+00 -0.897774E+00 -0.100995E+01
507+ -0.147892E+01 -0.140101E+01 -0.118640E+01 -0.886652E+00 -0.577300E+00 -0.341149E+00
508+ -0.206718E+00 -0.120662E+00 -0.369149E-01 0.212404E-01 0.371996E-01 0.212404E-01
509+ -0.369149E-01 -0.120662E+00 -0.206718E+00 -0.341149E+00 -0.577300E+00 -0.886652E+00
510+ -0.118640E+01 -0.140101E+01 -0.147892E+01 -0.190155E+01 -0.172008E+01 -0.139379E+01
511+ -0.992053E+00 -0.610223E+00 -0.341149E+00 -0.203276E+00 -0.117977E+00 -0.375202E-01
512+ 0.407676E-02 0.407676E-02 -0.375202E-01 -0.117977E+00 -0.203276E+00 -0.341149E+00
513+ -0.610223E+00 -0.992053E+00 -0.139379E+01 -0.172008E+01 -0.190155E+01 -0.190155E+01
514+ -0.219125E+01 -0.189866E+01 -0.146853E+01 -0.992053E+00 -0.577300E+00 -0.314101E+00
515+ -0.192662E+00 -0.109925E+00 -0.413051E-01 -0.193232E-01 -0.413051E-01 -0.109925E+00
516+ -0.192662E+00 -0.314101E+00 -0.577300E+00 -0.992053E+00 -0.146853E+01 -0.189866E+01
517+ -0.219125E+01 -0.229384E+01 -0.219125E+01 -0.229396E+01 -0.189866E+01 -0.139379E+01
518+ -0.886652E+00 -0.489562E+00 -0.273612E+00 -0.176860E+00 -0.980457E-01 -0.485268E-01
519+ -0.485268E-01 -0.980457E-01 -0.176860E+00 -0.273612E+00 -0.489562E+00 -0.886652E+00
520+ -0.139379E+01 -0.189866E+01 -0.229396E+01 -0.250635E+01 -0.250635E+01 -0.229396E+01
521+ -0.219125E+01 -0.172008E+01 -0.118640E+01 -0.705055E+00 -0.382485E+00 -0.235728E+00
522+ -0.154649E+00 -0.856627E-01 -0.606061E-01 -0.856627E-01 -0.154649E+00 -0.235728E+00
523+ -0.382485E+00 -0.705055E+00 -0.118640E+01 -0.172008E+01 -0.219125E+01 -0.250635E+01
524+ -0.261614E+01 -0.250635E+01 -0.219125E+01 -0.190155E+01 -0.140101E+01 -0.897774E+00
525+ -0.505422E+00 -0.293728E+00 -0.200309E+00 -0.124738E+00 -0.769317E-01 -0.769317E-01
526+ -0.124738E+00 -0.200309E+00 -0.293728E+00 -0.505422E+00 -0.897774E+00 -0.140101E+01
527+ -0.190155E+01 -0.229384E+01 -0.250635E+01 -0.250635E+01 -0.229384E+01 -0.190155E+01
528+ -0.147892E+01 -0.100995E+01 -0.602848E+00 -0.348635E+00 -0.235040E+00 -0.159484E+00
529+ -0.957745E-01 -0.749146E-01 -0.957745E-01 -0.159484E+00 -0.235040E+00 -0.348635E+00
530+ -0.602848E+00 -0.100995E+01 -0.147892E+01 -0.190155E+01 -0.219125E+01 -0.229396E+01
531+ -0.219125E+01 -0.190155E+01 -0.147892E+01 -0.719950E+00 -0.468369E+00 -0.314799E+00
532+ -0.235189E+00 -0.166541E+00 -0.103802E+00 -0.749146E-01 -0.749146E-01 -0.103802E+00
533+ -0.166541E+00 -0.235189E+00 -0.314799E+00 -0.468369E+00 -0.719950E+00 -0.100995E+01
534+ -0.125763E+01 -0.139788E+01 -0.139788E+01 -0.125763E+01 -0.100995E+01 -0.719950E+00
535+ -0.468369E+00 -0.327735E+00 -0.252302E+00 -0.189355E+00 -0.125542E+00 -0.861538E-01
536+ -0.757530E-01 -0.861538E-01 -0.125542E+00 -0.189355E+00 -0.252302E+00 -0.327735E+00
537+ -0.468369E+00 -0.677464E+00 -0.897774E+00 -0.106141E+01 -0.112042E+01 -0.106141E+01
538+ -0.897774E+00 -0.677464E+00 -0.468369E+00 -0.314799E+00 -0.252302E+00 -0.196840E+00
539+ -0.137025E+00 -0.950188E-01 -0.765323E-01 -0.765323E-01 -0.950188E-01 -0.137025E+00
540+ -0.196840E+00 -0.252302E+00 -0.314799E+00 -0.419981E+00 -0.564374E+00 -0.705055E+00
541+ -0.788881E+00 -0.788881E+00 -0.705055E+00 -0.564374E+00 -0.419981E+00 -0.314799E+00
542+ -0.235189E+00 -0.189355E+00 -0.137025E+00 -0.989867E-01 -0.787866E-01 -0.710827E-01
543+ -0.787866E-01 -0.989867E-01 -0.137025E+00 -0.189355E+00 -0.235189E+00 -0.279345E+00
544+ -0.341711E+00 -0.421672E+00 -0.489562E+00 -0.514722E+00 -0.489562E+00 -0.421672E+00
545+ -0.341711E+00 -0.279345E+00 -0.235189E+00 -0.166541E+00 -0.125542E+00 -0.950188E-01
546+ -0.787866E-01 -0.692156E-01 -0.692156E-01 -0.787866E-01 -0.950188E-01 -0.125542E+00
547+ -0.166541E+00 -0.202808E+00 -0.231623E+00 -0.261660E+00 -0.293818E+00 -0.314101E+00
548+ -0.314101E+00 -0.293818E+00 -0.261660E+00 -0.231623E+00 -0.202808E+00 -0.166541E+00
549+ -0.103802E+00 -0.861538E-01 -0.765323E-01 -0.710827E-01 -0.692156E-01 -0.710827E-01
550+ -0.765323E-01 -0.861538E-01 -0.103802E+00 -0.130228E+00 -0.156896E+00 -0.176368E+00
551+ -0.190330E+00 -0.199955E+00 -0.203276E+00 -0.199955E+00 -0.190330E+00 -0.176368E+00
552+ -0.156896E+00 -0.130228E+00 -0.103802E+00 -0.749146E-01 -0.757530E-01 -0.765323E-01
553+ -0.787866E-01 -0.787866E-01 -0.765323E-01 -0.757530E-01 -0.749146E-01 -0.769317E-01
554+ -0.856627E-01 -0.980457E-01 -0.109925E+00 -0.117977E+00 -0.120662E+00 -0.120662E+00
555+ -0.117977E+00 -0.109925E+00 -0.980457E-01 -0.856627E-01 -0.769317E-01 -0.749146E-01
556+ -0.749146E-01 -0.861538E-01 -0.950188E-01 -0.989867E-01 -0.950188E-01 -0.861538E-01
557+ -0.749146E-01 -0.622448E-01 -0.498276E-01 -0.397472E-01 -0.356421E-01 -0.371743E-01
558+ -0.375950E-01 -0.364130E-01 -0.375950E-01 -0.371743E-01 -0.356421E-01 -0.397472E-01
559+ -0.498276E-01 -0.622448E-01 -0.749146E-01 -0.103802E+00 -0.125542E+00 -0.137025E+00
560+ -0.137025E+00 -0.125542E+00 -0.103802E+00 -0.769317E-01 -0.498276E-01 -0.236011E-01
561+ -0.231149E-03 0.170254E-01 0.272745E-01 0.330921E-01 0.330921E-01 0.272745E-01
562+ 0.170254E-01 -0.231149E-03 -0.236011E-01 -0.498276E-01 -0.769317E-01 -0.103802E+00
563+ -0.166541E+00 -0.189355E+00 -0.196840E+00 -0.189355E+00 -0.166541E+00 -0.130228E+00
564+ -0.856627E-01 -0.397472E-01 -0.231149E-03 0.320647E-01 0.578621E-01 0.732153E-01
565+ 0.778833E-01 0.732153E-01 0.578621E-01 0.320647E-01 -0.231149E-03 -0.397472E-01
566+ -0.856627E-01 -0.130228E+00 -0.166541E+00 -0.235189E+00 -0.252302E+00 -0.252302E+00
567+ -0.235189E+00 -0.202808E+00 -0.156896E+00 -0.980457E-01 -0.356421E-01 0.170254E-01
568+ 0.578621E-01 0.870523E-01 0.101681E+00 0.101681E+00 0.870523E-01 0.578621E-01
569+ 0.170254E-01 -0.356421E-01 -0.980457E-01 -0.156896E+00 -0.202808E+00 -0.235189E+00
570+ -0.314799E+00 -0.327735E+00 -0.314799E+00 -0.279345E+00 -0.231623E+00 -0.176368E+00
571+ -0.109925E+00 -0.371743E-01 0.272745E-01 0.732153E-01 0.101681E+00 0.112324E+00
572+ 0.101681E+00 0.732153E-01 0.272745E-01 -0.371743E-01 -0.109925E+00 -0.176368E+00
573+ -0.231623E+00 -0.279345E+00 -0.314799E+00 -0.468369E+00 -0.468369E+00 -0.419981E+00
574+ -0.341711E+00 -0.261660E+00 -0.190330E+00 -0.117977E+00 -0.375950E-01 0.330921E-01
575+ 0.778833E-01 0.101681E+00 0.101681E+00 0.778833E-01 0.330921E-01 -0.375950E-01
576+ -0.117977E+00 -0.190330E+00 -0.261660E+00 -0.341711E+00 -0.419981E+00 -0.468369E+00
577+ -0.719950E+00 -0.677464E+00 -0.564374E+00 -0.421672E+00 -0.293818E+00 -0.199955E+00
578+ -0.120662E+00 -0.364130E-01 0.330921E-01 0.732153E-01 0.870523E-01 0.732153E-01
579+ 0.330921E-01 -0.364130E-01 -0.120662E+00 -0.199955E+00 -0.293818E+00 -0.421672E+00
580+ -0.564374E+00 -0.677464E+00 -0.719950E+00 -0.100995E+01 -0.897774E+00 -0.705055E+00
581+ -0.489562E+00 -0.314101E+00 -0.203276E+00 -0.120662E+00 -0.375950E-01 0.272745E-01
582+ 0.578621E-01 0.578621E-01 0.272745E-01 -0.375950E-01 -0.120662E+00 -0.203276E+00
583+ -0.314101E+00 -0.489562E+00 -0.705055E+00 -0.897774E+00 -0.100995E+01 -0.100995E+01
584+ -0.125763E+01 -0.106141E+01 -0.788881E+00 -0.514722E+00 -0.314101E+00 -0.199955E+00
585+ -0.117977E+00 -0.371743E-01 0.170254E-01 0.320647E-01 0.170254E-01 -0.371743E-01
586+ -0.117977E+00 -0.199955E+00 -0.314101E+00 -0.514722E+00 -0.788881E+00 -0.106141E+01
587+ -0.125763E+01 -0.132855E+01 -0.125763E+01 -0.139788E+01 -0.112042E+01 -0.788881E+00
588+ -0.489562E+00 -0.293818E+00 -0.190330E+00 -0.109925E+00 -0.356421E-01 -0.231149E-03
589+ -0.231149E-03 -0.356421E-01 -0.109925E+00 -0.190330E+00 -0.293818E+00 -0.489562E+00
590+ -0.788881E+00 -0.112042E+01 -0.139788E+01 -0.155502E+01 -0.155502E+01 -0.139788E+01
591+ -0.139788E+01 -0.106141E+01 -0.705055E+00 -0.421672E+00 -0.261660E+00 -0.176368E+00
592+ -0.980457E-01 -0.397472E-01 -0.236011E-01 -0.397472E-01 -0.980457E-01 -0.176368E+00
593+ -0.261660E+00 -0.421672E+00 -0.705055E+00 -0.106141E+01 -0.139788E+01 -0.163585E+01
594+ -0.172113E+01 -0.163585E+01 -0.139788E+01 -0.125763E+01 -0.897774E+00 -0.564374E+00
595+ -0.341711E+00 -0.231623E+00 -0.156896E+00 -0.856627E-01 -0.498276E-01 -0.498276E-01
596+ -0.856627E-01 -0.156896E+00 -0.231623E+00 -0.341711E+00 -0.564374E+00 -0.897774E+00
597+ -0.125763E+01 -0.155502E+01 -0.172113E+01 -0.172113E+01 -0.155502E+01 -0.125763E+01
598+ -0.100995E+01 -0.677464E+00 -0.419981E+00 -0.279345E+00 -0.202808E+00 -0.130228E+00
599+ -0.769317E-01 -0.622448E-01 -0.769317E-01 -0.130228E+00 -0.202808E+00 -0.279345E+00
600+ -0.419981E+00 -0.677464E+00 -0.100995E+01 -0.132855E+01 -0.155502E+01 -0.163585E+01
601+ -0.155502E+01 -0.132855E+01 -0.100995E+01 -0.719950E+00 -0.468369E+00 -0.314799E+00
602+ -0.235189E+00 -0.166541E+00 -0.103802E+00 -0.749146E-01 -0.749146E-01 -0.103802E+00
603+ -0.166541E+00 -0.235189E+00 -0.314799E+00 -0.468369E+00 -0.719950E+00 -0.100995E+01
604+ -0.125763E+01 -0.139788E+01 -0.139788E+01 -0.125763E+01 -0.100995E+01 -0.719950E+00
605+ -0.355001E+00 -0.284471E+00 -0.234093E+00 -0.177816E+00 -0.129916E+00 -0.103802E+00
606+ -0.957745E-01 -0.103802E+00 -0.129916E+00 -0.177816E+00 -0.234093E+00 -0.284471E+00
607+ -0.355001E+00 -0.468369E+00 -0.602848E+00 -0.710288E+00 -0.749906E+00 -0.710288E+00
608+ -0.602848E+00 -0.468369E+00 -0.355001E+00 -0.284471E+00 -0.243863E+00 -0.196276E+00
609+ -0.151452E+00 -0.125542E+00 -0.113165E+00 -0.113165E+00 -0.125542E+00 -0.151452E+00
610+ -0.196276E+00 -0.243863E+00 -0.284471E+00 -0.339657E+00 -0.419981E+00 -0.505422E+00
611+ -0.559612E+00 -0.559612E+00 -0.505422E+00 -0.419981E+00 -0.339657E+00 -0.284471E+00
612+ -0.234093E+00 -0.196276E+00 -0.158873E+00 -0.137025E+00 -0.125744E+00 -0.120548E+00
613+ -0.125744E+00 -0.137025E+00 -0.158873E+00 -0.196276E+00 -0.234093E+00 -0.264969E+00
614+ -0.298603E+00 -0.341711E+00 -0.382485E+00 -0.399074E+00 -0.382485E+00 -0.341711E+00
615+ -0.298603E+00 -0.264969E+00 -0.234093E+00 -0.177816E+00 -0.151452E+00 -0.137025E+00
616+ -0.130830E+00 -0.126376E+00 -0.126376E+00 -0.130830E+00 -0.137025E+00 -0.151452E+00
617+ -0.177816E+00 -0.206611E+00 -0.228341E+00 -0.244996E+00 -0.261660E+00 -0.273612E+00
618+ -0.273612E+00 -0.261660E+00 -0.244996E+00 -0.228341E+00 -0.206611E+00 -0.177816E+00
619+ -0.129916E+00 -0.125542E+00 -0.125744E+00 -0.126376E+00 -0.127014E+00 -0.126376E+00
620+ -0.125744E+00 -0.125542E+00 -0.129916E+00 -0.144116E+00 -0.162507E+00 -0.176760E+00
621+ -0.185127E+00 -0.190330E+00 -0.192662E+00 -0.190330E+00 -0.185127E+00 -0.176760E+00
622+ -0.162507E+00 -0.144116E+00 -0.129916E+00 -0.103802E+00 -0.113165E+00 -0.120548E+00
623+ -0.126376E+00 -0.126376E+00 -0.120548E+00 -0.113165E+00 -0.103802E+00 -0.975180E-01
624+ -0.987150E-01 -0.104829E+00 -0.110732E+00 -0.114438E+00 -0.117977E+00 -0.117977E+00
625+ -0.114438E+00 -0.110732E+00 -0.104829E+00 -0.987150E-01 -0.975180E-01 -0.103802E+00
626+ -0.957745E-01 -0.113165E+00 -0.125744E+00 -0.130830E+00 -0.125744E+00 -0.113165E+00
627+ -0.957745E-01 -0.769317E-01 -0.606061E-01 -0.485268E-01 -0.413051E-01 -0.375202E-01
628+ -0.369149E-01 -0.375950E-01 -0.369149E-01 -0.375202E-01 -0.413051E-01 -0.485268E-01
629+ -0.606061E-01 -0.769317E-01 -0.957745E-01 -0.103802E+00 -0.125542E+00 -0.137025E+00
630+ -0.137025E+00 -0.125542E+00 -0.103802E+00 -0.769317E-01 -0.498276E-01 -0.236011E-01
631+ -0.231149E-03 0.170254E-01 0.272745E-01 0.330921E-01 0.330921E-01 0.272745E-01
632+ 0.170254E-01 -0.231149E-03 -0.236011E-01 -0.498276E-01 -0.769317E-01 -0.103802E+00
633+ -0.129916E+00 -0.151452E+00 -0.158873E+00 -0.151452E+00 -0.129916E+00 -0.975180E-01
634+ -0.606061E-01 -0.236011E-01 0.117156E-01 0.428656E-01 0.645788E-01 0.778833E-01
635+ 0.836571E-01 0.778833E-01 0.645788E-01 0.428656E-01 0.117156E-01 -0.236011E-01
636+ -0.606061E-01 -0.975180E-01 -0.129916E+00 -0.177816E+00 -0.196276E+00 -0.196276E+00
637+ -0.177816E+00 -0.144116E+00 -0.987150E-01 -0.485268E-01 -0.231149E-03 0.428656E-01
638+ 0.781343E-01 0.101681E+00 0.114030E+00 0.114030E+00 0.101681E+00 0.781343E-01
639+ 0.428656E-01 -0.231149E-03 -0.485268E-01 -0.987150E-01 -0.144116E+00 -0.177816E+00
640+ -0.234093E+00 -0.243863E+00 -0.234093E+00 -0.206611E+00 -0.162507E+00 -0.104829E+00
641+ -0.413051E-01 0.170254E-01 0.645788E-01 0.101681E+00 0.125060E+00 0.132742E+00
642+ 0.125060E+00 0.101681E+00 0.645788E-01 0.170254E-01 -0.413051E-01 -0.104829E+00
643+ -0.162507E+00 -0.206611E+00 -0.234093E+00 -0.284471E+00 -0.284471E+00 -0.264969E+00
644+ -0.228341E+00 -0.176760E+00 -0.110732E+00 -0.375202E-01 0.272745E-01 0.778833E-01
645+ 0.114030E+00 0.132742E+00 0.132742E+00 0.114030E+00 0.778833E-01 0.272745E-01
646+ -0.375202E-01 -0.110732E+00 -0.176760E+00 -0.228341E+00 -0.264969E+00 -0.284471E+00
647+ -0.355001E+00 -0.339657E+00 -0.298603E+00 -0.244996E+00 -0.185127E+00 -0.114438E+00
648+ -0.369149E-01 0.330921E-01 0.836571E-01 0.114030E+00 0.125060E+00 0.114030E+00
649+ 0.836571E-01 0.330921E-01 -0.369149E-01 -0.114438E+00 -0.185127E+00 -0.244996E+00
650+ -0.298603E+00 -0.339657E+00 -0.355001E+00 -0.468369E+00 -0.419981E+00 -0.341711E+00
651+ -0.261660E+00 -0.190330E+00 -0.117977E+00 -0.375950E-01 0.330921E-01 0.778833E-01
652+ 0.101681E+00 0.101681E+00 0.778833E-01 0.330921E-01 -0.375950E-01 -0.117977E+00
653+ -0.190330E+00 -0.261660E+00 -0.341711E+00 -0.419981E+00 -0.468369E+00 -0.468369E+00
654+ -0.602848E+00 -0.505422E+00 -0.382485E+00 -0.273612E+00 -0.192662E+00 -0.117977E+00
655+ -0.369149E-01 0.272745E-01 0.645788E-01 0.781343E-01 0.645788E-01 0.272745E-01
656+ -0.369149E-01 -0.117977E+00 -0.192662E+00 -0.273612E+00 -0.382485E+00 -0.505422E+00
657+ -0.602848E+00 -0.639173E+00 -0.602848E+00 -0.710288E+00 -0.559612E+00 -0.399074E+00
658+ -0.273612E+00 -0.190330E+00 -0.114438E+00 -0.375202E-01 0.170254E-01 0.428656E-01
659+ 0.428656E-01 0.170254E-01 -0.375202E-01 -0.114438E+00 -0.190330E+00 -0.273612E+00
660+ -0.399074E+00 -0.559612E+00 -0.710288E+00 -0.801064E+00 -0.801064E+00 -0.710288E+00
661+ -0.749906E+00 -0.559612E+00 -0.382485E+00 -0.261660E+00 -0.185127E+00 -0.110732E+00
662+ -0.413051E-01 -0.231149E-03 0.117156E-01 -0.231149E-03 -0.413051E-01 -0.110732E+00
663+ -0.185127E+00 -0.261660E+00 -0.382485E+00 -0.559612E+00 -0.749906E+00 -0.896009E+00
664+ -0.950317E+00 -0.896009E+00 -0.749906E+00 -0.710288E+00 -0.505422E+00 -0.341711E+00
665+ -0.244996E+00 -0.176760E+00 -0.104829E+00 -0.485268E-01 -0.236011E-01 -0.236011E-01
666+ -0.485268E-01 -0.104829E+00 -0.176760E+00 -0.244996E+00 -0.341711E+00 -0.505422E+00
667+ -0.710288E+00 -0.896009E+00 -0.100355E+01 -0.100355E+01 -0.896009E+00 -0.710288E+00
668+ -0.602848E+00 -0.419981E+00 -0.298603E+00 -0.228341E+00 -0.162507E+00 -0.987150E-01
669+ -0.606061E-01 -0.498276E-01 -0.606061E-01 -0.987150E-01 -0.162507E+00 -0.228341E+00
670+ -0.298603E+00 -0.419981E+00 -0.602848E+00 -0.801064E+00 -0.950317E+00 -0.100355E+01
671+ -0.950317E+00 -0.801064E+00 -0.602848E+00 -0.468369E+00 -0.339657E+00 -0.264969E+00
672+ -0.206611E+00 -0.144116E+00 -0.975180E-01 -0.769317E-01 -0.769317E-01 -0.975180E-01
673+ -0.144116E+00 -0.206611E+00 -0.264969E+00 -0.339657E+00 -0.468369E+00 -0.639173E+00
674+ -0.801064E+00 -0.896009E+00 -0.896009E+00 -0.801064E+00 -0.639173E+00 -0.468369E+00
675+ -0.355001E+00 -0.284471E+00 -0.234093E+00 -0.177816E+00 -0.129916E+00 -0.103802E+00
676+ -0.957745E-01 -0.103802E+00 -0.129916E+00 -0.177816E+00 -0.234093E+00 -0.284471E+00
677+ -0.355001E+00 -0.468369E+00 -0.602848E+00 -0.710288E+00 -0.749906E+00 -0.710288E+00
678+ -0.602848E+00 -0.468369E+00 -0.355001E+00 -0.259606E+00 -0.232063E+00 -0.200150E+00
679+ -0.177816E+00 -0.166541E+00 -0.159484E+00 -0.159484E+00 -0.166541E+00 -0.177816E+00
680+ -0.200150E+00 -0.232063E+00 -0.259606E+00 -0.284471E+00 -0.314799E+00 -0.348635E+00
681+ -0.373066E+00 -0.373066E+00 -0.348635E+00 -0.314799E+00 -0.284471E+00 -0.259606E+00
682+ -0.232063E+00 -0.211572E+00 -0.196276E+00 -0.189355E+00 -0.184326E+00 -0.181598E+00
683+ -0.184326E+00 -0.189355E+00 -0.196276E+00 -0.211572E+00 -0.232063E+00 -0.249802E+00
684+ -0.264969E+00 -0.279345E+00 -0.293728E+00 -0.300970E+00 -0.293728E+00 -0.279345E+00
685+ -0.264969E+00 -0.249802E+00 -0.232063E+00 -0.200150E+00 -0.196276E+00 -0.196840E+00
686+ -0.196198E+00 -0.194925E+00 -0.194925E+00 -0.196198E+00 -0.196840E+00 -0.196276E+00
687+ -0.200150E+00 -0.210564E+00 -0.221870E+00 -0.228341E+00 -0.231623E+00 -0.235728E+00
688+ -0.235728E+00 -0.231623E+00 -0.228341E+00 -0.221870E+00 -0.210564E+00 -0.200150E+00
689+ -0.177816E+00 -0.189355E+00 -0.196198E+00 -0.199678E+00 -0.201640E+00 -0.199678E+00
690+ -0.196198E+00 -0.189355E+00 -0.177816E+00 -0.170130E+00 -0.170744E+00 -0.175241E+00
691+ -0.176760E+00 -0.176368E+00 -0.176860E+00 -0.176368E+00 -0.176760E+00 -0.175241E+00
692+ -0.170744E+00 -0.170130E+00 -0.177816E+00 -0.166541E+00 -0.184326E+00 -0.194925E+00
693+ -0.201640E+00 -0.201640E+00 -0.194925E+00 -0.184326E+00 -0.166541E+00 -0.144116E+00
694+ -0.125013E+00 -0.115632E+00 -0.113343E+00 -0.110732E+00 -0.109925E+00 -0.109925E+00
695+ -0.110732E+00 -0.113343E+00 -0.115632E+00 -0.125013E+00 -0.144116E+00 -0.166541E+00
696+ -0.159484E+00 -0.181598E+00 -0.194925E+00 -0.199678E+00 -0.194925E+00 -0.181598E+00
697+ -0.159484E+00 -0.130228E+00 -0.987150E-01 -0.721406E-01 -0.555487E-01 -0.437808E-01
698+ -0.375202E-01 -0.371743E-01 -0.375202E-01 -0.437808E-01 -0.555487E-01 -0.721406E-01
699+ -0.987150E-01 -0.130228E+00 -0.159484E+00 -0.159484E+00 -0.184326E+00 -0.196198E+00
700+ -0.196198E+00 -0.184326E+00 -0.159484E+00 -0.124738E+00 -0.856627E-01 -0.485268E-01
701+ -0.193232E-01 0.407676E-02 0.212404E-01 0.272745E-01 0.272745E-01 0.212404E-01
702+ 0.407676E-02 -0.193232E-01 -0.485268E-01 -0.856627E-01 -0.124738E+00 -0.159484E+00
703+ -0.166541E+00 -0.189355E+00 -0.196840E+00 -0.189355E+00 -0.166541E+00 -0.130228E+00
704+ -0.856627E-01 -0.397472E-01 -0.231149E-03 0.320647E-01 0.578621E-01 0.732153E-01
705+ 0.778833E-01 0.732153E-01 0.578621E-01 0.320647E-01 -0.231149E-03 -0.397472E-01
706+ -0.856627E-01 -0.130228E+00 -0.166541E+00 -0.177816E+00 -0.196276E+00 -0.196276E+00
707+ -0.177816E+00 -0.144116E+00 -0.987150E-01 -0.485268E-01 -0.231149E-03 0.428656E-01
708+ 0.781343E-01 0.101681E+00 0.114030E+00 0.114030E+00 0.101681E+00 0.781343E-01
709+ 0.428656E-01 -0.231149E-03 -0.485268E-01 -0.987150E-01 -0.144116E+00 -0.177816E+00
710+ -0.200150E+00 -0.211572E+00 -0.200150E+00 -0.170130E+00 -0.125013E+00 -0.721406E-01
711+ -0.193232E-01 0.320647E-01 0.781343E-01 0.112324E+00 0.132742E+00 0.140045E+00
712+ 0.132742E+00 0.112324E+00 0.781343E-01 0.320647E-01 -0.193232E-01 -0.721406E-01
713+ -0.125013E+00 -0.170130E+00 -0.200150E+00 -0.232063E+00 -0.232063E+00 -0.210564E+00
714+ -0.170744E+00 -0.115632E+00 -0.555487E-01 0.407676E-02 0.578621E-01 0.101681E+00
715+ 0.132742E+00 0.148301E+00 0.148301E+00 0.132742E+00 0.101681E+00 0.578621E-01
716+ 0.407676E-02 -0.555487E-01 -0.115632E+00 -0.170744E+00 -0.210564E+00 -0.232063E+00
717+ -0.259606E+00 -0.249802E+00 -0.221870E+00 -0.175241E+00 -0.113343E+00 -0.437808E-01
718+ 0.212404E-01 0.732153E-01 0.114030E+00 0.140045E+00 0.148301E+00 0.140045E+00
719+ 0.114030E+00 0.732153E-01 0.212404E-01 -0.437808E-01 -0.113343E+00 -0.175241E+00
720+ -0.221870E+00 -0.249802E+00 -0.259606E+00 -0.284471E+00 -0.264969E+00 -0.228341E+00
721+ -0.176760E+00 -0.110732E+00 -0.375202E-01 0.272745E-01 0.778833E-01 0.114030E+00
722+ 0.132742E+00 0.132742E+00 0.114030E+00 0.778833E-01 0.272745E-01 -0.375202E-01
723+ -0.110732E+00 -0.176760E+00 -0.228341E+00 -0.264969E+00 -0.284471E+00 -0.284471E+00
724+ -0.314799E+00 -0.279345E+00 -0.231623E+00 -0.176368E+00 -0.109925E+00 -0.371743E-01
725+ 0.272745E-01 0.732153E-01 0.101681E+00 0.112324E+00 0.101681E+00 0.732153E-01
726+ 0.272745E-01 -0.371743E-01 -0.109925E+00 -0.176368E+00 -0.231623E+00 -0.279345E+00
727+ -0.314799E+00 -0.327735E+00 -0.314799E+00 -0.348635E+00 -0.293728E+00 -0.235728E+00
728+ -0.176860E+00 -0.109925E+00 -0.375202E-01 0.212404E-01 0.578621E-01 0.781343E-01
729+ 0.781343E-01 0.578621E-01 0.212404E-01 -0.375202E-01 -0.109925E+00 -0.176860E+00
730+ -0.235728E+00 -0.293728E+00 -0.348635E+00 -0.382922E+00 -0.382922E+00 -0.348635E+00
731+ -0.373066E+00 -0.300970E+00 -0.235728E+00 -0.176368E+00 -0.110732E+00 -0.437808E-01
732+ 0.407676E-02 0.320647E-01 0.428656E-01 0.320647E-01 0.407676E-02 -0.437808E-01
733+ -0.110732E+00 -0.176368E+00 -0.235728E+00 -0.300970E+00 -0.373066E+00 -0.433586E+00
734+ -0.457072E+00 -0.433586E+00 -0.373066E+00 -0.373066E+00 -0.293728E+00 -0.231623E+00
735+ -0.176760E+00 -0.113343E+00 -0.555487E-01 -0.193232E-01 -0.231149E-03 -0.231149E-03
736+ -0.193232E-01 -0.555487E-01 -0.113343E+00 -0.176760E+00 -0.231623E+00 -0.293728E+00
737+ -0.373066E+00 -0.454015E+00 -0.504702E+00 -0.504702E+00 -0.454015E+00 -0.373066E+00
738+ -0.348635E+00 -0.279345E+00 -0.228341E+00 -0.175241E+00 -0.115632E+00 -0.721406E-01
739+ -0.485268E-01 -0.397472E-01 -0.485268E-01 -0.721406E-01 -0.115632E+00 -0.175241E+00
740+ -0.228341E+00 -0.279345E+00 -0.348635E+00 -0.433586E+00 -0.504702E+00 -0.531127E+00
741+ -0.504702E+00 -0.433586E+00 -0.348635E+00 -0.314799E+00 -0.264969E+00 -0.221870E+00
742+ -0.170744E+00 -0.125013E+00 -0.987150E-01 -0.856627E-01 -0.856627E-01 -0.987150E-01
743+ -0.125013E+00 -0.170744E+00 -0.221870E+00 -0.264969E+00 -0.314799E+00 -0.382922E+00
744+ -0.457072E+00 -0.504702E+00 -0.504702E+00 -0.457072E+00 -0.382922E+00 -0.314799E+00
745+ -0.284471E+00 -0.249802E+00 -0.210564E+00 -0.170130E+00 -0.144116E+00 -0.130228E+00
746+ -0.124738E+00 -0.130228E+00 -0.144116E+00 -0.170130E+00 -0.210564E+00 -0.249802E+00
747+ -0.284471E+00 -0.327735E+00 -0.382922E+00 -0.433586E+00 -0.454015E+00 -0.433586E+00
748+ -0.382922E+00 -0.327735E+00 -0.284471E+00 -0.259606E+00 -0.232063E+00 -0.200150E+00
749+ -0.177816E+00 -0.166541E+00 -0.159484E+00 -0.159484E+00 -0.166541E+00 -0.177816E+00
750+ -0.200150E+00 -0.232063E+00 -0.259606E+00 -0.284471E+00 -0.314799E+00 -0.348635E+00
751+ -0.373066E+00 -0.373066E+00 -0.348635E+00 -0.314799E+00 -0.284471E+00 -0.259606E+00
752+ -0.231807E+00 -0.232063E+00 -0.234093E+00 -0.235189E+00 -0.235040E+00 -0.235577E+00
753+ -0.235040E+00 -0.235189E+00 -0.234093E+00 -0.232063E+00 -0.231807E+00 -0.232063E+00
754+ -0.234093E+00 -0.235189E+00 -0.235040E+00 -0.235577E+00 -0.235040E+00 -0.235189E+00
755+ -0.234093E+00 -0.232063E+00 -0.231807E+00 -0.232063E+00 -0.243863E+00 -0.252302E+00
756+ -0.258159E+00 -0.263590E+00 -0.263590E+00 -0.258159E+00 -0.252302E+00 -0.243863E+00
757+ -0.232063E+00 -0.219512E+00 -0.210564E+00 -0.206611E+00 -0.202808E+00 -0.200309E+00
758+ -0.200309E+00 -0.202808E+00 -0.206611E+00 -0.210564E+00 -0.219512E+00 -0.232063E+00
759+ -0.234093E+00 -0.252302E+00 -0.266070E+00 -0.279240E+00 -0.285789E+00 -0.279240E+00
760+ -0.266070E+00 -0.252302E+00 -0.234093E+00 -0.210564E+00 -0.186832E+00 -0.170744E+00
761+ -0.162507E+00 -0.156896E+00 -0.154649E+00 -0.156896E+00 -0.162507E+00 -0.170744E+00
762+ -0.186832E+00 -0.210564E+00 -0.234093E+00 -0.235189E+00 -0.258159E+00 -0.279240E+00
763+ -0.294221E+00 -0.294221E+00 -0.279240E+00 -0.258159E+00 -0.235189E+00 -0.206611E+00
764+ -0.170744E+00 -0.136312E+00 -0.115632E+00 -0.104829E+00 -0.980457E-01 -0.980457E-01
765+ -0.104829E+00 -0.115632E+00 -0.136312E+00 -0.170744E+00 -0.206611E+00 -0.235189E+00
766+ -0.235040E+00 -0.263590E+00 -0.285789E+00 -0.294221E+00 -0.285789E+00 -0.263590E+00
767+ -0.235040E+00 -0.202808E+00 -0.162507E+00 -0.115632E+00 -0.779253E-01 -0.555487E-01
768+ -0.413051E-01 -0.356421E-01 -0.413051E-01 -0.555487E-01 -0.779253E-01 -0.115632E+00
769+ -0.162507E+00 -0.202808E+00 -0.235040E+00 -0.235577E+00 -0.263590E+00 -0.279240E+00
770+ -0.279240E+00 -0.263590E+00 -0.235577E+00 -0.200309E+00 -0.156896E+00 -0.104829E+00
771+ -0.555487E-01 -0.199027E-01 0.407676E-02 0.170254E-01 0.170254E-01 0.407676E-02
772+ -0.199027E-01 -0.555487E-01 -0.104829E+00 -0.156896E+00 -0.200309E+00 -0.235577E+00
773+ -0.235040E+00 -0.258159E+00 -0.266070E+00 -0.258159E+00 -0.235040E+00 -0.200309E+00
774+ -0.154649E+00 -0.980457E-01 -0.413051E-01 0.407676E-02 0.371996E-01 0.578621E-01
775+ 0.645788E-01 0.578621E-01 0.371996E-01 0.407676E-02 -0.413051E-01 -0.980457E-01
776+ -0.154649E+00 -0.200309E+00 -0.235040E+00 -0.235189E+00 -0.252302E+00 -0.252302E+00
777+ -0.235189E+00 -0.202808E+00 -0.156896E+00 -0.980457E-01 -0.356421E-01 0.170254E-01
778+ 0.578621E-01 0.870523E-01 0.101681E+00 0.101681E+00 0.870523E-01 0.578621E-01
779+ 0.170254E-01 -0.356421E-01 -0.980457E-01 -0.156896E+00 -0.202808E+00 -0.235189E+00
780+ -0.234093E+00 -0.243863E+00 -0.234093E+00 -0.206611E+00 -0.162507E+00 -0.104829E+00
781+ -0.413051E-01 0.170254E-01 0.645788E-01 0.101681E+00 0.125060E+00 0.132742E+00
782+ 0.125060E+00 0.101681E+00 0.645788E-01 0.170254E-01 -0.413051E-01 -0.104829E+00
783+ -0.162507E+00 -0.206611E+00 -0.234093E+00 -0.232063E+00 -0.232063E+00 -0.210564E+00
784+ -0.170744E+00 -0.115632E+00 -0.555487E-01 0.407676E-02 0.578621E-01 0.101681E+00
785+ 0.132742E+00 0.148301E+00 0.148301E+00 0.132742E+00 0.101681E+00 0.578621E-01
786+ 0.407676E-02 -0.555487E-01 -0.115632E+00 -0.170744E+00 -0.210564E+00 -0.232063E+00
787+ -0.231807E+00 -0.219512E+00 -0.186832E+00 -0.136312E+00 -0.779253E-01 -0.199027E-01
788+ 0.371996E-01 0.870523E-01 0.125060E+00 0.148301E+00 0.155993E+00 0.148301E+00
789+ 0.125060E+00 0.870523E-01 0.371996E-01 -0.199027E-01 -0.779253E-01 -0.136312E+00
790+ -0.186832E+00 -0.219512E+00 -0.231807E+00 -0.232063E+00 -0.210564E+00 -0.170744E+00
791+ -0.115632E+00 -0.555487E-01 0.407676E-02 0.578621E-01 0.101681E+00 0.132742E+00
792+ 0.148301E+00 0.148301E+00 0.132742E+00 0.101681E+00 0.578621E-01 0.407676E-02
793+ -0.555487E-01 -0.115632E+00 -0.170744E+00 -0.210564E+00 -0.232063E+00 -0.232063E+00
794+ -0.234093E+00 -0.206611E+00 -0.162507E+00 -0.104829E+00 -0.413051E-01 0.170254E-01
795+ 0.645788E-01 0.101681E+00 0.125060E+00 0.132742E+00 0.125060E+00 0.101681E+00
796+ 0.645788E-01 0.170254E-01 -0.413051E-01 -0.104829E+00 -0.162507E+00 -0.206611E+00
797+ -0.234093E+00 -0.243863E+00 -0.234093E+00 -0.235189E+00 -0.202808E+00 -0.156896E+00
798+ -0.980457E-01 -0.356421E-01 0.170254E-01 0.578621E-01 0.870523E-01 0.101681E+00
799+ 0.101681E+00 0.870523E-01 0.578621E-01 0.170254E-01 -0.356421E-01 -0.980457E-01
800+ -0.156896E+00 -0.202808E+00 -0.235189E+00 -0.252302E+00 -0.252302E+00 -0.235189E+00
801+ -0.235040E+00 -0.200309E+00 -0.154649E+00 -0.980457E-01 -0.413051E-01 0.407676E-02
802+ 0.371996E-01 0.578621E-01 0.645788E-01 0.578621E-01 0.371996E-01 0.407676E-02
803+ -0.413051E-01 -0.980457E-01 -0.154649E+00 -0.200309E+00 -0.235040E+00 -0.258159E+00
804+ -0.266070E+00 -0.258159E+00 -0.235040E+00 -0.235577E+00 -0.200309E+00 -0.156896E+00
805+ -0.104829E+00 -0.555487E-01 -0.199027E-01 0.407676E-02 0.170254E-01 0.170254E-01
806+ 0.407676E-02 -0.199027E-01 -0.555487E-01 -0.104829E+00 -0.156896E+00 -0.200309E+00
807+ -0.235577E+00 -0.263590E+00 -0.279240E+00 -0.279240E+00 -0.263590E+00 -0.235577E+00
808+ -0.235040E+00 -0.202808E+00 -0.162507E+00 -0.115632E+00 -0.779253E-01 -0.555487E-01
809+ -0.413051E-01 -0.356421E-01 -0.413051E-01 -0.555487E-01 -0.779253E-01 -0.115632E+00
810+ -0.162507E+00 -0.202808E+00 -0.235040E+00 -0.263590E+00 -0.285789E+00 -0.294221E+00
811+ -0.285789E+00 -0.263590E+00 -0.235040E+00 -0.235189E+00 -0.206611E+00 -0.170744E+00
812+ -0.136312E+00 -0.115632E+00 -0.104829E+00 -0.980457E-01 -0.980457E-01 -0.104829E+00
813+ -0.115632E+00 -0.136312E+00 -0.170744E+00 -0.206611E+00 -0.235189E+00 -0.258159E+00
814+ -0.279240E+00 -0.294221E+00 -0.294221E+00 -0.279240E+00 -0.258159E+00 -0.235189E+00
815+ -0.234093E+00 -0.210564E+00 -0.186832E+00 -0.170744E+00 -0.162507E+00 -0.156896E+00
816+ -0.154649E+00 -0.156896E+00 -0.162507E+00 -0.170744E+00 -0.186832E+00 -0.210564E+00
817+ -0.234093E+00 -0.252302E+00 -0.266070E+00 -0.279240E+00 -0.285789E+00 -0.279240E+00
818+ -0.266070E+00 -0.252302E+00 -0.234093E+00 -0.232063E+00 -0.219512E+00 -0.210564E+00
819+ -0.206611E+00 -0.202808E+00 -0.200309E+00 -0.200309E+00 -0.202808E+00 -0.206611E+00
820+ -0.210564E+00 -0.219512E+00 -0.232063E+00 -0.243863E+00 -0.252302E+00 -0.258159E+00
821+ -0.263590E+00 -0.263590E+00 -0.258159E+00 -0.252302E+00 -0.243863E+00 -0.232063E+00
822+ -0.231807E+00 -0.232063E+00 -0.234093E+00 -0.235189E+00 -0.235040E+00 -0.235577E+00
823+ -0.235040E+00 -0.235189E+00 -0.234093E+00 -0.232063E+00 -0.231807E+00 -0.232063E+00
824+ -0.234093E+00 -0.235189E+00 -0.235040E+00 -0.235577E+00 -0.235040E+00 -0.235189E+00
825+ -0.234093E+00 -0.232063E+00 -0.231807E+00 -0.259606E+00 -0.284471E+00 -0.314799E+00
826+ -0.348635E+00 -0.373066E+00 -0.373066E+00 -0.348635E+00 -0.314799E+00 -0.284471E+00
827+ -0.259606E+00 -0.232063E+00 -0.200150E+00 -0.177816E+00 -0.166541E+00 -0.159484E+00
828+ -0.159484E+00 -0.166541E+00 -0.177816E+00 -0.200150E+00 -0.232063E+00 -0.259606E+00
829+ -0.284471E+00 -0.327735E+00 -0.382922E+00 -0.433586E+00 -0.454015E+00 -0.433586E+00
830+ -0.382922E+00 -0.327735E+00 -0.284471E+00 -0.249802E+00 -0.210564E+00 -0.170130E+00
831+ -0.144116E+00 -0.130228E+00 -0.124738E+00 -0.130228E+00 -0.144116E+00 -0.170130E+00
832+ -0.210564E+00 -0.249802E+00 -0.284471E+00 -0.314799E+00 -0.382922E+00 -0.457072E+00
833+ -0.504702E+00 -0.504702E+00 -0.457072E+00 -0.382922E+00 -0.314799E+00 -0.264969E+00
834+ -0.221870E+00 -0.170744E+00 -0.125013E+00 -0.987150E-01 -0.856627E-01 -0.856627E-01
835+ -0.987150E-01 -0.125013E+00 -0.170744E+00 -0.221870E+00 -0.264969E+00 -0.314799E+00
836+ -0.348635E+00 -0.433586E+00 -0.504702E+00 -0.531127E+00 -0.504702E+00 -0.433586E+00
837+ -0.348635E+00 -0.279345E+00 -0.228341E+00 -0.175241E+00 -0.115632E+00 -0.721406E-01
838+ -0.485268E-01 -0.397472E-01 -0.485268E-01 -0.721406E-01 -0.115632E+00 -0.175241E+00
839+ -0.228341E+00 -0.279345E+00 -0.348635E+00 -0.373066E+00 -0.454015E+00 -0.504702E+00
840+ -0.504702E+00 -0.454015E+00 -0.373066E+00 -0.293728E+00 -0.231623E+00 -0.176760E+00
841+ -0.113343E+00 -0.555487E-01 -0.193232E-01 -0.231149E-03 -0.231149E-03 -0.193232E-01
842+ -0.555487E-01 -0.113343E+00 -0.176760E+00 -0.231623E+00 -0.293728E+00 -0.373066E+00
843+ -0.373066E+00 -0.433586E+00 -0.457072E+00 -0.433586E+00 -0.373066E+00 -0.300970E+00
844+ -0.235728E+00 -0.176368E+00 -0.110732E+00 -0.437808E-01 0.407676E-02 0.320647E-01
845+ 0.428656E-01 0.320647E-01 0.407676E-02 -0.437808E-01 -0.110732E+00 -0.176368E+00
846+ -0.235728E+00 -0.300970E+00 -0.373066E+00 -0.348635E+00 -0.382922E+00 -0.382922E+00
847+ -0.348635E+00 -0.293728E+00 -0.235728E+00 -0.176860E+00 -0.109925E+00 -0.375202E-01
848+ 0.212404E-01 0.578621E-01 0.781343E-01 0.781343E-01 0.578621E-01 0.212404E-01
849+ -0.375202E-01 -0.109925E+00 -0.176860E+00 -0.235728E+00 -0.293728E+00 -0.348635E+00
850+ -0.314799E+00 -0.327735E+00 -0.314799E+00 -0.279345E+00 -0.231623E+00 -0.176368E+00
851+ -0.109925E+00 -0.371743E-01 0.272745E-01 0.732153E-01 0.101681E+00 0.112324E+00
852+ 0.101681E+00 0.732153E-01 0.272745E-01 -0.371743E-01 -0.109925E+00 -0.176368E+00
853+ -0.231623E+00 -0.279345E+00 -0.314799E+00 -0.284471E+00 -0.284471E+00 -0.264969E+00
854+ -0.228341E+00 -0.176760E+00 -0.110732E+00 -0.375202E-01 0.272745E-01 0.778833E-01
855+ 0.114030E+00 0.132742E+00 0.132742E+00 0.114030E+00 0.778833E-01 0.272745E-01
856+ -0.375202E-01 -0.110732E+00 -0.176760E+00 -0.228341E+00 -0.264969E+00 -0.284471E+00
857+ -0.259606E+00 -0.249802E+00 -0.221870E+00 -0.175241E+00 -0.113343E+00 -0.437808E-01
858+ 0.212404E-01 0.732153E-01 0.114030E+00 0.140045E+00 0.148301E+00 0.140045E+00
859+ 0.114030E+00 0.732153E-01 0.212404E-01 -0.437808E-01 -0.113343E+00 -0.175241E+00
860+ -0.221870E+00 -0.249802E+00 -0.259606E+00 -0.232063E+00 -0.210564E+00 -0.170744E+00
861+ -0.115632E+00 -0.555487E-01 0.407676E-02 0.578621E-01 0.101681E+00 0.132742E+00
862+ 0.148301E+00 0.148301E+00 0.132742E+00 0.101681E+00 0.578621E-01 0.407676E-02
863+ -0.555487E-01 -0.115632E+00 -0.170744E+00 -0.210564E+00 -0.232063E+00 -0.232063E+00
864+ -0.200150E+00 -0.170130E+00 -0.125013E+00 -0.721406E-01 -0.193232E-01 0.320647E-01
865+ 0.781343E-01 0.112324E+00 0.132742E+00 0.140045E+00 0.132742E+00 0.112324E+00
866+ 0.781343E-01 0.320647E-01 -0.193232E-01 -0.721406E-01 -0.125013E+00 -0.170130E+00
867+ -0.200150E+00 -0.211572E+00 -0.200150E+00 -0.177816E+00 -0.144116E+00 -0.987150E-01
868+ -0.485268E-01 -0.231149E-03 0.428656E-01 0.781343E-01 0.101681E+00 0.114030E+00
869+ 0.114030E+00 0.101681E+00 0.781343E-01 0.428656E-01 -0.231149E-03 -0.485268E-01
870+ -0.987150E-01 -0.144116E+00 -0.177816E+00 -0.196276E+00 -0.196276E+00 -0.177816E+00
871+ -0.166541E+00 -0.130228E+00 -0.856627E-01 -0.397472E-01 -0.231149E-03 0.320647E-01
872+ 0.578621E-01 0.732153E-01 0.778833E-01 0.732153E-01 0.578621E-01 0.320647E-01
873+ -0.231149E-03 -0.397472E-01 -0.856627E-01 -0.130228E+00 -0.166541E+00 -0.189355E+00
874+ -0.196840E+00 -0.189355E+00 -0.166541E+00 -0.159484E+00 -0.124738E+00 -0.856627E-01
875+ -0.485268E-01 -0.193232E-01 0.407676E-02 0.212404E-01 0.272745E-01 0.272745E-01
876+ 0.212404E-01 0.407676E-02 -0.193232E-01 -0.485268E-01 -0.856627E-01 -0.124738E+00
877+ -0.159484E+00 -0.184326E+00 -0.196198E+00 -0.196198E+00 -0.184326E+00 -0.159484E+00
878+ -0.159484E+00 -0.130228E+00 -0.987150E-01 -0.721406E-01 -0.555487E-01 -0.437808E-01
879+ -0.375202E-01 -0.371743E-01 -0.375202E-01 -0.437808E-01 -0.555487E-01 -0.721406E-01
880+ -0.987150E-01 -0.130228E+00 -0.159484E+00 -0.181598E+00 -0.194925E+00 -0.199678E+00
881+ -0.194925E+00 -0.181598E+00 -0.159484E+00 -0.166541E+00 -0.144116E+00 -0.125013E+00
882+ -0.115632E+00 -0.113343E+00 -0.110732E+00 -0.109925E+00 -0.109925E+00 -0.110732E+00
883+ -0.113343E+00 -0.115632E+00 -0.125013E+00 -0.144116E+00 -0.166541E+00 -0.184326E+00
884+ -0.194925E+00 -0.201640E+00 -0.201640E+00 -0.194925E+00 -0.184326E+00 -0.166541E+00
885+ -0.177816E+00 -0.170130E+00 -0.170744E+00 -0.175241E+00 -0.176760E+00 -0.176368E+00
886+ -0.176860E+00 -0.176368E+00 -0.176760E+00 -0.175241E+00 -0.170744E+00 -0.170130E+00
887+ -0.177816E+00 -0.189355E+00 -0.196198E+00 -0.199678E+00 -0.201640E+00 -0.199678E+00
888+ -0.196198E+00 -0.189355E+00 -0.177816E+00 -0.200150E+00 -0.210564E+00 -0.221870E+00
889+ -0.228341E+00 -0.231623E+00 -0.235728E+00 -0.235728E+00 -0.231623E+00 -0.228341E+00
890+ -0.221870E+00 -0.210564E+00 -0.200150E+00 -0.196276E+00 -0.196840E+00 -0.196198E+00
891+ -0.194925E+00 -0.194925E+00 -0.196198E+00 -0.196840E+00 -0.196276E+00 -0.200150E+00
892+ -0.232063E+00 -0.249802E+00 -0.264969E+00 -0.279345E+00 -0.293728E+00 -0.300970E+00
893+ -0.293728E+00 -0.279345E+00 -0.264969E+00 -0.249802E+00 -0.232063E+00 -0.211572E+00
894+ -0.196276E+00 -0.189355E+00 -0.184326E+00 -0.181598E+00 -0.184326E+00 -0.189355E+00
895+ -0.196276E+00 -0.211572E+00 -0.232063E+00 -0.259606E+00 -0.284471E+00 -0.314799E+00
896+ -0.348635E+00 -0.373066E+00 -0.373066E+00 -0.348635E+00 -0.314799E+00 -0.284471E+00
897+ -0.259606E+00 -0.232063E+00 -0.200150E+00 -0.177816E+00 -0.166541E+00 -0.159484E+00
898+ -0.159484E+00 -0.166541E+00 -0.177816E+00 -0.200150E+00 -0.232063E+00 -0.259606E+00
899+ -0.355001E+00 -0.468369E+00 -0.602848E+00 -0.710288E+00 -0.749906E+00 -0.710288E+00
900+ -0.602848E+00 -0.468369E+00 -0.355001E+00 -0.284471E+00 -0.234093E+00 -0.177816E+00
901+ -0.129916E+00 -0.103802E+00 -0.957745E-01 -0.103802E+00 -0.129916E+00 -0.177816E+00
902+ -0.234093E+00 -0.284471E+00 -0.355001E+00 -0.468369E+00 -0.639173E+00 -0.801064E+00
903+ -0.896009E+00 -0.896009E+00 -0.801064E+00 -0.639173E+00 -0.468369E+00 -0.339657E+00
904+ -0.264969E+00 -0.206611E+00 -0.144116E+00 -0.975180E-01 -0.769317E-01 -0.769317E-01
905+ -0.975180E-01 -0.144116E+00 -0.206611E+00 -0.264969E+00 -0.339657E+00 -0.468369E+00
906+ -0.602848E+00 -0.801064E+00 -0.950317E+00 -0.100355E+01 -0.950317E+00 -0.801064E+00
907+ -0.602848E+00 -0.419981E+00 -0.298603E+00 -0.228341E+00 -0.162507E+00 -0.987150E-01
908+ -0.606061E-01 -0.498276E-01 -0.606061E-01 -0.987150E-01 -0.162507E+00 -0.228341E+00
909+ -0.298603E+00 -0.419981E+00 -0.602848E+00 -0.710288E+00 -0.896009E+00 -0.100355E+01
910+ -0.100355E+01 -0.896009E+00 -0.710288E+00 -0.505422E+00 -0.341711E+00 -0.244996E+00
911+ -0.176760E+00 -0.104829E+00 -0.485268E-01 -0.236011E-01 -0.236011E-01 -0.485268E-01
912+ -0.104829E+00 -0.176760E+00 -0.244996E+00 -0.341711E+00 -0.505422E+00 -0.710288E+00
913+ -0.749906E+00 -0.896009E+00 -0.950317E+00 -0.896009E+00 -0.749906E+00 -0.559612E+00
914+ -0.382485E+00 -0.261660E+00 -0.185127E+00 -0.110732E+00 -0.413051E-01 -0.231149E-03
915+ 0.117156E-01 -0.231149E-03 -0.413051E-01 -0.110732E+00 -0.185127E+00 -0.261660E+00
916+ -0.382485E+00 -0.559612E+00 -0.749906E+00 -0.710288E+00 -0.801064E+00 -0.801064E+00
917+ -0.710288E+00 -0.559612E+00 -0.399074E+00 -0.273612E+00 -0.190330E+00 -0.114438E+00
918+ -0.375202E-01 0.170254E-01 0.428656E-01 0.428656E-01 0.170254E-01 -0.375202E-01
919+ -0.114438E+00 -0.190330E+00 -0.273612E+00 -0.399074E+00 -0.559612E+00 -0.710288E+00
920+ -0.602848E+00 -0.639173E+00 -0.602848E+00 -0.505422E+00 -0.382485E+00 -0.273612E+00
921+ -0.192662E+00 -0.117977E+00 -0.369149E-01 0.272745E-01 0.645788E-01 0.781343E-01
922+ 0.645788E-01 0.272745E-01 -0.369149E-01 -0.117977E+00 -0.192662E+00 -0.273612E+00
923+ -0.382485E+00 -0.505422E+00 -0.602848E+00 -0.468369E+00 -0.468369E+00 -0.419981E+00
924+ -0.341711E+00 -0.261660E+00 -0.190330E+00 -0.117977E+00 -0.375950E-01 0.330921E-01
925+ 0.778833E-01 0.101681E+00 0.101681E+00 0.778833E-01 0.330921E-01 -0.375950E-01
926+ -0.117977E+00 -0.190330E+00 -0.261660E+00 -0.341711E+00 -0.419981E+00 -0.468369E+00
927+ -0.355001E+00 -0.339657E+00 -0.298603E+00 -0.244996E+00 -0.185127E+00 -0.114438E+00
928+ -0.369149E-01 0.330921E-01 0.836571E-01 0.114030E+00 0.125060E+00 0.114030E+00
929+ 0.836571E-01 0.330921E-01 -0.369149E-01 -0.114438E+00 -0.185127E+00 -0.244996E+00
930+ -0.298603E+00 -0.339657E+00 -0.355001E+00 -0.284471E+00 -0.264969E+00 -0.228341E+00
931+ -0.176760E+00 -0.110732E+00 -0.375202E-01 0.272745E-01 0.778833E-01 0.114030E+00
932+ 0.132742E+00 0.132742E+00 0.114030E+00 0.778833E-01 0.272745E-01 -0.375202E-01
933+ -0.110732E+00 -0.176760E+00 -0.228341E+00 -0.264969E+00 -0.284471E+00 -0.284471E+00
934+ -0.234093E+00 -0.206611E+00 -0.162507E+00 -0.104829E+00 -0.413051E-01 0.170254E-01
935+ 0.645788E-01 0.101681E+00 0.125060E+00 0.132742E+00 0.125060E+00 0.101681E+00
936+ 0.645788E-01 0.170254E-01 -0.413051E-01 -0.104829E+00 -0.162507E+00 -0.206611E+00
937+ -0.234093E+00 -0.243863E+00 -0.234093E+00 -0.177816E+00 -0.144116E+00 -0.987150E-01
938+ -0.485268E-01 -0.231149E-03 0.428656E-01 0.781343E-01 0.101681E+00 0.114030E+00
939+ 0.114030E+00 0.101681E+00 0.781343E-01 0.428656E-01 -0.231149E-03 -0.485268E-01
940+ -0.987150E-01 -0.144116E+00 -0.177816E+00 -0.196276E+00 -0.196276E+00 -0.177816E+00
941+ -0.129916E+00 -0.975180E-01 -0.606061E-01 -0.236011E-01 0.117156E-01 0.428656E-01
942+ 0.645788E-01 0.778833E-01 0.836571E-01 0.778833E-01 0.645788E-01 0.428656E-01
943+ 0.117156E-01 -0.236011E-01 -0.606061E-01 -0.975180E-01 -0.129916E+00 -0.151452E+00
944+ -0.158873E+00 -0.151452E+00 -0.129916E+00 -0.103802E+00 -0.769317E-01 -0.498276E-01
945+ -0.236011E-01 -0.231149E-03 0.170254E-01 0.272745E-01 0.330921E-01 0.330921E-01
946+ 0.272745E-01 0.170254E-01 -0.231149E-03 -0.236011E-01 -0.498276E-01 -0.769317E-01
947+ -0.103802E+00 -0.125542E+00 -0.137025E+00 -0.137025E+00 -0.125542E+00 -0.103802E+00
948+ -0.957745E-01 -0.769317E-01 -0.606061E-01 -0.485268E-01 -0.413051E-01 -0.375202E-01
949+ -0.369149E-01 -0.375950E-01 -0.369149E-01 -0.375202E-01 -0.413051E-01 -0.485268E-01
950+ -0.606061E-01 -0.769317E-01 -0.957745E-01 -0.113165E+00 -0.125744E+00 -0.130830E+00
951+ -0.125744E+00 -0.113165E+00 -0.957745E-01 -0.103802E+00 -0.975180E-01 -0.987150E-01
952+ -0.104829E+00 -0.110732E+00 -0.114438E+00 -0.117977E+00 -0.117977E+00 -0.114438E+00
953+ -0.110732E+00 -0.104829E+00 -0.987150E-01 -0.975180E-01 -0.103802E+00 -0.113165E+00
954+ -0.120548E+00 -0.126376E+00 -0.126376E+00 -0.120548E+00 -0.113165E+00 -0.103802E+00
955+ -0.129916E+00 -0.144116E+00 -0.162507E+00 -0.176760E+00 -0.185127E+00 -0.190330E+00
956+ -0.192662E+00 -0.190330E+00 -0.185127E+00 -0.176760E+00 -0.162507E+00 -0.144116E+00
957+ -0.129916E+00 -0.125542E+00 -0.125744E+00 -0.126376E+00 -0.127014E+00 -0.126376E+00
958+ -0.125744E+00 -0.125542E+00 -0.129916E+00 -0.177816E+00 -0.206611E+00 -0.228341E+00
959+ -0.244996E+00 -0.261660E+00 -0.273612E+00 -0.273612E+00 -0.261660E+00 -0.244996E+00
960+ -0.228341E+00 -0.206611E+00 -0.177816E+00 -0.151452E+00 -0.137025E+00 -0.130830E+00
961+ -0.126376E+00 -0.126376E+00 -0.130830E+00 -0.137025E+00 -0.151452E+00 -0.177816E+00
962+ -0.234093E+00 -0.264969E+00 -0.298603E+00 -0.341711E+00 -0.382485E+00 -0.399074E+00
963+ -0.382485E+00 -0.341711E+00 -0.298603E+00 -0.264969E+00 -0.234093E+00 -0.196276E+00
964+ -0.158873E+00 -0.137025E+00 -0.125744E+00 -0.120548E+00 -0.125744E+00 -0.137025E+00
965+ -0.158873E+00 -0.196276E+00 -0.234093E+00 -0.284471E+00 -0.339657E+00 -0.419981E+00
966+ -0.505422E+00 -0.559612E+00 -0.559612E+00 -0.505422E+00 -0.419981E+00 -0.339657E+00
967+ -0.284471E+00 -0.243863E+00 -0.196276E+00 -0.151452E+00 -0.125542E+00 -0.113165E+00
968+ -0.113165E+00 -0.125542E+00 -0.151452E+00 -0.196276E+00 -0.243863E+00 -0.284471E+00
969+ -0.355001E+00 -0.468369E+00 -0.602848E+00 -0.710288E+00 -0.749906E+00 -0.710288E+00
970+ -0.602848E+00 -0.468369E+00 -0.355001E+00 -0.284471E+00 -0.234093E+00 -0.177816E+00
971+ -0.129916E+00 -0.103802E+00 -0.957745E-01 -0.103802E+00 -0.129916E+00 -0.177816E+00
972+ -0.234093E+00 -0.284471E+00 -0.355001E+00 -0.719950E+00 -0.100995E+01 -0.125763E+01
973+ -0.139788E+01 -0.139788E+01 -0.125763E+01 -0.100995E+01 -0.719950E+00 -0.468369E+00
974+ -0.314799E+00 -0.235189E+00 -0.166541E+00 -0.103802E+00 -0.749146E-01 -0.749146E-01
975+ -0.103802E+00 -0.166541E+00 -0.235189E+00 -0.314799E+00 -0.468369E+00 -0.719950E+00
976+ -0.100995E+01 -0.132855E+01 -0.155502E+01 -0.163585E+01 -0.155502E+01 -0.132855E+01
977+ -0.100995E+01 -0.677464E+00 -0.419981E+00 -0.279345E+00 -0.202808E+00 -0.130228E+00
978+ -0.769317E-01 -0.622448E-01 -0.769317E-01 -0.130228E+00 -0.202808E+00 -0.279345E+00
979+ -0.419981E+00 -0.677464E+00 -0.100995E+01 -0.125763E+01 -0.155502E+01 -0.172113E+01
980+ -0.172113E+01 -0.155502E+01 -0.125763E+01 -0.897774E+00 -0.564374E+00 -0.341711E+00
981+ -0.231623E+00 -0.156896E+00 -0.856627E-01 -0.498276E-01 -0.498276E-01 -0.856627E-01
982+ -0.156896E+00 -0.231623E+00 -0.341711E+00 -0.564374E+00 -0.897774E+00 -0.125763E+01
983+ -0.139788E+01 -0.163585E+01 -0.172113E+01 -0.163585E+01 -0.139788E+01 -0.106141E+01
984+ -0.705055E+00 -0.421672E+00 -0.261660E+00 -0.176368E+00 -0.980457E-01 -0.397472E-01
985+ -0.236011E-01 -0.397472E-01 -0.980457E-01 -0.176368E+00 -0.261660E+00 -0.421672E+00
986+ -0.705055E+00 -0.106141E+01 -0.139788E+01 -0.139788E+01 -0.155502E+01 -0.155502E+01
987+ -0.139788E+01 -0.112042E+01 -0.788881E+00 -0.489562E+00 -0.293818E+00 -0.190330E+00
988+ -0.109925E+00 -0.356421E-01 -0.231149E-03 -0.231149E-03 -0.356421E-01 -0.109925E+00
989+ -0.190330E+00 -0.293818E+00 -0.489562E+00 -0.788881E+00 -0.112042E+01 -0.139788E+01
990+ -0.125763E+01 -0.132855E+01 -0.125763E+01 -0.106141E+01 -0.788881E+00 -0.514722E+00
991+ -0.314101E+00 -0.199955E+00 -0.117977E+00 -0.371743E-01 0.170254E-01 0.320647E-01
992+ 0.170254E-01 -0.371743E-01 -0.117977E+00 -0.199955E+00 -0.314101E+00 -0.514722E+00
993+ -0.788881E+00 -0.106141E+01 -0.125763E+01 -0.100995E+01 -0.100995E+01 -0.897774E+00
994+ -0.705055E+00 -0.489562E+00 -0.314101E+00 -0.203276E+00 -0.120662E+00 -0.375950E-01
995+ 0.272745E-01 0.578621E-01 0.578621E-01 0.272745E-01 -0.375950E-01 -0.120662E+00
996+ -0.203276E+00 -0.314101E+00 -0.489562E+00 -0.705055E+00 -0.897774E+00 -0.100995E+01
997+ -0.719950E+00 -0.677464E+00 -0.564374E+00 -0.421672E+00 -0.293818E+00 -0.199955E+00
998+ -0.120662E+00 -0.364130E-01 0.330921E-01 0.732153E-01 0.870523E-01 0.732153E-01
999+ 0.330921E-01 -0.364130E-01 -0.120662E+00 -0.199955E+00 -0.293818E+00 -0.421672E+00
1000+ -0.564374E+00 -0.677464E+00 -0.719950E+00 -0.468369E+00 -0.419981E+00 -0.341711E+00
1001+ -0.261660E+00 -0.190330E+00 -0.117977E+00 -0.375950E-01 0.330921E-01 0.778833E-01
1002+ 0.101681E+00 0.101681E+00 0.778833E-01 0.330921E-01 -0.375950E-01 -0.117977E+00
1003+ -0.190330E+00 -0.261660E+00 -0.341711E+00 -0.419981E+00 -0.468369E+00 -0.468369E+00
1004+ -0.314799E+00 -0.279345E+00 -0.231623E+00 -0.176368E+00 -0.109925E+00 -0.371743E-01
1005+ 0.272745E-01 0.732153E-01 0.101681E+00 0.112324E+00 0.101681E+00 0.732153E-01
1006+ 0.272745E-01 -0.371743E-01 -0.109925E+00 -0.176368E+00 -0.231623E+00 -0.279345E+00
1007+ -0.314799E+00 -0.327735E+00 -0.314799E+00 -0.235189E+00 -0.202808E+00 -0.156896E+00
1008+ -0.980457E-01 -0.356421E-01 0.170254E-01 0.578621E-01 0.870523E-01 0.101681E+00
1009+ 0.101681E+00 0.870523E-01 0.578621E-01 0.170254E-01 -0.356421E-01 -0.980457E-01
1010+ -0.156896E+00 -0.202808E+00 -0.235189E+00 -0.252302E+00 -0.252302E+00 -0.235189E+00
1011+ -0.166541E+00 -0.130228E+00 -0.856627E-01 -0.397472E-01 -0.231149E-03 0.320647E-01
1012+ 0.578621E-01 0.732153E-01 0.778833E-01 0.732153E-01 0.578621E-01 0.320647E-01
1013+ -0.231149E-03 -0.397472E-01 -0.856627E-01 -0.130228E+00 -0.166541E+00 -0.189355E+00
1014+ -0.196840E+00 -0.189355E+00 -0.166541E+00 -0.103802E+00 -0.769317E-01 -0.498276E-01
1015+ -0.236011E-01 -0.231149E-03 0.170254E-01 0.272745E-01 0.330921E-01 0.330921E-01
1016+ 0.272745E-01 0.170254E-01 -0.231149E-03 -0.236011E-01 -0.498276E-01 -0.769317E-01
1017+ -0.103802E+00 -0.125542E+00 -0.137025E+00 -0.137025E+00 -0.125542E+00 -0.103802E+00
1018+ -0.749146E-01 -0.622448E-01 -0.498276E-01 -0.397472E-01 -0.356421E-01 -0.371743E-01
1019+ -0.375950E-01 -0.364130E-01 -0.375950E-01 -0.371743E-01 -0.356421E-01 -0.397472E-01
1020+ -0.498276E-01 -0.622448E-01 -0.749146E-01 -0.861538E-01 -0.950188E-01 -0.989867E-01
1021+ -0.950188E-01 -0.861538E-01 -0.749146E-01 -0.749146E-01 -0.769317E-01 -0.856627E-01
1022+ -0.980457E-01 -0.109925E+00 -0.117977E+00 -0.120662E+00 -0.120662E+00 -0.117977E+00
1023+ -0.109925E+00 -0.980457E-01 -0.856627E-01 -0.769317E-01 -0.749146E-01 -0.757530E-01
1024+ -0.765323E-01 -0.787866E-01 -0.787866E-01 -0.765323E-01 -0.757530E-01 -0.749146E-01
1025+ -0.103802E+00 -0.130228E+00 -0.156896E+00 -0.176368E+00 -0.190330E+00 -0.199955E+00
1026+ -0.203276E+00 -0.199955E+00 -0.190330E+00 -0.176368E+00 -0.156896E+00 -0.130228E+00
1027+ -0.103802E+00 -0.861538E-01 -0.765323E-01 -0.710827E-01 -0.692156E-01 -0.710827E-01
1028+ -0.765323E-01 -0.861538E-01 -0.103802E+00 -0.166541E+00 -0.202808E+00 -0.231623E+00
1029+ -0.261660E+00 -0.293818E+00 -0.314101E+00 -0.314101E+00 -0.293818E+00 -0.261660E+00
1030+ -0.231623E+00 -0.202808E+00 -0.166541E+00 -0.125542E+00 -0.950188E-01 -0.787866E-01
1031+ -0.692156E-01 -0.692156E-01 -0.787866E-01 -0.950188E-01 -0.125542E+00 -0.166541E+00
1032+ -0.235189E+00 -0.279345E+00 -0.341711E+00 -0.421672E+00 -0.489562E+00 -0.514722E+00
1033+ -0.489562E+00 -0.421672E+00 -0.341711E+00 -0.279345E+00 -0.235189E+00 -0.189355E+00
1034+ -0.137025E+00 -0.989867E-01 -0.787866E-01 -0.710827E-01 -0.787866E-01 -0.989867E-01
1035+ -0.137025E+00 -0.189355E+00 -0.235189E+00 -0.314799E+00 -0.419981E+00 -0.564374E+00
1036+ -0.705055E+00 -0.788881E+00 -0.788881E+00 -0.705055E+00 -0.564374E+00 -0.419981E+00
1037+ -0.314799E+00 -0.252302E+00 -0.196840E+00 -0.137025E+00 -0.950188E-01 -0.765323E-01
1038+ -0.765323E-01 -0.950188E-01 -0.137025E+00 -0.196840E+00 -0.252302E+00 -0.314799E+00
1039+ -0.468369E+00 -0.677464E+00 -0.897774E+00 -0.106141E+01 -0.112042E+01 -0.106141E+01
1040+ -0.897774E+00 -0.677464E+00 -0.468369E+00 -0.327735E+00 -0.252302E+00 -0.189355E+00
1041+ -0.125542E+00 -0.861538E-01 -0.757530E-01 -0.861538E-01 -0.125542E+00 -0.189355E+00
1042+ -0.252302E+00 -0.327735E+00 -0.468369E+00 -0.719950E+00 -0.100995E+01 -0.125763E+01
1043+ -0.139788E+01 -0.139788E+01 -0.125763E+01 -0.100995E+01 -0.719950E+00 -0.468369E+00
1044+ -0.314799E+00 -0.235189E+00 -0.166541E+00 -0.103802E+00 -0.749146E-01 -0.749146E-01
1045+ -0.103802E+00 -0.166541E+00 -0.235189E+00 -0.314799E+00 -0.468369E+00 -0.719950E+00
1046+ -0.147892E+01 -0.190155E+01 -0.219125E+01 -0.229396E+01 -0.219125E+01 -0.190155E+01
1047+ -0.147892E+01 -0.100995E+01 -0.602848E+00 -0.348635E+00 -0.235040E+00 -0.159484E+00
1048+ -0.957745E-01 -0.749146E-01 -0.957745E-01 -0.159484E+00 -0.235040E+00 -0.348635E+00
1049+ -0.602848E+00 -0.100995E+01 -0.147892E+01 -0.190155E+01 -0.229384E+01 -0.250635E+01
1050+ -0.250635E+01 -0.229384E+01 -0.190155E+01 -0.140101E+01 -0.897774E+00 -0.505422E+00
1051+ -0.293728E+00 -0.200309E+00 -0.124738E+00 -0.769317E-01 -0.769317E-01 -0.124738E+00
1052+ -0.200309E+00 -0.293728E+00 -0.505422E+00 -0.897774E+00 -0.140101E+01 -0.190155E+01
1053+ -0.219125E+01 -0.250635E+01 -0.261614E+01 -0.250635E+01 -0.219125E+01 -0.172008E+01
1054+ -0.118640E+01 -0.705055E+00 -0.382485E+00 -0.235728E+00 -0.154649E+00 -0.856627E-01
1055+ -0.606061E-01 -0.856627E-01 -0.154649E+00 -0.235728E+00 -0.382485E+00 -0.705055E+00
1056+ -0.118640E+01 -0.172008E+01 -0.219125E+01 -0.229396E+01 -0.250635E+01 -0.250635E+01
1057+ -0.229396E+01 -0.189866E+01 -0.139379E+01 -0.886652E+00 -0.489562E+00 -0.273612E+00
1058+ -0.176860E+00 -0.980457E-01 -0.485268E-01 -0.485268E-01 -0.980457E-01 -0.176860E+00
1059+ -0.273612E+00 -0.489562E+00 -0.886652E+00 -0.139379E+01 -0.189866E+01 -0.229396E+01
1060+ -0.219125E+01 -0.229384E+01 -0.219125E+01 -0.189866E+01 -0.146853E+01 -0.992053E+00
1061+ -0.577300E+00 -0.314101E+00 -0.192662E+00 -0.109925E+00 -0.413051E-01 -0.193232E-01
1062+ -0.413051E-01 -0.109925E+00 -0.192662E+00 -0.314101E+00 -0.577300E+00 -0.992053E+00
1063+ -0.146853E+01 -0.189866E+01 -0.219125E+01 -0.190155E+01 -0.190155E+01 -0.172008E+01
1064+ -0.139379E+01 -0.992053E+00 -0.610223E+00 -0.341149E+00 -0.203276E+00 -0.117977E+00
1065+ -0.375202E-01 0.407676E-02 0.407676E-02 -0.375202E-01 -0.117977E+00 -0.203276E+00
1066+ -0.341149E+00 -0.610223E+00 -0.992053E+00 -0.139379E+01 -0.172008E+01 -0.190155E+01
1067+ -0.147892E+01 -0.140101E+01 -0.118640E+01 -0.886652E+00 -0.577300E+00 -0.341149E+00
1068+ -0.206718E+00 -0.120662E+00 -0.369149E-01 0.212404E-01 0.371996E-01 0.212404E-01
1069+ -0.369149E-01 -0.120662E+00 -0.206718E+00 -0.341149E+00 -0.577300E+00 -0.886652E+00
1070+ -0.118640E+01 -0.140101E+01 -0.147892E+01 -0.100995E+01 -0.897774E+00 -0.705055E+00
1071+ -0.489562E+00 -0.314101E+00 -0.203276E+00 -0.120662E+00 -0.375950E-01 0.272745E-01
1072+ 0.578621E-01 0.578621E-01 0.272745E-01 -0.375950E-01 -0.120662E+00 -0.203276E+00
1073+ -0.314101E+00 -0.489562E+00 -0.705055E+00 -0.897774E+00 -0.100995E+01 -0.100995E+01
1074+ -0.602848E+00 -0.505422E+00 -0.382485E+00 -0.273612E+00 -0.192662E+00 -0.117977E+00
1075+ -0.369149E-01 0.272745E-01 0.645788E-01 0.781343E-01 0.645788E-01 0.272745E-01
1076+ -0.369149E-01 -0.117977E+00 -0.192662E+00 -0.273612E+00 -0.382485E+00 -0.505422E+00
1077+ -0.602848E+00 -0.639173E+00 -0.602848E+00 -0.348635E+00 -0.293728E+00 -0.235728E+00
1078+ -0.176860E+00 -0.109925E+00 -0.375202E-01 0.212404E-01 0.578621E-01 0.781343E-01
1079+ 0.781343E-01 0.578621E-01 0.212404E-01 -0.375202E-01 -0.109925E+00 -0.176860E+00
1080+ -0.235728E+00 -0.293728E+00 -0.348635E+00 -0.382922E+00 -0.382922E+00 -0.348635E+00
1081+ -0.235040E+00 -0.200309E+00 -0.154649E+00 -0.980457E-01 -0.413051E-01 0.407676E-02
1082+ 0.371996E-01 0.578621E-01 0.645788E-01 0.578621E-01 0.371996E-01 0.407676E-02
1083+ -0.413051E-01 -0.980457E-01 -0.154649E+00 -0.200309E+00 -0.235040E+00 -0.258159E+00
1084+ -0.266070E+00 -0.258159E+00 -0.235040E+00 -0.159484E+00 -0.124738E+00 -0.856627E-01
1085+ -0.485268E-01 -0.193232E-01 0.407676E-02 0.212404E-01 0.272745E-01 0.272745E-01
1086+ 0.212404E-01 0.407676E-02 -0.193232E-01 -0.485268E-01 -0.856627E-01 -0.124738E+00
1087+ -0.159484E+00 -0.184326E+00 -0.196198E+00 -0.196198E+00 -0.184326E+00 -0.159484E+00
1088+ -0.957745E-01 -0.769317E-01 -0.606061E-01 -0.485268E-01 -0.413051E-01 -0.375202E-01
1089+ -0.369149E-01 -0.375950E-01 -0.369149E-01 -0.375202E-01 -0.413051E-01 -0.485268E-01
1090+ -0.606061E-01 -0.769317E-01 -0.957745E-01 -0.113165E+00 -0.125744E+00 -0.130830E+00
1091+ -0.125744E+00 -0.113165E+00 -0.957745E-01 -0.749146E-01 -0.769317E-01 -0.856627E-01
1092+ -0.980457E-01 -0.109925E+00 -0.117977E+00 -0.120662E+00 -0.120662E+00 -0.117977E+00
1093+ -0.109925E+00 -0.980457E-01 -0.856627E-01 -0.769317E-01 -0.749146E-01 -0.757530E-01
1094+ -0.765323E-01 -0.787866E-01 -0.787866E-01 -0.765323E-01 -0.757530E-01 -0.749146E-01
1095+ -0.957745E-01 -0.124738E+00 -0.154649E+00 -0.176860E+00 -0.192662E+00 -0.203276E+00
1096+ -0.206718E+00 -0.203276E+00 -0.192662E+00 -0.176860E+00 -0.154649E+00 -0.124738E+00
1097+ -0.957745E-01 -0.757530E-01 -0.637050E-01 -0.560166E-01 -0.530337E-01 -0.560166E-01
1098+ -0.637050E-01 -0.757530E-01 -0.957745E-01 -0.159484E+00 -0.200309E+00 -0.235728E+00
1099+ -0.273612E+00 -0.314101E+00 -0.341149E+00 -0.341149E+00 -0.314101E+00 -0.273612E+00
1100+ -0.235728E+00 -0.200309E+00 -0.159484E+00 -0.113165E+00 -0.765323E-01 -0.560166E-01
1101+ -0.441483E-01 -0.441483E-01 -0.560166E-01 -0.765323E-01 -0.113165E+00 -0.159484E+00
1102+ -0.235040E+00 -0.293728E+00 -0.382485E+00 -0.489562E+00 -0.577300E+00 -0.610223E+00
1103+ -0.577300E+00 -0.489562E+00 -0.382485E+00 -0.293728E+00 -0.235040E+00 -0.184326E+00
1104+ -0.125744E+00 -0.787866E-01 -0.530337E-01 -0.441483E-01 -0.530337E-01 -0.787866E-01
1105+ -0.125744E+00 -0.184326E+00 -0.235040E+00 -0.348635E+00 -0.505422E+00 -0.705055E+00
1106+ -0.886652E+00 -0.992053E+00 -0.992053E+00 -0.886652E+00 -0.705055E+00 -0.505422E+00
1107+ -0.348635E+00 -0.258159E+00 -0.196198E+00 -0.130830E+00 -0.787866E-01 -0.560166E-01
1108+ -0.560166E-01 -0.787866E-01 -0.130830E+00 -0.196198E+00 -0.258159E+00 -0.348635E+00
1109+ -0.602848E+00 -0.897774E+00 -0.118640E+01 -0.139379E+01 -0.146853E+01 -0.139379E+01
1110+ -0.118640E+01 -0.897774E+00 -0.602848E+00 -0.382922E+00 -0.266070E+00 -0.196198E+00
1111+ -0.125744E+00 -0.765323E-01 -0.637050E-01 -0.765323E-01 -0.125744E+00 -0.196198E+00
1112+ -0.266070E+00 -0.382922E+00 -0.602848E+00 -0.100995E+01 -0.140101E+01 -0.172008E+01
1113+ -0.189866E+01 -0.189866E+01 -0.172008E+01 -0.140101E+01 -0.100995E+01 -0.639173E+00
1114+ -0.382922E+00 -0.258159E+00 -0.184326E+00 -0.113165E+00 -0.757530E-01 -0.757530E-01
1115+ -0.113165E+00 -0.184326E+00 -0.258159E+00 -0.382922E+00 -0.639173E+00 -0.100995E+01
1116+ -0.147892E+01 -0.190155E+01 -0.219125E+01 -0.229396E+01 -0.219125E+01 -0.190155E+01
1117+ -0.147892E+01 -0.100995E+01 -0.602848E+00 -0.348635E+00 -0.235040E+00 -0.159484E+00
1118+ -0.957745E-01 -0.749146E-01 -0.957745E-01 -0.159484E+00 -0.235040E+00 -0.348635E+00
1119+ -0.602848E+00 -0.100995E+01 -0.147892E+01 -0.250792E+01 -0.295236E+01 -0.318109E+01
1120+ -0.318109E+01 -0.295236E+01 -0.250792E+01 -0.190155E+01 -0.125763E+01 -0.710288E+00
1121+ -0.373066E+00 -0.235577E+00 -0.159484E+00 -0.103802E+00 -0.103802E+00 -0.159484E+00
1122+ -0.235577E+00 -0.373066E+00 -0.710288E+00 -0.125763E+01 -0.190155E+01 -0.250792E+01
1123+ -0.295236E+01 -0.329587E+01 -0.341160E+01 -0.329587E+01 -0.295236E+01 -0.239913E+01
1124+ -0.172008E+01 -0.106141E+01 -0.559612E+00 -0.300970E+00 -0.200309E+00 -0.130228E+00
1125+ -0.975180E-01 -0.130228E+00 -0.200309E+00 -0.300970E+00 -0.559612E+00 -0.106141E+01
1126+ -0.172008E+01 -0.239913E+01 -0.295236E+01 -0.318109E+01 -0.341160E+01 -0.341160E+01
1127+ -0.318109E+01 -0.272570E+01 -0.208877E+01 -0.139379E+01 -0.788881E+00 -0.399074E+00
1128+ -0.235728E+00 -0.156896E+00 -0.987150E-01 -0.987150E-01 -0.156896E+00 -0.235728E+00
1129+ -0.399074E+00 -0.788881E+00 -0.139379E+01 -0.208877E+01 -0.272570E+01 -0.318109E+01
1130+ -0.318109E+01 -0.329587E+01 -0.318109E+01 -0.283855E+01 -0.229114E+01 -0.162853E+01
1131+ -0.992053E+00 -0.514722E+00 -0.273612E+00 -0.176368E+00 -0.104829E+00 -0.721406E-01
1132+ -0.104829E+00 -0.176368E+00 -0.273612E+00 -0.514722E+00 -0.992053E+00 -0.162853E+01
1133+ -0.229114E+01 -0.283855E+01 -0.318109E+01 -0.295236E+01 -0.295236E+01 -0.272570E+01
1134+ -0.229114E+01 -0.171315E+01 -0.111060E+01 -0.610223E+00 -0.314101E+00 -0.190330E+00
1135+ -0.110732E+00 -0.555487E-01 -0.555487E-01 -0.110732E+00 -0.190330E+00 -0.314101E+00
1136+ -0.610223E+00 -0.111060E+01 -0.171315E+01 -0.229114E+01 -0.272570E+01 -0.295236E+01
1137+ -0.250792E+01 -0.239913E+01 -0.208877E+01 -0.162853E+01 -0.111060E+01 -0.647102E+00
1138+ -0.341149E+00 -0.199955E+00 -0.114438E+00 -0.437808E-01 -0.199027E-01 -0.437808E-01
1139+ -0.114438E+00 -0.199955E+00 -0.341149E+00 -0.647102E+00 -0.111060E+01 -0.162853E+01
1140+ -0.208877E+01 -0.239913E+01 -0.250792E+01 -0.190155E+01 -0.172008E+01 -0.139379E+01
1141+ -0.992053E+00 -0.610223E+00 -0.341149E+00 -0.203276E+00 -0.117977E+00 -0.375202E-01
1142+ 0.407676E-02 0.407676E-02 -0.375202E-01 -0.117977E+00 -0.203276E+00 -0.341149E+00
1143+ -0.610223E+00 -0.992053E+00 -0.139379E+01 -0.172008E+01 -0.190155E+01 -0.190155E+01
1144+ -0.125763E+01 -0.106141E+01 -0.788881E+00 -0.514722E+00 -0.314101E+00 -0.199955E+00
1145+ -0.117977E+00 -0.371743E-01 0.170254E-01 0.320647E-01 0.170254E-01 -0.371743E-01
1146+ -0.117977E+00 -0.199955E+00 -0.314101E+00 -0.514722E+00 -0.788881E+00 -0.106141E+01
1147+ -0.125763E+01 -0.132855E+01 -0.125763E+01 -0.710288E+00 -0.559612E+00 -0.399074E+00
1148+ -0.273612E+00 -0.190330E+00 -0.114438E+00 -0.375202E-01 0.170254E-01 0.428656E-01
1149+ 0.428656E-01 0.170254E-01 -0.375202E-01 -0.114438E+00 -0.190330E+00 -0.273612E+00
1150+ -0.399074E+00 -0.559612E+00 -0.710288E+00 -0.801064E+00 -0.801064E+00 -0.710288E+00
1151+ -0.373066E+00 -0.300970E+00 -0.235728E+00 -0.176368E+00 -0.110732E+00 -0.437808E-01
1152+ 0.407676E-02 0.320647E-01 0.428656E-01 0.320647E-01 0.407676E-02 -0.437808E-01
1153+ -0.110732E+00 -0.176368E+00 -0.235728E+00 -0.300970E+00 -0.373066E+00 -0.433586E+00
1154+ -0.457072E+00 -0.433586E+00 -0.373066E+00 -0.235577E+00 -0.200309E+00 -0.156896E+00
1155+ -0.104829E+00 -0.555487E-01 -0.199027E-01 0.407676E-02 0.170254E-01 0.170254E-01
1156+ 0.407676E-02 -0.199027E-01 -0.555487E-01 -0.104829E+00 -0.156896E+00 -0.200309E+00
1157+ -0.235577E+00 -0.263590E+00 -0.279240E+00 -0.279240E+00 -0.263590E+00 -0.235577E+00
1158+ -0.159484E+00 -0.130228E+00 -0.987150E-01 -0.721406E-01 -0.555487E-01 -0.437808E-01
1159+ -0.375202E-01 -0.371743E-01 -0.375202E-01 -0.437808E-01 -0.555487E-01 -0.721406E-01
1160+ -0.987150E-01 -0.130228E+00 -0.159484E+00 -0.181598E+00 -0.194925E+00 -0.199678E+00
1161+ -0.194925E+00 -0.181598E+00 -0.159484E+00 -0.103802E+00 -0.975180E-01 -0.987150E-01
1162+ -0.104829E+00 -0.110732E+00 -0.114438E+00 -0.117977E+00 -0.117977E+00 -0.114438E+00
1163+ -0.110732E+00 -0.104829E+00 -0.987150E-01 -0.975180E-01 -0.103802E+00 -0.113165E+00
1164+ -0.120548E+00 -0.126376E+00 -0.126376E+00 -0.120548E+00 -0.113165E+00 -0.103802E+00
1165+ -0.103802E+00 -0.130228E+00 -0.156896E+00 -0.176368E+00 -0.190330E+00 -0.199955E+00
1166+ -0.203276E+00 -0.199955E+00 -0.190330E+00 -0.176368E+00 -0.156896E+00 -0.130228E+00
1167+ -0.103802E+00 -0.861538E-01 -0.765323E-01 -0.710827E-01 -0.692156E-01 -0.710827E-01
1168+ -0.765323E-01 -0.861538E-01 -0.103802E+00 -0.159484E+00 -0.200309E+00 -0.235728E+00
1169+ -0.273612E+00 -0.314101E+00 -0.341149E+00 -0.341149E+00 -0.314101E+00 -0.273612E+00
1170+ -0.235728E+00 -0.200309E+00 -0.159484E+00 -0.113165E+00 -0.765323E-01 -0.560166E-01
1171+ -0.441483E-01 -0.441483E-01 -0.560166E-01 -0.765323E-01 -0.113165E+00 -0.159484E+00
1172+ -0.235577E+00 -0.300970E+00 -0.399074E+00 -0.514722E+00 -0.610223E+00 -0.647102E+00
1173+ -0.610223E+00 -0.514722E+00 -0.399074E+00 -0.300970E+00 -0.235577E+00 -0.181598E+00
1174+ -0.120548E+00 -0.710827E-01 -0.441483E-01 -0.352624E-01 -0.441483E-01 -0.710827E-01
1175+ -0.120548E+00 -0.181598E+00 -0.235577E+00 -0.373066E+00 -0.559612E+00 -0.788881E+00
1176+ -0.992053E+00 -0.111060E+01 -0.111060E+01 -0.992053E+00 -0.788881E+00 -0.559612E+00
1177+ -0.373066E+00 -0.263590E+00 -0.194925E+00 -0.126376E+00 -0.692156E-01 -0.441483E-01
1178+ -0.441483E-01 -0.692156E-01 -0.126376E+00 -0.194925E+00 -0.263590E+00 -0.373066E+00
1179+ -0.710288E+00 -0.106141E+01 -0.139379E+01 -0.162853E+01 -0.171315E+01 -0.162853E+01
1180+ -0.139379E+01 -0.106141E+01 -0.710288E+00 -0.433586E+00 -0.279240E+00 -0.199678E+00
1181+ -0.126376E+00 -0.710827E-01 -0.560166E-01 -0.710827E-01 -0.126376E+00 -0.199678E+00
1182+ -0.279240E+00 -0.433586E+00 -0.710288E+00 -0.125763E+01 -0.172008E+01 -0.208877E+01
1183+ -0.229114E+01 -0.229114E+01 -0.208877E+01 -0.172008E+01 -0.125763E+01 -0.801064E+00
1184+ -0.457072E+00 -0.279240E+00 -0.194925E+00 -0.120548E+00 -0.765323E-01 -0.765323E-01
1185+ -0.120548E+00 -0.194925E+00 -0.279240E+00 -0.457072E+00 -0.801064E+00 -0.125763E+01
1186+ -0.190155E+01 -0.239913E+01 -0.272570E+01 -0.283855E+01 -0.272570E+01 -0.239913E+01
1187+ -0.190155E+01 -0.132855E+01 -0.801064E+00 -0.433586E+00 -0.263590E+00 -0.181598E+00
1188+ -0.113165E+00 -0.861538E-01 -0.113165E+00 -0.181598E+00 -0.263590E+00 -0.433586E+00
1189+ -0.801064E+00 -0.132855E+01 -0.190155E+01 -0.250792E+01 -0.295236E+01 -0.318109E+01
1190+ -0.318109E+01 -0.295236E+01 -0.250792E+01 -0.190155E+01 -0.125763E+01 -0.710288E+00
1191+ -0.373066E+00 -0.235577E+00 -0.159484E+00 -0.103802E+00 -0.103802E+00 -0.159484E+00
1192+ -0.235577E+00 -0.373066E+00 -0.710288E+00 -0.125763E+01 -0.190155E+01 -0.250792E+01
1193+ -0.352749E+01 -0.386307E+01 -0.397118E+01 -0.386307E+01 -0.352749E+01 -0.295236E+01
1194+ -0.219125E+01 -0.139788E+01 -0.749906E+00 -0.373066E+00 -0.235040E+00 -0.166541E+00
1195+ -0.129916E+00 -0.166541E+00 -0.235040E+00 -0.373066E+00 -0.749906E+00 -0.139788E+01
1196+ -0.219125E+01 -0.295236E+01 -0.352749E+01 -0.386307E+01 -0.407698E+01 -0.407698E+01
1197+ -0.386307E+01 -0.341198E+01 -0.272570E+01 -0.189866E+01 -0.112042E+01 -0.559612E+00
1198+ -0.293728E+00 -0.202808E+00 -0.144116E+00 -0.144116E+00 -0.202808E+00 -0.293728E+00
1199+ -0.559612E+00 -0.112042E+01 -0.189866E+01 -0.272570E+01 -0.341198E+01 -0.386307E+01
1200+ -0.397118E+01 -0.407698E+01 -0.397118E+01 -0.363978E+01 -0.306532E+01 -0.229114E+01
1201+ -0.146853E+01 -0.788881E+00 -0.382485E+00 -0.231623E+00 -0.162507E+00 -0.125013E+00
1202+ -0.162507E+00 -0.231623E+00 -0.382485E+00 -0.788881E+00 -0.146853E+01 -0.229114E+01
1203+ -0.306532E+01 -0.363978E+01 -0.397118E+01 -0.386307E+01 -0.386307E+01 -0.363978E+01
1204+ -0.318031E+01 -0.250276E+01 -0.171315E+01 -0.992053E+00 -0.489562E+00 -0.261660E+00
1205+ -0.176760E+00 -0.115632E+00 -0.115632E+00 -0.176760E+00 -0.261660E+00 -0.489562E+00
1206+ -0.992053E+00 -0.171315E+01 -0.250276E+01 -0.318031E+01 -0.363978E+01 -0.386307E+01
1207+ -0.352749E+01 -0.341198E+01 -0.306532E+01 -0.250276E+01 -0.180143E+01 -0.111060E+01
1208+ -0.577300E+00 -0.293818E+00 -0.185127E+00 -0.113343E+00 -0.779253E-01 -0.113343E+00
1209+ -0.185127E+00 -0.293818E+00 -0.577300E+00 -0.111060E+01 -0.180143E+01 -0.250276E+01
1210+ -0.306532E+01 -0.341198E+01 -0.352749E+01 -0.295236E+01 -0.272570E+01 -0.229114E+01
1211+ -0.171315E+01 -0.111060E+01 -0.610223E+00 -0.314101E+00 -0.190330E+00 -0.110732E+00
1212+ -0.555487E-01 -0.555487E-01 -0.110732E+00 -0.190330E+00 -0.314101E+00 -0.610223E+00
1213+ -0.111060E+01 -0.171315E+01 -0.229114E+01 -0.272570E+01 -0.295236E+01 -0.295236E+01
1214+ -0.219125E+01 -0.189866E+01 -0.146853E+01 -0.992053E+00 -0.577300E+00 -0.314101E+00
1215+ -0.192662E+00 -0.109925E+00 -0.413051E-01 -0.193232E-01 -0.413051E-01 -0.109925E+00
1216+ -0.192662E+00 -0.314101E+00 -0.577300E+00 -0.992053E+00 -0.146853E+01 -0.189866E+01
1217+ -0.219125E+01 -0.229384E+01 -0.219125E+01 -0.139788E+01 -0.112042E+01 -0.788881E+00
1218+ -0.489562E+00 -0.293818E+00 -0.190330E+00 -0.109925E+00 -0.356421E-01 -0.231149E-03
1219+ -0.231149E-03 -0.356421E-01 -0.109925E+00 -0.190330E+00 -0.293818E+00 -0.489562E+00
1220+ -0.788881E+00 -0.112042E+01 -0.139788E+01 -0.155502E+01 -0.155502E+01 -0.139788E+01
1221+ -0.749906E+00 -0.559612E+00 -0.382485E+00 -0.261660E+00 -0.185127E+00 -0.110732E+00
1222+ -0.413051E-01 -0.231149E-03 0.117156E-01 -0.231149E-03 -0.413051E-01 -0.110732E+00
1223+ -0.185127E+00 -0.261660E+00 -0.382485E+00 -0.559612E+00 -0.749906E+00 -0.896009E+00
1224+ -0.950317E+00 -0.896009E+00 -0.749906E+00 -0.373066E+00 -0.293728E+00 -0.231623E+00
1225+ -0.176760E+00 -0.113343E+00 -0.555487E-01 -0.193232E-01 -0.231149E-03 -0.231149E-03
1226+ -0.193232E-01 -0.555487E-01 -0.113343E+00 -0.176760E+00 -0.231623E+00 -0.293728E+00
1227+ -0.373066E+00 -0.454015E+00 -0.504702E+00 -0.504702E+00 -0.454015E+00 -0.373066E+00
1228+ -0.235040E+00 -0.202808E+00 -0.162507E+00 -0.115632E+00 -0.779253E-01 -0.555487E-01
1229+ -0.413051E-01 -0.356421E-01 -0.413051E-01 -0.555487E-01 -0.779253E-01 -0.115632E+00
1230+ -0.162507E+00 -0.202808E+00 -0.235040E+00 -0.263590E+00 -0.285789E+00 -0.294221E+00
1231+ -0.285789E+00 -0.263590E+00 -0.235040E+00 -0.166541E+00 -0.144116E+00 -0.125013E+00
1232+ -0.115632E+00 -0.113343E+00 -0.110732E+00 -0.109925E+00 -0.109925E+00 -0.110732E+00
1233+ -0.113343E+00 -0.115632E+00 -0.125013E+00 -0.144116E+00 -0.166541E+00 -0.184326E+00
1234+ -0.194925E+00 -0.201640E+00 -0.201640E+00 -0.194925E+00 -0.184326E+00 -0.166541E+00
1235+ -0.129916E+00 -0.144116E+00 -0.162507E+00 -0.176760E+00 -0.185127E+00 -0.190330E+00
1236+ -0.192662E+00 -0.190330E+00 -0.185127E+00 -0.176760E+00 -0.162507E+00 -0.144116E+00
1237+ -0.129916E+00 -0.125542E+00 -0.125744E+00 -0.126376E+00 -0.127014E+00 -0.126376E+00
1238+ -0.125744E+00 -0.125542E+00 -0.129916E+00 -0.166541E+00 -0.202808E+00 -0.231623E+00
1239+ -0.261660E+00 -0.293818E+00 -0.314101E+00 -0.314101E+00 -0.293818E+00 -0.261660E+00
1240+ -0.231623E+00 -0.202808E+00 -0.166541E+00 -0.125542E+00 -0.950188E-01 -0.787866E-01
1241+ -0.692156E-01 -0.692156E-01 -0.787866E-01 -0.950188E-01 -0.125542E+00 -0.166541E+00
1242+ -0.235040E+00 -0.293728E+00 -0.382485E+00 -0.489562E+00 -0.577300E+00 -0.610223E+00
1243+ -0.577300E+00 -0.489562E+00 -0.382485E+00 -0.293728E+00 -0.235040E+00 -0.184326E+00
1244+ -0.125744E+00 -0.787866E-01 -0.530337E-01 -0.441483E-01 -0.530337E-01 -0.787866E-01
1245+ -0.125744E+00 -0.184326E+00 -0.235040E+00 -0.373066E+00 -0.559612E+00 -0.788881E+00
1246+ -0.992053E+00 -0.111060E+01 -0.111060E+01 -0.992053E+00 -0.788881E+00 -0.559612E+00
1247+ -0.373066E+00 -0.263590E+00 -0.194925E+00 -0.126376E+00 -0.692156E-01 -0.441483E-01
1248+ -0.441483E-01 -0.692156E-01 -0.126376E+00 -0.194925E+00 -0.263590E+00 -0.373066E+00
1249+ -0.749906E+00 -0.112042E+01 -0.146853E+01 -0.171315E+01 -0.180143E+01 -0.171315E+01
1250+ -0.146853E+01 -0.112042E+01 -0.749906E+00 -0.454015E+00 -0.285789E+00 -0.201640E+00
1251+ -0.127014E+00 -0.692156E-01 -0.530337E-01 -0.692156E-01 -0.127014E+00 -0.201640E+00
1252+ -0.285789E+00 -0.454015E+00 -0.749906E+00 -0.139788E+01 -0.189866E+01 -0.229114E+01
1253+ -0.250276E+01 -0.250276E+01 -0.229114E+01 -0.189866E+01 -0.139788E+01 -0.896009E+00
1254+ -0.504702E+00 -0.294221E+00 -0.201640E+00 -0.126376E+00 -0.787866E-01 -0.787866E-01
1255+ -0.126376E+00 -0.201640E+00 -0.294221E+00 -0.504702E+00 -0.896009E+00 -0.139788E+01
1256+ -0.219125E+01 -0.272570E+01 -0.306532E+01 -0.318031E+01 -0.306532E+01 -0.272570E+01
1257+ -0.219125E+01 -0.155502E+01 -0.950317E+00 -0.504702E+00 -0.285789E+00 -0.194925E+00
1258+ -0.125744E+00 -0.950188E-01 -0.125744E+00 -0.194925E+00 -0.285789E+00 -0.504702E+00
1259+ -0.950317E+00 -0.155502E+01 -0.219125E+01 -0.295236E+01 -0.341198E+01 -0.363978E+01
1260+ -0.363978E+01 -0.341198E+01 -0.295236E+01 -0.229384E+01 -0.155502E+01 -0.896009E+00
1261+ -0.454015E+00 -0.263590E+00 -0.184326E+00 -0.125542E+00 -0.125542E+00 -0.184326E+00
1262+ -0.263590E+00 -0.454015E+00 -0.896009E+00 -0.155502E+01 -0.229384E+01 -0.295236E+01
1263+ -0.352749E+01 -0.386307E+01 -0.397118E+01 -0.386307E+01 -0.352749E+01 -0.295236E+01
1264+ -0.219125E+01 -0.139788E+01 -0.749906E+00 -0.373066E+00 -0.235040E+00 -0.166541E+00
1265+ -0.129916E+00 -0.166541E+00 -0.235040E+00 -0.373066E+00 -0.749906E+00 -0.139788E+01
1266+ -0.219125E+01 -0.295236E+01 -0.352749E+01 -0.427482E+01 -0.445023E+01 -0.445023E+01
1267+ -0.427482E+01 -0.386307E+01 -0.318109E+01 -0.229396E+01 -0.139788E+01 -0.710288E+00
1268+ -0.348635E+00 -0.235189E+00 -0.177816E+00 -0.177816E+00 -0.235189E+00 -0.348635E+00
1269+ -0.710288E+00 -0.139788E+01 -0.229396E+01 -0.318109E+01 -0.386307E+01 -0.427482E+01
1270+ -0.445023E+01 -0.452735E+01 -0.445023E+01 -0.417814E+01 -0.363978E+01 -0.283855E+01
1271+ -0.189866E+01 -0.106141E+01 -0.505422E+00 -0.279345E+00 -0.206611E+00 -0.170130E+00
1272+ -0.206611E+00 -0.279345E+00 -0.505422E+00 -0.106141E+01 -0.189866E+01 -0.283855E+01
1273+ -0.363978E+01 -0.417814E+01 -0.445023E+01 -0.445023E+01 -0.445023E+01 -0.427511E+01
1274+ -0.386309E+01 -0.318031E+01 -0.229114E+01 -0.139379E+01 -0.705055E+00 -0.341711E+00
1275+ -0.228341E+00 -0.170744E+00 -0.170744E+00 -0.228341E+00 -0.341711E+00 -0.705055E+00
1276+ -0.139379E+01 -0.229114E+01 -0.318031E+01 -0.386309E+01 -0.427511E+01 -0.445023E+01
1277+ -0.427482E+01 -0.417814E+01 -0.386309E+01 -0.329518E+01 -0.250276E+01 -0.162853E+01
1278+ -0.886652E+00 -0.421672E+00 -0.244996E+00 -0.175241E+00 -0.136312E+00 -0.175241E+00
1279+ -0.244996E+00 -0.421672E+00 -0.886652E+00 -0.162853E+01 -0.250276E+01 -0.329518E+01
1280+ -0.386309E+01 -0.417814E+01 -0.427482E+01 -0.386307E+01 -0.363978E+01 -0.318031E+01
1281+ -0.250276E+01 -0.171315E+01 -0.992053E+00 -0.489562E+00 -0.261660E+00 -0.176760E+00
1282+ -0.115632E+00 -0.115632E+00 -0.176760E+00 -0.261660E+00 -0.489562E+00 -0.992053E+00
1283+ -0.171315E+01 -0.250276E+01 -0.318031E+01 -0.363978E+01 -0.386307E+01 -0.386307E+01
1284+ -0.318109E+01 -0.283855E+01 -0.229114E+01 -0.162853E+01 -0.992053E+00 -0.514722E+00
1285+ -0.273612E+00 -0.176368E+00 -0.104829E+00 -0.721406E-01 -0.104829E+00 -0.176368E+00
1286+ -0.273612E+00 -0.514722E+00 -0.992053E+00 -0.162853E+01 -0.229114E+01 -0.283855E+01
1287+ -0.318109E+01 -0.329587E+01 -0.318109E+01 -0.229396E+01 -0.189866E+01 -0.139379E+01
1288+ -0.886652E+00 -0.489562E+00 -0.273612E+00 -0.176860E+00 -0.980457E-01 -0.485268E-01
1289+ -0.485268E-01 -0.980457E-01 -0.176860E+00 -0.273612E+00 -0.489562E+00 -0.886652E+00
1290+ -0.139379E+01 -0.189866E+01 -0.229396E+01 -0.250635E+01 -0.250635E+01 -0.229396E+01
1291+ -0.139788E+01 -0.106141E+01 -0.705055E+00 -0.421672E+00 -0.261660E+00 -0.176368E+00
1292+ -0.980457E-01 -0.397472E-01 -0.236011E-01 -0.397472E-01 -0.980457E-01 -0.176368E+00
1293+ -0.261660E+00 -0.421672E+00 -0.705055E+00 -0.106141E+01 -0.139788E+01 -0.163585E+01
1294+ -0.172113E+01 -0.163585E+01 -0.139788E+01 -0.710288E+00 -0.505422E+00 -0.341711E+00
1295+ -0.244996E+00 -0.176760E+00 -0.104829E+00 -0.485268E-01 -0.236011E-01 -0.236011E-01
1296+ -0.485268E-01 -0.104829E+00 -0.176760E+00 -0.244996E+00 -0.341711E+00 -0.505422E+00
1297+ -0.710288E+00 -0.896009E+00 -0.100355E+01 -0.100355E+01 -0.896009E+00 -0.710288E+00
1298+ -0.348635E+00 -0.279345E+00 -0.228341E+00 -0.175241E+00 -0.115632E+00 -0.721406E-01
1299+ -0.485268E-01 -0.397472E-01 -0.485268E-01 -0.721406E-01 -0.115632E+00 -0.175241E+00
1300+ -0.228341E+00 -0.279345E+00 -0.348635E+00 -0.433586E+00 -0.504702E+00 -0.531127E+00
1301+ -0.504702E+00 -0.433586E+00 -0.348635E+00 -0.235189E+00 -0.206611E+00 -0.170744E+00
1302+ -0.136312E+00 -0.115632E+00 -0.104829E+00 -0.980457E-01 -0.980457E-01 -0.104829E+00
1303+ -0.115632E+00 -0.136312E+00 -0.170744E+00 -0.206611E+00 -0.235189E+00 -0.258159E+00
1304+ -0.279240E+00 -0.294221E+00 -0.294221E+00 -0.279240E+00 -0.258159E+00 -0.235189E+00
1305+ -0.177816E+00 -0.170130E+00 -0.170744E+00 -0.175241E+00 -0.176760E+00 -0.176368E+00
1306+ -0.176860E+00 -0.176368E+00 -0.176760E+00 -0.175241E+00 -0.170744E+00 -0.170130E+00
1307+ -0.177816E+00 -0.189355E+00 -0.196198E+00 -0.199678E+00 -0.201640E+00 -0.199678E+00
1308+ -0.196198E+00 -0.189355E+00 -0.177816E+00 -0.177816E+00 -0.206611E+00 -0.228341E+00
1309+ -0.244996E+00 -0.261660E+00 -0.273612E+00 -0.273612E+00 -0.261660E+00 -0.244996E+00
1310+ -0.228341E+00 -0.206611E+00 -0.177816E+00 -0.151452E+00 -0.137025E+00 -0.130830E+00
1311+ -0.126376E+00 -0.126376E+00 -0.130830E+00 -0.137025E+00 -0.151452E+00 -0.177816E+00
1312+ -0.235189E+00 -0.279345E+00 -0.341711E+00 -0.421672E+00 -0.489562E+00 -0.514722E+00
1313+ -0.489562E+00 -0.421672E+00 -0.341711E+00 -0.279345E+00 -0.235189E+00 -0.189355E+00
1314+ -0.137025E+00 -0.989867E-01 -0.787866E-01 -0.710827E-01 -0.787866E-01 -0.989867E-01
1315+ -0.137025E+00 -0.189355E+00 -0.235189E+00 -0.348635E+00 -0.505422E+00 -0.705055E+00
1316+ -0.886652E+00 -0.992053E+00 -0.992053E+00 -0.886652E+00 -0.705055E+00 -0.505422E+00
1317+ -0.348635E+00 -0.258159E+00 -0.196198E+00 -0.130830E+00 -0.787866E-01 -0.560166E-01
1318+ -0.560166E-01 -0.787866E-01 -0.130830E+00 -0.196198E+00 -0.258159E+00 -0.348635E+00
1319+ -0.710288E+00 -0.106141E+01 -0.139379E+01 -0.162853E+01 -0.171315E+01 -0.162853E+01
1320+ -0.139379E+01 -0.106141E+01 -0.710288E+00 -0.433586E+00 -0.279240E+00 -0.199678E+00
1321+ -0.126376E+00 -0.710827E-01 -0.560166E-01 -0.710827E-01 -0.126376E+00 -0.199678E+00
1322+ -0.279240E+00 -0.433586E+00 -0.710288E+00 -0.139788E+01 -0.189866E+01 -0.229114E+01
1323+ -0.250276E+01 -0.250276E+01 -0.229114E+01 -0.189866E+01 -0.139788E+01 -0.896009E+00
1324+ -0.504702E+00 -0.294221E+00 -0.201640E+00 -0.126376E+00 -0.787866E-01 -0.787866E-01
1325+ -0.126376E+00 -0.201640E+00 -0.294221E+00 -0.504702E+00 -0.896009E+00 -0.139788E+01
1326+ -0.229396E+01 -0.283855E+01 -0.318031E+01 -0.329518E+01 -0.318031E+01 -0.283855E+01
1327+ -0.229396E+01 -0.163585E+01 -0.100355E+01 -0.531127E+00 -0.294221E+00 -0.199678E+00
1328+ -0.130830E+00 -0.989867E-01 -0.130830E+00 -0.199678E+00 -0.294221E+00 -0.531127E+00
1329+ -0.100355E+01 -0.163585E+01 -0.229396E+01 -0.318109E+01 -0.363978E+01 -0.386309E+01
1330+ -0.386309E+01 -0.363978E+01 -0.318109E+01 -0.250635E+01 -0.172113E+01 -0.100355E+01
1331+ -0.504702E+00 -0.279240E+00 -0.196198E+00 -0.137025E+00 -0.137025E+00 -0.196198E+00
1332+ -0.279240E+00 -0.504702E+00 -0.100355E+01 -0.172113E+01 -0.250635E+01 -0.318109E+01
1333+ -0.386307E+01 -0.417814E+01 -0.427511E+01 -0.417814E+01 -0.386307E+01 -0.329587E+01
1334+ -0.250635E+01 -0.163585E+01 -0.896009E+00 -0.433586E+00 -0.258159E+00 -0.189355E+00
1335+ -0.151452E+00 -0.189355E+00 -0.258159E+00 -0.433586E+00 -0.896009E+00 -0.163585E+01
1336+ -0.250635E+01 -0.329587E+01 -0.386307E+01 -0.427482E+01 -0.445023E+01 -0.445023E+01
1337+ -0.427482E+01 -0.386307E+01 -0.318109E+01 -0.229396E+01 -0.139788E+01 -0.710288E+00
1338+ -0.348635E+00 -0.235189E+00 -0.177816E+00 -0.177816E+00 -0.235189E+00 -0.348635E+00
1339+ -0.710288E+00 -0.139788E+01 -0.229396E+01 -0.318109E+01 -0.386307E+01 -0.427482E+01
1340+ -0.465019E+01 -0.469693E+01 -0.465019E+01 -0.445023E+01 -0.397118E+01 -0.318109E+01
1341+ -0.219125E+01 -0.125763E+01 -0.602848E+00 -0.314799E+00 -0.234093E+00 -0.200150E+00
1342+ -0.234093E+00 -0.314799E+00 -0.602848E+00 -0.125763E+01 -0.219125E+01 -0.318109E+01
1343+ -0.397118E+01 -0.445023E+01 -0.465019E+01 -0.469693E+01 -0.469693E+01 -0.459347E+01
1344+ -0.427511E+01 -0.363978E+01 -0.272570E+01 -0.172008E+01 -0.897774E+00 -0.419981E+00
1345+ -0.264969E+00 -0.210564E+00 -0.210564E+00 -0.264969E+00 -0.419981E+00 -0.897774E+00
1346+ -0.172008E+01 -0.272570E+01 -0.363978E+01 -0.427511E+01 -0.459347E+01 -0.469693E+01
1347+ -0.465019E+01 -0.459347E+01 -0.436684E+01 -0.386309E+01 -0.306532E+01 -0.208877E+01
1348+ -0.118640E+01 -0.564374E+00 -0.298603E+00 -0.221870E+00 -0.186832E+00 -0.221870E+00
1349+ -0.298603E+00 -0.564374E+00 -0.118640E+01 -0.208877E+01 -0.306532E+01 -0.386309E+01
1350+ -0.436684E+01 -0.459347E+01 -0.465019E+01 -0.445023E+01 -0.427511E+01 -0.386309E+01
1351+ -0.318031E+01 -0.229114E+01 -0.139379E+01 -0.705055E+00 -0.341711E+00 -0.228341E+00
1352+ -0.170744E+00 -0.170744E+00 -0.228341E+00 -0.341711E+00 -0.705055E+00 -0.139379E+01
1353+ -0.229114E+01 -0.318031E+01 -0.386309E+01 -0.427511E+01 -0.445023E+01 -0.445023E+01
1354+ -0.397118E+01 -0.363978E+01 -0.306532E+01 -0.229114E+01 -0.146853E+01 -0.788881E+00
1355+ -0.382485E+00 -0.231623E+00 -0.162507E+00 -0.125013E+00 -0.162507E+00 -0.231623E+00
1356+ -0.382485E+00 -0.788881E+00 -0.146853E+01 -0.229114E+01 -0.306532E+01 -0.363978E+01
1357+ -0.397118E+01 -0.407698E+01 -0.397118E+01 -0.318109E+01 -0.272570E+01 -0.208877E+01
1358+ -0.139379E+01 -0.788881E+00 -0.399074E+00 -0.235728E+00 -0.156896E+00 -0.987150E-01
1359+ -0.987150E-01 -0.156896E+00 -0.235728E+00 -0.399074E+00 -0.788881E+00 -0.139379E+01
1360+ -0.208877E+01 -0.272570E+01 -0.318109E+01 -0.341160E+01 -0.341160E+01 -0.318109E+01
1361+ -0.219125E+01 -0.172008E+01 -0.118640E+01 -0.705055E+00 -0.382485E+00 -0.235728E+00
1362+ -0.154649E+00 -0.856627E-01 -0.606061E-01 -0.856627E-01 -0.154649E+00 -0.235728E+00
1363+ -0.382485E+00 -0.705055E+00 -0.118640E+01 -0.172008E+01 -0.219125E+01 -0.250635E+01
1364+ -0.261614E+01 -0.250635E+01 -0.219125E+01 -0.125763E+01 -0.897774E+00 -0.564374E+00
1365+ -0.341711E+00 -0.231623E+00 -0.156896E+00 -0.856627E-01 -0.498276E-01 -0.498276E-01
1366+ -0.856627E-01 -0.156896E+00 -0.231623E+00 -0.341711E+00 -0.564374E+00 -0.897774E+00
1367+ -0.125763E+01 -0.155502E+01 -0.172113E+01 -0.172113E+01 -0.155502E+01 -0.125763E+01
1368+ -0.602848E+00 -0.419981E+00 -0.298603E+00 -0.228341E+00 -0.162507E+00 -0.987150E-01
1369+ -0.606061E-01 -0.498276E-01 -0.606061E-01 -0.987150E-01 -0.162507E+00 -0.228341E+00
1370+ -0.298603E+00 -0.419981E+00 -0.602848E+00 -0.801064E+00 -0.950317E+00 -0.100355E+01
1371+ -0.950317E+00 -0.801064E+00 -0.602848E+00 -0.314799E+00 -0.264969E+00 -0.221870E+00
1372+ -0.170744E+00 -0.125013E+00 -0.987150E-01 -0.856627E-01 -0.856627E-01 -0.987150E-01
1373+ -0.125013E+00 -0.170744E+00 -0.221870E+00 -0.264969E+00 -0.314799E+00 -0.382922E+00
1374+ -0.457072E+00 -0.504702E+00 -0.504702E+00 -0.457072E+00 -0.382922E+00 -0.314799E+00
1375+ -0.234093E+00 -0.210564E+00 -0.186832E+00 -0.170744E+00 -0.162507E+00 -0.156896E+00
1376+ -0.154649E+00 -0.156896E+00 -0.162507E+00 -0.170744E+00 -0.186832E+00 -0.210564E+00
1377+ -0.234093E+00 -0.252302E+00 -0.266070E+00 -0.279240E+00 -0.285789E+00 -0.279240E+00
1378+ -0.266070E+00 -0.252302E+00 -0.234093E+00 -0.200150E+00 -0.210564E+00 -0.221870E+00
1379+ -0.228341E+00 -0.231623E+00 -0.235728E+00 -0.235728E+00 -0.231623E+00 -0.228341E+00
1380+ -0.221870E+00 -0.210564E+00 -0.200150E+00 -0.196276E+00 -0.196840E+00 -0.196198E+00
1381+ -0.194925E+00 -0.194925E+00 -0.196198E+00 -0.196840E+00 -0.196276E+00 -0.200150E+00
1382+ -0.234093E+00 -0.264969E+00 -0.298603E+00 -0.341711E+00 -0.382485E+00 -0.399074E+00
1383+ -0.382485E+00 -0.341711E+00 -0.298603E+00 -0.264969E+00 -0.234093E+00 -0.196276E+00
1384+ -0.158873E+00 -0.137025E+00 -0.125744E+00 -0.120548E+00 -0.125744E+00 -0.137025E+00
1385+ -0.158873E+00 -0.196276E+00 -0.234093E+00 -0.314799E+00 -0.419981E+00 -0.564374E+00
1386+ -0.705055E+00 -0.788881E+00 -0.788881E+00 -0.705055E+00 -0.564374E+00 -0.419981E+00
1387+ -0.314799E+00 -0.252302E+00 -0.196840E+00 -0.137025E+00 -0.950188E-01 -0.765323E-01
1388+ -0.765323E-01 -0.950188E-01 -0.137025E+00 -0.196840E+00 -0.252302E+00 -0.314799E+00
1389+ -0.602848E+00 -0.897774E+00 -0.118640E+01 -0.139379E+01 -0.146853E+01 -0.139379E+01
1390+ -0.118640E+01 -0.897774E+00 -0.602848E+00 -0.382922E+00 -0.266070E+00 -0.196198E+00
1391+ -0.125744E+00 -0.765323E-01 -0.637050E-01 -0.765323E-01 -0.125744E+00 -0.196198E+00
1392+ -0.266070E+00 -0.382922E+00 -0.602848E+00 -0.125763E+01 -0.172008E+01 -0.208877E+01
1393+ -0.229114E+01 -0.229114E+01 -0.208877E+01 -0.172008E+01 -0.125763E+01 -0.801064E+00
1394+ -0.457072E+00 -0.279240E+00 -0.194925E+00 -0.120548E+00 -0.765323E-01 -0.765323E-01
1395+ -0.120548E+00 -0.194925E+00 -0.279240E+00 -0.457072E+00 -0.801064E+00 -0.125763E+01
1396+ -0.219125E+01 -0.272570E+01 -0.306532E+01 -0.318031E+01 -0.306532E+01 -0.272570E+01
1397+ -0.219125E+01 -0.155502E+01 -0.950317E+00 -0.504702E+00 -0.285789E+00 -0.194925E+00
1398+ -0.125744E+00 -0.950188E-01 -0.125744E+00 -0.194925E+00 -0.285789E+00 -0.504702E+00
1399+ -0.950317E+00 -0.155502E+01 -0.219125E+01 -0.318109E+01 -0.363978E+01 -0.386309E+01
1400+ -0.386309E+01 -0.363978E+01 -0.318109E+01 -0.250635E+01 -0.172113E+01 -0.100355E+01
1401+ -0.504702E+00 -0.279240E+00 -0.196198E+00 -0.137025E+00 -0.137025E+00 -0.196198E+00
1402+ -0.279240E+00 -0.504702E+00 -0.100355E+01 -0.172113E+01 -0.250635E+01 -0.318109E+01
1403+ -0.397118E+01 -0.427511E+01 -0.436684E+01 -0.427511E+01 -0.397118E+01 -0.341160E+01
1404+ -0.261614E+01 -0.172113E+01 -0.950317E+00 -0.457072E+00 -0.266070E+00 -0.196840E+00
1405+ -0.158873E+00 -0.196840E+00 -0.266070E+00 -0.457072E+00 -0.950317E+00 -0.172113E+01
1406+ -0.261614E+01 -0.341160E+01 -0.397118E+01 -0.445023E+01 -0.459347E+01 -0.459347E+01
1407+ -0.445023E+01 -0.407698E+01 -0.341160E+01 -0.250635E+01 -0.155502E+01 -0.801064E+00
1408+ -0.382922E+00 -0.252302E+00 -0.196276E+00 -0.196276E+00 -0.252302E+00 -0.382922E+00
1409+ -0.801064E+00 -0.155502E+01 -0.250635E+01 -0.341160E+01 -0.407698E+01 -0.445023E+01
1410+ -0.465019E+01 -0.469693E+01 -0.465019E+01 -0.445023E+01 -0.397118E+01 -0.318109E+01
1411+ -0.219125E+01 -0.125763E+01 -0.602848E+00 -0.314799E+00 -0.234093E+00 -0.200150E+00
1412+ -0.234093E+00 -0.314799E+00 -0.602848E+00 -0.125763E+01 -0.219125E+01 -0.318109E+01
1413+ -0.397118E+01 -0.445023E+01 -0.465019E+01 -0.475948E+01 -0.475948E+01 -0.469693E+01
1414+ -0.445023E+01 -0.386307E+01 -0.295236E+01 -0.190155E+01 -0.100995E+01 -0.468369E+00
1415+ -0.284471E+00 -0.232063E+00 -0.232063E+00 -0.284471E+00 -0.468369E+00 -0.100995E+01
1416+ -0.190155E+01 -0.295236E+01 -0.386307E+01 -0.445023E+01 -0.469693E+01 -0.475948E+01
1417+ -0.475948E+01 -0.473258E+01 -0.459347E+01 -0.417814E+01 -0.341198E+01 -0.239913E+01
1418+ -0.140101E+01 -0.677464E+00 -0.339657E+00 -0.249802E+00 -0.219512E+00 -0.249802E+00
1419+ -0.339657E+00 -0.677464E+00 -0.140101E+01 -0.239913E+01 -0.341198E+01 -0.417814E+01
1420+ -0.459347E+01 -0.473258E+01 -0.475948E+01 -0.469693E+01 -0.459347E+01 -0.427511E+01
1421+ -0.363978E+01 -0.272570E+01 -0.172008E+01 -0.897774E+00 -0.419981E+00 -0.264969E+00
1422+ -0.210564E+00 -0.210564E+00 -0.264969E+00 -0.419981E+00 -0.897774E+00 -0.172008E+01
1423+ -0.272570E+01 -0.363978E+01 -0.427511E+01 -0.459347E+01 -0.469693E+01 -0.469693E+01
1424+ -0.445023E+01 -0.417814E+01 -0.363978E+01 -0.283855E+01 -0.189866E+01 -0.106141E+01
1425+ -0.505422E+00 -0.279345E+00 -0.206611E+00 -0.170130E+00 -0.206611E+00 -0.279345E+00
1426+ -0.505422E+00 -0.106141E+01 -0.189866E+01 -0.283855E+01 -0.363978E+01 -0.417814E+01
1427+ -0.445023E+01 -0.452735E+01 -0.445023E+01 -0.386307E+01 -0.341198E+01 -0.272570E+01
1428+ -0.189866E+01 -0.112042E+01 -0.559612E+00 -0.293728E+00 -0.202808E+00 -0.144116E+00
1429+ -0.144116E+00 -0.202808E+00 -0.293728E+00 -0.559612E+00 -0.112042E+01 -0.189866E+01
1430+ -0.272570E+01 -0.341198E+01 -0.386307E+01 -0.407698E+01 -0.407698E+01 -0.386307E+01
1431+ -0.295236E+01 -0.239913E+01 -0.172008E+01 -0.106141E+01 -0.559612E+00 -0.300970E+00
1432+ -0.200309E+00 -0.130228E+00 -0.975180E-01 -0.130228E+00 -0.200309E+00 -0.300970E+00
1433+ -0.559612E+00 -0.106141E+01 -0.172008E+01 -0.239913E+01 -0.295236E+01 -0.329587E+01
1434+ -0.341160E+01 -0.329587E+01 -0.295236E+01 -0.190155E+01 -0.140101E+01 -0.897774E+00
1435+ -0.505422E+00 -0.293728E+00 -0.200309E+00 -0.124738E+00 -0.769317E-01 -0.769317E-01
1436+ -0.124738E+00 -0.200309E+00 -0.293728E+00 -0.505422E+00 -0.897774E+00 -0.140101E+01
1437+ -0.190155E+01 -0.229384E+01 -0.250635E+01 -0.250635E+01 -0.229384E+01 -0.190155E+01
1438+ -0.100995E+01 -0.677464E+00 -0.419981E+00 -0.279345E+00 -0.202808E+00 -0.130228E+00
1439+ -0.769317E-01 -0.622448E-01 -0.769317E-01 -0.130228E+00 -0.202808E+00 -0.279345E+00
1440+ -0.419981E+00 -0.677464E+00 -0.100995E+01 -0.132855E+01 -0.155502E+01 -0.163585E+01
1441+ -0.155502E+01 -0.132855E+01 -0.100995E+01 -0.468369E+00 -0.339657E+00 -0.264969E+00
1442+ -0.206611E+00 -0.144116E+00 -0.975180E-01 -0.769317E-01 -0.769317E-01 -0.975180E-01
1443+ -0.144116E+00 -0.206611E+00 -0.264969E+00 -0.339657E+00 -0.468369E+00 -0.639173E+00
1444+ -0.801064E+00 -0.896009E+00 -0.896009E+00 -0.801064E+00 -0.639173E+00 -0.468369E+00
1445+ -0.284471E+00 -0.249802E+00 -0.210564E+00 -0.170130E+00 -0.144116E+00 -0.130228E+00
1446+ -0.124738E+00 -0.130228E+00 -0.144116E+00 -0.170130E+00 -0.210564E+00 -0.249802E+00
1447+ -0.284471E+00 -0.327735E+00 -0.382922E+00 -0.433586E+00 -0.454015E+00 -0.433586E+00
1448+ -0.382922E+00 -0.327735E+00 -0.284471E+00 -0.232063E+00 -0.219512E+00 -0.210564E+00
1449+ -0.206611E+00 -0.202808E+00 -0.200309E+00 -0.200309E+00 -0.202808E+00 -0.206611E+00
1450+ -0.210564E+00 -0.219512E+00 -0.232063E+00 -0.243863E+00 -0.252302E+00 -0.258159E+00
1451+ -0.263590E+00 -0.263590E+00 -0.258159E+00 -0.252302E+00 -0.243863E+00 -0.232063E+00
1452+ -0.232063E+00 -0.249802E+00 -0.264969E+00 -0.279345E+00 -0.293728E+00 -0.300970E+00
1453+ -0.293728E+00 -0.279345E+00 -0.264969E+00 -0.249802E+00 -0.232063E+00 -0.211572E+00
1454+ -0.196276E+00 -0.189355E+00 -0.184326E+00 -0.181598E+00 -0.184326E+00 -0.189355E+00
1455+ -0.196276E+00 -0.211572E+00 -0.232063E+00 -0.284471E+00 -0.339657E+00 -0.419981E+00
1456+ -0.505422E+00 -0.559612E+00 -0.559612E+00 -0.505422E+00 -0.419981E+00 -0.339657E+00
1457+ -0.284471E+00 -0.243863E+00 -0.196276E+00 -0.151452E+00 -0.125542E+00 -0.113165E+00
1458+ -0.113165E+00 -0.125542E+00 -0.151452E+00 -0.196276E+00 -0.243863E+00 -0.284471E+00
1459+ -0.468369E+00 -0.677464E+00 -0.897774E+00 -0.106141E+01 -0.112042E+01 -0.106141E+01
1460+ -0.897774E+00 -0.677464E+00 -0.468369E+00 -0.327735E+00 -0.252302E+00 -0.189355E+00
1461+ -0.125542E+00 -0.861538E-01 -0.757530E-01 -0.861538E-01 -0.125542E+00 -0.189355E+00
1462+ -0.252302E+00 -0.327735E+00 -0.468369E+00 -0.100995E+01 -0.140101E+01 -0.172008E+01
1463+ -0.189866E+01 -0.189866E+01 -0.172008E+01 -0.140101E+01 -0.100995E+01 -0.639173E+00
1464+ -0.382922E+00 -0.258159E+00 -0.184326E+00 -0.113165E+00 -0.757530E-01 -0.757530E-01
1465+ -0.113165E+00 -0.184326E+00 -0.258159E+00 -0.382922E+00 -0.639173E+00 -0.100995E+01
1466+ -0.190155E+01 -0.239913E+01 -0.272570E+01 -0.283855E+01 -0.272570E+01 -0.239913E+01
1467+ -0.190155E+01 -0.132855E+01 -0.801064E+00 -0.433586E+00 -0.263590E+00 -0.181598E+00
1468+ -0.113165E+00 -0.861538E-01 -0.113165E+00 -0.181598E+00 -0.263590E+00 -0.433586E+00
1469+ -0.801064E+00 -0.132855E+01 -0.190155E+01 -0.295236E+01 -0.341198E+01 -0.363978E+01
1470+ -0.363978E+01 -0.341198E+01 -0.295236E+01 -0.229384E+01 -0.155502E+01 -0.896009E+00
1471+ -0.454015E+00 -0.263590E+00 -0.184326E+00 -0.125542E+00 -0.125542E+00 -0.184326E+00
1472+ -0.263590E+00 -0.454015E+00 -0.896009E+00 -0.155502E+01 -0.229384E+01 -0.295236E+01
1473+ -0.386307E+01 -0.417814E+01 -0.427511E+01 -0.417814E+01 -0.386307E+01 -0.329587E+01
1474+ -0.250635E+01 -0.163585E+01 -0.896009E+00 -0.433586E+00 -0.258159E+00 -0.189355E+00
1475+ -0.151452E+00 -0.189355E+00 -0.258159E+00 -0.433586E+00 -0.896009E+00 -0.163585E+01
1476+ -0.250635E+01 -0.329587E+01 -0.386307E+01 -0.445023E+01 -0.459347E+01 -0.459347E+01
1477+ -0.445023E+01 -0.407698E+01 -0.341160E+01 -0.250635E+01 -0.155502E+01 -0.801064E+00
1478+ -0.382922E+00 -0.252302E+00 -0.196276E+00 -0.196276E+00 -0.252302E+00 -0.382922E+00
1479+ -0.801064E+00 -0.155502E+01 -0.250635E+01 -0.341160E+01 -0.407698E+01 -0.445023E+01
1480+ -0.469693E+01 -0.473258E+01 -0.469693E+01 -0.452735E+01 -0.407698E+01 -0.329587E+01
1481+ -0.229384E+01 -0.132855E+01 -0.639173E+00 -0.327735E+00 -0.243863E+00 -0.211572E+00
1482+ -0.243863E+00 -0.327735E+00 -0.639173E+00 -0.132855E+01 -0.229384E+01 -0.329587E+01
1483+ -0.407698E+01 -0.452735E+01 -0.469693E+01 -0.475948E+01 -0.475948E+01 -0.469693E+01
1484+ -0.445023E+01 -0.386307E+01 -0.295236E+01 -0.190155E+01 -0.100995E+01 -0.468369E+00
1485+ -0.284471E+00 -0.232063E+00 -0.232063E+00 -0.284471E+00 -0.468369E+00 -0.100995E+01
1486+ -0.190155E+01 -0.295236E+01 -0.386307E+01 -0.445023E+01 -0.469693E+01 -0.475948E+01
1487+ -0.478080E+01 -0.475948E+01 -0.465019E+01 -0.427482E+01 -0.352749E+01 -0.250792E+01
1488+ -0.147892E+01 -0.719950E+00 -0.355001E+00 -0.259606E+00 -0.231807E+00 -0.259606E+00
1489+ -0.355001E+00 -0.719950E+00 -0.147892E+01 -0.250792E+01 -0.352749E+01 -0.427482E+01
1490+ -0.465019E+01 -0.475948E+01 -0.478080E+01 -0.475948E+01 -0.469693E+01 -0.445023E+01
1491+ -0.386307E+01 -0.295236E+01 -0.190155E+01 -0.100995E+01 -0.468369E+00 -0.284471E+00
1492+ -0.232063E+00 -0.232063E+00 -0.284471E+00 -0.468369E+00 -0.100995E+01 -0.190155E+01
1493+ -0.295236E+01 -0.386307E+01 -0.445023E+01 -0.469693E+01 -0.475948E+01 -0.475948E+01
1494+ -0.465019E+01 -0.445023E+01 -0.397118E+01 -0.318109E+01 -0.219125E+01 -0.125763E+01
1495+ -0.602848E+00 -0.314799E+00 -0.234093E+00 -0.200150E+00 -0.234093E+00 -0.314799E+00
1496+ -0.602848E+00 -0.125763E+01 -0.219125E+01 -0.318109E+01 -0.397118E+01 -0.445023E+01
1497+ -0.465019E+01 -0.469693E+01 -0.465019E+01 -0.427482E+01 -0.386307E+01 -0.318109E+01
1498+ -0.229396E+01 -0.139788E+01 -0.710288E+00 -0.348635E+00 -0.235189E+00 -0.177816E+00
1499+ -0.177816E+00 -0.235189E+00 -0.348635E+00 -0.710288E+00 -0.139788E+01 -0.229396E+01
1500+ -0.318109E+01 -0.386307E+01 -0.427482E+01 -0.445023E+01 -0.445023E+01 -0.427482E+01
1501+ -0.352749E+01 -0.295236E+01 -0.219125E+01 -0.139788E+01 -0.749906E+00 -0.373066E+00
1502+ -0.235040E+00 -0.166541E+00 -0.129916E+00 -0.166541E+00 -0.235040E+00 -0.373066E+00
1503+ -0.749906E+00 -0.139788E+01 -0.219125E+01 -0.295236E+01 -0.352749E+01 -0.386307E+01
1504+ -0.397118E+01 -0.386307E+01 -0.352749E+01 -0.250792E+01 -0.190155E+01 -0.125763E+01
1505+ -0.710288E+00 -0.373066E+00 -0.235577E+00 -0.159484E+00 -0.103802E+00 -0.103802E+00
1506+ -0.159484E+00 -0.235577E+00 -0.373066E+00 -0.710288E+00 -0.125763E+01 -0.190155E+01
1507+ -0.250792E+01 -0.295236E+01 -0.318109E+01 -0.318109E+01 -0.295236E+01 -0.250792E+01
1508+ -0.147892E+01 -0.100995E+01 -0.602848E+00 -0.348635E+00 -0.235040E+00 -0.159484E+00
1509+ -0.957745E-01 -0.749146E-01 -0.957745E-01 -0.159484E+00 -0.235040E+00 -0.348635E+00
1510+ -0.602848E+00 -0.100995E+01 -0.147892E+01 -0.190155E+01 -0.219125E+01 -0.229396E+01
1511+ -0.219125E+01 -0.190155E+01 -0.147892E+01 -0.719950E+00 -0.468369E+00 -0.314799E+00
1512+ -0.235189E+00 -0.166541E+00 -0.103802E+00 -0.749146E-01 -0.749146E-01 -0.103802E+00
1513+ -0.166541E+00 -0.235189E+00 -0.314799E+00 -0.468369E+00 -0.719950E+00 -0.100995E+01
1514+ -0.125763E+01 -0.139788E+01 -0.139788E+01 -0.125763E+01 -0.100995E+01 -0.719950E+00
1515+ -0.355001E+00 -0.284471E+00 -0.234093E+00 -0.177816E+00 -0.129916E+00 -0.103802E+00
1516+ -0.957745E-01 -0.103802E+00 -0.129916E+00 -0.177816E+00 -0.234093E+00 -0.284471E+00
1517+ -0.355001E+00 -0.468369E+00 -0.602848E+00 -0.710288E+00 -0.749906E+00 -0.710288E+00
1518+ -0.602848E+00 -0.468369E+00 -0.355001E+00 -0.259606E+00 -0.232063E+00 -0.200150E+00
1519+ -0.177816E+00 -0.166541E+00 -0.159484E+00 -0.159484E+00 -0.166541E+00 -0.177816E+00
1520+ -0.200150E+00 -0.232063E+00 -0.259606E+00 -0.284471E+00 -0.314799E+00 -0.348635E+00
1521+ -0.373066E+00 -0.373066E+00 -0.348635E+00 -0.314799E+00 -0.284471E+00 -0.259606E+00
1522+ -0.231807E+00 -0.232063E+00 -0.234093E+00 -0.235189E+00 -0.235040E+00 -0.235577E+00
1523+ -0.235040E+00 -0.235189E+00 -0.234093E+00 -0.232063E+00 -0.231807E+00 -0.232063E+00
1524+ -0.234093E+00 -0.235189E+00 -0.235040E+00 -0.235577E+00 -0.235040E+00 -0.235189E+00
1525+ -0.234093E+00 -0.232063E+00 -0.231807E+00 -0.259606E+00 -0.284471E+00 -0.314799E+00
1526+ -0.348635E+00 -0.373066E+00 -0.373066E+00 -0.348635E+00 -0.314799E+00 -0.284471E+00
1527+ -0.259606E+00 -0.232063E+00 -0.200150E+00 -0.177816E+00 -0.166541E+00 -0.159484E+00
1528+ -0.159484E+00 -0.166541E+00 -0.177816E+00 -0.200150E+00 -0.232063E+00 -0.259606E+00
1529+ -0.355001E+00 -0.468369E+00 -0.602848E+00 -0.710288E+00 -0.749906E+00 -0.710288E+00
1530+ -0.602848E+00 -0.468369E+00 -0.355001E+00 -0.284471E+00 -0.234093E+00 -0.177816E+00
1531+ -0.129916E+00 -0.103802E+00 -0.957745E-01 -0.103802E+00 -0.129916E+00 -0.177816E+00
1532+ -0.234093E+00 -0.284471E+00 -0.355001E+00 -0.719950E+00 -0.100995E+01 -0.125763E+01
1533+ -0.139788E+01 -0.139788E+01 -0.125763E+01 -0.100995E+01 -0.719950E+00 -0.468369E+00
1534+ -0.314799E+00 -0.235189E+00 -0.166541E+00 -0.103802E+00 -0.749146E-01 -0.749146E-01
1535+ -0.103802E+00 -0.166541E+00 -0.235189E+00 -0.314799E+00 -0.468369E+00 -0.719950E+00
1536+ -0.147892E+01 -0.190155E+01 -0.219125E+01 -0.229396E+01 -0.219125E+01 -0.190155E+01
1537+ -0.147892E+01 -0.100995E+01 -0.602848E+00 -0.348635E+00 -0.235040E+00 -0.159484E+00
1538+ -0.957745E-01 -0.749146E-01 -0.957745E-01 -0.159484E+00 -0.235040E+00 -0.348635E+00
1539+ -0.602848E+00 -0.100995E+01 -0.147892E+01 -0.250792E+01 -0.295236E+01 -0.318109E+01
1540+ -0.318109E+01 -0.295236E+01 -0.250792E+01 -0.190155E+01 -0.125763E+01 -0.710288E+00
1541+ -0.373066E+00 -0.235577E+00 -0.159484E+00 -0.103802E+00 -0.103802E+00 -0.159484E+00
1542+ -0.235577E+00 -0.373066E+00 -0.710288E+00 -0.125763E+01 -0.190155E+01 -0.250792E+01
1543+ -0.352749E+01 -0.386307E+01 -0.397118E+01 -0.386307E+01 -0.352749E+01 -0.295236E+01
1544+ -0.219125E+01 -0.139788E+01 -0.749906E+00 -0.373066E+00 -0.235040E+00 -0.166541E+00
1545+ -0.129916E+00 -0.166541E+00 -0.235040E+00 -0.373066E+00 -0.749906E+00 -0.139788E+01
1546+ -0.219125E+01 -0.295236E+01 -0.352749E+01 -0.427482E+01 -0.445023E+01 -0.445023E+01
1547+ -0.427482E+01 -0.386307E+01 -0.318109E+01 -0.229396E+01 -0.139788E+01 -0.710288E+00
1548+ -0.348635E+00 -0.235189E+00 -0.177816E+00 -0.177816E+00 -0.235189E+00 -0.348635E+00
1549+ -0.710288E+00 -0.139788E+01 -0.229396E+01 -0.318109E+01 -0.386307E+01 -0.427482E+01
1550+ -0.465019E+01 -0.469693E+01 -0.465019E+01 -0.445023E+01 -0.397118E+01 -0.318109E+01
1551+ -0.219125E+01 -0.125763E+01 -0.602848E+00 -0.314799E+00 -0.234093E+00 -0.200150E+00
1552+ -0.234093E+00 -0.314799E+00 -0.602848E+00 -0.125763E+01 -0.219125E+01 -0.318109E+01
1553+ -0.397118E+01 -0.445023E+01 -0.465019E+01 -0.475948E+01 -0.475948E+01 -0.469693E+01
1554+ -0.445023E+01 -0.386307E+01 -0.295236E+01 -0.190155E+01 -0.100995E+01 -0.468369E+00
1555+ -0.284471E+00 -0.232063E+00 -0.232063E+00 -0.284471E+00 -0.468369E+00 -0.100995E+01
1556+ -0.190155E+01 -0.295236E+01 -0.386307E+01 -0.445023E+01 -0.469693E+01 -0.475948E+01
1557+ -0.478080E+01 -0.475948E+01 -0.465019E+01 -0.427482E+01 -0.352749E+01 -0.250792E+01
1558+ -0.147892E+01 -0.719950E+00 -0.355001E+00 -0.259606E+00 -0.231807E+00 -0.259606E+00
1559+ -0.355001E+00 -0.719950E+00 -0.147892E+01 -0.250792E+01 -0.352749E+01 -0.427482E+01
1560+ -0.465019E+01 -0.475948E+01 -0.478080E+01
1561+END_DATAGRID_3D
1562+END_BLOCK_DATAGRID_3D
--- a/src/Makefile
+++ b/src/Makefile
@@ -2,13 +2,18 @@ include ../make.inc
22
33 OBJS=\
44 atm_spec.o \
5+constant.o \
56 diag_direct.o \
7+fftw_wrapper.o \
68 gvec.o \
79 hamiltonian.o \
10+hartree.o \
811 io_vloc.o \
912 k_point.o \
1013 lobpcg.o \
14+pp.o \
1115 pwdft.o \
16+scf.o \
1217 solver.o \
1318 stdin.o
1419
@@ -18,12 +23,16 @@ stdin.o
1823 all:pwdft.x
1924
2025 .F90.o:
21- $(FC) $(FFLAGS) -c $<
26+ $(FC) $(FFLAGS) -I./libtetrabz/ -c $<
2227
23-pwdft.x:$(OBJS)
24- $(FC) $(OBJS) $(FFLAGS) $(LDFLAGS) -o $@
28+pwdft.x:$(OBJS) tetra
29+ $(FC) $(OBJS) $(FFLAGS) $(LDFLAGS) -L./libtetrabz/ -ltetrabz -o $@
30+
31+tetra:
32+ cd libtetrabz; make
2533
2634 clean:
2735 rm -rf *.o *.mod *.x
36+ cd libtetrabz; make clean
2837
2938 include make.depend
--- a/src/atm_spec.F90
+++ b/src/atm_spec.F90
@@ -3,19 +3,36 @@ module atm_spec
33 implicit none
44 !
55 type atm_t
6- integer :: ityp
7- character(256) :: elem
8- real(8) :: pos(3)
6+ integer :: ityp !< Element type index starts from 1
7+ character(256) :: elem !< Element name
8+ real(8) :: pos(3) !< Position in fractional coord.
99 end type atm_t
1010 !
1111 type spec_t
12- character(256) :: elem
13- character(256) :: ps_file
12+ character(256) :: &
13+ & elem, & !< Element name
14+ & ps_file !< Pseudopotential file name
15+ real(8) :: &
16+ & zion, & !< Ion charge
17+ & zatom !< Nuclear charge
18+ integer :: &
19+ & mmax !< Number of radial grid for PseudoPot.
20+ real(8),allocatable :: &
21+ & psr(:), & !< Radial grid [Bohr]
22+ & psV(:) !< V_ps [Htr]
1423 end type spec_t
1524 !
16- integer,save :: nat, ntyp
17- real(8),save :: avec(3,3), bvec(3,3)
18- type(atm_t),allocatable,save :: atm(:)
19- type(spec_t),allocatable,save :: spec(:)
25+ integer,save :: &
26+ & nat, & !< Number of atoms
27+ & ntyp !< Number of species (elements)
28+ real(8),save :: &
29+ & Vcell, & !< Unit cell volume [Bohr^3]
30+ & nelec, & !< Number of electrons per u.c.
31+ & avec(3,3), & !< Unit lattice vector [Bohr]
32+ & bvec(3,3) !< Unit reciplocal lattice vector [Bohr^-1]
33+ type(atm_t),allocatable,save :: &
34+ & atm(:) !< (nat) Atom
35+ type(spec_t),allocatable,save :: &
36+ & spec(:) !< (ntyp) Species
2037 !
2138 end module atm_spec
--- /dev/null
+++ b/src/constant.F90
@@ -0,0 +1,7 @@
1+module constant
2+ !
3+ real(8),parameter :: pi = acos(-1.0d0)
4+ real(8),parameter :: bohr2ang = 0.529177249d0
5+ real(8),parameter :: htr2ev = 27.21138456d0
6+ !
7+end module constant
--- a/src/diag_direct.F90
+++ b/src/diag_direct.F90
@@ -4,58 +4,55 @@ module diag_direct
44 !
55 contains
66 !
7- subroutine direct(kvec,evec,eval)
7+ subroutine direct(npw,kvec,evec,eval)
88 !
9+ use atm_spec, only : bvec
910 use solver, only : nbnd
10- use gvec, only : rfft, wfft
11- use io_vloc, only : Vloc
11+ use gvec, only : g_rh, g_wf
12+ use io_vloc, only : Vks
13+ use fftw_wrapper, only : fft_r2g
1214 !
15+ integer,intent(in) :: npw
1316 real(8),intent(in) :: kvec(3)
14- complex(8),intent(out) :: evec(wfft%npw,nbnd)
15- complex(8),intent(out) :: eval(nbnd)
17+ complex(8),intent(out) :: evec(npw,nbnd)
18+ real(8),intent(out) :: eval(nbnd)
1619 !
1720 integer :: info, ipw, jpw, lwork, dmill(3)
18- real(8) :: rwork(3*wfft%npw-2), eval_full(wfft%npw), kgv(3)
19- complex(8) :: ham(wfft%npw,wfft%npw), &
20- & VlocG(rfft%npw3(1), rfft%npw3(2), rfft%npw3(3))
21+ real(8) :: rwork(3*npw-2), eval_full(npw), kgv(3)
22+ complex(8) :: ham(npw,npw), &
23+ & VksG(g_rh%nft(1), g_rh%nft(2), g_rh%nft(3))
2124 complex(8),allocatable :: work(:)
2225 !
23- include 'fftw3.f'
24- integer(8) :: plan
25- !
2626 ! Local potential term
2727 !
28- call dfftw_plan_dft_3d(plan, rfft%npw3(1), rfft%npw3(2), rfft%npw3(3), Vloc, VlocG, &
29- & fftw_forward, fftw_estimate)
30- call dfftw_execute_dft(plan, Vloc, VlocG)
31- call dfftw_destroy_plan(plan)
28+ call fft_r2G(Vks, VksG)
3229 !
33- do ipw = 1, wfft%npw
34- do jpw = 1, wfft%npw
35- dmill(1:3) = wfft%mill(1:3,jpw) - wfft%mill(1:3,ipw)
36- dmill(1:3) = modulo(dmill(1:3), rfft%npw3(1:3)) + 1
37- ham(jpw,ipw) = VlocG(dmill(1), dmill(2), dmill(3))
30+ do ipw = 1, npw
31+ do jpw = 1, npw
32+ dmill(1:3) = g_wf%mill(1:3,g_wf%map(jpw)) - g_wf%mill(1:3,g_wf%map(ipw))
33+ dmill(1:3) = modulo(dmill(1:3), g_rh%nft(1:3)) + 1
34+ ham(jpw,ipw) = VksG(dmill(1), dmill(2), dmill(3))
3835 end do
3936 end do
4037 !
4138 ! Kinetic energy term
4239 !
43- do ipw = 1, wfft%npw
44- kgv(1:3) = kvec(1:3) + wfft%gv(1:3,ipw)
40+ do ipw = 1, npw
41+ kgv(1:3) = kvec(1:3) + matmul(bvec(1:3,1:3), dble(g_wf%mill(1:3,g_wf%map(ipw))))
4542 ham(ipw,ipw) = ham(ipw,ipw) + 0.5d0 * dot_product(kgv,kgv)
4643 end do
4744 !
4845 lwork = -1
4946 allocate(work(1))
50- call zheev('V', 'U', wfft%npw, ham, wfft%npw, eval_full, work, lwork, rwork, info)
47+ call zheev('V', 'U', npw, ham, npw, eval_full, work, lwork, rwork, info)
5148 lwork = nint(dble(work(1)))
5249 deallocate(work)
5350 allocate(work(lwork))
54- call zheev('V', 'U', wfft%npw, ham, wfft%npw, eval_full, work, lwork, rwork, info)
51+ call zheev('V', 'U', npw, ham, npw, eval_full, work, lwork, rwork, info)
5552 deallocate(work)
5653 !
57- eval( 1:nbnd) = eval_full( 1:nbnd)
58- evec(1:wfft%npw,1:nbnd) = ham(1:wfft%npw,1:nbnd)
54+ eval( 1:nbnd) = eval_full(1:nbnd)
55+ evec(1:npw,1:nbnd) = ham(1:npw,1:nbnd)
5956 !
6057 end subroutine direct
6158 !
--- /dev/null
+++ b/src/fftw_wrapper.F90
@@ -0,0 +1,109 @@
1+module fftw_wrapper
2+ !
3+ implicit none
4+ !
5+ integer(8),save :: &
6+ & plan_g2r, & !< FFTW plan for F(G)e^{iGr} -> f(r) (backward)
7+ & plan_r2g !< FFTW plan for f(r)e^{-iGr} -> F(G) (forward)
8+ !
9+ integer,allocatable,save :: &
10+ & w2r(:) !< (g_wf%npw) g_wf%npw -> g_rh%nr
11+ !
12+ complex(8),allocatable,save :: &
13+ & fft_buffer(:) !< (g_rh%npw) FFT buffer
14+ !
15+ include "fftw3.f"
16+ !
17+ private plan_g2r, plan_r2g, fft_buffer
18+ !
19+contains
20+ !
21+ subroutine init_fft()
22+ !
23+ use gvec, only : g_rh, g_wf
24+ !
25+ integer :: ipw, igv(3)
26+ !
27+ allocate(fft_buffer(g_rh%npw))
28+ !
29+ call dfftw_plan_dft_3d(plan_G2r, g_rh%nft(1), g_rh%nft(2), g_rh%nft(3), &
30+ & fft_buffer, fft_buffer, &
31+ & fftw_backward, fftw_estimate)
32+ !
33+ call dfftw_plan_dft_3d(plan_r2G, g_rh%nft(1), g_rh%nft(2), g_rh%nft(3), &
34+ & fft_buffer, fft_buffer, &
35+ & fftw_forward, fftw_estimate)
36+ !
37+ allocate(w2r(g_wf%npw))
38+ do ipw = 1, g_wf%npw
39+ igv(1:3) = g_wf%mill(1:3, g_wf%map(ipw))
40+ igv(1:3) = modulo(igv(1:3), g_rh%nft(1:3))
41+ w2r(ipw) = 1 + igv(1) + g_rh%nft(1)*(igv(2) + g_rh%nft(2)*igv(3))
42+ end do
43+ !
44+ end subroutine init_fft
45+ !>
46+ !! v(r) e^{-iGr} -> V(G)
47+ !!
48+ subroutine fft_r2g(VlocR, VlocG)
49+ !
50+ use gvec, only : g_rh
51+ !
52+ real(8),intent(in) :: VlocR(g_rh%npw)
53+ complex(8),intent(out) :: VlocG(g_rh%npw)
54+ !
55+ fft_buffer(1:g_rh%npw) = VlocR(1:g_rh%npw)
56+ call dfftw_execute_dft(plan_r2g, fft_buffer, fft_buffer)
57+ VlocG(1:g_rh%npw) = fft_buffer(1:g_rh%npw) / dble(g_rh%nr)
58+ !
59+ end subroutine fft_r2g
60+ !>
61+ !! V(G) e^{iGr} -> v(r)
62+ !!
63+ subroutine fft_g2r(VlocG, VlocR)
64+ !
65+ use gvec, only : g_rh
66+ !
67+ complex(8),intent(in) :: VlocG(g_rh%npw)
68+ real(8),intent(out) :: VlocR(g_rh%npw)
69+ !
70+ fft_buffer(1:g_rh%npw) = VlocG(1:g_rh%npw)
71+ call dfftw_execute_dft(plan_g2r, fft_buffer, fft_buffer)
72+ VlocR(1:g_rh%npw) = dble(fft_buffer(1:g_rh%npw))
73+ !
74+ end subroutine fft_g2r
75+ !>
76+ !! w(r) e^{-iGr} -> W(G) -> compress
77+ !!
78+ subroutine fft_r2g_w(wfR, wfG)
79+ !
80+ use atm_spec, only : Vcell
81+ use gvec, only : g_rh, g_wf
82+ !
83+ complex(8),intent(in) :: wfR(g_rh%npw)
84+ complex(8),intent(out) :: wfG(g_wf%npw)
85+ !
86+ fft_buffer(1:g_rh%npw) = wfR(1:g_rh%npw)
87+ call dfftw_execute_dft(plan_r2g, fft_buffer, fft_buffer)
88+ wfG(1:g_wf%npw) = fft_buffer(w2r(1:g_wf%npw)) * sqrt(Vcell) / dble(g_rh%nr)
89+ !
90+ end subroutine fft_r2g_w
91+ !>
92+ !! Uncompress -> W(G) e^{iGr} -> w(r)
93+ !!
94+ subroutine fft_g2r_w(wfG, wfR)
95+ !
96+ use atm_spec, only : Vcell
97+ use gvec, only : g_rh, g_wf
98+ !
99+ complex(8),intent(in) :: wfG(g_wf%npw)
100+ complex(8),intent(out) :: wfR(g_rh%npw)
101+ !
102+ fft_buffer(1:g_rh%npw) = 0.0d0
103+ fft_buffer(w2r(1:g_wf%npw)) = wfG(1:g_wf%npw)
104+ call dfftw_execute_dft(plan_g2r, fft_buffer, fft_buffer)
105+ wfR(1:g_rh%npw) = fft_buffer(1:g_rh%npw) / sqrt(Vcell)
106+ !
107+ end subroutine fft_g2r_w
108+ !
109+end module fftw_wrapper
--- a/src/gvec.F90
+++ b/src/gvec.F90
@@ -3,26 +3,31 @@ module gvec
33 implicit none
44 !
55 type fft
6- integer :: npw
7- integer :: npw3(3)
8- integer,allocatable :: mill(:,:)
9- real(8),allocatable :: gv(:,:)
6+ integer :: &
7+ & nft(3), & !< FFT grid
8+ & nr, & !< Number of r in whole grid, product(nft(1:3))
9+ & npw !< Number of PW inside sphere
10+ integer,allocatable :: &
11+ & map(:), & !< (npw) npw(sphere) -> nr(grid) mapper
12+ & mill(:,:) !< (3,npw) Miller index
1013 end type fft
1114 !
12- type(fft),save :: rfft
13- type(fft),save :: wfft
15+ type(fft),save :: g_rh
16+ type(fft),save :: g_wf
1417 !
1518 contains
1619 !
1720 subroutine setup_gvec(xfft,g2cut)
1821 !
22+ use constant, only : pi
1923 use atm_spec, only : avec, bvec
2024 !
2125 real(8),intent(in) :: g2cut
2226 type(fft),intent(out) :: xfft
2327 !
2428 integer :: ii, i1, i2, i3, nmax3(3), nmax
25- real(8) :: pi = acos(-1.0d0), norm, gv0(3), g2
29+ real(8) :: norm, gv0(3), g2
30+ integer,allocatable :: mill0(:,:)
2631 !
2732 do ii = 1, 3
2833 norm = sqrt(dot_product(avec(1:3,ii), avec(1:3,ii)))
@@ -30,33 +35,57 @@ contains
3035 end do
3136 !
3237 nmax = product(nmax3(1:3)*2+1)
33- allocate(xfft%gv(3,nmax), xfft%mill(3,nmax))
38+ allocate(mill0(3,nmax))
3439 !
3540 xfft%npw = 0
36- do i1 = -nmax3(1), nmax3(1)
41+ do i3 = -nmax3(3), nmax3(3)
3742 do i2 = -nmax3(2), nmax3(2)
38- do i3 = -nmax3(3), nmax3(3)
43+ do i1 = -nmax3(1), nmax3(1)
3944 gv0(1:3) = matmul(bvec(1:3,1:3), dble((/i1,i2,i3/)))
4045 g2 = dot_product(gv0,gv0)
4146 if(g2 < g2cut) then
4247 xfft%npw = xfft%npw + 1
43- xfft%mill(1:3,xfft%npw) = (/i1,i2,i3/)
44- xfft%gv(1:3,xfft%npw) = gv0(1:3)
48+ mill0(1:3,xfft%npw) = (/i1,i2,i3/)
4549 end if
4650 end do
4751 end do
4852 end do
4953 !
50- write(*,*) " Numver of PW : ", xfft%npw
54+ write(*,*) " Numver of PW inside sphere : ", xfft%npw
5155 !
5256 ! Find FFT grid
5357 !
5458 do ii = 1, 3
55- xfft%npw3(ii) = maxval(xfft%mill(ii,1:xfft%npw))*2 + 1
56- call base2357(xfft%npw3(ii))
59+ xfft%nft(ii) = maxval(xfft%mill(ii,1:xfft%npw))*2 + 1
60+ call base2357(xfft%nft(ii))
5761 end do
5862 !
59- write(*,*) " FFT grid : ", xfft%npw3(1:3)
63+ write(*,*) " FFT grid : ", xfft%nft(1:3)
64+ xfft%nr = product(xfft%nft(1:3))
65+ write(*,*) " Numver of PW in grid : ", xfft%nr
66+ allocate(xfft%mill(3,xfft%nr), xfft%map(xfft%npw))
67+ !
68+ ! Whole grid : Miller index
69+ !
70+ ii = 0
71+ do i3 = 0, xfft%nft(3) - 1
72+ do i2 = 0, xfft%nft(2) - 1
73+ do i1 = 0, xfft%nft(1) - 1
74+ ii = ii + 1
75+ xfft%mill(1:3,ii) = modulo((/i1, i2, i3/) + xfft%nft(1:3)/2, xfft%nft(1:3)) &
76+ & - xfft%nft(1:3)/2
77+ end do
78+ end do
79+ end do
80+ !
81+ ! Mapper
82+ !
83+ do ii = 1, xfft%npw
84+ mill0(1:3,ii) = modulo(mill0(1:3,ii), xfft%nft(1:3))
85+ xfft%map(ii) = 1 + mill0(1,ii) + xfft%nft(1)*(mill0(2,ii) + xfft%nft(2)*mill0(3,ii))
86+ end do
87+ !
88+ deallocate(mill0)
6089 !
6190 end subroutine setup_gvec
6291 !
--- a/src/hamiltonian.F90
+++ b/src/hamiltonian.F90
@@ -6,25 +6,36 @@ contains
66 !
77 subroutine h_psi(kvec,psi, hpsi)
88 !
9- use gvec, only : wfft
9+ use gvec, only : g_wf, g_rh
1010 use solver, only : nbnd
11+ use fftw_wrapper, only : fft_g2r_w, fft_r2g_w
12+ use io_vloc, only : Vks
13+ use atm_spec, only : bvec
1114 !
1215 real(8),intent(in) :: kvec(3)
13- complex(8),intent(in) :: psi(wfft%npw,nbnd)
14- complex(8),intent(out) :: hpsi(wfft%npw,nbnd)
16+ complex(8),intent(in) :: psi(g_wf%npw,nbnd)
17+ complex(8),intent(out) :: hpsi(g_wf%npw,nbnd)
1518 !
16- integer :: ipw
19+ integer :: ipw, ibnd
1720 real(8) :: kgv(3)
21+ complex(8) :: psir(g_rh%nr)
1822 !
19- hpsi(1:wfft%npw,1:nbnd) = 0.0d0
23+ ! Local potential
24+ !
25+ do ibnd = 1, nbnd
26+ call fft_g2r_w(psi(1:g_wf%npw,ibnd), psir)
27+ psir(1:g_rh%nr) = psir(1:g_rh%nr) * Vks(1:g_rh%nr)
28+ call fft_r2g_w(psir, hpsi(1:g_wf%npw,ibnd))
29+ end do
2030 !
2131 ! Kinetic energy term
2232 !
23- do ipw = 1, wfft%npw
24- kgv(1:3) = kvec(1:3) + wfft%gv(1:3,ipw)
25- hpsi(ipw,1:nbnd) = 0.5d0 * dot_product(kgv,kgv) * psi(ipw,1:nbnd)
33+ do ipw = 1, g_wf%npw
34+ kgv(1:3) = kvec(1:3) + matmul(bvec(1:3,1:3), dble(g_wf%mill(1:3,g_wf%map(ipw))))
35+ hpsi(ipw,1:nbnd) = hpsi(ipw,1:nbnd) &
36+ & + 0.5d0 * dot_product(kgv,kgv) * psi(ipw,1:nbnd)
2637 end do
27- !
38+ !
2839 end subroutine h_psi
2940 !
3041 end module hamiltonian
--- /dev/null
+++ b/src/hartree.F90
@@ -0,0 +1,78 @@
1+module hartree
2+ !
3+ implicit none
4+ !
5+contains
6+ !
7+ subroutine hartree_pot(Vloc)
8+ !
9+ use constant, only : pi
10+ use gvec, only : g_rh
11+ use atm_spec, only : bvec
12+ use io_vloc, only : rho
13+ use fftw_wrapper, only : fft_g2r, fft_r2g
14+ !
15+ real(8),intent(inout) :: Vloc(g_rh%nr)
16+ !
17+ integer :: ir
18+ real(8) :: g3(3), VH(g_rh%nr)
19+ complex(8) :: rhog(g_rh%nr)
20+ !
21+ call fft_r2G(rho, rhoG)
22+ !
23+ ! G = 0 : Compensation to the ionic potential
24+ !
25+ rhog(1) = 0.0d0
26+ !
27+ do ir = 2, g_rh%nr
28+ g3(1:3) = matmul(bvec(1:3,1:3), dble(g_rh%mill(1:3,ir)))
29+ rhog(ir) = 4.0d0 * pi * rhog(ir) / dot_product(g3(1:3),g3(1:3))
30+ end do
31+ !
32+ call fft_G2r(rhoG, VH)
33+ !
34+ Vloc(1:g_rh%nr) = Vloc(1:g_rh%nr) + VH(1:g_rh%nr)
35+ !
36+ end subroutine hartree_pot
37+ !
38+ subroutine xc_pot(Vloc)
39+ !
40+ use constant, only : pi
41+ use io_vloc, only : rho
42+ use gvec, only : g_rh
43+ !
44+ real(8),intent(inout) :: Vloc(g_rh%nr)
45+ !
46+ integer :: ir
47+ real(8) :: rs, exc, Vxc
48+ !
49+ do ir = 1, g_rh%nr
50+ !
51+ if(rho(ir) > 1.0d-10) then
52+ !
53+ rs = (3.0d0 / (4.0d0 * pi * rho(ir)))**(1.0d0/3.0d0)
54+ !
55+ if(rs < 1.0d0) then
56+ exc = -3.0d0 / (4.0d0*pi) * (9.0d0*pi/4)**(1.0d0/3.0d0) / rs &
57+ & - 0.0480d0 + 0.031d0*log(rs) - 0.0116d0*rs + 0.0020d0*rs*log(rs)
58+ !
59+ vxc = exc -1.0d0 / (4.0d0*pi) * (9.0d0*pi/4)**(1.0d0/3.0d0) / rs**2 &
60+ & -0.0096d0*rs + 0.031d0 + 0.002d0*rs*log(rs)
61+ else
62+ exc = -3.0d0 / (4.0d0*pi) * (9.0d0*pi/4)**(1.0d0/3.0d0) / rs &
63+ & - 0.1423d0 / (1.0d0 + 1.0529d0*sqrt(rs) + 0.3334d0*rs)
64+ !
65+ vxc = exc -1.0d0 / (4.0d0*pi) * (9.0d0*pi/4)**(1.0d0/3.0d0) / rs**2 &
66+ & - 0.0474333d0*(0.3334d0*rs + 0.52645*sqrt(rs)) &
67+ & /(1.0d0 + 1.0529d0*sqrt(rs) + 0.3334d0*rs)**2
68+ end if
69+ !
70+ Vloc(ir) = Vloc(ir) + vxc
71+ !
72+ end if
73+ !
74+ end do
75+ !
76+ end subroutine xc_pot
77+ !
78+end module hartree
--- a/src/io_vloc.F90
+++ b/src/io_vloc.F90
@@ -2,63 +2,155 @@ module io_vloc
22 !
33 implicit none
44 !
5- complex(8),allocatable :: Vloc(:,:,:)
5+ real(8),allocatable :: &
6+ & Vks(:), & !< (g_rh%nr) Kohn-Sham potential [Htr]
7+ & Vps(:), & !< (g_rh%nr) Pseudopotential [Htr]
8+ & rho(:) !< (g_rh%nr) Charge density
69 !
710 contains
811 !
9- subroutine read_vloc()
12+ subroutine read_vks()
1013 !
14+ use constant, only : pi, htr2ev
1115 use atm_spec, only : nat, atm, bvec, avec
12- use gvec, only : rfft
16+ use gvec, only : g_rh
1317 !
1418 integer :: itemp(3), fi = 10, iat
1519 character(256) :: ctemp
16- real(8) :: avec0(3,3), pi = acos(-1.0d0), &
17- & Vloc0(1:rfft%npw3(1)+1,1:rfft%npw3(2)+1,1:rfft%npw3(3)+1)
20+ real(8) :: avec0(3,3), &
21+ & Vks0(1:g_rh%nft(1)+1,1:g_rh%nft(2)+1,1:g_rh%nft(3)+1)
1822 !
19- open(fi, file = "vloc.xsf")
23+ open(fi, file = "vks.xsf")
2024 !
2125 read(fi,*) ctemp
2226 read(fi,*) ctemp
2327 read(fi,*) avec0(1:3,1:3)
2428 avec0(1:3,1:3) = avec0(1:3,1:3) / 0.529177249d0
2529 if(any(abs(avec0(1:3,1:3)-avec(1:3,1:3)) > 1.0d-3)) then
26- write(*,*) "Error in read_vloc"
30+ write(*,*) "Error in read_vks"
2731 write(*,*) "Direct lattice vector is different."
28- stop 'error in read_vloc'
32+ stop 'error in read_vks'
2933 end if
3034 read(fi,*) ctemp
3135 read(fi,*) itemp(1:2)
3236 if(nat /= itemp(1)) then
33- write(*,*) "Error in read_vloc"
37+ write(*,*) "Error in read_vks"
3438 write(*,*) "Number of atoms is different."
35- stop 'error in read_vloc'
39+ stop 'error in read_vks'
3640 end if
3741 do iat = 1, nat
3842 read(fi,*) ctemp, avec0(1:3,1)
3943 avec0(1:3,1) = avec0(1:3,1) / 0.529177249d0
4044 avec0(1:3,1) = matmul(avec0(1:3,1), bvec(1:3,1:3)) / (2.0d0*pi)
4145 if(any(abs(avec0(1:3,1)-atm(iat)%pos(1:3)) > 1.0d-3)) then
42- write(*,*) "Error in read_vloc"
46+ write(*,*) "Error in read_vks"
4347 write(*,*) "Position of atom ", iat, " is different."
44- stop 'error in read_vloc'
48+ stop 'error in read_vks'
4549 end if
4650 end do
4751 read(fi,*) ctemp
4852 read(fi,*) ctemp
4953 read(fi,*) ctemp
5054 read(fi,*) itemp(1:3)
51- if(any(itemp(1:3) /= rfft%npw3(1:3)+1)) then
52- write(*,*) "Error in read_vloc"
55+ if(any(itemp(1:3) /= g_rh%nft(1:3)+1)) then
56+ write(*,*) "Error in read_vks"
5357 write(*,*) "FFT grid is different."
54- stop 'error in read_vloc'
58+ stop 'error in read_vks'
5559 end if
5660 read(fi,*) avec0(1:3,1)
5761 read(fi,*) avec0(1:3,1:3)
58- read(fi,*) Vloc0(1:itemp(1),1:itemp(2),1:itemp(3))
59- Vloc( 1:rfft%npw3(1),1:rfft%npw3(2),1:rfft%npw3(3)) &
60- & = Vloc0(1:rfft%npw3(1),1:rfft%npw3(2),1:rfft%npw3(3))
62+ read(fi,*) Vks0(1:itemp(1),1:itemp(2),1:itemp(3))
63+ Vks(1:g_rh%nr) = reshape(Vks0(1:g_rh%nft(1),1:g_rh%nft(2),1:g_rh%nft(3)), (/g_rh%nr/))
6164 !
62- end subroutine read_vloc
65+ write(*,*) " Average potential [eV] : ", &
66+ & sum(Vks(1:g_rh%nr)) / dble(g_rh%nr)
67+ Vks(1:g_rh%nr) = Vks(1:g_rh%nr) / htr2ev
68+ !
69+ end subroutine read_vks
70+ !
71+ subroutine generate_vps()
72+ !
73+ use constant, only : pi
74+ use gvec, only : g_rh
75+ use atm_spec, only : bvec, spec, atm, nat, ntyp, Vcell
76+ use fftw_wrapper, only : fft_g2r
77+ !
78+ integer :: jtyp, iat, nat2, ipw
79+ real(8) :: prod(nat), pos2(3,nat), gv(3), ctail, glen, dr, &
80+ & frmfac(g_rh%nr)
81+ complex(8) :: strfac(g_rh%nr), VpsG(g_rh%nr)
82+ real(8),allocatable :: sinc(:)
83+ !
84+ VpsG(1:g_rh%nr) = 0.0d0
85+ !
86+ do jtyp = 1, ntyp
87+ !
88+ nat2 = 0
89+ do iat = 1, nat
90+ if(atm(iat)%ityp == jtyp) then
91+ nat2 = nat2 + 1
92+ pos2(1:3,nat2) = atm(iat)%pos(1:3)
93+ end if
94+ end do
95+ !
96+ ! Structure factor
97+ !
98+ do ipw = 1, g_rh%nr
99+ prod(1:nat2) = 2.0d0 * pi * matmul(dble(g_rh%mill(1:3,ipw)),pos2(1:3,1:nat2))
100+ strfac(ipw) = sum(exp(cmplx(0.0d0, prod(1:nat), 8))) / Vcell
101+ end do
102+ !
103+ ! Form factor
104+ !
105+ allocate(sinc(spec(jtyp)%mmax))
106+ dr = spec(jtyp)%psr(spec(jtyp)%mmax) / dble(spec(jtyp)%mmax - 1)
107+ !
108+ ! G = 0 : Compensation to the Hartree potential
109+ !
110+ ctail = 0.5d0 * spec(jtyp)%Zion * spec(jtyp)%psr(spec(jtyp)%mmax)**2
111+ !
112+ sinc(1:spec(jtyp)%mmax) = dr
113+ sinc(1 ) = dr * 0.5d0
114+ sinc(spec(jtyp)%mmax) = dr * 0.5d0
115+ !
116+ frmfac(1) = sum( sinc(1:spec(jtyp)%mmax) &
117+ & * spec(jtyp)%psr(1:spec(jtyp)%mmax)**2 &
118+ & * spec(jtyp)%psV(1:spec(jtyp)%mmax)) &
119+ & + ctail
120+ frmfac(1) = 4.0d0 * pi * frmfac(1)
121+ !
122+ ! G /= 0
123+ !
124+ do ipw = 2, g_rh%nr
125+ !
126+ gv(1:3) = matmul(bvec(1:3,1:3), dble(g_rh%mill(1:3,ipw)))
127+ glen = sqrt(dot_product(gv(1:3),gv(1:3)))
128+ sinc(1:spec(jtyp)%mmax) = glen*spec(jtyp)%psr(1:spec(jtyp)%mmax)
129+ !
130+ ctail = - spec(jtyp)%Zion * cos(sinc(spec(jtyp)%mmax)) / glen**2
131+ !
132+ sinc(2:spec(jtyp)%mmax) = sin(sinc(1:spec(jtyp)%mmax)) &
133+ & / sinc( 1:spec(jtyp)%mmax) &
134+ & * dr
135+ sinc(1 ) = dr * 0.5d0
136+ sinc(spec(jtyp)%mmax) = sinc(spec(jtyp)%mmax) * 0.5d0
137+ !
138+ frmfac(ipw) = sum( sinc(1:spec(jtyp)%mmax) &
139+ & * spec(jtyp)%psr(1:spec(jtyp)%mmax)**2 &
140+ & * spec(jtyp)%psV(1:spec(jtyp)%mmax)) &
141+ & + ctail
142+ frmfac(ipw) = 4.0d0 * pi * frmfac(ipw)
143+ !
144+ end do
145+ !
146+ deallocate(sinc)
147+ !
148+ VpsG(1:g_rh%nr) = VpsG(1:g_rh%nr) + strfac(1:g_rh%nr) * frmfac(1:g_rh%nr)
149+ !
150+ end do
151+ !
152+ call fft_g2r(VpsG, Vps)
153+ !
154+ end subroutine generate_vps
63155 !
64156 end module io_vloc
--- a/src/k_point.F90
+++ b/src/k_point.F90
@@ -2,7 +2,37 @@ module k_point
22 !
33 implicit none
44 !
5- integer :: nk, kgrd(3)
6- real(8),allocatable :: kvec(:,:)
5+ integer,save :: nk
6+ integer,save :: kgrd(3)
7+ integer,allocatable,save :: tetra(:,:)
8+ real(8),allocatable,save :: kvec(:,:)
9+ !
10+contains
11+ !
12+ subroutine ksum_rho()
13+ !
14+ use atm_spec, only : bvec, nelec
15+ use solver, only : nbnd, ef, eval, evec
16+ use fftw_wrapper, only : fft_g2r_w
17+ use io_vloc, only : rho
18+ use gvec, only : g_rh, g_wf
19+ use libtetrabz, only : libtetrabz_fermieng
20+ !
21+ integer :: ik, ibnd
22+ real(8) :: occ(nbnd,nk)
23+ complex(8) :: psir(g_rh%nr)
24+ !
25+ CALL libtetrabz_fermieng(2,bvec,nbnd,kgrd,eval,kgrd,occ,ef,nelec*0.5d0)
26+ !
27+ rho(1:g_rh%nr) = 0.0d0
28+ do ik = 1, nk
29+ do ibnd = 1, nbnd
30+ call fft_g2r_w(evec(1:g_wf%npw,ibnd,ik), psir)
31+ rho(1:g_rh%nr) = rho(1:g_rh%nr) &
32+ & + dble(conjg(psir(1:g_rh%nr))*psir(1:g_rh%nr))*occ(ibnd,ik)*2.0d0
33+ end do
34+ end do
35+ !
36+ end subroutine ksum_rho
737 !
838 end module k_point
--- /dev/null
+++ b/src/libtetrabz/Makefile
@@ -0,0 +1,40 @@
1+include ../../make.inc
2+
3+OBJS = \
4+libtetrabz.o \
5+libtetrabz_dbldelta_mod.o \
6+libtetrabz_dblstep_mod.o \
7+libtetrabz_dos_mod.o \
8+libtetrabz_fermigr_mod.o \
9+libtetrabz_occ_mod.o \
10+libtetrabz_polcmplx_mod.o \
11+libtetrabz_polstat_mod.o \
12+libtetrabz_common.o
13+
14+.SUFFIXES :
15+.SUFFIXES : .o .F90
16+
17+libtetrabz.a:$(OBJS)
18+ ar cr $@ $(OBJS)
19+
20+.F90.o:
21+ $(FC) $(FFLAGS) -c $<
22+
23+clean:
24+ rm -f *.a *.o *.mod
25+
26+libtetrabz.o:libtetrabz_polcmplx_mod.o
27+libtetrabz.o:libtetrabz_fermigr_mod.o
28+libtetrabz.o:libtetrabz_polstat_mod.o
29+libtetrabz.o:libtetrabz_dbldelta_mod.o
30+libtetrabz.o:libtetrabz_dblstep_mod.o
31+libtetrabz.o:libtetrabz_dos_mod.o
32+libtetrabz.o:libtetrabz_occ_mod.o
33+libtetrabz_dbldelta_mod.o:libtetrabz_common.o
34+libtetrabz_dblstep_mod.o:libtetrabz_common.o
35+libtetrabz_dos_mod.o:libtetrabz_common.o
36+libtetrabz_fermigr_mod.o:libtetrabz_common.o
37+libtetrabz_occ_mod.o:libtetrabz_common.o
38+libtetrabz_polcmplx_mod.o:libtetrabz_common.o
39+libtetrabz_polstat_mod.o:libtetrabz_common.o
40+
--- /dev/null
+++ b/src/libtetrabz/libtetrabz.F90
@@ -0,0 +1,35 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz
24+ !
25+ USE libtetrabz_occ_mod, ONLY : libtetrabz_occ
26+ USE libtetrabz_occ_mod, ONLY : libtetrabz_fermieng
27+ USE libtetrabz_dos_mod, ONLY : libtetrabz_dos
28+ USE libtetrabz_dos_mod, ONLY : libtetrabz_intdos
29+ USE libtetrabz_dblstep_mod, ONLY : libtetrabz_dblstep
30+ USE libtetrabz_dbldelta_mod, ONLY : libtetrabz_dbldelta
31+ USE libtetrabz_polstat_mod, ONLY : libtetrabz_polstat
32+ USE libtetrabz_fermigr_mod, ONLY : libtetrabz_fermigr
33+ USE libtetrabz_polcmplx_mod, ONLY : libtetrabz_polcmplx
34+ !
35+END MODULE libtetrabz
Binary files /dev/null and b/src/libtetrabz/libtetrabz.a differ
--- /dev/null
+++ b/src/libtetrabz/libtetrabz_common.F90
@@ -0,0 +1,726 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz_common
24+ !
25+ IMPLICIT NONE
26+ !
27+ PRIVATE
28+ PUBLIC libtetrabz_initialize, libtetrabz_sort, libtetrabz_interpol_indx, &
29+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
30+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, libtetrabz_tsmall_c3, &
31+ & libtetrabz_triangle_a1, libtetrabz_triangle_b1, &
32+ & libtetrabz_triangle_b2, libtetrabz_triangle_c1, &
33+ & libtetrabz_mpisum_d, libtetrabz_mpisum_dv, libtetrabz_mpisum_zv
34+ !
35+CONTAINS
36+!
37+! define shortest diagonal line & define type of tetragonal
38+!
39+SUBROUTINE libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,nt_local,nkBZ,ik_global,ik_local,kvec,comm)
40+ !
41+ IMPLICIT NONE
42+ !
43+ INTEGER,INTENT(IN) :: ltetra, nge(3), ngw(3)
44+ REAL(8),INTENT(IN) :: bvec(3,3)
45+ LOGICAL,INTENT(OUT) :: linterpol
46+ REAL(8),INTENT(OUT) :: wlsm(4,20)
47+ INTEGER,INTENT(OUT) :: nk_local, nt_local, nkBZ
48+ INTEGER,INTENT(OUT),ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
49+ REAL(8),INTENT(OUT),ALLOCATABLE :: kvec(:,:)
50+ INTEGER,INTENT(IN),OPTIONAL :: comm
51+ !
52+ INTEGER :: itype, i1, i2, i3, it, divvec(4,4), ivvec0(4), ivvec(3,20,6)
53+ REAL(8) :: l(4), bvec2(3,3), bvec3(3,4)
54+ !
55+ nkBZ = PRODUCT(nge(1:3))
56+ linterpol = .NOT. ALL(nge(1:3) == ngw(1:3))
57+ !
58+ DO i1 = 1, 3
59+ bvec2(1:3,i1) = bvec(1:3,i1) / DBLE(nge(i1))
60+ END DO
61+ !
62+ bvec3(1:3,1) = -bvec2(1:3,1) + bvec2(1:3,2) + bvec2(1:3,3)
63+ bvec3(1:3,2) = bvec2(1:3,1) - bvec2(1:3,2) + bvec2(1:3,3)
64+ bvec3(1:3,3) = bvec2(1:3,1) + bvec2(1:3,2) - bvec2(1:3,3)
65+ bvec3(1:3,4) = bvec2(1:3,1) + bvec2(1:3,2) + bvec2(1:3,3)
66+ !
67+ ! length of delta bvec
68+ !
69+ DO i1 = 1, 4
70+ l(i1) = DOT_PRODUCT(bvec3(1:3,i1),bvec3(1:3,i1))
71+ END DO
72+ !
73+ itype = MINLOC(l(1:4),1)
74+ !
75+ ! start & last
76+ !
77+ ivvec0(1:4) = (/ 0, 0, 0, 0 /)
78+ !
79+ divvec(1:4,1) = (/ 1, 0, 0, 0 /)
80+ divvec(1:4,2) = (/ 0, 1, 0, 0 /)
81+ divvec(1:4,3) = (/ 0, 0, 1, 0 /)
82+ divvec(1:4,4) = (/ 0, 0, 0, 1 /)
83+ !
84+ ivvec0(itype) = 1
85+ divvec(itype, itype) = - 1
86+ !
87+ ! Corners of tetrahedra
88+ !
89+ it = 0
90+ DO i1 = 1, 3
91+ DO i2 = 1, 3
92+ IF(i2 == i1) CYCLE
93+ DO i3 = 1, 3
94+ IF(i3 == i1 .OR. i3 == i2) CYCLE
95+ !
96+ it = it + 1
97+ !
98+ ivvec(1:3,1,it) = ivvec0(1:3)
99+ ivvec(1:3,2,it) = ivvec(1:3,1,it) + divvec(1:3,i1)
100+ ivvec(1:3,3,it) = ivvec(1:3,2,it) + divvec(1:3,i2)
101+ ivvec(1:3,4,it) = ivvec(1:3,3,it) + divvec(1:3,i3)
102+ !
103+ END DO
104+ END DO
105+ END DO
106+ !
107+ ! Additional points
108+ !
109+ ivvec(1:3, 5,1:6) = 2 * ivvec(1:3,1,1:6) - ivvec(1:3,2,1:6)
110+ ivvec(1:3, 6,1:6) = 2 * ivvec(1:3,2,1:6) - ivvec(1:3,3,1:6)
111+ ivvec(1:3, 7,1:6) = 2 * ivvec(1:3,3,1:6) - ivvec(1:3,4,1:6)
112+ ivvec(1:3, 8,1:6) = 2 * ivvec(1:3,4,1:6) - ivvec(1:3,1,1:6)
113+ !
114+ ivvec(1:3, 9,1:6) = 2 * ivvec(1:3,1,1:6) - ivvec(1:3,3,1:6)
115+ ivvec(1:3,10,1:6) = 2 * ivvec(1:3,2,1:6) - ivvec(1:3,4,1:6)
116+ ivvec(1:3,11,1:6) = 2 * ivvec(1:3,3,1:6) - ivvec(1:3,1,1:6)
117+ ivvec(1:3,12,1:6) = 2 * ivvec(1:3,4,1:6) - ivvec(1:3,2,1:6)
118+ !
119+ ivvec(1:3,13,1:6) = 2 * ivvec(1:3,1,1:6) - ivvec(1:3,4,1:6)
120+ ivvec(1:3,14,1:6) = 2 * ivvec(1:3,2,1:6) - ivvec(1:3,1,1:6)
121+ ivvec(1:3,15,1:6) = 2 * ivvec(1:3,3,1:6) - ivvec(1:3,2,1:6)
122+ ivvec(1:3,16,1:6) = 2 * ivvec(1:3,4,1:6) - ivvec(1:3,3,1:6)
123+ !
124+ ivvec(1:3,17,1:6) = ivvec(1:3,4,1:6) - ivvec(1:3,1,1:6) + ivvec(1:3,2,1:6)
125+ ivvec(1:3,18,1:6) = ivvec(1:3,1,1:6) - ivvec(1:3,2,1:6) + ivvec(1:3,3,1:6)
126+ ivvec(1:3,19,1:6) = ivvec(1:3,2,1:6) - ivvec(1:3,3,1:6) + ivvec(1:3,4,1:6)
127+ ivvec(1:3,20,1:6) = ivvec(1:3,3,1:6) - ivvec(1:3,4,1:6) + ivvec(1:3,1,1:6)
128+ !
129+ IF(ltetra == 1) THEN
130+ !
131+ !WRITE(*,*) "[libtetrabz] Linear tetrahedron method is used."
132+ !
133+ wlsm(1:4,1:20) = 0.0d0
134+ wlsm(1,1) = 1.0d0
135+ wlsm(2,2) = 1.0d0
136+ wlsm(3,3) = 1.0d0
137+ wlsm(4,4) = 1.0d0
138+ !
139+ ELSE IF(ltetra == 2) THEN
140+ !
141+ !WRITE(*,*) "[libtetrabz] Improved tetrahedron method is used."
142+ !
143+ wlsm(1, 1: 4) = DBLE((/1440, 0, 30, 0/))
144+ wlsm(2, 1: 4) = DBLE((/ 0, 1440, 0, 30/))
145+ wlsm(3, 1: 4) = DBLE((/ 30, 0, 1440, 0/))
146+ wlsm(4, 1: 4) = DBLE((/ 0, 30, 0, 1440/))
147+ !
148+ wlsm(1, 5: 8) = DBLE((/ -38, 7, 17, -28/))
149+ wlsm(2, 5: 8) = DBLE((/ -28, -38, 7, 17/))
150+ wlsm(3, 5: 8) = DBLE((/ 17, -28, -38, 7/))
151+ wlsm(4, 5: 8) = DBLE((/ 7, 17, -28, -38/))
152+ !
153+ wlsm(1, 9:12) = DBLE((/ -56, 9, -46, 9/))
154+ wlsm(2, 9:12) = DBLE((/ 9, -56, 9, -46/))
155+ wlsm(3, 9:12) = DBLE((/ -46, 9, -56, 9/))
156+ wlsm(4, 9:12) = DBLE((/ 9, -46, 9, -56/))
157+ !
158+ wlsm(1,13:16) = DBLE((/ -38, -28, 17, 7/))
159+ wlsm(2,13:16) = DBLE((/ 7, -38, -28, 17/))
160+ wlsm(3,13:16) = DBLE((/ 17, 7, -38, -28/))
161+ wlsm(4,13:16) = DBLE((/ -28, 17, 7, -38/))
162+ !
163+ wlsm(1,17:20) = DBLE((/ -18, -18, 12, -18/))
164+ wlsm(2,17:20) = DBLE((/ -18, -18, -18, 12/))
165+ wlsm(3,17:20) = DBLE((/ 12, -18, -18, -18/))
166+ wlsm(4,17:20) = DBLE((/ -18, 12, -18, -18/))
167+ !
168+ wlsm(1:4,1:20) = wlsm(1:4,1:20) / 1260d0
169+ !
170+ ELSE
171+ !
172+ WRITE(*,*) "[libtetrabz] STOP! ltetrta is invalid."
173+ STOP
174+ !
175+ END IF
176+ !
177+ IF (PRESENT(comm)) THEN
178+ CALL libtetrabz_kgrid(linterpol,ivvec,nge,nkBZ,nk_local,nt_local,ik_global,ik_local,kvec,comm)
179+ ELSE
180+ CALL libtetrabz_kgrid(linterpol,ivvec,nge,nkBZ,nk_local,nt_local,ik_global,ik_local,kvec)
181+ END IF
182+ !
183+END SUBROUTINE libtetrabz_initialize
184+!
185+! Initialize grid
186+!
187+SUBROUTINE libtetrabz_kgrid(linterpol,ivvec,ng,nkBZ,nk_local,nt_local,ik_global,ik_local,kvec,comm)
188+ !
189+ IMPLICIT NONE
190+ !
191+ LOGICAL,INTENT(INOUT) :: linterpol
192+ INTEGER,INTENT(IN) :: ivvec(3,20,6), ng(3), nkBZ
193+ INTEGER,INTENT(OUT) :: nk_local, nt_local
194+ INTEGER,INTENT(OUT),ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
195+ REAL(8),INTENT(OUT),ALLOCATABLE :: kvec(:,:)
196+ INTEGER,INTENT(IN),OPTIONAL :: comm
197+ !
198+ INTEGER :: it, i1, i2, i3, ii, ikv(3), nt, ik, nt_front, loc2glob(nkBZ), glob2loc(nkBZ)
199+ !
200+ IF(PRESENT(comm)) THEN
201+ CALL libtetrabz_divideMPI(comm,6 * nkBZ,nt_front,nt_local)
202+ linterpol = linterpol .OR. (6*nkBZ /= nt_local)
203+ ELSE
204+ nt_front = 0
205+ nt_local = 6 * nkBZ
206+ END IF
207+ ALLOCATE(ik_global(20, nt_local), ik_local(20, nt_local))
208+ !
209+ ! k-index for energy (Global index)
210+ !
211+ nt = 0
212+ DO i3 = 1, ng(3)
213+ DO i2 = 1, ng(2)
214+ DO i1 = 1, ng(1)
215+ !
216+ DO it = 1, 6
217+ !
218+ nt = nt + 1
219+ IF(nt <= nt_front .OR. nt_front + nt_local < nt) CYCLE
220+ !
221+ DO ii = 1, 20
222+ !
223+ ikv(1:3) = (/i1, i2, i3/) + ivvec(1:3,ii,it) - 1
224+ ikv(1:3) = MODULO(ikv(1:3), ng(1:3))
225+ !
226+ ik_global(ii,nt - nt_front) = 1 + ikv(1) + ng(1) * ikv(2) + ng(1) * ng(2) * ikv(3)
227+ !
228+ END DO
229+ !
230+ END DO
231+ !
232+ END DO
233+ END DO
234+ END DO
235+ !
236+ ! k-index for weight (Local index)
237+ !
238+ IF(.NOT. linterpol) THEN
239+ nk_local = nkBZ
240+ ik_local(1:20,1:nt_local) = ik_global(1:20,1:nt_local)
241+ RETURN
242+ END IF
243+ !
244+ glob2loc(1:nkBZ) = 0
245+ nk_local = 0
246+ DO nt = 1, nt_local
247+ DO ii = 1, 20
248+ !
249+ IF(glob2loc(ik_global(ii,nt)) /= 0) THEN
250+ ik_local(ii,nt) = glob2loc(ik_global(ii,nt))
251+ ELSE
252+ !
253+ nk_local = nk_local + 1
254+ loc2glob(nk_local) = ik_global(ii,nt)
255+ glob2loc(ik_global(ii,nt)) = nk_local
256+ ik_local(ii,nt) = nk_local
257+ !
258+ END IF
259+ !
260+ END DO
261+ END DO
262+ !
263+ ! k-vector in the fractional coordinate
264+ !
265+ ALLOCATE(kvec(3,nk_local))
266+ DO ik = 1, nk_local
267+ ! loc2glob(ik) - 1 = i1 + ng(1) * i2 + ng(1) * ng(2) * i3
268+ i1 = MOD(loc2glob(ik) - 1, ng(1))
269+ i2 = MOD((loc2glob(ik) - 1) / ng(1), ng(2))
270+ i3 = (loc2glob(ik) - 1) / (ng(1) * ng(2))
271+ kvec(1:3,ik) = DBLE((/i1, i2, i3/)) / DBLE(ng(1:3))
272+ END DO
273+ !
274+END SUBROUTINE libtetrabz_kgrid
275+!
276+! Compute cnt and dsp
277+!
278+SUBROUTINE libtetrabz_divideMPI(comm,nt,nt_front,nt_local)
279+ !
280+#if defined(__MPI)
281+ USE mpi, ONLY : MPI_COMM_SIZE, MPI_COMM_RANK
282+#endif
283+ IMPLICIT NONE
284+ !
285+ INTEGER,INTENT(IN) :: comm, nt
286+ INTEGER,INTENT(OUT) :: nt_front, nt_local
287+ !
288+ INTEGER :: petot = 1, my_rank = 0
289+#if defined(__MPI)
290+ INTEGER :: ierr
291+ CALL MPI_COMM_SIZE(comm, petot, ierr)
292+ CALL MPI_COMM_RANK(comm, my_rank, ierr)
293+#endif
294+ !
295+ IF(my_rank < MOD(nt, petot)) THEN
296+ nt_local = nt / petot + 1
297+ nt_front = my_rank * nt_local
298+ ELSE
299+ nt_local = nt / petot
300+ nt_front = my_rank * nt_local + MOD(nt, petot)
301+ END IF
302+ !
303+END SUBROUTINE libtetrabz_divideMPI
304+!
305+! Simple sort
306+!
307+SUBROUTINE libtetrabz_sort(n,key,indx)
308+ !
309+ IMPLICIT NONE
310+ !
311+ integer,INTENT(IN) :: n
312+ REAL(8),INTENT(inout) :: key(n)
313+ INTEGER,INTENT(OUT) :: indx(n)
314+ !
315+ INTEGER :: i, i0, indx0
316+ REAL(8) :: key0
317+ !
318+ DO i = 1, n
319+ indx(i) = i
320+ END DO
321+ !
322+ DO i = 1, n - 1
323+ key0 = MINVAL(key(i+1:n))
324+ i0 = MINLOC(key(i+1:n),1) + i
325+ IF(key(i) > key0) THEN
326+ key(i0) = key(i)
327+ key(i) = key0
328+ !
329+ indx0 = indx(i0)
330+ indx(i0) = indx(i)
331+ indx(i) = indx0
332+ END IF
333+ END DO
334+ !
335+END SUBROUTINE libtetrabz_sort
336+!
337+! Linear interpolation
338+!
339+SUBROUTINE libtetrabz_interpol_indx(ng,kvec,kintp,wintp)
340+ !
341+ IMPLICIT NONE
342+ !
343+ INTEGER,INTENT(in) :: ng(3)
344+ REAL(8),INTENT(in) :: kvec(3)
345+ INTEGER,INTENT(out) :: kintp(8)
346+ REAL(8),INTENT(out) :: wintp(8)
347+ !
348+ INTEGER :: ii
349+ REAL(8) :: xv(3)
350+ integer :: ikv0(3), ikv1(3), i1, i2, i3
351+ !
352+ xv(1:3) = kvec(1:3) * DBLE(ng(1:3))
353+ ikv0(1:3) = FLOOR(xv(1:3))
354+ xv(1:3) = xv(1:3) - DBLE(ikv0(1:3))
355+ !
356+ ii = 0
357+ DO i1 = 0, 1
358+ DO i2 = 0, 1
359+ DO i3 = 0, 1
360+ !
361+ ii = ii + 1
362+ !
363+ ikv1(1:3) = ikv0(1:3) + (/i1, i2, i3/)
364+ ikv1(1:3) = MODULO(ikv1(1:3), ng(1:3))
365+ kintp(ii) = 1 + ikv1(1) + ng(1) * ikv1(2) + ng(1) * ng(2) * ikv1(3)
366+ !
367+ wintp(ii) = xv(1)**i1 * (1.0d0 - xv(1))**(1 - i1) &
368+ & * xv(2)**i2 * (1.0d0 - xv(2))**(1 - i2) &
369+ & * xv(3)**i3 * (1.0d0 - xv(3))**(1 - i3)
370+ !
371+ END DO
372+ END DO
373+ END DO
374+ !
375+END SUBROUTINE libtetrabz_interpol_indx
376+!
377+! Cut small tetrahedron A1
378+!
379+SUBROUTINE libtetrabz_tsmall_a1(e,V,tsmall)
380+ !
381+ IMPLICIT NONE
382+ !
383+ REAL(8),INTENT(IN) :: e(4)
384+ REAL(8),INTENT(OUT) :: V
385+ REAL(8),INTENT(OUT) :: tsmall(4,4)
386+ !
387+ INTEGER :: ii
388+ REAL(8) :: a(4,4)
389+ !
390+ DO ii = 1, 4
391+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
392+ END DO
393+ !
394+ V = a(2,1) * a(3,1) * a(4,1)
395+ !
396+ tsmall(1, 1:4) = (/ 1d0, 0d0, 0d0, 0d0/)
397+ tsmall(2, 1:4) = (/a(1,2), a(2,1), 0d0, 0d0/)
398+ tsmall(3, 1:4) = (/a(1,3), 0d0, a(3,1), 0d0/)
399+ tsmall(4, 1:4) = (/a(1,4), 0d0, 0d0, a(4,1)/)
400+ !
401+END SUBROUTINE libtetrabz_tsmall_a1
402+!
403+! Cut small tetrahedron B1
404+!
405+SUBROUTINE libtetrabz_tsmall_b1(e,V,tsmall)
406+ !
407+ IMPLICIT NONE
408+ !
409+ REAL(8),INTENT(IN) :: e(4)
410+ REAL(8),INTENT(OUT) :: V
411+ REAL(8),INTENT(OUT) :: tsmall(4,4)
412+ !
413+ INTEGER :: ii
414+ REAL(8) :: a(4,4)
415+ !
416+ DO ii = 1, 4
417+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
418+ END DO
419+ !
420+ V = a(3,1) * a(4,1) * a(2,4)
421+ !
422+ tsmall(1, 1:4) = (/ 1d0, 0d0, 0d0, 0d0/)
423+ tsmall(2, 1:4) = (/a(1,3), 0d0, a(3,1), 0d0/)
424+ tsmall(3, 1:4) = (/a(1,4), 0d0, 0d0, a(4,1)/)
425+ tsmall(4, 1:4) = (/ 0d0, a(2,4), 0d0, a(4,2)/)
426+ !
427+END SUBROUTINE libtetrabz_tsmall_b1
428+!
429+! Cut small tetrahedron B2
430+!
431+SUBROUTINE libtetrabz_tsmall_b2(e,V,tsmall)
432+ !
433+ IMPLICIT NONE
434+ !
435+ REAL(8),INTENT(IN) :: e(4)
436+ REAL(8),INTENT(OUT) :: V
437+ REAL(8),INTENT(OUT) :: tsmall(4,4)
438+ !
439+ INTEGER :: ii
440+ REAL(8) :: a(4,4)
441+ !
442+ DO ii = 1, 4
443+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
444+ END DO
445+ !
446+ V = a(3,2) * a(4,2)
447+ !
448+ tsmall(1, 1:4) = (/1d0, 0d0, 0d0, 0d0/)
449+ tsmall(2, 1:4) = (/0d0, 1d0, 0d0, 0d0/)
450+ tsmall(3, 1:4) = (/0d0, a(2,3), a(3,2), 0d0/)
451+ tsmall(4, 1:4) = (/0d0, a(2,4), 0d0, a(4,2)/)
452+ !
453+END SUBROUTINE libtetrabz_tsmall_b2
454+!
455+! Cut small tetrahedron B3
456+!
457+SUBROUTINE libtetrabz_tsmall_b3(e,V,tsmall)
458+ !
459+ IMPLICIT NONE
460+ !
461+ REAL(8),INTENT(IN) :: e(4)
462+ REAL(8),INTENT(OUT) :: V
463+ REAL(8),INTENT(OUT) :: tsmall(4,4)
464+ !
465+ INTEGER :: ii
466+ REAL(8) :: a(4,4)
467+ !
468+ DO ii = 1, 4
469+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
470+ END DO
471+ !
472+ V = a(2,3) * a(3,1) * a(4,2)
473+ !
474+ tsmall(1, 1:4) = (/ 1d0, 0d0, 0d0, 0d0/)
475+ tsmall(2, 1:4) = (/a(1,3), 0d0, a(3,1), 0d0/)
476+ tsmall(3, 1:4) = (/ 0d0, a(2,3), a(3,2), 0d0/)
477+ tsmall(4, 1:4) = (/ 0d0, a(2,4), 0d0, a(4,2)/)
478+ !
479+END SUBROUTINE libtetrabz_tsmall_b3
480+!
481+! Cut small tetrahedron C1
482+!
483+SUBROUTINE libtetrabz_tsmall_c1(e,V,tsmall)
484+ !
485+ IMPLICIT NONE
486+ !
487+ REAL(8),INTENT(IN) :: e(4)
488+ REAL(8),INTENT(OUT) :: V
489+ REAL(8),INTENT(OUT) :: tsmall(4,4)
490+ !
491+ INTEGER :: ii
492+ REAL(8) :: a(4,4)
493+ !
494+ DO ii = 1, 4
495+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
496+ END DO
497+ !
498+ V = a(4,3)
499+ !
500+ tsmall(1, 1:4) = (/1d0, 0d0, 0d0, 0d0/)
501+ tsmall(2, 1:4) = (/0d0, 1d0, 0d0, 0d0/)
502+ tsmall(3, 1:4) = (/0d0, 0d0, 1d0, 0d0/)
503+ tsmall(4, 1:4) = (/0d0, 0d0, a(3,4), a(4,3)/)
504+ !
505+END SUBROUTINE libtetrabz_tsmall_c1
506+!
507+! Cut small tetrahedron C2
508+!
509+SUBROUTINE libtetrabz_tsmall_c2(e,V,tsmall)
510+ !
511+ IMPLICIT NONE
512+ !
513+ REAL(8),INTENT(IN) :: e(4)
514+ REAL(8),INTENT(OUT) :: V
515+ REAL(8),INTENT(OUT) :: tsmall(4,4)
516+ !
517+ INTEGER :: ii
518+ REAL(8) :: a(4,4)
519+ !
520+ DO ii = 1, 4
521+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
522+ END DO
523+ !
524+ V = a(3,4) * a(4,2)
525+ !
526+ tsmall(1, 1:4) = (/1d0, 0d0, 0d0, 0d0/)
527+ tsmall(2, 1:4) = (/0d0, 1d0, 0d0, 0d0/)
528+ tsmall(3, 1:4) = (/0d0, a(2,4), 0d0, a(4,2)/)
529+ tsmall(4, 1:4) = (/0d0, 0d0, a(3,4), a(4,3)/)
530+ !
531+END SUBROUTINE libtetrabz_tsmall_c2
532+!
533+! Cut small tetrahedron C3
534+!
535+SUBROUTINE libtetrabz_tsmall_c3(e,V,tsmall)
536+ !
537+ IMPLICIT NONE
538+ !
539+ REAL(8),INTENT(IN) :: e(4)
540+ REAL(8),INTENT(OUT) :: V
541+ REAL(8),INTENT(OUT) :: tsmall(4,4)
542+ !
543+ INTEGER :: ii
544+ REAL(8) :: a(4,4)
545+ !
546+ DO ii = 1, 4
547+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
548+ END DO
549+ !
550+ V = a(3,4) * a(2,4) * a(4,1)
551+ !
552+ tsmall(1, 1:4) = (/ 1d0, 0d0, 0d0, 0d0/)
553+ tsmall(2, 1:4) = (/a(1,4), 0d0, 0d0, a(4,1)/)
554+ tsmall(3, 1:4) = (/ 0d0, a(2,4), 0d0, a(4,2)/)
555+ tsmall(4, 1:4) = (/ 0d0, 0d0, a(3,4), a(4,3)/)
556+ !
557+END SUBROUTINE libtetrabz_tsmall_c3
558+!
559+! Cut triangle A1
560+!
561+SUBROUTINE libtetrabz_triangle_a1(e,V,tsmall)
562+ !
563+ IMPLICIT NONE
564+ !
565+ REAL(8),INTENT(IN) :: e(4)
566+ REAL(8),INTENT(OUT) :: V
567+ REAL(8),INTENT(OUT) :: tsmall(3,4)
568+ !
569+ INTEGER :: ii
570+ REAL(8) :: a(4,4)
571+ !
572+ DO ii = 1, 4
573+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
574+ END DO
575+ !
576+ !V = 3d0 * a(2,1) * a(3,1) * a(4,1) / (0d0 - e(1))
577+ V = 3d0 * a(2,1) * a(3,1) / (e(4) - e(1))
578+ !
579+ tsmall(1,1:4) = (/a(1,2), a(2,1), 0d0, 0d0/)
580+ tsmall(2,1:4) = (/a(1,3), 0d0, a(3,1), 0d0/)
581+ tsmall(3,1:4) = (/a(1,4), 0d0, 0d0, a(4,1)/)
582+ !
583+END SUBROUTINE libtetrabz_triangle_a1
584+!
585+! Cut triangle B1
586+!
587+SUBROUTINE libtetrabz_triangle_b1(e,V,tsmall)
588+ !
589+ IMPLICIT NONE
590+ !
591+ REAL(8),INTENT(IN) :: e(4)
592+ REAL(8),INTENT(OUT) :: V
593+ REAL(8),INTENT(OUT) :: tsmall(3,4)
594+ !
595+ INTEGER :: ii
596+ REAL(8) :: a(4,4)
597+ !
598+ DO ii = 1, 4
599+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
600+ END DO
601+ !
602+ !V = 3d0 * a(3,1) * a(4,1) * a(2,4) / (0d0 - e(1))
603+ V = 3d0 * a(4,1) * a(2,4) / (e(3) - e(1))
604+ !
605+ tsmall(1,1:4) = (/a(1,3), 0d0, a(3,1), 0d0/)
606+ tsmall(2,1:4) = (/a(1,4), 0d0, 0d0, a(4,1)/)
607+ tsmall(3,1:4) = (/ 0d0, a(2,4), 0d0, a(4,2)/)
608+ !
609+END SUBROUTINE libtetrabz_triangle_b1
610+!
611+! Cut triangle B2
612+!
613+SUBROUTINE libtetrabz_triangle_b2(e,V,tsmall)
614+ !
615+ IMPLICIT NONE
616+ !
617+ REAL(8),INTENT(IN) :: e(4)
618+ REAL(8),INTENT(OUT) :: V
619+ REAL(8),INTENT(OUT) :: tsmall(3,4)
620+ !
621+ INTEGER :: ii
622+ REAL(8) :: a(4,4)
623+ !
624+ DO ii = 1, 4
625+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
626+ END DO
627+ !
628+ !V = 3d0 * a(2,3) * a(3,1) * a(4,2) / (0d0 - e(1))
629+ V = 3d0 * a(2,3) * a(4,2) / (e(3) - e(1))
630+ !
631+ tsmall(1,1:4) = (/a(1,3), 0d0, a(3,1), 0d0/)
632+ tsmall(2,1:4) = (/ 0d0, a(2,3), a(3,2), 0d0/)
633+ tsmall(3,1:4) = (/ 0d0, a(2,4), 0d0, a(4,2)/)
634+ !
635+END SUBROUTINE libtetrabz_triangle_b2
636+!
637+! Cut triangle C1
638+!
639+SUBROUTINE libtetrabz_triangle_c1(e,V,tsmall)
640+ !
641+ IMPLICIT NONE
642+ !
643+ REAL(8),INTENT(IN) :: e(4)
644+ REAL(8),INTENT(OUT) :: V
645+ REAL(8),INTENT(OUT) :: tsmall(3,4)
646+ !
647+ INTEGER :: ii
648+ REAL(8) :: a(4,4)
649+ !
650+ DO ii = 1, 4
651+ a(1:4,ii) = (0d0 - e(ii)) / (e(1:4) - e(ii))
652+ END DO
653+ !
654+ !V = 3d0 * a(1,4) * a(2,4) * a(3,4) / (e(4) - 0d0)
655+ V = 3d0 * a(1,4) * a(2,4) / (e(4) - e(3))
656+ !
657+ tsmall(1,1:4) = (/a(1,4), 0d0, 0d0, a(4,1)/)
658+ tsmall(2,1:4) = (/ 0d0, a(2,4), 0d0, a(4,2)/)
659+ tsmall(3,1:4) = (/ 0d0, 0d0, a(3,4), a(4,3)/)
660+ !
661+END SUBROUTINE libtetrabz_triangle_c1
662+!
663+! MPI_Allreduce for double scaler
664+!
665+SUBROUTINE libtetrabz_mpisum_d(comm,scaler)
666+ !
667+#if defined(__MPI)
668+ USE mpi, ONLY : MPI_DOUBLE_PRECISION, MPI_IN_PLACE, MPI_SUM
669+#endif
670+ IMPLICIT NONE
671+ !
672+ INTEGER :: comm
673+ REAL(8) :: scaler
674+ !
675+#if defined(__MPI)
676+ INTEGER :: ierr
677+ !
678+ CALL MPI_allREDUCE(MPI_IN_PLACE, scaler, 1, &
679+ & MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr)
680+#endif
681+ !
682+END SUBROUTINE libtetrabz_mpisum_d
683+!
684+! MPI_Allreduce for double vector
685+!
686+SUBROUTINE libtetrabz_mpisum_dv(comm,ndim,vector)
687+ !
688+#if defined(__MPI)
689+ USE mpi, ONLY : MPI_DOUBLE_PRECISION, MPI_IN_PLACE, MPI_SUM
690+#endif
691+ IMPLICIT NONE
692+ !
693+ INTEGER :: comm, ndim
694+ REAL(8) :: vector(ndim)
695+ !
696+#if defined(__MPI)
697+ INTEGER :: ierr
698+ !
699+ CALL MPI_allREDUCE(MPI_IN_PLACE, vector, ndim, &
700+ & MPI_DOUBLE_PRECISION, MPI_SUM, comm, ierr)
701+#endif
702+ !
703+END SUBROUTINE libtetrabz_mpisum_dv
704+!
705+! MPI_Allreduce for double complex vector
706+!
707+SUBROUTINE libtetrabz_mpisum_zv(comm,ndim,vector)
708+ !
709+#if defined(__MPI)
710+ USE mpi, ONLY : MPI_DOUBLE_COMPLEX, MPI_IN_PLACE, MPI_SUM
711+#endif
712+ IMPLICIT NONE
713+ !
714+ INTEGER :: comm, ndim
715+ COMPLEX(8) :: vector(ndim)
716+ !
717+#if defined(__MPI)
718+ INTEGER :: ierr
719+ !
720+ CALL MPI_allREDUCE(MPI_IN_PLACE, vector, ndim, &
721+ & MPI_DOUBLE_COMPLEX, MPI_SUM, comm, ierr)
722+#endif
723+ !
724+END SUBROUTINE libtetrabz_mpisum_zv
725+!
726+END MODULE libtetrabz_common
--- /dev/null
+++ b/src/libtetrabz/libtetrabz_dbldelta_mod.F90
@@ -0,0 +1,238 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz_dbldelta_mod
24+ !
25+ IMPLICIT NONE
26+ !
27+ PRIVATE
28+ PUBLIC libtetrabz_dbldelta
29+ !
30+CONTAINS
31+!
32+! Compute doubledelta
33+!
34+SUBROUTINE libtetrabz_dbldelta(ltetra,bvec,nb,nge,eig1,eig2,ngw,wght,comm) BIND(C)
35+ !
36+ USE ISO_C_BINDING
37+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, libtetrabz_mpisum_dv
38+ IMPLICIT NONE
39+ !
40+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3)
41+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), eig1(nb,PRODUCT(nge(1:3))), eig2(nb,PRODUCT(nge(1:3)))
42+ REAL(C_DOUBLE),INTENT(OUT) :: wght(nb*nb,PRODUCT(ngw(1:3)))
43+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
44+ !
45+ LOGICAL :: linterpol
46+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
47+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
48+ REAL(8) :: wlsm(4,20), wintp(1,8)
49+ REAL(8),ALLOCATABLE :: wghtd(:,:,:), kvec(:,:)
50+ !
51+ IF(PRESENT(comm)) THEN
52+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
53+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
54+ ELSE
55+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
56+ & nt_local,nkBZ,ik_global,ik_local,kvec)
57+ END IF
58+ !
59+ IF(linterpol) THEN
60+ !
61+ ALLOCATE(wghtd(nb*nb,1,nk_local))
62+ CALL libtetrabz_dbldelta_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,wghtd)
63+ !
64+ ! Interpolation
65+ !
66+ wght(1:nb*nb,1:PRODUCT(ngw(1:3))) = 0d0
67+ DO ik = 1, nk_local
68+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
69+ wght(1:nb*nb,kintp(1:8)) = wght(1:nb*nb, kintp(1:8)) &
70+ & + MATMUL(wghtd(1:nb*nb,1:1,ik), wintp(1:1,1:8))
71+ END DO ! ik = 1, nk_local
72+ DEALLOCATE(wghtd, kvec)
73+ !
74+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_dv(comm, nb*nb*PRODUCT(ngw(1:3)), wght)
75+ !
76+ ELSE
77+ CALL libtetrabz_dbldelta_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,wght)
78+ END IF
79+ !
80+ DEALLOCATE(ik_global, ik_local)
81+ !
82+END SUBROUTINE libtetrabz_dbldelta
83+!
84+! Main SUBROUTINE for Delta(E1) * Delta(E2)
85+!
86+SUBROUTINE libtetrabz_dbldelta_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,dbldelta)
87+ !
88+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
89+ & libtetrabz_triangle_a1, libtetrabz_triangle_b1, &
90+ & libtetrabz_triangle_b2, libtetrabz_triangle_c1
91+ IMPLICIT NONE
92+ !
93+ INTEGER,INTENT(IN) :: nt_local, nb, nkBZ, nk_local, &
94+ & ik_global(20,nt_local), ik_local(20,nt_local)
95+ REAL(8),INTENT(IN) :: wlsm(4,20), eig1(nb,nkBZ), eig2(nb,nkBZ)
96+ REAL(8),INTENT(OUT) :: dbldelta(nb,nb,nk_local)
97+ !
98+ INTEGER :: ib, indx(4), it
99+ REAL(8) :: e(4), ei1(4,nb), ej1(4,nb), ej2(3,nb), V, thr = 1d-10, &
100+ & tsmall(3,4), w1(nb,4), w2(nb,3)
101+ !
102+ dbldelta(1:nb,1:nb,1:nk_local) = 0d0
103+ !
104+ !$OMP PARALLEL DEFAULT(NONE) &
105+ !$OMP & SHARED(dbldelta,eig1,eig2,ik_global,ik_local,nb,nt_local,thr,wlsm) &
106+ !$OMP & PRIVATE(e,ei1,ej1,ej2,ib,indx,it,tsmall,V,w1,w2)
107+ !
108+ DO it = 1, nt_local
109+ !
110+ DO ib = 1, nb
111+ ei1(1:4,ib) = MATMUL(wlsm(1:4,1:20), eig1(ib, ik_global(1:20,it)))
112+ ej1(1:4,ib) = MATMUL(wlsm(1:4,1:20), eig2(ib, ik_global(1:20,it)))
113+ END DO
114+ !
115+ !$OMP DO
116+ DO ib = 1, nb
117+ !
118+ w1(1:nb,1:4) = 0d0
119+ e(1:4) = ei1(1:4, ib)
120+ CALL libtetrabz_sort(4,e,indx)
121+ !
122+ IF(e(1) < 0d0 .AND. 0d0 <= e(2)) THEN
123+ !
124+ CALL libtetrabz_triangle_a1(e,V,tsmall)
125+ !
126+ IF(V > thr) THEN
127+ !
128+ ej2(1:3,1:nb) = MATMUL(tsmall(1:3,1:4), ej1(indx(1:4),1:nb))
129+ CALL libtetrabz_dbldelta2(nb,ej2,w2)
130+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
131+ & + V * MATMUL(w2(1:nb,1:3), tsmall(1:3,1:4))
132+ !
133+ END IF
134+ !
135+ ELSE IF( e(2) < 0d0 .AND. 0d0 <= e(3)) THEN
136+ !
137+ CALL libtetrabz_triangle_b1(e,V,tsmall)
138+ !
139+ IF(V > thr) THEN
140+ !
141+ ej2(1:3,1:nb) = MATMUL(tsmall(1:3,1:4), ej1(indx(1:4),1:nb))
142+ CALL libtetrabz_dbldelta2(nb,ej2,w2)
143+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
144+ & + V * MATMUL(w2(1:nb,1:3), tsmall(1:3,1:4))
145+ !
146+ END IF
147+ !
148+ CALL libtetrabz_triangle_b2(e,V,tsmall)
149+ !
150+ IF(V > thr) THEN
151+ !
152+ ej2(1:3,1:nb) = MATMUL(tsmall(1:3,1:4), ej1(indx(1:4),1:nb))
153+ CALL libtetrabz_dbldelta2(nb,ej2,w2)
154+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
155+ & + V * MATMUL(w2(1:nb,1:3), tsmall(1:3,1:4))
156+ !
157+ END IF
158+ !
159+ ELSE IF(e(3) < 0d0 .AND. 0d0 < e(4)) THEN
160+ !
161+ CALL libtetrabz_triangle_c1(e,V,tsmall)
162+ !
163+ IF(V > thr) THEN
164+ !
165+ ej2(1:3,1:nb) = MATMUL(tsmall(1:3,1:4), ej1(indx(1:4),1:nb))
166+ CALL libtetrabz_dbldelta2(nb,ej2,w2)
167+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
168+ & + V * MATMUL(w2(1:nb,1:3), tsmall(1:3,1:4))
169+ !
170+ END IF
171+ !
172+ END IF
173+ !
174+ dbldelta(1:nb,ib,ik_local(1:20,it)) = dbldelta(1:nb,ib, ik_local(1:20,it)) &
175+ & + MATMUL(w1(1:nb,1:4), wlsm(1:4,1:20))
176+ !
177+ END DO ! ib
178+ !$OMP END DO NOWAIT
179+ !
180+ END DO ! it
181+ !
182+ !$OMP END PARALLEL
183+ !
184+ dbldelta(1:nb,1:nb,1:nk_local) = dbldelta(1:nb,1:nb,1:nk_local) / DBLE(6 * nkBZ)
185+ !
186+END SUBROUTINE libtetrabz_dbldelta_main
187+!
188+! 2nd step of tetrahedra method.
189+!
190+SUBROUTINE libtetrabz_dbldelta2(nb,ej,w)
191+ !
192+ USE libtetrabz_common, ONLY : libtetrabz_sort
193+ IMPLICIT NONE
194+ !
195+ INTEGER,INTENT(IN) :: nb
196+ REAL(8),INTENT(IN) :: ej(3,nb)
197+ REAL(8),INTENT(INOUT) :: w(nb,3)
198+ !
199+ INTEGER :: ib, ii, indx(3)
200+ REAL(8) :: a(3,3), e(3), V
201+ !
202+ DO ib = 1, nb
203+ !
204+ IF(maxval(ABS(ej(1:3,ib))) < 1d-10) STOP "Nesting !!"
205+ !
206+ w(ib,1:3) = 0d0
207+ e(1:3) = ej(1:3, ib)
208+ CALL libtetrabz_sort(3,e,indx)
209+ !
210+ DO ii = 1, 3
211+ a(1:3,ii) = (0d0 - e(ii)) / (e(1:3) - e(ii))
212+ END DO
213+ !
214+ IF((e(1) < 0d0 .AND. 0d0 <= e(2)) .OR. (e(1) <= 0d0 .AND. 0d0 < e(2))) THEN
215+ !
216+ !V = a(2,1) * a(3,1) / (0d0 - e(1))
217+ V = a(2,1) / (e(3) - e(1))
218+ !
219+ w(ib,indx(1)) = V * (a(1,2) + a(1,3))
220+ w(ib,indx(2)) = V * a(2,1)
221+ w(ib,indx(3)) = V * a(3,1)
222+ !
223+ ELSE IF((e(2) <= 0d0 .AND. 0d0 < e(3)) .OR. (e(2) < 0d0 .AND. 0d0 <= e(3))) THEN
224+ !
225+ !V = a(1,3) * a(2,3) / (e(3) - 0d0)
226+ V = a(2,3) / (e(3) - e(1))
227+ !
228+ w(ib,indx(1)) = V * a(1,3)
229+ w(ib,indx(2)) = V * a(2,3)
230+ w(ib,indx(3)) = V * (a(3,1) + a(3,2))
231+ !
232+ END IF
233+ !
234+ END DO ! ib
235+ !
236+END SUBROUTINE libtetrabz_dbldelta2
237+!
238+END MODULE libtetrabz_dbldelta_mod
--- /dev/null
+++ b/src/libtetrabz/libtetrabz_dblstep_mod.F90
@@ -0,0 +1,309 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz_dblstep_mod
24+ !
25+ IMPLICIT NONE
26+ !
27+ PRIVATE
28+ PUBLIC libtetrabz_dblstep
29+ !
30+CONTAINS
31+!
32+! Compute Occ * Step
33+!
34+SUBROUTINE libtetrabz_dblstep(ltetra,bvec,nb,nge,eig1,eig2,ngw,wght,comm) BIND(C)
35+ !
36+ USE ISO_C_BINDING
37+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, libtetrabz_mpisum_dv
38+ IMPLICIT NONE
39+ !
40+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3)
41+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), eig1(nb,PRODUCT(nge(1:3))), eig2(nb,PRODUCT(nge(1:3)))
42+ REAL(C_DOUBLE),INTENT(OUT) :: wght(nb*nb,PRODUCT(ngw(1:3)))
43+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
44+ !
45+ LOGICAL :: linterpol
46+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
47+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
48+ REAL(8) :: wlsm(4,20), wintp(1,8)
49+ REAL(8),ALLOCATABLE :: wghtd(:,:,:), kvec(:,:)
50+ !
51+ IF(PRESENT(comm)) THEN
52+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
53+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
54+ ELSE
55+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
56+ & nt_local,nkBZ,ik_global,ik_local,kvec)
57+ END IF
58+ !
59+ IF(linterpol) THEN
60+ !
61+ ALLOCATE(wghtd(nb*nb,1,nk_local))
62+ CALL libtetrabz_dblstep_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,wghtd)
63+ !
64+ ! Interpolation
65+ !
66+ wght(1:nb*nb,1:PRODUCT(ngw(1:3))) = 0d0
67+ DO ik = 1, nk_local
68+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
69+ wght(1:nb*nb,kintp(1:8)) = wght(1:nb*nb, kintp(1:8)) &
70+ & + MATMUL(wghtd(1:nb*nb,1:1,ik), wintp(1:1,1:8))
71+ END DO ! ik = 1, nk_local
72+ DEALLOCATE(wghtd, kvec)
73+ !
74+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_dv(comm, nb*nb*PRODUCT(ngw(1:3)), wght)
75+ !
76+ ELSE
77+ CALL libtetrabz_dblstep_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,wght)
78+ END IF
79+ !
80+ DEALLOCATE(ik_global, ik_local)
81+ !
82+END SUBROUTINE libtetrabz_dblstep
83+!
84+! Main SUBROUTINE for Theta(- E1) * Theta(E1 - E2)
85+!
86+SUBROUTINE libtetrabz_dblstep_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,dblstep)
87+ !
88+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
89+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
90+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
91+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
92+ & libtetrabz_tsmall_c3
93+ IMPLICIT NONE
94+ !
95+ INTEGER,INTENT(IN) :: nt_local, nb, nkBZ, nk_local, &
96+ & ik_global(20,nt_local), ik_local(20,nt_local)
97+ REAL(8),INTENT(IN) :: wlsm(4,20), eig1(nb,nkBZ), eig2(nb,nkBZ)
98+ REAL(8),INTENT(OUT) :: dblstep(nb,nb,nk_local)
99+ !
100+ INTEGER :: ib, indx(4), it
101+ REAL(8) :: e(4), ei1(4,nb), ei2(4), ej1(4,nb), ej2(4,nb), thr = 1d-10, &
102+ & tsmall(4,4), V, w1(nb,4), w2(nb,4)
103+ !
104+ dblstep(1:nb,1:nb,1:nk_local) = 0d0
105+ !
106+ !$OMP PARALLEL DEFAULT(NONE) &
107+ !$OMP & SHARED(dblstep,eig1,eig2,ik_global,ik_local,nb,nt_local,thr,wlsm) &
108+ !$OMP & PRIVATE(e,ei1,ei2,ej1,ej2,ib,indx,it,tsmall,V,w1,w2)
109+ !
110+ DO it = 1, nt_local
111+ !
112+ DO ib = 1, nb
113+ ei1(1:4, ib) = MATMUL(wlsm(1:4,1:20), eig1(ib, ik_global(1:20,it)))
114+ ej1(1:4, ib) = MATMUL(wlsm(1:4,1:20), eig2(ib, ik_global(1:20,it)))
115+ END DO
116+ !
117+ !$OMP DO
118+ DO ib = 1, nb
119+ !
120+ w1(1:nb,1:4) = 0d0
121+ e(1:4) = ei1(1:4, ib)
122+ CALL libtetrabz_sort(4,e,indx)
123+ !
124+ IF(e(1) <= 0d0 .AND. 0d0 < e(2) ) THEN
125+ !
126+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
127+ !
128+ IF(V > thr) THEN
129+ !
130+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
131+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
132+ CALL libtetrabz_dblstep2(nb,ei2,ej2,w2)
133+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
134+ & + V * MATMUL(w2(1:nb, 1:4 ), tsmall(1:4,1:4))
135+ !
136+ END IF
137+ !
138+ ELSE IF(e(2) <= 0d0 .AND. 0d0 < e(3)) THEN
139+ !
140+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
141+ !
142+ IF(V > thr) THEN
143+ !
144+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
145+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
146+ CALL libtetrabz_dblstep2(nb,ei2,ej2,w2)
147+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
148+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
149+ !
150+ END IF
151+ !
152+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
153+ !
154+ IF(V > thr) THEN
155+ !
156+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
157+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
158+ CALL libtetrabz_dblstep2(nb,ei2,ej2,w2)
159+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
160+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
161+ !
162+ END IF
163+ !
164+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
165+ !
166+ IF(V > thr) THEN
167+ !
168+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
169+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
170+ CALL libtetrabz_dblstep2(nb,ei2,ej2,w2)
171+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
172+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
173+ !
174+ END IF
175+ !
176+ ELSE IF( e(3) <= 0d0 .AND. 0d0 < e(4)) THEN
177+ !
178+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
179+ !
180+ IF(V > thr) THEN
181+ !
182+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
183+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
184+ CALL libtetrabz_dblstep2(nb,ei2,ej2,w2)
185+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
186+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
187+ !
188+ END IF
189+ !
190+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
191+ !
192+ IF(V > thr) THEN
193+ !
194+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
195+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
196+ CALL libtetrabz_dblstep2(nb,ei2,ej2,w2)
197+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
198+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
199+ !
200+ END IF
201+ !
202+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
203+ !
204+ IF(V > thr) THEN
205+ !
206+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
207+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
208+ CALL libtetrabz_dblstep2(nb,ei2,ej2,w2)
209+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
210+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
211+ !
212+ END IF
213+ !
214+ ELSE IF(e(4) <= 0d0) THEN
215+ !
216+ ei2(1:4 ) = ei1(1:4, ib)
217+ ej2(1:4,1:nb) = ej1(1:4,1:nb)
218+ CALL libtetrabz_dblstep2(nb,ei2,ej2,w2)
219+ w1(1:nb,1:4) = w1(1:nb,1:4) + w2(1:nb,1:4)
220+ !
221+ ELSE
222+ !
223+ CYCLE
224+ !
225+ END IF
226+ !
227+ dblstep(1:nb,ib,ik_local(1:20,it)) = dblstep(1:nb,ib, ik_local(1:20,it)) &
228+ & + MATMUL(w1(1:nb, 1:4), wlsm(1:4,1:20))
229+ !
230+ END DO ! ib
231+ !$OMP END DO NOWAIT
232+ !
233+ END DO ! it
234+ !
235+ !$OMP END PARALLEL
236+ !
237+ dblstep(1:nb,1:nb,1:nk_local) = dblstep(1:nb,1:nb,1:nk_local) / DBLE(6 * nkBZ)
238+ !
239+END SUBROUTINE libtetrabz_dblstep_main
240+!
241+! Tetrahedra method for theta( - de)
242+!
243+SUBROUTINE libtetrabz_dblstep2(nb,ei1,ej1,w1)
244+ !
245+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
246+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
247+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
248+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
249+ & libtetrabz_tsmall_c3
250+ IMPLICIT NONE
251+ !
252+ INTEGER,INTENT(IN) :: nb
253+ REAL(8),INTENT(IN) :: ei1(4), ej1(4,nb)
254+ REAL(8),INTENT(OUT) :: w1(nb,4)
255+ !
256+ INTEGER :: ib, indx(4)
257+ REAL(8) :: e(4), thr = 1d-8, tsmall(4,4), V
258+ !
259+ DO ib = 1, nb
260+ !
261+ w1(ib,1:4) = 0d0
262+ e(1:4) = - ei1(1:4) + ej1(1:4,ib)
263+ CALL libtetrabz_sort(4,e,indx)
264+ !
265+ IF(ABS(e(1)) < thr .AND. ABS(e(4)) < thr) THEN
266+ !
267+ ! Theta(0) = 0.5
268+ !
269+ V = 0.5d0
270+ w1(ib,1:4) = w1(ib,1:4) + V * 0.25d0
271+ !
272+ ELSE IF((e(1) <= 0d0 .AND. 0d0 < e(2)) .OR. (e(1) < 0d0 .AND. 0d0 <= e(2))) THEN
273+ !
274+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
275+ w1(ib,indx(1:4)) = w1(ib,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
276+ !
277+ ELSE IF((e(2) <= 0d0 .AND. 0d0 < e(3)) .OR. (e(2) < 0d0 .AND. 0d0 <= e(3))) THEN
278+ !
279+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
280+ w1(ib,indx(1:4)) = w1(ib,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
281+ !
282+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
283+ w1(ib,indx(1:4)) = w1(ib,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
284+ !
285+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
286+ w1(ib,indx(1:4)) = w1(ib,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
287+ !
288+ ELSE IF((e(3) <= 0d0 .AND. 0d0 < e(4)) .OR. (e(3) < 0d0 .AND. 0d0 <= e(4))) THEN
289+ !
290+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
291+ w1(ib,indx(1:4)) = w1(ib,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
292+ !
293+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
294+ w1(ib,indx(1:4)) = w1(ib,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
295+ !
296+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
297+ w1(ib,indx(1:4)) = w1(ib,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
298+ !
299+ ELSE IF(e(4) <= 0d0) THEN
300+ !
301+ w1(ib,1:4) = w1(ib,1:4) + 0.25d0
302+ !
303+ END IF
304+ !
305+ END DO ! ib = 1, nb
306+ !
307+END SUBROUTINE libtetrabz_dblstep2
308+!
309+END MODULE libtetrabz_dblstep_mod
--- /dev/null
+++ b/src/libtetrabz/libtetrabz_dos_mod.F90
@@ -0,0 +1,309 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz_dos_mod
24+ !
25+ IMPLICIT NONE
26+ !
27+ PRIVATE
28+ PUBLIC libtetrabz_dos, libtetrabz_intdos
29+ !
30+CONTAINS
31+!
32+! Compute DOS
33+!
34+SUBROUTINE libtetrabz_dos(ltetra,bvec,nb,nge,eig,ngw,wght,ne,e0,comm) BIND(C)
35+ !
36+ USE ISO_C_BINDING
37+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, libtetrabz_mpisum_dv
38+ IMPLICIT NONE
39+ !
40+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3), ne
41+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), eig(nb,PRODUCT(nge(1:3))), e0(ne)
42+ REAL(C_DOUBLE),INTENT(OUT) :: wght(ne*nb,PRODUCT(ngw(1:3)))
43+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
44+ !
45+ LOGICAL :: linterpol
46+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
47+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
48+ REAL(8) :: wlsm(4,20), wintp(1,8)
49+ REAL(8),ALLOCATABLE :: wghtd(:,:,:), kvec(:,:)
50+ !
51+ IF(PRESENT(comm)) THEN
52+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
53+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
54+ ELSE
55+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
56+ & nt_local,nkBZ,ik_global,ik_local,kvec)
57+ END IF
58+ !
59+ IF(linterpol) THEN
60+ !
61+ ALLOCATE(wghtd(ne*nb,1,nk_local))
62+ CALL libtetrabz_dos_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,ne,e0,nk_local,wghtd)
63+ !
64+ ! Interpolation
65+ !
66+ wght(1:ne*nb,1:PRODUCT(ngw(1:3))) = 0d0
67+ DO ik = 1, nk_local
68+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
69+ wght(1:ne*nb,kintp(1:8)) = wght(1:ne*nb, kintp(1:8)) &
70+ & + MATMUL(wghtd(1:ne*nb,1:1,ik), wintp(1:1,1:8))
71+ END DO ! ik = 1, nk_local
72+ DEALLOCATE(wghtd, kvec)
73+ !
74+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_dv(comm, ne*nb*PRODUCT(ngw(1:3)), wght)
75+ !
76+ ELSE
77+ CALL libtetrabz_dos_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,ne,e0,nk_local,wght)
78+ END IF
79+ !
80+ DEALLOCATE(ik_global, ik_local)
81+ !
82+END SUBROUTINE libtetrabz_dos
83+!
84+! Compute Integrated DOS
85+!
86+SUBROUTINE libtetrabz_intdos(ltetra,bvec,nb,nge,eig,ngw,wght,ne,e0,comm) BIND(C)
87+ !
88+ USE ISO_C_BINDING
89+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, libtetrabz_mpisum_dv
90+ IMPLICIT NONE
91+ !
92+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3), ne
93+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), eig(nb,PRODUCT(nge(1:3))), e0(ne)
94+ REAL(C_DOUBLE),INTENT(OUT) :: wght(ne*nb,PRODUCT(ngw(1:3)))
95+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
96+ !
97+ LOGICAL :: linterpol
98+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
99+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
100+ REAL(8) :: wlsm(4,20), wintp(1,8)
101+ REAL(8),ALLOCATABLE :: wghtd(:,:,:), kvec(:,:)
102+ !
103+ IF(PRESENT(comm)) THEN
104+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
105+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
106+ ELSE
107+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
108+ & nt_local,nkBZ,ik_global,ik_local,kvec)
109+ END IF
110+ !
111+ IF(linterpol) THEN
112+ !
113+ ALLOCATE(wghtd(ne*nb,1,nk_local))
114+ CALL libtetrabz_intdos_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,ne,e0,nk_local,wghtd)
115+ !
116+ ! Interpolation
117+ !
118+ wght(1:ne*nb,1:PRODUCT(ngw(1:3))) = 0d0
119+ DO ik = 1, nk_local
120+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
121+ wght(1:ne*nb,kintp(1:8)) = wght(1:ne*nb, kintp(1:8)) &
122+ & + MATMUL(wghtd(1:ne*nb,1:1,ik), wintp(1:1,1:8))
123+ END DO ! ik = 1, nk_local
124+ DEALLOCATE(wghtd, kvec)
125+ !
126+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_dv(comm, ne*nb*PRODUCT(ngw(1:3)), wght)
127+ !
128+ ELSE
129+ CALL libtetrabz_intdos_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,ne,e0,nk_local,wght)
130+ END IF
131+ !
132+ DEALLOCATE(ik_global, ik_local)
133+ !
134+END SUBROUTINE libtetrabz_intdos
135+!
136+! Main SUBROUTINE for Dos : Delta(E - E1)
137+!
138+SUBROUTINE libtetrabz_dos_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,ne,e0,nk_local,dos)
139+ !
140+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
141+ & libtetrabz_triangle_a1, libtetrabz_triangle_b1, &
142+ & libtetrabz_triangle_b2, libtetrabz_triangle_c1
143+ IMPLICIT NONE
144+ !
145+ INTEGER,INTENT(IN) :: nt_local, nb, nkBZ, nk_local, ne, &
146+ & ik_global(20,nt_local), ik_local(20,nt_local)
147+ REAL(8),INTENT(IN) :: wlsm(4,20), eig(nb,nkBZ), e0(ne)
148+ REAL(8),INTENT(OUT) :: dos(ne,nb,nk_local)
149+ !
150+ INTEGER :: ib, it, ie, indx(4)
151+ REAL(8) :: e(4), ei1(4,nb), tsmall(3,4), V, w1(ne,4)
152+ !
153+ dos(1:ne, 1:nb, 1:nk_local) = 0d0
154+ !
155+ !$OMP PARALLEL DEFAULT(NONE) &
156+ !$OMP & SHARED(dos,eig,e0,ik_global,ik_local,nb,ne,nt_local,wlsm) &
157+ !$OMP & PRIVATE(e,ei1,ib,ie,indx,it,tsmall,V,w1)
158+ !
159+ DO it = 1, nt_local
160+ !
161+ DO ib = 1, nb
162+ ei1(1:4,ib) = MATMUL(wlsm(1:4,1:20), eig(ib,ik_global(1:20,it)))
163+ END DO
164+ !
165+ !$OMP DO
166+ DO ib = 1, nb
167+ !
168+ w1(1:ne,1:4) = 0d0
169+ e(1:4) = ei1(1:4, ib)
170+ CALL libtetrabz_sort(4,e,indx)
171+ !
172+ DO ie = 1, ne
173+ !
174+ IF((e(1) < e0(ie) .AND. e0(ie) <= e(2)) .OR. &
175+ & (e(1) <= e0(ie) .AND. e0(ie) < e(2))) THEN
176+ !
177+ CALL libtetrabz_triangle_a1(e(1:4) - e0(ie),V,tsmall)
178+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:3,1:4), 1) / 3d0
179+ !
180+ ELSE IF((e(2) < e0(ie) .AND. e0(ie) <= e(3)) .OR. &
181+ & (e(2) <= e0(ie) .AND. e0(ie) < e(3))) THEN
182+ !
183+ CALL libtetrabz_triangle_b1(e(1:4) - e0(ie),V,tsmall)
184+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:3,1:4), 1) / 3d0
185+ !
186+ CALL libtetrabz_triangle_b2(e(1:4) - e0(ie),V,tsmall)
187+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:3,1:4), 1) / 3d0
188+ !
189+ ELSE IF((e(3) < e0(ie) .AND. e0(ie) <= e(4)) .OR. &
190+ & (e(3) <= e0(ie) .AND. e0(ie) < e(4))) THEN
191+ !
192+ CALL libtetrabz_triangle_c1(e(1:4) - e0(ie),V,tsmall)
193+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:3,1:4), 1) / 3d0
194+ !
195+ END IF
196+ !
197+ END DO ! ie
198+ !
199+ dos(1:ne,ib,ik_local(1:20,it)) = dos(1:ne,ib, ik_local(1:20,it)) &
200+ & + MATMUL(w1(1:ne, 1:4), wlsm(1:4,1:20))
201+ !
202+ END DO ! ib
203+ !$OMP END DO NOWAIT
204+ !
205+ END DO ! it
206+ !
207+ !$OMP END PARALLEL
208+ !
209+ dos(1:ne,1:nb,1:nk_local) = dos(1:ne,1:nb,1:nk_local) / DBLE(6 * nkBZ)
210+ !
211+END SUBROUTINE libtetrabz_dos_main
212+!
213+! Main SUBROUTINE for integrated Dos : theta(E - E1)
214+!
215+SUBROUTINE libtetrabz_intdos_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,ne,e0,nk_local,intdos)
216+ !
217+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
218+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
219+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
220+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
221+ & libtetrabz_tsmall_c3
222+ IMPLICIT NONE
223+ !
224+ INTEGER,INTENT(IN) :: nt_local, nb, nkBZ, nk_local, ne, &
225+ & ik_global(20,nt_local), ik_local(20,nt_local)
226+ REAL(8),INTENT(IN) :: wlsm(4,20), eig(nb,nkBZ), e0(ne)
227+ REAL(8),INTENT(OUT) :: intdos(ne,nb,nk_local)
228+ !
229+ INTEGER :: ib, it, ie, indx(4)
230+ REAL(8) :: e(4), ei1(4,nb), tsmall(4,4), V, w1(ne,4)
231+ !
232+ intdos(1:ne, 1:nb, 1:nk_local) = 0d0
233+ !
234+ !$OMP PARALLEL DEFAULT(NONE) &
235+ !$OMP & SHARED(eig,e0,ik_global,ik_local,intdos,nb,ne,nt_local,wlsm) &
236+ !$OMP & PRIVATE(e,ei1,ib,ie,indx,it,tsmall,V,w1)
237+ !
238+ DO it = 1, nt_local
239+ !
240+ DO ib = 1, nb
241+ ei1(1:4,ib) = MATMUL(wlsm(1:4,1:20), eig(ib,ik_global(1:20,it)))
242+ END DO
243+ !
244+ !$OMP DO
245+ DO ib = 1, nb
246+ !
247+ w1(1:ne,1:4) = 0d0
248+ e(1:4) = ei1(1:4, ib)
249+ CALL libtetrabz_sort(4,e,indx)
250+ !
251+ DO ie = 1, ne
252+ !
253+ IF((e(1) <= e0(ie) .AND. e0(ie) < e(2)) .OR. &
254+ & (e(1) < e0(ie) .AND. e0(ie) <= e(2))) THEN
255+ !
256+ CALL libtetrabz_tsmall_a1(e - e0(ie),V,tsmall)
257+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
258+ !
259+ ELSE IF((e(2) <= e0(ie) .AND. e0(ie) < e(3)) .OR. &
260+ & (e(2) < e0(ie) .AND. e0(ie) <= e(3))) THEN
261+ !
262+ CALL libtetrabz_tsmall_b1(e - e0(ie),V,tsmall)
263+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
264+ !
265+ CALL libtetrabz_tsmall_b2(e - e0(ie),V,tsmall)
266+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
267+ !
268+ CALL libtetrabz_tsmall_b3(e - e0(ie),V,tsmall)
269+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
270+ !
271+ ELSE IF((e(3) <= e0(ie) .AND. e0(ie) < e(4)) .OR. &
272+ & (e(3) < e0(ie) .AND. e0(ie) <= e(4))) THEN
273+ !
274+ CALL libtetrabz_tsmall_c1(e - e0(ie),V,tsmall)
275+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
276+ !
277+ CALL libtetrabz_tsmall_c2(e - e0(ie),V,tsmall)
278+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
279+ !
280+ CALL libtetrabz_tsmall_c3(e - e0(ie),V,tsmall)
281+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
282+ !
283+ ELSE IF(e(4) <= e0(ie)) THEN
284+ !
285+ w1(ie,1:4) = 0.25d0
286+ !
287+ ELSE
288+ !
289+ CYCLE
290+ !
291+ END IF
292+ !
293+ END DO ! ie
294+ !
295+ intdos(1:ne,ib,ik_local(1:20,it)) = intdos(1:ne,ib, ik_local(1:20,it)) &
296+ & + MATMUL(w1(1:ne, 1:4), wlsm(1:4,1:20))
297+ !
298+ END DO ! ib
299+ !$OMP END DO NOWAIT
300+ !
301+ END DO ! it
302+ !
303+ !$OMP END PARALLEL
304+ !
305+ intdos(1:ne,1:nb,1:nk_local) = intdos(1:ne,1:nb,1:nk_local) / DBLE(6 * nkBZ)
306+ !
307+END SUBROUTINE libtetrabz_intdos_main
308+!
309+END MODULE libtetrabz_dos_mod
--- /dev/null
+++ b/src/libtetrabz/libtetrabz_fermigr_mod.F90
@@ -0,0 +1,403 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz_fermigr_mod
24+ !
25+ IMPLICIT NONE
26+ !
27+ PRIVATE
28+ PUBLIC libtetrabz_fermigr
29+ !
30+CONTAINS
31+!
32+! Compute Fermi's golden rule
33+!
34+SUBROUTINE libtetrabz_fermigr(ltetra,bvec,nb,nge,eig1,eig2,ngw,wght,ne,e0,comm) BIND(C)
35+ !
36+ USE ISO_C_BINDING
37+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, libtetrabz_mpisum_dv
38+ IMPLICIT NONE
39+ !
40+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3), ne
41+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), e0(ne), eig1(nb,PRODUCT(nge(1:3))), eig2(nb,PRODUCT(nge(1:3)))
42+ REAL(C_DOUBLE),INTENT(OUT) :: wght(ne*nb*nb,PRODUCT(ngw(1:3)))
43+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
44+ !
45+ LOGICAL :: linterpol
46+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
47+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
48+ REAL(8) :: wlsm(4,20), wintp(1,8)
49+ REAL(8),ALLOCATABLE :: wghtd(:,:,:), kvec(:,:)
50+ !
51+ IF(PRESENT(comm)) THEN
52+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
53+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
54+ ELSE
55+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
56+ & nt_local,nkBZ,ik_global,ik_local,kvec)
57+ END IF
58+ !
59+ IF(linterpol) THEN
60+ !
61+ ALLOCATE(wghtd(ne*nb*nb,1,nk_local))
62+ CALL libtetrabz_fermigr_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,ne,e0,nk_local,wghtd)
63+ !
64+ ! Interpolation
65+ !
66+ wght(1:ne*nb*nb,1:PRODUCT(ngw(1:3))) = 0d0
67+ DO ik = 1, nk_local
68+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
69+ wght(1:ne*nb*nb,kintp(1:8)) = wght(1:ne*nb*nb, kintp(1:8)) &
70+ & + MATMUL(wghtd(1:ne*nb*nb,1:1,ik), wintp(1:1,1:8))
71+ END DO ! ik = 1, nk_local
72+ DEALLOCATE(wghtd, kvec)
73+ !
74+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_dv(comm, ne*nb*nb*PRODUCT(ngw(1:3)), wght)
75+ !
76+ ELSE
77+ CALL libtetrabz_fermigr_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,ne,e0,nk_local,wght)
78+ END IF
79+ !
80+ DEALLOCATE(ik_global, ik_local)
81+ !
82+END SUBROUTINE libtetrabz_fermigr
83+!
84+! Main SUBROUTINE for Fermi's Gorlden rule : Theta(- E1) * Theta(E2) * Delta(E2 - E1 - w)
85+!
86+SUBROUTINE libtetrabz_fermigr_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,ne,e0,nk_local,fermigr)
87+ !
88+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
89+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
90+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
91+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
92+ & libtetrabz_tsmall_c3
93+ IMPLICIT NONE
94+ !
95+ INTEGER,INTENT(IN) :: nt_local, nb, nkBZ, nk_local, ne, &
96+ & ik_global(20,nt_local), ik_local(20,nt_local)
97+ REAL(8),INTENT(IN) :: wlsm(4,20), eig1(nb,nkBZ), eig2(nb,nkBZ), e0(ne)
98+ REAL(8),INTENT(OUT) :: fermigr(ne*nb,nb,nk_local)
99+ !
100+ INTEGER :: it, ib, indx(4)
101+ REAL(8) :: e(4), ei1(4,nb), ei2(4), ej1(4,nb), ej2(4,nb), thr = 1d-10, tsmall(4,4), V, w1(ne*nb,4), w2(ne*nb,4)
102+ !
103+ fermigr(1:ne*nb,1:nb,1:nk_local) = 0d0
104+ !
105+ !$OMP PARALLEL DEFAULT(NONE) &
106+ !$OMP & SHARED(eig1,eig2,e0,fermigr,ik_global,ik_local,nb,ne,nt_local,thr,wlsm) &
107+ !$OMP & PRIVATE(e,ei1,ei2,ej1,ej2,ib,indx,it,tsmall,V,w1,w2)
108+ !
109+ DO it = 1, nt_local
110+ !
111+ DO ib = 1, nb
112+ ei1(1:4, ib) = MATMUL(wlsm(1:4,1:20), eig1(ib, ik_global(1:20,it)))
113+ ej1(1:4, ib) = MATMUL(wlsm(1:4,1:20), eig2(ib, ik_global(1:20,it)))
114+ END DO
115+ !
116+ !$OMP DO
117+ DO ib = 1, nb
118+ !
119+ w1(1:ne*nb,1:4) = 0d0
120+ e(1:4) = ei1(1:4, ib)
121+ CALL libtetrabz_sort(4,e,indx)
122+ !
123+ IF(e(1) <= 0d0 .AND. 0d0 < e(2)) THEN
124+ !
125+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
126+ !
127+ IF(V > thr) THEN
128+ !
129+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
130+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
131+ CALL libtetrabz_fermigr2(nb,ne,e0,ei2,ej2,w2)
132+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb,indx(1:4)) &
133+ & + V * MATMUL(w2(1:ne*nb, 1:4 ), tsmall(1:4,1:4))
134+ !
135+ END IF
136+ !
137+ ELSE IF( e(2) <= 0d0 .AND. 0d0 < e(3)) THEN
138+ !
139+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
140+ !
141+ IF(V > thr) THEN
142+ !
143+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
144+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
145+ CALL libtetrabz_fermigr2(nb,ne,e0,ei2,ej2,w2)
146+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb,indx(1:4)) &
147+ & + V * MATMUL(w2(1:ne*nb, 1:4 ), tsmall(1:4,1:4))
148+ !
149+ END IF
150+ !
151+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
152+ !
153+ IF(V > thr) THEN
154+ !
155+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
156+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
157+ CALL libtetrabz_fermigr2(nb,ne,e0,ei2,ej2,w2)
158+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb,indx(1:4)) &
159+ & + V * MATMUL(w2(1:ne*nb, 1:4 ), tsmall(1:4,1:4))
160+ !
161+ END IF
162+ !
163+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
164+ !
165+ IF(V > thr) THEN
166+ !
167+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
168+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
169+ CALL libtetrabz_fermigr2(nb,ne,e0,ei2,ej2,w2)
170+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb,indx(1:4)) &
171+ & + V * MATMUL(w2(1:ne*nb, 1:4 ), tsmall(1:4,1:4))
172+ !
173+ END IF
174+ !
175+ ELSE IF( e(3) <= 0d0 .AND. 0d0 < e(4)) THEN
176+ !
177+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
178+ !
179+ IF(V > thr) THEN
180+ !
181+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
182+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
183+ CALL libtetrabz_fermigr2(nb,ne,e0,ei2,ej2,w2)
184+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb,indx(1:4)) &
185+ & + V * MATMUL(w2(1:ne*nb, 1:4 ), tsmall(1:4,1:4))
186+ !
187+ END IF
188+ !
189+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
190+ !
191+ IF(V > thr) THEN
192+ !
193+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
194+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
195+ CALL libtetrabz_fermigr2(nb,ne,e0,ei2,ej2,w2)
196+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb,indx(1:4)) &
197+ & + V * MATMUL(w2(1:ne*nb, 1:4 ), tsmall(1:4,1:4))
198+ !
199+ END IF
200+ !
201+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
202+ !
203+ IF(V > thr) THEN
204+ !
205+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
206+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
207+ CALL libtetrabz_fermigr2(nb,ne,e0,ei2,ej2,w2)
208+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb,indx(1:4)) &
209+ & + V * MATMUL(w2(1:ne*nb, 1:4 ), tsmall(1:4,1:4))
210+ !
211+ END IF
212+ !
213+ ELSE IF(e(4) <= 0d0) THEN
214+ !
215+ ei2(1:4 ) = ei1(1:4, ib)
216+ ej2(1:4,1:nb) = ej1(1:4,1:nb)
217+ CALL libtetrabz_fermigr2(nb,ne,e0,ei2,ej2,w2)
218+ w1(1:ne*nb,1:4) = w1(1:ne*nb,1:4) + w2(1:ne*nb,1:4)
219+ !
220+ END IF
221+ !
222+ fermigr(1:ne*nb,ib,ik_local(1:20,it)) = fermigr(1:ne*nb,ib, ik_local(1:20,it)) &
223+ & + MATMUL(w1(1:ne*nb,1:4), wlsm(1:4,1:20))
224+ !
225+ END DO ! ib = 1, nb
226+ !$OMP END DO NOWAIT
227+ !
228+ END DO ! it
229+ !
230+ !$OMP END PARALLEL
231+ !
232+ fermigr(1:ne*nb,1:nb,1:nk_local) = fermigr(1:ne*nb,1:nb,1:nk_local) / DBLE(6 * nkBZ)
233+ !
234+END SUBROUTINE libtetrabz_fermigr_main
235+!
236+! Tetrahedra method for theta( - E2)
237+!
238+SUBROUTINE libtetrabz_fermigr2(nb,ne,e0,ei1,ej1,w1)
239+ !
240+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
241+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
242+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
243+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
244+ & libtetrabz_tsmall_c3
245+ IMPLICIT NONE
246+ !
247+ INTEGER,INTENT(IN) :: nb, ne
248+ REAL(8),INTENT(IN) :: e0(ne), ei1(4), ej1(4,nb)
249+ REAL(8),INTENT(OUT) :: w1(ne,nb,4)
250+ !
251+ INTEGER :: ib, indx(4)
252+ REAL(8) :: de(4), e(4), thr = 1d-8, tsmall(4,4), V, w2(ne,4)
253+ !
254+ DO ib = 1, nb
255+ !
256+ w1(1:ne,ib,1:4) = 0d0
257+ e(1:4) = - ej1(1:4, ib)
258+ CALL libtetrabz_sort(4,e,indx)
259+ !
260+ IF((e(1) <= 0d0 .AND. 0d0 < e(2)) .OR. (e(1) < 0d0 .AND. 0d0 <= e(2))) THEN
261+ !
262+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
263+ !
264+ IF(V > thr) THEN
265+ !
266+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
267+ CALL libtetrabz_fermigr3(ne,e0,de,w2)
268+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib,indx(1:4)) &
269+ & + V * MATMUL(w2(1:ne, 1:4 ), tsmall(1:4,1:4))
270+ !
271+ END IF
272+ !
273+ ELSE IF((e(2) <= 0d0 .AND. 0d0 < e(3)) .OR. (e(2) < 0d0 .AND. 0d0 <= e(3))) THEN
274+ !
275+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
276+ !
277+ IF(V > thr) THEN
278+ !
279+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
280+ CALL libtetrabz_fermigr3(ne,e0,de,w2)
281+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib,indx(1:4)) &
282+ & + V * MATMUL(w2(1:ne, 1:4 ), tsmall(1:4,1:4))
283+ !
284+ END IF
285+ !
286+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
287+ !
288+ IF(V > thr) THEN
289+ !
290+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
291+ CALL libtetrabz_fermigr3(ne,e0,de,w2)
292+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib,indx(1:4)) &
293+ & + V * MATMUL(w2(1:ne, 1:4 ), tsmall(1:4,1:4))
294+ !
295+ END IF
296+ !
297+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
298+ !
299+ IF(V > thr) THEN
300+ !
301+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
302+ CALL libtetrabz_fermigr3(ne,e0,de,w2)
303+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib,indx(1:4)) &
304+ & + V * MATMUL(w2(1:ne, 1:4 ), tsmall(1:4,1:4))
305+ !
306+ END IF
307+ !
308+ ELSE IF((e(3) <= 0d0 .AND. 0d0 < e(4)) .OR. (e(3) < 0d0 .AND. 0d0 <= e(4))) THEN
309+ !
310+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
311+ !
312+ IF(V > thr) THEN
313+ !
314+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
315+ CALL libtetrabz_fermigr3(ne,e0,de,w2)
316+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib,indx(1:4)) &
317+ & + V * MATMUL(w2(1:ne, 1:4 ), tsmall(1:4,1:4))
318+ !
319+ END IF
320+ !
321+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
322+ !
323+ IF(V > thr) THEN
324+ !
325+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
326+ CALL libtetrabz_fermigr3(ne,e0,de,w2)
327+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib,indx(1:4)) &
328+ & + V * MATMUL(w2(1:ne, 1:4 ), tsmall(1:4,1:4))
329+ !
330+ END IF
331+ !
332+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
333+ !
334+ IF(V > thr) THEN
335+ !
336+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
337+ CALL libtetrabz_fermigr3(ne,e0,de,w2)
338+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib,indx(1:4)) &
339+ & + V * MATMUL(w2(1:ne, 1:4 ), tsmall(1:4,1:4))
340+ !
341+ END IF
342+ !
343+ ELSE IF(e(4) <= 0d0) THEN
344+ !
345+ de(1:4) = ej1(1:4,ib) - ei1(1:4)
346+ CALL libtetrabz_fermigr3(ne,e0,de,w2)
347+ w1(1:ne,ib,1:4) = w1(1:ne,ib,1:4) + w2(1:ne,1:4)
348+ !
349+ END IF
350+ !
351+ END DO ! ib = 1, nb
352+ !
353+END SUBROUTINE libtetrabz_fermigr2
354+!
355+!
356+!
357+SUBROUTINE libtetrabz_fermigr3(ne,e0,de,w1)
358+ !
359+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
360+ & libtetrabz_triangle_a1, libtetrabz_triangle_b1, &
361+ & libtetrabz_triangle_b2, libtetrabz_triangle_c1
362+ IMPLICIT NONE
363+ !
364+ INTEGER,INTENT(IN) :: ne
365+ REAL(8),INTENT(IN) :: e0(ne), de(4)
366+ REAL(8),INTENT(OUT) :: w1(ne,4)
367+ !
368+ INTEGER :: ie, indx(4)
369+ REAL(8) :: e(4), tsmall(3,4), V, w2(3)
370+ !
371+ w2(1:3) = 1d0 / 3d0
372+ !
373+ w1(1:ne,1:4) = 0d0
374+ e(1:4) = de(1:4)
375+ CALL libtetrabz_sort(4,e,indx)
376+ !
377+ DO ie = 1, ne
378+ !
379+ IF(e(1) < e0(ie) .AND. e0(ie) <= e(2)) THEN
380+ !
381+ CALL libtetrabz_triangle_a1(e(1:4) - e0(ie),V,tsmall)
382+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:3,1:4), 1) / 3d0
383+ !
384+ ELSE IF(e(2) < e0(ie) .AND. e0(ie) <= e(3)) THEN
385+ !
386+ CALL libtetrabz_triangle_b1(e(1:4) - e0(ie),V,tsmall)
387+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:3,1:4), 1) / 3d0
388+ !
389+ CALL libtetrabz_triangle_b2(e(1:4) - e0(ie),V,tsmall)
390+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:3,1:4), 1) / 3d0
391+ !
392+ ELSE IF(e(3) < e0(ie) .AND. e0(ie) < e(4)) THEN
393+ !
394+ CALL libtetrabz_triangle_c1(e(1:4) - e0(ie),V,tsmall)
395+ w1(ie,indx(1:4)) = w1(ie,indx(1:4)) + V * SUM(tsmall(1:3,1:4), 1) / 3d0
396+ !
397+ END IF
398+ !
399+ END DO ! ie
400+ !
401+END SUBROUTINE libtetrabz_fermigr3
402+!
403+END MODULE libtetrabz_fermigr_mod
--- /dev/null
+++ b/src/libtetrabz/libtetrabz_occ_mod.F90
@@ -0,0 +1,263 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz_occ_mod
24+ !
25+ IMPLICIT NONE
26+ !
27+ PRIVATE
28+ PUBLIC libtetrabz_occ, libtetrabz_fermieng
29+ !
30+CONTAINS
31+!
32+! Compute occupation
33+!
34+SUBROUTINE libtetrabz_occ(ltetra,bvec,nb,nge,eig,ngw,wght,comm) BIND(C)
35+ !
36+ USE ISO_C_BINDING
37+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, libtetrabz_mpisum_dv
38+ IMPLICIT NONE
39+ !
40+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3)
41+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), eig(nb,PRODUCT(nge(1:3)))
42+ REAL(C_DOUBLE),INTENT(OUT) :: wght(nb,PRODUCT(ngw(1:3)))
43+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
44+ !
45+ LOGICAL :: linterpol
46+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
47+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
48+ REAL(8) :: wlsm(4,20), wintp(1,8)
49+ REAL(8),ALLOCATABLE :: wghtd(:,:,:), kvec(:,:)
50+ !
51+ IF(PRESENT(comm)) THEN
52+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
53+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
54+ ELSE
55+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
56+ & nt_local,nkBZ,ik_global,ik_local,kvec)
57+ END IF
58+ !
59+ IF(linterpol) THEN
60+ !
61+ ALLOCATE(wghtd(nb,1,nk_local))
62+ CALL libtetrabz_occ_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,nk_local,wghtd,0d0)
63+ !
64+ ! Interpolation
65+ !
66+ wght(1:nb,1:PRODUCT(ngw(1:3))) = 0d0
67+ DO ik = 1, nk_local
68+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
69+ wght(1:nb,kintp(1:8)) = wght(1:nb, kintp(1:8)) &
70+ & + MATMUL(wghtd(1:nb,1:1,ik), wintp(1:1,1:8))
71+ END DO ! ik = 1, nk_local
72+ DEALLOCATE(wghtd, kvec)
73+ !
74+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_dv(comm, nb * PRODUCT(ngw(1:3)), wght)
75+ !
76+ ELSE
77+ CALL libtetrabz_occ_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,nk_local,wght,0d0)
78+ END IF
79+ !
80+ DEALLOCATE(ik_global, ik_local)
81+ !
82+END SUBROUTINE libtetrabz_occ
83+!
84+! Calculate Fermi energy
85+!
86+SUBROUTINE libtetrabz_fermieng(ltetra,bvec,nb,nge,eig,ngw,wght,ef,nelec,comm) BIND(C)
87+ !
88+ USE ISO_C_BINDING
89+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, &
90+ & libtetrabz_mpisum_d, libtetrabz_mpisum_dv
91+ IMPLICIT NONE
92+ !
93+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3)
94+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), nelec, eig(nb,PRODUCT(nge(1:3)))
95+ REAL(C_DOUBLE),INTENT(OUT) :: ef
96+ REAL(C_DOUBLE),INTENT(OUT) :: wght(nb,PRODUCT(ngw(1:3)))
97+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
98+ !
99+ LOGICAL :: linterpol
100+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
101+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
102+ REAL(8) :: wlsm(4,20), wintp(1,8)
103+ REAL(8),ALLOCATABLE :: wghtd(:,:,:), kvec(:,:)
104+ !
105+ INTEGER :: iter, maxiter = 300
106+ REAL(8) :: elw, eup, eps= 1d-10, sumkmid
107+ !
108+ IF(PRESENT(comm)) THEN
109+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
110+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
111+ ELSE
112+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
113+ & nt_local,nkBZ,ik_global,ik_local,kvec)
114+ END IF
115+ !
116+ IF(linterpol) ALLOCATE(wghtd(nb,1,nk_local))
117+ !
118+ elw = MINVAL(eig(1:nb,1:PRODUCT(nge(1:3))))
119+ eup = MAXVAL(eig(1:nb,1:PRODUCT(nge(1:3))))
120+ !
121+ ! Bisection method
122+ !
123+ DO iter = 1, maxiter
124+ !
125+ ef = (eup + elw) / 2.d0
126+ !
127+ ! Calc. # of electrons
128+ !
129+ IF(linterpol) THEN
130+ CALL libtetrabz_occ_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,nk_local,wghtd,ef)
131+ sumkmid = SUM(wghtd(1:nb,1,1:nk_local))
132+ !
133+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_d(comm,sumkmid)
134+ !
135+ ELSE
136+ CALL libtetrabz_occ_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,nk_local,wght,ef)
137+ sumkmid = SUM(wght(1:nb,1:nk_local))
138+ END IF
139+ !
140+ ! convergence check
141+ !
142+ IF(ABS(sumkmid - nelec) < eps) THEN
143+ EXIT
144+ ELSE IF(sumkmid < nelec) THEN
145+ elw = ef
146+ ELSE
147+ eup = ef
148+ ENDIF
149+ !
150+ END DO ! iter
151+ !
152+ IF(iter >= maxiter) STOP "libtetrabz_fermieng"
153+ !
154+ IF(linterpol) THEN
155+ !
156+ ! Interpolation
157+ !
158+ wght(1:nb,1:PRODUCT(ngw(1:3))) = 0d0
159+ DO ik = 1, nk_local
160+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
161+ wght(1:nb,kintp(1:8)) = wght(1:nb, kintp(1:8)) &
162+ & + MATMUL(wghtd(1:nb,1:1,ik), wintp(1:1,1:8))
163+ END DO ! ik = 1, nk_local
164+ DEALLOCATE(wghtd, kvec)
165+ !
166+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_dv(comm, nb * PRODUCT(ngw(1:3)), wght)
167+ !
168+ END IF ! (linterpol)
169+ !
170+ DEALLOCATE(ik_global, ik_local)
171+ !
172+END SUBROUTINE libtetrabz_fermieng
173+!
174+! Main SUBROUTINE for occupation : Theta(EF - E1)
175+!
176+SUBROUTINE libtetrabz_occ_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig,nk_local,occ,ef)
177+ !
178+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
179+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
180+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
181+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
182+ & libtetrabz_tsmall_c3
183+ IMPLICIT NONE
184+ !
185+ INTEGER,INTENT(IN) :: nt_local, nb, nkBZ, nk_local, &
186+ & ik_global(20,nt_local), ik_local(20,nt_local)
187+ REAL(8),INTENT(IN) :: wlsm(4,20), ef, eig(nb,nkBZ)
188+ REAL(8),INTENT(OUT) :: occ(nb,nk_local)
189+ !
190+ INTEGER :: ib, indx(4), it
191+ REAL(8) :: e(4), ei1(4,nb), tsmall(4,4), V, w1(4)
192+ !
193+ occ(1:nb,1:nk_local) = 0d0
194+ !
195+ !$OMP PARALLEL DEFAULT(NONE) &
196+ !$OMP & SHARED(ef,eig,ik_global,ik_local,nb,nt_local,occ,wlsm) &
197+ !$OMP & PRIVATE(e,ei1,ib,indx,it,tsmall,V,w1)
198+ !
199+ DO it = 1, nt_local
200+ !
201+ DO ib = 1, nb
202+ ei1(1:4,ib) = MATMUL(wlsm(1:4,1:20), eig(ib,ik_global(1:20,it)))
203+ END DO
204+ !
205+ !$OMP DO
206+ DO ib = 1, nb
207+ !
208+ w1(1:4) = 0d0
209+ e(1:4) = ei1(1:4, ib) - ef
210+ CALL libtetrabz_sort(4,e,indx)
211+ !
212+ IF(e(1) <= 0d0 .AND. 0d0 < e(2)) THEN
213+ !
214+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
215+ w1(indx(1:4)) = w1(indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
216+ !
217+ ELSE IF(e(2) <= 0d0 .AND. 0d0 < e(3)) THEN
218+ !
219+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
220+ w1(indx(1:4)) = w1(indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
221+ !
222+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
223+ w1(indx(1:4)) = w1(indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
224+ !
225+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
226+ w1(indx(1:4)) = w1(indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
227+ !
228+ ELSE IF(e(3) <= 0d0 .AND. 0d0 < e(4)) THEN
229+ !
230+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
231+ w1(indx(1:4)) = w1(indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
232+ !
233+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
234+ w1(indx(1:4)) = w1(indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
235+ !
236+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
237+ w1(indx(1:4)) = w1(indx(1:4)) + V * SUM(tsmall(1:4,1:4), 1) * 0.25d0
238+ !
239+ ELSE IF(e(4) <= 0d0) THEN
240+ !
241+ w1(1:4) = 0.25d0
242+ !
243+ ELSE
244+ !
245+ CYCLE
246+ !
247+ END IF
248+ !
249+ occ(ib,ik_local(1:20,it)) = occ(ib,ik_local(1:20,it)) &
250+ & + MATMUL(w1(1:4), wlsm(1:4,1:20))
251+ !
252+ END DO ! ib
253+ !$OMP END DO NOWAIT
254+ !
255+ END DO ! it
256+ !
257+ !$OMP END PARALLEL
258+ !
259+ occ(1:nb,1:nk_local) = occ(1:nb,1:nk_local) / DBLE(6 * nkBZ)
260+ !
261+END SUBROUTINE libtetrabz_occ_main
262+!
263+END MODULE libtetrabz_occ_mod
--- /dev/null
+++ b/src/libtetrabz/libtetrabz_polcmplx_mod.F90
@@ -0,0 +1,772 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz_polcmplx_mod
24+ !
25+ IMPLICIT NONE
26+ !
27+ PRIVATE
28+ PUBLIC libtetrabz_polcmplx
29+ !
30+CONTAINS
31+!
32+! Compute Polarization of imaginary frequency
33+!
34+SUBROUTINE libtetrabz_polcmplx(ltetra,bvec,nb,nge,eig1,eig2,ngw,wght,ne,e0,comm) BIND(C)
35+ !
36+ USE ISO_C_BINDING
37+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, libtetrabz_mpisum_zv
38+ IMPLICIT NONE
39+ !
40+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3), ne
41+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), eig1(nb,PRODUCT(nge(1:3))), eig2(nb,PRODUCT(nge(1:3)))
42+ COMPLEX(C_DOUBLE_COMPLEX),INTENT(IN) :: e0(ne)
43+ COMPLEX(C_DOUBLE_COMPLEX),INTENT(OUT) :: wght(ne*nb*nb,PRODUCT(ngw(1:3)))
44+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
45+ !
46+ LOGICAL :: linterpol
47+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
48+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
49+ REAL(8) :: wlsm(4,20), wintp(1,8)
50+ REAL(8),ALLOCATABLE :: kvec(:,:)
51+ COMPLEX(8),ALLOCATABLE :: wghtd(:,:,:)
52+ !
53+ IF(PRESENT(comm)) THEN
54+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
55+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
56+ ELSE
57+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
58+ & nt_local,nkBZ,ik_global,ik_local,kvec)
59+ END IF
60+ !
61+ IF(linterpol) THEN
62+ !
63+ ALLOCATE(wghtd(ne*nb*nb,1,nk_local))
64+ CALL libtetrabz_polcmplx_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,ne,e0,nk_local,wghtd)
65+ !
66+ ! Interpolation
67+ !
68+ wght(1:ne*nb*nb,1:PRODUCT(ngw(1:3))) = 0d0
69+ DO ik = 1, nk_local
70+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
71+ wght(1:ne*nb*nb,kintp(1:8)) = wght(1:ne*nb*nb, kintp(1:8)) &
72+ & + MATMUL(wghtd(1:ne*nb*nb,1:1,ik), wintp(1:1,1:8))
73+ END DO ! ik = 1, nk_local
74+ DEALLOCATE(wghtd, kvec)
75+ !
76+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_zv(comm, ne*nb*nb*PRODUCT(ngw(1:3)), wght)
77+ !
78+ ELSE
79+ CALL libtetrabz_polcmplx_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,ne,e0,nk_local,wght)
80+ END IF
81+ !
82+ DEALLOCATE(ik_global, ik_local)
83+ !
84+END SUBROUTINE libtetrabz_polcmplx
85+!
86+! Main SUBROUTINE for Polaization (Imaginaly axis) : Theta(- E1) * Theta(E2) / (E2 - E1 - iw)
87+!
88+SUBROUTINE libtetrabz_polcmplx_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,ne,e0,nk_local,polcmplx)
89+ !
90+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
91+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
92+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
93+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
94+ & libtetrabz_tsmall_c3
95+ IMPLICIT NONE
96+ !
97+ INTEGER,INTENT(IN) :: nt_local, nb, nkBZ, nk_local, ne, &
98+ & ik_global(20,nt_local), ik_local(20,nt_local)
99+ REAL(8),INTENT(IN) :: wlsm(4,20), eig1(nb,nkBZ), eig2(nb,nkBZ)
100+ COMPLEX(8),INTENT(IN) :: e0(ne)
101+ COMPLEX(8),INTENT(OUT) :: polcmplx(ne*nb,nb,nk_local)
102+ !
103+ INTEGER :: ib, indx(4), it
104+ REAL(8) :: e(4), ei1(4,nb), ej1(4,nb), ei2(4), ej2(4,nb), thr = 1d-8, tsmall(4,4), V
105+ COMPLEX(8) :: w1(ne*nb,4), w2(ne*nb,4)
106+ !
107+ polcmplx(1:ne*nb,1:nb,1:nk_local) = 0d0
108+ !
109+ !$OMP PARALLEL DEFAULT(NONE) &
110+ !$OMP & SHARED(eig1,eig2,e0,ik_global,ik_local,nb,ne,nt_local,polcmplx,thr,wlsm) &
111+ !$OMP & PRIVATE(e,ei1,ei2,ej1,ej2,ib,indx,it,tsmall,V,w1,w2)
112+ !
113+ DO it = 1, nt_local
114+ !
115+ DO ib = 1, nb
116+ ei1(1:4, ib) = MATMUL(wlsm(1:4,1:20), eig1(ib, ik_global(1:20,it)))
117+ ej1(1:4, ib) = MATMUL(wlsm(1:4,1:20), eig2(ib, ik_global(1:20,it)))
118+ END DO
119+ !
120+ !$OMP DO
121+ DO ib = 1, nb
122+ !
123+ w1(1:ne*nb,1:4) = 0d0
124+ e(1:4) = ei1(1:4, ib)
125+ CALL libtetrabz_sort(4,e,indx)
126+ !
127+ IF(e(1) <= 0d0 .AND. 0d0 < e(2)) THEN
128+ !
129+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
130+ !
131+ IF(V > thr) THEN
132+ !
133+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
134+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
135+ CALL libtetrabz_polcmplx2(nb,ne,e0,ei2,ej2,w2)
136+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb, indx(1:4)) &
137+ & + V * MATMUL(w2(1:ne*nb,1:4), tsmall(1:4,1:4))
138+ !
139+ END IF
140+ !
141+ ELSE IF(e(2) <= 0d0 .AND. 0d0 < e(3)) THEN
142+ !
143+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
144+ !
145+ IF(V > thr) THEN
146+ !
147+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
148+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
149+ CALL libtetrabz_polcmplx2(nb,ne,e0,ei2,ej2,w2)
150+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb, indx(1:4)) &
151+ & + V * MATMUL(w2(1:ne*nb,1:4), tsmall(1:4,1:4))
152+ !
153+ END IF
154+ !
155+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
156+ !
157+ IF(V > thr) THEN
158+ !
159+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
160+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
161+ CALL libtetrabz_polcmplx2(nb,ne,e0,ei2,ej2,w2)
162+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb, indx(1:4)) &
163+ & + V * MATMUL(w2(1:ne*nb,1:4), tsmall(1:4,1:4))
164+ !
165+ END IF
166+ !
167+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
168+ !
169+ IF(V > thr) THEN
170+ !
171+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
172+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
173+ CALL libtetrabz_polcmplx2(nb,ne,e0,ei2,ej2,w2)
174+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb, indx(1:4)) &
175+ & + V * MATMUL(w2(1:ne*nb,1:4), tsmall(1:4,1:4))
176+ !
177+ END IF
178+ !
179+ ELSE IF(e(3) <= 0d0 .AND. 0d0 < e(4)) THEN
180+ !
181+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
182+ !
183+ IF(V > thr) THEN
184+ !
185+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
186+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
187+ CALL libtetrabz_polcmplx2(nb,ne,e0,ei2,ej2,w2)
188+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb, indx(1:4)) &
189+ & + V * MATMUL(w2(1:ne*nb,1:4), tsmall(1:4,1:4))
190+ !
191+ END IF
192+ !
193+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
194+ !
195+ IF(V > thr) THEN
196+ !
197+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
198+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
199+ CALL libtetrabz_polcmplx2(nb,ne,e0,ei2,ej2,w2)
200+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb, indx(1:4)) &
201+ & + V * MATMUL(w2(1:ne*nb,1:4), tsmall(1:4,1:4))
202+ !
203+ END IF
204+ !
205+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
206+ !
207+ IF(V > thr) THEN
208+ !
209+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
210+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
211+ CALL libtetrabz_polcmplx2(nb,ne,e0,ei2,ej2,w2)
212+ w1(1:ne*nb,indx(1:4)) = w1(1:ne*nb, indx(1:4)) &
213+ & + V * MATMUL(w2(1:ne*nb,1:4), tsmall(1:4,1:4))
214+ !
215+ END IF
216+ !
217+ ELSE IF( e(4) <= 0d0 ) THEN
218+ !
219+ ei2(1:4 ) = ei1(1:4, ib)
220+ ej2(1:4,1:nb) = ej1(1:4,1:nb)
221+ CALL libtetrabz_polcmplx2(nb,ne,e0,ei2,ej2,w2)
222+ w1(1:ne*nb,1:4) = w1(1:ne*nb,1:4) + w2(1:ne*nb,1:4)
223+ !
224+ ELSE
225+ !
226+ CYCLE
227+ !
228+ END IF
229+ !
230+ polcmplx(1:ne*nb,ib,ik_local(1:20,it)) = polcmplx(1:ne*nb,ib, ik_local(1:20,it)) &
231+ & + MATMUL(w1(1:ne*nb,1:4), wlsm(1:4,1:20))
232+ !
233+ END DO ! ib = 1, nb
234+ !$OMP END DO NOWAIT
235+ !
236+ END DO ! it
237+ !
238+ !$OMP END PARALLEL
239+ !
240+ polcmplx(1:ne*nb,1:nb,1:nk_local) = polcmplx(1:ne*nb,1:nb,1:nk_local) / DBLE(6 * nkBZ)
241+ !
242+END SUBROUTINE libtetrabz_polcmplx_main
243+!
244+! Tetrahedra method for theta( - E2)
245+!
246+SUBROUTINE libtetrabz_polcmplx2(nb,ne,e0,ei1,ej1,w1)
247+ !
248+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
249+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
250+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
251+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
252+ & libtetrabz_tsmall_c3
253+ IMPLICIT NONE
254+ !
255+ INTEGER,INTENT(IN) :: nb, ne
256+ COMPLEX(8),INTENT(IN) :: e0(ne)
257+ REAL(8),INTENT(IN) :: ei1(4), ej1(4,nb)
258+ COMPLEX(8),INTENT(OUT) :: w1(ne,nb,4)
259+ !
260+ INTEGER :: ib, indx(4)
261+ REAL(8) :: de(4), e(4), thr = 1d-8, tsmall(4,4), V
262+ COMPLEX(8) :: w2(ne,4)
263+ !
264+ DO ib = 1, nb
265+ !
266+ w1(1:ne,ib,1:4) = 0d0
267+ e(1:4) = - ej1(1:4, ib)
268+ CALL libtetrabz_sort(4,e,indx)
269+ !
270+ IF((e(1) <= 0d0 .AND. 0d0 < e(2)) .OR. (e(1) < 0d0 .AND. 0d0 <= e(2))) THEN
271+ !
272+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
273+ !
274+ IF(V > thr) THEN
275+ !
276+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
277+ CALL libtetrabz_polcmplx3(ne,e0,de,w2)
278+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib, indx(1:4)) &
279+ & + V * MATMUL(w2(1:ne,1:4), tsmall(1:4,1:4))
280+ !
281+ END IF
282+ !
283+ ELSE IF((e(2) <= 0d0 .AND. 0d0 < e(3)) .OR. (e(2) < 0d0 .AND. 0d0 <= e(3))) THEN
284+ !
285+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
286+ !
287+ IF(V > thr) THEN
288+ !
289+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
290+ CALL libtetrabz_polcmplx3(ne,e0,de,w2)
291+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib, indx(1:4)) &
292+ & + V * MATMUL(w2(1:ne,1:4), tsmall(1:4,1:4))
293+ !
294+ END IF
295+ !
296+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
297+ !
298+ IF(V > thr) THEN
299+ !
300+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
301+ CALL libtetrabz_polcmplx3(ne,e0,de,w2)
302+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib, indx(1:4)) &
303+ & + V * MATMUL(w2(1:ne,1:4), tsmall(1:4,1:4))
304+ !
305+ END IF
306+ !
307+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
308+ !
309+ IF(V > thr) THEN
310+ !
311+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
312+ CALL libtetrabz_polcmplx3(ne,e0,de,w2)
313+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib, indx(1:4)) &
314+ & + V * MATMUL(w2(1:ne,1:4), tsmall(1:4,1:4))
315+ !
316+ END IF
317+ !
318+ ELSE IF((e(3) <= 0d0 .AND. 0d0 < e(4)) .OR. (e(3) < 0d0 .AND. 0d0 <= e(4))) THEN
319+ !
320+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
321+ !
322+ IF(V > thr) THEN
323+ !
324+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
325+ CALL libtetrabz_polcmplx3(ne,e0,de,w2)
326+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib, indx(1:4)) &
327+ & + V * MATMUL(w2(1:ne,1:4), tsmall(1:4,1:4))
328+ !
329+ END IF
330+ !
331+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
332+ !
333+ IF(V > thr) THEN
334+ !
335+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
336+ CALL libtetrabz_polcmplx3(ne,e0,de,w2)
337+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib, indx(1:4)) &
338+ & + V * MATMUL(w2(1:ne,1:4), tsmall(1:4,1:4))
339+ !
340+ END IF
341+ !
342+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
343+ !
344+ IF(V > thr) THEN
345+ !
346+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
347+ CALL libtetrabz_polcmplx3(ne,e0,de,w2)
348+ w1(1:ne,ib,indx(1:4)) = w1(1:ne,ib, indx(1:4)) &
349+ & + V * MATMUL(w2(1:ne,1:4), tsmall(1:4,1:4))
350+ !
351+ END IF
352+ !
353+ ELSE IF(e(4) <= 0d0) THEN
354+ !
355+ de(1:4) = ej1(1:4,ib) - ei1(1:4)
356+ CALL libtetrabz_polcmplx3(ne,e0,de,w2)
357+ w1(1:ne,ib,1:4) = w1(1:ne,ib,1:4) + w2(1:ne,1:4)
358+ !
359+ END IF
360+ !
361+ END DO
362+ !
363+END SUBROUTINE libtetrabz_polcmplx2
364+!
365+! Tetarahedra method for delta(om - ep + e)
366+!
367+SUBROUTINE libtetrabz_polcmplx3(ne,e0,de,w1)
368+ !
369+ USE libtetrabz_common, ONLY : libtetrabz_sort
370+ IMPLICIT NONE
371+ !
372+ INTEGER,INTENT(IN) :: ne
373+ COMPLEX(8),INTENT(IN) :: e0(ne)
374+ REAL(8),INTENT(IN) :: de(4)
375+ COMPLEX(8),INTENT(OUT) :: w1(ne,4)
376+ !
377+ INTEGER :: ie, indx(4)
378+ REAL(8) :: e(4), thr, w2(2,4), x(4)
379+ !
380+ e(1:4) = de(1:4)
381+ CALL libtetrabz_sort(4,e,indx)
382+ !
383+ DO ie = 1, ne
384+ !
385+ ! I don't know which one is better.
386+ ! The former is more stable.
387+ ! The latter is more accurate ?
388+ !
389+ w1(ie,1:4) = 0.25d0 / (de(1:4) + e0(ie))
390+ !
391+ CYCLE
392+ !
393+ x(1:4) = (e(1:4) + DBLE(e0(ie))) / AIMAG(e0(ie))
394+ !thr = maxval(de(1:4)) * 1d-3
395+ thr = max(1d-3, MAXVAL(x(1:4)) * 1d-2)
396+ !
397+ IF(ABS(x(4) - x(3)) < thr) THEN
398+ IF(ABS(x(4) - x(2)) < thr) THEN
399+ IF(ABS(x(4) - x(1)) < thr) THEN
400+ !
401+ ! e(4) = e(3) = e(2) = e(1)
402+ !
403+ w2(1,4) = 0.25d0 * x(4) / ((1d0 + x(4)**2))
404+ w2(2,4) = 0.25d0 / ((1d0 + x(4)**2))
405+ w2(1:2,3) = w2(1:2,4)
406+ w2(1:2,2) = w2(1:2,4)
407+ w2(1:2,1) = w2(1:2,4)
408+ !
409+ ELSE
410+ !
411+ ! e(4) = e(3) = e(2)
412+ !
413+ w2(1:2,4) = libtetrabz_polcmplx_1211(x(4),x(1))
414+ w2(1:2,3) = w2(1:2,4)
415+ w2(1:2,2) = w2(1:2,4)
416+ w2(1:2,1) = libtetrabz_polcmplx_1222(x(1),x(4))
417+ !
418+ !IF(ANY(w2(1:2,1:4) < 0d0)) THEN
419+ ! WRITE(*,*) ie
420+ ! WRITE(*,'(100e15.5)') x(1:4)
421+ ! WRITE(*,'(2e15.5)') w2(1:2,1:4)
422+ ! STOP "weighting 4=3=2"
423+ !END IF
424+ !
425+ END IF
426+ ELSE IF(ABS(x(2) - x(1)) < thr ) THEN
427+ !
428+ ! e(4) = e(3), e(2) = e(1)
429+ !
430+ w2(1:2,4) = libtetrabz_polcmplx_1221(x(4),x(2))
431+ w2(1:2,3) = w2(1:2,4)
432+ w2(1:2,2) = libtetrabz_polcmplx_1221(x(2),x(4))
433+ w2(1:2,1) = w2(1:2,2)
434+ !
435+ !IF(ANY(w2(1:2,1:4) < 0d0)) THEN
436+ ! WRITE(*,*) ie
437+ ! WRITE(*,'(100e15.5)') x(1:4)
438+ ! WRITE(*,'(2e15.5)') w2(1:2,1:4)
439+ ! STOP "weighting 4=3 2=1"
440+ !END IF
441+ !
442+ ELSE
443+ !
444+ ! e(4) = e(3)
445+ !
446+ w2(1:2,4) = libtetrabz_polcmplx_1231(x(4),x(1),x(2))
447+ w2(1:2,3) = w2(1:2,4)
448+ w2(1:2,2) = libtetrabz_polcmplx_1233(x(2),x(1),x(4))
449+ w2(1:2,1) = libtetrabz_polcmplx_1233(x(1),x(2),x(4))
450+ !
451+ !IF(ANY(w2(1:2,1:4) < 0d0)) THEN
452+ ! WRITE(*,*) ie
453+ ! WRITE(*,'(100e15.5)') x(1:4)
454+ ! WRITE(*,'(2e15.5)') w2(1:2,1:4)
455+ ! STOP "weighting 4=3"
456+ !END IF
457+ !
458+ END IF
459+ ELSE IF(ABS(x(3) - x(2)) < thr) THEN
460+ IF(ABS(x(3) - x(1)) < thr) THEN
461+ !
462+ ! e(3) = e(2) = e(1)
463+ !
464+ w2(1:2,4) = libtetrabz_polcmplx_1222(x(4),x(3))
465+ w2(1:2,3) = libtetrabz_polcmplx_1211(x(3),x(4))
466+ w2(1:2,2) = w2(1:2,3)
467+ w2(1:2,1) = w2(1:2,3)
468+ !
469+ !IF(ANY(w2(1:2,1:4) < 0d0)) THEN
470+ ! WRITE(*,*) ie
471+ ! WRITE(*,'(100e15.5)') x(1:4)
472+ ! WRITE(*,'(2e15.5)') w2(1:2,1:4)
473+ ! STOP "weighting 3=2=1"
474+ !END IF
475+ !
476+ ELSE
477+ !
478+ ! e(3) = e(2)
479+ !
480+ w2(1:2,4) = libtetrabz_polcmplx_1233(x(4),x(1),x(3))
481+ w2(1:2,3) = libtetrabz_polcmplx_1231(x(3),x(1),x(4))
482+ w2(1:2,2) = w2(1:2,3)
483+ w2(1:2,1) = libtetrabz_polcmplx_1233(x(1),x(4),x(3))
484+ !
485+ !IF(ANY(w2(1:2,1:4) < 0d0)) THEN
486+ ! WRITE(*,*) ie
487+ ! WRITE(*,'(100e15.5)') x(1:4)
488+ ! WRITE(*,'(2e15.5)') w2(1:2,1:4)
489+ ! STOP "weighting 3=2"
490+ !END IF
491+ !
492+ END IF
493+ ELSE IF(ABS(x(2) - x(1)) < thr) THEN
494+ !
495+ ! e(2) = e(1)
496+ !
497+ w2(1:2,4) = libtetrabz_polcmplx_1233(x(4),x(3),x(2))
498+ w2(1:2,3) = libtetrabz_polcmplx_1233(x(3),x(4),x(2))
499+ w2(1:2,2) = libtetrabz_polcmplx_1231(x(2),x(3),x(4))
500+ w2(1:2,1) = w2(1:2,2)
501+ !
502+ !IF(ANY(w2(1:2,1:4) < 0d0)) THEN
503+ ! WRITE(*,*) ie
504+ ! WRITE(*,'(100e15.5)') x(1:4)
505+ ! WRITE(*,'(2e15.5)') w2(1:2,1:4)
506+ ! STOP "weighting 2=1"
507+ !END IF
508+ !
509+ ELSE
510+ !
511+ ! Different each other.
512+ !
513+ w2(1:2,4) = libtetrabz_polcmplx_1234(x(4),x(1),x(2),x(3))
514+ w2(1:2,3) = libtetrabz_polcmplx_1234(x(3),x(1),x(2),x(4))
515+ w2(1:2,2) = libtetrabz_polcmplx_1234(x(2),x(1),x(3),x(4))
516+ w2(1:2,1) = libtetrabz_polcmplx_1234(x(1),x(2),x(3),x(4))
517+ !
518+ !IF(ANY(w2(1:2,1:4) < 0d0)) THEN
519+ ! WRITE(*,*) ie
520+ ! WRITE(*,'(100e15.5)') x(1:4)
521+ ! WRITE(*,'(2e15.5)') w2(1:2,1:4)
522+ ! STOP "weighting"
523+ !END IF
524+ !
525+ END IF
526+ !
527+ w1(ie,indx(1:4)) = CMPLX(w2(1,1:4) / AIMAG(e0(ie)), &
528+ & w2(2,1:4) / (- AIMAG(e0(ie))), KIND(0d0))
529+ !
530+ END DO ! ie
531+ !
532+END SUBROUTINE libtetrabz_polcmplx3
533+!
534+! Results of Integration (1-x-y-z)/(g0+(g1-g0)x+(g2-g0)y+(g3-g0))
535+! for 0<x<1, 0<y<1-x, 0<z<1-x-y
536+!
537+! 1, Different each other
538+!
539+FUNCTION libtetrabz_polcmplx_1234(g1,g2,g3,g4) RESULT(w)
540+ !
541+ IMPLICIT NONE
542+ !
543+ REAL(8),INTENT(IN) :: g1, g2, g3, g4
544+ REAL(8) :: w(2)
545+ !
546+ REAL(8) :: w2, w3, w4
547+ !
548+ ! Real
549+ !
550+ w2 = 2d0*(3d0*g2**2 - 1d0)*(ATAN(g2) - ATAN(g1)) + (g2**2 - &
551+ & 3d0)*g2*LOG((1d0 + g2**2)/( 1d0 + g1**2))
552+ w2 = -2d0*(g2**2 - 1d0) + w2/(g2 - g1 )
553+ w2 = w2/(g2 - g1 )
554+ w3 = 2d0*(3d0*g3**2 - 1d0)*(ATAN(g3) - ATAN(g1)) + (g3**2 - &
555+ & 3d0)*g3*LOG((1d0 + g3**2)/( 1d0 + g1**2))
556+ w3 = -2d0*(g3**2 - 1d0) + w3/(g3 - g1 )
557+ w3 = w3/(g3 - g1 )
558+ w4 = 2d0*(3d0*g4**2 - 1d0)*(ATAN(g4) - ATAN(g1)) + (g4**2 - &
559+ & 3d0)*g4*LOG((1d0 + g4**2)/( 1d0 + g1**2))
560+ w4 = -2d0*(g4**2 - 1d0) + w4/(g4 - g1 )
561+ w4 = w4/(g4 - g1 )
562+ w2 = (w2 - w3)/(g2 - g3)
563+ w4 = (w4 - w3)/(g4 - g3)
564+ w(1) = (w4 - w2)/(2d0*(g4 - g2))
565+ !
566+ ! Imaginal
567+ !
568+ w2 = 2d0*(3d0 - g2**2)* &
569+ & g2*(ATAN(g2) - ATAN(g1)) + (3d0*g2**2 - 1d0)* &
570+ & LOG((1d0 + g2**2)/(1d0 + g1**2))
571+ w2 = 4d0*g2 - w2/(g2 - g1)
572+ w2 = w2/(g2 - g1)
573+ w3 = 2d0*(3d0 - g3**2)* &
574+ & g3*(ATAN(g3) - ATAN(g1)) + (3d0*g3**2 - 1d0)* &
575+ & LOG((1d0 + g3**2)/(1d0 + g1**2))
576+ w3 = 4d0*g3 - w3/(g3 - g1)
577+ w3 = w3/(g3 - g1)
578+ w4 = 2d0*(3d0 - g4**2)* &
579+ & g4*(ATAN(g4) - ATAN(g1)) + (3d0*g4**2 - 1d0)* &
580+ & LOG((1d0 + g4**2)/(1d0 + g1**2))
581+ w4 = 4d0*g4 - w4/(g4 - g1)
582+ w4 = w4/(g4 - g1)
583+ w2 = (w2 - w3)/(g2 - g3)
584+ w4 = (w4 - w3)/(g4 - g3)
585+ w(2) = (w4 - w2)/(2d0*(g4 - g2))
586+ !
587+END FUNCTION libtetrabz_polcmplx_1234
588+!
589+! 2, g4 = g1
590+!
591+FUNCTION libtetrabz_polcmplx_1231(g1,g2,g3) RESULT(w)
592+ !
593+ IMPLICIT NONE
594+ !
595+ REAL(8),INTENT(IN) :: g1, g2, g3
596+ REAL(8) :: w(2)
597+ !
598+ REAL(8) :: w2, w3
599+ !
600+ ! Real
601+ !
602+ w2 = 2d0*(-1d0 + 3d0*g2**2)*(ATAN(g2) - ATAN(g1)) + &
603+ & g2*(-3d0 + g2**2)*LOG((1d0 + g2**2)/(1d0 + g1**2))
604+ w2 = 2d0*(1d0 - g2**2) + w2/(g2 - g1)
605+ w2 = -g1 + w2/(g2 - g1)
606+ w2 = w2/(g2 - g1)
607+ w3 = 2d0*(-1d0 + 3d0*g3**2)*(ATAN(g3) - ATAN(g1)) + &
608+ & g3*(-3d0 + g3**2)*LOG((1d0 + g3**2)/(1d0 + g1**2))
609+ w3 = 2d0*(1 - g3**2) + w3/(g3 - g1)
610+ w3 = -g1 + w3/(g3 - g1)
611+ w3 = w3/(g3 - g1)
612+ w(1) = (w3 - w2)/(2d0*(g3 - g2))
613+ !
614+ ! Imaginal
615+ !
616+ w2 = 2d0* &
617+ & g2*(3d0 - g2**2)*(ATAN(g2) - ATAN(g1)) + (-1d0 + 3d0*g2**2)* &
618+ & LOG((1d0 + g2**2)/(1d0 + g1**2))
619+ w2 = 4d0*g2 - w2/(g2 - g1)
620+ w2 = 1 + w2/(g2 - g1)
621+ w2 = w2/(g2 - g1)
622+ w3 = 2d0* &
623+ & g3*(3d0 - g3**2)*(ATAN(g3) - ATAN(g1)) + (-1d0 + 3d0*g3**2)* &
624+ & LOG((1d0 + g3**2)/(1d0 + g1**2))
625+ w3 = 4d0*g3 - w3/(g3 - g1)
626+ w3 = 1 + w3/(g3 - g1)
627+ w3 = w3/(g3 - g1)
628+ w(2) = (w3 - w2)/(2d0*(g3 - g2))
629+ !
630+END FUNCTION libtetrabz_polcmplx_1231
631+!
632+! 3, g4 = g3
633+!
634+FUNCTION libtetrabz_polcmplx_1233(g1, g2, g3) RESULT(w)
635+ !
636+ IMPLICIT NONE
637+ !
638+ REAL(8),INTENT(IN) :: g1, g2, g3
639+ REAL(8) :: w(2)
640+ !
641+ REAL(8) :: w2, w3
642+ !
643+ ! Real
644+ !
645+ w2 = 2d0*(1d0 - 3d0*g2**2)*(ATAN(g2) - ATAN(g1)) + &
646+ & g2*(3d0 - g2**2)*LOG((1d0 + g2**2)/(1d0 + g1**2))
647+ w2 = 2d0*(1 - g2**2) - w2/(g2 - g1)
648+ w2 = w2/(g2 - g1)
649+ w3 = 2d0*(1d0 - 3d0*g3**2)*(ATAN(g3) - ATAN(g1)) + &
650+ & g3*(3d0 - g3**2)*LOG((1d0 + g3**2)/(1d0 + g1**2))
651+ w3 = 2d0*(1 - g3**2) - w3/(g3 - g1)
652+ w3 = w3/(g3 - g1)
653+ w2 = (w3 - w2)/(g3 - g2)
654+ w3 = 4d0*(1d0 - 3d0*g1*g3)*(ATAN(g3) - ATAN(g1)) + (3d0*g1 + &
655+ & 3d0*g3 - 3d0*g1*g3**2 + g3**3) * LOG((1d0 + g3**2)/( &
656+ & 1d0 + g1**2))
657+ w3 = -4d0*(1d0 - g1**2) + w3/(g3 - g1)
658+ w3 = 4d0*g1 + w3/(g3 - g1)
659+ w3 = w3/(g3 - g1)
660+ w(1) = (w3 - w2)/(2d0*(g3 - g2))
661+ !
662+ ! Imaginal
663+ !
664+ w2 = 2d0* &
665+ & g2*(3d0 - g2**2)*(ATAN(g2) - ATAN(g1)) + (-1d0 + 3d0*g2**2)* &
666+ & LOG((1d0 + g2**2)/(1d0 + g1**2))
667+ w2 = 4d0*g2 - w2/(g2 - g1)
668+ w2 = w2/(g2 - g1)
669+ w3 = 2d0* &
670+ & g3*(3d0 - g3**2)*(ATAN(g3) - ATAN(g1)) + (-1d0 + 3d0*g3**2)* &
671+ & LOG((1d0 + g3**2)/(1d0 + g1**2))
672+ w3 = 4d0*g3 - w3/(g3 - g1)
673+ w3 = w3/(g3 - g1)
674+ w2 = (w3 - w2)/(g3 - g2)
675+ w3 = (3d0*g1 - 3d0*g1*g3**2 + 3d0*g3 + g3**3)*(ATAN(g3) - &
676+ & ATAN(g1)) + (3d0*g1*g3 - 1d0)* &
677+ & LOG((1d0 + g3**2)/(1d0 + g1**2))
678+ w3 = w3/(g3 - g1) - 4d0*g1
679+ w3 = w3/(g3 - g1) - 2d0
680+ w3 = (2d0*w3)/(g3 - g1)
681+ w(2) = (w3 - w2)/(2d0*(g3 - g2))
682+ !
683+END FUNCTION libtetrabz_polcmplx_1233
684+!
685+! 4, g4 = g1 and g3 = g2
686+!
687+FUNCTION libtetrabz_polcmplx_1221(g1,g2) RESULT(w)
688+ !
689+ IMPLICIT NONE
690+ !
691+ REAL(8),INTENT(IN) :: g1, g2
692+ REAL(8) :: w(2)
693+ !
694+ ! Real
695+ !
696+ w(1) = -2d0*(-1d0 + 2d0*g1*g2 + g2**2)*(ATAN(g2) - &
697+ & ATAN(g1)) + (g1 + 2d0*g2 - g1*g2**2)* &
698+ & LOG((1d0 + g2**2)/(1d0 + g1**2))
699+ w(1) = 2d0*(-1d0 + g1**2) + w(1)/(g2 - g1)
700+ w(1) = 3d0*g1 + w(1)/(g2 - g1)
701+ w(1) = 2d0 + (3d0*w(1))/(g2 - g1)
702+ w(1) = w(1)/(2d0*(g2 - g1))
703+ !
704+ ! Imaginal
705+ !
706+ w(2) = 2d0*(g1 + 2d0*g2 - g1*g2**2)*(ATAN(g2) - &
707+ & ATAN(g1)) + (-1d0 + 2d0*g1*g2 + g2**2)* &
708+ & LOG((1 + g2**2)/(1 + g1**2))
709+ w(2) = -4d0*g1 + w(2)/(g2 - g1)
710+ w(2) = -3d0 + w(2)/(g2 - g1)
711+ w(2) = (3d0*w(2))/(2d0*(g2 - g1)**2)
712+ !
713+END FUNCTION libtetrabz_polcmplx_1221
714+!
715+! 5, g4 = g3 = g2
716+!
717+FUNCTION libtetrabz_polcmplx_1222(g1,g2) RESULT(w)
718+ !
719+ IMPLICIT NONE
720+ !
721+ REAL(8),INTENT(IN) :: g1, g2
722+ REAL(8) :: w(2)
723+ !
724+ ! Real
725+ !
726+ w(1) = 2d0*(-1d0 + g1**2 + 2d0*g1*g2)*(ATAN(g2) - &
727+ & ATAN(g1)) + (-2d0*g1 - g2 + g1**2*g2) * LOG((1d0 + g2**2)/( &
728+ & 1d0 + g1**2))
729+ w(1) = 2d0*(1d0 - g1**2) + w(1)/(g2 - g1)
730+ w(1) = g1 - w(1)/(g2 - g1)
731+ w(1) = 1d0 - (3d0*w(1))/(g2 - g1)
732+ w(1) = w(1)/(2d0*(g2 - g1))
733+ !
734+ ! Imaginal
735+ !
736+ w(2) = 2d0*(-2d0*g1 - g2 + g1**2*g2)*(ATAN(g2) - ATAN(g1)) + (1d0 - &
737+ & g1**2 - 2d0*g1*g2) * LOG((1d0 + g2**2)/(1d0 + g1**2))
738+ w(2) = 4d0*g1 + w(2)/(g2 - g1)
739+ w(2) = 1d0 + w(2)/(g2 - g1)
740+ w(2) = (3d0*w(2))/(2d0*(g2 - g1)**2)
741+ !
742+END FUNCTION libtetrabz_polcmplx_1222
743+!
744+! 6, g4 = g3 = g1
745+!
746+FUNCTION libtetrabz_polcmplx_1211(g1,g2) RESULT(w)
747+ !
748+ IMPLICIT NONE
749+ !
750+ REAL(8),INTENT(IN) :: g1, g2
751+ REAL(8) :: w(2)
752+ !
753+ ! Real
754+ !
755+ w(1) = 2d0*(3d0*g2**2 - 1d0)*(ATAN(g2) - ATAN(g1)) + &
756+ & g2*(g2**2 - 3d0)*LOG((1d0 + g2**2)/(1d0 + g1**2))
757+ w(1) = 2d0*(1d0 - g1**2) + w(1)/(g2 - g1)
758+ w(1) = -5d0*g1 + w(1)/(g2 - g1)
759+ w(1) = -11d0 + (3d0*w(1))/(g2 - g1)
760+ w(1) = w(1)/(6d0*(g2 - g1))
761+ !
762+ ! Imaginal
763+ !
764+ w(2) = 2d0*g2*(-3d0 + g2**2)*(ATAN(g2) - ATAN(g1)) + (1d0 - &
765+ & 3d0*g2**2)*LOG((1d0 + g2**2)/(1d0 + g1**2))
766+ w(2) = 4d0*g2 + w(2)/(g2 - g1)
767+ w(2) = 1d0 + w(2)/(g2 - g1)
768+ w(2) = w(2)/(2d0*(g2 - g1)**2)
769+ !
770+END FUNCTION libtetrabz_polcmplx_1211
771+!
772+END MODULE libtetrabz_polcmplx_mod
--- /dev/null
+++ b/src/libtetrabz/libtetrabz_polstat_mod.F90
@@ -0,0 +1,629 @@
1+!
2+! Copyright (c) 2014 Mitsuaki Kawamura
3+!
4+! Permission is hereby granted, free of charge, to any person obtaining a
5+! copy of this software and associated documentation files (the
6+! "Software"), to deal in the Software without restriction, including
7+! without limitation the rights to use, copy, modify, merge, publish,
8+! distribute, sublicense, and/or sell copies of the Software, and to
9+! permit persons to whom the Software is furnished to do so, subject to
10+! the following conditions:
11+!
12+! The above copyright notice and this permission notice shall be included
13+! in all copies or substantial portions of the Software.
14+!
15+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+!
23+MODULE libtetrabz_polstat_mod
24+ !
25+ IMPLICIT NONE
26+ !
27+ PRIVATE
28+ PUBLIC libtetrabz_polstat
29+ !
30+CONTAINS
31+!
32+! Compute Static polalization function
33+!
34+SUBROUTINE libtetrabz_polstat(ltetra,bvec,nb,nge,eig1,eig2,ngw,wght,comm) BIND(C)
35+ !
36+ USE ISO_C_BINDING
37+ USE libtetrabz_common, ONLY : libtetrabz_initialize, libtetrabz_interpol_indx, libtetrabz_mpisum_dv
38+ IMPLICIT NONE
39+ !
40+ INTEGER(C_INT),INTENT(IN) :: ltetra, nb, nge(3), ngw(3)
41+ REAL(C_DOUBLE),INTENT(IN) :: bvec(9), eig1(nb,PRODUCT(nge(1:3))), eig2(nb,PRODUCT(nge(1:3)))
42+ REAL(C_DOUBLE),INTENT(OUT) :: wght(nb*nb,PRODUCT(ngw(1:3)))
43+ INTEGER(C_INT),INTENT(IN),OPTIONAL :: comm
44+ !
45+ LOGICAL :: linterpol
46+ INTEGER :: nt_local, nk_local, nkBZ, ik, kintp(8)
47+ INTEGER,ALLOCATABLE :: ik_global(:,:), ik_local(:,:)
48+ REAL(8) :: wlsm(4,20), wintp(1,8)
49+ REAL(8),ALLOCATABLE :: wghtd(:,:,:), kvec(:,:)
50+ !
51+ IF(PRESENT(comm)) THEN
52+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
53+ & nt_local,nkBZ,ik_global,ik_local,kvec,comm)
54+ ELSE
55+ CALL libtetrabz_initialize(ltetra,nge,ngw,bvec,linterpol,wlsm,nk_local,&
56+ & nt_local,nkBZ,ik_global,ik_local,kvec)
57+ END IF
58+ !
59+ IF(linterpol) THEN
60+ !
61+ ALLOCATE(wghtd(nb*nb,1,nk_local))
62+ CALL libtetrabz_polstat_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,wghtd)
63+ !
64+ ! Interpolation
65+ !
66+ wght(1:nb*nb,1:PRODUCT(ngw(1:3))) = 0d0
67+ DO ik = 1, nk_local
68+ CALL libtetrabz_interpol_indx(ngw,kvec(1:3,ik),kintp,wintp)
69+ wght(1:nb*nb,kintp(1:8)) = wght(1:nb*nb, kintp(1:8)) &
70+ & + MATMUL(wghtd(1:nb*nb,1:1,ik), wintp(1:1,1:8))
71+ END DO ! ik = 1, nk_local
72+ DEALLOCATE(wghtd, kvec)
73+ !
74+ IF(PRESENT(comm)) CALL libtetrabz_mpisum_dv(comm, nb*nb*PRODUCT(ngw(1:3)), wght)
75+ !
76+ ELSE
77+ CALL libtetrabz_polstat_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,wght)
78+ END IF
79+ !
80+ DEALLOCATE(ik_global, ik_local)
81+ !
82+END SUBROUTINE libtetrabz_polstat
83+!
84+! Main SUBROUTINE for polalization function : Theta(- E1) * Theta(E2) / (E2 - E1)
85+!
86+SUBROUTINE libtetrabz_polstat_main(wlsm,nt_local,ik_global,ik_local,nb,nkBZ,eig1,eig2,nk_local,polstat)
87+ !
88+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
89+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
90+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
91+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
92+ & libtetrabz_tsmall_c3
93+ IMPLICIT NONE
94+ !
95+ INTEGER,INTENT(IN) :: nt_local, nb, nkBZ, nk_local, &
96+ & ik_global(20,nt_local), ik_local(20,nt_local)
97+ REAL(8),INTENT(IN) :: wlsm(4,20), eig1(nb,nkBZ), eig2(nb,nkBZ)
98+ REAL(8),INTENT(OUT) :: polstat(nb,nb,nk_local)
99+ !
100+ INTEGER :: ib, it, indx(4)
101+ REAL(8) :: e(4), ei1(4,nb), ei2(4), ej1(4,nb), ej2(4,nb), thr = 1d-10, tsmall(4,4), V, w1(nb,4), w2(nb,4)
102+ !
103+ polstat(1:nb,1:nb,1:nk_local) = 0d0
104+ !
105+ !$OMP PARALLEL DEFAULT(NONE) &
106+ !$OMP & SHARED(eig1,eig2,ik_global,ik_local,nb,nt_local,polstat,thr,wlsm) &
107+ !$OMP & PRIVATE(e,ei1,ei2,ej1,ej2,ib,indx,it,tsmall,V,w1,w2)
108+ !
109+ DO it = 1, nt_local
110+ !
111+ DO ib = 1, nb
112+ ei1(1:4, ib) = MATMUL(wlsm(1:4,1:20), eig1(ib, ik_global(1:20,it)))
113+ ej1(1:4, ib) = MATMUL(wlsm(1:4,1:20), eig2(ib, ik_global(1:20,it)))
114+ END DO
115+ !
116+ !$OMP DO
117+ DO ib = 1, nb
118+ !
119+ w1(1:nb,1:4) = 0d0
120+ e(1:4) = ei1(1:4, ib)
121+ CALL libtetrabz_sort(4,e,indx)
122+ !
123+ IF(e(1) <= 0d0 .AND. 0d0 < e(2)) THEN
124+ !
125+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
126+ !
127+ IF(V > thr) THEN
128+ !
129+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
130+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
131+ CALL libtetrabz_polstat2(nb,ei2,ej2,w2)
132+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
133+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
134+ !
135+ END IF
136+ !
137+ ELSE IF(e(2) <= 0d0 .AND. 0d0 < e(3)) THEN
138+ !
139+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
140+ !
141+ IF(V > thr) THEN
142+ !
143+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
144+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
145+ CALL libtetrabz_polstat2(nb,ei2,ej2,w2)
146+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
147+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
148+ !
149+ END IF
150+ !
151+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
152+ !
153+ IF(V > thr) THEN
154+ !
155+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
156+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
157+ CALL libtetrabz_polstat2(nb,ei2,ej2,w2)
158+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
159+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
160+ !
161+ END IF
162+ !
163+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
164+ !
165+ IF(V > thr) THEN
166+ !
167+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
168+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
169+ CALL libtetrabz_polstat2(nb,ei2,ej2,w2)
170+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
171+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
172+ !
173+ END IF
174+ !
175+ ELSE IF(e(3) <= 0d0 .AND. 0d0 < e(4)) THEN
176+ !
177+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
178+ !
179+ IF(V > thr) THEN
180+ !
181+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
182+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
183+ CALL libtetrabz_polstat2(nb,ei2,ej2,w2)
184+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
185+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
186+ !
187+ END IF
188+ !
189+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
190+ !
191+ IF(V > thr) THEN
192+ !
193+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
194+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
195+ CALL libtetrabz_polstat2(nb,ei2,ej2,w2)
196+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
197+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
198+ !
199+ END IF
200+ !
201+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
202+ !
203+ IF(V > thr) THEN
204+ !
205+ ei2(1:4 ) = MATMUL(tsmall(1:4,1:4), ei1(indx(1:4), ib))
206+ ej2(1:4,1:nb) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),1:nb))
207+ CALL libtetrabz_polstat2(nb,ei2,ej2,w2)
208+ w1(1:nb,indx(1:4)) = w1(1:nb, indx(1:4)) &
209+ & + V * MATMUL(w2(1:nb,1:4), tsmall(1:4,1:4))
210+ !
211+ END IF
212+ !
213+ ELSE IF(e(4) <= 0d0) THEN
214+ !
215+ ei2(1:4 ) = ei1(1:4, ib)
216+ ej2(1:4,1:nb) = ej1(1:4,1:nb)
217+ CALL libtetrabz_polstat2(nb,ei2,ej2,w2)
218+ w1(1:nb,1:4) = w1(1:nb,1:4) + w2(1:nb,1:4)
219+ !
220+ ELSE
221+ !
222+ CYCLE
223+ !
224+ END IF
225+ !
226+ polstat(1:nb,ib,ik_local(1:20,it)) = polstat(1:nb,ib, ik_local(1:20,it)) &
227+ & + MATMUL(w1(1:nb,1:4), wlsm(1:4,1:20))
228+ !
229+ END DO ! ib
230+ !$OMP END DO NOWAIT
231+ !
232+ END DO ! it
233+ !
234+ !$OMP END PARALLEL
235+ !
236+ polstat(1:nb,1:nb,1:nk_local) = polstat(1:nb,1:nb,1:nk_local) / DBLE(6 * nkBZ)
237+ !
238+END SUBROUTINE libtetrabz_polstat_main
239+!
240+! Tetrahedra method for theta( - E2)
241+!
242+SUBROUTINE libtetrabz_polstat2(nb,ei1,ej1,w1)
243+ !
244+ USE libtetrabz_common, ONLY : libtetrabz_sort, &
245+ & libtetrabz_tsmall_a1, libtetrabz_tsmall_b1, &
246+ & libtetrabz_tsmall_b2, libtetrabz_tsmall_b3, &
247+ & libtetrabz_tsmall_c1, libtetrabz_tsmall_c2, &
248+ & libtetrabz_tsmall_c3
249+ IMPLICIT NONE
250+ !
251+ INTEGER,INTENT(IN) :: nb
252+ REAL(8),INTENT(IN) :: ei1(4), ej1(4,nb)
253+ REAL(8),INTENT(INOUT) :: w1(nb,4)
254+ !
255+ INTEGER :: ib, indx(4)
256+ REAL(8) :: de(4), e(4), thr = 1d-8, tsmall(4,4), V, w2(4)
257+ !
258+ DO ib = 1, nb
259+ !
260+ w1(ib,1:4) = 0d0
261+ e(1:4) = - ej1(1:4, ib)
262+ CALL libtetrabz_sort(4,e,indx)
263+ !
264+ IF((e(1) <= 0d0 .AND. 0d0 < e(2)) .OR. (e(1) < 0d0 .AND. 0d0 <= e(2))) THEN
265+ !
266+ CALL libtetrabz_tsmall_a1(e,V,tsmall)
267+ !
268+ IF(V > thr) THEN
269+ !
270+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
271+ CALL libtetrabz_polstat3(de,w2)
272+ w1(ib,indx(1:4)) = w1(ib, indx(1:4)) &
273+ & + V * MATMUL(w2(1:4), tsmall(1:4,1:4))
274+ !
275+ END IF
276+ !
277+ ELSE IF((e(2) <= 0d0 .AND. 0d0 < e(3)) .OR. (e(2) < 0d0 .AND. 0d0 <= e(3))) THEN
278+ !
279+ CALL libtetrabz_tsmall_b1(e,V,tsmall)
280+ !
281+ IF(V > thr) THEN
282+ !
283+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
284+ CALL libtetrabz_polstat3(de,w2)
285+ w1(ib,indx(1:4)) = w1(ib,indx(1:4)) &
286+ & + V * MATMUL(w2( 1:4 ), tsmall(1:4,1:4))
287+ !
288+ END IF
289+ !
290+ CALL libtetrabz_tsmall_b2(e,V,tsmall)
291+ !
292+ IF(V > thr) THEN
293+ !
294+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
295+ CALL libtetrabz_polstat3(de,w2)
296+ w1(ib,indx(1:4)) = w1(ib, indx(1:4)) &
297+ & + V * MATMUL(w2(1:4), tsmall(1:4,1:4))
298+ !
299+ END IF
300+ !
301+ CALL libtetrabz_tsmall_b3(e,V,tsmall)
302+ !
303+ IF(V > thr) THEN
304+ !
305+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
306+ CALL libtetrabz_polstat3(de,w2)
307+ w1(ib,indx(1:4)) = w1(ib, indx(1:4)) &
308+ & + V * MATMUL(w2(1:4), tsmall(1:4,1:4))
309+ !
310+ END IF
311+ !
312+ ELSE IF((e(3) <= 0d0 .AND. 0d0 < e(4)) .OR. (e(3) < 0d0 .AND. 0d0 <= e(4))) THEN
313+ !
314+ CALL libtetrabz_tsmall_c1(e,V,tsmall)
315+ !
316+ IF(V > thr) THEN
317+ !
318+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
319+ CALL libtetrabz_polstat3(de,w2)
320+ w1(ib,indx(1:4)) = w1(ib, indx(1:4)) &
321+ & + V * MATMUL(w2(1:4), tsmall(1:4,1:4))
322+ !
323+ END IF
324+ !
325+ CALL libtetrabz_tsmall_c2(e,V,tsmall)
326+ !
327+ IF(V > thr) THEN
328+ !
329+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
330+ CALL libtetrabz_polstat3(de,w2)
331+ w1(ib,indx(1:4)) = w1(ib, indx(1:4)) &
332+ & + V * MATMUL(w2(1:4), tsmall(1:4,1:4))
333+ !
334+ END IF
335+ !
336+ CALL libtetrabz_tsmall_c3(e,V,tsmall)
337+ !
338+ IF(V > thr) THEN
339+ !
340+ de(1:4) = MATMUL(tsmall(1:4,1:4), ej1(indx(1:4),ib) - ei1(indx(1:4)))
341+ CALL libtetrabz_polstat3(de,w2)
342+ w1(ib,indx(1:4)) = w1(ib, indx(1:4)) &
343+ & + V * MATMUL(w2(1:4), tsmall(1:4,1:4))
344+ !
345+ END IF
346+ !
347+ ELSE IF( e(4) <= 0d0 ) THEN
348+ !
349+ de(1:4) = ej1(1:4,ib) - ei1(1:4)
350+ CALL libtetrabz_polstat3(de,w2)
351+ w1(ib,1:4) = w1(ib,1:4) + w2(1:4)
352+ !
353+ END IF
354+ !
355+ END DO ! ib = 1, nb
356+ !
357+END SUBROUTINE libtetrabz_polstat2
358+!
359+! Tetarahedra method for delta(om - ep + e)
360+!
361+SUBROUTINE libtetrabz_polstat3(de,w1)
362+ !
363+ USE libtetrabz_common, ONLY : libtetrabz_sort
364+ IMPLICIT NONE
365+ !
366+ REAL(8),INTENT(IN) :: de(4)
367+ REAL(8),INTENT(INOUT) :: w1(4)
368+ !
369+ INTEGER :: ii, indx(4)
370+ REAL(8) :: e(4), ln(4), thr, thr2
371+ !
372+ e(1:4) = de(1:4)
373+ CALL libtetrabz_sort(4,e,indx)
374+ !
375+ thr = MAXVAL(e(1:4)) * 1d-3
376+ thr2 = 1d-8
377+ !
378+ DO ii = 1, 4
379+ IF(e(ii) < thr2) THEN
380+ IF(ii == 3) THEN
381+ STOP " Nesting ! "
382+ END IF
383+ ln(ii) = 0d0
384+ e(ii) = 0d0
385+ ELSE
386+ ln(ii) = LOG(e(ii))
387+ END IF
388+ END DO
389+ !
390+ IF(ABS(e(4) - e(3)) < thr ) THEN
391+ IF(ABS(e(4) - e(2)) < thr ) THEN
392+ IF(ABS(e(4) - e(1)) < thr ) THEN
393+ !
394+ ! e(4) = e(3) = e(2) = e(1)
395+ !
396+ w1(indx(4)) = 0.25d0 / e(4)
397+ w1(indx(3)) = w1(indx(4))
398+ w1(indx(2)) = w1(indx(4))
399+ w1(indx(1)) = w1(indx(4))
400+ !
401+ ELSE
402+ !
403+ ! e(4) = e(3) = e(2)
404+ !
405+ w1(indx(4)) = libtetrabz_polstat_1211(e(4),e(1),ln(4),ln(1))
406+ w1(indx(3)) = w1(indx(4))
407+ w1(indx(2)) = w1(indx(4))
408+ w1(indx(1)) = libtetrabz_polstat_1222(e(1),e(4),ln(1),ln(4))
409+ !
410+ IF(ANY(w1(1:4) < 0d0)) THEN
411+ WRITE(*,'(100e15.5)') e(1:4)
412+ WRITE(*,'(100e15.5)') w1(indx(1:4))
413+ STOP "weighting 4=3=2"
414+ END IF
415+ !
416+ END IF
417+ ELSE IF(ABS(e(2) - e(1)) < thr) THEN
418+ !
419+ ! e(4) = e(3), e(2) = e(1)
420+ !
421+ w1(indx(4)) = libtetrabz_polstat_1221(e(4),e(2), ln(4),ln(2))
422+ w1(indx(3)) = w1(indx(4))
423+ w1(indx(2)) = libtetrabz_polstat_1221(e(2),e(4), ln(2),ln(4))
424+ w1(indx(1)) = w1(indx(2))
425+ !
426+ IF(ANY(w1(1:4) < 0d0)) THEN
427+ WRITE(*,'(100e15.5)') e(1:4)
428+ WRITE(*,'(100e15.5)') w1(indx(1:4))
429+ STOP "weighting 4=3 2=1"
430+ END IF
431+ !
432+ ELSE
433+ !
434+ ! e(4) = e(3)
435+ !
436+ w1(indx(4)) = libtetrabz_polstat_1231(e(4),e(1),e(2),ln(4),ln(1),ln(2))
437+ w1(indx(3)) = w1(indx(4))
438+ w1(indx(2)) = libtetrabz_polstat_1233(e(2),e(1),e(4),ln(2),ln(1),ln(4))
439+ w1(indx(1)) = libtetrabz_polstat_1233(e(1),e(2),e(4),ln(1),ln(2),ln(4))
440+ !
441+ IF(ANY(w1(1:4) < 0d0)) THEN
442+ WRITE(*,'(100e15.5)') e(1:4)
443+ WRITE(*,'(100e15.5)') w1(indx(1:4))
444+ STOP "weighting 4=3"
445+ END IF
446+ !
447+ END IF
448+ ELSE IF(ABS(e(3) - e(2)) < thr) THEN
449+ IF(ABS(e(3) - e(1)) < thr) THEN
450+ !
451+ ! e(3) = e(2) = e(1)
452+ !
453+ w1(indx(4)) = libtetrabz_polstat_1222(e(4),e(3), ln(4),ln(3))
454+ w1(indx(3)) = libtetrabz_polstat_1211(e(3),e(4), ln(3),ln(4))
455+ w1(indx(2)) = w1(indx(3))
456+ w1(indx(1)) = w1(indx(3))
457+ !
458+ IF(ANY(w1(1:4) < 0d0)) THEN
459+ WRITE(*,'(100e15.5)') e(1:4)
460+ WRITE(*,'(100e15.5)') w1(indx(1:4))
461+ STOP "weighting 3=2=1"
462+ END IF
463+ !
464+ ELSE
465+ !
466+ ! e(3) = e(2)
467+ !
468+ w1(indx(4)) = libtetrabz_polstat_1233(e(4),e(1),e(3),ln(4),ln(1),ln(3))
469+ w1(indx(3)) = libtetrabz_polstat_1231(e(3),e(1),e(4),ln(3),ln(1),ln(4))
470+ w1(indx(2)) = w1(indx(3))
471+ w1(indx(1)) = libtetrabz_polstat_1233(e(1),e(4),e(3),ln(1),ln(4),ln(3))
472+ !
473+ IF(ANY(w1(1:4) < 0d0)) THEN
474+ WRITE(*,'(100e15.5)') e(1:4)
475+ WRITE(*,'(100e15.5)') w1(indx(1:4))
476+ STOP "weighting 3=2"
477+ END IF
478+ !
479+ END IF
480+ ELSE IF(ABS(e(2) - e(1)) < thr) THEN
481+ !
482+ ! e(2) = e(1)
483+ !
484+ w1(indx(4)) = libtetrabz_polstat_1233(e(4),e(3),e(2),ln(4),ln(3),ln(2))
485+ w1(indx(3)) = libtetrabz_polstat_1233(e(3),e(4),e(2),ln(3),ln(4),ln(2))
486+ w1(indx(2)) = libtetrabz_polstat_1231(e(2),e(3),e(4),ln(2),ln(3),ln(4))
487+ w1(indx(1)) = w1(indx(2))
488+ !
489+ IF(ANY(w1(1:4) < 0d0)) THEN
490+ WRITE(*,'(100e15.5)') e(1:4)
491+ WRITE(*,'(100e15.5)') w1(indx(1:4))
492+ STOP "weighting 2=1"
493+ END IF
494+ !
495+ ELSE
496+ !
497+ ! Different each other.
498+ !
499+ w1(indx(4)) = libtetrabz_polstat_1234(e(4),e(1),e(2),e(3),ln(4),ln(1),ln(2),ln(3))
500+ w1(indx(3)) = libtetrabz_polstat_1234(e(3),e(1),e(2),e(4),ln(3),ln(1),ln(2),ln(4))
501+ w1(indx(2)) = libtetrabz_polstat_1234(e(2),e(1),e(3),e(4),ln(2),ln(1),ln(3),ln(4))
502+ w1(indx(1)) = libtetrabz_polstat_1234(e(1),e(2),e(3),e(4),ln(1),ln(2),ln(3),ln(4))
503+ !
504+ IF(ANY(w1(1:4) < 0d0)) THEN
505+ WRITE(*,'(100e15.5)') e(1:4)
506+ WRITE(*,'(100e15.5)') w1(indx(1:4))
507+ STOP "weighting"
508+ END IF
509+ !
510+ END IF
511+ !
512+END SUBROUTINE libtetrabz_polstat3
513+!
514+! Results of Integration (1-x-y-z)/(g0+(g1-g0)x+(g2-g0)y+(g3-g0))
515+! for 0<x<1, 0<y<1-x, 0<z<1-x-y
516+!
517+! 1, Different each other
518+!
519+FUNCTION libtetrabz_polstat_1234(g1,g2,g3,g4,lng1,lng2,lng3,lng4) RESULT(w)
520+ !
521+ IMPLICIT NONE
522+ !
523+ REAL(8),INTENT(IN) :: g1,g2,g3,g4,lng1,lng2,lng3,lng4
524+ REAL(8) :: w
525+ !
526+ REAL(8) :: w2, w3, w4
527+ !
528+ w2 = ((lng2 - lng1)/(g2 - g1)*g2 - 1d0)*g2/(g2 - g1)
529+ w3 = ((lng3 - lng1)/(g3 - g1)*g3 - 1d0)*g3/(g3 - g1)
530+ w4 = ((lng4 - lng1)/(g4 - g1)*g4 - 1d0)*g4/(g4 - g1)
531+ w2 = ((w2 - w3)*g2)/(g2 - g3)
532+ w4 = ((w4 - w3)*g4)/(g4 - g3)
533+ w = (w4 - w2)/(g4 - g2)
534+ !
535+END FUNCTION libtetrabz_polstat_1234
536+!
537+! 2, g4 = g1
538+!
539+FUNCTION libtetrabz_polstat_1231(g1,g2,g3,lng1,lng2,lng3) RESULT(w)
540+ !
541+ IMPLICIT NONE
542+ !
543+ REAL(8),INTENT(IN) :: g1,g2,g3,lng1,lng2,lng3
544+ REAL(8) :: w
545+ !
546+ REAL(8) :: w2, w3
547+ !
548+ w2 = ((lng2 - lng1)/(g2 - g1)*g2 - 1d0)*g2**2/(g2 - g1) - g1/( &
549+ & 2d0)
550+ w2 = w2/(g2 - g1)
551+ w3 = ((lng3 - lng1)/(g3 - g1)*g3 - 1d0)*g3**2/(g3 - g1) - g1/( &
552+ & 2d0)
553+ w3 = w3/(g3 - g1)
554+ w = (w3 - w2)/(g3 - g2)
555+ !
556+END FUNCTION libtetrabz_polstat_1231
557+!
558+! 3, g4 = g3
559+!
560+FUNCTION libtetrabz_polstat_1233(g1,g2,g3,lng1,lng2,lng3) RESULT(w)
561+ !
562+ IMPLICIT NONE
563+ !
564+ REAL(8),INTENT(IN) :: g1,g2,g3,lng1,lng2,lng3
565+ REAL(8) :: w
566+ !
567+ REAL(8) :: w2, w3
568+ !
569+ w2 = (lng2 - lng1)/(g2 - g1)*g2 - 1d0
570+ w2 = (g2*w2)/(g2 - g1)
571+ w3 = (lng3 - lng1)/(g3 - g1)*g3 - 1d0
572+ w3 = (g3*w3)/(g3 - g1)
573+ w2 = (w3 - w2)/(g3 - g2)
574+ w3 = (lng3 - lng1)/(g3 - g1)*g3 - 1d0
575+ w3 = 1d0 - (2d0*w3*g1)/(g3 - g1)
576+ w3 = w3/(g3 - g1)
577+ w = (g3*w3 - g2*w2)/(g3 - g2)
578+ !
579+END FUNCTION libtetrabz_polstat_1233
580+!
581+! 4, g4 = g1 and g3 = g2
582+!
583+FUNCTION libtetrabz_polstat_1221(g1,g2,lng1,lng2) RESULT(w)
584+ !
585+ IMPLICIT NONE
586+ !
587+ REAL(8),INTENT(IN) :: g1, g2, lng1, lng2
588+ REAL(8) :: w
589+ !
590+ w = 1d0 - (lng2 - lng1)/(g2 - g1)*g1
591+ w = -1d0 + (2d0*g2*w)/(g2 - g1)
592+ w = -1d0 + (3d0*g2*w)/(g2 - g1)
593+ w = w/(2d0*(g2 - g1))
594+ !
595+END FUNCTION libtetrabz_polstat_1221
596+!
597+! 5, g4 = g3 = g2
598+!
599+FUNCTION libtetrabz_polstat_1222(g1,g2,lng1,lng2) RESULT(w)
600+ !
601+ IMPLICIT NONE
602+ !
603+ REAL(8),INTENT(IN) :: g1, g2, lng1, lng2
604+ REAL(8) :: w
605+ !
606+ w = (lng2 - lng1)/(g2 - g1)*g2 - 1d0
607+ w = (2d0*g1*w)/(g2 - g1) - 1d0
608+ w = (3d0*g1*w)/(g2 - g1) + 1d0
609+ w = w/(2d0*(g2 - g1))
610+ !
611+END FUNCTION libtetrabz_polstat_1222
612+!
613+! 6, g4 = g3 = g1
614+!
615+FUNCTION libtetrabz_polstat_1211(g1,g2,lng1,lng2) RESULT(w)
616+ !
617+ IMPLICIT NONE
618+ !
619+ REAL(8),INTENT(IN) :: g1,g2,lng1,lng2
620+ REAL(8) :: w
621+ !
622+ w = -1d0 + (lng2 - lng1)/(g2 - g1)*g2
623+ w = -1d0 + (2d0*g2*w)/(g2 - g1)
624+ w = -1d0 + (3d0*g2*w)/(2d0*(g2 - g1))
625+ w = w/(3d0*(g2 - g1))
626+ !
627+END FUNCTION libtetrabz_polstat_1211
628+!
629+END MODULE libtetrabz_polstat_mod
--- a/src/lobpcg.F90
+++ b/src/lobpcg.F90
@@ -7,17 +7,17 @@ contains
77 subroutine initialize(psi)
88 !
99 use solver, only : nbnd
10- use gvec, only : wfft
10+ use gvec, only : g_wf
1111 !
12- complex(8),intent(out) :: psi(wfft%npw,nbnd)
12+ complex(8),intent(out) :: psi(g_wf%npw,nbnd)
1313 !
14- real(8) :: rpsi(wfft%npw,nbnd), ipsi(wfft%npw,nbnd)
14+ real(8) :: rpsi(g_wf%npw,nbnd), ipsi(g_wf%npw,nbnd)
1515 !
1616 call random_number(rpsi)
1717 call random_number(ipsi)
1818 !
19- psi(1:wfft%npw,1:nbnd) = cmplx(rpsi(1:wfft%npw,1:nbnd), &
20- & ipsi(1:wfft%npw,1:nbnd), 8)
19+ psi(1:g_wf%npw,1:nbnd) = cmplx(rpsi(1:g_wf%npw,1:nbnd), &
20+ & ipsi(1:g_wf%npw,1:nbnd), 8)
2121 !
2222 end subroutine initialize
2323 !
@@ -66,13 +66,13 @@ contains
6666 !
6767 end subroutine diag_ovrp
6868 !
69- subroutine lobpcg_main(linit,npw,nbnd,kvec,evec,eval)
69+ subroutine lobpcg_main(linit,npw,kvec,evec,eval)
7070 !
71- use solver, only : electron_maxstep
71+ use solver, only : electron_maxstep, nbnd
7272 use hamiltonian, only : h_psi
7373 !
7474 logical,intent(in) :: linit
75- integer,intent(in) :: npw, nbnd
75+ integer,intent(in) :: npw
7676 real(8),intent(in) :: kvec(3)
7777 real(8),intent(out) :: eval(nbnd)
7878 complex(8),intent(out) :: evec(npw,nbnd)
--- a/src/make.depend
+++ b/src/make.depend
@@ -1,10 +1,15 @@
11 atm_spec.o : atm_spec.F90
2-diag_direct.o : diag_direct.F90 gvec.o
3-gvec.o : gvec.F90 atm_spec.o
4-hamiltonian.o : hamiltonian.F90 solver.o gvec.o
5-io_vloc.o : io_vloc.F90 gvec.o atm_spec.o
6-k_point.o : k_point.F90
7-lobpcg.o : lobpcg.F90 hamiltonian.o solver.o
8-pwdft.o : pwdft.F90 io_vloc.o gvec.o stdin.o solver.o
2+constant.o : constant.F90
3+diag_direct.o : diag_direct.F90 fftw_wrapper.o io_vloc.o gvec.o solver.o
4+fftw_wrapper.o : fftw_wrapper.F90 atm_spec.o gvec.o
5+gvec.o : gvec.F90 atm_spec.o constant.o
6+hamiltonian.o : hamiltonian.F90 fftw_wrapper.o solver.o gvec.o
7+hartree.o : hartree.F90 fftw_wrapper.o io_vloc.o atm_spec.o gvec.o constant.o
8+io_vloc.o : io_vloc.F90 gvec.o atm_spec.o constant.o
9+k_point.o : k_point.F90 solver.o
10+lobpcg.o : lobpcg.F90 hamiltonian.o gvec.o solver.o
11