From ea0d11a899dd152b0cdd833d7c31fc454d617abf Mon Sep 17 00:00:00 2001 From: Panadestein Date: Tue, 8 Dec 2020 13:08:23 +0100 Subject: [PATCH] Corrected distances --- el_nuc_el.irp.f | 6 +- elec_coord.txt | 20 ++-- electrons.irp.f | 33 +++--- jast_coeffs.txt | 225 +++++++---------------------------------- jastrow | Bin 43912 -> 48224 bytes jastrow_provider.irp.f | 3 +- nuclei.irp.f | 22 ++-- orders.irp.f | 31 +++++- rescale.irp.f | 12 ++- 9 files changed, 117 insertions(+), 235 deletions(-) diff --git a/el_nuc_el.irp.f b/el_nuc_el.irp.f index 84cffd4..2f342ee 100644 --- a/el_nuc_el.irp.f +++ b/el_nuc_el.irp.f @@ -3,7 +3,7 @@ BEGIN_PROVIDER [double precision, factor_een] BEGIN_DOC ! Electron-electron nucleus contribution to Jastrow factor END_DOC - integer :: i, j, alpha, p, k, l, lmax + integer :: i, j, alpha, p, k, l, lmax, cindex double precision :: x, y, z, t, c_inv, u, a, b, a2, b2, c, t0 PROVIDE cord_vect @@ -19,6 +19,7 @@ BEGIN_PROVIDER [double precision, factor_een] b2 = b * b c = rescale_een_n(i, alpha) * rescale_een_n(j, alpha) c_inv = 1.0d0 / c + cindex = 0 do p = 2, ncord x = 1.0d0 do k = 0, p - 1 @@ -47,7 +48,8 @@ BEGIN_PROVIDER [double precision, factor_een] ! This can be used in case of a flatten cord_vect ! cidx = 1 + l + (ncord + 1) * k + (ncord + 1) * (ncord + 1) * (p - 1) + & ! (ncord + 1) * (ncord + 1) * ncord * (alpha - 1) - factor_een = factor_een + cord_vect(l, k, p, alpha) * (y + z) * t + cindex = cindex + 1 + factor_een = factor_een + cord_vect(cindex, typenuc_arr(alpha)) * (y + z) * t t = t * c_inv y = y * a2 z = z * b2 diff --git a/elec_coord.txt b/elec_coord.txt index 0d33424..50e632f 100644 --- a/elec_coord.txt +++ b/elec_coord.txt @@ -1,10 +1,10 @@ - 0.47107089936082125 0.36934601008972345 0.13813129163530469 - 0.11734479025488309 0.36584274529092520 0.92672173271006275 - 0.35754797210216693 0.24703841579308339 0.17042939824115788 - 0.31813480208419698 0.81855922566341688 0.93785308019180225 - 0.69675380000569165 0.48537277058577866 2.8246759780116260E-002 - 0.42646034508932040 5.1852406712776689E-002 0.93402091856761427 - 0.85418292218111624 0.51831660694819415 0.26738545106704503 - 0.34322893096420737 0.80132196716714288 0.33887619652274625 - 0.69754618540855695 0.39691148679374866 0.12716214781484358 - 0.57090264858892203 0.70538842967387250 0.31300897404191264 + -0.250655104764153 0.503070975550133 -0.166554344502303 + -0.587812193472177 -0.128751981129274 0.187773606533075 + 1.61335569047166 -0.615556732874863 -1.43165470979934 + -4.901239896295210E-003 -1.120440036458986E-002 1.99761909330422 + 0.766647499681200 -0.293515395797937 3.66454589201239 + -0.127732483187947 -0.138975497694196 -8.669850480215846E-002 + -0.232271834949124 -1.059321673434182E-002 -0.504862241464867 + 1.09360863531826 -2.036103063808752E-003 -2.702796910818986E-002 + -0.108090166832043 0.189161729653261 2.15398313919894 + 0.397978144318712 -0.254277292595981 2.54553335476344 diff --git a/electrons.irp.f b/electrons.irp.f index 0a7bed7..b83b836 100644 --- a/electrons.irp.f +++ b/electrons.irp.f @@ -13,14 +13,15 @@ BEGIN_PROVIDER [ double precision, elec_coord, (nelec, 3) ] ! Electron coordinates END_DOC character(len=*), parameter :: FILE_NAME = "elec_coord.txt" - integer :: fu, rc + integer :: fu, rc, i, j open(action='read', file=FILE_NAME, iostat=rc, newunit=fu) - read(fu, *) elec_coord + do i = 1, nelec + read(fu, *) elec_coord(i, :) + end do close(fu) - END_PROVIDER BEGIN_PROVIDER [ double precision, elec_dist, (nelec, nelec) ] @@ -28,15 +29,16 @@ BEGIN_PROVIDER [ double precision, elec_dist, (nelec, nelec) ] BEGIN_DOC ! e-e distance END_DOC - integer :: i,j - double precision :: x,y,z + integer :: i, j + double precision :: x, y, z + do j = 1, nelec - do i = 1, nelec - x = elec_coord(i, 1) - elec_coord(j, 1) - y = elec_coord(i, 2) - elec_coord(j, 2) - z = elec_coord(i, 3) - elec_coord(j, 3) - elec_dist(i, j) = dsqrt( x*x + y*y + z*z ) - enddo + do i = 1, nelec + x = elec_coord(i, 1) - elec_coord(j, 1) + y = elec_coord(i, 2) - elec_coord(j, 2) + z = elec_coord(i, 3) - elec_coord(j, 3) + elec_dist(i, j) = dsqrt( x*x + y*y + z*z ) + enddo enddo END_PROVIDER @@ -47,18 +49,19 @@ BEGIN_PROVIDER [double precision, factor_ee] END_DOC integer :: i, j, p double precision :: pow_ser, x + factor_ee = 0.0d0 pow_ser = 0.0d0 - do j = 1 , nelec + do j = 1, nelec do i = 1, nelec - x = rescale_ee(i, j) + x = rescale_ee(i, j) * rescale_ee(i, j) do p = 2, nbord x = x * rescale_ee(i, j) - pow_ser = pow_ser + bord_vect(p) * x + pow_ser = pow_ser + bord_vect(p + 1) * x end do factor_ee = factor_ee + bord_vect(1) * rescale_ee(i, j) & - / (1 + bord_vect(2) * rescale_ee(i, j)) + pow_ser + / (1.0d0 + bord_vect(2) * rescale_ee(i, j)) + pow_ser end do end do diff --git a/jast_coeffs.txt b/jast_coeffs.txt index 593d63b..a064ab3 100644 --- a/jast_coeffs.txt +++ b/jast_coeffs.txt @@ -1,190 +1,35 @@ - 4.7107089936082125E-004 - 1.1734479025488309E-004 - 3.5754797210216693E-004 - 3.1813480208419699E-004 - 6.9675380000569162E-004 - 4.7107089936082121E-008 - 1.1734479025488308E-008 - 3.5754797210216693E-008 - 3.1813480208419699E-008 - 6.9675380000569162E-008 - 4.7107089936082132E-006 - 1.1734479025488310E-006 - 3.5754797210216696E-006 - 3.1813480208419699E-006 - 6.9675380000569168E-006 - 4.2646034508932041E-006 - 8.5418292218111638E-006 - 3.4322893096420741E-006 - 6.9754618540855701E-006 - 5.7090264858892204E-006 - 3.6934601008972349E-006 - 3.6584274529092522E-006 - 2.4703841579308343E-006 - 8.1855922566341692E-006 - 4.8537277058577867E-006 - 5.1852406712776692E-007 - 5.1831660694819417E-006 - 8.0132196716714300E-006 - 3.9691148679374872E-006 - 7.0538842967387255E-006 - 1.3813129163530470E-006 - 9.2672173271006290E-006 - 1.7042939824115789E-006 - 9.3785308019180231E-006 - 2.8246759780116260E-007 - 9.3402091856761429E-006 - 2.6738545106704506E-006 - 3.3887619652274627E-006 - 1.2716214781484360E-006 - 3.1300897404191267E-006 - 2.5932160037276120E-006 - 8.9781735169153588E-006 - 4.4307945771984676E-006 - 3.0357326911046815E-006 - 4.7057217460270767E-006 - 9.1888685615387477E-006 - 1.3674140578661999E-006 - 2.0898016957168522E-006 - 8.3133097492563700E-006 - 8.1930838386368430E-006 - 5.0761544134895837E-006 - 9.6316690786857319E-006 - 7.3265410239880617E-006 - 8.0282246083863469E-006 - 1.7840082668643953E-006 - 8.7402085917097983E-007 - 5.0021478344850869E-006 - 6.9080963589020322E-006 - 3.6461563934505928E-006 - 2.8079367396118341E-006 - 6.4561942747179404E-006 - 2.0143276334222562E-006 - 7.2282413910517550E-006 - 4.2803612481228009E-006 - 9.8791262118408863E-006 - 1.0651141027935296E-008 - 2.1266859661958340E-006 - 4.7254708764414140E-006 - 6.7960239791661172E-006 - 2.5361974009558710E-006 - 8.3022917885344452E-006 - 3.9304102414302272E-007 - 4.6287756683245075E-006 - 4.8818348901487870E-006 - 5.4217534412207837E-006 - 9.2515623629987977E-006 - 5.6776909044188313E-008 - 8.5143283852193907E-006 - 8.4916543326313185E-006 - 2.6803664649533946E-006 - 3.8619825277037558E-007 - 4.1645240139124852E-007 - 4.7076790048846678E-006 - 3.7400607062400029E-006 - 6.5903674693304497E-007 - 7.0511416830091020E-006 - 7.1970472254075054E-006 - 8.3779145190230263E-006 - 4.4720525973186892E-006 - 5.3527028821450744E-006 - 3.2469611963900162E-006 - 2.7474685177806738E-006 - 2.8766396048376057E-006 - 3.0832590779442896E-007 - 1.1970794212078929E-006 - 9.8875410686779822E-006 - 3.8833096533945047E-006 - 6.5493531824651745E-006 - 4.8669577823889157E-006 - 3.0536887907279188E-006 - 1.5453212737038092E-006 - 4.2010386366569512E-006 - 3.4608479854625175E-006 - 5.5863755844856395E-006 - 3.1626318255858814E-006 - 8.9535689383160287E-006 - 2.7295097461499133E-006 - 6.5761403856116881E-006 - 9.9777710552222946E-006 - 5.7483205746228453E-006 - 7.2938932476699272E-006 - 1.8975608710106486E-006 - 9.0217837038189077E-006 - 9.2351027820514674E-006 - 2.6491154807706522E-006 - 1.5921008779667090E-006 - 8.6057966599747186E-006 - 3.7446440900687352E-006 - 3.4272640538904732E-006 - 2.0533004904915601E-006 - 9.2668744161565381E-006 - 5.7347639398840740E-006 - 2.1537537756204565E-006 - 4.9515420151455622E-006 - 2.5237493063925278E-006 - 8.7662988099822665E-006 - 6.5819974241574931E-007 - 9.2929324306096999E-006 - 3.4693265321361314E-006 - 4.5904275891192394E-007 - 4.3467474285524594E-006 - 5.6775174141423421E-007 - 4.2394412605675084E-006 - 6.9012994065703607E-008 - 6.2566316036101626E-006 - 3.7163201120581581E-007 - 5.4155288561946149E-006 - 1.8786819174573623E-006 - 8.4967241033663055E-006 - 2.6961279691572182E-006 - 1.7416078313976980E-006 - 2.1226880367527847E-006 - 5.6985152337693010E-006 - 4.5338244070194161E-007 - 8.1224288329971305E-006 - 1.2583441000010966E-007 - 4.0920562284569457E-006 - 7.6329426691450179E-006 - 1.7160963129884001E-006 - 6.6076648110477140E-006 - 1.0731735278990562E-006 - 6.1073303601923391E-006 - 1.8860699966918250E-006 - 7.1975926015998006E-007 - 4.3303800633873823E-006 - 2.7581618400452237E-006 - 6.0028583379676688E-006 - 7.7027018498727923E-006 - 3.6999785309263525E-006 - 7.4314767294185678E-006 - 1.4088729129277634E-006 - 6.8721711355692943E-006 - 5.6081301435941245E-006 - 1.8073198064823138E-006 - 3.2030269920557565E-006 - 4.6370278037429165E-006 - 3.2322542793190805E-006 - 8.0124486124572907E-007 - 4.1995613708513501E-006 - 3.4756871649772262E-006 - 8.0509458007326399E-006 - 6.5522790234765574E-006 - 2.5617201839219564E-007 - 9.6199052717720368E-006 - 5.1882924569606104E-006 - 4.4263082100511957E-006 - 7.7019916315718217E-006 - 7.9953275316002850E-006 - 2.4508656586831879E-007 - 1.9660391811454640E-006 - 1.1556395663871900E-007 - 7.2925513202755867E-007 - 8.6334898352408556E-006 - 9.1764148916426310E-006 - 1.9877147326789627E-006 - 6.6911730452935485E-006 - 4.8461832878537443E-006 - 9.5998598209927511E-007 - 6.5297643919457324E-006 - 3.3382674828396801E-006 +-0.00008444 +-0.00003393 +0.00009230 +-0.00006224 +-0.00007552 +0.00009380 +0.00001181 +0.00009928 +-0.00007969 +0.00001493 +0.00007319 +-0.00004341 +-0.00002337 +0.00007838 +-0.00006033 +-0.00002512 +0.00004281 +0.00004631 +-0.00008111 +-0.00001758 +0.00002855 +0.00008134 +-0.00003731 +0.00002581 +0.00007723 +-0.00007482 +-0.00004745 +-0.00006915 +-0.00008698 +-0.00001448 +-0.00005086 +0.00001145 +-0.00003374 +0.00009208 +0.00007611 diff --git a/jastrow b/jastrow index 4279f94c5ec27e1837b73f5693e89a43fd756116..51f88277cddc49658e22f1f43ef7eb789d236655 100755 GIT binary patch literal 48224 zcmeHw3w%`7)$dG_gHcE(D5U^`lI+^dV!O^LbuA#LYeX}ko^Vi)U3%{p~ICiq6>vD7l%dJ=C)~j+FW-5Pa zsQpQC{MoAV?XU=Wd^994pBW$e%8B3IAd)@cL(1_Q>T;K(9QFKnAMN&;s=nU*GEeER zp{m|7s=8{?xUr+E%d@MiY8soeoASnGj~koQP@8jsuzL^`VV{~jZI0vT-+sJsX>ev! z*5zHtMwKr8=(B{`bE!9Vpgi*MA-}3l(3z*}WB$MMOajxXaTv>cp`D1-e@2LG6}rivZhjRWmQdS zb=3;`8&RW7`FmMuRgI&vzM{ebqV^yING=J>h>a6jWhlYa7^bdkEG=JF>RUp>XcEdK zogxG#@Aadq(ADBJIEZE`;Yq$8k$OW4MmP zOTN70Bx-Q73V?ck((}neH3*+n^N*&dDf+q&RDws-b$ahFB%O1Em~Um$(Pg3QGRz8F z=z1z7{g8#;p9J+Bv(VMlD{=;RNCp@MPeh;04vCYlV?8OuI{4e+Af5AoenxjljC8h< ze)2jbM!I$0E40v=ryoy;#7I+15$k6@x?K-Cr7}HCb*WDGt zGxRN{Ipucm66xJcbE@s`6zQEzbBgVLQlvLC&8fA!L!>t_Z7|&~(oZqXDYm;=q#t9N z(@J-pNI$?dmk`|xMfx75xpe5BA<}m+%_+CLP^5p%G?x(Fqec2=raAR?XNvR+ra9$y zr-^hu(_C6~J4E_grd>=QIu63nMND(b?e0RFz6<{WbWbq%&;o~JBQ*`*1wwcroHC{} zeC>Dw;ZfH)4*Gk{KZ^aYE%5l?_q6OkG-Gy2(5RdS*9TJ$P9-Q<$9mHzU`u$U9mz56 zq#EBN$Uo*wM^oh>k4<%Qq|0?qGir2fQ4su2!JqpT^z;lr?(rY;Z2I&P&!%IE9_KdC zYsYF1t3XO?I6Czu~nEb*6TC42lsvchxG5E}-Q z8qB?n?EZt{zkG`}0X!g~U}j-1T1269*?Rti8`zal?gN+>K3f%fmM|doDff(!3N~hV zR&S-^S6$=2TKhXZ0}MP=f!sH4cR1RP`o0%P*-vbTZ%iP4 zCWN=`_T>eP8IXw1eTf<~%}|vC>6aIy&!qfb6li=Egv=@IL}!X}joU%kh!tiTjh>GNNX<&WPC`4L&iq{d?vQN?OMAGt>~VMfl&>=Rk{xDcVFQN%y}XiQ*BId^%!*zF1Wwxzj)mqtpQoh88`djvzU zdUf)cPB>4FFDe^AMsb~^L3HYXEQZ%&&UEZRJ{#CfPVIQvC} zZH#Z|F|g7#Z1Z8){LL*9=c>#Se<#N$)5sg_Y3WP`z8B5=k|%$2sD^ zuw8oo>K6~Yu6`XqFTr)4_}Pu09dI-qzUi>*a?l1&IED$J@lVBQD{7M;Zfs{PqGPwf zuWV=cT=y03IU))@GEYRI)t`hh`^Lncy&zyp3KnGzVL%whp6S69a~nz!UkJQi;H_Dm za635%d;G0g9{8MzOpiZA#$*Jo(W}`+5Cwp7Rg^VvfIwQa)&nNtC)AoXgRO^$`I(vS zW@q@kW06R}nEzu8l|XgYUvXOC0!+`5*%N#`s}o2`uwbvB;OVSpBoWg}{10Vq z2MV#f09wEdl)TMAi~NsgZ3P~F|BFaO^iPlftuZ@1BaFX74944Al;%GQL9~b*o|Y|6 zG~w@-iRaLCm;3P!FVkxCW{O3T^?2=@A~}iix-F*R0og9t?8mJpqg+ zd)gwd)*4z8Fm9rh5k?)rnBC~VPET3JZKSz8oAb9co&^@4WT_w^19Do9CHe-1&!QC} z!+{JwZExRH9WdVd5y!l%m90+`sg7x)t1Xd^T)mYhNHf{lTSa-Q)mBCCm1PWo%(k~z zJ?Zhk>j_?bmFJ5+o=qPocJBmZl%E;M7Y&p^xgnz!wI{P?aC`j5Y9vuMT>3er`i(1@ zq;jn=K46SuGGx>N2)Fn%u9K82G$mv#jiO6{q89XnjLXUA&pwqPWSj%QN+G%JWG){j zV2%tKFW(~Nc7Kk^3-My(Xci8=h*>)F99twt^PS)pn){8HfQEm2M5z2IaH`xkm5%Xe z|AJ|(G=f9#n9ZT|cvc!jL8WI!1_naL)5M|+mXL892*SXSu`-I@9!1vz6_$mJSwN|V zxw@#OqFk9h4~0sCDIQeoUVk>J!Ib%Exeb`9!T#ySQGnq;e1_EyF;F-zP8Vhz43A=I zuJSMt(&~`k{W5;RpjR+Dq(Pfz#TfLV$e=+V5VIQe0tm{WUq{i-DEd55Wzfw)V+^Vk z^}?V}pehWy0o9rYt!c3v^wHs1gC?OA4O_s{+MvZkCUk|^pGbxcF4BUz7eRb@pei&R zuzN3hM|c!4+xlAW-3sQwry(PN-@-(W)dwglU@Qd<3zuqw;0&iHf2Z#%biWyzb@(Qv zrXVFcSI8KpGeSlZP;?*;*MUHjD6r*AXXA(stYl1QDCtK;LPe&^Hj4bC{}i?SC-Oywexp^g%HGcR(@DL@iW&0qx47CK19QN*6Ioc(HpYo=k3zxN=!S8RxaKQ^ zRquFV|+S1-7=h`qgQSA7zVHjKs^{Ti%>5{;-xb< z5;I8+rhKOv4ZtyEhL)=j#*V~4A8jj%zY6Gg>O@Z9tG^qgR-#cEV4A+%9O|cGT5+CsQe}pj)@?aJ62~ zRC*pHx9#RmAV<{^GBSY)2L}q=Kr!ocJc`AMA9ReEMI?_fW&xe309YmB5->!aDRH9Ct*j_!O(oh7 zyXfVkFd9~g#*j4u>x## zTRof+b=wQEZp&>4m)&i3peeWAbZ)H6b{r5cn*a{6$oaE~9@#fD%|(v6x|t^^Tnt=6 z?73#t+YdkRR0;?PH!YWe9x~2DN_abDq(#x8QS|VQw)Md8AV!SFcc2VLTv7e$8xrEATK*NHk2T3phY!B%4eE9}OcY%`_`X@-{7 zfTm0_P`Jf{*!7ZO!)dH1nA-$B!(&yU62R_R3@tN(Rkm|IQxr(4fD0$$TxelYz*r7_ zC!!Zu1PVR{iixp0ko)vXU`Krofs}jL$9MQv1k#g96Y=6WiZdpKj6=Zajev0&7^Ex^ z=RoFuAbbFOB~&sJc20$_bbfDm7QCH)gAbfl}2)S-iWn&P8XCXY0k|}C#yaj}b zBhhv%(96U3B7}sD)v8)qnRz-|*>1+iyAvtmAK;5wc&q^#8?haXdb^Nm2rD)#ae?%w zfk_)5Gjs3LxyD-NinEheGxvIx>%qQ#KuNGVD~;RAf3PjE>CVGezoD4zl5sge37f1a zYX%PkJfuFJRR{NR7yBejKn9LnTeI>6@#?I>kj3pjIv$P?IP-F&%MJw}a$8xwZlG$E_4fQ3SS2* z``ynz7SJZ^U@x*>0(Xq8x6r}ELzS$lab+FqMb=GrSvi#TS1BXx1Qh<1Zp!>8rN9dS zFs(dmQ25|S&>Y)cHoCdpZA?X2X75m2-EcnSnEf?iJhoi7aR)HjKkfhqM~U+>;<68{ zG4oeg@`=m*Ix~NfnUC|)sYry3tMHqTyX9-AYc0Ayur1DsV|Gs*vtvx;1&%JR5B-OV zf|HyFhUxvdfAjF2ul+rL`^r;-E5|$Cf23ALAa2foW7T;$rSorU`I|F;TjQHW{@vts z=kL66&w-Cj`-=SA+%21(6Z7{rJ~Xj)hp(T%U{8}+T(m+GhD`cnNXik=0ZiEsj5P&} zhnU;xOOBq;V^D?+zhc-DGOksn=c!@z{b1%C(D7GZ9enY&x(=3ae0aIU6sJC6u7X}57gs@|v*#wDoP9Qb9~yGX!IAa1 zav_9N?5zIT2OPzQv<0UvaMf}GZrrM+tJ29h!srLEK~$q05}f7C-|TAR*M;!&Tv@n87aoOP2S+wB zJ;JC0=&{oD$-D{z)5!;Y=1OxA&BcD9k+ljZtCi+U;OV*2G<_^Q=+Au@r06h<=>MFH6#}7e+u36A$gSth3GCHs z@n|luFu|B>nnx*>3!0BnFSlSQVIBhg{yKD_f#5K=o`36#-GaG=wgIEWqyTuujtJ?cZbF5;Eq)ELzyT26iwWV=Zz9c5;D~dmG@) z9j>-LUn7;?$dp(bEd?fn<~6`rHk|wwMOCU~_k$>5#$&d}^Ei777#Gxw7GBGjg1wLa zBq(I>nEN4FI9!f?`+EM%eWGJN1un6k?}rMo1U}5P|3kFzE`c4iu6eV!f~H#w{qaVT z9J;m;WkSY(BE<)2Gf>q9eiB6&0i{M}Gu%aPHthg38k+XKLQB)`t+h98Kd5Xyu&fj& z91O1lG-du2GP|9KGi(?7@hLbqZoe*rYlVaSMmf;%$M1=L-2@!{I-ek9ECApG^fI8z zsLUue8>o=Nem#kGi6h??mqa}kb)mIiivMJ>gbC!FbEqOw1hT=tIjvKpdFz1L5P_kWxNg8AWf8q6>h=^r4s7ICSH7 zC<8ZM4MCH$jvxh*ix6CC>@_#DBx5uD4P0XF|izR2}u;gxl+6KVP30bY#{0XyC>mtb2K zyn0(&(Cx%FaEK?Ew1)zwI*)K$n2E{`ARb^vgWX$E*09R<0NxC@b*?J%0Ld%~jvP#6 z*tFoq>boLnge@apf6t$Y4+UOKE^Y}WSGwjJt+f5szvBB6w`<_!W5xOJHoo5SqLURR zUY(Wp{pzeCjSph?oM(Bji4{9m8aG2ztfon0<4tu|52B5?xf>vQ4<@n(xC+ z>-I`FO@f>DHSQ5^`XuV6$L(&i9MHB0QjT6L`_FmsQT+ashn^iMxB_az@Qe#29D1%$ z+uDKlLK1q`4vc=?hn@$?>_bh+5FJeQAh=;jRxjPC2)xMWF@Ww&;`~wdr}-!7Pf1xl zyHoCX_^J6#4xC}zVTIw#qx`G!<-~m1|5PX2XzyfePvAZFxAapv{&tK0wlAOk?OUj> z`ddGaJmUxm=#l5*%wJ_ugToh5g9XO>(o$nLAirPvRB*f2o+8@gU-rkdPz9UiULhuJ zXaErXvK+wHA^!-Hr9(a-lIW1=zQ@tRqBStMMW6go65xJxSF>~Sy;JY~Q~Euod%gfK zhfjVZ>h^EP+1)pC$otBDHk(^9d{8@ z*a`lI{k<&Xd!UMK<16}I>Gv22LPAdDJt%={KO`m6DC!0sEsYR-q@=f2@) zs26B5R5uqA3y=_t zlPV~K#mQr+(tPFcOc@p@rwVrU%AssGR%Bx&g^Q9cNE5ydXv*{onR0P*s<83khC!qS zb4Npbc&#e*2w?XBY4lV0Zb2IT&kJLW-XSt*^qT_9=p?WjeJ=>g=rvLF{wR7a&={lV z2nDes^HJ?!$}_0aG`e$<-RPRvVvT+UX&U_zplS3KklEc2eIvXNWXoj9eVXmO&v+S* zjT2CCp66=iTf9KQVSF2c^E<9bHbT3Q@h%9$O26?DP@IjBL-XhUohh8?-NVu;vmu}H zWhGLGFWD6UWf?ocBjU?%1lgEI@(AM+fSCBgia)1R>j0K2mDm7-D;6}xja10_$03JYuVV;OEWrA!xPVxxjet?(=!xhXrnfEgS9bxnersQQf zAY_a|9-kAeV9o}M=+$xsa~7rbSiy);5fe<_eo6HB*B4S>1krv8K=57{X(uW~pZF)U zLdF}K5;6{G)SvMQGyNHR1jxRNAY?oUKve=pBQU%!8XhN@T+51Lf(he7_}BkrJjq8n zR)1idiYJI4?o{;QdsMs#Uzm>6)kw*9#rF`m$61S<3^^93^h46_6nhBRxl=e~3kI49 z0S9FWc#dhY7P)d{%(T2)WN`3w2`pm=!E?>fz8`+zj)y=HzQlJYQS^~0+5nVVnmv3! z3-X}kT_}SPumDxM*PlyjFs1uSj2c)E_D?rr6XXcLxdS19nEL$TB4NV8@N|~eA>c!n zR$mOzrQ`!=m{vrP;n(oYop(ROt}`B1v2(u zvE#pB>Q(W_zxn-?4_d1Ij2rr3{A&v^{(%NkR*(ZLjCxobNZ*gfVKkVH6rw@KH2`H9 zSAs`GgEm1nen9dFV-!G4G~jw;yv!Rxpre6tJH)E>#(3C`PPOrBn1(01-dM(}|K)n) zL6oykh%KOrQNm5m*<KA!2<;BNCQI$$*5r#_F0+|GL~r6pIyaF zf5uDz%#Noqh40J&SS7w2K@%WEOo|gC*7OJw?T7>U4C@^#4j?`J6twZpDjgny557Xi z&mfe#9r%@Ak8HsqPwe+ot?)H^6;c5TO}Oh^aEJi%njA}u zn2uRPTXbD#?pU)M+A`jpbW;+ z#9@}Pv<55m*Z^|Zi?L(rDAF8DsVuF>(lE%>Ylxqq!dPRL3JQ&>B4#xv69gD@t~6#G zQp$q!qG(aRD#+)N$LS4k0Cdr`J z5P3rp4Ua$wJum=y-E+ByI2D-uehTB7zQ=&}of$Gdg}Qvgzhn`dQK>YzZUU;fmT0aY zO0I=bt}kJM;@SyR$eJU$-co7Ex)6<~xRQYiu2GU}kV=Cq80D(bTqjE|od(yVb4^)I zK!vOiwg~Ols5H2~8|9j*xt^C?2~nV{wUXtK$TZ3HP>Gy*89F=WhB`tr@f50HVtejNk`3Z^4t;+Xxs zpNF&SZ)Y(p`wDgeoaE+#jlRZxxfYOc09jHJT$WZWzZxq^6EZ?kUse+jqj7|qw2eY$ z$eMtOlm6t&iLPN=S>UUdmAE}eX;`Wwm)Nkw6J7IPWbWq_!e0xHxz-**tGWM(sRixO zNdY^@>~IIKJ1)-8iu|t*f7SohYhQ6n_aaER{a>ST*YdjyO4`9g2}ksP1qE-%G@ZX| z)e--(mM*8OmG{!g`VN2XDe~_d9(wIyQU2bW78aK!OfB16?0RCGCpc*Elwi@B&JyQa zr~$u=gGnJ=C*8xVR7DUVu7~o@=)5gBV=p|0UvJ>&UHtIS{Z(Xi@gnIP6N5#0PWPXv z7VUkhWs|cge}}8>0?cV{B;33=n$8KX1t<0JDSi_jmhAaH9O`QOJ?E#EB)YowX9X{e2r*c62`l3TF0wcz@OXD;!9QJFUOq{y=`e zn*Q(%e)F}P->;_paVGH{zQsiW;~$q3@ATCK3hqG{M}%$+R5Mdn)A%!xCP6XOc9X2F@eYu-;N?i5 zV5q3HF#y6H_^>;W>l1Z1wt}!4JDWhtWm1K<8_^;lR-@el>A!_J(4>v)5D@1gV&k5* zRH&^M#Bl4^T-JOAX>91IegWe+Xb3nF06rYAiQqwS=>Ta~urA{EZw?gfLltym@fU9u z1?M?E`u=lbx|;$5DHp&P^tzWZiVz^OK*V+3p&%A-dOs1zGuf-p24B$kMp|(0@xv2b zX)AXm6Zm$dO$!$77+mapZAx(Vj!gMYqHa%IpT2!c3@jAl?@sCBGKz1ctRE7WGd7qhI;{=(i%@ zwRS7gaKu%@JLy9J@OdR}HW!>MT$AxW_~0uzsY7795Jcr|XIyUn2TAJc@^aw3PVC2J z=6T6V55x_`C;ZAfB(E^SQA zF^3?$0UPiBas_(;V(&tHzP#%!;{VS5<>_>>_5L#U@#wMt;{I~ka~uQTMgRMk_m`W% z)cgHqWX8R}d@d>w!Cc>8UJg!7nJXwQ-u>mvnLi?ZJOQ--zj%N7iw%gmSbUxX*xUVO zbVA$xWhYDFYiG7z^lRsM_m?MwQ}x5x{c!qk&{*i==Ob9e^a%MCE<@C>S+CIsJ~?!5 z0472b-vO%o%jcjtwzp{jYI|FjF_)5~_m>Ar7XCR{y~~yNm#_LGtOyw$VCT~&?k}%J zim~|%P~z+p|IPc$uTP`A|N8yqEY!{o33tUfcmFOe!Tsf5;^iQcyjmu<#jS8d!1#bk z+;ahwaEm`gPb3mKnHwe9E%gvHo;eG7%Kqnn0m-THcu--8|9so>!G z))>I>7tdlxM@*e>%@t-G4A-)>-qHO4`TG8H4Jwod-FZfgL2V*~2DK2g8ngfeWzc0& zbYT>|2Bh`r=UY0!h4B!z-7oLREnB{&FoaOSI>_8#3OyOb%7Ko{1grDY+%_2RhbBZ()TTNWTxI5fGjM z;OL(N4~2{$DUl&#IWXZgj{fyLt_c{MSY(9p6o5JU=aVK!KTo`$l`M}E=rb;T;(g^a z@I}bD1bKW;aN<1@EMi>B6Yt@a*5kzchg2%&IIH_29{{)`B- zLdJeg!FS{u^=Ev=Ox%ALAp0Q#y#E5ADgmPf7^SvAR-919eMju6w_NXI6Y6T)$hCG^ z#z=~Id)4nPLs`FD&sX)R&lJWX*~8?u*RX1T_Q}i?qx!b*#0&!dT_5x|7?C5ejME9M zW8rYIITrRs(IZiG6VR9e&;;Yf02l%9VnknwD$P&(eu{;3?6=!Pe~%G83T4!YZbO;_ z;C?`J04x_W5jY%rjJ>C4d3r6sW{t`6F&G%o}0h5l6Xj?)FH7x~s%q zqtFpf{1T&P2=*|_|LY-Jyf~CmG-SMjA~bPhIcxPBJCRm_Hnu?zTo?qEI@coIUp zSE_o@4y&0V+To=1n0B~ZWUw6`5m<(}5@v0OYe5%%GGxq+qSa9}A80c4GksPoltpBH z5L%%fcEeX@JGd^jx5NFvi*1K*k)~_YSz1TdI>_v9fI;C@kYfT2hA;l!RKd83@O{KL zA&|R&60oDb;y}u^Xmsq#W(3mbA^ypa~F8;{P zS(qQ(R}}l-aL+0Bf9{^`_J1?S6U-g}@~o2K-_nlo^e18crf(B{=Ztwj$|4v;k`&)}kSl<@dMM#;#Dx~|KJ`ePHpw9z+9_aHxp9lIp(C2|Z z5A=DU&jWoP=<`6I2mb%{0RNq#;+Zoh<&XCIDwfray0#Smm{jczIaT#_IUqV_FR94% z)%r@SGpER$%u4*@Pqp>hBSkpfiMV8n2ORw2bB+Y@WP9uCYp<`uKapitVpX7~v8=kH z%FJ3^QM;_dSHC>R*W}~B_Ehc|pXug5`Bch(R0_&eRacac&qOJ2S#527xg)ay|MJuL z%waVkjl6JpOxlvFsIDj*NuJ?S(YR85%kghxK{EaUDrHXm+AFHbRgQn~OR*igL?T_6 zSWSa^74;3KX>>J|uBfbR5Z1+2VG#;>udgWcnTCuWUqj;X_^Ook;4iOQhFX-Ak;$}*Zhn8iW+al3EI(= z1HKyFk}~EswV(mt!i))Q2q&rFP9I_ib&r1CMLl{gK zLa{aXMIw8Fue(1I8H@Azy?~ua@BMis!asAi{uhzR4AMLB$JYVp{W20+2YBp(NaPsc z;0Gg-0eCZ%_Ye+E0X>gIBKH9fdkk^`=lwboIRd!uw~@%`B*+6S0z8J()K;gQ7uRKSe1b%$yTLd@^a2{Y24r1>HJoYN=Ap8sD zAs*%7Q`&iiZ$%neU(x|z z2lO0>LhT)U*ky$)5gr>E>w1PxZZ#NH)t9rKT-Og~50z z?{WMrMBh1+^$K|&Q{Ls2cf=~s-9Hm-UHB;b@VO$rl#h#oRpaAJSBB>aq6%MshJZ}2SW*H z?(Pq9TeiLY=T}}8|2`eRO+SV{t>=)7A$AF9N$B4~_Zg{aYZI?d3)NLr~?@ERQ+!3;G@LC-JaThjY;`uOol`YnY3b ze)0ROij|$t#52(IdX4FFgJ(shY0vDwul%~i5N1ef5JVem2(#7^u2o`k>SiQ zO-*Y_NI0CDT)c(-W+C!Ec_SJd$nOK~7-)Y1?pP@Je}`FQ3;R?%^8WPZe_x#Mg1nXZ zn)bgM=c)S;Oud;{d(aPj*mp*QHUzW@C+s_`>}@CdUM9-dq5Mc(UA_~z@Z}UScO+b@ zTCfP@JHfLKJQd`b#CTK8STK>XU?S%_%$2wF^T@fbuqIyHiShIf zw)CHE>GxE6fD|JS&48z<^f9kQ^qJba`(+xpE5(B&0`cI2lz5(0`8@aGqx134S=Nd) z&y?`!Gldxn!I6`AhN*n@dc`q_XUcf=84AyT_~52O%%h6oz*~}4F~{A?zCnr`$2sCT zT|vGV;-l%wDy{YI6uAxuUIU3o*Z*}y+5@6sJ+9JxAH^r4(poS4V|Bv*a+QzU9U`ss zWvT!9-|JO-*=ruh11vm~6ud&gN(HZ1@D>H{Qt%N4pH*<1f^R7Jk%C7R>^D%>^Bo1x zS8$wyG8gAr9THRD4tRUKa#xHxpD*O)o7C8H>ixIk#(A3j7Qq{R^KE7cMCbSR3OQbW zg+)YyIp#=tyCsSIcqy zQp(l!@~_gx<6qMYUF+GbV@9hxEK$9CwjriRkB{|?|AY(;Ail($FZw~ zoSyOII>CQxk9c*nqTA!!PlTMFacmM6UGio}-*YYJF^|yz>R!!l=+Gpi`fY zha^Gk^91y#oI2I8qZEIgl0V~INf7UPfwn3+^ORkBo%*1ncReWi3ng&8py&$~UDx{_ z=(>+7RslX0bi}Kfk}BTG0_D4E>bYyUq@N>!V*muklQRnROvPgbv_r_5DyiZfGtg*o~dvv_)N%&u4lCT1krD;oDv@dI`tX+ zuuNPi+=vpA@;{7$y8H&H$=KsZten|OK_w(C8&y*r!e*X&ev^a6#SHa|QEI`uhp zwv;2jj|2KL`4die>{b0l=Hh!2MPJvUDH49D?$ z=UWwj`*_KJh6Ij#75zy?*Xz1R6n)0!l2Lq{19XFu|BlW7yA<8?sN~n}dr-(xm07@P zIKZKvbxKdTQ9NTnr{6l2KH?iJn9H=euo+tx_`bPRD|Yj~6NW5?lK&Q1n8ZKUXMvlTFS8ir%H-fVOKR=t3Vge~IsDq0_5c zzO8*fQ}h`&ea^y0j`}y-{5DR}7ux#IbkO6)$r}@7yL6~}wX3gFax!iD-!9}}9deoE z6yLA`{gtA3a>Iy6d|M0nY%lfhQT#Jb6YLJ{hmS$0T|S#Xk1P5in_cInNPnh{kaFNI z@#KI`IpsFLc?7>=vVd!poOTswbR4J#o%5Q#-!>@udu{UXRrDfTJ3cGqTPjrO9>w2e zn=g(l`VyNT&Q6u~cBufP=Y=tX-c$Y+ioZ@Z{yxRx1zq$XrN8csz<@|>f zAigyQ`lzCJU~eqJ&La5m7{b~Rd!9SuOg?+;q@Zn z^_4DmRMk}ZK(Jqys;%Rtqy};5R#xw8@HOHuuar4(>!)HdE(cZAdwt8iW!1Gc6%7zp zUh7?4UAw5X+FOnbRSn+K#wJHu?XtS+3SUJzj_u-dcq>siFC>*N_g2*4Vw9t@zI0iI zx4d!LvgIgZNqMPd469Y&WwqsvxVpnTUW(lFURK-;OFPbsYs67- zRfBg?V^y`!v8cLSk-)7_u{EzwSBMK#-o=%*^*&hR<*$ZH^jF-ttM=YdU*)SPESx-P z`pnrg-P62zkW^i@2nXy9jiNs~q9w~}Yj8Esi%W!6HH&R!bZtFquko7dM$fz1P`oWg zmzb?&S}AWK;^tTlvSpVs^P+d=dSumzn{Z}r6-{-}v7~syrQQp2F31!*_Av z4tkjWfmXbWh#_2Kcg*5twKXsw&4gB`^G$g*w8ZX%rKNRsrD*c&qb{%(LK)G3`fWy3 zr;)RK_ zrcy?T(rR4Fjdh~v)?zgFY-RRB@$xR}N{k#4WzC+@P=U757H9{@9b%?=6;^TfW)Lp` z%`VfUQ<*iGbqYsHElpaqDqKiq_w5;;qyD#4rpxu{PjRAK^i5?CCB^VH#cJp1@c?zu zW6b%eyrI^+1U^NN*PJps%7`O^s6e9{N0Z9#9uYCNw?t72R?|?k1YMd?BEFTqC>}v@jYABtk_gVHz~syHI1f4*AU%b zL|g5AD}(TcE%fPTmpo-ly=6<5Vjilhjt;@GkYO7FX2*)U zL+cjJGVN2I?;%CZl@NXcA4TP#U_R`rUu+0ByLnF;QBSH4OF!$SM7-wbpA4`nb)w~l zmCxot^OikykKcIK@LJ*Xs{Mj(&}j901OrYkVmYlNs(0*#7mUuo;G(=-*~fGju~k!A zzqlc$4tBoSiMMAnvdMee5$#)1KZvd@hjhGV7wb{}>4u(b1l_&llGWj@;1m|O?}!-m z?@S3^wx!j6HH>5IKT((A=(O}LTNBHbpqXzPU`|+;s?8};ufR2lui zLqF;AgMst80zZlP(dG5`LK^Dt1If!r9skG#e)Dw`zs1w#^>;-Y<|t0Bzvk0$Df0Pk zpHA!Vk2KVu`A~oAsr6T49V>v)r@FlUPD#T~#i;Ao<+c5-s{91Sr@v>?P=DXZ@;uVD zmtPASeM0@jqu-w^sK4XX+4lDLBg0xgQ$Ypu$fAhPnI$7*)Hk#$J*S`*V*7Ewh2MzW2w_1d~{%39F^>}PS8{Fqt(>kORNjZ0(O3#*6?Mp@tuz@ufH36^4~1K7iD$dW{vv$vh}Kb zrgE(AU%FoH$G@Qr{io~K-=XcjjneRU0VFVg>+%|YgdA&mM~7l(9jd&3ucpguy>WtR9IR`utp_ZJ+;#rV;7>-d4!bEfX1p!%iXs~lzLvOKz8P2%ynwq4T*zw@+A N@t<^Zh literal 43912 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 diff --git a/jastrow_provider.irp.f b/jastrow_provider.irp.f index 81a8635..9652d85 100644 --- a/jastrow_provider.irp.f +++ b/jastrow_provider.irp.f @@ -3,11 +3,12 @@ BEGIN_PROVIDER [ double precision, jastrow_full ] BEGIN_DOC ! Complete jastrow factor END_DOC + integer :: i, j print *, factor_ee print *, factor_en print *, factor_een - + jastrow_full = dexp(factor_ee + factor_en + factor_een) END_PROVIDER diff --git a/nuclei.irp.f b/nuclei.irp.f index 090132a..d11f19a 100644 --- a/nuclei.irp.f +++ b/nuclei.irp.f @@ -24,11 +24,13 @@ BEGIN_PROVIDER [ double precision, nuc_coord, (nnuc, 3) ] ! Nuclei coordinates END_DOC character(len=*), parameter :: FILE_NAME = "geometry.txt" - integer :: fu, rc + integer :: fu, rc, i open(action='read', file=FILE_NAME, iostat=rc, newunit=fu) - read(fu, *) nuc_coord + do i = 1, nnuc + read(fu, *) nuc_coord(i, :) + end do close(fu) @@ -42,12 +44,12 @@ BEGIN_PROVIDER [ double precision, elnuc_dist, (nelec, nnuc) ] integer :: i, j double precision :: x, y, z do j = 1, nnuc - do i = 1, nelec - x = elec_coord(i, 1) - nuc_coord(j, 1) - y = elec_coord(i, 2) - nuc_coord(j, 2) - z = elec_coord(i, 3) - nuc_coord(j, 3) - elnuc_dist(i, j) = dsqrt( x*x + y*y + z*z ) - enddo + do i = 1, nelec + x = elec_coord(i, 1) - nuc_coord(j, 1) + y = elec_coord(i, 2) - nuc_coord(j, 2) + z = elec_coord(i, 3) - nuc_coord(j, 3) + elnuc_dist(i, j) = dsqrt( x*x + y*y + z*z ) + enddo enddo END_PROVIDER @@ -64,10 +66,10 @@ BEGIN_PROVIDER [double precision, factor_en] do j = 1 , nnuc do i = 1, nelec - x = rescale_en(i, j) + x = rescale_en(i, j) * rescale_en(i, j) do p = 2, naord x = x * rescale_en(i, j) - pow_ser = pow_ser + aord_vect(p, typenuc_arr(j)) * x + pow_ser = pow_ser + aord_vect(p + 1, typenuc_arr(j)) * x end do factor_en = factor_en + aord_vect(1, typenuc_arr(j)) * rescale_en(i, j) & / (1 + aord_vect(2, typenuc_arr(j)) * rescale_en(i, j)) + pow_ser diff --git a/orders.irp.f b/orders.irp.f index de52116..df09f13 100644 --- a/orders.irp.f +++ b/orders.irp.f @@ -21,10 +21,35 @@ BEGIN_PROVIDER [integer, ncord] END_DOC ncord = 5 END_PROVIDER + +BEGIN_PROVIDER [integer, dim_cord_vect] + implicit none + BEGIN_DOC + ! Recomputes the length of the unique C coefficients + END_DOC + integer :: k, p, l, lmax -BEGIN_PROVIDER [double precision, aord_vect, (naord, typenuc)] -&BEGIN_PROVIDER [double precision, bord_vect, (nbord)] -&BEGIN_PROVIDER [double precision, cord_vect, (0:ncord , 0:ncord , ncord , typenuc)] + dim_cord_vect = 0 + + do p = 2, ncord + do k = 0, p - 1 + if ( k /= 0 ) then + lmax = p - k + else + lmax = p - k - 2 + end if + do l = iand(p - k, 1), lmax, 2 + dim_cord_vect = dim_cord_vect + 1 + end do + end do + end do + +END_PROVIDER + + +BEGIN_PROVIDER [double precision, aord_vect, (0:naord, typenuc)] +&BEGIN_PROVIDER [double precision, bord_vect, (0:nbord)] +&BEGIN_PROVIDER [double precision, cord_vect, (dim_cord_vect, typenuc)] implicit none BEGIN_DOC ! Read Jastow coefficients from file diff --git a/rescale.irp.f b/rescale.irp.f index ee91ec0..56b0d66 100644 --- a/rescale.irp.f +++ b/rescale.irp.f @@ -11,7 +11,7 @@ BEGIN_PROVIDER [ double precision, kappa_inv ] BEGIN_DOC ! inverse of kappa END_DOC - kappa_inv = 1.d0 / kappa + kappa_inv = 1.0d0 / kappa END_PROVIDER BEGIN_PROVIDER [ double precision, rescale_ee, (nelec, nelec) ] @@ -20,9 +20,10 @@ BEGIN_PROVIDER [ double precision, rescale_ee, (nelec, nelec) ] ! R = (1 - exp(-kappa r))/kappa for electron-electron for $J_{ee}$ END_DOC integer :: i, j - do j=1,nelec - do i=1,nelec - rescale_ee(i, j) = (1.d0 - dexp(-kappa * elec_dist(i, j))) * kappa_inv + + do j = 1, nelec + do i = 1, nelec + rescale_ee(i, j) = (1.0d0 - dexp(-kappa * elec_dist(i, j))) * kappa_inv enddo enddo END_PROVIDER @@ -33,6 +34,7 @@ BEGIN_PROVIDER [ double precision, rescale_en, (nelec, nnuc) ] ! R = (1 - exp(-kappa r))/kappa for electron-nucleus for $J_{en}$ END_DOC integer :: i, j + do j = 1, nnuc do i = 1, nelec rescale_en(i, j) = (1.d0 - dexp(-kappa * elnuc_dist(i, j))) * kappa_inv @@ -46,6 +48,7 @@ BEGIN_PROVIDER [double precision, rescale_een_e, (nelec, nelec)] ! R = exp(-kappa r) for electron-electron for $J_{een}$ END_DOC integer :: i, j + do j = 1, nelec do i = 1, nelec rescale_een_e(i, j) = dexp(-kappa * elec_dist(i, j)) @@ -59,6 +62,7 @@ BEGIN_PROVIDER [double precision, rescale_een_n, (nelec, nnuc)] ! R = exp(-kappa r) for electron-electron for $J_{een}$ END_DOC integer :: i, j + do j = 1, nnuc do i = 1, nelec rescale_een_n(i, j) = dexp(-kappa * elnuc_dist(i, j))