From f783e1c4fd32d00b6874f5cf514a6a6da06727ad Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 10 Dec 2020 14:16:39 +0100 Subject: [PATCH 1/3] jast2 --- Makefile | 4 ++-- el_nuc_el.irp.f | 55 ++++++++++++++++++++++++++++++++++++++++++++---- jastrow | Bin 39776 -> 48456 bytes jastrow.irp.f | 2 ++ orders.irp.f | 28 ++++++++++++++++++++++++ rescale.irp.f | 32 ++++++++++++++++++---------- 6 files changed, 104 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 9ae4c71..c7aad79 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ -IRPF90 = irpf90 #-a -d +IRPF90 = irpf90 --codelet=factor_een_2:100000 #--codelet=factor_een:10000 FC = gfortran -FCFLAGS= -O2 -ffree-line-length-none -I . +FCFLAGS= -O2 -march=native -ffree-line-length-none -I . NINJA = ninja ARCHIVE= ar crs RANLIB = ranlib diff --git a/el_nuc_el.irp.f b/el_nuc_el.irp.f index 2f342ee..36ac9ef 100644 --- a/el_nuc_el.irp.f +++ b/el_nuc_el.irp.f @@ -11,13 +11,13 @@ BEGIN_PROVIDER [double precision, factor_een] do alpha = 1, nnuc do j = 1, nelec - b = rescale_een_n(j, alpha) + b = rescale_een_n(j, alpha, 1) do i = 1, nelec - u = rescale_een_e(i, j) - a = rescale_een_n(i, alpha) + u = rescale_een_e(i, j, 1) + a = rescale_een_n(i, alpha, 1) a2 = a * a b2 = b * b - c = rescale_een_n(i, alpha) * rescale_een_n(j, alpha) + c = rescale_een_n(i, alpha, 1) * rescale_een_n(j, alpha, 1) c_inv = 1.0d0 / c cindex = 0 do p = 2, ncord @@ -64,3 +64,50 @@ BEGIN_PROVIDER [double precision, factor_een] factor_een = 0.5d0 * factor_een END_PROVIDER + + + +BEGIN_PROVIDER [ double precision, factor_een_2 ] + implicit none + BEGIN_DOC + ! + END_DOC + integer :: i,j,a,p,k,l,lmax,m + double precision :: riam, rjam_cn, rial, rjal, rijk + double precision :: cn + + factor_een_2 = 0.0d0 + + do p=2,ncord + do k=0,p-1 + if (k /= 0) then + lmax = p-k + else + lmax = p-k-2 + endif + + do l=0,lmax + if ( iand(p-k-l,1) == 1) cycle + m = (p-k-l)/2 + + do a=1, nnuc + cn = cord_vect_lkp(l,k,p,typenuc_arr(a)) + do j=1, nelec + rjal = rescale_een_n(j,a,l) + rjam_cn = rescale_een_n(j,a,m) * cn + do i=1, j-1 + rial = rescale_een_n(i,a,l) + riam = rescale_een_n(i,a,m) + rijk = rescale_een_e(i,j,k) + factor_een_2 = factor_een_2 + & + rijk * (rial+rjal) * riam * rjam_cn + enddo + enddo + enddo + + enddo + enddo + enddo + +END_PROVIDER + diff --git a/jastrow b/jastrow index c47738f5d5251c5336a3850fa122f97817f6fff3..d641b47ccb458b96f41a79b55d24807f0dba3f33 100755 GIT binary patch literal 48456 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 diff --git a/jastrow.irp.f b/jastrow.irp.f index fd34fc7..02d3e71 100644 --- a/jastrow.irp.f +++ b/jastrow.irp.f @@ -2,5 +2,7 @@ program jastrow implicit none print *, 'The total Jastrow factor' print *, jastrow_full + print *, factor_een + print *, factor_een_2 end program diff --git a/orders.irp.f b/orders.irp.f index 187f1cb..19e11f0 100644 --- a/orders.irp.f +++ b/orders.irp.f @@ -69,3 +69,31 @@ BEGIN_PROVIDER [double precision, aord_vect, (naord + 1, typenuc)] close(fu) END_PROVIDER + +BEGIN_PROVIDER [ double precision, cord_vect_lkp, (0:ncord-1, 0:ncord-1, 2:ncord, typenuc) ] + implicit none + BEGIN_DOC + ! + END_DOC + integer :: alpha, l,k,p,lmax,cindex + + cord_vect_lkp = 0.d0 + cindex = 0 + do alpha=1,typenuc + do p = 2, ncord + do k = p-1, 0, -1 + if ( k /= 0 ) then + lmax = p - k + else + lmax = p - k - 2 + end if + do l = lmax, 0, -1 + if (iand(p-k-l,1) == 1) cycle + cindex = cindex + 1 + cord_vect_lkp(l,k,p,alpha) = cord_vect(cindex, alpha) + end do + end do + end do + end do + +END_PROVIDER diff --git a/rescale.irp.f b/rescale.irp.f index 56b0d66..5fa9c65 100644 --- a/rescale.irp.f +++ b/rescale.irp.f @@ -42,30 +42,40 @@ BEGIN_PROVIDER [ double precision, rescale_en, (nelec, nnuc) ] enddo END_PROVIDER -BEGIN_PROVIDER [double precision, rescale_een_e, (nelec, nelec)] +BEGIN_PROVIDER [double precision, rescale_een_e, (nelec, nelec, 0:ncord)] implicit none BEGIN_DOC ! R = exp(-kappa r) for electron-electron for $J_{een}$ END_DOC - integer :: i, j + integer :: i, j, l + double precision :: kappa_l - do j = 1, nelec - do i = 1, nelec - rescale_een_e(i, j) = dexp(-kappa * elec_dist(i, j)) - enddo + do l=0,ncord + kappa_l = -dble(l) * kappa + do j = 1, nelec + do i = 1, nelec + rescale_een_e(i, j, l) = kappa_l * elec_dist(i, j) + enddo + enddo enddo + rescale_een_e = dexp(rescale_een_e) END_PROVIDER -BEGIN_PROVIDER [double precision, rescale_een_n, (nelec, nnuc)] +BEGIN_PROVIDER [double precision, rescale_een_n, (nelec, nnuc, 0:ncord)] implicit none BEGIN_DOC ! R = exp(-kappa r) for electron-electron for $J_{een}$ END_DOC - integer :: i, j + integer :: i, j, l + double precision :: kappa_l - do j = 1, nnuc - do i = 1, nelec - rescale_een_n(i, j) = dexp(-kappa * elnuc_dist(i, j)) + do l=0,ncord + kappa_l = - dble(l) * kappa + do j = 1, nnuc + do i = 1, nelec + rescale_een_n(i, j, l) = kappa_l * elnuc_dist(i, j) + enddo enddo enddo + rescale_een_n = dexp(rescale_een_n) END_PROVIDER From 9a07a3d9e8de108a7d0fe68c0e25a7456e6ad238 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 10 Dec 2020 17:21:38 +0100 Subject: [PATCH 2/3] WIP: Derivatives --- Makefile | 2 +- el_nuc_el.irp.f | 154 +++++++++++++++++++++++++----------------------- jastrow | Bin 48456 -> 52648 bytes jastrow.irp.f | 1 - rescale.irp.f | 41 ++++++++++++- 5 files changed, 122 insertions(+), 76 deletions(-) diff --git a/Makefile b/Makefile index c7aad79..6cec241 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -IRPF90 = irpf90 --codelet=factor_een_2:100000 #--codelet=factor_een:10000 +IRPF90 = irpf90 --codelet=factor_een:100000 FC = gfortran FCFLAGS= -O2 -march=native -ffree-line-length-none -I . NINJA = ninja diff --git a/el_nuc_el.irp.f b/el_nuc_el.irp.f index 36ac9ef..038c4fc 100644 --- a/el_nuc_el.irp.f +++ b/el_nuc_el.irp.f @@ -1,73 +1,4 @@ -BEGIN_PROVIDER [double precision, factor_een] - implicit none - BEGIN_DOC - ! Electron-electron nucleus contribution to Jastrow factor - END_DOC - 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 - factor_een = 0.0d0 - - do alpha = 1, nnuc - do j = 1, nelec - b = rescale_een_n(j, alpha, 1) - do i = 1, nelec - u = rescale_een_e(i, j, 1) - a = rescale_een_n(i, alpha, 1) - a2 = a * a - b2 = b * b - c = rescale_een_n(i, alpha, 1) * rescale_een_n(j, alpha, 1) - c_inv = 1.0d0 / c - cindex = 0 - do p = 2, ncord - x = 1.0d0 - do k = 0, p - 1 - if ( k /= 0 ) then - lmax = p - k - else - lmax = p - k - 2 - end if - t = x - do l = 1, rshift(p - k, 1) - t = t * c - end do - ! We have suppressed this from the following loop: - ! if ( iand(p - k - l, 1) == 0 ) then - ! - ! Start from l=0 when p-k is even - ! Start from l=1 when p-k is odd - if (iand(p - k, 1) == 0) then - y = 1.0d0 - z = 1.0d0 - else - y = a - z = b - endif - do l = iand(p - k, 1), lmax, 2 - ! 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) - 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 - end do - x = x * u - end do - end do - end do - end do - end do - - factor_een = 0.5d0 * factor_een - -END_PROVIDER - - - -BEGIN_PROVIDER [ double precision, factor_een_2 ] +BEGIN_PROVIDER [ double precision, factor_een ] implicit none BEGIN_DOC ! @@ -76,7 +7,7 @@ BEGIN_PROVIDER [ double precision, factor_een_2 ] double precision :: riam, rjam_cn, rial, rjal, rijk double precision :: cn - factor_een_2 = 0.0d0 + factor_een = 0.0d0 do p=2,ncord do k=0,p-1 @@ -87,7 +18,9 @@ BEGIN_PROVIDER [ double precision, factor_een_2 ] endif do l=0,lmax - if ( iand(p-k-l,1) == 1) cycle + if ( iand(p-k-l,1) == 1) then + cycle + endif m = (p-k-l)/2 do a=1, nnuc @@ -99,7 +32,7 @@ BEGIN_PROVIDER [ double precision, factor_een_2 ] rial = rescale_een_n(i,a,l) riam = rescale_een_n(i,a,m) rijk = rescale_een_e(i,j,k) - factor_een_2 = factor_een_2 + & + factor_een = factor_een + & rijk * (rial+rjal) * riam * rjam_cn enddo enddo @@ -111,3 +44,78 @@ BEGIN_PROVIDER [ double precision, factor_een_2 ] END_PROVIDER +BEGIN_PROVIDER [ double precision, factor_een_deriv_e, (4,nelec) ] + implicit none + BEGIN_DOC + ! dimensions 1-3 : dx,dy,dz + ! + ! Rdimension 4 : d2x + d2y + d2z + END_DOC + integer :: i,j,a,p,k,l,lmax,m + double precision :: riam, rjam_cn, rial, rjal, rijk + double precision, dimension(4) :: driam, drjam_cn, drial, drjal, drijk + double precision :: cn, v1, v2, l1, l2, d1, d2 + + factor_een_deriv_e = 0.0d0 + + do p=2,ncord + do k=0,p-1 + if (k /= 0) then + lmax = p-k + else + lmax = p-k-2 + endif + + do l=0,lmax + if ( iand(p-k-l,1) == 1) then + cycle + endif + m = (p-k-l)/2 + + do a=1, nnuc + cn = cord_vect_lkp(l,k,p,typenuc_arr(a)) + do j=1, nelec + rjal = rescale_een_n(j,a,l) + rjam_cn = rescale_een_n(j,a,m) * cn + do ii=1,4 + drjal(ii) = rescale_een_n_deriv_e(ii,j,a,l) + drjam_cn(ii) = rescale_een_n_deriv_e(ii,j,a,m) * cn + enddo + factor_een_deriv_e(:,j) = 0.d0 + do i=1, nelec + rial = rescale_een_n(i,a,l) + riam = rescale_een_n(i,a,m) + rijk = rescale_een_e(i,j,k) + do ii=1,4 + drijk(ii) = rescale_een_e_deriv_e(ii,i,j,k) + enddo + l1 = 0.d0 + l2 = 0.d0 + x(1:3) = 0.d0 + x(4) = 2.d0 + do ii=1,4 + v1 = rijk * (rial+rjal) + v2 = rjam_cn * riam + + d1 = drijk(ii) * (rial+rjal) + rijk * (rial+drjal(ii)) + d2 = drjam_cn(ii) * riam + + l1 = l1 + drijk(ii) * (rial+drjal(ii)) + l2 = l2 + drjam_cn(ii) * riam + + factor_een_deriv_e(ii,j) = factor_een_deriv_e(ii,j) + & + v1 * d2 + d1 * v2 + x(ii) * (l1 + l2) + enddo + factor_een_deriv_e(ii,j) = factor_een_deriv_e(ii,j) + & + v1 * d2 + d1 * v2 + enddo + enddo + enddo + + enddo + enddo + enddo + factor_een_deriv_e = 0.5d0 * factor_een_deriv_e + +END_PROVIDER + diff --git a/jastrow b/jastrow index d641b47ccb458b96f41a79b55d24807f0dba3f33..a4f3b789194144b97c2c809504dd50c016e35f53 100755 GIT binary patch literal 52648 zcmeHw33OCN_IG!Zr%^~cAknx)G8!BZf(Z~wl#FRepaUI}h{PR5?eF)iSM~aJr{l~y|Nr^U_npJ@ zkbCRaty{Nl-MY2BdhPOJ=h!%_)uNtw%kL~qE$X9F3T4K;?GgbfwB%WO;cvR-49jsy zCkUFJU#J7*>d(BmNSG+;@qjG1LFPxpGbEpaN<%`H>*)!epyw!PNzv0RrxBIuXgIB0 z=TlJS8}&8n`Iaa+PufXAb2-{3<8HlN#>0_tvTVenUOHWsqd8bETb9d~IF#d+svoj+n|L*39}qTT(V2z_eY#A%juIxh&GQ}Oi; zf#OFV`)J6h=fAc08BD#Y1Lcv25BX(v0;VF(e7#*OfLSc0@!4JV%0eBB{dYRZePd*K zdZMGESp4_)z)#)`{EL3#dywPnfqq{P^xr^mMznCG|Iq_~K@a>-f*z|~`+K1Kd!X;= zfqrri`drily{QNKkRIrhd!YXT^s}H-w+DVXx4N$0U0+^HZ_Ks0Tyq!J)w&wo<@Iit z%i=1TTI#B-s;`Rt6!gT&r z&d9B(tF0(^qq6$>wR27M1~>UDyHi}1s6CQgx2UQ%k|Jt}<}?(km{(q3UV*lB(+0Ix z)YLUZ$ggs{>K3`@*VQ(}sKZPGV|o2tGnY|gd3}BP5(_N7kS0FgQnh#yQx$rOhN-Em zuq@Pp%T=+s+*Lilw!CKkwNS-HPT3s`%jefxs_Uz&EaRLdqsO?04IPFaGw^)NxUrKa zPn~R^=*mM!$Kk(t5gFnTV;DjBk5u(vg1|_%;=d*E5yqGd{PUbPA2U&cWfN$8n7_c3 z@4fkUgqe8DHd8)P6({HY@Q34B*Q+vL%^xb>m&rjkP|gpEo+9aq8%4DiMOW#)kLq;B zI58jUNy~l{U6o;0&_tJ0t0>WBqN^#48AnWX6+20vA?auoED?U@nCL1NGk2be&N!`} zMJ77!uAapvx_Mq|G|^eNdRCd}Cn_RftBKy*L|<#7CzIfv;_6{^)4>JkjCP zc4F`0XlZlDg?2fbwk2*A?4jJVKn@Ma#9v$gLSRhKV_xU}5S{_2G0iExbC*c>WtvlY zXPZc$$TX+$&W$1+$26zz&h;Yw<2^`oDbm?0(qA#nDZH~$q(5VtQ+MYgk^YcrE>Sw? zi1a&5b7|69CenMD=9J!9DAF%5%_T}_wn%Sbnp1mchDdK_np1jbiby}sG^g@Ti%9>C zX&cjBzko1+<*Qqf77uL~{43}Ve{NT;#qvBg4Xy+s$WxV^w&3{72!us#{VlY2&Y=?T z?#mtC4;@Vhy2_?H{o0c*nBJdskpKl7Sa0fR)bmZN!(Xr)26One7YOo?xKq(pLy^a> zIw7>**1wU8Y?ToF_X+;oI|v5-;_!Ak+P}ES(S9V}VcqW7{foOF1bmC*1qw(E?XR}= zFAA5ZevJiHC~NTyp5|yO*aJ?B!~3zjx5HQPCKACPV1{5NRNSr=fX{jv>Ne_U`Oa&Q zDfO{Woi@d>;&UEX_)^aUd&?eM^IH(<)7Gs=s?FB?Z@mJie?Y@RRP}Tt((HeS_psAj znVIPDo{TS?IScM3+IK!Rz%x!)2it zbr@08X)N@Wo}tPegvo=y{G``(JM&g-W2ey6~JP6i%k6?S*{l2))YecJT`ixewA9ASF7iA@A(WpB$(@r3hGt(>pb@i&=ZY z9Y+m(saq+;r#&G+l80q!u!LRyDItgT1r|0ygIQ+A3hp#1M+WlifPG7-jp~>vb zwI%-9TT-0<5kFh-z!8tc0Xk4$_C$ZCAUgf?;+)>DoIR!9PfEQ%m3RX_usM9QGxtLL zCI?b!4wT$Q39NBFN&6kvy-ef*-vs!~g(zfez6)Ukj~ zewn_S%#4zXIERltZ+o-|T?^edbR12|4740tc5$iqZHI3v8tY$@STg8s;qTk-n>DlF zt6=FbcE+t8AI(T;?>IU$VGI9kcZAxuefYyuFO=kWcn&z40*OxRk0tp>JUcd{S(cKf zEeWO8E~oV)r}ax{=d^z3yl`sfT3d?;Bg+AO3OhR)1kkV)+5~o<4etWBE9A`FWNWz@ zxgpUv!hhf?XxR}MKGW9XKwk46_jw&(&rG^|zQxjUv`^Bvcc2rRwmCS;?U&gvx4X8Y zz^0~P96PL&(THQ>;A{NL0^3kvYjt>#bABlDr4Cqcu@txLanC98B{4o1x9oJ!E%Ip( zfV~)TxYk$j_?_tYklW+S9f)Dk@|}CBFX`&LfbFz3H=*&q)GnqFK5t}7`*0mn2%k42 zC1)4JafF&BP7bc53-oF{>p-f$m?UkaUYq9+Af1E|>nkV_m3n+2OvX{WFZUtV@tvm` zgx$FyBz;Yeowk2nZ`NJd2sW8>L{jl_(Fh*_!_>(n)JX17MK9i?sF&l!N(f z&5tAPD;OtQV{3kjsoZv^zOyykkwQG!vlgHteI!IWT0(je1ct9c&e`J_tbNFQL`9op zOVg1A&#A~eOwwR&e>f+9tGi!t#`kcsfOZ|od|KXJ{u`e*9Vu$^4^S{Quz9-EAgrQa z9Nzbzii-zq|5QWSnX)XrVwl)8jhSHAw5y^m-4=S2N z^n9S0X^5U4re-VDo1Oy{nJ0(&UV{+y3zgpwl(nLUmQr?D!w>8*KgdFUR14@=IRh|- z{R1A)c>?J^lSChVh$8Hx77hlGH=~tszmHHYyxi6@O(%bSD#@BtcR^drM4enSoE^6Y zoq|4T8K)E9!U;&{g}|#@A@IQxq~6Dj%X;A)Yi>dg?77)w&l8{oAGGYd+m$_2j{*(e z@vX4uYrtvGmW?d!ugNTPc+-_@`XtzmRy zm|-DMY2|By(#l+2%)kUNM+{a>9c95=pqA60)EiaXH(~r>ZIZP7R*PlxX@dWY=k0*O zyT8H8g_zU(1(!HKBTbmf(n{zbkl(one^j$ZqFOX-X=Ti2eS4eHtgnE|X1x`rejY~O z4l~>iR5t5RKqH#9ij|9IJp%>NtXx!WG;6~x(aqZab!4;7k!r(^f@Lv+M7r=TyVVZAjUaRIUA z5%m2O#D&w4#8`igqs5o{I)Q)4%Pi@LPtus_AN8u;KmHd?T9vyJ@ptL26uW<>)#;zT zE6pC-iB*IzcQ3lG9X|}*XBTr_NmF}VD?<}DQsn9Ps=et) z>$2;d-o0Sjf`2bpw_+CD;%I71h3PIh6m(btTB$R+PW}I&E9~teI^c2WMiM z+_~;8M+kH0<$F2~&Ug*~-Y&`C>G_KtG0b|{p1;>~%eMB4nR{nlhIuL73H`WEmx7i) zbMT)cF0s~wcY`DATynJfw7!5XZJvGsEfE+uQUUEp^dJ>y{%64T{QbbVaSLdBO!;q$ zeA}Amkppw*-T^5NU)C%E3aAI{l4}X=a9DRa{Zrpcbo$ay2G!|HdJ9Dz{-uEw^v70# z_da<_srBtr?=FXbMxtX-XY021-=}2r&yX(u&D=5G-|t1Icb8h-KE>uyb8o$I*-Nug_?h`iN&s3Gz`NR~)y` zx@_y#>Q?)7x!!g7vs%mPF)Kb_jEIaSW9AtSZ*!(_eZTexMbbnOq`8=yhlsEUe!@j1CSMQ(&6)5&3wNKyj{tIb0&PVZK3qo5$*?zCgCBN< zLOyLC27eJ2K4}PTYu*6^?Ap{8$2D5w(=6lk7wiR()9=pAK>t$@RW(8ntDe&cSOj8a z@Da$|WR2IW$paa)Qc>n8;l7v%-+~}VyheGfUNyP@JD4$8drIbu1w=g73E5OBpiKjv57r6gK5YzA zSn%aSSE?k}2;u!%OUQF0s%S+OnCouZjeHFrXbprcg6NhQ7}5kD8?x z8u6&S3#@#A?gL7rW1;aOP=|M4aM>4(pxVEf{QeEG+;Fqi0c{sZq6%;NZsrEGClw{2 zy%PAjo6&!~NwzAWeHuo83Zp*& z70n4~&jDovI3LkH%PyvdnB)qBZ$TqWaz{{!eN%su{YmkDOmck%{}<2a00uw!9FrU| zId|JdI}QhDva}L98Tp+r;18OUhZPK= z!|?Tp<~T&9Y)+!yoI&R1j94AroW4=bsYjZ#?~Q;)bFfsS-E}i<)H&3g-836U86`_i z1?>C+bGB)(#PwZ3yAg)utfH@*1KRaS(`odyF`gY5JecgiK`v+a=B*;FO+^|5yhV_) z+8YJ?1hn5t838RDm@pYf_`N8D@!JZT7~#u-=p(!jF@1!mgJUI=gSBg9zR0jOZ-Z9B z2?t?@fR=(RK3tzZ1c>!1w!}xD6KhoOKF20_ET8`1{Ry_^1GEz;d!^c&`vp+?cYeTj zQ#BQ9|1@3?ytbkv!Ph?%gWzE@aaT}8j)1lkX*o<^U{*kTR8a!jHidfAJDBNBe?)++ zI)Z?<6o8fcQqKp*ZB{vCAu!RlGB9zg)UuaL=8E*6d~Dw`96pG)>0u_SZ5fcn2jY{Y zc*L8&KxNz3T*f-QSqCAE&YlgmaB4yASQg*}0Qme_mon9D2)~7LqQz)m7=1g8{spLV z^gN8)LWqMP9M=T+}sB^M(OkC0R{(kV%!pw*V32elEL7I8Z>_0d799>py|&KBH|0sz=m72X+LZ=dtXLa-2JZ!g1W-6x*KwM0YNQ z8oGS+L^-o$PqYyCrr)lEVPpPDE}%JF-ghX+HvkfbHh+)F||~<8{D*z;rB~ zrDtJI9xLz32sZo=;nZLa_Kn(s+%~gy#?UVG8jjEf57fuY$ny zf1Ho&y|)8|_fxod$`Qpq?ZNfP4`^p1DcqLtxLR@Ol!^ivRwo1S;rY{=Dd4bAN92DG zUV%-_Z2c1=HWEk8);5g36^Z^ycvs`ZvGMnNoW9%xEQ)>P6VupM?9$$M z`p-)}E4?fKOPo=C2g_wl&Ag zE=c_iOouL*3}C+m8+T6&cR6+#IO`W$)j#TFSl>4w2L&c%T;%uk2Ym&d{+r(0TO$Yj5H2UDk1pkn8Ci>l>M704ui{b|D!*)>Ld+rwF z6DM8EX6l>J71)IC7n{(az6tHp_x1nt{by-@ko!;L$l3IM$-E!!n9}opbQ|)b_oF{! zu}KHtry{V1mg?&lf-_5J9Xkohb7 z(Qy!j;YN9CKRQI<=Kbi2r2LQeqenjAbn|I28}Qfmqo^pnA3cf8zp@|Y8Vhj+vlo2! ze1PzNv=J$NT+{>OxDW@{az8p6G_hLE0iv%~rw|M8NAs8*tPPU+#(s4Dey9}CI%sD+ z`hN6Yq~w0owCwA)AMGNWu^+us6f*Xs(~%TvMl5Aw?nmc%+-Fxz+pP zea@UnTt7GQ3Be9VKfhDJmq`Se*+ZDn-8xS?1uqZTl9XEhK}Bk zJ`G+zsAYpJhW+TnK&fPjuH^MhM(#(iAxW;J?iAeVcL88VKdp>qyDg!vM6PI6K${*$ zYr^P!prSbeZ75JSz*zXyQA4qs8V8NAn%XxB5mK#d|FJB3HFfd7BUe+8AU5w|nM$BkCg^%k497gAA$Ailv_Mn=l6-)k zD>_d`cMnjMuiz6nCsyKD1hiX0pfUk%B`|8ZN$5rkx3LnR z_9Z&$zXFy0^#oAiJbbR(AUkjsipcvcYzR=CQEv^^3 z;`|5D5L$o|oj>D`I*$(yM)p%t7C5>T9C*;iAW+=`Nr!+2KYv?TpaVE^KLd~!IH*&0 zDM~~ACz0sST>$yP3uLLufSpCq)ihwLTXEinw$Qbs&bxS6jPtI9 z->dU3*ah!X_lqbpj&%m0jEHEB zpkt_%gDe&pWz5$H8&0}^gRIL*8LUk*WoU0g16wnJKvzvm5%IMWgOFGzEaKbfVK(8nRPbGwk7^(<;sO<70Wn|=oX znlekI*pxM6yEg@&7pbO945JlcG#h9{Q#Ke)*$Ji4ly@N3Xi93gro8rgWK)LArc7XI z)szQ?P2a%WkrQ6M@ck>o&P9-fck>$n#39UdAUIx`!8DHn<`Ur%0Na6g z&RG)yr*KQyhSD>UAdX9I+BAvp0$xr$e~ay=Uua-ox}9mC6J_9``w^ht!Aj*PD8?9w zQvh5g+u<0r3x_iy5+M>YIRO^}5=C$1n`#Vx%q-ksZ3>MylY%%Hs` z{_$4!_mN5dQQJ5?O9pk~wq}WU8!Ny~J2!6k;R;??an8Gre0S!K<)axlaH{iu&UeoI zL(2z>eN|3dY5uO|eOhDO=fwR+Cr)Vgm4voBtzVbsf8^QXz@0Z-Lv-`bp_`R3iCb?$ z&y7wWbn&I$%D&lSTQeBF0NXsk7W&eM%7*U6F8fm8CEj+HZG#Pt!i{i&alAiakubD> zv=u%8qOc3z-!q?v#C1#+SaI8QB~0kV zJ8j;4jIYUTvx}vk9xsb=Vm84)>T|WeDDu8jG-!)=7ktsyjMW?(v3LaDfv@$~i+Jn( zYS5OZ53Qblp>{{bZm0DH9@r%8!68*qAkn*}{j>g#&<a&?@6(dSF*Pu870cxL?2S&x^jzSJMwY#nnC1JiRq07gN$zrtKm%}yitX_?ED zp5E+$JlslHI2u+*v`-?`!1aeER2lx=b&S z_}H6{T9++{mlo&jDbCrM6M7ESSqy*kc6r;2{9~<6A6WCZy9c#;w+wn=_hTEUY^QB&jwCGyytmc#2H9-(kDsA4&62O^il{smTCQ09u*N#bCwAe@)4IZ%(S z`9v5XnDsJT0{5fP6h2rHulfqmr)7eNE8+u4IV<)%D-JomA7CPR*)CSaPVYe!`-dzB zbUje6KdOtoNq+|J`2IDVTD=Sk?BO16ETNY>)|Gt!vtu)?%%?xsdH3L||8CnKx7eO+ zvpu=Ty35w`%JGoUf}>RwckuPH=OqpomnD#x=qH8{3M#N6#8&U>qADc3?jkU&3<+c|^zg&xKKH;6pYVfdM z{)?T;G+7u;9Sv0UjyGu>P_;o3# ztmB-WkvsjBNOLZ@2at<5aRp$55Gr^2+jI`GeZk~467qv(veZ1l&hw!w-VX(PVf`G? z?t`0&=0==WG5_yBg1HVCZP8^#aPPL@Q@kou3JT{F_SZpNn+a`oRJ{9~=rsSReb9tP zJR4FangUe!$lO$*!CQ9-Yad!D82hT~z3C?bMbRV35DEpfmw`%azXQ~;wj0%|bCskE zXwV+cRW?!^VeLmyE3ADYxD9JxIWOAUn*x#6P7}Hw4ra5ovi4&T+UYm;&9uV?*u{&;5L#Y zpbbJ=ciZ%HnT7LRMG0t`3iW0UU?%RH17P63S|eEB1E6&~-$$Rz`H_)mI1G*bmu%Mn zn%y`viFpq2;sVhiR=)|T-tVc;0*!qRaKm=dm_{&&ada(Ahc_i{O!Mdvn%+g+n|?O{ z6uw-fxOwiE$6Y|=J^4!HO5eFSj8=!y;XtXB(U~vO{K7+4Llt<)X%K68h@(2%LvHVg z^pNk6=6FnIY2_g=(UjYTyRs(vNDX`8Aj&; zjcCdiqbcoB3Qd^=u|`v_tBP*Qi`ycbGFUcc3`?t~Y!yOfXqm5bY(A4je{M452fu|B z8XyUIo$+uVePDXC{tW%l%6|%wbq@fV?qbS6V8;1OMGjiHOciovnDbm>%6clYzJXJ<9I~yMfaFsNdhi_~`EWj*LupUZLU@)tygMB0 zxF*3m3K_Ikk$*v`wBk^S-(xNDevj`Te{td-PBD&AyuXy%9{q}+ZGQh=sr5jq_ec)8qm<{tqGYiT|V%1m!Ae!++t_xXfDg#zP5(-y2KYpZ z@#lkVWQzlrryJ4O$+4!{UcEH3;UM5;JaJ$p;OoBl;Hq0 z7~{$e9H-1V19CXOmIa5P4G31bISf{3u_Axcj>{3OQU(7P&to>h`{U;jtcb}gueT%3 zVD$)~Av7IAJB#p#>rf2j6Hu#vLI`8|`zs(<4)S(e%LuMme43TY4c5LgWolXFDBf}s z7&=#Q@$Sufm)X*gHvoqr*OKH-e^8_bj20;xa_xD@?q)m}Evr!8hj;M@|QRi!$?htJm8e=C6Ejp8}*28aKQ4)F3a)o@U8U202_ zFZU-GP{>TQ`>*2F&h+VUdR$^GguIR)m!)RFu{-uoKVT1al;AV{oI}O_ORSEj?Qy&Z z_wKnb<3s8f@m=%_#Vy}08_O@j6DRn4fAl;}ZtO?J5d<#qFH6(o3Ci$O@IDFcbg29; z&ljP9!}^ZX+Fq3ZmS;DQW`8QmKjgU=4cNd=^QAsT05u1KbT@Fk5V%^BvO&6EkO~%% z#MAymY^Sf__kuiNw%}ZflTq8FKeEa}IIRAGpR^C8%tD9vm+}6Dk5R^g)0uCCIVSiM z4ia(DsM!wdmrnm8s{<#*DJA^94X6I4QyR-S5%_WQ(q(lHIw;RUmLePF95~$e^G5=f zLPS2QTRw{8syOGn()^#7|3;m^ZNn|Ygl~cm;6MjxpM-BpLfcF7|Lyq{U;R7dd8B$F zj&eOa95|{@V~EP*3BRZzjVJtt9zR~-%rJ#@)9YsRlTWLM1#td|!kTL+PZ}=+fqlez z3aI&OcGLH8Q}E_#F|K7kUCvo#CY^|r94PBR!8Mi91R&*sbdMkvjFcpFOYQ>Tu;Fal zYYu<2VIG+a@n*q}9K6dJ27tqiRpLtrU+x4XeOXIp=|Tq<`R7?7B^^{K{wB%3)SC#b z-%}9ca%E;3ekVitwbS4GTXqNhy8%3Yk8tNzC`><|k;MutGY5*^qDMQtM{%um3tqt# z`HO{1mv~g4yzSdT0PhwagJ{DaGs_%DZJ;YS*d z@UAZm$dBy&2``JLB7t(44B)@}4R_7MZ&g@J27T+q_kJnRlj1WBe;jgz=|bv|xAb?q zKZZ*4KUsRV*&mC3wgmfOnBMtWrSG9R>> z?aO+2COdfX4Ax%8dgnNS&2u793@pOCu-WLffWtqcgAq9=gg0o=cY?oPyRb2A-w$bw z*uZEqpyR*751Jef1xl^E?D z>Q-OUcb7svQT`FVuPea`2K#bQufB?Aa z9s;}*^v~X&f;--RyA?e&1l{!p3$TM2t%hJqL3FAjz{jYFx&uCdc7R#C0WmK6GE4XY zisT_wA_(9wY+hphsTFa5*-Tm#_kTvE5y``i=lw>!g&=2UVhMg(V_SQ}%yCCbnzko) z{4iacdM@Uji=Gr$_){BzBS)Z{-*u`7)n1h?;_^}nlogp6F-;ell zjIF-Zv!Ev42cT}v2BG*42n3o7@#JKnJ}rS9ZJx8Bi}w0CWcdPZA`5PrYhM9Jd$bP$ zaUVQ&<#fuktw}WOU*x|sg!g7fALOB`*TIFL<0tTsQj;0WI`NAo{@Lv*ctHt+WrBAg zE$GWF2Ppae4X1x`B8CX31)6z4y{JDW>k2@aJD$ww$rQup1EF1JrZ9P8iS-+O-lC-k zPV$fV)af6R#_^BOjx$S|I)s^v4Kp7a2s7_}LO1i?0VXqpk!E%xB;W-kLwgF%oCY&z zdhUan^Gv=Re*Z!nwo(o(w`sO+xeb8oeG8iFMV+wy9i&En4~yA<)FoUi;QP6Mz`WQC zR)PzALD79>C>YQtf+D+bI#6FhG5&I^cNM6<+>fRqh5aDEn1JKH#1LGOz8h4rAFL5% z?GVUfKlmQ=mok`XFX{)B6gL z^%{pceqRHCmHV{60mBCCWNfe^t`9XM7tV0{&)h$)0F$UIiizjH^V_frybpni@i=%V z*Ul{rQ(`_sekTsWI_)wa_lH(X`{-ZTMtz@Gh>G~IeNsj2zJ>wS?Gt@vX!hg6Hs2yv zi=)B=s0XX|Lrh~SUWkVGVPS8&{=Hs0Kd!@C{Z#m5jI*Y(2gBS1qa z7Piz*mwSR};$igxU+=TfE4Rr~4+D1Q>23Z&#CN^T=};4G9;$;=0MOt{_7^PBPh zmA;90qGwFy_{XQ9Jl{clmRgFq`>CeBc|_D@hrw%`#v5r{*ZJDA3v|AMF&AOGD-t_ALa9H^}rtlp+fF3k7UV6n@|%UsJ|4bZoAYKKx4mq==F%OTM-yUK-r-Wu4blXK$%0_n_dn8+ngm*-2ZoE zKxovvhk?iy4aJ?AFnVqn{T^-*F}VIrWko=p~ z1E4Xu9)M8w?%^rasG4#caePk;fTm0rDK_QD{@t5$8FFP)#)nZ?7##vMqA7P8O(~`_ z{-iU_O(`#pZpx&GBAfCk(riiq&}hnCLa2<5hjb2g2XRw6V&f87>Sn;si!ptf0!p{_ z#WpA*))xoSG{lM_Wnz6{Ykm=FU%|7;W~_LasoYP|K-?JQ((!c|2=^vbQMS$7lo2b^>US-QP(n}S@~M}=W@S{S_oC?B-!6rd4qs+nuB8o=D1S_%>XdR0|I2NA@C1KIGrrr%u$3~X^xyQ zIyQ_>0m=vFNCX;Tj{T$ybJ*D+f6@i0#4tyJBibAj{u*hHzavd^Yy~vT@qrL3V_>Jw zu^DDYV{>Pn2BUgpDL-K68?cBvA2EI%b;ajp7^1j!_QH5ZJp88NZjnxX94d(w)?*@_ z^aqiT9oWqxt$m0wpmt!dpf3Cl9Vo&+UhNH_zJgCtgi&)6N+2fAU@)vmzYKy!Ok69- z+7ggOOq|DjBPMc9bu}r2wYjDYEg3>>&8ry~ulWmXg5N2D3-DoFWSqrb4c^6d!IMm- zR#J^UxQBrhRte6E&%!aXgcqLW;CxBSfyk$TvinNB|3+;5_BoDo{PxM?AmfLkL}|?8XP!m0Agei80F#z?k(iEuFNAxHr98)R#pchm&RqBB$kw zwC>aLImi{($Nn#j4h*BYK>6S`0(sHOk0wMp>2O*|IO$!`5l;FnDl(jOadEVh{^ie+ zPI{bZ+2P=sEUk7%BZN@tq(wT%W;j2c^tDsajk_R)t{nta{^`@sf^rDymms9mKgHJzzd0oc!67D}M!s)lUCmIt@&%~X!&a-7YIO|i!`KRC-!e~*Iw9=Or zqknzcJ>zs=x{|5XG&nDPX*N<~#*KC;G3j0pv3xM;E(a={OvL|kq)dJlo^#z!TC4X>9 zclF2a7p}es6&bGXA06%LPu~~m>ZhX=opv}&D_1Xo(9RUNnE1UAggk8wYQdK+r{Vqs zMDhu?LlQLlM5e*@ewb?qP{DPl&ebN<;F=lcI#+Rdbgm1+T*EOqWQ_?xg{(CtR71l{b-cRkJ ze(yV)w&H{CeV)&7{FTujj#=QC1&&$Zm<9e{vVawLqDv;1jm^(?xvLf~I`7JI{J*5@t{FPNe$h}6EmP-J zWw`6y;>Qx(xaQG9l=_wu^@gE<&zKf7sRpYAlRJf{Y49OV{_}?>M zkTGz?klL!6s)|9PnB{^DJO5|S<@`TJqpJBeRh1XWDqU4owfsM6&%fGLr88UhUu4#u zVxW9&gHZ=5u8O+4`pTj1#cqrEUt+6zMXf`I4~ku-C|QaBWw#}gU+EfC&v128zpe=V zq-|Y`>g%qakA@g(ni~Nt)l|(lvgTIREv$0aFA@63tdwRIO$=)a5*ub{jUx<37oFTFiJ(Mn2eBt^?VtwI~XnahQ8&q->piK`nE$ za)yMlVLB}=*KDl%s)ma4nku8il_1?c^}kY7tUgrL$l()PUs(qR(0|CU{SWyVfO6=? zv`e_2T34;|9040uYPfhly2yHZ{Dto!SX_XN4Zcu_ckVW=4u$dncK|j69sxW8o}fPz z;;V|pn?fPJ7+(wc1YqzFp-}I5@ZAy$4FR07HWcD_xog*jLJt9M0&D}^3-~(VhC4!` zp8)6Gg=4=2izN-mk!t}50zL$o2iOKU1Mf@vX~@Srl{~;iybh}YTm{$)cmyx~_A?(Z z9KQj~!+Y4m<3Ptd`qh9NaIfS&z#y&&9RW<^{leo>58!M-2VRUn#5C?u?*a_sl~)?# zXyVgo2Vn4-P-qU*&xS&7z=43P0Cxc1Mf!80&_+N9zAH~S0r~=_0rETZA%Kek3jy<9 zg}#8Rc0(V)O@Lj18}K7ig(t!;xcGA`;6VJE)&@YwThJG99$@cYkOPbU zd5VrtA;`qP5%|~Yg=|hD$th!#)5hC+U6a^ox#+YD&mEq57O0~9Y{11R4-*(qHZV8- zwZfPBu>9!cl+|(e%(}ot)uM7@a(DwPsJw zUU{57Ij`yXqU1(vd}rK=$$6mJlLvxlbaEQ>Lgn^emn0`{-Tuu9mi7Q4W6 z;5PiA2yi~69RRJ%L}MRvy#55*D`c8PnQ>!;&?Q2qed~7k8L~1ke*b(se|G{2D0>sz z)6I?!+7Vr+#ouL(Wk#IWqj(KurD5#f$3BT|n?^0}mMBAv@8yo7jD=~~u4f=`@tx=k z;Cw{;L35jEWuPAbZ4qdv_uMC43GuV7QPtRc#n10fgS-s<%R?JR;nl`tz=a=N2|pO! zs{wzDsZTck%?8h2@Ej%&+Pj)QDE<6m`uQs+HwQ}w{hex6A0;PWDOMw7rhcrhJ+9rMBM)sAL>f@FMWt{ zg`Z?^!#pvJ?c{jAQS_s*^BKqsV(vH__U^%7QP+Yfw;A0l?usaqqnGea&P_XTl}-68 z$3!FR2Q35b>YkPcJ?GUviF zTsi(1#s%v%`%ek|$HBf8V>-SHaWOh5j+5hW6z0qwxRkB@hCW{g+UuZk&7k|dIkvYY z#J^;XaC-V*Gs-mLTMH$Jw6&nEj-ovT+FH>5h^Ot*J|#ZNg5!I|-yUse5rtXLK+ON6+QNND+9=TSqG)BHjWE&J$CaREgZ3osuG>3S z3>9}zn;>)4i=ogY z;C!g}OQ0ax zD+4Y5SI4kB+P6w#jbXOqR>(`)g`eX4Re9^8m*E489q?c*Vof!!R~&*D zgNm6tn%<(XvAEW4+ZPI@)Bg~Y%J;y9?%mT+OaLfY7EO5*M$1HHn0>>qvo+aT?dyYbh;K)Ke*)ktn6Y;zw_0xApIG2-jemZ7;WHC$OqdJvaCq9j`d_O&D z!O?+u@ZE`c=1Bz=eS<`l-ffZ(TS)P!`p=YU#dj3PktCryLBe+qBF*i^!~Y}qf-63^$R9?w__FOjfX!mA}*DdFuB{zbwkCEPCIn-YE^;dc@q z*GI4CWC_oaP^bR)e-k(Ayz zC*SHCWfVQeD_Oy#^26_YjiM3xJ-xbA<<0rxd_aonmLK`v)6y-!YTTGHxb-mY3Qw)u zlaW7k_|WXEoRJ=p%vm-pduaBEK{`27(HNIQ(h;qs-$&AWTQXwO zlPuXW#zVX%*-{vjZnLPk94Q~d8_g6QkGJ%(EN+fP?`xT{G8X+Li;DB++<3gzRPjBM zo@$8|U*at%8}T@jAJJEi<4Ag%rSUN{MaSbUYW4}|F{~$8z6^yaI!1F@Vf?~IJ+0=U z3?yUm4+cFBc3vN4=PXIz6-6(UbT!W+DIWal2kH&$FQ**~$DlQa-ByFndeyuwgy7Fw z!Qb8f{{lUh{(OHKi@smTImMD9?X2eKFM8lV9ty{jb1LXo%PDwYf`WMD^1||4Nzaya zWv1L7ymsl3o}^A0z1*lCJ8#Skf&~bQkEc^trkR zdIr>p#ebua-`7%kvox>?#Ny{S-j*2g=kG#J_xR8*_)qEXbX@va$mt$`lCgk{ zvviNc3$fnHfSse`&lix>2jh3(<9dS&P>4jJ6X|-PFdtc=ndXE0L19VaElX_a|e-+wG z{TKDo>F3Ep2c`V=BXvTCED(}%(xe^K`u0rZQ~v&c>imULPQIkCe?ljydS?QOrRRJ> zPqyrmfmz(?K+(mLKF6-hQSUOsznJ9bA9F>~tpn}R>hk|xKa;tvUa_~AgEPd3le7vn{=H%k9OlAa;;SL5Ph5l_0;y8!f* z7;$DX=(JmzwA&_=>EfLz(8mQ`rp=*280ia&~8 zDd}lZdNzSheddhN1&BK`K>6;vPuwY%#mb?i{PmKq_OFs`d05H0NT;ZA{fwmVin4z| z(#zxl1lNCj-jwtVDL}=aPXt}(G5<}#{7C(G$qA}TX7-cxMmZjpK4(jM27W@2kGRVK zI2?4^b8%GvPL=#^vjn@bg0GPD{gSTMX|<9*=MOHVex29+_ZcaN z{|_xb;vG8R8&XbQ)V%h!ujk{91aGl=R;BUKULDRqx311^hW6qYW&WY^i5H6 znk79$@+TSIT><(QR}^OAt%|AFq_v?Vx_8{Lc`CDcDM|X(lPDLN2 zrw>c|!=STYo`|yNHc8KpqIXI;`%85JO8z&Je@Ik6CS&On%MND?da@-Y%Fe?;=X@9K zxA~w`&rMPC%X^UDDEV8X=IaL~eM3~cb_zL|@8rT(%?t1KAm56BL%*6M8z=5y!z3qy zF2F9z4X$#}VoOEc!bLSz?yAb6 zdD-V@$7XU>&##@&PjY;o;PXoZNhish~+5zUVQ3(PR>rZ4x(P*zkOdiPa=P9v>TD`Gh6p zWapVx7@2QM4a5JoCCoW|cs9OZ3x6$S5>F;~ou^`6Rrs?jmuu`~dug$&cw&*uh5jEm zahj{xA&HKn$rjf*=cLhgr)$#Ku~Uktx~AGkJB!H};T)Bbga&tcz1!j{nmN&4S~3QC zM%THZj;nN1kxP8Cth_F%{X)u>-?!vlSG#@<*2T`qw>L7MsxB;;` zY(e>=MdfgstHZjQ3)Q-G7f|nW!Zk&Fu1CpHwu#7(Y!QNGLu6}|`uwhuvZ4coVR4mF z?Ww5=YrL?WU!9r^JTwU8L(BTWeQkxw~9{UaiFB+w zeE5o{hr>#@1{t3qn@bwOsbXGvJ-&}dnCc#(T&{}6 zRcP32qP1c(3^(fDMd5BnjnO!h6@Mm)^pN{%~Pn!uc@1!G$gBD(#1tZ5LzeF%Y|=t zpAoohK_4-#M4CYN88HIr>M`WuYho%9)h^Y) z{7T*Bx}u>$hJsk$r!Pu8i@Hk*&)&%E$>qWWNV$yRjbVLdpLCNVrep~3J|+wshUIr3 z#zxO~*Do@}8v~%bjBwXTSEix)-M-$p@~0WP%{k~9L#S%FvLs7Jnak*7WX0|)vl~{q zU2<;}HF%V=-GTztsTKOGo{th&UO%@XLYD9;F>XDJ^kqo&WF6H45e>U*ANG;3J%nt1 zK*#D@VJ80IME7+?q$Mq`Do$glw7Y+pLXOc75uqp6B=c+Ls|xGit@remqfw8cr7`=M ztZmG9V!Ih(b7kS48zg=&qML`%BlQbEw5(}(byL)EGyeL5xk3NU$}6T?hEE%9^CAE;JLwCKNb2T=oIB1ASxR6(0Ra4Fa5?h2V z*-$Yn4Fx)MZXJ^DD*QIeP#zzEsZMy~(5iXzz+he_gs7BWR6jY;ODG&QlrNlL0iEc~ zLlKQFLvd=c5GN7xB;|hwPDgPo{^7V#JnG()g6cks%oe-~C*-*+Uey@o)%_?1b{kNs(!pK6pwM9B-0ZCdA6v^t9w}r z^7k|N;PsnmyDFb1s1|Yjj908id3AqFL3JNgvUjuJ<;dV&OI5$R=cS-LPPQoh6`z6& zP@Z=;Ra)H#Q*e%~nEF#srN1Owt_4Dys`BdIn1XGRQPr=?tM)g`@}ni6x?iSXBb^Hm z%b$#Y(dE~GMi%NP9=s|wL;9!rp|0k~i-fs+hAgjOimYFii4t$QHLAS2*QTJ-SCv<3 z1@De3ug*CY)aIy?I#l&5>Ysp^^;h@g6vT0N#1q~A2W5HHf0jncE+OwJn4jqSdA!T| zRe5#qPC<1}tYk!qvpgSFUfs`AFhw2QO99GmO5RQ&IQka8Nt(JZlR?AciRM>n1>XP< zj*N}+>b~E=|FZlCD67T>P~%=;wk&TR|IAnQDm$(PjrQZ%;-l_!7v8I<+jL<3Rpk}@ z3_0fV#yy|)dXai&njTfJB6R_wELDG_Jg=|6Pv=Nsa5X&{CYt%jEm7lcO4}>Q%gatq`kxb%)OJ Li(-^8y8QnEmKHA# literal 48456 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. We need to set Rjj=0 to + ! enable looping of j=1,nelec do l=0,ncord + do l=0,ncord + do j=1,nelec + rescale_een_e(j, j, l) = 0.d0 + enddo + enddo END_PROVIDER -BEGIN_PROVIDER [double precision, rescale_een_n, (nelec, nnuc, 0:ncord)] +BEGIN_PROVIDER [double precision, rescale_een_n, (4, nelec, nnuc, 0:ncord)] implicit none BEGIN_DOC ! R = exp(-kappa r) for electron-electron for $J_{een}$ @@ -79,3 +88,33 @@ BEGIN_PROVIDER [double precision, rescale_een_n, (nelec, nnuc, 0:ncord)] enddo rescale_een_n = dexp(rescale_een_n) END_PROVIDER + +BEGIN_PROVIDER [double precision, rescale_een_n_deriv_e, (4,nelec, nnuc, 0:ncord)] + implicit none + BEGIN_DOC + ! R = exp(-kappa r) for electron-electron for $J_{een}$ + END_DOC + integer :: i, j, l + double precision :: kappa_l + + do l=0,ncord + kappa_l = - dble(l) * kappa + do j = 1, nnuc + do i = 1, nelec + do ii=1,4 + rescale_een_n_deriv_e(ii, i, j, l) = & + kappa_l * elnuc_dist_deriv_e(ii,i,j) + enddo + rescale_een_n_deriv_e(4, i, j, l) = rescale_een_n_deriv_e(4, i, j, l) + & + rescale_een_n_deriv_e(1, i, j, l) * rescale_een_n_deriv_e(1, i, j, l) + & + rescale_een_n_deriv_e(2, i, j, l) * rescale_een_n_deriv_e(2, i, j, l) + & + rescale_een_n_deriv_e(3, i, j, l) * rescale_een_n_deriv_e(3, i, j, l) + do ii=1,4 + rescale_een_n_deriv_e(ii, i, j, l) = & + rescale_een_n_deriv_e(ii,i,j, l) * rescale_een_n(i, j, l) + enddo + enddo + enddo + enddo +END_PROVIDER + From 3c9d713b7d7a101c40e543cb027471328d60791e Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 10 Dec 2020 17:28:23 +0100 Subject: [PATCH 3/3] Merge with master --- electrons.irp.f | 35 +++++++++++++++++++++++++++-------- jastrow | Bin 52648 -> 0 bytes jastrow.irp.f | 1 - jastrow_provider.irp.f | 11 +++++++---- 4 files changed, 34 insertions(+), 13 deletions(-) delete mode 100755 jastrow diff --git a/electrons.irp.f b/electrons.irp.f index 9ab69b5..0011a93 100644 --- a/electrons.irp.f +++ b/electrons.irp.f @@ -51,6 +51,28 @@ BEGIN_PROVIDER [ double precision, elec_dist, (nelec, nelec) ] enddo END_PROVIDER +BEGIN_PROVIDER [double precision, asymp_jasb, (2)] + BEGIN_DOC + ! Asymptotic component subtracted from J_ee + END_DOC + implicit none + integer :: i, p + double precision :: asym_one, x + + asym_one = bord_vect(1) * kappa_inv / (1.0d0 + bord_vect(2) * kappa_inv) + asymp_jasb(:) = (/asym_one, 0.5d0 * asym_one/) + + do i = 1, 2 + x = kappa_inv + do p = 2, nbord + x = x * kappa_inv + asymp_jasb(i) = asymp_jasb(i) + bord_vect(p + 1) * x + end do + end do + +END_PROVIDER + + BEGIN_PROVIDER [double precision, factor_ee] implicit none BEGIN_DOC @@ -62,29 +84,26 @@ BEGIN_PROVIDER [double precision, factor_ee] factor_ee = 0.0d0 do j = 1, nelec - do i = 1, nelec + do i = 1, j - 1 x = rescale_ee(i, j) pow_ser = 0.0d0 spin_fact = 1.0d0 - ipar = 0 + ipar = 1 do p = 2, nbord x = x * rescale_ee(i, j) pow_ser = pow_ser + bord_vect(p + 1) * x end do - if ((i.le.nelec_up .and. j.le.nelec_up) .or. & - (i.gt.nelec_up .and. j.gt.nelec_up)) then + if (j.le.nelec_up .or. i.gt.nelec_up) then spin_fact = 0.5d0 - ipar = 1 + ipar = 2 end if factor_ee = factor_ee + spin_fact * bord_vect(1) * rescale_ee(i, j) & - / (1.0d0 + bord_vect(2) * rescale_ee(i, j)) + pow_ser + / (1.0d0 + bord_vect(2) * rescale_ee(i, j)) - asymp_jasb(ipar) + pow_ser end do end do - factor_ee = 0.5d0 * factor_ee - END_PROVIDER diff --git a/jastrow b/jastrow deleted file mode 100755 index a4f3b789194144b97c2c809504dd50c016e35f53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52648 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 Li(-^8y8QnEmKHA# diff --git a/jastrow.irp.f b/jastrow.irp.f index 3b0a3eb..fd34fc7 100644 --- a/jastrow.irp.f +++ b/jastrow.irp.f @@ -2,6 +2,5 @@ program jastrow implicit none print *, 'The total Jastrow factor' print *, jastrow_full - print *, factor_een end program diff --git a/jastrow_provider.irp.f b/jastrow_provider.irp.f index 70a0acd..070381a 100644 --- a/jastrow_provider.irp.f +++ b/jastrow_provider.irp.f @@ -5,11 +5,14 @@ BEGIN_PROVIDER [ double precision, jastrow_full ] END_DOC integer :: i, j - print *, factor_ee - print *, factor_en - print *, factor_een + print *, "J_ee = ", factor_ee + print *, "J_en = ", factor_en + print *, "J_enn_naive = ", factor_een_naive + print *, "J_een = ", factor_een + print *, "J = J_ee + J_en + J_een = ", factor_ee + factor_en + factor_een + print *, "J = J_ee + J_en + J_een_naive = ", factor_ee + factor_en + factor_een_naive + !print *, "J_enn_prog = ", factor_een_prog jastrow_full = dexp(factor_ee + factor_en + factor_een) END_PROVIDER -