From 16fe319ef388482f122e06c258c88e0b1ea5fa37 Mon Sep 17 00:00:00 2001 From: Pierre-Francois Loos Date: Tue, 29 Nov 2022 09:35:50 +0100 Subject: [PATCH] remove obselete routines --- src/BasCor/LSD_SR.f | 515 ---- src/BasCor/Makefile | 10 - src/BasCor/basis_correction.f90 | 90 - src/BasCor/dft_grid.f | 3017 ------------------------ src/BasCor/ec_srlda.f90 | 52 - src/BasCor/ecmd_lda.f90 | 200 -- src/BasCor/f_grid.f90 | 44 - src/BasCor/fc_srlda.f90 | 88 - src/BasCor/mu_grid.f90 | 46 - src/BasCor/quadrature_grid.f90 | 77 - src/BasCor/read_F12_integrals.f90 | 169 -- src/BasCor/read_grid.f90 | 47 - src/IntPak.tgz | Bin 81568 -> 0 bytes src/MC/AO_values.f90 | 108 - src/MC/AO_values_grid.f90 | 101 - src/MC/Green_function.f90 | 65 - src/MC/MCMP2.f90 | 344 --- src/MC/MO_values_grid.f90 | 44 - src/MC/Makefile | 10 - src/MC/MinMCMP2.f90 | 121 - src/MC/NDrift.f90 | 67 - src/MC/Newton.f90 | 67 - src/MC/drift.f90 | 50 - src/MC/generate_shell.f90 | 30 - src/MC/initialize_random_generator.f90 | 25 - src/MC/norm_trial.f90 | 53 - src/MC/optimize_timestep.f90 | 28 - src/MC/transition_probability.f90 | 41 - 28 files changed, 5509 deletions(-) delete mode 100644 src/BasCor/LSD_SR.f delete mode 100644 src/BasCor/Makefile delete mode 100644 src/BasCor/basis_correction.f90 delete mode 100644 src/BasCor/dft_grid.f delete mode 100644 src/BasCor/ec_srlda.f90 delete mode 100644 src/BasCor/ecmd_lda.f90 delete mode 100644 src/BasCor/f_grid.f90 delete mode 100644 src/BasCor/fc_srlda.f90 delete mode 100644 src/BasCor/mu_grid.f90 delete mode 100644 src/BasCor/quadrature_grid.f90 delete mode 100644 src/BasCor/read_F12_integrals.f90 delete mode 100644 src/BasCor/read_grid.f90 delete mode 100644 src/IntPak.tgz delete mode 100644 src/MC/AO_values.f90 delete mode 100644 src/MC/AO_values_grid.f90 delete mode 100644 src/MC/Green_function.f90 delete mode 100644 src/MC/MCMP2.f90 delete mode 100644 src/MC/MO_values_grid.f90 delete mode 100644 src/MC/Makefile delete mode 100644 src/MC/MinMCMP2.f90 delete mode 100644 src/MC/NDrift.f90 delete mode 100644 src/MC/Newton.f90 delete mode 100644 src/MC/drift.f90 delete mode 100644 src/MC/generate_shell.f90 delete mode 100644 src/MC/initialize_random_generator.f90 delete mode 100644 src/MC/norm_trial.f90 delete mode 100644 src/MC/optimize_timestep.f90 delete mode 100644 src/MC/transition_probability.f90 diff --git a/src/BasCor/LSD_SR.f b/src/BasCor/LSD_SR.f deleted file mode 100644 index 72ffe09..0000000 --- a/src/BasCor/LSD_SR.f +++ /dev/null @@ -1,515 +0,0 @@ - subroutine lsdsr(rs,z,mu,excsr,vxcsrup,vxcsrdown) -ccc Hartree atomic units used -ccc for given density parameter 'rs', spin polarization 'z' -ccc and cutoff parameter 'mu' -ccc gives the complementary short-range exchange-correlation -ccc energy (i.e., xc energy of jellium minus xc energy of long-range -ccc interacting electron gas) => 'excsr' -ccc and the corresponding exchange-correlation potentials for -ccc spin-up and spin-down electrons => 'vxcsrup','vxcsrdown' -ccc from Paziani, Moroni, Gori-Giorgi, and Bachelet, cond-mat/0601353 - - implicit none - double precision rs,z,mu,excsr,vxcsrup,vxcsrdown - double precision eclr,exlr,ec,ecd,ecz,ex - double precision vclrup,vclrdown,vxlrup,vxlrdown - double precision vxup,vxdown,vcup,vcdown - double precision pi,alpha,cf - pi=dacos(-1.d0) - alpha=(4.d0/9.d0/pi)**(1.d0/3.d0) - cf=1.d0/alpha - - ex=-3.d0*cf/rs/8.d0/pi*((1.d0+z)**(4.d0/3.d0)+ - $ (1.d0-z)**(4.d0/3.d0)) - ex = 0d0 - - vxup=-(1.d0+z)**(1.d0/3.d0)*(3.d0/2.d0/pi)**(2.d0/3.d0)/rs - vxdown=-(1.d0-z)**(1.d0/3.d0)*(3.d0/2.d0/pi)**(2.d0/3.d0)/rs - vxup = 0d0 - vxdown = 0d0 - - call ecPW(rs,z,ec,ecd,ecz) - vcup=ec-rs/3.d0*ecd-(z-1.d0)*ecz - vcdown=ec-rs/3.d0*ecd-(z+1.d0)*ecz - - call exchangelr(rs,z,mu,exlr) - exlr = 0d0 - call vexchangelr(rs,z,mu,vxlrup,vxlrdown) - vxlrup = 0d0 - vxlrdown = 0d0 - - call ecorrlr(rs,z,mu,eclr) - call vcorrlr(rs,z,mu,vclrup,vclrdown) - - excsr=ex+ec-(exlr+eclr) - vxcsrup=vxup+vcup-(vxlrup+vclrup) - vxcsrdown=vxdown+vcdown-(vxlrdown+vclrdown) - - return - end - - - - subroutine ecorrlr(rs,z,mu,eclr) -ccc Hartree atomic units used -ccc for given density parameter rs, spin polarization z -ccc and cutoff parameter mu -ccc gives the correlation energy of the LR gas -ccc => eclr - implicit none - double precision rs,z,mu,eclr,ec,ecd,ecz - double precision pi,alpha,cf,phi - double precision g0,dpol,d2anti,d3anti,Qrpa - double precision coe2,coe3,coe4,coe5 - double precision a1,a2,a3,a4,b0 - double precision q1a,q2a,q3a,t1a,t2a,t3a,adib - pi=dacos(-1.d0) - alpha=(4.d0/9.d0/pi)**(1.d0/3.d0) - cf=1.d0/alpha - - phi=((1.d0+z)**(2.d0/3.d0)+(1.d0-z)**(2.d0/3.d0))/2.d0 -cc parameters from the fit - adib = 0.784949d0 - q1a = -0.388d0 - q2a = 0.676d0 - q3a = 0.547d0 - t1a = -4.95d0 - t2a = 1.d0 - t3a = 0.31d0 - - b0=adib*rs - - d2anti=(q1a*rs+q2a*rs**2)*exp(-abs(q3a)*rs)/rs**2 - d3anti=(t1a*rs+t2a*rs**2)*exp(-abs(t3a)*rs)/rs**3 - - coe2=-3.d0/8.d0/rs**3*(1.d0-z**2)*(g0(rs)-0.5d0) - - coe3=-(1.d0-z**2)*g0(rs)/(sqrt(2.d0*pi)*rs**3) - - if(abs(z).eq.1.d0) then - - coe4=-9.d0/64.d0/rs**3*(dpol(rs) - $ -cf**2*2**(5.d0/3.d0)/5.d0/rs**2) - coe5=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*dpol(rs) - - else - - coe4=-9.d0/64.d0/rs**3*(((1.d0+z)/2.d0)**2* - $ dpol(rs*(2/(1.d0+z))**(1.d0/3.d0))+((1.d0-z)/2.d0)**2 - $ *dpol(rs*(2.d0/(1.d0-z))**(1.d0/3.d0))+ - $ (1.-z**2)*d2anti-cf**2/10.d0*((1.d0+z)**(8.d0/3.d0) - $ +(1.-z)**(8.d0/3.d0))/rs**2) - - coe5=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*(((1.d0+z)/2.d0)**2 - $ *dpol(rs*(2.d0/(1.d0+z))**(1.d0/3.d0))+((1.d0-z)/2.d0)**2 - $ *dpol(rs*(2.d0/(1.d0-z))**(1.d0/3.d0))+(1.d0-z**2)* - $ d3anti) - endif - - call ecPW(rs,z,ec,ecd,ecz) - - a1=4.d0*b0**6*coe3+b0**8*coe5 - a2=4.d0*b0**6*coe2+b0**8*coe4+6.d0*b0**4*ec - a3=b0**8*coe3 - a4=b0**6*(b0**2*coe2+4.d0*ec) - - eclr=(phi**3*Qrpa(mu*sqrt(rs)/phi)+a1*mu**3+a2*mu**4+a3*mu**5+ - $ a4*mu**6+b0**8*mu**8*ec)/((1.d0+b0**2*mu**2)**4) - - return - end - - subroutine vcorrlr(rs,z,mu,vclrup,vclrdown) -ccc Hartree atomic units used -ccc for given density parameter rs, spin polarization z -ccc and cutoff mu it gives the correlation LSD potential for LR interaction -ccc => vclrup (spin-up electrons), vclrdown (spin-down electrons) - implicit none - double precision rs,z,mu,eclr,eclrrs,eclrz,vclrup,vclrdown - double precision ec,ecd,ecz - double precision pi,alpha,cf,phi - double precision g0,dpol,d2anti,d3anti,Qrpa - double precision g0d,dpold,d2antid,d3antid,Qrpad,x - double precision coe2,coe3,coe4,coe5 - double precision coe2rs,coe3rs,coe4rs,coe5rs - double precision coe2z,coe3z,coe4z,coe5z - double precision a1,a2,a3,a4,a5,b0,a1rs,a2rs,a3rs,a4rs,a5rs, - $ b0rs,a1z,a2z,a3z,a4z,a5z,b0z - double precision q1a,q2a,q3a,t1a,t2a,t3a,adib - - pi=dacos(-1.d0) - alpha=(4.d0/9.d0/pi)**(1.d0/3.d0) - cf=1.d0/alpha - - phi=((1.d0+z)**(2.d0/3.d0)+(1.d0-z)**(2.d0/3.d0))/2.d0 -cc parameters from the fit - adib = 0.784949d0 - q1a = -0.388d0 - q2a = 0.676d0 - q3a = 0.547d0 - t1a = -4.95d0 - t2a = 1.d0 - t3a = 0.31d0 - - b0=adib*rs - - d2anti=(q1a+q2a*rs)*exp(-q3a*rs)/rs - d3anti=(t1a+t2a*rs)*exp(-t3a*rs)/rs**2 - - d2antid=-((q1a + q1a*q3a*rs + q2a*q3a*rs**2)/ - - rs**2)*exp(-q3a*rs) - d3antid=-((rs*t2a*(1 + rs*t3a) + t1a*(2 + rs*t3a))/ - - rs**3)*exp(-rs*t3a) - - coe2=-3.d0/8.d0/rs**3*(1.d0-z**2)*(g0(rs)-0.5d0) - coe2rs=-3.d0/8.d0/rs**3*(1.d0-z**2)*g0d(rs)+ - $ 9.d0/8.d0/rs**4*(1.d0-z**2)*(g0(rs)-0.5d0) - coe2z=-3.d0/8.d0/rs**3*(-2.d0*z)*(g0(rs)-0.5d0) - - coe3=-(1.d0-z**2)*g0(rs)/(sqrt(2.d0*pi)*rs**3) - coe3rs=-(1.d0-z**2)*g0d(rs)/(sqrt(2.d0*pi)*rs**3)+ - $ 3.d0*(1.d0-z**2)*g0(rs)/(sqrt(2.d0*pi)*rs**4) - coe3z=2.d0*z*g0(rs)/(sqrt(2.d0*pi)*rs**3) - - if(abs(z).eq.1.d0) then - - coe4=-9.d0/64.d0/rs**3*(dpol(rs) - $ -cf**2*2**(5.d0/3.d0)/5.d0/rs**2) - coe4rs=-3.d0/rs*coe4-9.d0/64.d0/rs**3*(dpold(rs) - $ +2.d0*cf**2*2**(5.d0/3.d0)/5.d0/rs**3) - coe4z=-9.d0/64.d0/rs**3*(dpol(rs)-rs/6.d0*dpold(rs)-2.d0*d2anti - $ -4.d0/15.d0/rs**2*cf**2*2.d0**(5.d0/3.d0))*z - coe5=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*dpol(rs) - coe5rs=-3.d0/rs*coe5-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*dpold(rs) - coe5z=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*(dpol(rs)-rs/6.d0* - $ dpold(rs)-2.d0*d3anti)*z - - else - - coe4=-9.d0/64.d0/rs**3*(((1.d0+z)/2.d0)**2* - $ dpol(rs*(2/(1.d0+z))**(1.d0/3.d0))+((1.d0-z)/2.d0)**2 - $ *dpol(rs*(2.d0/(1.d0-z))**(1.d0/3.d0))+ - $ (1.-z**2)*d2anti-cf**2/10.d0*((1.d0+z)**(8.d0/3.d0) - $ +(1.-z)**(8.d0/3.d0))/rs**2) - coe4rs=-3.d0/rs*coe4-9.d0/64.d0/rs**3*( - $ ((1.d0+z)/2.d0)**(5.d0/3.d0)*dpold(rs*(2/(1.d0+z))** - $ (1.d0/3.d0))+((1.d0-z)/2.d0)**(5.d0/3.d0)* - $ dpold(rs*(2/(1.d0-z))**(1.d0/3.d0))+(1.d0-z**2)* - $ d2antid+cf**2/5.d0*((1.d0+z)**(8.d0/3.d0) - $ +(1.d0-z)**(8.d0/3.d0))/rs**3) - coe4z=-9.d0/64.d0/rs**3*(1.d0/2.d0*(1.d0+z)* - $ dpol(rs*(2/(1.d0+z))**(1.d0/3.d0))-1.d0/2.d0*(1.d0-z)* - $ dpol(rs*(2/(1.d0-z))**(1.d0/3.d0))-rs/6.d0* - $ ((1.d0+z)/2.d0)**(2.d0/3.d0)*dpold(rs*(2/(1.d0+z)) - $ **(1.d0/3.d0))+rs/6.d0*((1.d0-z)/2.d0)**(2.d0/3.d0) - $ *dpold(rs*(2/(1.d0-z))**(1.d0/3.d0))-2.d0*z*d2anti- - $ 4.d0/15.d0/rs**2*cf**2*((1.d0+z)**(5.d0/3.d0)- - $ (1.d0-z)**(5.d0/3.d0))) - - coe5=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*(((1.d0+z)/2.d0)**2 - $ *dpol(rs*(2.d0/(1.d0+z))**(1.d0/3.d0))+((1.d0-z)/2.d0)**2 - $ *dpol(rs*(2.d0/(1.d0-z))**(1.d0/3.d0))+(1.d0-z**2)* - $ d3anti) - coe5rs=-3.d0/rs*coe5-9.d0/(40.d0*sqrt(2.d0*pi)*rs**3)*( - $ ((1.d0+z)/2.d0)**(5.d0/3.d0)*dpold(rs*(2/(1.d0+z))** - $ (1.d0/3.d0))+((1.d0-z)/2.d0)**(5.d0/3.d0)* - $ dpold(rs*(2/(1.d0-z))**(1.d0/3.d0))+(1.d0-z**2)* - $ d3antid) - coe5z=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*(1.d0/2.d0*(1.d0+z)* - $ dpol(rs*(2/(1.d0+z))**(1.d0/3.d0))-1.d0/2.d0*(1.d0-z)* - $ dpol(rs*(2/(1.d0-z))**(1.d0/3.d0))-rs/6.d0* - $ ((1.d0+z)/2.d0)**(2.d0/3.d0)*dpold(rs*(2/(1.d0+z)) - $ **(1.d0/3.d0))+rs/6.d0*((1.d0-z)/2.d0)**(2.d0/3.d0) - $ *dpold(rs*(2/(1.d0-z))**(1.d0/3.d0))-2.d0*z*d3anti) - - endif - - call ecPW(rs,z,ec,ecd,ecz) - - a1=4.d0*b0**6*coe3+b0**8*coe5 - a1rs=24.d0*adib*b0**5*coe3+4.d0*b0**6*coe3rs+8.d0*adib*b0**7* - $ coe5+b0**8*coe5rs - a1z=4.d0*b0**6*coe3z+b0**8*coe5z - - a2=4.d0*b0**6*coe2+b0**8*coe4+6.d0*b0**4*ec - a2rs=24.d0*adib*b0**5*coe2+4.d0*b0**6*coe2rs+8.d0*adib*b0**7* - $ coe4+b0**8*coe4rs+24.d0*adib*b0**3*ec+6.d0*b0**4*ecd - a2z=4.d0*b0**6*coe2z+b0**8*coe4z+6.d0*b0**4*ecz - - a3=b0**8*coe3 - a3rs=8.d0*adib*b0**7*coe3+b0**8*coe3rs - a3z=b0**8*coe3z - - a4=b0**6*(b0**2*coe2+4.d0*ec) - a4rs=8.d0*adib*b0**7*coe2+b0**8*coe2rs+24.d0*adib*b0**5*ec+ - $ 4.d0*b0**6*ecd - a4z=b0**6*(b0**2*coe2z+4.d0*ecz) - - a5=b0**8*ec - a5rs=8.d0*adib*b0**7*ec+b0**8*ecd - a5z=b0**8*ecz - - x=mu*sqrt(rs)/phi - - eclr=(phi**3*Qrpa(x)+a1*mu**3+a2*mu**4+a3*mu**5+ - $ a4*mu**6+a5*mu**8)/((1.d0+b0**2*mu**2)**4) - - eclrrs=-4.d0/(1.d0+b0**2*mu**2)*2.d0*adib*b0*mu**2*eclr+ - $ 1.d0/((1.d0+b0**2*mu**2)**4)*(phi**2*mu/(2.d0*sqrt(rs)) - $ *Qrpad(x)+ - $ a1rs*mu**3+a2rs*mu**4+a3rs*mu**5+a4rs*mu**6+a5rs*mu**8) - - - if(z.eq.1.d0) then - vclrup=eclr-rs/3.d0*eclrrs - vclrdown=0.d0 - elseif(z.eq.-1.d0) then - vclrup=0.d0 - vclrdown=eclr-rs/3.d0*eclrrs - else - - eclrz=(phi**2*((1.d0+z)**(-1.d0/3.d0)-(1.d0-z)**(-1.d0/3.d0)) - $ *Qrpa(x)-phi*Qrpad(x)*mu*sqrt(rs)*((1.d0+z)**(-1.d0/3.d0) - $ -(1.d0-z)**(-1.d0/3.d0))/3.d0+ - $ a1z*mu**3+a2z*mu**4+a3z*mu**5+ - $ a4z*mu**6+a5z*mu**8)/((1.d0+b0**2*mu**2)**4) - - vclrup=eclr-rs/3.d0*eclrrs-(z-1.d0)*eclrz - vclrdown=eclr-rs/3.d0*eclrrs-(z+1.d0)*eclrz - endif - return - end - - - double precision function g0(x) -ccc on-top pair-distribution function -ccc Gori-Giorgi and Perdew, PRB 64, 155102 (2001) -ccc x -> rs - implicit none - double precision C0f,D0f,E0f,F0f,x - C0f = 0.0819306d0 - D0f = 0.752411d0 - E0f = -0.0127713d0 - F0f = 0.00185898d0 - g0=(1.d0-(0.7317d0-D0f)*x+C0f*x**2+E0f*x**3+ - $ F0f*x**4)*exp(-abs(D0f)*x)/2.d0 - return - end - - double precision function g0d(rs) -ccc derivative of on-top pair-distribution function -ccc Gori-Giorgi and Perdew, PRB 64, 155102 (2001) - implicit none - double precision Bg0,Cg0,Dg0,Eg0,Fg0,rs - Cg0 = 0.0819306d0 - Fg0 = 0.752411d0 - Dg0 = -0.0127713d0 - Eg0 = 0.00185898d0 - Bg0 =0.7317d0-Fg0 - g0d=(-Bg0+2*Cg0*rs+3*Dg0*rs**2+4*Eg0*rs**3)/2.d0*exp(-Fg0*rs) - - - (Fg0*(1 - Bg0*rs + Cg0*rs**2 + Dg0*rs**3 + Eg0*rs**4))/ - - 2.d0*exp(-Fg0*rs) - return - end - - - double precision function dpol(rs) - implicit none - double precision cf,pi,rs,p2p,p3p - pi=dacos(-1.d0) - cf=(9.d0*pi/4.d0)**(1.d0/3.d0) - p2p = 0.04d0 - p3p = 0.4319d0 - dpol=2.d0**(5.d0/3.d0)/5.d0*cf**2/rs**2*(1.d0+(p3p-0.454555d0)*rs) - $ /(1.d0+p3p*rs+p2p*rs**2) - return - end - - double precision function dpold(rs) - implicit none - double precision cf,pi,rs,p2p,p3p - pi=dacos(-1.d0) - cf=(9.d0*pi/4.d0)**(1.d0/3.d0) - p2p = 0.04d0 - p3p = 0.4319d0 - dpold=2.d0**(5.d0/3.d0)/5.d0*cf**2* - - (-2. + (0.454555 - 4.*p3p)*rs + - - (-4.*p2p + - - (0.90911 - 2.*p3p)*p3p)*rs**2 - - + p2p*(1.363665 - 3.*p3p)* - - rs**3)/ - - (rs**3*(1. + p3p*rs + p2p*rs**2)**2) - return - end - - double precision function Qrpa(x) - implicit none - double precision pi,a2,b2,c2,d2,x,Acoul - pi=dacos(-1.d0) - Acoul=2.d0*(log(2.d0)-1.d0)/pi**2 - a2 = 5.84605d0 - c2 = 3.91744d0 - d2 = 3.44851d0 - b2=d2-3.d0/(2.d0*pi*Acoul)*(4.d0/(9.d0*pi))**(1.d0/3.d0) - Qrpa=Acoul*log((1.d0+a2*x+b2*x**2+c2*x**3)/(1.d0+a2*x+d2*x**2)) - return - end - - double precision function Qrpad(x) - implicit none - double precision pi,a2,b2,c2,d2,x,Acoul - pi=dacos(-1.d0) - Acoul=2.d0*(log(2.d0)-1.d0)/pi**2 - a2 = 5.84605d0 - c2 = 3.91744d0 - d2 = 3.44851d0 - b2=d2-3.d0/(2.d0*pi*Acoul)*(4.d0/(9.d0*pi))**(1.d0/3.d0) - Qrpad=Acoul*((x*(b2*(2.d0 + a2*x) + - - c2*x*(3.d0 + 2.d0*a2*x) + - - d2*(-2.d0 - a2*x + c2*x**3)))/ - - ((1.d0 + a2*x + d2*x**2)* - - (1.d0 + a2*x + b2*x**2 + c2*x**3))) - return - end - - subroutine exchangelr(rs,z,mu,exlr) -ccc Hartree atomic units used -ccc for given density parameter rs, spin polarization z -ccc and cutoff mu it gives the exchange energy of the LR gas -ccc => exlr - implicit none - double precision rs,z,mu,exlr - double precision pi,alpha,fx,y - pi=dacos(-1.d0) - alpha=(4.d0/9.d0/pi)**(1.d0/3.d0) - if(abs(z).eq.1.d0) then - y=mu*alpha*rs/2.d0/2.d0**(1.d0/3.d0) - fx=-((-3*y + 4*y**3 +(2*y - 4*y**3)*exp(-1./(4.*y**2)) + - $ sqrt(pi)*erf(1/(2.*y)))/pi) - exlr=mu*fx - else - y=mu*alpha*rs/2.d0/(1.+z)**(1.d0/3.d0) - fx=-((-3*y + 4*y**3 +(2*y - 4*y**3)*exp(-1./(4.*y**2)) + - $ sqrt(pi)*erf(1/(2.*y)))/pi) - exlr=(1.d0+z)*mu*fx/2.d0 - y=mu*alpha*rs/2.d0/(1.-z)**(1.d0/3.d0) - fx=-((-3*y + 4*y**3 +(2*y - 4*y**3)*exp(-1./(4.*y**2)) + - $ sqrt(pi)*erf(1/(2.*y)))/pi) - exlr=exlr+(1.d0-z)*mu*fx/2.d0 - endif - return - end - - subroutine vexchangelr(rs,z,mu,vxlrup,vxlrdown) -ccc Hartree atomic units used -ccc for given density parameter rs, spin polarization z -ccc and cutoff mu it gives the exchange LSD potential for LR interaction -ccc => vxlrup (spin-up electrons), vxlrdown (spin-down electrons) - implicit none - double precision rs,z,mu,vxlrup,vxlrdown - double precision pi,alpha,fx,fx1,y,exlr,derrs,derz - pi=dacos(-1.d0) - alpha=(4.d0/9.d0/pi)**(1.d0/3.d0) - if(z.eq.1.d0) then - vxlrup=(rs*alpha*mu**2)/ - - (2**(1.d0/3.d0)*pi) - (rs*alpha*mu**2)/(2**(1.d0/3.d0)*pi)* - - exp(-2**(2.d0/3.d0)/(rs**2*alpha**2*mu**2)) - - - (mu*erf(2**(1.d0/3.d0)/(rs*alpha*mu)))/sqrt(Pi) - vxlrdown=0.d0 - elseif(z.eq.-1.d0) then - vxlrdown=(rs*alpha*mu**2)/ - - (2**(1.d0/3.d0)*pi) - (rs*alpha*mu**2)/(2**(1.d0/3.d0)*pi)* - - exp(-2**(2.d0/3.d0)/(rs**2*alpha**2*mu**2)) - - - (mu*erf(2**(1.d0/3.d0)/(rs*alpha*mu)))/sqrt(Pi) - vxlrup=0.d0 - else - y=mu*alpha*rs/2.d0/(1.+z)**(1.d0/3.d0) - fx=-((-3*y + 4*y**3 +(2*y - 4*y**3)*exp(-1./(4.*y**2)) + - $ sqrt(pi)*erf(1/(2.*y)))/pi) - fx1=(3.d0*(1 + (-4.d0 + 4.d0*exp(-1.d0/(4.d0*y**2)))*y**2))/pi - derrs=1.d0/4.d0*(1.d0+z)**(2.d0/3.d0)*mu**2*alpha*fx1 - derz=1.d0/2.d0*mu*fx-1.d0/6.d0*fx1*mu*y - vxlrup=rs/3.d0*derrs+(z-1.d0)*derz - vxlrdown=rs/3.d0*derrs+(z+1.d0)*derz - - y=mu*alpha*rs/2.d0/(1.-z)**(1.d0/3.d0) - fx=-((-3*y + 4*y**3 +(2*y - 4*y**3)*exp(-1./(4.*y**2)) + - $ sqrt(pi)*erf(1/(2.*y)))/pi) - fx1=(3.d0*(1 + (-4.d0 + 4.d0*exp(-1.d0/(4.d0*y**2)))*y**2))/pi - derrs=1.d0/4.d0*(1.d0-z)**(2.d0/3.d0)*mu**2*alpha*fx1 - derz=-1.d0/2.d0*mu*fx+1.d0/6.d0*fx1*mu*y - vxlrup=vxlrup+rs/3.d0*derrs+(z-1.d0)*derz - vxlrdown=vxlrdown+rs/3.d0*derrs+(z+1.d0)*derz - - call exchangelr(rs,z,mu,exlr) - vxlrup=exlr-vxlrup - vxlrdown=exlr-vxlrdown - endif - return - end - -cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc -c correlation energy and its derivative w.r.t. rs and z at mu=infinity -c Perdew & Wang PRB 45, 13244 (1992) -cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc - subroutine ecPW(x,y,ec,ecd,ecz) -c in Hartree; ec=ec(rs,zeta) -c x -> rs; y -> zeta -ccc ecd is d/drs ec -ccc ecz is d/dz ec - implicit none - double precision pi,f02,ff,x,y,ec,ecd,ec0,ec0d,ec1,ec1d, - $ aaa,G,Gd,alfac,alfacd,ecz - pi=dacos(-1.d0) - - f02=4.d0/(9.d0*(2.d0**(1.d0/3.d0)-1.d0)) - - ff=((1.d0+y)**(4.d0/3.d0)+(1.d0-y)**(4.d0/3.d0)- - $ 2.d0)/(2.d0**(4.d0/3.d0)-2.d0) - - aaa=(1.d0-log(2.d0))/pi**2 - call GPW(x,aaa,0.21370d0,7.5957d0,3.5876d0, - $ 1.6382d0,0.49294d0,G,Gd) - ec0=G - ec0d=Gd - - aaa=aaa/2.d0 - call GPW(x,aaa,0.20548d0,14.1189d0,6.1977d0, - $ 3.3662d0,0.62517d0,G,Gd) - ec1=G - ec1d=Gd - call GPW(x,0.016887d0,0.11125d0,10.357d0,3.6231d0, - $ 0.88026d0,0.49671d0,G,Gd) - alfac=-G - alfacd=-Gd - - ec=ec0+alfac*ff/f02*(1.d0-y**4)+(ec1-ec0)*ff*y**4 - ecd=ec0d+alfacd*ff/f02*(1.d0-y**4)+(ec1d-ec0d)* - $ ff*y**4 - ecz=alfac*(-4.d0*y**3)*ff/f02+alfac*(1.d0-y**4)/f02* - $ 4.d0/3.d0*((1.d0+y)**(1.d0/3.d0)-(1.d0-y)**(1.d0/3.d0))/ - $ (2.d0**(4.d0/3.d0)-2.d0)+(ec1-ec0)*(4.d0*y**3*ff+ - $ 4.d0/3.d0*((1.d0+y)**(1.d0/3.d0)-(1.d0-y)**(1.d0/3.d0))/ - $ (2.d0**(4.d0/3.d0)-2.d0)*y**4) - - return - end - - subroutine GPW(x,Ac,alfa1,beta1,beta2,beta3,beta4,G,Gd) -ccc Gd is d/drs G - implicit none - double precision G,Gd,Ac,alfa1,beta1,beta2,beta3,beta4,x - G=-2.d0*Ac*(1.d0+alfa1*x)*dlog(1.d0+1.d0/(2.d0* - $ Ac*(beta1*x**0.5d0+ - $ beta2*x+beta3*x**1.5d0+beta4*x**2))) - Gd=(1.d0+alfa1*x)*(beta2+beta1/(2.d0*sqrt(x))+3.d0*beta3* - $ sqrt(x)/2.d0+2.d0*beta4*x)/((beta1*sqrt(x)+beta2*x+ - $ beta3*x**(3.d0/2.d0)+beta4*x**2)**2*(1.d0+1.d0/ - $ (2.d0*Ac*(beta1*sqrt(x)+beta2*x+beta3*x**(3.d0/2.d0)+ - $ beta4*x**2))))-2.d0*Ac*alfa1*dlog(1.d0+1.d0/(2.d0*Ac* - $ (beta1*sqrt(x)+beta2*x+beta3*x**(3.d0/2.d0)+ - $ beta4*x**2))) - return - end -ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc -ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc diff --git a/src/BasCor/Makefile b/src/BasCor/Makefile deleted file mode 100644 index 6ca514e..0000000 --- a/src/BasCor/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -default: - ninja - make -C .. - -clean: - ninja -t clean - -debug: - ninja -t clean - make -C .. debug diff --git a/src/BasCor/basis_correction.f90 b/src/BasCor/basis_correction.f90 deleted file mode 100644 index 44b7ec7..0000000 --- a/src/BasCor/basis_correction.f90 +++ /dev/null @@ -1,90 +0,0 @@ -subroutine basis_correction(nBas,nO,nShell,CenterShell,TotAngMomShell,KShell,DShell,ExpShell, & - ERI,e,c,P,eG0W0) - -! Compute the basis set incompleteness error - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nBas - integer,intent(in) :: nO - - integer,intent(in) :: nShell - integer,intent(in) :: TotAngMomShell(maxShell),KShell(maxShell) - double precision,intent(in) :: CenterShell(maxShell,ncart),DShell(maxShell,maxK),ExpShell(maxShell,maxK) - - double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) - double precision,intent(in) :: e(nBas) - double precision,intent(in) :: c(nBas,nBas) - double precision,intent(in) :: P(nBas,nBas) - - double precision,intent(in) :: eG0W0(nBas) - -! Local variables - - integer :: SGn - integer :: nRad - integer :: nAng - integer :: nGrid - double precision,allocatable :: root(:,:) - double precision,allocatable :: weight(:) - double precision,allocatable :: AO(:,:) - double precision,allocatable :: dAO(:,:,:) - double precision,allocatable :: MO(:,:) - double precision,allocatable :: dMO(:,:,:) - double precision,allocatable :: rho(:) - double precision,allocatable :: f(:) - double precision,allocatable :: mu(:) - -! Output variables - -! Hello world - - write(*,*) - write(*,*)'************************************************' - write(*,*)'| Basis set incompleteness correction |' - write(*,*)'************************************************' - write(*,*) - -! Set quadrature grid - - SGn = 1 - - call read_grid(SGn,nRad,nAng,nGrid) - -! Memory allocation - - allocate(root(ncart,nGrid),weight(nGrid)) - allocate(AO(nBas,nGrid),dAO(ncart,nBas,nGrid),MO(nBas,nGrid),dMO(ncart,nBas,nGrid)) - allocate(rho(nGrid),f(nGrid),mu(nGrid)) - - call quadrature_grid(nRad,nAng,nGrid,root,weight) - -! Calculate AO values at grid points - - call AO_values_grid(nBas,nShell,CenterShell,TotAngMomShell,KShell,DShell,ExpShell,nGrid,root,AO,dAO) - -! Calculate MO values at grid points - - call MO_values_grid(nBas,nGrid,c,AO,dAO,MO,dMO) - -! Compute one-electron density at grid points - - call density(nGrid,nBas,P,AO,rho) - -! Compute range-sepration function - - call f_grid(nBas,nO,nGrid,MO,ERI,f) - call mu_grid(nGrid,rho,f,mu) - -! Compute energy correction - - call ec_srlda(nGrid,weight,rho,mu) - -! Compute orbital corrections - - call fc_srlda(nBas,nGrid,weight,MO,rho,mu,eG0W0) - -end subroutine basis_correction diff --git a/src/BasCor/dft_grid.f b/src/BasCor/dft_grid.f deleted file mode 100644 index 66eb029..0000000 --- a/src/BasCor/dft_grid.f +++ /dev/null @@ -1,3017 +0,0 @@ -c----------------------------------------------------------------------- - - SUBROUTINE EulMac(Pts,Wts,N,R) -c ****************************************************************** -c * * -c * EulMac constructs an Euler-Maclaurin quadrature formula for * -c * * -c * inf * -c * Integral [r**2 g(r)] dr * -c * 0 * -c * * -c * OUTPUT: * -c * Pts - Quadrature points * -c * Wts - Quadrature weights * -c * * -c * INPUT: * -c * N - Number of points desired * -c * R - Length scaling factor * -c * * -c ****************************************************************** - IMPLICIT REAL*8 (a-h,o-z) - REAL*8 Pts(N),Wts(N) - T = R**3 * FLOAT(N+1) - DO i = 1,N - U = FLOAT(i) - V = FLOAT(N-i+1) - Pts(i) = R * (U/V)**2 - Wts(i) = 2 * T * U**5 / V**7 - END DO - RETURN - END - -c----------------------------------------------------------------------- - - SUBROUTINE Lebdev(Pts,Wts,N) -c ****************************************************************** -c * * -c * Lebdev returns a Lebedev formula for quadrature on the * -c * surface of the unit sphere having the desired number * -c * of points. * -c * * -c * OUTPUT: * -c * Pts - Cartesian coordinates of quadrature points * -c * Wts - Quadrature weights * -c * * -c * INPUT: * -c * N - Number of quadrature points desired * -c * * -c * N Description * -c * --- ----------- * -c * 1 Debugging formula * -c * 4 2nd-degree, Tetrahedral formula * -c * 6 3rd-degree, Octahedral formula * -c * 18 5th-degree, Abramowitz & Stegun, p. 894 * -c * 26 7th-degree, Abramowitz & Stegun, p. 894 * -c * 38 9th-degree, Ref. 1 * -c * 50 11th-degree, Ref. 1 * -c * 86 15th-degree, Ref. 1 * -c * 110 17th-degree, Ref. 1 * -c * 146 19th-degree, Ref. 2 * -c * 194 23rd-degree, Ref. 2 * -c * 302 29th-degree, Ref. 3 * -c * * -c * Refs: 1) Zh. Vychisl. Mat. Mat. Fiz. 15, 48 (1975). * -c * 2) Zh. Vychisl. Mat. Mat. Fiz. 16, 293 (1976). * -c * 3) Sibirsk. Mat. Zh. 18, 132 (1977). * -c * * -c ****************************************************************** - IMPLICIT REAL*8 (a-h,o-z) - PARAMETER (NLeb=31,MaxB=30,MaxC=10,MaxD=90) - REAL*8 Pts(3,*),Wts(*),A(3,NLeb),B(MaxB,NLeb),C(MaxC,NLeb), - $ D(MaxD,NLeb),T(MaxB,NLeb),V(MaxC,NLeb),S(2,MaxD,NLeb), - $ mk,lk,r(3),Guess(3) - INTEGER SetTyp(6,NLeb),Pmt(3,6) - SAVE SetTyp,Pmt,Guess - SAVE A,B,C,D,T,V,S - DATA SetTyp / 1,0,0,0,0,0, - $ 1,1,0,0,0,0, - $ 1,1,1,0,0,0, - $ 1,0,1,0,1,0, - $ 1,1,1,1,0,0, - $ 1,1,1,1,1,0, - $ 1,0,1,2,1,0, - $ 1,0,1,3,1,0, - $ 1,1,1,3,0,1, - $ 1,1,1,3,1,1, - $ 1,1,1,4,1,1, - $ 1,0,1,5,2,1, - $ 1,1,1,5,1,2, - $ 1,0,1,6,2,2, - $ 1,0,1,6,2,3, - $ 1,1,1,7,2,4, - $ 1,0,1,9,3,6, - $ 1,1,1,10,3,9, - $ 1,0,1,12,4,12, - $ 1,1,1,13,4,16, - $ 1,0,1,15,5,20, - $ 1,1,1,16,5,25, - $ 1,0,1,18,6,30, - $ 1,1,1,19,6,36, - $ 1,0,1,21,7,42, - $ 1,1,1,22,7,49, - $ 1,0,1,24,8,56, - $ 1,1,1,25,8,64, - $ 1,0,1,27,9,72, - $ 1,1,1,28,9,81, - $ 1,0,1,30,10,90 / - DATA Pmt / 1,2,3, 2,3,1, 3,1,2, 2,1,3, 1,3,2, 3,2,1 / - DATA Guess / 0.15D0,0.5D0,0.85D0 / - - DATA A(1,1) - $ / 0.1666666666666666666666666666666667D+00 / - DATA (A(j,2),j=1,2) - $ / 0.3333333333333333333333333333333333D-01, - $ 0.6666666666666666666666666666666667D-01 / - DATA (A(j,3),j=1,3) - $ / 0.4761904761904761904761904761904762D-01, - $ 0.3809523809523809523809523809523810D-01, - $ 0.3214285714285714285714285714285714D-01 / - DATA (A(j,4),j=1,3) - $ / 0.9523809523809523809523809523809525D-02, 0D0, - $ 0.3214285714285714285714285714285714D-01 / - DATA (A(j,5),j=1,3) - $ / 0.1269841269841269841269841269841270D-01, - $ 0.2257495590828924162257495590828924D-01, - $ 0.2109375D-01 / - DATA (A(j,6),j=1,3) - $ / 5.130671797338D-04, - $ 1.660406956574D-02, - $ -2.958603896104D-02 / - DATA (A(j,7),j=1,3) - $ / 0.1154401154401154401154401154401154D-01, 0D0, - $ 0.1194390908585628232369892597364696D-01 / - DATA (A(j,8),j=1,3) - $ / 0.3828270494937161603828270494937183D-02, 0D0, - $ 0.9793737512487512487512487512487502D-02 / - DATA (A(j,9),j=1,3) - $ / 0.5996313688621380929073236765544457D-03, - $ 0.7372999718620756423057432684105612D-02, - $ 0.7210515360144487777633059968342821D-02 / - DATA (A(j,10),j=1,3) - $ / 5.544842902037D-03, - $ 6.071332770671D-03, - $ 6.383674773515D-03 / - DATA (A(j,11),j=1,3) - $ / 0.1782340447244611157367271048698676D-02, - $ 0.5716905949977101892992128388320993D-02, - $ 0.5573383178848737968367849584466468D-02 / - DATA (A(j,12),j=1,3) - $ / -5.522639919727D-02, - $ 0.000000000000D+00, - $ 4.450274607445D-03 / - DATA (A(j,13),j=1,3) - $ / -1.313769127327D-03, - $ -2.522728704859D-03, - $ 4.186853881701D-03 / - DATA (A(j,14),j=1,3) - $ / 0.8545911725128148134231210325881270D-03, 0D0, - $ 0.3599119285025571458863978589612291D-02 / - DATA (A(j,15),j=1,3) - $ / 3.006796749454D-03, - $ 0.000000000000D+00, - $ 3.050627745651D-03 / - DATA (A(j,16),j=1,3) - $ / 5.265897968224D-04, - $ 2.548219972003D-03, - $ 2.512317418927D-03 / - DATA (A(j,17),j=1,3) - $ / 3.095121295306D-04, - $ 0.000000000000D+00, - $ 1.852379698597D-03 / - DATA (A(j,18),j=1,3) - $ / 2.192942088181D-04, - $ 1.436433617319D-03, - $ 1.421940344336D-03 / - DATA (A(j,19),j=1,3) - $ / 1.438294190527D-04, - $ 0.000000000000D+00, - $ 1.125772288287D-03 / - DATA (A(j,20),j=1,3) - $ / 1.105189233268D-04, - $ 9.205232738091D-04, - $ 9.133159786444D-04 / - DATA (A(j,21),j=1,3) - $ / 7.777160743261D-05, - $ 0.000000000000D+00, - $ 7.557646413005D-04 / - DATA (A(j,22),j=1,3) - $ / 6.309049437421D-05, - $ 6.398287705572D-04, - $ 6.357185073531D-04 / - DATA (A(j,23),j=1,3) - $ / 4.656031899197D-05, - $ 0.000000000000D+00, - $ 5.421549195296D-04 / - DATA (A(j,24),j=1,3) - $ / 3.922616270665D-05, - $ 4.703831750854D-04, - $ 4.678202801282D-04 / - DATA (A(j,25),j=1,3) - $ / 2.998675149888D-05, - $ 0.000000000000D+00, - $ 4.077860529495D-04 / - DATA (A(j,26),j=1,3) - $ / 2.599095953755D-05, - $ 3.603134089688D-04, - $ 3.586067974412D-04 / - DATA (A(j,27),j=1,3) - $ / 2.040382730826D-05, - $ 0.000000000000D+00, - $ 3.178149703890D-04 / - DATA (A(j,28),j=1,3) - $ / 1.807395252197D-05, - $ 2.848008782239D-04, - $ 2.836065837531D-04 / - DATA (A(j,29),j=1,3) - $ / 1.449063022538D-05, - $ 0.000000000000D+00, - $ 2.546377329828D-04 / - DATA (A(j,30),j=1,3) - $ / 9.687521879421D-05, - $ 2.307897895368D-04, - $ 2.297310852499D-04 / - DATA (A(j,31),j=1,3) - $ / 9.080510764308D-05, - $ 0.000000000000D+00, - $ 2.084824361988D-04 / - DATA B(1,5) - $ / 0.2017333553791887125220458553791887D-01 / - DATA B(1,6) - $ / 2.657620708216D-02 / - DATA (B(j,7),j=1,2) - $ / 0.1111055571060340251094684821601397D-01, - $ 0.1187650129453714201378828059940252D-01 / - DATA (B(j,8),j=1,3) - $ / 0.8211737283191110975989934052273075D-02, - $ 0.9595471336070962849453181172902595D-02, - $ 0.9942814891178103281400658285264506D-02 / - DATA (B(j,9),j=1,3) - $ / 0.7574394159054033722687485747138069D-02, - $ 0.6753829486314477440735417324864531D-02, - $ 0.7116355493117555387600892849539733D-02 / - DATA (B(j,10),j=1,3) - $ / 5.183387587748D-03, - $ 6.317929009814D-03, - $ 6.201670006589D-03 / - DATA (B(j,11),j=1,4) - $ / 0.5518771467273613691727684601193794D-02, - $ 0.5158237711805383103249161547187927D-02, - $ 0.5608704082587996843749366738551845D-02, - $ 0.4106777028169394090728611285645817D-02 / - DATA (B(j,12),j=1,5) - $ / 4.496841067921D-03, - $ 5.049153450479D-03, - $ 3.976408018052D-03, - $ 4.401400650381D-03, - $ 1.724544350544D-02 / - DATA (B(j,13),j=1,5) - $ / 5.315167977811D-03, - $ 4.047142377086D-03, - $ 4.112482394407D-03, - $ 3.595584899759D-03, - $ 4.256131351428D-03 / - DATA (B(j,14),j=1,6) - $ / 0.3650045807677255428654332201126546D-02, - $ 0.3604822601419881711314809131043636D-02, - $ 0.3576729661743367075562081375609260D-02, - $ 0.3449788424305883310013027710484181D-02, - $ 0.3108953122413675254845876980830533D-02, - $ 0.2352101413689164378792171183376706D-02 / - DATA (B(j,15),j=1,6) - $ / 1.621104600289D-03, - $ 3.005701484902D-03, - $ 2.990992529654D-03, - $ 2.982170644108D-03, - $ 2.721564237311D-03, - $ 3.033513795811D-03 / - DATA (B(j,16),j=1,7) - $ / 2.530403801186D-03, - $ 2.014279020919D-03, - $ 2.501725168403D-03, - $ 2.513267174598D-03, - $ 2.302694782227D-03, - $ 1.462495621595D-03, - $ 2.445373437313D-03 / - DATA (B(j,17),j=1,9) - $ / 1.871790639278D-03, - $ 1.858812585438D-03, - $ 1.852028828296D-03, - $ 1.846715956151D-03, - $ 1.818471778163D-03, - $ 1.749564657281D-03, - $ 1.617210647254D-03, - $ 1.384737234852D-03, - $ 9.764331165051D-04 / - DATA (B(j,18),j=1,10) - $ / 6.798123511051D-04, - $ 9.913184235295D-04, - $ 1.180207833239D-03, - $ 1.296599602081D-03, - $ 1.365871427428D-03, - $ 1.402988604775D-03, - $ 1.418645563596D-03, - $ 1.421376741852D-03, - $ 1.423996475491D-03, - $ 1.431554042179D-03 / - DATA (B(j,19),j=1,12) - $ / 4.948029341949D-04, - $ 7.357990109125D-04, - $ 8.889132771304D-04, - $ 9.888347838921D-04, - $ 1.053299681709D-03, - $ 1.092778807015D-03, - $ 1.114389394063D-03, - $ 1.123724788052D-03, - $ 1.125239325244D-03, - $ 1.126153271816D-03, - $ 1.130286931124D-03, - $ 1.134986534364D-03 / - DATA (B(j,20),j=1,13) - $ / 3.690421898018D-04, - $ 5.603990928681D-04, - $ 6.865297629283D-04, - $ 7.720338551146D-04, - $ 8.301545958895D-04, - $ 8.686692550180D-04, - $ 8.927076285847D-04, - $ 9.060820238568D-04, - $ 9.119777254941D-04, - $ 9.128720138604D-04, - $ 9.130714935692D-04, - $ 9.152873784554D-04, - $ 9.187436274322D-04 / - DATA (B(j,21),j=1,15) - $ / 2.841633806091D-04, - $ 4.374419127054D-04, - $ 5.417174740872D-04, - $ 6.148000891359D-04, - $ 6.664394485801D-04, - $ 7.025039356923D-04, - $ 7.268511789250D-04, - $ 7.422637534209D-04, - $ 7.509545035841D-04, - $ 7.548535057718D-04, - $ 7.554088969774D-04, - $ 7.553147174443D-04, - $ 7.564767653292D-04, - $ 7.587991808519D-04, - $ 7.608261832033D-04 / - DATA (B(j,22),j=1,16) - $ / 2.221207162188D-04, - $ 3.475784022287D-04, - $ 4.350742443590D-04, - $ 4.978569136522D-04, - $ 5.435036221998D-04, - $ 5.765913388220D-04, - $ 6.001200359226D-04, - $ 6.162178172718D-04, - $ 6.265218152438D-04, - $ 6.323987160974D-04, - $ 6.350767851541D-04, - $ 6.354362775297D-04, - $ 6.352302462706D-04, - $ 6.358117881418D-04, - $ 6.373101590310D-04, - $ 6.390428961369D-04 / - DATA (B(j,23),j=1,18) - $ / 1.778522133347D-04, - $ 2.811325405683D-04, - $ 3.548896312631D-04, - $ 4.090310897173D-04, - $ 4.493286134170D-04, - $ 4.793728447963D-04, - $ 5.015415319164D-04, - $ 5.175127372678D-04, - $ 5.285522262081D-04, - $ 5.356832703714D-04, - $ 5.397914736175D-04, - $ 5.416899441600D-04, - $ 5.419308476890D-04, - $ 5.416936902031D-04, - $ 5.419544338703D-04, - $ 5.428983656631D-04, - $ 5.442286500098D-04, - $ 5.452250345057D-04 / - DATA (B(j,24),j=1,19) - $ / 1.437832228980D-04, - $ 2.303572493578D-04, - $ 2.933110752447D-04, - $ 3.402905998360D-04, - $ 3.759138466870D-04, - $ 4.030638447900D-04, - $ 4.236591432242D-04, - $ 4.390522656947D-04, - $ 4.502523466626D-04, - $ 4.580577727784D-04, - $ 4.631391616616D-04, - $ 4.660928953699D-04, - $ 4.674751807937D-04, - $ 4.676414903933D-04, - $ 4.674086492348D-04, - $ 4.674928539483D-04, - $ 4.680748979686D-04, - $ 4.690449806389D-04, - $ 4.699877075861D-04 / - DATA (B(j,25),j=1,21) - $ / 1.185349192521D-04, - $ 1.913408643426D-04, - $ 2.452886577210D-04, - $ 2.862408183289D-04, - $ 3.178032258257D-04, - $ 3.422945667634D-04, - $ 3.612790520236D-04, - $ 3.758638229819D-04, - $ 3.868711798860D-04, - $ 3.949429933190D-04, - $ 4.006068107541D-04, - $ 4.043192149673D-04, - $ 4.064947495808D-04, - $ 4.075245619813D-04, - $ 4.076423540894D-04, - $ 4.074280862252D-04, - $ 4.074163756012D-04, - $ 4.077647795071D-04, - $ 4.084517552783D-04, - $ 4.092468459224D-04, - $ 4.097872687241D-04 / - DATA (B(j,26),j=1,22) - $ / 9.831528474386D-05, - $ 1.605023107954D-04, - $ 2.072200131464D-04, - $ 2.431297618814D-04, - $ 2.711819064497D-04, - $ 2.932762038321D-04, - $ 3.107032514197D-04, - $ 3.243808058921D-04, - $ 3.349899091374D-04, - $ 3.430580688505D-04, - $ 3.490124109290D-04, - $ 3.532148948562D-04, - $ 3.559862669063D-04, - $ 3.576224317551D-04, - $ 3.584050533086D-04, - $ 3.584903581373D-04, - $ 3.582991879041D-04, - $ 3.582371187963D-04, - $ 3.584353631122D-04, - $ 3.589120166518D-04, - $ 3.595445704532D-04, - $ 3.600943557111D-04 / - DATA (B(j,27),j=1,24) - $ / 8.288115128076D-05, - $ 1.360883192523D-04, - $ 1.766854454543D-04, - $ 2.083153161230D-04, - $ 2.333279544657D-04, - $ 2.532809539930D-04, - $ 2.692472184211D-04, - $ 2.819949946812D-04, - $ 2.920953593973D-04, - $ 2.999889782948D-04, - $ 3.060292120497D-04, - $ 3.105109167522D-04, - $ 3.136902387550D-04, - $ 3.157984652455D-04, - $ 3.170516518425D-04, - $ 3.176568425634D-04, - $ 3.177198411207D-04, - $ 3.175519492395D-04, - $ 3.174654952635D-04, - $ 3.175676415468D-04, - $ 3.178923417835D-04, - $ 3.183788287532D-04, - $ 3.188755151919D-04, - $ 3.191916889314D-04 / - DATA (B(j,28),j=1,25) - $ / 7.013149266674D-05, - $ 1.162798021957D-04, - $ 1.518728583972D-04, - $ 1.798796108217D-04, - $ 2.022593385973D-04, - $ 2.203093105575D-04, - $ 2.349294234300D-04, - $ 2.467682058747D-04, - $ 2.563092683572D-04, - $ 2.639253896763D-04, - $ 2.699137479265D-04, - $ 2.745196420167D-04, - $ 2.779529197398D-04, - $ 2.803996086684D-04, - $ 2.820302356716D-04, - $ 2.830056747491D-04, - $ 2.834808950777D-04, - $ 2.835282339079D-04, - $ 2.833819267066D-04, - $ 2.832858336907D-04, - $ 2.833268235451D-04, - $ 2.835432677029D-04, - $ 2.839091722743D-04, - $ 2.843308178876D-04, - $ 2.846703550534D-04 / - DATA (B(j,29),j=1,27) - $ / 6.018432961087D-05, - $ 1.002286583264D-04, - $ 1.315222931028D-04, - $ 1.564213746877D-04, - $ 1.765118841508D-04, - $ 1.928737099311D-04, - $ 2.062658534263D-04, - $ 2.172395445954D-04, - $ 2.262076188876D-04, - $ 2.334885699462D-04, - $ 2.393355273179D-04, - $ 2.439559200469D-04, - $ 2.475251866060D-04, - $ 2.501965558159D-04, - $ 2.521081407926D-04, - $ 2.533881002388D-04, - $ 2.541582900848D-04, - $ 2.545365737526D-04, - $ 2.545726993067D-04, - $ 2.544456197466D-04, - $ 2.543481596881D-04, - $ 2.543506451429D-04, - $ 2.544905675494D-04, - $ 2.547611407344D-04, - $ 2.551060375449D-04, - $ 2.554291933816D-04, - $ 2.556255710686D-04 / - DATA (B(j,30),j=1,28) - $ / 7.386265944002D-05, - $ 8.257977698542D-05, - $ 9.706044762058D-05, - $ 1.302393847117D-04, - $ 1.541957004601D-04, - $ 1.704459770092D-04, - $ 1.827374890943D-04, - $ 1.926360817436D-04, - $ 2.008010239495D-04, - $ 2.075635983209D-04, - $ 2.131306638691D-04, - $ 2.176562329937D-04, - $ 2.212682262991D-04, - $ 2.240799515669D-04, - $ 2.261959816188D-04, - $ 2.277156368809D-04, - $ 2.287351772128D-04, - $ 2.293490814084D-04, - $ 2.296505312376D-04, - $ 2.296793832319D-04, - $ 2.295785443843D-04, - $ 2.295017931529D-04, - $ 2.295059638185D-04, - $ 2.296232343237D-04, - $ 2.298530178741D-04, - $ 2.301579790281D-04, - $ 2.304690404997D-04, - $ 2.307027995907D-04 / - DATA (B(j,31),j=1,30) - $ / 5.011105657240D-05, - $ 5.942520409684D-05, - $ 9.564394826110D-05, - $ 1.185530657126D-04, - $ 1.364510114230D-04, - $ 1.505828825605D-04, - $ 1.619298749867D-04, - $ 1.712450504268D-04, - $ 1.789891098165D-04, - $ 1.854474955630D-04, - $ 1.908148636674D-04, - $ 1.952377405282D-04, - $ 1.988349254282D-04, - $ 2.017079807160D-04, - $ 2.039473082709D-04, - $ 2.056360279289D-04, - $ 2.068525823067D-04, - $ 2.076724877534D-04, - $ 2.081694278238D-04, - $ 2.084157631219D-04, - $ 2.084381531129D-04, - $ 2.083476277129D-04, - $ 2.082686194460D-04, - $ 2.082475686112D-04, - $ 2.083139860290D-04, - $ 2.084745561831D-04, - $ 2.087091313376D-04, - $ 2.089718413298D-04, - $ 2.092003303480D-04, - $ 2.093336148263D-04 / - DATA C(1,4) - $ / 0.2857142857142857142857142857142857D-01 / - DATA C(1,6) - $ / 1.652217099372D-02 / - DATA C(1,7) - $ / 0.1181230374690447536447922630736498D-01 / - DATA C(1,8) - $ / 0.9694996361663028329694996361663027D-02 / - DATA C(1,10) - $ / 5.477143385137D-03 / - DATA C(1,11) - $ / 0.5051846064614808475989311960063897D-02 / - DATA (C(j,12),j=1,2) - $ / 4.231083095357D-03, - $ 5.198069864064D-03 / - DATA C(1,13) - $ / 4.229582700647D-03 / - DATA (C(j,14),j=1,2) - $ / 0.3600820932216460272799206341770999D-02, - $ 0.2982344963171803851951110469245206D-02 / - DATA (C(j,15),j=1,2) - $ / 3.007949555219D-03, - $ 2.881964603055D-03 / - DATA (C(j,16),j=1,2) - $ / 2.417442375639D-03, - $ 1.910951282180D-03 / - DATA (C(j,17),j=1,3) - $ / 1.857161196774D-03, - $ 1.705153996396D-03, - $ 1.300321685886D-03 / - DATA (C(j,18),j=1,3) - $ / 9.254401499865D-04, - $ 1.250239995054D-03, - $ 1.394365843329D-03 / - DATA (C(j,19),j=1,4) - $ / 6.823367927110D-04, - $ 9.454158160447D-04, - $ 1.074429975386D-03, - $ 1.129300086569D-03 / - DATA (C(j,20),j=1,4) - $ / 5.176977312966D-04, - $ 7.331143682101D-04, - $ 8.463232836380D-04, - $ 9.031122694254D-04 / - DATA (C(j,21),j=1,5) - $ / 4.021680447875D-04, - $ 5.804871793946D-04, - $ 6.792151955945D-04, - $ 7.336741211286D-04, - $ 7.581866300990D-04 / - DATA (C(j,22),j=1,5) - $ / 3.186913449947D-04, - $ 4.678028558592D-04, - $ 5.538829697599D-04, - $ 6.044475907190D-04, - $ 6.313575103509D-04 / - DATA (C(j,23),j=1,6) - $ / 2.568002497729D-04, - $ 3.827211700292D-04, - $ 4.579491561918D-04, - $ 5.042003969084D-04, - $ 5.312708889976D-04, - $ 5.438401790747D-04 / - DATA (C(j,24),j=1,6) - $ / 2.099942281069D-04, - $ 3.172269150713D-04, - $ 3.832051358547D-04, - $ 4.252193818147D-04, - $ 4.513807963755D-04, - $ 4.657797469114D-04 / - DATA (C(j,25),j=1,7) - $ / 1.738986811745D-04, - $ 2.659616045280D-04, - $ 3.240596008172D-04, - $ 3.621195964433D-04, - $ 3.868838330761D-04, - $ 4.018911532693D-04, - $ 4.089929432983D-04 / - DATA (C(j,26),j=1,7) - $ / 1.456447096742D-04, - $ 2.252370188284D-04, - $ 2.766135443475D-04, - $ 3.110729491501D-04, - $ 3.342506712303D-04, - $ 3.491981834027D-04, - $ 3.576003604349D-04 / - DATA (C(j,27),j=1,8) - $ / 1.231779611745D-04, - $ 1.924661373840D-04, - $ 2.380881867403D-04, - $ 2.693100663038D-04, - $ 2.908673382834D-04, - $ 3.053914619382D-04, - $ 3.143916684148D-04, - $ 3.187042244055D-04 / - DATA (C(j,28),j=1,8) - $ / 1.051193406972D-04, - $ 1.657871838797D-04, - $ 2.064648113714D-04, - $ 2.347942745820D-04, - $ 2.547775326598D-04, - $ 2.686876684847D-04, - $ 2.778665755516D-04, - $ 2.830996616783D-04 / - DATA (C(j,29),j=1,9) - $ / 9.041339695118D-05, - $ 1.438426330079D-04, - $ 1.802523089821D-04, - $ 2.060052290565D-04, - $ 2.245002248967D-04, - $ 2.377059847731D-04, - $ 2.468118955883D-04, - $ 2.525410872967D-04, - $ 2.553101409933D-04 / - DATA (C(j,30),j=1,9) - $ / 9.312274696671D-05, - $ 1.199919385877D-04, - $ 1.598039138878D-04, - $ 1.822253763575D-04, - $ 1.988579593655D-04, - $ 2.112620102533D-04, - $ 2.201594887699D-04, - $ 2.261622590895D-04, - $ 2.296458453436D-04 / - DATA (C(j,31),j=1,10) - $ / 7.591708117365D-05, - $ 1.083383968169D-04, - $ 1.403019395293D-04, - $ 1.615970179286D-04, - $ 1.771144187505D-04, - $ 1.887760022988D-04, - $ 1.973474670768D-04, - $ 2.033787661235D-04, - $ 2.072343626517D-04, - $ 2.091177834227D-04 / - DATA D(1,9) - $ / 0.6991087353303262394171485080575989D-02 / - DATA D(1,10) - $ / 5.968383987681D-03 / - DATA D(1,11) - $ / 0.5530248916233093701297682691433032D-02 / - DATA D(1,12) - $ / 4.695720972569D-03 / - DATA (D(j,13),j=1,2) - $ / 4.080914225781D-03, - $ 4.071467593831D-03 / - DATA (D(j,14),j=1,2) - $ / 0.3571540554273387081232979203123946D-02, - $ 0.3392312205006170181978826539456957D-02 / - DATA (D(j,15),j=1,3) - $ / 2.958357626536D-03, - $ 3.036020026407D-03, - $ 2.832187403926D-03 / - DATA (D(j,16),j=1,4) - $ / 2.416930044325D-03, - $ 2.512236854563D-03, - $ 2.496644054553D-03, - $ 2.236607760438D-03 / - DATA (D(j,17),j=1,6) - $ / 1.842866472905D-03, - $ 1.802658934377D-03, - $ 1.849830560444D-03, - $ 1.713904507107D-03, - $ 1.555213603397D-03, - $ 1.802239128009D-03 / - DATA (D(j,18),j=1,9) - $ / 1.127089094672D-03, - $ 1.345753760911D-03, - $ 1.424957283317D-03, - $ 1.261523341238D-03, - $ 1.392547106053D-03, - $ 1.418761677878D-03, - $ 1.338366684480D-03, - $ 1.393700862676D-03, - $ 1.415914757467D-03 / - DATA (D(j,19),j=1,12) - $ / 8.436884500902D-04, - $ 1.075255720449D-03, - $ 1.108577236864D-03, - $ 9.566475323783D-04, - $ 1.080663250717D-03, - $ 1.126797131196D-03, - $ 1.022568715358D-03, - $ 1.108960267713D-03, - $ 1.122790653436D-03, - $ 1.032401847117D-03, - $ 1.107249382284D-03, - $ 1.121780048520D-03 / - DATA (D(j,20),j=1,16) - $ / 6.485778453163D-04, - $ 7.435030910982D-04, - $ 7.998527891839D-04, - $ 8.101731497468D-04, - $ 8.483389574594D-04, - $ 8.556299257312D-04, - $ 8.803208679738D-04, - $ 8.811048182426D-04, - $ 8.850282341265D-04, - $ 9.021342299041D-04, - $ 9.010091677105D-04, - $ 9.022692938427D-04, - $ 9.158016174693D-04, - $ 9.131578003189D-04, - $ 9.107813579483D-04, - $ 9.105760258970D-04 / - DATA (D(j,21),j=1,20) - $ / 7.538257859801D-04, - $ 7.483517247053D-04, - $ 7.371763661112D-04, - $ 7.183448895757D-04, - $ 6.895815529822D-04, - $ 6.480105801793D-04, - $ 5.897558896595D-04, - $ 5.095708849247D-04, - $ 7.536906428910D-04, - $ 7.472505965575D-04, - $ 7.343017132280D-04, - $ 7.130871582177D-04, - $ 6.817022032113D-04, - $ 6.380941145604D-04, - $ 7.550381377920D-04, - $ 7.478646640145D-04, - $ 7.335918720601D-04, - $ 7.110120527658D-04, - $ 7.571363978690D-04, - $ 7.489908329079D-04 / - DATA (D(j,22),j=1,25) - $ / 4.078626431856D-04, - $ 4.759933057813D-04, - $ 5.268151186413D-04, - $ 5.643048560507D-04, - $ 5.914501076613D-04, - $ 6.104561257874D-04, - $ 6.230252860708D-04, - $ 6.305618761761D-04, - $ 6.343092767598D-04, - $ 5.176268945738D-04, - $ 5.564840313314D-04, - $ 5.856426671039D-04, - $ 6.066386925777D-04, - $ 6.208824962234D-04, - $ 6.296314297823D-04, - $ 6.340423756792D-04, - $ 5.829627677107D-04, - $ 6.048693376081D-04, - $ 6.202362317732D-04, - $ 6.299005328404D-04, - $ 6.347722390609D-04, - $ 6.203778981239D-04, - $ 6.308414671240D-04, - $ 6.362706466959D-04, - $ 6.375414170333D-04 / - DATA (D(j,23),j=1,30) - $ / 3.316041873197D-04, - $ 3.899113567154D-04, - $ 4.343343327201D-04, - $ 4.679415262319D-04, - $ 4.930847981631D-04, - $ 5.115031867540D-04, - $ 5.245217148457D-04, - $ 5.332041499895D-04, - $ 5.384583126022D-04, - $ 5.411067210799D-04, - $ 4.259797391469D-04, - $ 4.604931368460D-04, - $ 4.871814878255D-04, - $ 5.072242910075D-04, - $ 5.217069845235D-04, - $ 5.315785966280D-04, - $ 5.376833708759D-04, - $ 5.408032092070D-04, - $ 4.842744917905D-04, - $ 5.048926076188D-04, - $ 5.202607980478D-04, - $ 5.309932388326D-04, - $ 5.377419770895D-04, - $ 5.411696331678D-04, - $ 5.197996293282D-04, - $ 5.311120836623D-04, - $ 5.384309319957D-04, - $ 5.421859504052D-04, - $ 5.390948355046D-04, - $ 5.433312705028D-04 / - DATA (D(j,24),j=1,36) - $ / 2.733362800523D-04, - $ 3.235485368464D-04, - $ 3.624908726013D-04, - $ 3.925540070713D-04, - $ 4.156129781116D-04, - $ 4.330644984623D-04, - $ 4.459677725921D-04, - $ 4.551593004457D-04, - $ 4.613341462750D-04, - $ 4.651019618270D-04, - $ 4.670249536101D-04, - $ 3.549555576442D-04, - $ 3.856108245249D-04, - $ 4.098622845757D-04, - $ 4.286328604269D-04, - $ 4.427802198994D-04, - $ 4.530473511489D-04, - $ 4.600805475703D-04, - $ 4.644599059958D-04, - $ 4.667274455713D-04, - $ 4.069360518020D-04, - $ 4.260442819919D-04, - $ 4.408678508029D-04, - $ 4.518748115549D-04, - $ 4.595564875375D-04, - $ 4.643988774316D-04, - $ 4.668827491647D-04, - $ 4.400541823742D-04, - $ 4.514512890194D-04, - $ 4.596198627348D-04, - $ 4.648659016802D-04, - $ 4.675502017158D-04, - $ 4.598494476456D-04, - $ 4.654916955152D-04, - $ 4.684709779505D-04, - $ 4.691445539107D-04 / - DATA (D(j,25),j=1,42) - $ / 2.279907527706D-04, - $ 2.715205490579D-04, - $ 3.057917896704D-04, - $ 3.326913052453D-04, - $ 3.537334711890D-04, - $ 3.700567500783D-04, - $ 3.825245372589D-04, - $ 3.918125171518D-04, - $ 3.984720419938D-04, - $ 4.029746003338D-04, - $ 4.057428632157D-04, - $ 4.071719274115D-04, - $ 2.990236950664D-04, - $ 3.262951734213D-04, - $ 3.482634608242D-04, - $ 3.656596681701D-04, - $ 3.791740467794D-04, - $ 3.894034450157D-04, - $ 3.968600245508D-04, - $ 4.019931351420D-04, - $ 4.052108801279D-04, - $ 4.068978613941D-04, - $ 3.454275351320D-04, - $ 3.629963537008D-04, - $ 3.770187233890D-04, - $ 3.878608613694D-04, - $ 3.959065270221D-04, - $ 4.015286975464D-04, - $ 4.050866785615D-04, - $ 4.069320185052D-04, - $ 3.760120964063D-04, - $ 3.870969564418D-04, - $ 3.955287790534D-04, - $ 4.015361911303D-04, - $ 4.053836986720D-04, - $ 4.073578673299D-04, - $ 3.954628379231D-04, - $ 4.017645508848D-04, - $ 4.059030348651D-04, - $ 4.080565809485D-04, - $ 4.063018753665D-04, - $ 4.087191292800D-04 / - DATA (D(j,26),j=1,49) - $ / 1.921921305789D-04, - $ 2.301458216496D-04, - $ 2.604248549523D-04, - $ 2.845275425871D-04, - $ 3.036870897975D-04, - $ 3.188414832298D-04, - $ 3.307046414722D-04, - $ 3.398330969031D-04, - $ 3.466757899705D-04, - $ 3.516095923230D-04, - $ 3.549645184048D-04, - $ 3.570415969441D-04, - $ 3.581251798496D-04, - $ 2.543491329913D-04, - $ 2.786711051331D-04, - $ 2.985552361084D-04, - $ 3.145867929154D-04, - $ 3.273290662068D-04, - $ 3.372705511944D-04, - $ 3.448274437852D-04, - $ 3.503592783049D-04, - $ 3.541854792663D-04, - $ 3.565995517909D-04, - $ 3.578802078303D-04, - $ 2.958644592861D-04, - $ 3.119548129117D-04, - $ 3.250745225006D-04, - $ 3.355153415935D-04, - $ 3.435847568549D-04, - $ 3.495786831622D-04, - $ 3.537767805535D-04, - $ 3.564459815421D-04, - $ 3.578464061225D-04, - $ 3.239748762836D-04, - $ 3.345491784174D-04, - $ 3.429126177302D-04, - $ 3.492420343097D-04, - $ 3.537399050235D-04, - $ 3.566209152659D-04, - $ 3.581084321920D-04, - $ 3.426522117592D-04, - $ 3.491848770121D-04, - $ 3.539318235231D-04, - $ 3.570231438459D-04, - $ 3.586207335052D-04, - $ 3.541196205164D-04, - $ 3.574296911574D-04, - $ 3.591993279819D-04, - $ 3.595855034662D-04 / - DATA (D(j,27),j=1,56) - $ / 1.635219535870D-04, - $ 1.968109917696D-04, - $ 2.236754342250D-04, - $ 2.453186687017D-04, - $ 2.627551791581D-04, - $ 2.767654860152D-04, - $ 2.879467027766D-04, - $ 2.967639918919D-04, - $ 3.035900684660D-04, - $ 3.087338237298D-04, - $ 3.124608838860D-04, - $ 3.150084294227D-04, - $ 3.165958398598D-04, - $ 3.174320440957D-04, - $ 2.182188909813D-04, - $ 2.399727933921D-04, - $ 2.579796133515D-04, - $ 2.727114052624D-04, - $ 2.846327656281D-04, - $ 2.941491102051D-04, - $ 3.016049492136D-04, - $ 3.072949726176D-04, - $ 3.114768142886D-04, - $ 3.143823673666D-04, - $ 3.162269764662D-04, - $ 3.172164663760D-04, - $ 2.554575398967D-04, - $ 2.701704069136D-04, - $ 2.823693413469D-04, - $ 2.922898463214D-04, - $ 3.001829062162D-04, - $ 3.062890864543D-04, - $ 3.108328279265D-04, - $ 3.140243146201D-04, - $ 3.160638030977D-04, - $ 3.171462882206D-04, - $ 2.812388416032D-04, - $ 2.912137500288D-04, - $ 2.993241256502D-04, - $ 3.057101738984D-04, - $ 3.105319326251D-04, - $ 3.139565514428D-04, - $ 3.161543006806D-04, - $ 3.172985960613D-04, - $ 2.989400336901D-04, - $ 3.054555883948D-04, - $ 3.104764960808D-04, - $ 3.141015825978D-04, - $ 3.164520621160D-04, - $ 3.176652305912D-04, - $ 3.105097161024D-04, - $ 3.143014117891D-04, - $ 3.168172866287D-04, - $ 3.181401865571D-04, - $ 3.170663659156D-04, - $ 3.185447944626D-04 / - DATA (D(j,28),j=1,64) - $ / 1.403063340168D-04, - $ 1.696504125939D-04, - $ 1.935787242745D-04, - $ 2.130614510522D-04, - $ 2.289381265931D-04, - $ 2.418630292816D-04, - $ 2.523400495631D-04, - $ 2.607623973450D-04, - $ 2.674441032689D-04, - $ 2.726432360343D-04, - $ 2.765787685925D-04, - $ 2.794428690642D-04, - $ 2.814099002063D-04, - $ 2.826429531579D-04, - $ 2.832983542551D-04, - $ 1.886695565285D-04, - $ 2.081867882748D-04, - $ 2.245148680601D-04, - $ 2.380370491512D-04, - $ 2.491398041852D-04, - $ 2.581632405881D-04, - $ 2.653965506227D-04, - $ 2.710857216747D-04, - $ 2.754434093904D-04, - $ 2.786579932519D-04, - $ 2.809011080679D-04, - $ 2.823336184561D-04, - $ 2.831101175806D-04, - $ 2.221679970355D-04, - $ 2.356185734271D-04, - $ 2.469228344806D-04, - $ 2.562726348642D-04, - $ 2.638756726753D-04, - $ 2.699311157391D-04, - $ 2.746233268404D-04, - $ 2.781225674455D-04, - $ 2.805881254046D-04, - $ 2.821719877005D-04, - $ 2.830222502333D-04, - $ 2.457995956745D-04, - $ 2.551474407504D-04, - $ 2.629065335195D-04, - $ 2.691900449925D-04, - $ 2.741275485754D-04, - $ 2.778530970123D-04, - $ 2.805010567647D-04, - $ 2.822055834031D-04, - $ 2.831016901243D-04, - $ 2.624474901132D-04, - $ 2.688034163039D-04, - $ 2.738932751288D-04, - $ 2.777944791243D-04, - $ 2.806011661661D-04, - $ 2.824181456597D-04, - $ 2.833585216578D-04, - $ 2.738165236963D-04, - $ 2.778365208203D-04, - $ 2.807852940419D-04, - $ 2.827245949675D-04, - $ 2.837342344830D-04, - $ 2.809233907611D-04, - $ 2.829930809743D-04, - $ 2.841097874111D-04, - $ 2.843455206009D-04 / - DATA (D(j,29),j=1,72) - $ / 1.212879733669D-04, - $ 1.472872881271D-04, - $ 1.686846601011D-04, - $ 1.862698414660D-04, - $ 2.007430956992D-04, - $ 2.126568125395D-04, - $ 2.224394603372D-04, - $ 2.304264522673D-04, - $ 2.368854288424D-04, - $ 2.420352089462D-04, - $ 2.460597113081D-04, - $ 2.491181912258D-04, - $ 2.513528194206D-04, - $ 2.528943096693D-04, - $ 2.538660368488D-04, - $ 2.543868648299D-04, - $ 1.642595537825D-04, - $ 1.818246659849D-04, - $ 1.966565649492D-04, - $ 2.090677905658D-04, - $ 2.193820409511D-04, - $ 2.278870827662D-04, - $ 2.348283192282D-04, - $ 2.404139755581D-04, - $ 2.448227407761D-04, - $ 2.482110455593D-04, - $ 2.507192397774D-04, - $ 2.524765968535D-04, - $ 2.536052388539D-04, - $ 2.542230588033D-04, - $ 1.944817013048D-04, - $ 2.067862362747D-04, - $ 2.172440734649D-04, - $ 2.260125991723D-04, - $ 2.332655008690D-04, - $ 2.391699681532D-04, - $ 2.438801528274D-04, - $ 2.475370504261D-04, - $ 2.502707235641D-04, - $ 2.522031701054D-04, - $ 2.534511269979D-04, - $ 2.541284914955D-04, - $ 2.161509250688D-04, - $ 2.248778513438D-04, - $ 2.322388803405D-04, - $ 2.383265471001D-04, - $ 2.432476675020D-04, - $ 2.471122223751D-04, - $ 2.500291752487D-04, - $ 2.521055942765D-04, - $ 2.534472785576D-04, - $ 2.541599713080D-04, - $ 2.317380975863D-04, - $ 2.378550733720D-04, - $ 2.428884456739D-04, - $ 2.469002655757D-04, - $ 2.499657574266D-04, - $ 2.521676168486D-04, - $ 2.535935662645D-04, - $ 2.543356743363D-04, - $ 2.427353285202D-04, - $ 2.468258039744D-04, - $ 2.500060956440D-04, - $ 2.523238365421D-04, - $ 2.538399260253D-04, - $ 2.546255927268D-04, - $ 2.500583360048D-04, - $ 2.524777638260D-04, - $ 2.540951193861D-04, - $ 2.549524085027D-04, - $ 2.542569507009D-04, - $ 2.552114127580D-04 / - DATA (D(j,30),j=1,81) - $ / 1.006006990267D-04, - $ 1.227676689636D-04, - $ 1.467864280270D-04, - $ 1.644178912101D-04, - $ 1.777664890719D-04, - $ 1.884825664517D-04, - $ 1.973269246454D-04, - $ 2.046767775855D-04, - $ 2.107600125918D-04, - $ 2.157416362267D-04, - $ 2.197557816921D-04, - $ 2.229192611835D-04, - $ 2.253385110213D-04, - $ 2.271137107549D-04, - $ 2.283414092918D-04, - $ 2.291161673130D-04, - $ 2.295313908577D-04, - $ 1.438204721359D-04, - $ 1.607738025495D-04, - $ 1.741483853528D-04, - $ 1.851918467519D-04, - $ 1.944628638071D-04, - $ 2.022495446275D-04, - $ 2.087462382439D-04, - $ 2.141074754818D-04, - $ 2.184640913748D-04, - $ 2.219309165220D-04, - $ 2.246123118341D-04, - $ 2.266062766915D-04, - $ 2.280072952231D-04, - $ 2.289082025203D-04, - $ 2.294012695120D-04, - $ 1.722434488737D-04, - $ 1.830237421455D-04, - $ 1.923855349998D-04, - $ 2.004067861936D-04, - $ 2.071817297354D-04, - $ 2.128250834102D-04, - $ 2.174513719440D-04, - $ 2.211661839150D-04, - $ 2.240665257813D-04, - $ 2.262439516633D-04, - $ 2.277874557232D-04, - $ 2.287854314455D-04, - $ 2.293268499616D-04, - $ 1.912628201530D-04, - $ 1.992499672239D-04, - $ 2.061275533454D-04, - $ 2.119318215969D-04, - $ 2.167416581883D-04, - $ 2.206430730517D-04, - $ 2.237186938700D-04, - $ 2.260480075033D-04, - $ 2.277098884559D-04, - $ 2.287845715110D-04, - $ 2.293547268236D-04, - $ 2.056073839853D-04, - $ 2.114235865832D-04, - $ 2.163175629771D-04, - $ 2.203392158112D-04, - $ 2.235473176848D-04, - $ 2.260024141501D-04, - $ 2.277675929329D-04, - $ 2.289102112285D-04, - $ 2.295027954625D-04, - $ 2.161281589880D-04, - $ 2.201980477395D-04, - $ 2.234952066593D-04, - $ 2.260540098521D-04, - $ 2.279157981900D-04, - $ 2.291296918566D-04, - $ 2.297533752537D-04, - $ 2.234927356466D-04, - $ 2.261288012985D-04, - $ 2.280818160924D-04, - $ 2.293773295180D-04, - $ 2.300528767339D-04, - $ 2.281893855066D-04, - $ 2.295720444841D-04, - $ 2.303227649027D-04, - $ 2.304831913227D-04 / - DATA (D(j,31),j=1,90) - $ / 9.316684484676D-05, - $ 1.116193688683D-04, - $ 1.298623551559D-04, - $ 1.450236832456D-04, - $ 1.572719958150D-04, - $ 1.673234785867D-04, - $ 1.756860118725D-04, - $ 1.826776290439D-04, - $ 1.885116347993D-04, - $ 1.933457860171D-04, - $ 1.973060671902D-04, - $ 2.004987099616D-04, - $ 2.030170909281D-04, - $ 2.049461460119D-04, - $ 2.063653565200D-04, - $ 2.073507927381D-04, - $ 2.079764593256D-04, - $ 2.083150534969D-04, - $ 1.262715121591D-04, - $ 1.414386128546D-04, - $ 1.538740401314D-04, - $ 1.642434942331D-04, - $ 1.729790609237D-04, - $ 1.803505190261D-04, - $ 1.865475350080D-04, - $ 1.917182669679D-04, - $ 1.959851709034D-04, - $ 1.994529548118D-04, - $ 2.022138911147D-04, - $ 2.043518024209D-04, - $ 2.059450313018D-04, - $ 2.070685715318D-04, - $ 2.077955310694D-04, - $ 2.081980387825D-04, - $ 1.521318610378D-04, - $ 1.622772720186D-04, - $ 1.710498139421D-04, - $ 1.785911149449D-04, - $ 1.850125313688D-04, - $ 1.904229703933D-04, - $ 1.949259956122D-04, - $ 1.986161545364D-04, - $ 2.015790585641D-04, - $ 2.038934198707D-04, - $ 2.056334060538D-04, - $ 2.068705959462D-04, - $ 2.076753906106D-04, - $ 2.081179391735D-04, - $ 1.700345216229D-04, - $ 1.774906779990D-04, - $ 1.839659377003D-04, - $ 1.894987462975D-04, - $ 1.941548809453D-04, - $ 1.980078427252D-04, - $ 2.011296284744D-04, - $ 2.035888456967D-04, - $ 2.054516325352D-04, - $ 2.067831033093D-04, - $ 2.076485320285D-04, - $ 2.081141439525D-04, - $ 1.834383015469D-04, - $ 1.889540591778D-04, - $ 1.936677023597D-04, - $ 1.976176495067D-04, - $ 2.008536004561D-04, - $ 2.034280351712D-04, - $ 2.053944466028D-04, - $ 2.068077642882D-04, - $ 2.077250949662D-04, - $ 2.082062440705D-04, - $ 1.934374486547D-04, - $ 1.974107010484D-04, - $ 2.007129290389D-04, - $ 2.033736947471D-04, - $ 2.054287125902D-04, - $ 2.069184936819D-04, - $ 2.078883689809D-04, - $ 2.083886366116D-04, - $ 2.006593275471D-04, - $ 2.033728426135D-04, - $ 2.055008781378D-04, - $ 2.070651783519D-04, - $ 2.080953335094D-04, - $ 2.086284998989D-04, - $ 2.055549387645D-04, - $ 2.071871850268D-04, - $ 2.082856600432D-04, - $ 2.088705858819D-04, - $ 2.083995867536D-04, - $ 2.090509712890D-04 / - DATA T(1,5) - $ / 0.8181818181818181818181818181818182D+00 / - DATA T(1,6) - $ / 5.384615384615D-01 / - DATA (T(j,7),j=1,2) - $ / 0.7267874717859796704165651796807734D+00, - $ 0.3574502702964873455463383113455231D-01 / - DATA (T(j,8),j=1,3) - $ / 0.9314644031018293303224605304347612D+00, - $ 0.6868596818254220443790837922198527D+00, - $ 0.4663755190139312657722805586200992D-01 / - DATA (T(j,9),j=1,3) - $ / 0.9504078675707184426846816938057038D+00, - $ 0.6513939748997038757216963384831041D+00, - $ 0.8485503877651973792968123939638137D-01 / - DATA (T(j,10),j=1,3) - $ / 8.698222012652D-01, - $ 9.047678687586D-02, - $ 6.269402078753D-01 / - DATA (T(j,11),j=1,4) - $ / 0.6044957060804405750447234008859784D+00, - $ 0.8326728518658924875446408288494448D+00, - $ 0.9871975115337203051106504992126892D-01, - $ 0.9662345478896000071306665444955087D+00 / - DATA (T(j,12),j=1,5) - $ / 5.964306905285D-01, - $ 8.729497118674D-01, - $ 2.505958825460D-02, - $ 1.321218431685D-01, - $ 9.967380323911D-01 / - DATA (T(j,13),j=1,5) - $ / 8.944445076768D-03, - $ 9.794958119190D-01, - $ 5.680244067058D-01, - $ 7.851702770073D-01, - $ 1.234223195584D-01 / - DATA (T(j,14),j=1,6) - $ / 0.1670263452397559527894216050589478D-01, - $ 0.1376663615296993115240758106286862D+00, - $ 0.5527209402223704445129158599195226D+00, - $ 0.7528054592119942363108765505527784D+00, - $ 0.9014635004999312167764818860483434D+00, - $ 0.9814976282327591629905429780488349D+00 / - DATA (T(j,15),j=1,6) - $ / 5.945454002988D-04, - $ 5.402203703739D-01, - $ 9.256923187369D-01, - $ 3.940277055740D-02, - $ 7.396031168627D-01, - $ 1.553935521769D-01 / - DATA (T(j,16),j=1,7) - $ / 4.521867205820D-02, - $ 9.369991395852D-01, - $ 5.169847287690D-01, - $ 1.662296171180D-01, - $ 8.362605039899D-01, - $ 9.885448198023D-01, - $ 6.915326150206D-01 / - DATA (T(j,17),j=1,9) - $ / 8.499071157004D-03, - $ 7.309241451287D-02, - $ 1.878129101389D-01, - $ 4.910765962311D-01, - $ 6.445470516095D-01, - $ 7.798280397298D-01, - $ 8.862606172978D-01, - $ 9.574242528006D-01, - $ 9.925701118262D-01 / - DATA (T(j,18),j=1,10) - $ / 9.948240702572D-01, - $ 9.698305546361D-01, - $ 9.178342725293D-01, - $ 8.378069504767D-01, - $ 7.325681115488D-01, - $ 6.078094018620D-01, - $ 4.714805969587D-01, - $ 2.045860732578D-01, - $ 9.766956607994D-02, - $ 2.564988139436D-02 / - DATA (T(j,19),j=1,12) - $ / 9.963140927997D-01, - $ 9.778900314101D-01, - $ 9.387482592540D-01, - $ 8.772246746062D-01, - $ 7.943585455913D-01, - $ 6.932173043199D-01, - $ 5.784863558578D-01, - $ 4.561664690726D-01, - $ 2.179572378274D-01, - $ 1.187585706869D-01, - $ 4.492456248653D-02, - $ 5.130054883064D-03 / - DATA (T(j,20),j=1,13) - $ / 9.972432661185D-01, - $ 9.832918591320D-01, - $ 9.531160121935D-01, - $ 9.048709833904D-01, - $ 8.387022528272D-01, - $ 7.562335791706D-01, - $ 6.602760541723D-01, - $ 5.546219829385D-01, - $ 4.438787406634D-01, - $ 2.288483219154D-01, - $ 1.367748697861D-01, - $ 6.379865467742D-02, - $ 1.646761018263D-02 / - DATA (T(j,21),j=1,15) - $ / 9.979143363622D-01, - $ 9.870821836647D-01, - $ 9.633179740561D-01, - $ 9.248083829058D-01, - $ 8.712377374379D-01, - $ 8.034039688176D-01, - $ 7.230000705325D-01, - $ 6.324652733202D-01, - $ 5.348679212522D-01, - $ 4.338074285872D-01, - $ 2.378818655932D-01, - $ 1.522209580433D-01, - $ 8.135995958492D-02, - $ 3.030214670670D-02, - $ 3.428730539433D-03 / - DATA (T(j,22),j=1,16) - $ / 9.983630237732D-01, - $ 9.897967765640D-01, - $ 9.707567294011D-01, - $ 9.395403165681D-01, - $ 8.956079044098D-01, - $ 8.392773092892D-01, - $ 7.715552422867D-01, - $ 6.940259701211D-01, - $ 6.087661259570D-01, - $ 5.182736014735D-01, - $ 4.254066807507D-01, - $ 2.454906841822D-01, - $ 1.655487699575D-01, - $ 9.735443800302D-02, - $ 4.479239363750D-02, - $ 1.145055801973D-02 / - DATA (T(j,23),j=1,18) - $ / 9.987088311582D-01, - $ 9.918097335390D-01, - $ 9.763133912218D-01, - $ 9.506598648348D-01, - $ 9.142055993122D-01, - $ 8.669840470267D-01, - $ 8.095706458671D-01, - $ 7.429956925500D-01, - $ 6.686799248593D-01, - $ 5.883818288042D-01, - $ 5.041522063181D-01, - $ 4.182948169149D-01, - $ 2.519844086135D-01, - $ 1.771329459727D-01, - $ 1.117955803473D-01, - $ 5.903799592608D-02, - $ 2.178402115775D-02, - $ 2.451992741952D-03 / - DATA (T(j,24),j=1,19) - $ / 9.989511574237D-01, - $ 9.933204314931D-01, - $ 9.805438375683D-01, - $ 9.592074206194D-01, - $ 9.286352335000D-01, - $ 8.886937286268D-01, - $ 8.396828658238D-01, - $ 7.822665416652D-01, - $ 7.174223164050D-01, - $ 6.464012407924D-01, - $ 5.706935220112D-01, - $ 4.919983454862D-01, - $ 4.121975439374D-01, - $ 2.575898262997D-01, - $ 1.872756753374D-01, - $ 1.247993889749D-01, - $ 7.261765804749D-02, - $ 3.312137636649D-02, - $ 8.417236823685D-03 / - DATA (T(j,25),j=1,21) - $ / 9.991466902796D-01, - $ 9.944855716680D-01, - $ 9.838234632028D-01, - $ 9.658860301760D-01, - $ 9.399993362096D-01, - $ 9.059324566313D-01, - $ 8.638072400724D-01, - $ 8.140411316291D-01, - $ 7.573067651943D-01, - $ 6.945004533758D-01, - $ 6.267156986940D-01, - $ 5.552199298894D-01, - $ 4.814338171375D-01, - $ 4.069131375459D-01, - $ 2.624764638322D-01, - $ 1.962187240256D-01, - $ 1.365132316146D-01, - $ 8.535636714473D-02, - $ 4.471687997947D-02, - $ 1.640096644131D-02, - $ 1.840045732112D-03 / - DATA (T(j,26),j=1,22) - $ / 9.992885189311D-01, - $ 9.953915828809D-01, - $ 9.864042520502D-01, - $ 9.711803952656D-01, - $ 9.490701367673D-01, - $ 9.197889831582D-01, - $ 8.833431744669D-01, - $ 8.399822331704D-01, - $ 7.901657878871D-01, - $ 7.345382177116D-01, - $ 6.739077428303D-01, - $ 6.092282380884D-01, - $ 5.415829837787D-01, - $ 4.721701147608D-01, - $ 4.022898149774D-01, - $ 2.667735478837D-01, - $ 2.041557967831D-01, - $ 1.470855543505D-01, - $ 9.720572111608D-02, - $ 5.615089573608D-02, - $ 2.546158767116D-02, - $ 6.445772776470D-03 / - DATA (T(j,27),j=1,24) - $ / 9.994073420632D-01, - $ 9.961123635856D-01, - $ 9.884641646671D-01, - $ 9.754318546307D-01, - $ 9.563979477620D-01, - $ 9.310509351946D-01, - $ 8.993221205576D-01, - $ 8.613454952223D-01, - $ 8.174299827256D-01, - $ 7.680385836004D-01, - $ 7.137714962065D-01, - $ 6.553516400609D-01, - $ 5.936117744635D-01, - $ 5.294828626297D-01, - $ 4.639836046032D-01, - $ 3.982111946111D-01, - $ 2.705812594860D-01, - $ 2.112428880825D-01, - $ 1.566537859453D-01, - $ 1.081813807457D-01, - $ 6.719449812399D-02, - $ 3.500727310883D-02, - $ 1.278754655613D-02, - $ 1.431532615062D-03 / - DATA (T(j,28),j=1,25) - $ / 9.994957296951D-01, - $ 9.966883326993D-01, - $ 9.901273792384D-01, - $ 9.788850620034D-01, - $ 9.623820738475D-01, - $ 9.402970090556D-01, - $ 9.125132210219D-01, - $ 8.790847449096D-01, - $ 8.402127700885D-01, - $ 7.962281729465D-01, - $ 7.475776139174D-01, - $ 6.948117962164D-01, - $ 6.385751144432D-01, - $ 5.795963018215D-01, - $ 5.186799213004D-01, - $ 4.566986870675D-01, - $ 3.945866619032D-01, - $ 2.739783714988D-01, - $ 2.176064094230D-01, - $ 1.653403045802D-01, - $ 1.183298694951D-01, - $ 7.773098966363D-02, - $ 4.466798054937D-02, - $ 2.017192474359D-02, - $ 5.093170320417D-03 / - DATA (T(j,29),j=1,27) - $ / 9.995719869698D-01, - $ 9.971576600497D-01, - $ 9.914856530125D-01, - $ 9.817192019176D-01, - $ 9.673171465902D-01, - $ 9.479584191551D-01, - $ 9.234964401467D-01, - $ 8.939297875880D-01, - $ 8.593820093211D-01, - $ 8.200867705184D-01, - $ 7.763761965513D-01, - $ 7.286711767696D-01, - $ 6.774729173835D-01, - $ 6.233553492065D-01, - $ 5.669581965619D-01, - $ 5.089806415522D-01, - $ 4.501755926475D-01, - $ 3.913445897309D-01, - $ 2.770276760350D-01, - $ 2.233495933818D-01, - $ 1.732520657435D-01, - $ 1.277108517503D-01, - $ 8.770980631329D-02, - $ 5.421499904934D-02, - $ 2.813244088150D-02, - $ 1.024671752643D-02, - $ 1.145352939215D-03 / - DATA (T(j,30),j=1,28) - $ / 9.989088743731D-01, - $ 9.962102993790D-01, - $ 9.917073393298D-01, - $ 9.837857998144D-01, - $ 9.713578655261D-01, - $ 9.542943302118D-01, - $ 9.325833410688D-01, - $ 9.062484628251D-01, - $ 8.753788404822D-01, - $ 8.401387270275D-01, - $ 8.007691896507D-01, - $ 7.575863866917D-01, - $ 7.109771117958D-01, - $ 6.613927586878D-01, - $ 6.093429313239D-01, - $ 5.553894658468D-01, - $ 5.001411954546D-01, - $ 4.442495352346D-01, - $ 3.884048318656D-01, - $ 2.797945214663D-01, - $ 2.285783449909D-01, - $ 1.805015075513D-01, - $ 1.364013229385D-01, - $ 9.712474739578D-02, - $ 6.350928432754D-02, - $ 3.635223834954D-02, - $ 1.636637023025D-02, - $ 4.124219647904D-03 / - DATA (T(j,31),j=1,30) - $ / 9.989389971209D-01, - $ 9.971766766769D-01, - $ 9.932210680541D-01, - $ 9.858774895456D-01, - $ 9.747806632069D-01, - $ 9.596648815557D-01, - $ 9.403911068227D-01, - $ 9.169172562840D-01, - $ 8.892819476318D-01, - $ 8.575967401872D-01, - $ 8.220412264133D-01, - $ 7.828591148688D-01, - $ 7.403541401852D-01, - $ 6.948854820542D-01, - $ 6.468629521677D-01, - $ 5.967423110144D-01, - $ 5.450209571873D-01, - $ 4.922340999168D-01, - $ 4.389514398161D-01, - $ 3.857743293940D-01, - $ 2.822860252999D-01, - $ 2.333147039100D-01, - $ 1.871234394479D-01, - $ 1.444334326043D-01, - $ 1.059750740154D-01, - $ 7.247445615933D-02, - $ 4.463176524570D-02, - $ 2.308962476585D-02, - $ 8.391804478010D-03, - $ 9.369553857840D-04 / - DATA V(1,4) - $ / 0.1666666666666666666666666666666667D+00 / - DATA V(1,6) - $ / 9.230769230769D-02 / - DATA V(1,7) - $ / 0.1204416503145642398318048555452501D+00 / - DATA V(1,8) - $ / 0.1764705882352941176470588235294118D+00 / - DATA V(1,10) - $ / 6.365787851418D-02 / - DATA V(1,11) - $ / 0.1052631578947368421052631578947368D+00 / - DATA (V(j,12),j=1,2) - $ / 2.241341590046D-01, - $ 1.099238120099D-01 / - DATA V(1,13) - $ / 2.000000000000D-01 / - DATA (V(j,14),j=1,2) - $ / 0.2200933352980389748216629900695196D+00, - $ 0.6502727546573595539690409835852654D-01 / - DATA (V(j,15),j=1,2) - $ / 3.596678808994D-02, - $ 1.235753913415D-01 / - DATA (V(j,16),j=1,2) - $ / 1.729411966868D-01, - $ 4.225960886354D-02 / - DATA (V(j,17),j=1,3) - $ / 2.341637248281D-01, - $ 1.324832577106D-01, - $ 2.886374289129D-02 / - DATA (V(j,18),j=1,3) - $ / 2.049596194512D-02, - $ 1.017279217943D-01, - $ 2.036494032906D-01 / - DATA (V(j,19),j=1,4) - $ / 1.506003684306D-02, - $ 7.900261587096D-02, - $ 1.719853162752D-01, - $ 2.402517778395D-01 / - DATA (V(j,20),j=1,4) - $ / 1.136778532904D-02, - $ 6.222580539453D-02, - $ 1.438013602306D-01, - $ 2.193546368679D-01 / - DATA (V(j,21),j=1,5) - $ / 8.792305136058D-03, - $ 4.971678820596D-02, - $ 1.201226934566D-01, - $ 1.951924693303D-01, - $ 2.434103199047D-01 / - DATA (V(j,22),j=1,5) - $ / 6.931793227193D-03, - $ 4.026427008452D-02, - $ 1.006819324273D-01, - $ 1.715283250278D-01, - $ 2.283217882342D-01 / - DATA (V(j,23),j=1,6) - $ / 5.562298027336D-03, - $ 3.301750717439D-02, - $ 8.484487674046D-02, - $ 1.499289480598D-01, - $ 2.096284259050D-01, - $ 2.452528151503D-01 / - DATA (V(j,24),j=1,6) - $ / 4.527512122481D-03, - $ 2.738571398249D-02, - $ 7.194952348015D-02, - $ 1.308804820581D-01, - $ 1.901173218958D-01, - $ 2.338875244150D-01 / - DATA (V(j,25),j=1,7) - $ / 3.735731627098D-03, - $ 2.295065371381D-02, - $ 6.141474850635D-02, - $ 1.143710170433D-01, - $ 1.712602015573D-01, - $ 2.191192968469D-01, - $ 2.464193318434D-01 / - DATA (V(j,26),j=1,7) - $ / 3.116273598316D-03, - $ 1.941497033326D-02, - $ 5.276331953232D-02, - $ 1.001818528622D-01, - $ 1.537591183728D-01, - $ 2.029938620347D-01, - $ 2.375671797837D-01 / - DATA (V(j,27),j=1,8) - $ / 2.627354807340D-03, - $ 1.656404962657D-02, - $ 4.561529461067D-02, - $ 8.802772716296D-02, - $ 1.378848650427D-01, - $ 1.867467953993D-01, - $ 2.256575483187D-01, - $ 2.472038245618D-01 / - DATA (V(j,28),j=1,8) - $ / 2.234379876148D-03, - $ 1.424164112360D-02, - $ 3.967132880296D-02, - $ 7.762064909155D-02, - $ 1.236763051633D-01, - $ 1.710839672061D-01, - $ 2.122104053470D-01, - $ 2.401218883665D-01 / - DATA (V(j,29),j=1,9) - $ / 1.916700390235D-03, - $ 1.233154590152D-02, - $ 3.469648744997D-02, - $ 6.869692636008D-02, - $ 1.110548585874D-01, - $ 1.563770127604D-01, - $ 1.982285434988D-01, - $ 2.303388051827D-01, - $ 2.477564007390D-01 / - DATA (V(j,30),j=1,9) - $ / 2.107454820561D-03, - $ 1.088942170828D-02, - $ 3.046535458878D-02, - $ 6.119972584598D-02, - $ 1.000546103726D-01, - $ 1.428810642988D-01, - $ 1.843759068265D-01, - $ 2.190027552378D-01, - $ 2.419625136213D-01 / - DATA (V(j,31),j=1,10) - $ / 1.472668018817D-03, - $ 9.580098341667D-03, - $ 2.697810682946D-02, - $ 5.452463307450D-02, - $ 9.015147652015D-02, - $ 1.304525252537D-01, - $ 1.709907279210D-01, - $ 2.069300631045D-01, - $ 2.337963076105D-01, - $ 2.481595158077D-01 / - DATA (S(i,1,9),i=1,2) - $ / 1.403553811713D-01, - $ 4.493328323270D-01 / - DATA (S(i,1,10),i=1,2) - $ / 4.990453161796D-01, - $ 1.446630744325D-01 / - DATA (S(i,1,11),i=1,2) - $ / 1.590417105384D-01, - $ 8.360360154825D-01 / - DATA (S(i,1,12),i=1,2) - $ / 2.272181808998D-01, - $ 4.864661535887D-01 / - DATA ((S(i,j,13),i=1,2),j=1,2) - $ / 3.233484542693D-01, - $ 1.153112011010D-01, - $ 2.314790158713D-01, - $ 5.244939240922D-01 / - DATA ((S(i,j,14),i=1,2),j=1,2) - $ / 2.510034751770D-01, - $ 8.000727494074D-01, - $ 1.233548532583D-01, - $ 4.127724083169D-01 / - DATA ((S(i,j,15),i=1,2),j=1,3) - $ / 2.899558825500D-01, - $ 7.934537856582D-01, - $ 9.684121455104D-02, - $ 8.280801506687D-01, - $ 1.833434647042D-01, - $ 9.074658265305D-01 / - DATA ((S(i,j,16),i=1,2),j=1,4) - $ / 2.054823696403D-01, - $ 8.689460322872D-01, - $ 5.905157048925D-01, - $ 7.999278543857D-01, - $ 5.550152361077D-01, - $ 7.717462626916D-01, - $ 9.371809858554D-01, - $ 3.344363145343D-01 / - DATA ((S(i,j,17),i=1,2),j=1,6) - $ / 5.610263808622D-01, - $ 3.518280927734D-01, - $ 4.742392842552D-01, - $ 2.634716655938D-01, - $ 5.984126497885D-01, - $ 1.816640840360D-01, - $ 3.791035407696D-01, - $ 1.720795225657D-01, - $ 2.778673190586D-01, - $ 8.213021581933D-02, - $ 5.033564271075D-01, - $ 8.999205842075D-02 / - DATA ((S(i,j,18),i=1,2),j=1,9) - $ / 6.944024393349D-02, - $ 2.355187894242D-01, - $ 2.269004109529D-01, - $ 4.102182474046D-01, - $ 8.025574607775D-02, - $ 6.214302417482D-01, - $ 1.467999527897D-01, - $ 3.245284345717D-01, - $ 1.571507769825D-01, - $ 5.224482189697D-01, - $ 2.365702993157D-01, - $ 6.017546634090D-01, - $ 7.714815866766D-02, - $ 4.346575516141D-01, - $ 3.062936666211D-01, - $ 4.908826589038D-01, - $ 3.822477379525D-01, - $ 5.648768149100D-01 / - DATA ((S(i,j,19),i=1,2),j=1,12) - $ / 5.974048614181D-02, - $ 2.029128752778D-01, - $ 1.375760408474D-01, - $ 4.602621942484D-01, - $ 3.391016526336D-01, - $ 5.030673999662D-01, - $ 1.271675191440D-01, - $ 2.817606422442D-01, - $ 2.693120740414D-01, - $ 4.331561291720D-01, - $ 1.419786452602D-01, - $ 6.256167358581D-01, - $ 6.709284600738D-02, - $ 3.798395216859D-01, - $ 7.057738183256D-02, - $ 5.517505421424D-01, - $ 2.783888477882D-01, - $ 6.029619156159D-01, - $ 1.979578938917D-01, - $ 3.589606329589D-01, - $ 2.087307061103D-01, - $ 5.348666438135D-01, - $ 4.055122137873D-01, - $ 5.674997546074D-01 / - DATA ((S(i,j,20),i=1,2),j=1,16) - $ / 9.827986018264D-01, - $ 1.771774022615D-01, - $ 9.624249230326D-01, - $ 2.475716463426D-01, - $ 9.402007994129D-01, - $ 3.354616289066D-01, - $ 9.320822040143D-01, - $ 3.173615246612D-01, - $ 9.043674199393D-01, - $ 4.090268427085D-01, - $ 8.912407560075D-01, - $ 3.854291150669D-01, - $ 8.676435628463D-01, - $ 4.932221184851D-01, - $ 8.581979986042D-01, - $ 4.785320675922D-01, - $ 8.396753624050D-01, - $ 4.507422593157D-01, - $ 8.165288564022D-01, - $ 5.632123020762D-01, - $ 8.015469370784D-01, - $ 5.434303569694D-01, - $ 7.773563069070D-01, - $ 5.123518486420D-01, - $ 7.661621213900D-01, - $ 6.394279634749D-01, - $ 7.553584143534D-01, - $ 6.269805509024D-01, - $ 7.344305757560D-01, - $ 6.031161693096D-01, - $ 7.043837184022D-01, - $ 5.693702498468D-01 / - DATA ((S(i,j,21),i=1,2),j=1,20) - $ / 5.707522908892D-01, - $ 4.387028039890D-01, - $ 5.196463388403D-01, - $ 3.858908414763D-01, - $ 4.646337531215D-01, - $ 3.301937372344D-01, - $ 4.063901697558D-01, - $ 2.725423573564D-01, - $ 3.456329466643D-01, - $ 2.139510237495D-01, - $ 2.831395121050D-01, - $ 1.555922309787D-01, - $ 2.197682022925D-01, - $ 9.892878979686D-02, - $ 1.564696098650D-01, - $ 4.598642910676D-02, - $ 6.027356673721D-01, - $ 3.376625140173D-01, - $ 5.496032320255D-01, - $ 2.822301309728D-01, - $ 4.921707755235D-01, - $ 2.248632342593D-01, - $ 4.309422998598D-01, - $ 1.666224723456D-01, - $ 3.664108182314D-01, - $ 1.086964901822D-01, - $ 2.990189057758D-01, - $ 5.251989784120D-02, - $ 6.268724013145D-01, - $ 2.297523657550D-01, - $ 5.707324144835D-01, - $ 1.723080607094D-01, - $ 5.096360901960D-01, - $ 1.140238465391D-01, - $ 4.438729938312D-01, - $ 5.611522095883D-02, - $ 6.419978471082D-01, - $ 1.164174423141D-01, - $ 5.817218061803D-01, - $ 5.797589531445D-02 / - DATA ((S(i,j,22),i=1,2),j=1,25) - $ / 1.394983311832D-01, - $ 4.097581162050D-02, - $ 1.967999180485D-01, - $ 8.851987391293D-02, - $ 2.546183732549D-01, - $ 1.397680182970D-01, - $ 3.121281074714D-01, - $ 1.929452542227D-01, - $ 3.685981078502D-01, - $ 2.467898337062D-01, - $ 4.233760321548D-01, - $ 3.003104124785D-01, - $ 4.758671236059D-01, - $ 3.526684328175D-01, - $ 5.255178579796D-01, - $ 4.031134861146D-01, - $ 5.718025633735D-01, - $ 4.509426448342D-01, - $ 2.686927772723D-01, - $ 4.711322502423D-02, - $ 3.306006819905D-01, - $ 9.784487303943D-02, - $ 3.904906850595D-01, - $ 1.505395810025D-01, - $ 4.479957951904D-01, - $ 2.039728156296D-01, - $ 5.027076848920D-01, - $ 2.571529941121D-01, - $ 5.542087392260D-01, - $ 3.092191375816D-01, - $ 6.020850887375D-01, - $ 3.593807506130D-01, - $ 4.019851409180D-01, - $ 5.063389934379D-02, - $ 4.635614567450D-01, - $ 1.032422269161D-01, - $ 5.215860931592D-01, - $ 1.566322094006D-01, - $ 5.758202499099D-01, - $ 2.098082827491D-01, - $ 6.259893683877D-01, - $ 2.618824114553D-01, - $ 5.313795124812D-01, - $ 5.263245019339D-02, - $ 5.893317955932D-01, - $ 1.061059730982D-01, - $ 6.426246321216D-01, - $ 1.594171564034D-01, - $ 6.511904367376D-01, - $ 5.354789536566D-02 / - DATA ((S(i,j,23),i=1,2),j=1,30) - $ / 1.253901572367D-01, - $ 3.681917226440D-02, - $ 1.775721510384D-01, - $ 7.982487607213D-02, - $ 2.305693358216D-01, - $ 1.264640966592D-01, - $ 2.836502845992D-01, - $ 1.751585683419D-01, - $ 3.361794746233D-01, - $ 2.247995907633D-01, - $ 3.875979172265D-01, - $ 2.745299257422D-01, - $ 4.374019316999D-01, - $ 3.236373482441D-01, - $ 4.851275843340D-01, - $ 3.714967859437D-01, - $ 5.303391803807D-01, - $ 4.175353646322D-01, - $ 5.726197380596D-01, - $ 4.612084406355D-01, - $ 2.431520732565D-01, - $ 4.258040133044D-02, - $ 3.002096800896D-01, - $ 8.869424306723D-02, - $ 3.558554457457D-01, - $ 1.368811706511D-01, - $ 4.097782537049D-01, - $ 1.860739985015D-01, - $ 4.616337666067D-01, - $ 2.354235077396D-01, - $ 5.110707008418D-01, - $ 2.842074921347D-01, - $ 5.577415286164D-01, - $ 3.317784414984D-01, - $ 6.013060431367D-01, - $ 3.775299002041D-01, - $ 3.661596767262D-01, - $ 4.599367887165D-02, - $ 4.237633153507D-01, - $ 9.404893773654D-02, - $ 4.786328454658D-01, - $ 1.431377109092D-01, - $ 5.305702076790D-01, - $ 1.924186388844D-01, - $ 5.793436224232D-01, - $ 2.411590944775D-01, - $ 6.247069017095D-01, - $ 2.886871491584D-01, - $ 4.874315552535D-01, - $ 4.804978774953D-02, - $ 5.427337322059D-01, - $ 9.716857199367D-02, - $ 5.943493747247D-01, - $ 1.465205839795D-01, - $ 6.421314033565D-01, - $ 1.953579449804D-01, - $ 6.020628374714D-01, - $ 4.916375015738D-02, - $ 6.529222529857D-01, - $ 9.861621540127D-02 / - DATA ((S(i,j,24),i=1,2),j=1,36) - $ / 1.135081039844D-01, - $ 3.331954884663D-02, - $ 1.612866626099D-01, - $ 7.247167465437D-02, - $ 2.100786550168D-01, - $ 1.151539110850D-01, - $ 2.592282009460D-01, - $ 1.599491097144D-01, - $ 3.081740561320D-01, - $ 2.058699956028D-01, - $ 3.564289781578D-01, - $ 2.521624953503D-01, - $ 4.035587288241D-01, - $ 2.982090785798D-01, - $ 4.491671196374D-01, - $ 3.434762087236D-01, - $ 4.928854782917D-01, - $ 3.874831357203D-01, - $ 5.343646791959D-01, - $ 4.297814821747D-01, - $ 5.732683216531D-01, - $ 4.699402260944D-01, - $ 2.214131583219D-01, - $ 3.873602040644D-02, - $ 2.741796504750D-01, - $ 8.089496256902D-02, - $ 3.259797439149D-01, - $ 1.251732177621D-01, - $ 3.765441148827D-01, - $ 1.706260286403D-01, - $ 4.255773574531D-01, - $ 2.165115147300D-01, - $ 4.727795117058D-01, - $ 2.622089812225D-01, - $ 5.178546895819D-01, - $ 3.071721431296D-01, - $ 5.605141192097D-01, - $ 3.508998998801D-01, - $ 6.004763319353D-01, - $ 3.929160876167D-01, - $ 3.352842634947D-01, - $ 4.202563457288D-02, - $ 3.891971629815D-01, - $ 8.614309758871D-02, - $ 4.409875565542D-01, - $ 1.314500879380D-01, - $ 4.904893058592D-01, - $ 1.772189657384D-01, - $ 5.375056138770D-01, - $ 2.228277110050D-01, - $ 5.818255708670D-01, - $ 2.677179935014D-01, - $ 6.232334858145D-01, - $ 3.113675035544D-01, - $ 4.489485354492D-01, - $ 4.409162378368D-02, - $ 5.015136875933D-01, - $ 8.939009917748D-02, - $ 5.511300550513D-01, - $ 1.351806029383D-01, - $ 5.976720409858D-01, - $ 1.808370355053D-01, - $ 6.409956378989D-01, - $ 2.257852192302D-01, - $ 5.581222330828D-01, - $ 4.532173421637D-02, - $ 6.074705984162D-01, - $ 9.117488031840D-02, - $ 6.532272537379D-01, - $ 1.369294213140D-01, - $ 6.594761494500D-01, - $ 4.589901487276D-02 / - DATA ((S(i,j,25),i=1,2),j=1,42) - $ / 1.033958573552D-01, - $ 3.034544009064D-02, - $ 1.473521412414D-01, - $ 6.618803044247D-02, - $ 1.924552158706D-01, - $ 1.054431128988D-01, - $ 2.381094362890D-01, - $ 1.468263551239D-01, - $ 2.838121707937D-01, - $ 1.894486108188D-01, - $ 3.291323133373D-01, - $ 2.326374238762D-01, - $ 3.736896978741D-01, - $ 2.758485808486D-01, - $ 4.171406040760D-01, - $ 3.186179331997D-01, - $ 4.591677985257D-01, - $ 3.605329796304D-01, - $ 4.994733831718D-01, - $ 4.012147253587D-01, - $ 5.377731830445D-01, - $ 4.403050025571D-01, - $ 5.737917830001D-01, - $ 4.774565904277D-01, - $ 2.027323586271D-01, - $ 3.544122504976D-02, - $ 2.516942375187D-01, - $ 7.418304388646D-02, - $ 3.000227995257D-01, - $ 1.150502745727D-01, - $ 3.474806691046D-01, - $ 1.571963371209D-01, - $ 3.938103180359D-01, - $ 1.999631877247D-01, - $ 4.387519590456D-01, - $ 2.428073457847D-01, - $ 4.820503960078D-01, - $ 2.852575132906D-01, - $ 5.234573778475D-01, - $ 3.268884208675D-01, - $ 5.627318647235D-01, - $ 3.673033321676D-01, - $ 5.996390607157D-01, - $ 4.061211551830D-01, - $ 3.084780753792D-01, - $ 3.860125523100D-02, - $ 3.589988275920D-01, - $ 7.928938987105D-02, - $ 4.078628415882D-01, - $ 1.212614643030D-01, - $ 4.549287258890D-01, - $ 1.638770827383D-01, - $ 5.000278512957D-01, - $ 2.065965798260D-01, - $ 5.429785044928D-01, - $ 2.489436378852D-01, - $ 5.835939850492D-01, - $ 2.904811368947D-01, - $ 6.216870353445D-01, - $ 3.307941957667D-01, - $ 4.151104662709D-01, - $ 4.064829146053D-02, - $ 4.649804275009D-01, - $ 8.258424547295D-02, - $ 5.124695757010D-01, - $ 1.251841962027D-01, - $ 5.574711100606D-01, - $ 1.679107505976D-01, - $ 5.998597333287D-01, - $ 2.102805057359D-01, - $ 6.395007148517D-01, - $ 2.518418087774D-01, - $ 5.188456224746D-01, - $ 4.194321676078D-02, - $ 5.664190707943D-01, - $ 8.457661551921D-02, - $ 6.110464353283D-01, - $ 1.273652932519D-01, - $ 6.526430302052D-01, - $ 1.698173239076D-01, - $ 6.167551880378D-01, - $ 4.266398851549D-02, - $ 6.607195418355D-01, - $ 8.551925814238D-02 / - DATA ((S(i,j,26),i=1,2),j=1,49) - $ / 9.469870086838D-02, - $ 2.778748387309D-02, - $ 1.353170300568D-01, - $ 6.076569878628D-02, - $ 1.771679481726D-01, - $ 9.703072762711D-02, - $ 2.197066664232D-01, - $ 1.354112458525D-01, - $ 2.624783557375D-01, - $ 1.750996479744D-01, - $ 3.050969521214D-01, - $ 2.154896907450D-01, - $ 3.472252637196D-01, - $ 2.560954625740D-01, - $ 3.885610219026D-01, - $ 2.965070050624D-01, - $ 4.288273776063D-01, - $ 3.363641488734D-01, - $ 4.677662471303D-01, - $ 3.753400029837D-01, - $ 5.051333589553D-01, - $ 4.131297522144D-01, - $ 5.406942145810D-01, - $ 4.494423776082D-01, - $ 5.742204122576D-01, - $ 4.839938958842D-01, - $ 1.865407027225D-01, - $ 3.259144851071D-02, - $ 2.321186453689D-01, - $ 6.835679505297D-02, - $ 2.773159142524D-01, - $ 1.062284864452D-01, - $ 3.219200192237D-01, - $ 1.454404409323D-01, - $ 3.657032593944D-01, - $ 1.854018282583D-01, - $ 4.084376778364D-01, - $ 2.256297412015D-01, - $ 4.499004945751D-01, - $ 2.657104425001D-01, - $ 4.898758141326D-01, - $ 3.052755487632D-01, - $ 5.281547442266D-01, - $ 3.439863920645D-01, - $ 5.645346989814D-01, - $ 3.815229456122D-01, - $ 5.988181252160D-01, - $ 4.175752420967D-01, - $ 2.850425424472D-01, - $ 3.562149509863D-02, - $ 3.324619433028D-01, - $ 7.330318886871D-02, - $ 3.785848333076D-01, - $ 1.123226296008D-01, - $ 4.232891028562D-01, - $ 1.521084193338D-01, - $ 4.664287050830D-01, - $ 1.921844459224D-01, - $ 5.078458493736D-01, - $ 2.321360989678D-01, - $ 5.473779816204D-01, - $ 2.715886486361D-01, - $ 5.848617133811D-01, - $ 3.101924707571D-01, - $ 6.201348281585D-01, - $ 3.476121052891D-01, - $ 3.852191185388D-01, - $ 3.763224880035D-02, - $ 4.325025061073D-01, - $ 7.659581935637D-02, - $ 4.778486229734D-01, - $ 1.163381306084D-01, - $ 5.211663693009D-01, - $ 1.563890598753D-01, - $ 5.623469504854D-01, - $ 1.963320810149D-01, - $ 6.012718188659D-01, - $ 2.357847407259D-01, - $ 6.378179206390D-01, - $ 2.743846121244D-01, - $ 4.836936460215D-01, - $ 3.895902610739D-02, - $ 5.293792562684D-01, - $ 7.871246819313D-02, - $ 5.726281253100D-01, - $ 1.187963808203D-01, - $ 6.133658776169D-01, - $ 1.587914708062D-01, - $ 6.515085491865D-01, - $ 1.983058575228D-01, - $ 5.778692716065D-01, - $ 3.977209689792D-02, - $ 6.207904288086D-01, - $ 7.990157592981D-02, - $ 6.608688171047D-01, - $ 1.199671308754D-01, - $ 6.656263089489D-01, - $ 4.015955957806D-02 / - DATA ((S(i,j,27),i=1,2),j=1,56) - $ / 8.715738780836D-02, 2.557175233368D-02, - $ 1.248383123134D-01, 5.604823383377D-02, - $ 1.638062693383D-01, 8.968568601901D-02, - $ 2.035586203373D-01, 1.254086651976D-01, - $ 2.436798975294D-01, 1.624780150162D-01, - $ 2.838207507774D-01, 2.003422342683D-01, - $ 3.236787502218D-01, 2.385628026255D-01, - $ 3.629849554841D-01, 2.767731148784D-01, - $ 4.014948081992D-01, 3.146542308245D-01, - $ 4.389818379260D-01, 3.519196415895D-01, - $ 4.752331143674D-01, 3.883050984024D-01, - $ 5.100457318374D-01, 4.235613423909D-01, - $ 5.432238388955D-01, 4.574484717196D-01, - $ 5.745758685072D-01, 4.897311639256D-01, - $ 1.723981437593D-01, 3.010630597881D-02, - $ 2.149553257845D-01, 6.326031554205D-02, - $ 2.573256081247D-01, 9.848566980259D-02, - $ 2.993163751238D-01, 1.350835952384D-01, - $ 3.407238005148D-01, 1.725184055442D-01, - $ 3.813454978483D-01, 2.103559279731D-01, - $ 4.209848104423D-01, 2.482278774555D-01, - $ 4.594519699996D-01, 2.858099509983D-01, - $ 4.965640166186D-01, 3.228075659915D-01, - $ 5.321441655572D-01, 3.589459907204D-01, - $ 5.660208438582D-01, 3.939630088864D-01, - $ 5.980264315964D-01, 4.276029922949D-01, - $ 2.644215852351D-01, 3.300939429073D-02, - $ 3.090113743443D-01, 6.803887650079D-02, - $ 3.525871079198D-01, 1.044326136207D-01, - $ 3.950418005354D-01, 1.416751597518D-01, - $ 4.362475663430D-01, 1.793408610505D-01, - $ 4.760661812146D-01, 2.170630750176D-01, - $ 5.143551042512D-01, 2.545145157816D-01, - $ 5.509709026936D-01, 2.913940101707D-01, - $ 5.857711030329D-01, 3.274169910911D-01, - $ 6.186149917404D-01, 3.623081329317D-01, - $ 3.586894569557D-01, 3.497354386450D-02, - $ 4.035266610019D-01, 7.129736739757D-02, - $ 4.467775312333D-01, 1.084758620193D-01, - $ 4.883638346609D-01, 1.460915689242D-01, - $ 5.281908348435D-01, 1.837790832370D-01, - $ 5.661542687149D-01, 2.212075390874D-01, - $ 6.021450102031D-01, 2.580682841161D-01, - $ 6.360520783610D-01, 2.940656362094D-01, - $ 4.521611065087D-01, 3.631055365867D-02, - $ 4.959365651561D-01, 7.348318468484D-02, - $ 5.376815804038D-01, 1.111087643813D-01, - $ 5.773314480244D-01, 1.488226085145D-01, - $ 6.148113245575D-01, 1.862892274135D-01, - $ 6.500407462842D-01, 2.231909701714D-01, - $ 5.425151448707D-01, 3.718201306119D-02, - $ 5.841860556908D-01, 7.483616335067D-02, - $ 6.234632186851D-01, 1.125990834266D-01, - $ 6.602934551849D-01, 1.501303813158D-01, - $ 6.278573968375D-01, 3.767559930246D-02, - $ 6.665611711265D-01, 7.548443301360D-02 / - DATA ((S(i,j,28),i=1,2),j=1,64) - $ / 8.056516651369D-02, 2.363454684003D-02, - $ 1.156476077139D-01, 5.191291632546D-02, - $ 1.520473382760D-01, 8.322715736995D-02, - $ 1.892986699746D-01, 1.165855667994D-01, - $ 2.270194446778D-01, 1.513077167410D-01, - $ 2.648908185093D-01, 1.868882025808D-01, - $ 3.026389259574D-01, 2.229277629776D-01, - $ 3.400220296151D-01, 2.590951840746D-01, - $ 3.768217953336D-01, 2.951047291751D-01, - $ 4.128372900922D-01, 3.307019714170D-01, - $ 4.478807131816D-01, 3.656544101088D-01, - $ 4.817742034089D-01, 3.997448951940D-01, - $ 5.143472814653D-01, 4.327667110812D-01, - $ 5.454346213906D-01, 4.645196123532D-01, - $ 5.748739313170D-01, 4.948063555703D-01, - $ 1.599598738286D-01, 2.792357590049D-02, - $ 1.998097412501D-01, 5.877141038139D-02, - $ 2.396228952566D-01, 9.164573914691D-02, - $ 2.792228341098D-01, 1.259049641963D-01, - $ 3.184251107547D-01, 1.610594823401D-01, - $ 3.570481164426D-01, 1.967151653461D-01, - $ 3.949164710492D-01, 2.325404606175D-01, - $ 4.318617293971D-01, 2.682461141151D-01, - $ 4.677221009932D-01, 3.035720116012D-01, - $ 5.023417939271D-01, 3.382781859197D-01, - $ 5.355701836636D-01, 3.721383065626D-01, - $ 5.672608451329D-01, 4.049346360466D-01, - $ 5.972704202540D-01, 4.364538098634D-01, - $ 2.461687022334D-01, 3.070423166833D-02, - $ 2.881774566287D-01, 6.338034669282D-02, - $ 3.293963604117D-01, 9.742862487068D-02, - $ 3.697303822241D-01, 1.323799532282D-01, - $ 4.090663023135D-01, 1.678497018129D-01, - $ 4.472819355412D-01, 2.035095105326D-01, - $ 4.842513377231D-01, 2.390692566672D-01, - $ 5.198477629963D-01, 2.742649818076D-01, - $ 5.539453011883D-01, 3.088503806580D-01, - $ 5.864196762401D-01, 3.425904245907D-01, - $ 6.171484466668D-01, 3.752562294789D-01, - $ 3.350337830566D-01, 3.261589934635D-02, - $ 3.775773224758D-01, 6.658438928082D-02, - $ 4.188155229849D-01, 1.014565797158D-01, - $ 4.586805892009D-01, 1.368573320844D-01, - $ 4.970895714224D-01, 1.724614851952D-01, - $ 5.339505133961D-01, 2.079779381416D-01, - $ 5.691665792531D-01, 2.431385788322D-01, - $ 6.026387682680D-01, 2.776901883050D-01, - $ 6.342676150163D-01, 3.113881356387D-01, - $ 4.237951119537D-01, 3.394877848664D-02, - $ 4.656918683235D-01, 6.880219556291D-02, - $ 5.058857069186D-01, 1.041946859722D-01, - $ 5.443204666714D-01, 1.398039738736D-01, - $ 5.809298813760D-01, 1.753373381196D-01, - $ 6.156416039447D-01, 2.105215793514D-01, - $ 6.483801351067D-01, 2.450953312157D-01, - $ 5.103616577252D-01, 3.485560643801D-02, - $ 5.506738792581D-01, 7.026308631512D-02, - $ 5.889573040995D-01, 1.059035061296D-01, - $ 6.251641589517D-01, 1.414823925236D-01, - $ 6.592414921570D-01, 1.767207908215D-01, - $ 5.930314017533D-01, 3.542189339562D-02, - $ 6.309812253390D-01, 7.109574040370D-02, - $ 6.666296011353D-01, 1.067259792283D-01, - $ 6.703715271050D-01, 3.569455268821D-02 / - DATA ((S(i,j,29),i=1,2),j=1,72) - $ / 7.476563943166D-02, 2.193168509461D-02, - $ 1.075341482001D-01, 4.826419281534D-02, - $ 1.416344885203D-01, 7.751191883576D-02, - $ 1.766325315389D-01, 1.087558139248D-01, - $ 2.121744174482D-01, 1.413661374253D-01, - $ 2.479669443408D-01, 1.748768214259D-01, - $ 2.837600452294D-01, 2.089216406612D-01, - $ 3.193344933194D-01, 2.431987685546D-01, - $ 3.544935442439D-01, 2.774497054378D-01, - $ 3.890571932288D-01, 3.114460356157D-01, - $ 4.228581214259D-01, 3.449806851913D-01, - $ 4.557387211304D-01, 3.778618641248D-01, - $ 4.875487950542D-01, 4.099086391699D-01, - $ 5.181436529963D-01, 4.409474925854D-01, - $ 5.473824095601D-01, 4.708094517711D-01, - $ 5.751263398976D-01, 4.993275140355D-01, - $ 1.489515746840D-01, 2.599381993267D-02, - $ 1.863656444352D-01, 5.479286532462D-02, - $ 2.238602880356D-01, 8.556763251425D-02, - $ 2.612723375728D-01, 1.177257802267D-01, - $ 2.984332990206D-01, 1.508168456193D-01, - $ 3.351786584663D-01, 1.844801892178D-01, - $ 3.713505522209D-01, 2.184145236088D-01, - $ 4.067981098955D-01, 2.523590641486D-01, - $ 4.413769993688D-01, 2.860812976901D-01, - $ 4.749487182516D-01, 3.193686757809D-01, - $ 5.073798105075D-01, 3.520226949548D-01, - $ 5.385410448879D-01, 3.838544395668D-01, - $ 5.683065353671D-01, 4.146810037641D-01, - $ 5.965527620664D-01, 4.443224094681D-01, - $ 2.299227700856D-01, 2.865757664058D-02, - $ 2.695752998553D-01, 5.923421684486D-02, - $ 3.086178716611D-01, 9.117817776058D-02, - $ 3.469649871659D-01, 1.240593814083D-01, - $ 3.845153566320D-01, 1.575272058259D-01, - $ 4.211600033403D-01, 1.912845163525D-01, - $ 4.567867834330D-01, 2.250710177858D-01, - $ 4.912829319232D-01, 2.586521303441D-01, - $ 5.245364793304D-01, 2.918112242865D-01, - $ 5.564369788916D-01, 3.243439239068D-01, - $ 5.868757697775D-01, 3.560536787835D-01, - $ 6.157458853520D-01, 3.867480821243D-01, - $ 3.138461110672D-01, 3.051374637507D-02, - $ 3.542495872051D-01, 6.237111233731D-02, - $ 3.935751553120D-01, 9.516223952402D-02, - $ 4.317634668111D-01, 1.285467341509D-01, - $ 4.687413842251D-01, 1.622318931656D-01, - $ 5.044274237060D-01, 1.959581153836D-01, - $ 5.387354077926D-01, 2.294888081184D-01, - $ 5.715768898356D-01, 2.626031152714D-01, - $ 6.028627200136D-01, 2.950904075287D-01, - $ 6.325039812653D-01, 3.267458451113D-01, - $ 3.981986708423D-01, 3.183291458750D-02, - $ 4.382791182133D-01, 6.459548193881D-02, - $ 4.769233057218D-01, 9.795757037088D-02, - $ 5.140823911194D-01, 1.316307235127D-01, - $ 5.496977833863D-01, 1.653556486359D-01, - $ 5.837047306513D-01, 1.988931724127D-01, - $ 6.160349566927D-01, 2.320174581439D-01, - $ 6.466185353209D-01, 2.645106562169D-01, - $ 4.810835158795D-01, 3.275917807744D-02, - $ 5.199925041324D-01, 6.612546183967D-02, - $ 5.571717692207D-01, 9.981498331474D-02, - $ 5.925789250836D-01, 1.335687001410D-01, - $ 6.261658523860D-01, 1.671444402896D-01, - $ 6.578811126669D-01, 2.003106382156D-01, - $ 5.609624612998D-01, 3.337500940231D-02, - $ 5.979959659985D-01, 6.708750335902D-02, - $ 6.330523711054D-01, 1.008792126425D-01, - $ 6.660960998104D-01, 1.345050343172D-01, - $ 6.365384364586D-01, 3.372799460737D-02, - $ 6.710994302899D-01, 6.755249309678D-02 / - DATA ((S(i,j,30),i=1,2),j=1,81) - $ / 7.345133894143D-02, 2.177844081486D-02, - $ 1.009859834045D-01, 4.590362185775D-02, - $ 1.324289619749D-01, 7.255063095691D-02, - $ 1.654272109607D-01, 1.017825451961D-01, - $ 1.990767186776D-01, 1.325652320980D-01, - $ 2.330125945523D-01, 1.642765374497D-01, - $ 2.670080611108D-01, 1.965360374338D-01, - $ 3.008753376294D-01, 2.290726770542D-01, - $ 3.344475596168D-01, 2.616645495371D-01, - $ 3.675709724071D-01, 2.941150728843D-01, - $ 4.001000887588D-01, 3.262440400919D-01, - $ 4.318956350436D-01, 3.578835350612D-01, - $ 4.628239056796D-01, 3.888751854044D-01, - $ 4.927563229774D-01, 4.190678003223D-01, - $ 5.215687136708D-01, 4.483151836884D-01, - $ 5.491402346985D-01, 4.764740676088D-01, - $ 5.753520160126D-01, 5.034021310998D-01, - $ 1.388326356418D-01, 2.435436510373D-02, - $ 1.743686900537D-01, 5.118897057343D-02, - $ 2.099737037950D-01, 8.014695048540D-02, - $ 2.454492590909D-01, 1.105117874156D-01, - $ 2.807219257864D-01, 1.417950531571D-01, - $ 3.156842271976D-01, 1.736604945720D-01, - $ 3.502090945178D-01, 2.058466324694D-01, - $ 3.841684849520D-01, 2.381284261196D-01, - $ 4.174372367906D-01, 2.703031270423D-01, - $ 4.498926465012D-01, 3.021845683091D-01, - $ 4.814146229808D-01, 3.335993355166D-01, - $ 5.118863625735D-01, 3.643833735518D-01, - $ 5.411947455119D-01, 3.943789541958D-01, - $ 5.692301500357D-01, 4.234320144404D-01, - $ 5.958857204140D-01, 4.513897947419D-01, - $ 2.156270284786D-01, 2.681225755444D-02, - $ 2.532385054910D-01, 5.557495747806D-02, - $ 2.902564617772D-01, 8.569368062950D-02, - $ 3.266979823143D-01, 1.167367450324D-01, - $ 3.625039627494D-01, 1.483861994003D-01, - $ 3.975838937549D-01, 1.803821503011D-01, - $ 4.318396099010D-01, 2.124962965666D-01, - $ 4.651706555733D-01, 2.445221837806D-01, - $ 4.974752649621D-01, 2.762701224323D-01, - $ 5.286517579628D-01, 3.075627775211D-01, - $ 5.586001195732D-01, 3.382311089827D-01, - $ 5.872229902021D-01, 3.681108834741D-01, - $ 6.144258616235D-01, 3.970397446873D-01, - $ 2.951676508065D-01, 2.867499538750D-02, - $ 3.335085485473D-01, 5.867879341904D-02, - $ 3.709561760636D-01, 8.961099205022D-02, - $ 4.074722861667D-01, 1.211627927626D-01, - $ 4.429923648839D-01, 1.530748903555D-01, - $ 4.774428052722D-01, 1.851176436722D-01, - $ 5.107446539536D-01, 2.170829107658D-01, - $ 5.428151370543D-01, 2.487786689026D-01, - $ 5.735699292557D-01, 2.800239952795D-01, - $ 6.029253794563D-01, 3.106445702878D-01, - $ 6.307998987073D-01, 3.404689500841D-01, - $ 3.752652273693D-01, 2.997145098184D-02, - $ 4.135383879344D-01, 6.086725898678D-02, - $ 4.506113885154D-01, 9.238849548436D-02, - $ 4.864401554606D-01, 1.242786603852D-01, - $ 5.209708076612D-01, 1.563086731483D-01, - $ 5.541422135830D-01, 1.882696509389D-01, - $ 5.858880915114D-01, 2.199672979126D-01, - $ 6.161399390603D-01, 2.512165482925D-01, - $ 6.448296482255D-01, 2.818368701872D-01, - $ 4.544796274918D-01, 3.088970405060D-02, - $ 4.919389072147D-01, 6.240947677637D-02, - $ 5.279313026985D-01, 9.430706144280D-02, - $ 5.624169925571D-01, 1.263547818770D-01, - $ 5.953484627093D-01, 1.583430788823D-01, - $ 6.266730715339D-01, 1.900748462556D-01, - $ 6.563363204279D-01, 2.213599519593D-01, - $ 5.314574716586D-01, 3.152508811515D-02, - $ 5.674614932298D-01, 6.343865291466D-02, - $ 6.017706004970D-01, 9.551503504224D-02, - $ 6.343471270264D-01, 1.275440099801D-01, - $ 6.651494599128D-01, 1.593252037672D-01, - $ 6.050184986006D-01, 3.192538338496D-02, - $ 6.390163550880D-01, 6.402824353962D-02, - $ 6.711199107088D-01, 9.609805077003D-02, - $ 6.741354429572D-01, 3.211853196273D-02 / - DATA ((S(i,j,31),i=1,2),j=1,90) - $ / 6.655644120217D-02, 1.936508874588D-02, - $ 9.446246161270D-02, 4.252442002116D-02, - $ 1.242651925453D-01, 6.806529315354D-02, - $ 1.553438064847D-01, 9.560957491205D-02, - $ 1.871137110543D-01, 1.245931657453D-01, - $ 2.192612628836D-01, 1.545385828779D-01, - $ 2.515682807207D-01, 1.851004249723D-01, - $ 2.838535866287D-01, 2.160182608272D-01, - $ 3.159578817529D-01, 2.470799012277D-01, - $ 3.477370882791D-01, 2.781014208986D-01, - $ 3.790576960891D-01, 3.089172523516D-01, - $ 4.097938317810D-01, 3.393750055472D-01, - $ 4.398256572860D-01, 3.693322470988D-01, - $ 4.690384114718D-01, 3.986541005610D-01, - $ 4.973216048301D-01, 4.272112491409D-01, - $ 5.245681526132D-01, 4.548781735310D-01, - $ 5.506733911804D-01, 4.815315355023D-01, - $ 5.755339829522D-01, 5.070486445802D-01, - $ 1.305472386056D-01, 2.284970375722D-02, - $ 1.637327908216D-01, 4.812254338288D-02, - $ 1.972734634150D-01, 7.531734457512D-02, - $ 2.308694653110D-01, 1.039043639882D-01, - $ 2.643899218338D-01, 1.334526587118D-01, - $ 2.977171599622D-01, 1.636414868936D-01, - $ 3.307293903032D-01, 1.942195406167D-01, - $ 3.633069198219D-01, 2.249752879944D-01, - $ 3.953346955923D-01, 2.557218821820D-01, - $ 4.267018394185D-01, 2.862897925213D-01, - $ 4.573009622572D-01, 3.165224536637D-01, - $ 4.870279559856D-01, 3.462730221636D-01, - $ 5.157819581450D-01, 3.754016870283D-01, - $ 5.434651666465D-01, 4.037733784994D-01, - $ 5.699823887765D-01, 4.312557784139D-01, - $ 5.952403350948D-01, 4.577175367122D-01, - $ 2.025152599210D-01, 2.520253617720D-02, - $ 2.381066653274D-01, 5.223254506119D-02, - $ 2.732823383652D-01, 8.060669688589D-02, - $ 3.080137692611D-01, 1.099335754081D-01, - $ 3.422405614588D-01, 1.399120955960D-01, - $ 3.758808773890D-01, 1.702977801652D-01, - $ 4.088458383439D-01, 2.008799256602D-01, - $ 4.410450550841D-01, 2.314703052181D-01, - $ 4.723879420561D-01, 2.618972111376D-01, - $ 5.027843561874D-01, 2.920013195600D-01, - $ 5.321453674452D-01, 3.216322555191D-01, - $ 5.603839113834D-01, 3.506456615934D-01, - $ 5.874150706875D-01, 3.789007181306D-01, - $ 6.131559381660D-01, 4.062580170573D-01, - $ 2.778497016395D-01, 2.696271276876D-02, - $ 3.143733562262D-01, 5.523469316960D-02, - $ 3.501485810262D-01, 8.445193201626D-02, - $ 3.851430322304D-01, 1.143263119336D-01, - $ 4.193013979470D-01, 1.446177898344D-01, - $ 4.525585960459D-01, 1.751165438438D-01, - $ 4.848447779623D-01, 2.056338306746D-01, - $ 5.160871208277D-01, 2.359965487229D-01, - $ 5.462112185697D-01, 2.660430223139D-01, - $ 5.751425068102D-01, 2.956193664498D-01, - $ 6.028073872854D-01, 3.245763905313D-01, - $ 6.291338275278D-01, 3.527670026207D-01, - $ 3.541797528439D-01, 2.823853479436D-02, - $ 3.908234972075D-01, 5.741296374713D-02, - $ 4.264408450108D-01, 8.724646633650D-02, - $ 4.609949666553D-01, 1.175034422916D-01, - $ 4.944389496536D-01, 1.479755652628D-01, - $ 5.267194884346D-01, 1.784740659484D-01, - $ 5.577787810221D-01, 2.088245700431D-01, - $ 5.875563763537D-01, 2.388628136571D-01, - $ 6.159910016391D-01, 2.684308928769D-01, - $ 6.430219602956D-01, 2.973740761960D-01, - $ 4.300647036214D-01, 2.916399920494D-02, - $ 4.661486308936D-01, 5.898803024756D-02, - $ 5.009658555287D-01, 8.924162698525D-02, - $ 5.344824270448D-01, 1.197185199637D-01, - $ 5.666575997416D-01, 1.502300756161D-01, - $ 5.974457471405D-01, 1.806004191914D-01, - $ 6.267984444117D-01, 2.106621764786D-01, - $ 6.546664713575D-01, 2.402526932672D-01, - $ 5.042711004437D-01, 2.982529203608D-02, - $ 5.392127456774D-01, 6.008728062340D-02, - $ 5.726819437669D-01, 9.058227674571D-02, - $ 6.046469254207D-01, 1.211219235803D-01, - $ 6.350716157435D-01, 1.515286404792D-01, - $ 6.639177679185D-01, 1.816314681256D-01, - $ 5.757276040972D-01, 3.026991752575D-02, - $ 6.090265823140D-01, 6.078402297871D-02, - $ 6.406735344388D-01, 9.135459984177D-02, - $ 6.706397927794D-01, 1.218024155967D-01, - $ 6.435019674427D-01, 3.052608357661D-02, - $ 6.747218676376D-01, 6.112185773983D-02 / - - Pi = ACOS(-1d0) - Pi4 = 4 * Pi - -c Determine if the number of points requested is valid, and, if the -c formula is simple enough, go ahead and put it in now... - - IF (N.eq.1) THEN - Pts(1,1) = 0D0 - Pts(2,1) = 0D0 - Pts(3,1) = 1D0 - Wts (1) = Pi4 - RETURN - ELSEIF (N.eq.4) THEN - CALL VRLoad(Pts,12,SQRT(1D0/3D0)) - CALL VRLoad(Wts,4,Pi) - Pts(1,2) = -Pts(1,2) - Pts(2,2) = -Pts(2,2) - Pts(1,3) = -Pts(1,3) - Pts(3,3) = -Pts(3,3) - Pts(2,4) = -Pts(2,4) - Pts(3,4) = -Pts(3,4) - RETURN - ELSEIF (N.eq.6) THEN - Leb = 1 - ELSEIF (N.eq.18) THEN - Leb = 2 - ELSEIF (N.eq.26) THEN - Leb = 3 - ELSEIF (N.eq.38) THEN - Leb = 4 - ELSEIF (N.eq.50) THEN - Leb = 5 - ELSEIF (N.eq.74) THEN - Leb = 6 - ELSEIF (N.eq.86) THEN - Leb = 7 - ELSEIF (N.eq.110) THEN - Leb = 8 - ELSEIF (N.eq.146) THEN - Leb = 9 - ELSEIF (N.eq.170) THEN - Leb = 10 - ELSEIF (N.eq.194) THEN - Leb = 11 - ELSEIF (N.eq.230) THEN - Leb = 12 - ELSEIF (N.eq.266) THEN - Leb = 13 - ELSEIF (N.eq.302) THEN - Leb = 14 - ELSEIF (N.eq.350) THEN - Leb = 15 - ELSEIF (N.eq.434) THEN - Leb = 16 - ELSEIF (N.eq.590) THEN - Leb = 17 - ELSEIF (N.eq.770) THEN - Leb = 18 - ELSEIF (N.eq.974) THEN - Leb = 19 - ELSEIF (N.eq.1202) THEN - Leb = 20 - ELSEIF (N.eq.1454) THEN - Leb = 21 - ELSEIF (N.eq.1730) THEN - Leb = 22 - ELSEIF (N.eq.2030) THEN - Leb = 23 - ELSEIF (N.eq.2354) THEN - Leb = 24 - ELSEIF (N.eq.2702) THEN - Leb = 25 - ELSEIF (N.eq.3074) THEN - Leb = 26 - ELSEIF (N.eq.3470) THEN - Leb = 27 - ELSEIF (N.eq.3890) THEN - Leb = 28 - ELSEIF (N.eq.4334) THEN - Leb = 29 - ELSEIF (N.eq.4802) THEN - Leb = 30 - ELSEIF (N.eq.5294) THEN - Leb = 31 - ELSE - write(*,*)'Valid Angular Grids are :' - write(*,*)'6, 18, 26, 38, 50, 74, 86, 110, 146, 170, 194, 230' - write(*,*)'266, 302, 434, 590, 770, 974, 1202, 1454, 1730' - write(*,*)'2030, 2354, 2702, 3074, 3470, 3890, 4334, 4802, 5294' - CALL EXIT - ENDIF - -c Construct the Lebedev octahedral sets from their defining -c parameters. See the references given above... - - iPt = 0 - -c First, the special sets... - -c 6-point set (A1)... - - IF (SetTyp(1,Leb).eq.1) THEN - CALL VRLoad(Pts(1,iPt+1),18,0D0) - CALL VRLoad(Wts(iPt+1),6,A(1,Leb)) - z = 1D0 - DO 100 i = 1,6 - Pts((i+1)/2,iPt+i) = z - z = -z - 100 CONTINUE - iPt = iPt + 6 - ENDIF - -c 12-point set (A2)... - - IF (SetTyp(2,Leb).eq.1) THEN - CALL VRLoad(Pts(1,iPt+1),36,0D0) - CALL VRLoad(Wts(iPt+1),12,A(2,Leb)) - z = SQRT(0.5D0) - DO 200 i = 1,2 - DO 210 j = i+1,3 - Pts(i,iPt+1) = z - Pts(j,iPt+1) = z - Pts(i,iPt+2) = z - Pts(j,iPt+2) = -z - Pts(i,iPt+3) = -z - Pts(j,iPt+3) = z - Pts(i,iPt+4) = -z - Pts(j,iPt+4) = -z - iPt = iPt + 4 - 210 CONTINUE - 200 CONTINUE - ENDIF - -c 8-point set (A3)... - - IF (SetTyp(3,Leb).eq.1) THEN - CALL VRLoad(Wts(iPt+1),8,A(3,Leb)) - z = SQRT(1D0/3D0) - DO 300 i1 = 0,1 - DO 310 i2 = 0,1 - DO 320 i3 = 0,1 - Pts(1,iPt+1) = (-1)**i1 * z - Pts(2,iPt+1) = (-1)**i2 * z - Pts(3,iPt+1) = (-1)**i3 * z - iPt = iPt + 1 - 320 CONTINUE - 310 CONTINUE - 300 CONTINUE - ENDIF - -c Next, the general sets... - -c 24-point sets (Bk)... - - DO 400 k = 1,SetTyp(4,Leb) - CALL VRLoad(Wts(iPt+1),24,B(k,Leb)) - mk = SQRT(ABS(T(k,Leb))) - lk = SQRT((1D0-mk**2)/2) - DO 410 j = 1,3 - DO 420 i1 = 0,1 - DO 430 i2 = 0,1 - DO 440 i3 = 0,1 - Pts(Pmt(1,j),iPt+1) = (-1)**i1 * mk - Pts(Pmt(2,j),iPt+1) = (-1)**i2 * lk - Pts(Pmt(3,j),iPt+1) = (-1)**i3 * lk - iPt = iPt + 1 - 440 CONTINUE - 430 CONTINUE - 420 CONTINUE - 410 CONTINUE - 400 CONTINUE - -c 24-point sets (Ck)... - - DO 500 k = 1,SetTyp(5,Leb) - CALL VRLoad(Wts(iPt+1),24,C(k,Leb)) - pk = SQRT(ABS((1D0+SQRT(1D0-4*V(k,Leb)))/2)) - qk = SQRT(1D0-pk**2) - DO 510 j = 1,6 - DO 520 i1 = 0,1 - DO 530 i2 = 0,1 - Pts(Pmt(1,j),iPt+1) = (-1)**i1 * pk - Pts(Pmt(2,j),iPt+1) = (-1)**i2 * qk - Pts(Pmt(3,j),iPt+1) = 0D0 - iPt = iPt + 1 - 530 CONTINUE - 520 CONTINUE - 510 CONTINUE - 500 CONTINUE - -c 48-point sets (Dk)... - - DO 600 k = 1,SetTyp(6,Leb) - CALL VRLoad(Wts(iPt+1),48,D(k,Leb)) - -c To find the base-points r,s,w, we must find the roots -c of a polynomial (See Ref. 2)... - - s1k = S(1,k,Leb) - s2k = S(2,k,Leb) - s3k = SQRT(1-s1k*s1k-s2k*s2k) - - DO j = 1,6 - do i1 = 0,1 - do i2 = 0,1 - do i3 = 0,1 - Pts(Pmt(1,j),iPt+1) = (-1)**i1*s1k - Pts(Pmt(2,j),iPt+1) = (-1)**i2*s3k - Pts(Pmt(3,j),iPt+1) = (-1)**i3*s2k - iPt = iPt + 1 - enddo - enddo - enddo - enddo - 600 CONTINUE - -c Scale the weights by 4*Pi and we're done... - - CALL VRScale(Wts,N,Pi4) - RETURN - END - -c----------------------------------------------------------------------- - - SUBROUTINE VRload(A,N,Value) - IMPLICIT REAL*8 (a-h,o-z) - REAL*8 A(N) - DO i = 1,N - A(i) = Value - END DO - RETURN - END - -c----------------------------------------------------------------------- - - SUBROUTINE VRscale(A,N,Scale) - IMPLICIT REAL*8 (a-h,o-z) - REAL*8 A(N) - DO i = 1, N - A(i) = Scale * A(i) - END DO - RETURN - END diff --git a/src/BasCor/ec_srlda.f90 b/src/BasCor/ec_srlda.f90 deleted file mode 100644 index 96ffd03..0000000 --- a/src/BasCor/ec_srlda.f90 +++ /dev/null @@ -1,52 +0,0 @@ -subroutine ec_srlda(nGrid,weight,rho,mu) - -! Compute sr-lda ec - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nGrid - double precision,intent(in) :: weight(nGrid) - double precision,intent(in) :: rho(nGrid) - double precision,intent(in) :: mu(nGrid) - -! Local variables - - integer :: iG - double precision :: r,ra,rb - double precision :: rs - double precision :: ec_lda,ecmd_lda - double precision :: ec,ecmd,vcup,vcdw - -! Initialization - - ec_lda = 0d0 - ecmd_lda = 0d0 - - do iG=1,ngrid - - r = max(0d0,rho(iG)) - ra = 0.5d0*r - rb = 0.5d0*r - - if(r > threshold) then - - rs = (4d0*pi*r/3d0)**(-1d0/3d0) - - call lsdsr(rs,0d0,mu(iG),ec,vcup,vcdw) - call ESRC_MD_LDAERF(mu(iG),ra,rb,.true.,ecmd) - ec_lda = ec_lda + weight(iG)*ec*r - ecmd_lda = ecmd_lda + weight(iG)*ecmd*r - - end if - - end do - - write(*,*) - write(*,'(A32,1X,F16.10)') 'Ec(sr-LDA) = ',ec_lda - write(*,'(A32,1X,F16.10)') 'Ecmd(sr-LDA) = ',ec_lda + ecmd_lda - write(*,*) - -end subroutine ec_srlda diff --git a/src/BasCor/ecmd_lda.f90 b/src/BasCor/ecmd_lda.f90 deleted file mode 100644 index a7fa705..0000000 --- a/src/BasCor/ecmd_lda.f90 +++ /dev/null @@ -1,200 +0,0 @@ -!**************************************************************************** - subroutine ESRC_MD_LDAERF (mu,rho_a,rho_b,dospin,e) -!***************************************************************************** -! Short-range spin-dependent LDA correlation functional with multideterminant reference -! for OEP calculations from Section V of -! Paziani, Moroni, Gori-Giorgi and Bachelet, PRB 73, 155111 (2006) -! -! Input: rhot : total density -! rhos : spin density -! mu : Interation parameter -! dospin : use spin density -! -! Ouput: e : energy -! -! Created: 26-08-11, J. Toulouse -!***************************************************************************** - implicit none - - double precision, intent(in) :: rho_a,rho_b,mu - logical, intent(in) :: dospin - double precision, intent(out):: e - - double precision :: e1 - double precision :: rhoa,rhob - double precision :: rhot, rhos - rhoa=max(rho_a,1.0d-15) - rhob=max(rho_b,1.0d-15) - rhot = rhoa + rhob - rhos = rhoa - rhob - - call ec_only_lda_sr(mu,rho_a,rho_b,e1) - if(isnan(e1))then - print*,'e1 is NaN' - print*,mu,rho_a,rho_b - stop - endif - e1 = 0d0 - call DELTA_LRSR_LDAERF (rhot,rhos,mu,dospin,e) - if(isnan(e))then - print*,'e is NaN' - print*,mu,rhot,rhos - stop - endif - e = e1 + e - - end - -!**************************************************************************** - subroutine DELTA_LRSR_LDAERF (rhot,rhos,mu,dospin,e) -!***************************************************************************** -! LDA approximation to term Delta_(LR-SR) from Eq. 42 of -! Paziani, Moroni, Gori-Giorgi and Bachelet, PRB 73, 155111 (2006) -! -! Input: rhot : total density -! rhos : spin density -! mu : Interation parameter -! dospin : use spin density -! -! Ouput: e : energy -! -! Warning: not tested for z != 0 -! -! Created: 26-08-11, J. Toulouse -!***************************************************************************** - implicit none - - double precision rhot, rhos, mu - logical dospin - double precision e - - double precision f13, f83, pi, rsfac, alpha2 - double precision rs, rs2, rs3 - - double precision rhoa, rhob, z, z2, onepz, onemz, zp, zm, phi8 - double precision g0s,g0f - double precision bd2, bd3 - double precision c45, c4, c5 - double precision bc2, bc4, bc3t, bc5t, d0 - double precision delta2,delta3,delta4,delta5,delta6 - double precision delta - - parameter(f13 = 0.333333333333333d0) - parameter(f83 = 2.6666666666666665d0) - parameter(pi = 3.141592653589793d0) - parameter(rsfac = 0.620350490899400d0) - parameter(alpha2 = 0.2715053589826032d0) - - rs = rsfac/(rhot**f13) - rs2 = rs*rs - rs3 = rs2*rs - -! Spin-unpolarized case - if (.not.dospin) then - z = 0.d0 - -! Spin-polarized case - else - rhoa=max((rhot+rhos)*.5d0,1.0d-15) - rhob=max((rhot-rhos)*.5d0,1.0d-15) - z=min((rhoa-rhob)/(rhoa+rhob),0.9999999999d0) - endif - - z2=z*z - - bd2=dexp(-0.547d0*rs)*(-0.388d0*rs+0.676*rs2)/rs2 - bd3=dexp(-0.31d0*rs)*(-4.95d0*rs+rs2)/rs3 - - onepz=1.d0+z - onemz=1.d0-z - phi8=0.5d0*(onepz**f83+onemz**f83) - - zp=onepz/2.d0 - zm=onemz/2.d0 - c45=(zp**2)*g0s(rs*zp**(-f13))+(zm**2)*g0s(rs*zm**(-f13)) - c4=c45+(1.d0-z2)*bd2-phi8/(5.d0*alpha2*rs2) - c5=c45+(1.d0-z2)*bd3 - - bc2=-3.d0*(1-z2)*(g0f(rs)-0.5d0)/(8.d0*rs3) - bc4=-9.d0*c4/(64.d0*rs3) - bc3t=-(1-z2)*g0f(rs)*(2.d0*dsqrt(2.d0)-1)/(2.d0*dsqrt(pi)*rs3) - bc5t = -3.d0*c5*(3.d0-dsqrt(2.d0))/(20.d0*dsqrt(2.d0*pi)*rs3) - - d0=(0.70605d0+0.12927d0*z2)*rs - delta2=0.073867d0*(rs**(1.5d0)) - delta3=4*(d0**6)*bc3t+(d0**8)*bc5t; - delta4=4*(d0**6)*bc2+(d0**8)*bc4; - delta5=(d0**8)*bc3t; - delta6=(d0**8)*bc2; - delta=(delta2*(mu**2)+delta3*(mu**3)+delta4*(mu**4)+delta5*(mu**5)+delta6*(mu**6))/((1+(d0**2)*(mu**2))**4) - - -! multiply by rhot to get energy density -! e=delta*rhot - e=delta - - end - -!***************************************************************************** - double precision function g0s(rs) -!***************************************************************************** -! g"(0,rs,z=1) from Eq. 32 of -! Paziani, Moroni, Gori-Giorgi and Bachelet, PRB 73, 155111 (2006) -! -! Created: 26-08-11, J. Toulouse -!***************************************************************************** - implicit none - double precision rs - double precision rs2, f53, alpha2 - parameter(f53 = 1.6666666666666667d0) - parameter(alpha2 = 0.2715053589826032d0) - rs2=rs*rs - g0s=(2.d0**f53)*(1.d0-0.02267d0*rs)/((5.d0*alpha2*rs2)*(1.d0+0.4319d0*rs+0.04d0*rs2)) - end - - double precision function g0f(x) -!cc on-top pair-distribution function -!cc Gori-Giorgi and Perdew, PRB 64, 155102 (2001) -!cc x -> rs - implicit none - double precision C0f,D0f,E0f,F0f,x - C0f = 0.0819306d0 - D0f = 0.752411d0 - E0f = -0.0127713d0 - F0f = 0.00185898d0 - g0f=(1.d0-(0.7317d0-D0f)*x+C0f*x**2+E0f*x**3+ & - F0f*x**4)*exp(-abs(D0f)*x)/2.d0 - return - end - -subroutine ec_only_lda_sr(mu,rho_a,rho_b,ec) - implicit none - include 'parameters.h' - - double precision, intent(out) :: ec - double precision, intent(in) :: mu,rho_a,rho_b - -! Double precision numbers - - double precision :: rsfac,rho,rs,rhoa,rhob,z - double precision :: eccoul, ecd, ecz, ecdd, eczd - double precision :: eclr - rsfac = (3.0d0/(4.0d0*pi))**(1d0/3d0) - - ec = 0.d0 -! Test on density - rho = rho_a + rho_b - if (dabs(rho).ge.1.d-12) then - - rs=rsfac/(rho**(1d0/3d0)) - rhoa=max(rho_a,1.0d-15) - rhob=max(rho_b,1.0d-15) - z=(rhoa-rhob)/(rhoa+rhob) - - call ecPW(rs,z,eccoul,ecd,ecz,ecdd,eczd) - call ecorrlr(rs,z,mu,eclr) - ec=(eccoul-eclr)*rho - - endif - -end diff --git a/src/BasCor/f_grid.f90 b/src/BasCor/f_grid.f90 deleted file mode 100644 index 63bd3f8..0000000 --- a/src/BasCor/f_grid.f90 +++ /dev/null @@ -1,44 +0,0 @@ -subroutine f_grid(nBas,nO,nGrid,MO,ERI,f) - -! Compute f - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nBas - integer,intent(in) :: nO - integer,intent(in) :: nGrid - double precision,intent(in) :: MO(nBas,nGrid) - double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) - -! Local variables - - integer :: p,q - integer :: i,j - integer :: iG - -! Output variables - - double precision,intent(out) :: f(nGrid) - -! Initialization - - f(:) = 0d0 - - do p=1,nBas - do q=1,nBas - do i=1,nO - do j=1,nO - do iG=1,ngrid - - f(iG) = f(iG) + MO(p,iG)*MO(q,iG)*ERI(p,q,i,j)*MO(i,iG)*MO(j,iG) - - end do - end do - end do - end do - end do - -end subroutine f_grid diff --git a/src/BasCor/fc_srlda.f90 b/src/BasCor/fc_srlda.f90 deleted file mode 100644 index 4af54ae..0000000 --- a/src/BasCor/fc_srlda.f90 +++ /dev/null @@ -1,88 +0,0 @@ -subroutine fc_srlda(nBas,nGrid,weight,MO,rho,mu,eG0W0) - -! Compute sr-lda ec - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nBas - integer,intent(in) :: nGrid - double precision,intent(in) :: weight(nGrid) - double precision,intent(in) :: MO(nBas,nGrid) - double precision,intent(in) :: rho(nGrid) - double precision,intent(in) :: mu(nGrid) - double precision,intent(in) :: eG0W0(nBas) - -! Local variables - - integer :: iG,p - double precision :: r,ra,rb,rap,ram - double precision :: rs,rsp,rsm - double precision :: ec,ecp,ecm,vcup,vcdw - double precision,parameter :: delta = 1d-6 - double precision,allocatable :: de(:) - -! Memory allocation - - allocate(de(nBas)) - -! Initialization - - de(:) = 0d0 - - do iG=1,ngrid - - r = max(0d0,rho(iG)) - ra = 0.5d0*r - rb = 0.5d0*r - - if(r > threshold) then - - rs = (4d0*pi*r/3d0)**(-1d0/3d0) - -! call lsdsr(rs,0d0,mu(iG),ec,vcup,vcdw) - if(abs(ra) > delta) then - - rap = ra + delta - ram = ra - delta - - rsp = (4d0*pi*rap/3d0)**(-1d0/3d0) - rsm = (4d0*pi*ram/3d0)**(-1d0/3d0) - -! call lsdsr(rsp,0d0,mu(iG),ecp,vcup,vcdw) -! call lsdsr(rsm,0d0,mu(iG),ecm,vcup,vcdw) - call lsdsr(rs,0d0,mu(iG),ec,vcup,vcdw) - - -! call ESRC_MD_LDAERF(mu(iG),rap,rb,.true.,ecp) -! call ESRC_MD_LDAERF(mu(iG),ram,rb,.true.,ecm) - -! vcup = (ecp - ecm)/(2d0*delta) - - else - - vcup = 0d0 - - end if - - do p=1,nBas - - de(p)= de(p) + weight(iG)*vcup*MO(p,iG)**2 - - end do - - end if - - end do - - print*, 'Eigenvalues correction from srDFT (in eV)' - call matout(nBas,1,de(:)*HaToeV) - - print*, 'Corrected G0W0 eigenvalues (in eV)' - call matout(nBas,1,(eG0W0(:) + de(:))*HaToeV) - - - -end subroutine fc_srlda diff --git a/src/BasCor/mu_grid.f90 b/src/BasCor/mu_grid.f90 deleted file mode 100644 index b86425e..0000000 --- a/src/BasCor/mu_grid.f90 +++ /dev/null @@ -1,46 +0,0 @@ -subroutine mu_grid(nGrid,rho,f,mu) - -! Compute mu - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nGrid - double precision,intent(in) :: rho(nGrid) - double precision,intent(in) :: f(nGrid) - -! Local variables - - integer :: iG - double precision,parameter :: thres = 1d-10 - double precision :: n2 - -! Output variables - - double precision,intent(out) :: mu(nGrid) - -! Initialization - - mu(:) = 0d0 - - do iG=1,ngrid - - n2 = 0.25d0*rho(iG)**2 - - if(abs(n2) > thres) then - - mu(iG) = f(iG)/n2 - - else - - mu(iG) = 1d0/thres - - end if - - end do - - mu(:) = 0.5d0*sqrt(pi)*mu(:) - -end subroutine mu_grid diff --git a/src/BasCor/quadrature_grid.f90 b/src/BasCor/quadrature_grid.f90 deleted file mode 100644 index 30a7152..0000000 --- a/src/BasCor/quadrature_grid.f90 +++ /dev/null @@ -1,77 +0,0 @@ -subroutine quadrature_grid(nRad,nAng,nGrid,root,weight) - -! Build roots and weights of quadrature grid - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nRad,nAng,nGrid - -! Local variables - - integer :: i,j,k - double precision :: scale - double precision,allocatable :: Radius(:) - double precision,allocatable :: RadWeight(:) - double precision,allocatable :: XYZ(:,:) - double precision,allocatable :: XYZWeight(:) - -! Output variables - - double precision,intent(out) :: root(3,nGrid) - double precision,intent(out) :: weight(nGrid) - -! Memory allocation - - allocate(Radius(nRad),RadWeight(nRad),XYZ(3,nAng),XYZWeight(nAng)) - -! Find the radial grid - - scale = 1d0 - call EulMac(Radius,RadWeight,nRad,scale) - - write(*,20) - write(*,30) - write(*,20) - do i = 1,nRad - write(*,40) i,Radius(i),RadWeight(i) - end do - write(*,20) - write(*,*) - -! Find the angular grid - - call Lebdev(XYZ,XYZWeight,nAng) - - write(*,20) - write(*,50) - write(*,20) - do j = 1,nAng - write(*,60) j,(XYZ(k,j),k=1,3), XYZWeight(j) - end do - write(*,20) - -! Form the roots and weights - - k = 0 - do i=1,nRad - do j=1,nAng - k = k + 1 - root(:,k) = Radius(i)*XYZ(:,j) - weight(k) = RadWeight(i)*XYZWeight(j) - enddo - enddo - -! Compute values of the basis functions (and the its gradient if required) at each grid point - -20 format(T2,58('-')) -30 format(T20,'Radial Quadrature',/, & - T6,'I',T26,'Radius',T50,'Weight') -40 format(T3,I4,T18,F17.10,T35,F25.10) -50 format(T20,'Angular Quadrature',/, & - T6,'I',T19,'X',T29,'Y',T39,'Z',T54,'Weight') -60 format(T3,I4,T13,3F10.5,T50,F10.5) - -end subroutine quadrature_grid diff --git a/src/BasCor/read_F12_integrals.f90 b/src/BasCor/read_F12_integrals.f90 deleted file mode 100644 index 93fe2e5..0000000 --- a/src/BasCor/read_F12_integrals.f90 +++ /dev/null @@ -1,169 +0,0 @@ -subroutine read_F12_integrals(nBas,S,C,F,Y,FC) - -! Read one- and two-electron integrals from files - - implicit none - -! Input variables - - integer,intent(in) :: nBas - double precision,intent(in) :: S(nBas,nBas) - -! Local variables - - logical :: debug - integer :: mu,nu,la,si,ka,ta - double precision :: ERI,F12,Yuk,F13C12,ExpS - -! Output variables - - double precision,intent(out) :: C(nBas,nBas,nBas,nBas) - double precision,intent(out) :: F(nBas,nBas,nBas,nBas) - double precision,intent(out) :: Y(nBas,nBas,nBas,nBas) - double precision,intent(out) :: FC(nBas,nBas,nBas,nBas,nBas,nBas) - - debug = .false. - -! Open file with integrals - - open(unit=21,file='int/ERI.dat') - open(unit=22,file='int/F12.dat') - open(unit=23,file='int/Yuk.dat') - open(unit=31,file='int/3eInt_Type1.dat') - -! Read 1/r12 integrals - - C = 0d0 - do - read(21,*,end=21) mu,nu,la,si,ERI -! <12|34> - C(mu,nu,la,si) = ERI -! <32|14> - C(la,nu,mu,si) = ERI -! <14|32> - C(mu,si,la,nu) = ERI -! <34|12> - C(la,si,mu,nu) = ERI -! <41|23> - C(si,mu,nu,la) = ERI -! <23|41> - C(nu,la,si,mu) = ERI -! <21|43> - C(nu,mu,si,la) = ERI -! <43|21> - C(si,la,nu,mu) = ERI - enddo - 21 close(unit=21) - -! Read f12 integrals - - F = 0d0 - do - read(22,*,end=22) mu,nu,la,si,F12 -! <12|34> - F(mu,nu,la,si) = F12 -! <32|14> - F(la,nu,mu,si) = F12 -! <14|32> - F(mu,si,la,nu) = F12 -! <34|12> - F(la,si,mu,nu) = F12 -! <41|23> - F(si,mu,nu,la) = F12 -! <23|41> - F(nu,la,si,mu) = F12 -! <21|43> - F(nu,mu,si,la) = F12 -! <43|21> - F(si,la,nu,mu) = F12 - enddo - 22 close(unit=22) - -! Read f12/r12 integrals - - Y = 0d0 - do - read(23,*,end=23) mu,nu,la,si,Yuk -! <12|34> - Y(mu,nu,la,si) = Yuk -! <32|14> - Y(la,nu,mu,si) = Yuk -! <14|32> - Y(mu,si,la,nu) = Yuk -! <34|12> - Y(la,si,mu,nu) = Yuk -! <41|23> - Y(si,mu,nu,la) = Yuk -! <23|41> - Y(nu,la,si,mu) = Yuk -! <21|43> - Y(nu,mu,si,la) = Yuk -! <43|21> - Y(si,la,nu,mu) = Yuk - enddo - 23 close(unit=23) - -! Read f13/r12 integrals - - FC = 0d0 - do - read(31,*,end=31) mu,nu,la,si,ka,ta,F13C12 - FC(mu,nu,la,si,ka,ta) = F13C12 - enddo - 31 close(unit=31) - -! Print results - - if(debug) then - - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'Electron repulsion integrals' - write(*,'(A28)') '----------------------' - do la=1,nBas - do si=1,nBas - call matout(nBas,nBas,C(1,1,la,si)) - enddo - enddo - write(*,*) - - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'F12 integrals' - write(*,'(A28)') '----------------------' - do la=1,nBas - do si=1,nBas - call matout(nBas,nBas,F(1,1,la,si)) - enddo - enddo - write(*,*) - - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'Yukawa integrals' - write(*,'(A28)') '----------------------' - do la=1,nBas - do si=1,nBas - call matout(nBas,nBas,Y(1,1,la,si)) - enddo - enddo - write(*,*) - - endif - -! Read exponent of Slater geminal - open(unit=4,file='input/geminal') - read(4,*) ExpS - close(unit=4) - -! Transform two-electron integrals - -! do mu=1,nBas -! do nu=1,nBas -! do la=1,nBas -! do si=1,nBas -! F(mu,nu,la,si) = (S(mu,la)*S(nu,si) - F(mu,nu,la,si))/ExpS -! Y(mu,nu,la,si) = (C(mu,nu,la,si) - Y(mu,nu,la,si))/ExpS -! enddo -! enddo -! enddo -! enddo - -end subroutine read_F12_integrals diff --git a/src/BasCor/read_grid.f90 b/src/BasCor/read_grid.f90 deleted file mode 100644 index 5cf4391..0000000 --- a/src/BasCor/read_grid.f90 +++ /dev/null @@ -1,47 +0,0 @@ -subroutine read_grid(SGn,nRad,nAng,nGrid) - -! Read grid type - - implicit none - -! Input variables - - integer,intent(in) :: SGn - -! Output variables - - integer,intent(out) :: nRad - integer,intent(out) :: nAng - integer,intent(out) :: nGrid - - write(*,*)'----------------------------------------------------------' - write(*,'(A22,I1)')' Quadrature grid: SG-',SGn - write(*,*)'----------------------------------------------------------' - - select case (SGn) - - case(0) - nRad = 23 - nAng = 170 - - case(1) - nRad = 50 - nAng = 194 - - case(2) - nRad = 75 - nAng = 302 - - case(3) - nRad = 99 - nAng = 590 - - case default - call print_warning('!!! Quadrature grid not available !!!') - stop - - end select - - nGrid = nRad*nAng - -end subroutine read_grid diff --git a/src/IntPak.tgz b/src/IntPak.tgz deleted file mode 100644 index 6f1cae75fe068ed5561b603bf9068de9887b8d82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81568 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 diff --git a/src/MC/AO_values.f90 b/src/MC/AO_values.f90 deleted file mode 100644 index 0050f26..0000000 --- a/src/MC/AO_values.f90 +++ /dev/null @@ -1,108 +0,0 @@ -subroutine AO_values(doDrift,nBas,nShell,nWalk,CenterShell,TotAngMomShell,KShell,DShell,ExpShell,r,AO,dAO) - -! Compute values of the AOs and their derivatives (if required) - - implicit none - include 'parameters.h' - -! Input variables - - logical,intent(in) :: doDrift - integer,intent(in) :: nBas,nShell,nWalk - double precision,intent(in) :: CenterShell(maxShell,3) - integer,intent(in) :: TotAngMomShell(maxShell),KShell(maxShell) - double precision,intent(in) :: DShell(maxShell,maxK),ExpShell(maxShell,maxK) - double precision,intent(in) :: r(nWalk,2,3) - -! Local variables - - integer :: atot,nShellFunction,a(3) - integer,allocatable :: ShellFunction(:,:) - double precision :: rASq,xA,yA,zA,norm_coeff,prim - - integer :: iSh,iShF,iK,iW,iEl,iBas,ixyz - -! Output variables - - double precision,intent(out) :: AO(nWalk,2,nBas),dAO(nWalk,2,3,nBas) - -! Initialization - - AO = 0d0 - if(doDrift) dAO = 0d0 - iBas = 0 - -!------------------------------------------------------------------------ -! Loops over shells -!------------------------------------------------------------------------ - do iSh=1,nShell - - atot = TotAngMomShell(iSh) - nShellFunction = (atot*atot + 3*atot + 2)/2 - allocate(ShellFunction(1:nShellFunction,1:3)) - call generate_shell(atot,nShellFunction,ShellFunction) - - do iShF=1,nShellFunction - - iBas = iBas + 1 - a(1) = ShellFunction(iShF,1) - a(2) = ShellFunction(iShF,2) - a(3) = ShellFunction(iShF,3) - - do iW=1,nWalk - do iEl=1,2 - - xA = r(iW,iEl,1) - CenterShell(iSh,1) - yA = r(iW,iEl,2) - CenterShell(iSh,2) - zA = r(iW,iEl,3) - CenterShell(iSh,3) - -! Calculate distance for exponential - - rASq = xA**2 + yA**2 + zA**2 - -!------------------------------------------------------------------------ -! Loops over contraction degrees -!------------------------------------------------------------------------- - do iK=1,KShell(iSh) - -! Calculate the exponential part - prim = DShell(iSh,iK)*norm_coeff(ExpShell(iSh,iK),a)*exp(-ExpShell(iSh,iK)*rASq) - AO(iW,iEl,iBas) = AO(iW,iEl,iBas) + prim - - if(doDrift) then - prim = -2d0*ExpShell(iSh,iK)*prim - do ixyz=1,3 - dAO(iW,iEl,ixyz,iBas) = dAO(iW,iEl,ixyz,iBas) + prim - enddo - endif - - enddo - - if(doDrift) then - - dAO(iW,iEl,1,iBas) = xA**(a(1)+1)*yA**a(2)*zA**a(3)*dAO(iW,iEl,1,iBas) - if(a(1) > 0) dAO(iW,iEl,1,iBas) = dAO(iW,iEl,1,iBas) + dble(a(1))*xA**(a(1)-1)*yA**a(2)*zA**a(3)*AO(iW,iEl,iBas) - - dAO(iW,iEl,2,iBas) = xA**a(1)*yA**(a(2)+1)*zA**a(3)*dAO(iW,iEl,2,iBas) - if(a(2) > 0) dAO(iW,iEl,2,iBas) = dAO(iW,iEl,2,iBas) + dble(a(2))*xA**a(1)*yA**(a(2)-1)*zA**a(3)*AO(iW,iEl,iBas) - - dAO(iW,iEl,3,iBas) = xA**a(1)*yA**a(2)*zA**(a(3)+1)*dAO(iW,iEl,3,iBas) - if(a(3) > 0) dAO(iW,iEl,3,iBas) = dAO(iW,iEl,3,iBas) + dble(a(3))*xA**a(1)*yA**a(2)*zA**(a(3)-1)*AO(iW,iEl,iBas) - - endif - -! Calculate polynmial part - - AO(iW,iEl,iBas) = xA**a(1)*yA**a(2)*zA**a(3)*AO(iW,iEl,iBas) - - enddo - enddo - - enddo - deallocate(ShellFunction) - enddo -!------------------------------------------------------------------------ -! End loops over shells -!------------------------------------------------------------------------ - -end subroutine AO_values diff --git a/src/MC/AO_values_grid.f90 b/src/MC/AO_values_grid.f90 deleted file mode 100644 index a5a72a6..0000000 --- a/src/MC/AO_values_grid.f90 +++ /dev/null @@ -1,101 +0,0 @@ -subroutine AO_values_grid(nBas,nShell,CenterShell,TotAngMomShell,KShell,DShell,ExpShell, & - nGrid,root,AO,dAO) - -! Compute values of the AOs and their derivatives with respect to the cartesian coordinates - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nBas,nShell - double precision,intent(in) :: CenterShell(maxShell,3) - integer,intent(in) :: TotAngMomShell(maxShell) - integer,intent(in) :: KShell(maxShell) - double precision,intent(in) :: DShell(maxShell,maxK) - double precision,intent(in) :: ExpShell(maxShell,maxK) - double precision,intent(in) :: root(3,nGrid) - integer,intent(in) :: nGrid - -! Local variables - - integer :: atot,nShellFunction,a(3) - integer,allocatable :: ShellFunction(:,:) - double precision :: rASq,xA,yA,zA,norm_coeff,prim - - integer :: iSh,iShF,iK,iG,iBas - -! Output variables - - double precision,intent(out) :: AO(nBas,nGrid) - double precision,intent(out) :: dAO(3,nBas,nGrid) - -! Initialization - - iBas = 0 - AO(:,:) = 0d0 - dAO(:,:,:) = 0d0 - -!------------------------------------------------------------------------ -! Loops over shells -!------------------------------------------------------------------------ - do iSh=1,nShell - - atot = TotAngMomShell(iSh) - nShellFunction = (atot*atot + 3*atot + 2)/2 - allocate(ShellFunction(1:nShellFunction,1:3)) - call generate_shell(atot,nShellFunction,ShellFunction) - - do iShF=1,nShellFunction - - iBas = iBas + 1 - a(:) = ShellFunction(iShF,:) - - do iG=1,nGrid - - xA = root(1,iG) - CenterShell(iSh,1) - yA = root(2,iG) - CenterShell(iSh,2) - zA = root(3,iG) - CenterShell(iSh,3) - -! Calculate distance for exponential - - rASq = xA**2 + yA**2 + zA**2 - -!------------------------------------------------------------------------ -! Loops over contraction degrees -!------------------------------------------------------------------------- - do iK=1,KShell(iSh) - -! Calculate the exponential part - - prim = DShell(iSh,iK)*norm_coeff(ExpShell(iSh,iK),a)*exp(-ExpShell(iSh,iK)*rASq) - AO(iBas,iG) = AO(iBas,iG) + prim - - prim = -2d0*ExpShell(iSh,iK)*prim - dAO(:,iBas,iG) = dAO(:,iBas,iG) + prim - - enddo - - dAO(1,iBas,iG) = xA**(a(1)+1)*yA**a(2)*zA**a(3)*dAO(1,iBas,iG) - if(a(1) > 0) dAO(1,iBas,iG) = dAO(1,iBas,iG) + dble(a(1))*xA**(a(1)-1)*yA**a(2)*zA**a(3)*AO(iBas,iG) - - dAO(2,iBas,iG) = xA**a(1)*yA**(a(2)+1)*zA**a(3)*dAO(2,iBas,iG) - if(a(2) > 0) dAO(2,iBas,iG) = dAO(2,iBas,iG) + dble(a(2))*xA**a(1)*yA**(a(2)-1)*zA**a(3)*AO(iBas,iG) - - dAO(3,iBas,iG) = xA**a(1)*yA**a(2)*zA**(a(3)+1)*dAO(3,iBas,iG) - if(a(3) > 0) dAO(3,iBas,iG) = dAO(3,iBas,iG) + dble(a(3))*xA**a(1)*yA**a(2)*zA**(a(3)-1)*AO(iBas,iG) - -! Calculate polynmial part - - AO(iBas,iG) = xA**a(1)*yA**a(2)*zA**a(3)*AO(iBas,iG) - - enddo - - enddo - deallocate(ShellFunction) - enddo -!------------------------------------------------------------------------ -! End loops over shells -!------------------------------------------------------------------------ - -end subroutine AO_values_grid diff --git a/src/MC/Green_function.f90 b/src/MC/Green_function.f90 deleted file mode 100644 index 9feb5a3..0000000 --- a/src/MC/Green_function.f90 +++ /dev/null @@ -1,65 +0,0 @@ -subroutine Green_function(nBas,nO,nV,nWalk,nWP,cO,cV,eO_Quad,eV_Quad,AO, & - o1MO,o2MO,v1MO,v2MO,o11,o12,o21,o22,v11,v12,v21,v22) - -! Calculate the Green functions - - implicit none - - include 'parameters.h' - include 'quadrature.h' - -! Input variables - - integer,intent(in) :: nBas,nO,nV,nWalk,nWP - double precision,intent(in) :: AO(nWalk,2,nBas),cO(nBas,nO),cV(nBas,nV), & - eO_Quad(nQuad,nO),eV_Quad(nQuad,nV) - -! Local variables - - integer :: kW,lW,klW,i,a,q - double precision :: o1MO(nWalk,nO),o2MO(nWalk,nO),v1MO(nWalk,nV),v2MO(nWalk,nV) - -! Output variables - - double precision,intent(out) :: o11(nQuad,nWP),o12(nQuad,nWP),o21(nQuad,nWP),o22(nQuad,nWP) - double precision,intent(out) :: v11(nQuad,nWP),v12(nQuad,nWP),v21(nQuad,nWP),v22(nQuad,nWP) - -! Calculate occupied and virtual MOs - - o1MO = matmul(AO(:,1,:),cO) - o2MO = matmul(AO(:,2,:),cO) - v1MO = matmul(AO(:,1,:),cV) - v2MO = matmul(AO(:,2,:),cV) - -! Compute occupied Green functions - o11 = 0d0 - o12 = 0d0 - o21 = 0d0 - o22 = 0d0 - v11 = 0d0 - v12 = 0d0 - v21 = 0d0 - v22 = 0d0 - - do q=1,nQuad - klW = 0 - do kW=1,nWalk-1 - do lW=kW+1,nWalk - klW = klW + 1 - do i=1,nO - o11(q,klW) = o11(q,klW) + o1MO(kW,i)*o1MO(lW,i)*eO_Quad(q,i) - o12(q,klW) = o12(q,klW) + o1MO(kW,i)*o2MO(lW,i)*eO_Quad(q,i) - o21(q,klW) = o21(q,klW) + o2MO(kW,i)*o1MO(lW,i)*eO_Quad(q,i) - o22(q,klW) = o22(q,klW) + o2MO(kW,i)*o2MO(lW,i)*eO_Quad(q,i) - enddo - do a=1,nV - v11(q,klW) = v11(q,klW) + v1MO(kW,a)*v1MO(lW,a)*eV_Quad(q,a) - v12(q,klW) = v12(q,klW) + v1MO(kW,a)*v2MO(lW,a)*eV_Quad(q,a) - v21(q,klW) = v21(q,klW) + v2MO(kW,a)*v1MO(lW,a)*eV_Quad(q,a) - v22(q,klW) = v22(q,klW) + v2MO(kW,a)*v2MO(lW,a)*eV_Quad(q,a) - enddo - enddo - enddo - enddo - -end subroutine Green_function diff --git a/src/MC/MCMP2.f90 b/src/MC/MCMP2.f90 deleted file mode 100644 index 3851d25..0000000 --- a/src/MC/MCMP2.f90 +++ /dev/null @@ -1,344 +0,0 @@ - subroutine MCMP2(doDrift,nBas,nC,nO,nV,c,e,EcMP2, & - nMC,nEq,nWalk,dt,nPrint, & - nShell,CenterShell,TotAngMomShell,KShell,DShell,ExpShell, & - Norm, & - EcMCMP2,Err_EcMCMP2,Var_EcMCMP2) - -! Perform Monte Carlo MP2 calculation - - implicit none - - include 'parameters.h' - include 'quadrature.h' - -! Input variables - - logical,intent(in) :: doDrift - integer,intent(in) :: nBas,nC,nO,nV,nMC,nEq,nWalk,nPrint - double precision,intent(inout):: dt - double precision,intent(in) :: EcMP2(3) - double precision,intent(in) :: c(nBas,nBas),e(nBas) - - integer,intent(in) :: nShell - integer,intent(in) :: TotAngMomShell(maxShell),KShell(maxShell) - double precision,intent(in) :: CenterShell(maxShell,3),DShell(maxShell,maxK),ExpShell(maxShell,maxK) - -! Local variables - - logical :: AcPh,EqPh,Accept,dump - double precision :: start_Eq,end_Eq,t_Eq,start_Ac,end_Ac,t_Ac - integer :: nWP - double precision :: Norm,NormSq,nData,tau - double precision,allocatable :: chi1(:,:,:),chi2(:,:,:),eta(:) - - double precision,allocatable :: cO(:,:),cV(:,:),eO(:),eV(:),P(:,:),eO_Quad(:,:),eV_Quad(:,:) - double precision,allocatable :: r(:,:,:), r12(:), gAO(:,:,:), g(:,:), w(:) - double precision,allocatable :: rp(:,:,:),r12p(:),gAOp(:,:,:), gp(:,:),wp(:) - double precision,allocatable :: o1MO(:,:),o2MO(:,:),v1MO(:,:),v2MO(:,:) - double precision,allocatable :: o11(:,:),o12(:,:),o21(:,:),o22(:,:) - double precision,allocatable :: v11(:,:),v12(:,:),v21(:,:),v22(:,:) - double precision,allocatable :: fd_Quad(:,:),fx_Quad(:,:),fd(:),fx(:),fdx(:) - - double precision,allocatable :: dgAO(:,:,:,:),dg(:,:,:),dgAOp(:,:,:,:),dgp(:,:,:) - double precision,allocatable :: F(:,:,:),Fp(:,:,:),T(:),Tp(:) - - double precision :: acceptance,D - double precision :: eloc_MP2(3),mean_MP2(3),variance_MP2(3) - - integer :: iW,kW,lW,klW,iMC,q - -! Output variables - - double precision,intent(out) :: EcMCMP2(3),Err_EcMCMP2(3),Var_EcMCMP2(3) - -! Number of distinct walker pairs - - nWP = nWalk*(nWalk-1)/2 - -! Diffusion coefficient - - D = 0.5d0 - -! Do diffusion-drift moves? - - if(doDrift) then - - write(*,*) - write(*,*) '*** Diffusion-drift algorithm ***' - write(*,*) - - else - - write(*,*) - write(*,*) '*** Diffusion-only algorithm ***' - write(*,*) - - endif - -! Print results - - dump = .true. - if(dump) open(unit=13,file='results/data') - -!------------------------------------------------------------------------ -! Memory allocation -!------------------------------------------------------------------------ - allocate(cO(nBas,nO),cV(nBas,nV),eO(nO),eV(nV), & - eO_Quad(nQuad,nO),eV_Quad(nQuad,nV), & - P(nBas,nBas),r(nWalk,2,3),rp(nWalk,2,3), & - chi1(nWalk,2,3),chi2(nWalk,2,3),eta(nWalk), & - r12(nWalk),r12p(nWalk),w(nWalk),wp(nWalk), & - g(nWalk,2),gp(nWalk,2),gAO(nWalk,2,nBas),gAOp(nWalk,2,nBas), & - dg(nWalk,2,3),dgp(nWalk,2,3),dgAO(nWalk,2,3,nBas),dgAOp(nWalk,2,3,nBas), & - o1MO(nWalk,nO),v1MO(nWalk,nV),o2MO(nWalk,nO),v2MO(nWalk,nV), & - o11(nQuad,nWP),v11(nQuad,nWP),o12(nQuad,nWP),v12(nQuad,nWP), & - o21(nQuad,nWP),v21(nQuad,nWP),o22(nQuad,nWP),v22(nQuad,nWP), & - fd_Quad(nQuad,nWP),fd(nWP),fx_Quad(nQuad,nWP),fx(nWP),fdx(nWP), & - T(nWalk),Tp(nWalk),F(nWalk,2,3),Fp(nWalk,2,3)) - -! Split MOs into occupied and virtual sets - - eO(1:nO) = e(nC+1:nC+nO) - eV(1:nV) = e(nC+nO+1:nBas) - - do q=1,nQuad - tau = 1d0/rQuad(q) - eO_Quad(q,1:nO) = exp(+eO(1:nO)*(tau-1d0))*sqrt(tau) - eV_Quad(q,1:nV) = exp(-eV(1:nV)*(tau-1d0))*sqrt(tau) - enddo - - cO(1:nBas,1:nO) = c(1:nBas,nC+1:nC+nO) - cV(1:nBas,1:nV) = c(1:nBas,nC+nO+1:nBas) - -! Compute norm of the trial wave function - - call norm_trial(nBas,nO,cO,P,Norm,NormSq) - -!------------------------------------------------------------------------ -! Initialize MC-MP2 calculation -!------------------------------------------------------------------------ - -! Initialize electron coordinates - - call random_number(r) - r = 2d0*r - 1d0 - -! Compute initial interelectronic distances - - call rij(nWalk,r,r12) - -! Compute initial AO values and their derivatives (if required) - - call AO_values(doDrift,nBas,nShell,nWalk,CenterShell,TotAngMomShell,KShell,DShell,ExpShell,r,gAO,dgAO) - -! Compute initial weight function - - call density(doDrift,nBas,nWalk,P,gAO,dgAO,g,dg) - -! Compute initial weights - - w(1:nWalk) = g(1:nWalk,1)*g(1:nWalk,2)/r12(1:nWalk) - -! Compute initial quantum force - - if(doDrift) call drift(nWalk,r,r12,g,dg,F) - -! Equilibration or Accumulation? - - AcPh = .false. - EqPh = .true. - -! Initialization - - nData = 0d0 - acceptance = 0d0 - - mean_MP2 = 0d0 - variance_MP2 = 0d0 - - T = 1d0 - Tp = 1d0 - -!------------------------------------------------------------------------ -! Start main Monte Carlo loop -!------------------------------------------------------------------------ - call cpu_time(start_Eq) - - do iMC=1,nEq+nMC - -! Timings - - if(iMC == nEq + 1) then - AcPh = .true. - EqPh = .false. - write(*,*) 'Time step value at the end of equilibration: dt = ',dt - write(*,*) - call cpu_time(end_Eq) - t_Eq = end_Eq - start_Eq - write(*,*) - write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for equilibration = ',t_Eq,' seconds' - write(*,*) - call cpu_time(start_Ac) - endif - -! Optimize time step to reach 50% acceptance - - if(EqPh .and. mod(iMC,100) == 0) call optimize_timestep(nWalk,iMC,acceptance,dt) - -! Move electrons - - call random_number(chi1) - call random_number(chi2) - -! Diffusion - - rp(:,:,:) = r(:,:,:) + sqrt(2d0*D*dt)*sqrt(-2d0*log(chi1(:,:,:)))*cos(2d0*pi*chi2(:,:,:)) - -! Drift - - if(doDrift) rp(:,:,:) = rp(:,:,:) + D*dt*F(:,:,:) - -! Compute new interelectronic distances - - call rij(nWalk,rp,r12p) - -! Compute new AO values and their derivatives (if required) - - call AO_values(doDrift,nBas,nShell,nWalk,CenterShell,TotAngMomShell,KShell,DShell,ExpShell,rp,gAOp,dgAOp) - - call Density(doDrift,nBas,nWalk,P,gAOp,dgAOp,gp,dgp) - -! Compute new weights - - wp(1:nWalk) = gp(1:nWalk,1)*gp(1:nWalk,2)/r12p(1:nWalk) - -! Compute new quantum force and transition probability - - if(doDrift) then - - call Drift(nWalk,rp,r12p,gp,dgp,Fp) - call transition_probability(nWalk,dt,D,r,rp,F,Fp,T,Tp) - - endif - -! Move for walkers - - call random_number(eta) - - do iW=1,nWalk - - Accept = (wp(iW)*Tp(iW))/(w(iW)*T(iW)) > eta(iW) - - if(Accept) then - - acceptance = acceptance + 1d0 - - r(iW,1:2,1:3) = rp(iW,1:2,1:3) - gAO(iW,1:2,1:nBas) = gAOp(iW,1:2,1:nBas) - r12(iW) = r12p(iW) - w(iW) = wp(iW) - - if(doDrift) F(iW,1:2,1:3) = Fp(iW,1:2,1:3) - - endif - - enddo - -! Accumulation phase - - if(AcPh) then - - nData = nData + 1d0 - -! Calculate Green functions - - call Green_function(nBas,nO,nV,nWalk,nWP,cO,cV,eO_Quad,eV_Quad,gAO, & - o1MO,o2MO,v1MO,v2MO,o11,o12,o21,o22,v11,v12,v21,v22) - -! Compute local energy - - fd_Quad = o11*o22*v11*v22 + o12*o21*v12*v21 - fx_Quad = o11*o22*v12*v21 + o12*o21*v11*v22 - - fd = matmul(wQuad,fd_Quad) - fx = matmul(wQuad,fx_Quad) - - eloc_MP2 = 0d0 - klW = 0 - do kW=1,nWalk-1 - do lW=kW+1,nWalk - klW = klW + 1 - eloc_MP2(2) = eloc_MP2(2) + fd(klW)/(r12(kW)*r12(lW)*w(kW)*w(lW)) - eloc_MP2(3) = eloc_MP2(3) + fx(klW)/(r12(kW)*r12(lW)*w(kW)*w(lW)) - enddo - enddo - - eloc_MP2(2) = -2d0*eloc_MP2(2)/dble(2*nWP) - eloc_MP2(3) = eloc_MP2(3)/dble(2*nWP) - - fdx = -2d0*fd + fx - eloc_MP2(1) = eloc_MP2(2) + eloc_MP2(3) - -! Accumulate results - - mean_MP2 = mean_MP2 + eloc_MP2 - variance_MP2 = variance_MP2 + eloc_MP2*eloc_MP2 - -! Print results - - if(mod(iMC,nPrint) == 0) then - - call compute_error(nData,mean_MP2,variance_MP2,Err_EcMCMP2) - EcMCMP2 = mean_MP2/nData - Var_EcMCMP2 = variance_MP2/nData - EcMCMP2 = Norm*EcMCMP2 - Var_EcMCMP2 = Norm*Var_EcMCMP2 - Err_EcMCMP2 = Norm*Err_EcMCMP2 - - write(*,*) - write(*,*)'-------------------------------------------------------' - write(*,'(1X,A36,1X,A1,1X,I15)') 'Number of data points ','|',int(nData) - write(*,*)'-------------------------------------------------------' - write(*,'(1X,A36,1X,A1,1X,10I15)') 'acceptance ','|',int(100*acceptance/dble(nWalk*iMC)) - write(*,*)'-------------------------------------------------------' - write(*,'(1X,A36,1X,A1,1X,10F15.8)') 'MP2 correlation energy Total ','|',EcMCMP2(1) - write(*,'(1X,A36,1X,A1,1X,10F15.8)') ' Direct ','|',EcMCMP2(2) - write(*,'(1X,A36,1X,A1,1X,10F15.8)') ' Exchange ','|',EcMCMP2(3) - write(*,*)'-------------------------------------------------------' - write(*,'(1X,A36,1X,A1,1X,10F15.8)') 'Statistical error Total ','|',Err_EcMCMP2(1) - write(*,'(1X,A36,1X,A1,1X,10F15.8)') ' Direct ','|',Err_EcMCMP2(2) - write(*,'(1X,A36,1X,A1,1X,10F15.8)') ' Exchange ','|',Err_EcMCMP2(3) - write(*,*)'-------------------------------------------------------' - write(*,'(1X,A36,1X,A1,1X,10F15.8)') 'Variance Total ','|',Var_EcMCMP2(1) - write(*,'(1X,A36,1X,A1,1X,10F15.8)') ' Direct ','|',Var_EcMCMP2(2) - write(*,'(1X,A36,1X,A1,1X,10F15.8)') ' Exchange ','|',Var_EcMCMP2(3) - write(*,*)'-------------------------------------------------------' - write(*,'(1X,A36,1X,A1,1X,10F15.8)') 'Dev. wrt deterministic Total ','|',EcMCMP2(1) - EcMP2(1) - write(*,'(1X,A36,1X,A1,1X,10F15.8)') ' Direct ','|',EcMCMP2(2) - EcMP2(2) - write(*,'(1X,A36,1X,A1,1X,10F15.8)') ' Exchange ','|',EcMCMP2(3) - EcMP2(3) - write(*,*)'-------------------------------------------------------' - - if(dump) write(13,*) int(nData),EcMCMP2(1),Err_EcMCMP2(1) - - endif - - endif - -!------------------------------------------------------------------------ -! End main Monte Carlo loop -!------------------------------------------------------------------------ - enddo - -! Timing - - call cpu_time(end_Ac) - t_Ac = end_Ac - start_Ac - write(*,*) - write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for accumulation = ',t_Ac,' seconds' - write(*,*) - -! Close files - - if(dump) close(unit=13) - -end subroutine MCMP2 diff --git a/src/MC/MO_values_grid.f90 b/src/MC/MO_values_grid.f90 deleted file mode 100644 index ee0864b..0000000 --- a/src/MC/MO_values_grid.f90 +++ /dev/null @@ -1,44 +0,0 @@ -subroutine MO_values_grid(nBas,nGrid,c,AO,dAO,MO,dMO) - -! Compute values of the MOs and their derivatives with respect to the cartesian coordinates - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nBas - integer,intent(in) :: nGrid - double precision,intent(in) :: c(nBas,nBas) - double precision,intent(in) :: AO(nBas,nGrid) - double precision,intent(in) :: dAO(ncart,nBas,nGrid) - -! Local variables - - integer :: p,mu,iG - -! Output variables - - double precision,intent(out) :: MO(nBas,nGrid) - double precision,intent(out) :: dMO(ncart,nBas,nGrid) - -! Initialization - - MO(:,:) = 0d0 - dMO(:,:,:) = 0d0 - - do p=1,nBas - do mu=1,nBas - do iG=1,ngrid - - MO(p,iG) = MO(p,iG) + c(mu,p)*AO(mu,iG) - - dMO(1,p,iG) = dMO(1,p,iG) + c(mu,p)*dAO(1,mu,iG) - dMO(2,p,iG) = dMO(2,p,iG) + c(mu,p)*dAO(2,mu,iG) - dMO(3,p,iG) = dMO(3,p,iG) + c(mu,p)*dAO(3,mu,iG) - - end do - end do - end do - -end subroutine MO_values_grid diff --git a/src/MC/Makefile b/src/MC/Makefile deleted file mode 100644 index 6ca514e..0000000 --- a/src/MC/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -default: - ninja - make -C .. - -clean: - ninja -t clean - -debug: - ninja -t clean - make -C .. debug diff --git a/src/MC/MinMCMP2.f90 b/src/MC/MinMCMP2.f90 deleted file mode 100644 index 13c7c59..0000000 --- a/src/MC/MinMCMP2.f90 +++ /dev/null @@ -1,121 +0,0 @@ -subroutine MinMCMP2(nBas,nEl,nC,nO,nV,c,e,EcMP2, & - nMC,nEq,nWalk,dt,nPrint, & - nShell,CenterShell,TotAngMomShell,KShell,DShell,ExpShell, & - TrialType,Norm,cTrial,gradient,hessian) - -! Minimize the variance of MC-MP2 - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nBas,nEl,nC,nO,nV,nMC,nEq,nWalk,nPrint - double precision,intent(in) :: EcMP2(3),dt - double precision,intent(in) :: c(nBas,nBas),e(nBas) - - integer,intent(in) :: nShell - integer,intent(in) :: TotAngMomShell(maxShell),KShell(maxShell) - double precision,intent(in) :: CenterShell(maxShell,3),DShell(maxShell,maxK),ExpShell(maxShell,maxK) - -! Local variables - - logical :: debug,varmin,mincvg - double precision :: thresh - double precision,allocatable :: max_gradient(:),energy_MCMP2(:),variance_MCMP2(:),error_MCMP2(:),NormTr(:) - - double precision :: EcMCMP2(3),Err_EcMCMP2(3),Var_EcMCMP2(3) - - integer :: it,nIt,i - -! Output variables - - integer,intent(in) :: TrialType - double precision,intent(inout):: Norm,cTrial(nBas),gradient(nBas),hessian(nBas,nBas) - -! Debuging mode - -! debug = .true. - debug = .false. - -! Minimization parameters - - varmin = .true. - mincvg = .false. - nIt = 10 - thresh = 1d-5 - allocate(max_gradient(nIt),energy_MCMP2(nIt),variance_MCMP2(nIt),error_MCMP2(nIt),normTr(nIt)) - - if(TrialType == 1) then - -! Use HOMO as guess - cTrial(1:nBas) = c(1:nBas,nEl/2) -! Normalization factor will be computed later - - endif - -!------------------------------------------------------------------------ -! Start MC-MP2 variance minimization -!------------------------------------------------------------------------ - it = 0 - do while (it < nIt .and. .not.(mincvg)) - - it = it + 1 - - write(*,*) '**********************************************************************' - write(*,*) ' Variance minimization of MC-MP2 energy ' - write(*,*) '**********************************************************************' - write(*,*) ' Iteration n.',it - write(*,*) '**********************************************************************' - - write(*,*) - write(*,*) ' Trial wave function coefficients at iteration n.',it - call matout(nBas,1,cTrial) - write(*,*) - - call MCMP2(varmin,nBas,nEl,nC,nO,nV,c,e,EcMP2, & - nMC,nEq,nWalk,dt,nPrint, & - nShell,CenterShell,TotAngMomShell,KShell,DShell,ExpShell, & - TrialType,Norm,cTrial,gradient,hessian, & - EcMCMP2,Err_EcMCMP2,Var_EcMCMP2) - -! Newton update of the coefficients - - call Newton(nBas,gradient,hessian,cTrial) - -! Check for convergence - - max_gradient(it) = maxval(abs(gradient)) - energy_MCMP2(it) = EcMCMP2(1) - variance_MCMP2(it) = Var_EcMCMP2(1) - error_MCMP2(it) = Err_EcMCMP2(1) - NormTr(it) = Norm - - write(*,*) - write(*,*) 'Maximum gradient at iteration n.',it,':',max_gradient(it) - write(*,*) - - if(max_gradient(it) < thresh) then - write(*,*) ' Miracle! Variance minimization of MC-MP2 has converged!' - mincvg = .true. - endif - - enddo - - write(*,*) - write(*,*) '********************************' - write(*,*) 'Summary of variance minimization' - write(*,*) '********************************' - write(*,*) - - write(*,'(A3,A20,A20,A20,A20,A20,A20)') & - 'It.','Gradient','Ec(MC-MPC2)','Variance','Error','Ec(MC-MP2)-Ec(MP2)','Norm' - write(*,'(I3,4X,F16.10,4X,F16.10,4X,F16.10,4X,F16.10,4X,F16.10,4X,F16.10)') & - (i,max_gradient(i),energy_MCMP2(i),variance_MCMP2(i),error_MCMP2(i),energy_MCMP2(i)-EcMP2(1),NormTr(i),i=1,it) - write(*,*) - -!------------------------------------------------------------------------ -! End MC-MP2 variance minimization -!------------------------------------------------------------------------ - -end subroutine MinMCMP2 diff --git a/src/MC/NDrift.f90 b/src/MC/NDrift.f90 deleted file mode 100644 index 13cc5f3..0000000 --- a/src/MC/NDrift.f90 +++ /dev/null @@ -1,67 +0,0 @@ -subroutine NDrift(nBas,nShell,nWalk,CenterShell,TotAngMomShell,KShell,DShell,ExpShell,P,r,w,F) - -! Compute quantum force numerically - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nWalk,nBas - double precision,intent(in) :: P(nBas,nBas),r(nWalk,2,3),w(nWalk) - - integer,intent(in) :: nShell - integer,intent(in) :: TotAngMomShell(maxShell),KShell(maxShell) - double precision,intent(in) :: CenterShell(maxShell,3),DShell(maxShell,maxK),ExpShell(maxShell,maxK) - -! Local variables - - integer :: iW,iEl,ixyz - double precision :: delta - double precision :: wp,wm - double precision,allocatable :: rp(:,:,:),rm(:,:,:),r12p(:),r12m(:) - double precision,allocatable :: gAOp(:,:,:),dgAOp(:,:,:,:),gAOm(:,:,:),dgAOm(:,:,:,:) - double precision,allocatable :: gp(:,:),dgp(:,:,:),gm(:,:),dgm(:,:,:) - - -! Output variables - - double precision,intent(out) :: F(nWalk,2,3) - - allocate(rp(nWalk,2,3),rm(nWalk,2,3),r12p(nWalk),r12m(nWalk), & - gAOp(nWalk,2,nBas),dgAOp(nWalk,2,3,nBas),gAOm(nWalk,2,nBas),dgAOm(nWalk,2,3,nBas), & - gp(nWalk,2),dgp(nWalk,2,3),gm(nWalk,2),dgm(nWalk,2,3)) - - do iW=1,nWalk - do iEl=1,2 - do ixyz=1,3 - - delta = 1d-6 - - rp = r - rm = r - - rp(iW,iEl,ixyz) = r(iW,iEl,ixyz) + delta - rm(iW,iEl,ixyz) = r(iW,iEl,ixyz) - delta - - call AO_values(.false.,nBas,nShell,nWalk,CenterShell,TotAngMomShell,KShell,DShell,ExpShell,rp,gAOp,dgAOp) - call AO_values(.false.,nBas,nShell,nWalk,CenterShell,TotAngMomShell,KShell,DShell,ExpShell,rm,gAOm,dgAOm) - - call Density(.false.,nBas,nWalk,P,gAOp,dgAOp,gp,dgp) - call Density(.false.,nBas,nWalk,P,gAOm,dgAOm,gm,dgm) - - call rij(nWalk,rp,r12p) - call rij(nWalk,rm,r12m) - - wp = gp(iW,1)*gp(iW,2)/r12p(iW) - wm = gm(iW,1)*gm(iW,2)/r12m(iW) - - F(iW,iEl,ixyz) = (wp - wm)/(2d0*delta*w(iw)) - enddo - enddo - enddo - -! print*,'NF',F - - -end subroutine NDrift diff --git a/src/MC/Newton.f90 b/src/MC/Newton.f90 deleted file mode 100644 index f074035..0000000 --- a/src/MC/Newton.f90 +++ /dev/null @@ -1,67 +0,0 @@ -subroutine Newton(nWSq,gradient,hessian,cWeight) - -! Calculate the Green functions - - implicit none - -! Input variables - - integer,intent(in) :: nWSq - double precision,intent(in) :: gradient(nWSq),hessian(nWSq,nWSq) - -! Local variables - - integer :: info - integer,allocatable :: ipiv(:) - double precision,allocatable :: scr(:),eigval(:),eigvec(:,:) - -! Output variables - - double precision,intent(inout):: cWeight(nWSq) - -! Memory allocation - - allocate(ipiv(nWSq),scr(3*nWsq),eigval(nWSq),eigvec(nWSq,nWSq)) - -! Compute eigenvectors and eigenvalues - - eigvec = hessian - call dsyev('V','U',nWSq,eigvec,nWSq,eigval,scr,3*nWSq,info) - - if(info /= 0)then - write(*,*) ' Problem with dsyev!' - stop - endif - - write(*,*) - write(*,*) 'Eigenvalues of hessian' - call matout(nWSq,1,eigval) - write(*,*) -! write(*,*) 'Eigenvectors of hessian' -! call matout(nWSq,1,eigval) -! write(*,*) - -! Compute inverse of the hessian - - call dgetrf(nWSq,nWSq,hessian,nWSq,ipiv,info) - - if(info /= 0) then - write(*,*) ' Problem in dgetrf!' - stop - endif - - call dgetri(nWSq,hessian,nWSq,ipiv,scr,nWSq,info) - - if(info /= 0) then - write(*,*) ' Problem in dgetri!' - stop - endif - - print*,'inverse hessian' - call matout(nWSq,nWSq,hessian) - -! Compute new coefficients - - cWeight = cWeight - matmul(hessian,gradient) - -end subroutine Newton diff --git a/src/MC/drift.f90 b/src/MC/drift.f90 deleted file mode 100644 index 0a002e0..0000000 --- a/src/MC/drift.f90 +++ /dev/null @@ -1,50 +0,0 @@ -subroutine drift(nWalk,r,r12,g,dg,F) - -! Compute quantum force - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nWalk - double precision,intent(in) :: r(nWalk,2,3),r12(nWalk),g(nWalk,2),dg(nWalk,2,3) - -! Local variables - - logical :: smoothDrift - double precision :: rij,rijSq,w,wSq,damp - integer :: iW - -! Output variables - - double precision,intent(out) :: F(nWalk,2,3) - -! Compute - - smoothDrift = .false. - w = 0.1d0 - wSq = w*w - - do iW=1,nWalk - - rij = r12(iW) - rijSq = rij*rij - - F(iW,1,1:3) = dg(iW,1,1:3)/g(iW,1) - F(iW,2,1:3) = dg(iW,2,1:3)/g(iW,2) - - if(smoothDrift) then - damp = 1d0 + 2d0*w/sqrt(pi)*rij*exp(-wSq*rijSq)/erfc(w*rij) - else - damp = 1d0 - endif - - F(iW,1,1:3) = F(iW,1,1:3) - damp*(r(iW,2,1:3) - r(iW,1,1:3))/rijSq - F(iW,2,1:3) = F(iW,2,1:3) - damp*(r(iW,2,1:3) - r(iW,1,1:3))/rijSq - - enddo - -! print*,' F',F - -end subroutine drift diff --git a/src/MC/generate_shell.f90 b/src/MC/generate_shell.f90 deleted file mode 100644 index 0a13b8f..0000000 --- a/src/MC/generate_shell.f90 +++ /dev/null @@ -1,30 +0,0 @@ -subroutine generate_shell(atot,nShellFunction,ShellFunction) - - implicit none - -! Input variables - - integer,intent(in) :: atot,nShellFunction - -! Local variables - - integer :: ax,ay,az,ia - -! Output variables - - integer,intent(out) :: ShellFunction(nShellFunction,3) - - ia = 0 - do ax=atot,0,-1 - do az=0,atot - ay = atot - ax - az - if(ay >= 0) then - ia = ia + 1 - ShellFunction(ia,1) = ax - ShellFunction(ia,2) = ay - ShellFunction(ia,3) = az - endif - enddo - enddo - -end subroutine generate_shell diff --git a/src/MC/initialize_random_generator.f90 b/src/MC/initialize_random_generator.f90 deleted file mode 100644 index 189c36b..0000000 --- a/src/MC/initialize_random_generator.f90 +++ /dev/null @@ -1,25 +0,0 @@ -subroutine initialize_random_generator(iSeed) - -! Initialize random number generator - - implicit none - -! Input variables - - integer,intent(in) :: iSeed - -! Local variables - - integer,allocatable :: Seed(:) - integer :: nSeed - - call random_seed(size = nSeed) - allocate(Seed(nSeed)) - call random_seed(get=Seed) - if(iSeed /= 0) then - Seed = 0 - Seed(1) = iSeed - endif - call random_seed(put=Seed) - -end subroutine initialize_random_generator diff --git a/src/MC/norm_trial.f90 b/src/MC/norm_trial.f90 deleted file mode 100644 index 4ca9e9c..0000000 --- a/src/MC/norm_trial.f90 +++ /dev/null @@ -1,53 +0,0 @@ -subroutine norm_trial(nBas,nO,c,P,Norm,NormSq) - -! Initialize weight function - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nBas,nO - double precision,intent(inout):: c(nBas,nO),P(nBas,nBas) - -! Local variables - - double precision,allocatable :: S(:,:),T(:,:),V(:,:),Hc(:,:),G(:,:,:,:) - - integer :: mu,nu,la,si - -! Output variables - - double precision,intent(inout):: Norm,NormSq - -! Memory allocation for one- and two-electron integrals - - allocate(S(nBas,nBas),T(nBas,nBas),V(nBas,nBas),Hc(nBas,nBas),G(nBas,nBas,nBas,nBas)) - -! Read integrals - - call read_integrals(nBas,S,T,V,Hc,G) - -! Compute normalization factor - - P = 2d0*matmul(c,transpose(c)) - - Norm = 0d0 - do mu=1,nBas - do nu=1,nBas - do la=1,nBas - do si=1,nBas - Norm = Norm + P(mu,nu)*P(la,si)*G(mu,la,nu,si) - enddo - enddo - enddo - enddo - - Norm = Norm*Norm - NormSq = Norm*Norm - - write(*,*) - write(*,*) 'Normalization of trial wave function: ',Norm - write(*,*) - -end subroutine norm_trial diff --git a/src/MC/optimize_timestep.f90 b/src/MC/optimize_timestep.f90 deleted file mode 100644 index 916854a..0000000 --- a/src/MC/optimize_timestep.f90 +++ /dev/null @@ -1,28 +0,0 @@ -subroutine optimize_timestep(nWalk,iMC,Acc,dt) - -! Optimize dt to get 50% of accepted moves - - implicit none - -! Input variables - - integer,intent(in) :: nWalk,iMC - double precision,intent(inout):: Acc,dt - -! Local variables - - double precision :: TotAcc,Current_Acc,Target_Acc,delta - - TotAcc = Acc/dble(nWalk) - Current_Acc = 100d0*TotAcc/dble(iMC) - - Target_Acc = 50.0d0 - - delta = dt*abs(Target_Acc - Current_Acc)/100.d0 - if(Current_Acc > Target_Acc + 0.5d0)then - dt = dt + delta - elseif(Current_Acc < Target_Acc - 0.5d0)then - dt = dt - delta - endif - -end subroutine optimize_timestep diff --git a/src/MC/transition_probability.f90 b/src/MC/transition_probability.f90 deleted file mode 100644 index 76da1d5..0000000 --- a/src/MC/transition_probability.f90 +++ /dev/null @@ -1,41 +0,0 @@ -subroutine transition_probability(nWalk,dt,D,r,rp,F,Fp,T,Tp) - -! Compute transition probability - - implicit none - -! Input variables - - integer,intent(in) :: nWalk - double precision,intent(in) :: dt,D - double precision,intent(in) :: r(nWalk,1:2,1:3), F(nWalk,1:2,1:3) - double precision,intent(in) :: rp(nWalk,1:2,1:3),Fp(nWalk,1:2,1:3) - -! Local variables - - integer :: iW,iEl,ixyz - -! Output variables - - double precision,intent(out) :: T(nWalk),Tp(nWalk) - -! Initialize - - T = 0d0 - Tp = 0d0 - -! Compute - - do iW=1,nWalk - do iEl=1,2 - do ixyz=1,3 - T(iW) = T(iW) + (rp(iW,iEl,ixyz) - r(iW,iEl,ixyz) - D*dt*F(iW,iEl,ixyz))**2 - Tp(iW) = Tp(iW) + (r(iW,iEl,ixyz) - rp(iW,iEl,ixyz) - D*dt*Fp(iW,iEl,ixyz))**2 - enddo - enddo - enddo - - T(:) = exp(-0.25d0*T(:)/(D*dt)) - Tp(:) = exp(-0.25d0*Tp(:)/(D*dt)) - -end subroutine transition_probability