From 905a4821cdaad4306170a9c7c6374187e0d88b2c Mon Sep 17 00:00:00 2001 From: Pierre-Francois Loos Date: Thu, 7 Feb 2019 22:54:43 +0100 Subject: [PATCH] remove xcDFT --- src/xcDFT/AO_values_grid.f90 | 101 - src/xcDFT/DIIS_extrapolation.f90 | 52 - src/xcDFT/Makefile | 34 - src/xcDFT/NormCoeff.f90 | 31 - src/xcDFT/RKS.f90 | 221 -- src/xcDFT/density.f90 | 38 - src/xcDFT/dft_grid.f | 3017 ---------------------- src/xcDFT/electron_number.f90 | 20 - src/xcDFT/elements.f90 | 171 -- src/xcDFT/exchange_energy.f90 | 79 - src/xcDFT/exchange_potential.f90 | 82 - src/xcDFT/fock_exchange_energy.f90 | 25 - src/xcDFT/fock_exchange_potential.f90 | 34 - src/xcDFT/generate_shell.f90 | 32 - src/xcDFT/gga_exchange_energy.f90 | 44 - src/xcDFT/gga_exchange_potential.f90 | 62 - src/xcDFT/gradient_density.f90 | 45 - src/xcDFT/hartree_coulomb.f90 | 33 - src/xcDFT/lda_exchange_energy.f90 | 36 - src/xcDFT/lda_exchange_potential.f90 | 46 - src/xcDFT/obj/AO_values_grid.o | Bin 3396 -> 0 bytes src/xcDFT/obj/DIIS_extrapolation.o | Bin 2584 -> 0 bytes src/xcDFT/obj/NormCoeff.o | Bin 1432 -> 0 bytes src/xcDFT/obj/RKS.o | Bin 22196 -> 0 bytes src/xcDFT/obj/density.o | Bin 744 -> 0 bytes src/xcDFT/obj/dft_grid.o | Bin 95064 -> 0 bytes src/xcDFT/obj/electron_number.o | Bin 592 -> 0 bytes src/xcDFT/obj/elements.o | Bin 5228 -> 0 bytes src/xcDFT/obj/exchange_energy.o | Bin 1392 -> 0 bytes src/xcDFT/obj/exchange_potential.o | Bin 2788 -> 0 bytes src/xcDFT/obj/fock_exchange_energy.o | Bin 2128 -> 0 bytes src/xcDFT/obj/fock_exchange_potential.o | Bin 984 -> 0 bytes src/xcDFT/obj/generate_shell.o | Bin 668 -> 0 bytes src/xcDFT/obj/gga_exchange_energy.o | Bin 1208 -> 0 bytes src/xcDFT/obj/gga_exchange_potential.o | Bin 2304 -> 0 bytes src/xcDFT/obj/gradient_density.o | Bin 1272 -> 0 bytes src/xcDFT/obj/hartree_coulomb.o | Bin 976 -> 0 bytes src/xcDFT/obj/lda_exchange_energy.o | Bin 952 -> 0 bytes src/xcDFT/obj/lda_exchange_potential.o | Bin 1324 -> 0 bytes src/xcDFT/obj/one_electron_density.o | Bin 1348 -> 0 bytes src/xcDFT/obj/orthogonalization_matrix.o | Bin 2688 -> 0 bytes src/xcDFT/obj/print_RKS.o | Bin 5832 -> 0 bytes src/xcDFT/obj/quadrature_grid.o | Bin 3840 -> 0 bytes src/xcDFT/obj/read_basis.o | Bin 6356 -> 0 bytes src/xcDFT/obj/read_geometry.o | Bin 4308 -> 0 bytes src/xcDFT/obj/read_grid.o | Bin 1912 -> 0 bytes src/xcDFT/obj/read_integrals.o | Bin 3696 -> 0 bytes src/xcDFT/obj/read_molecule.o | Bin 2780 -> 0 bytes src/xcDFT/obj/read_options.o | Bin 1396 -> 0 bytes src/xcDFT/obj/select_rung.o | Bin 2564 -> 0 bytes src/xcDFT/obj/utils.o | Bin 4484 -> 0 bytes src/xcDFT/obj/wrap_lapack.o | Bin 5144 -> 0 bytes src/xcDFT/obj/xcDFT.o | Bin 4928 -> 0 bytes src/xcDFT/one_electron_density.f90 | 47 - src/xcDFT/orthogonalization_matrix.f90 | 63 - src/xcDFT/print_RKS.f90 | 61 - src/xcDFT/quadrature_grid.f90 | 77 - src/xcDFT/read_basis.f90 | 117 - src/xcDFT/read_geometry.f90 | 58 - src/xcDFT/read_grid.f90 | 47 - src/xcDFT/read_integrals.f90 | 114 - src/xcDFT/read_molecule.f90 | 42 - src/xcDFT/read_options.f90 | 31 - src/xcDFT/select_rung.f90 | 45 - src/xcDFT/utils.f90 | 246 -- src/xcDFT/wrap_lapack.f90 | 147 -- src/xcDFT/xcDFT.f90 | 120 - 67 files changed, 5418 deletions(-) delete mode 100644 src/xcDFT/AO_values_grid.f90 delete mode 100644 src/xcDFT/DIIS_extrapolation.f90 delete mode 100644 src/xcDFT/Makefile delete mode 100644 src/xcDFT/NormCoeff.f90 delete mode 100644 src/xcDFT/RKS.f90 delete mode 100644 src/xcDFT/density.f90 delete mode 100644 src/xcDFT/dft_grid.f delete mode 100644 src/xcDFT/electron_number.f90 delete mode 100644 src/xcDFT/elements.f90 delete mode 100644 src/xcDFT/exchange_energy.f90 delete mode 100644 src/xcDFT/exchange_potential.f90 delete mode 100644 src/xcDFT/fock_exchange_energy.f90 delete mode 100644 src/xcDFT/fock_exchange_potential.f90 delete mode 100644 src/xcDFT/generate_shell.f90 delete mode 100644 src/xcDFT/gga_exchange_energy.f90 delete mode 100644 src/xcDFT/gga_exchange_potential.f90 delete mode 100644 src/xcDFT/gradient_density.f90 delete mode 100644 src/xcDFT/hartree_coulomb.f90 delete mode 100644 src/xcDFT/lda_exchange_energy.f90 delete mode 100644 src/xcDFT/lda_exchange_potential.f90 delete mode 100644 src/xcDFT/obj/AO_values_grid.o delete mode 100644 src/xcDFT/obj/DIIS_extrapolation.o delete mode 100644 src/xcDFT/obj/NormCoeff.o delete mode 100644 src/xcDFT/obj/RKS.o delete mode 100644 src/xcDFT/obj/density.o delete mode 100644 src/xcDFT/obj/dft_grid.o delete mode 100644 src/xcDFT/obj/electron_number.o delete mode 100644 src/xcDFT/obj/elements.o delete mode 100644 src/xcDFT/obj/exchange_energy.o delete mode 100644 src/xcDFT/obj/exchange_potential.o delete mode 100644 src/xcDFT/obj/fock_exchange_energy.o delete mode 100644 src/xcDFT/obj/fock_exchange_potential.o delete mode 100644 src/xcDFT/obj/generate_shell.o delete mode 100644 src/xcDFT/obj/gga_exchange_energy.o delete mode 100644 src/xcDFT/obj/gga_exchange_potential.o delete mode 100644 src/xcDFT/obj/gradient_density.o delete mode 100644 src/xcDFT/obj/hartree_coulomb.o delete mode 100644 src/xcDFT/obj/lda_exchange_energy.o delete mode 100644 src/xcDFT/obj/lda_exchange_potential.o delete mode 100644 src/xcDFT/obj/one_electron_density.o delete mode 100644 src/xcDFT/obj/orthogonalization_matrix.o delete mode 100644 src/xcDFT/obj/print_RKS.o delete mode 100644 src/xcDFT/obj/quadrature_grid.o delete mode 100644 src/xcDFT/obj/read_basis.o delete mode 100644 src/xcDFT/obj/read_geometry.o delete mode 100644 src/xcDFT/obj/read_grid.o delete mode 100644 src/xcDFT/obj/read_integrals.o delete mode 100644 src/xcDFT/obj/read_molecule.o delete mode 100644 src/xcDFT/obj/read_options.o delete mode 100644 src/xcDFT/obj/select_rung.o delete mode 100644 src/xcDFT/obj/utils.o delete mode 100644 src/xcDFT/obj/wrap_lapack.o delete mode 100644 src/xcDFT/obj/xcDFT.o delete mode 100644 src/xcDFT/one_electron_density.f90 delete mode 100644 src/xcDFT/orthogonalization_matrix.f90 delete mode 100644 src/xcDFT/print_RKS.f90 delete mode 100644 src/xcDFT/quadrature_grid.f90 delete mode 100644 src/xcDFT/read_basis.f90 delete mode 100644 src/xcDFT/read_geometry.f90 delete mode 100644 src/xcDFT/read_grid.f90 delete mode 100644 src/xcDFT/read_integrals.f90 delete mode 100644 src/xcDFT/read_molecule.f90 delete mode 100644 src/xcDFT/read_options.f90 delete mode 100644 src/xcDFT/select_rung.f90 delete mode 100644 src/xcDFT/utils.f90 delete mode 100644 src/xcDFT/wrap_lapack.f90 delete mode 100644 src/xcDFT/xcDFT.f90 diff --git a/src/xcDFT/AO_values_grid.f90 b/src/xcDFT/AO_values_grid.f90 deleted file mode 100644 index 75416e7..0000000 --- a/src/xcDFT/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,NormCoeff,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)*NormCoeff(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/xcDFT/DIIS_extrapolation.f90 b/src/xcDFT/DIIS_extrapolation.f90 deleted file mode 100644 index 9ba503e..0000000 --- a/src/xcDFT/DIIS_extrapolation.f90 +++ /dev/null @@ -1,52 +0,0 @@ -subroutine DIIS_extrapolation(n,n_diis,error,e,error_in,e_inout) - -! Perform DIIS extrapolation - - implicit none - - include 'parameters.h' - -! Input variables - - integer,intent(in) :: n,n_diis - double precision,intent(in) :: error(n,n_diis),e(n,n_diis),error_in(n) - -! Local variables - - double precision,allocatable :: A(:,:),b(:),w(:) - -! Output variables - - double precision,intent(inout):: e_inout(n) - -! Memory allocaiton - - allocate(A(n_diis+1,n_diis+1),b(n_diis+1),w(n_diis+1)) - -! Update DIIS "history" - - call prepend(n,n_diis,error,error_in) - call prepend(n,n_diis,e,e_inout) - -! Build A matrix - - A(1:n_diis,1:n_diis) = matmul(transpose(error),error) - - A(1:n_diis,n_diis+1) = -1d0 - A(n_diis+1,1:n_diis) = -1d0 - A(n_diis+1,n_diis+1) = +0d0 - -! Build x matrix - - b(1:n_diis) = +0d0 - b(n_diis+1) = -1d0 - -! Solve linear system - - call linear_solve(n_diis+1,A,b,w) - -! Extrapolate - - e_inout(:) = matmul(w(1:n_diis),transpose(e(:,1:n_diis))) - -end subroutine DIIS_extrapolation diff --git a/src/xcDFT/Makefile b/src/xcDFT/Makefile deleted file mode 100644 index cbacf0f..0000000 --- a/src/xcDFT/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -IDIR =../../include -BDIR =../../bin -ODIR = obj -SDIR =. -FC = gfortran -I$(IDIR) -ifeq ($(DEBUG),1) -FFLAGS = -Wall -g -msse4.2 -fcheck=all -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -else -FFLAGS = -Wall -Wno-unused -Wno-unused-dummy-argument -O2 -endif - -LIBS = ~/Dropbox/quack/lib/*.a -#LIBS = -lblas -llapack - -SRCF90 = $(wildcard *.f90) - -SRC = $(wildcard *.f) - -OBJ = $(patsubst %.f90,$(ODIR)/%.o,$(SRCF90)) $(patsubst %.f,$(ODIR)/%.o,$(SRC)) - -$(ODIR)/%.o: %.f90 - $(FC) -c -o $@ $< $(FFLAGS) - -$(ODIR)/%.o: %.f - $(FC) -c -o $@ $< $(FFLAGS) - -$(BDIR)/xcDFT: $(OBJ) - $(FC) -o $@ $^ $(FFLAGS) $(LIBS) - -debug: - DEBUG=1 make clean $(BDIR)/xcDFT - -clean: - rm -f $(ODIR)/*.o $(BDIR)/xcDFT $(BDIR)/debug diff --git a/src/xcDFT/NormCoeff.f90 b/src/xcDFT/NormCoeff.f90 deleted file mode 100644 index ff0fac9..0000000 --- a/src/xcDFT/NormCoeff.f90 +++ /dev/null @@ -1,31 +0,0 @@ -function NormCoeff(alpha,a) - -! Compute normalization coefficients for cartesian gaussians - - implicit none - -! Input variables - - double precision,intent(in) :: alpha - integer,intent(in) :: a(3) - -! local variable - double precision :: pi,dfa(3),dfac - integer :: atot - -! Output variable - double precision NormCoeff - - pi = 4d0*atan(1d0) - atot = a(1) + a(2) + a(3) - - dfa(1) = dfac(2*a(1))/(2d0**a(1)*dfac(a(1))) - dfa(2) = dfac(2*a(2))/(2d0**a(2)*dfac(a(2))) - dfa(3) = dfac(2*a(3))/(2d0**a(3)*dfac(a(3))) - - - NormCoeff = (2d0*alpha/pi)**(3d0/2d0)*(4d0*alpha)**atot - NormCoeff = NormCoeff/(dfa(1)*dfa(2)*dfa(3)) - NormCoeff = sqrt(NormCoeff) - -end function NormCoeff diff --git a/src/xcDFT/RKS.f90 b/src/xcDFT/RKS.f90 deleted file mode 100644 index 571f21e..0000000 --- a/src/xcDFT/RKS.f90 +++ /dev/null @@ -1,221 +0,0 @@ -subroutine RKS(rung,nGrid,weight,nBas,AO,dAO,nO,S,T,V,Hc,ERI,X,ENuc,EKS) - -! Perform a restricted Kohn-Sham calculation - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: rung - integer,intent(in) :: nGrid - double precision,intent(in) :: weight(nGrid) - integer,intent(in) :: nBas - double precision,intent(in) :: AO(nBas,nGrid) - double precision,intent(in) :: dAO(3,nBas,nGrid) - - integer,intent(in) :: nO - double precision,intent(in) :: S(nBas,nBas) - double precision,intent(in) :: T(nBas,nBas) - double precision,intent(in) :: V(nBas,nBas) - double precision,intent(in) :: Hc(nBas,nBas) - double precision,intent(in) :: X(nBas,nBas) - double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) - double precision,intent(in) :: ENuc - -! Local variables - - integer,parameter :: maxSCF = 64 - double precision,parameter :: thresh = 1d-5 - integer,parameter :: n_diis = 1 - integer :: nSCF - double precision :: Conv - double precision :: ET,EV,EJ - double precision :: Ex - double precision :: Ec - double precision,allocatable :: e(:) - double precision,allocatable :: c(:,:),cp(:,:) - double precision,allocatable :: P(:,:),Pa(:,:) - double precision,allocatable :: J(:,:) - double precision,allocatable :: F(:,:),Fp(:,:) - double precision,allocatable :: Fx(:,:),FxHF(:,:) - double precision,allocatable :: Fc(:,:) - double precision,allocatable :: error(:,:) - double precision,allocatable :: error_diis(:,:),F_diis(:,:) - double precision,external :: trace_matrix - double precision,external :: exchange_energy - double precision,external :: electron_number - - double precision,allocatable :: rhoa(:) - double precision,allocatable :: drhoa(:,:) - double precision :: nEl - -! Output variables - - double precision,intent(out) :: EKS - -! Hello world - - write(*,*) - write(*,*)'************************************************' - write(*,*)'| Restricted Kohn-Sham calculation |' - write(*,*)'************************************************' - write(*,*) - -!------------------------------------------------------------------------ -! Rung of Jacob's ladder -!------------------------------------------------------------------------ - - call select_rung(rung) - -! Memory allocation - - allocate(e(nBas),c(nBas,nBas),cp(nBas,nBas),P(nBas,nBas),Pa(nBas,nBas), & - J(nBas,nBas),F(nBas,nBas),Fp(nBas,nBas),Fx(nBas,nBas),FxHF(nBas,nBas), & - Fc(nBas,nBas),error(nBas,nBas),rhoa(nGrid),drhoa(3,nGrid), & - error_diis(nBas*nBas,n_diis),F_diis(nBas*nBas,n_diis)) - -! Guess coefficients and eigenvalues - - F(:,:) = Hc(:,:) - -! Initialization - - nSCF = 0 - Conv = 1d0 - nEl = 0d0 - - Ex = 0d0 - Ec = 0d0 - - Fx(:,:) = 0d0 - FxHF(:,:) = 0d0 - Fc(:,:) = 0d0 - - F_diis(:,:) = 0d0 - error_diis(:,:) = 0d0 - -!------------------------------------------------------------------------ -! Main SCF loop -!------------------------------------------------------------------------ - - write(*,*) - write(*,*)'------------------------------------------------------------------------------------------' - write(*,'(1X,A1,1X,A3,1X,A1,1X,A16,1X,A1,1X,A16,1X,A1,1X,A16,1X,A1,1X,A10,1X,A1,1X,A10,1X,A1,1X)') & - '|','#','|','EKS','|','ExKS','|','EcKS','|','Conv','|','nEl','|' - write(*,*)'------------------------------------------------------------------------------------------' - - do while(Conv > thresh .and. nSCF < maxSCF) - -! Increment - - nSCF = nSCF + 1 - -! Transform Fock matrix in orthogonal basis - - Fp = matmul(transpose(X),matmul(F,X)) - -! Diagonalize Fock matrix to get eigenvectors and eigenvalues - - cp(:,:) = Fp(:,:) - call diagonalize_matrix(nBas,cp,e) - -! Back-transform eigenvectors in non-orthogonal basis - - c = matmul(X,cp) - -! Compute density matrix - - Pa(:,:) = matmul(c(:,1:nO),transpose(c(:,1:nO))) - P(:,:) = 2d0*Pa(:,:) - -! Compute one-electron density and its gradient if necessary - - call density(nGrid,nBas,Pa,AO,rhoa) - if(rung > 1) call gradient_density(nGrid,nBas,Pa,AO,dAO,drhoa) - -! Build Coulomb repulsion - - call hartree_coulomb(nBas,P,ERI,J) - -! Compute exchange potential - - call exchange_potential(rung,nGrid,weight,nBas,Pa,ERI,AO,dAO,rhoa,drhoa,Fx,FxHF) - -! Compute correlation potential - -! call correlation_potential(rung,nGrid,weight,nBas,Pa,ERI,AO,dAO,rhoa,drhoa,Fc) - -! Build Fock operator - - F(:,:) = Hc(:,:) + J(:,:) + Fx(:,:) + Fc(:,:) - -! Check convergence - - error = matmul(F,matmul(P,S)) - matmul(matmul(S,P),F) - Conv = maxval(abs(error)) - -! DIIS extrapolation - - call DIIS_extrapolation(nBas*nBas,min(n_diis,nSCF),error_diis,F_diis,error,F) - -!------------------------------------------------------------------------ -! Compute KS energy -!------------------------------------------------------------------------ - -! Kinetic energy - - ET = trace_matrix(nBas,matmul(P,T)) - -! Potential energy - - EV = trace_matrix(nBas,matmul(P,V)) - -! Coulomb energy - - EJ = 0.5d0*trace_matrix(nBas,matmul(P,J)) - -! Exchange energy - - Ex = exchange_energy(rung,nGrid,weight,nBas,Pa,FxHF,rhoa,drhoa) - -! Correlation energy - -! call correlation_energy(rung,nGrid,weight,nBas,Pa,rhoa,drhoa,Ec) - - EKS = ET + EV + EJ + Ex + Ec - -! Check the grid accuracy by computing the number of electrons - - nEl = electron_number(nGrid,weight,rhoa) - -! Dump results - - write(*,'(1X,A1,1X,I3,1X,A1,1X,F16.10,1X,A1,1X,F16.10,1X,A1,1X,F16.10,1X,A1,1X,F10.6,1X,A1,1X,F10.6,1X,A1,1X)') & - '|',nSCF,'|',EKS+ENuc,'|',Ex,'|',Ec,'|',Conv,'|',nEl,'|' - - enddo - write(*,*)'------------------------------------------------------------------------------------------' -!------------------------------------------------------------------------ -! End of SCF loop -!------------------------------------------------------------------------ - -! Did it actually converge? - - if(nSCF == maxSCF) then - - write(*,*) - write(*,*)'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' - write(*,*)' Convergence failed ' - write(*,*)'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' - write(*,*) - - stop - - endif - -! Compute final KS energy - - call print_RKS(nBas,nO,e,C,ENuc,ET,EV,EJ,Ex,Ec,EKS) - -end subroutine RKS diff --git a/src/xcDFT/density.f90 b/src/xcDFT/density.f90 deleted file mode 100644 index e6bfd22..0000000 --- a/src/xcDFT/density.f90 +++ /dev/null @@ -1,38 +0,0 @@ -subroutine density(nGrid,nBas,P,AO,rho) - -! Calculate one-electron density - - implicit none - include 'parameters.h' - -! Input variables - - double precision,parameter :: thresh = 1d-15 - - integer,intent(in) :: nGrid - integer,intent(in) :: nBas - double precision,intent(in) :: P(nBas,nBas) - double precision,intent(in) :: AO(nBas,nGrid) - -! Local variables - - integer :: iG,mu,nu - -! Output variables - - double precision,intent(out) :: rho(nGrid) - - rho(:) = 0d0 - do iG=1,nGrid - do mu=1,nBas - do nu=1,nBas - rho(iG) = rho(iG) + AO(mu,iG)*P(mu,nu)*AO(nu,iG) - enddo - enddo - enddo - -! do iG=1,nGrid -! rho(iG) = max(rho(iG),thresh) -! enddo - -end subroutine density diff --git a/src/xcDFT/dft_grid.f b/src/xcDFT/dft_grid.f deleted file mode 100644 index 66eb029..0000000 --- a/src/xcDFT/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/xcDFT/electron_number.f90 b/src/xcDFT/electron_number.f90 deleted file mode 100644 index 6028c05..0000000 --- a/src/xcDFT/electron_number.f90 +++ /dev/null @@ -1,20 +0,0 @@ -function electron_number(nGrid,w,rho) result(nEl) - -! Compute the number of electrons via integration of the one-electron density - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nGrid - double precision,intent(in) :: w(nGrid) - double precision,intent(in) :: rho(nGrid) - -! Output variables - - double precision :: nEl - - nEl = 2d0*dot_product(w,rho) - -end function electron_number diff --git a/src/xcDFT/elements.f90 b/src/xcDFT/elements.f90 deleted file mode 100644 index 1432c34..0000000 --- a/src/xcDFT/elements.f90 +++ /dev/null @@ -1,171 +0,0 @@ -function element_number(element_name) - - implicit none - integer,parameter :: nelement_max = 103 - character(len=2),intent(in) :: element_name - integer :: element_number - character(len=2),parameter :: element_list(nelement_max) = & - (/' H', 'He', & ! 2 - 'Li','Be', ' B',' C',' N',' O',' F','Ne', & ! 10 - 'Na','Mg', 'Al','Si',' P',' S','Cl','Ar', & ! 18 - ' K','Ca','Sc','Ti',' V','Cr','Mn','Fe','Co','Ni','Cu','Zn','Ga','Ge','As','Se','Br','Kr', & ! 36 - 'Rb','Sr',' Y','Zr','Nb','Mo','Tc','Ru','Rh','Pd','Ag','Cd','In','Sn','Sb','Te',' I','Xe', & ! 54 - 'Cs','Ba', & ! 56 - 'La','Ce','Pr','Nd','Pm','Sm','Eu','Gd','Tb','Dy','Ho','Er','Tm','Yb', & ! 70 - 'Lu','Hf','Ta',' W','Re','Os','Ir','Pt','Au','Hg','Tl','Pb','Bi','Po','At','Rn', & ! 86 - 'Fr','Ra', & ! 88 - 'Ac','Th','Pa',' U','Np','Pu','Am','Cm','Bk','Cf','Es','Fm','Md','No', & ! 102 - 'Lr' & ! 103 - /) - -!===== - integer :: ielement -!===== - - ielement=1 - do while( ADJUSTL(element_name) /= ADJUSTL(element_list(ielement)) ) - if( ielement == nelement_max ) then - write(*,'(a,a)') ' Input symbol ',element_name - write(*,'(a,i3,a)') ' Element symbol is not one of first ',nelement_max,' elements' - write(*,*) '!!! element symbol not understood !!!' - stop - endif - ielement = ielement + 1 - enddo - - element_number = ielement - -end function element_number - -function element_core(zval,zatom) - implicit none - double precision,intent(in) :: zval - double precision,intent(in) :: zatom - integer :: element_core -!===== - - ! - ! If zval /= zatom, this is certainly an effective core potential - ! and no core states should be frozen. - if( ABS(zval - zatom) > 1d0-3 ) then - element_core = 0 - else - - if( zval <= 4.00001d0 ) then ! up to Be - element_core = 0 - else if( zval <= 12.00001d0 ) then ! up to Mg - element_core = 1 - else if( zval <= 30.00001d0 ) then ! up to Ca - element_core = 5 - else if( zval <= 48.00001d0 ) then ! up to Sr - element_core = 9 - else - write(*,*) '!!! not imlemented in element_core !!!' - stop - endif - - endif - - -end function element_core - - - -function element_covalent_radius(zatom) - -! Return covalent radius of an atom - - implicit none - include 'parameters.h' - - integer,intent(in) :: zatom - double precision :: element_covalent_radius - - ! - ! Data from Cambridge Structural Database - ! http://en.wikipedia.org/wiki/Covalent_radius - ! - ! Values are first given in picometer - ! They will be converted in bohr just after - select case(zatom) - case( 1) - element_covalent_radius = 31. - case( 2) - element_covalent_radius = 28. - case( 3) - element_covalent_radius = 128. - case( 4) - element_covalent_radius = 96. - case( 5) - element_covalent_radius = 84. - case( 6) - element_covalent_radius = 73. - case( 7) - element_covalent_radius = 71. - case( 8) - element_covalent_radius = 66. - case( 9) - element_covalent_radius = 57. - case(10) ! Ne. - element_covalent_radius = 58. - case(11) - element_covalent_radius = 166. - case(12) - element_covalent_radius = 141. - case(13) - element_covalent_radius = 121. - case(14) - element_covalent_radius = 111. - case(15) - element_covalent_radius = 107. - case(16) - element_covalent_radius = 105. - case(17) - element_covalent_radius = 102. - case(18) ! Ar. - element_covalent_radius = 106. - case(19) - element_covalent_radius = 203. - case(20) - element_covalent_radius = 176. - case(21) - element_covalent_radius = 170. - case(22) - element_covalent_radius = 160. - case(23) - element_covalent_radius = 153. - case(24) - element_covalent_radius = 139. - case(25) - element_covalent_radius = 145. - case(26) - element_covalent_radius = 145. - case(27) - element_covalent_radius = 140. - case(28) - element_covalent_radius = 124. - case(29) - element_covalent_radius = 132. - case(30) - element_covalent_radius = 122. - case(31) - element_covalent_radius = 120. - case(32) - element_covalent_radius = 119. - case(34) - element_covalent_radius = 120. - case(35) - element_covalent_radius = 120. - case(36) ! Kr. - element_covalent_radius = 116. - case default - write(*,*) '!!! covalent radius not available !!!' - stop - end select - - ! pm to bohr conversion - element_covalent_radius = element_covalent_radius*pmtoau - - -end function element_covalent_radius - diff --git a/src/xcDFT/exchange_energy.f90 b/src/xcDFT/exchange_energy.f90 deleted file mode 100644 index 0054274..0000000 --- a/src/xcDFT/exchange_energy.f90 +++ /dev/null @@ -1,79 +0,0 @@ -function exchange_energy(rung,nGrid,weight,nBas,P,FxHF,rho,drho) result(Ex) - -! Compute the exchange energy - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: rung - integer,intent(in) :: nGrid - double precision,intent(in) :: weight(nGrid) - integer,intent(in) :: nBas - double precision,intent(in) :: P(nBas,nBas) - double precision,intent(in) :: FxHF(nBas,nBas) - double precision,intent(in) :: rho(nGrid) - double precision,intent(in) :: drho(3,nGrid) - -! Local variables - - double precision :: ExLDA,ExGGA,ExHF - double precision :: cX,aX,aC - double precision :: Ex - -! Output variables - -! Memory allocation - - Ex = 0d0 - ExLDA = 0d0 - ExGGA = 0d0 - ExHF = 0d0 - - select case (rung) - -! Hartree calculation - case(0) - - Ex = 0d0 - -! LDA functionals - case(1) - - call lda_exchange_energy(nGrid,weight,rho,ExLDA) - - Ex = ExLDA - -! GGA functionals - case(2) - - call gga_exchange_energy(nGrid,weight,rho,drho,ExGGA) - - Ex = ExGGA - -! Hybrid functionals - case(4) - - cX = 0.20d0 - aX = 0.72d0 - aC = 0.81d0 - - call lda_exchange_energy(nGrid,weight,rho,ExLDA) - call gga_exchange_energy(nGrid,weight,rho,drho,ExGGA) - call fock_exchange_energy(nBas,P,FxHF,ExHF) - - Ex = ExLDA & - + cX*(ExHF - ExLDA) & - + aX*(ExGGA - ExLDA) - -! Hartree-Fock calculation - case(666) - - call fock_exchange_energy(nBas,P,FxHF,ExHF) - - Ex = ExHF - - end select - -end function exchange_energy diff --git a/src/xcDFT/exchange_potential.f90 b/src/xcDFT/exchange_potential.f90 deleted file mode 100644 index c634624..0000000 --- a/src/xcDFT/exchange_potential.f90 +++ /dev/null @@ -1,82 +0,0 @@ -subroutine exchange_potential(rung,nGrid,weight,nBas,P,ERI,AO,dAO,rho,drho,Fx,FxHF) - -! Compute the exchange potential - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: rung - integer,intent(in) :: nGrid - double precision,intent(in) :: weight(nGrid) - integer,intent(in) :: nBas - double precision,intent(in) :: P(nBas,nBas) - double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) - double precision,intent(in) :: AO(nBas,nGrid) - double precision,intent(in) :: dAO(3,nBas,nGrid) - double precision,intent(in) :: rho(nGrid) - double precision,intent(in) :: drho(3,nGrid) - -! Local variables - - double precision,allocatable :: FxLDA(:,:),FxGGA(:,:) - double precision :: cX,aX,aC - -! Output variables - - double precision,intent(out) :: Fx(nBas,nBas),FxHF(nBas,nBas) - -! Memory allocation - - allocate(FxLDA(nBas,nBas),FxGGA(nBas,nBas)) - - FxLDA(:,:) = 0d0 - FxGGA(:,:) = 0d0 - - select case (rung) - -! Hartree calculation - case(0) - - Fx(:,:) = 0d0 - -! LDA functionals - case(1) - - call lda_exchange_potential(nGrid,weight,nBas,AO,rho,FxLDA) - - Fx(:,:) = FxLDA(:,:) - -! GGA functionals - case(2) - - call gga_exchange_potential(nGrid,weight,nBas,AO,dAO,rho,drho,FxGGA) - - Fx(:,:) = FxGGA(:,:) - -! Hybrid functionals - case(4) - - cX = 0.20d0 - aX = 0.72d0 - aC = 0.81d0 - - call lda_exchange_potential(nGrid,weight,nBas,AO,rho,FxLDA) - call gga_exchange_potential(nGrid,weight,nBas,AO,dAO,rho,drho,FxGGA) - call fock_exchange_potential(nBas,P,ERI,FxHF) - - Fx(:,:) = FxLDA(:,:) & - + cX*(FxHF(:,:) - FxLDA(:,:)) & - + aX*(FxGGA(:,:) - FxLDA(:,:)) - -! Hartree-Fock calculation - case(666) - - call fock_exchange_potential(nBas,P,ERI,FxHF) - - Fx(:,:) = FxHF(:,:) - - end select - -end subroutine exchange_potential diff --git a/src/xcDFT/fock_exchange_energy.f90 b/src/xcDFT/fock_exchange_energy.f90 deleted file mode 100644 index f019c04..0000000 --- a/src/xcDFT/fock_exchange_energy.f90 +++ /dev/null @@ -1,25 +0,0 @@ -subroutine fock_exchange_energy(nBas,P,Fx,Ex) - -! Compute the (exact) Fock exchange energy - - implicit none - -! Input variables - - integer,intent(in) :: nBas - double precision,intent(in) :: P(nBas,nBas) - double precision,intent(in) :: Fx(nBas,nBas) - -! Local variables - - double precision,external :: trace_matrix - -! Output variables - - double precision,intent(out) :: Ex - -! Compute HF exchange energy - - Ex = trace_matrix(nBas,matmul(P,Fx)) - -end subroutine fock_exchange_energy diff --git a/src/xcDFT/fock_exchange_potential.f90 b/src/xcDFT/fock_exchange_potential.f90 deleted file mode 100644 index 483f08a..0000000 --- a/src/xcDFT/fock_exchange_potential.f90 +++ /dev/null @@ -1,34 +0,0 @@ -subroutine fock_exchange_potential(nBas,P,ERI,Fx) - -! Compute the Fock exchange potential - - implicit none - -! Input variables - - integer,intent(in) :: nBas - double precision,intent(in) :: P(nBas,nBas) - double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) - -! Local variables - - integer :: mu,nu,la,si - -! Output variables - - double precision,intent(out) :: Fx(nBas,nBas) - -! Compute HF exchange matrix - - Fx(:,:) = 0d0 - do nu=1,nBas - do si=1,nBas - do la=1,nBas - do mu=1,nBas - Fx(mu,nu) = Fx(mu,nu) - P(la,si)*ERI(mu,la,si,nu) - enddo - enddo - enddo - enddo - -end subroutine fock_exchange_potential diff --git a/src/xcDFT/generate_shell.f90 b/src/xcDFT/generate_shell.f90 deleted file mode 100644 index c6e0ab5..0000000 --- a/src/xcDFT/generate_shell.f90 +++ /dev/null @@ -1,32 +0,0 @@ -subroutine generate_shell(atot,nShellFunction,ShellFunction) - -! Generate shells for a given total angular momemtum - - 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/xcDFT/gga_exchange_energy.f90 b/src/xcDFT/gga_exchange_energy.f90 deleted file mode 100644 index b9773e3..0000000 --- a/src/xcDFT/gga_exchange_energy.f90 +++ /dev/null @@ -1,44 +0,0 @@ -subroutine gga_exchange_energy(nGrid,weight,rho,drho,Ex) - -! Compute GGA exchange energy - - 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) :: drho(3,nGrid) - -! Local variables - - integer :: iG - double precision :: alpha,beta - double precision :: r,g - -! Output variables - - double precision :: Ex - -! Coefficients for G96 GGA exchange functional - - alpha = -(3d0/2d0)*(3d0/(4d0*pi))**(1d0/3d0) - beta = 1d0/137d0 - -! Compute GGA exchange energy - - Ex = 0d0 - do iG=1,nGrid - - r = rho(iG) - g = drho(1,iG)**2 + drho(2,iG)**2 + drho(3,iG)**2 - - Ex = Ex + weight(iG)*r**(4d0/3d0)*(alpha - beta*g**(3d0/4d0)/r**2) - - enddo - - Ex = 2d0*Ex - -end subroutine gga_exchange_energy diff --git a/src/xcDFT/gga_exchange_potential.f90 b/src/xcDFT/gga_exchange_potential.f90 deleted file mode 100644 index 41c50b9..0000000 --- a/src/xcDFT/gga_exchange_potential.f90 +++ /dev/null @@ -1,62 +0,0 @@ -subroutine gga_exchange_potential(nGrid,weight,nBas,AO,dAO,rho,drho,Fx) - -! Compute GGA exchange potential - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nGrid - double precision,intent(in) :: weight(nGrid) - integer,intent(in) :: nBas - double precision,intent(in) :: AO(nBas,nGrid) - double precision,intent(in) :: dAO(3,nBas,nGrid) - double precision,intent(in) :: rho(nGrid) - double precision,intent(in) :: drho(3,nGrid) - -! Local variables - - double precision,parameter :: thresh = 1d-15 - - integer :: mu,nu,iG - double precision :: alpha,beta - double precision :: r,g,vAO,gAO - -! Output variables - - double precision,intent(out) :: Fx(nBas,nBas) - -! Coefficients for G96 GGA exchange functional - - alpha = -(3d0/2d0)*(3d0/(4d0*pi))**(1d0/3d0) - beta = +1d0/137d0 - beta = 0d0 - -! Compute GGA exchange matrix in the AO basis - - Fx(:,:) = 0d0 - do mu=1,nBas - do nu=1,nBas - do iG=1,nGrid - - r = rho(iG) - g = drho(1,iG)**2 + drho(2,iG)**2 + drho(3,iG)**2 - - vAO = weight(iG)*AO(mu,iG)*AO(nu,iG) - Fx(mu,nu) = Fx(mu,nu) & - + vAO*(4d0/3d0*r**(1d0/3d0)*(alpha - beta*g**(3d0/4d0)/r**2) & - + 2d0*beta*g**(3d0/4d0)/r**(5d0/3d0)) - - gAO = drho(1,iG)*(dAO(1,mu,iG)*AO(nu,iG) + AO(mu,iG)*dAO(1,nu,iG)) & - + drho(2,iG)*(dAO(2,mu,iG)*AO(nu,iG) + AO(mu,iG)*dAO(2,nu,iG)) & - + drho(3,iG)*(dAO(3,mu,iG)*AO(nu,iG) + AO(mu,iG)*dAO(3,nu,iG)) - gAO = weight(iG)*gAO - - Fx(mu,nu) = Fx(mu,nu) - 2d0*gAO*3d0/4d0*beta*g**(-1d0/4d0)/r**(2d0/3d0) - - enddo - enddo - enddo - -end subroutine gga_exchange_potential diff --git a/src/xcDFT/gradient_density.f90 b/src/xcDFT/gradient_density.f90 deleted file mode 100644 index 7d9e0cd..0000000 --- a/src/xcDFT/gradient_density.f90 +++ /dev/null @@ -1,45 +0,0 @@ -subroutine gradient_density(nGrid,nBas,P,AO,dAO,drho) - -! Calculate gradient of the one-electron density - - implicit none - include 'parameters.h' - -! Input variables - - double precision,parameter :: thresh = 1d-15 - - integer,intent(in) :: nGrid - integer,intent(in) :: nBas - double precision,intent(in) :: P(nBas,nBas) - double precision,intent(in) :: AO(nBas,nGrid) - double precision,intent(in) :: dAO(3,nBas,nGrid) - -! Local variables - - integer :: ixyz,iG,mu,nu - double precision,external :: trace_matrix - -! Output variables - - double precision,intent(out) :: drho(3,nGrid) - - drho(:,:) = 0d0 - do iG=1,nGrid - do mu=1,nBas - do nu=1,nBas - do ixyz=1,3 - drho(ixyz,iG) = drho(ixyz,iG) & - + P(mu,nu)*(dAO(ixyz,mu,iG)*AO(nu,iG) + AO(mu,iG)*dAO(ixyz,nu,iG)) - enddo - enddo - enddo - enddo - - do iG=1,nGrid - do ixyz=1,3 - if(abs(drho(ixyz,iG)) < thresh) drho(ixyz,iG) = thresh - enddo - enddo - -end subroutine gradient_density diff --git a/src/xcDFT/hartree_coulomb.f90 b/src/xcDFT/hartree_coulomb.f90 deleted file mode 100644 index 42f83d7..0000000 --- a/src/xcDFT/hartree_coulomb.f90 +++ /dev/null @@ -1,33 +0,0 @@ -subroutine hartree_coulomb(nBas,P,ERI,J) - -! Compute Coulomb matrix - - implicit none - -! Input variables - - integer,intent(in) :: nBas - double precision,intent(in) :: P(nBas,nBas) - double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) - -! Local variables - - integer :: mu,nu,la,si - -! Output variables - - double precision,intent(out) :: J(nBas,nBas) - - J = 0d0 - do mu=1,nBas - do nu=1,nBas - do la=1,nBas - do si=1,nBas - J(mu,nu) = J(mu,nu) + P(la,si)*ERI(mu,la,nu,si) - enddo - enddo - enddo - enddo - - -end subroutine hartree_coulomb diff --git a/src/xcDFT/lda_exchange_energy.f90 b/src/xcDFT/lda_exchange_energy.f90 deleted file mode 100644 index dcffb30..0000000 --- a/src/xcDFT/lda_exchange_energy.f90 +++ /dev/null @@ -1,36 +0,0 @@ -subroutine lda_exchange_energy(nGrid,weight,rho,Ex) - -! Compute LDA exchange energy - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nGrid - double precision,intent(in) :: weight(nGrid) - double precision,intent(in) :: rho(nGrid) - -! Local variables - - integer :: iG - double precision :: alpha - -! Output variables - - double precision :: Ex - -! Cx coefficient for Slater LDA exchange - - alpha = -(3d0/2d0)*(3d0/(4d0*pi))**(1d0/3d0) - -! Compute LDA exchange energy - - Ex = 0d0 - do iG=1,nGrid - Ex = Ex + weight(iG)*alpha*rho(iG)**(4d0/3d0) - enddo - - Ex = 2d0*Ex - -end subroutine lda_exchange_energy diff --git a/src/xcDFT/lda_exchange_potential.f90 b/src/xcDFT/lda_exchange_potential.f90 deleted file mode 100644 index ece265f..0000000 --- a/src/xcDFT/lda_exchange_potential.f90 +++ /dev/null @@ -1,46 +0,0 @@ -subroutine lda_exchange_potential(nGrid,weight,nBas,AO,rho,Fx) - -! Compute LDA exchange potential - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nGrid - double precision,intent(in) :: weight(nGrid) - integer,intent(in) :: nBas - double precision,intent(in) :: AO(nBas,nGrid) - double precision,intent(in) :: rho(nGrid) - -! Local variables - - integer :: mu,nu,iG - double precision :: alpha - double precision :: r,vAO - -! Output variables - - double precision,intent(out) :: Fx(nBas,nBas) - -! Cx coefficient for Slater LDA exchange - - alpha = -(3d0/2d0)*(3d0/(4d0*pi))**(1d0/3d0) - -! Compute LDA exchange matrix in the AO basis - - Fx(:,:) = 0d0 - do mu=1,nBas - do nu=1,nBas - do iG=1,nGrid - r = rho(iG) - - vAO = weight(iG)*AO(mu,iG)*AO(nu,iG) - Fx(mu,nu) = Fx(mu,nu) & - + vAO*4d0/3d0*alpha*r**(1d0/3d0) - - enddo - enddo - enddo - -end subroutine lda_exchange_potential diff --git a/src/xcDFT/obj/AO_values_grid.o b/src/xcDFT/obj/AO_values_grid.o deleted file mode 100644 index 5f828e0b2bb3831ac684ee920dadedae3acfb835..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3396 zcmb7GU2Ggz6~5!$#!DMK6UCJlMC1{=piQVzoCjp9M%op-PJTi7N zFzm&<7~p&=m|uLFG0HJ)0o_mqzv4*6E)N#FJ|}H^@va7VTCk!4yf8O1wFUN2SeAXt zDwGFDZQrsNZz;fA3>Itz{Ivak`H}Xi5Q`*7m$5$zM>OIeN7vyGU)F%6^3wPOIyK67 z_rB78{J$;rQtHK2e=6JmH8K7791emQYVB&8?j?Si6z8$1EeX|F&$!1-uRYmUd)rWr zM``C8*D!Bj-nqfo5mnUdPnyl9dH9c++P}yc$Nc$z;ojhj(sMP_^%vni_XlEVJiKEp zzZ(%=Z~X?)}Q$S6gzb zTnDZ?*9xoQrDDRl#Mg)jxG!Kvz++zOkkCzMmNRLe6~ z%K8BTKK$)OJL>sET5(;5s5OO}-hPh^w2253qaf9peJF-|O=?{Ly5@s>HzWzu*^*1# zS!u4liL!B8H}~bI0OVCVWhS(zLivY@JZPiE;eQI8i4DXuyy%Yw7;jTt1YIOK6EI(=qh&ao(vTyAj-MpqHGn6rueuE9p-2bh8%xJT#6M0r9xJq# zGP(#?wPOnZ*;Y!`T3xso)Wic)j>opte1)HYj;Q%bo|9Iswgm7BPr$y8ejEJ_8Sdzo zI&d4FdHyO!WXtpJEj70ck6*%qo?C`B&2@F|14;IZ{Gpi6Fi)D!Bo}l#E`v;;bDt`* zfFV*8?iI2hQp7^~=MLdSoqCu);JU5LL^r)uoyK9~gZ&MA^dkU~HbOXD>v zG(n(rdBOunL>gFE=YAoxqm;dK#4pbiyCA^}d*XW^`87sz8W|(T0FK!%UaQ1MlGQ3a zmh#RMnJl3VRLGr52TLWWxm>H`W8!n7GvGUe)2BmD-GK2)9reLvPX8g5z}h3fk*qKu zu#&qWxly$ORs@gyjhQ+T$2JM<)dYqOL%C@vw}5_7L|)@lIH6|GBp+96U%~fI%=i~v zlm<(fi_uY9#DENRd&R}`{*|THjz4ZTac|LWs?5p{34I;uQkJY~1$`hC8q9}SWFZ6n z9%D3E3kP(;M0=|KXV8271F)ICnFHF_UryyyFQ;BfS*!C@^E}t?9>R%NJCbz2K#$!$ zD}ROB!MiOxSO*&G6vw%h>AFK7|Eqv8z2|md#9cg@eA4G-AL;nM)THI`j#&O{#PE8L z(5G7$b@}uVD4wVve;{4z$G1tEJ-RZu&=hTd zYmDxmS=c{;zJa`{h3`%lrB_Cq_Wc%r5TA?q1Ko@IgT(ApQ2?;EqZju1gYKEuC?(i7 zABnDF@N`>u;NgozfDj=1Li0sTif7n&V~pW?>pTaEcIbP+!C&WF_!#2@)cK=8_6BkX z&SbwE$b~@W0@)kLPX_V_aK_TkIY_WSGz5v4WaqO;7a=?U3?rWMojQWU^a@Gb{cR=4 zHWA(u#vl-|rl_zK~Lhe%Kc(?xSp81dO(Gz=geUIL=N5@0{WT8~9 zln2MG(rL>smrG@4*%RXouW{RE*61LeBxaqo$MD>**w*P&cClzNYphfr9V*#{0>*zjkcGxllgWO-y52Fn^RogEo29Am{V9Ag>bKkd7qbuspDgt0#j diff --git a/src/xcDFT/obj/DIIS_extrapolation.o b/src/xcDFT/obj/DIIS_extrapolation.o deleted file mode 100644 index 43039889fbdabe7bf6553e882bda3abc046de6e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2584 zcmb7GO>7iZ9DmaeFhbqgCN-&vgozoFUW&U)V%MNy<8Ja62ZLI)Mq$`&XX%>Voo1MY zY8olo)-Wjpn0Vk|qDKxyICwxLvc;TJ9?p^1%ps#AGzRctBmZjUgLE zFm$~)-Pap(OZa2pK=Fv|k{D|zwa7*Y!lCQAUA9#y?+gUZ@n(WJr9dyC80s+`LAfD| z`iceHu(HJ-U(_70Z<#MgIo=p*iWj5{wA8OLpy#b@$?!$Z@pc69js_khLA(=4K((!6 zY~Y_@AXLmK2_9WZzn)Deum<}!;K(D49Rb3RZNa2LHPNK)qjX5|zen>}aYs{o_}DGYNvVBY&Rowp=Q!wSnq-=~kvr3T z;R=bi$onIxE9q_(_*W18u|~_yYtC)Wnajw>zx517mAm34FJ%E_o7s1(DekCBvbub(43#B+=ud-jf_|80(R;BC+Fp8Bwjnr zt2F_nIKdOs^YWYG*?GC|!tm_8+#b<{YnpH|lUUq)F;lHenlQCFF}?RQ$|`B&NJyPW z;p`n{?wrNWUE{4C*tWK4#!X$7xZC@jfG)2t^@qTyftop6`JIo8*s1m2PVrWR%?Rh? zwU^wEKl0&vc;&UXaA7`~I9It%DLXTD@f)wpaa)aYXOX)d3!y!4S}%}$)9SS6 za6r8ej8BoIlRi0j7=A&GWV?ks$J8TU&>%VZ7+J!ITHwydszf}B9+XIc>J9@T^XUBz z^a;?R&6NiEg$8=A!KMpA!Z=C;9S!Ii*rMHq03UkD_f696p*cUlwJrH}a$9nHQlBM5 z@4NO*yl>gol5Seyby1~dO2_Y>qFh)ll^>x+lV;c6$MRucBsxanG1TPa3tU*#ggKm& zNeVps=U=dMpC{Un@6*91lNcjYwvC;JrI@=7D_=DCD0>EsvXaXdbCqJ&#yg|f1BQ|< znU%7wn0cjSluYYg#Ws~}v1sP9c5u%peXd}Zl|5#q*smBvIm74=?Tdv{q2U#rJJaE( zXTp20GGQnxMB7$KhtcT)$e+NxLEU47?;;cFb%;a{wTSfDMLG|*`Vz$zeWL5YGLe=l z68m7ePxMq*i1bE8Mq0%ea6zt&^oRgh`1-COf)AZOM17FFG^^NkIN<&0zDACWt-cJz z)8Bm&h-|Bm0a4j%6Nne8+W<;HEx=TO8-OUhdlANXvbxs-$&U^b-mY#rK-wvaL-#-7 zCjlxze0SRk5i0T_FoFQ#d+!E(%)68r+eM z^Powm)GX@^|6|HV*3x&G#oY$jLCY94%Kf005|y%csZ!Lf9#(wu8J6b$AC)*bnlY5f F{sxUCHJ$(f diff --git a/src/xcDFT/obj/NormCoeff.o b/src/xcDFT/obj/NormCoeff.o deleted file mode 100644 index 5c0e45dd5665421e882562d00200d13555a3d330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1432 zcma)6K}Zx)7=Ejxj+HZGbl9MQ4c=i63af=|9n!%OHkd=!S}UoqMR!nGQ*0rrh`Tak{r~^I`QPx~yx!gU-Nsm= znPGry@HLvG;INbM4Do;1jV76RqiSLfO-4?-WI~jSi)A^NJU5ij?eloHqI5`)dP!sG zq@>0k5X2@#X{KCUD3mfXBE&(xRi%?s3+B;C+zW+ByU~OwPK#inFk6(-!+JHPx2hH` zE4_6H(I+^{*tAMTz%g1h>o^i|s!75(QQr>Cw=gyU#5#5fPKHqA^r}{PW51yPW$rci zsypK5My_PT@7blVd9TvvS4-T_hWEJRRqktk_|2;X`e0S-3q9@+R=Y0r)V`3o7yj@P zpXz3($E~_)Q9CS3WWx_VwJ5Gfyl#$qT!#>fmvvsa7p+PjRIA?A zl$^CMXT@?!$Z;tbn9fH?Zb4*<%UUn|97$#lOX^B8DLbxs+(AhP?IBu_0!u=08*GfH z>t=o%>=oqq_lXjuXj`N9--Qm!HdLQhnPV@bWlm~2PEBC1h~O(kAH~Toz05=N-Su&I z%pG?pT!HvoL|)X*;o1hNk_|*7``MrD_Hw^Yw<~T9oRA5YxO15$7OjMJtW96Wfq01c zDfrf&wD_JdjZT(fJ#CVc2V3@JM^ T74(AkvZ1W}^Ynm`r=j%+OWoQ6 diff --git a/src/xcDFT/obj/RKS.o b/src/xcDFT/obj/RKS.o deleted file mode 100644 index 762b74e396c872365a021ef49a2427a5dd08aa9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22196 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 XC@NRPYGQkLBe^d~m^nYl5Qe@0@i2YJ diff --git a/src/xcDFT/obj/dft_grid.o b/src/xcDFT/obj/dft_grid.o deleted file mode 100644 index c6b967f8c5a4638b5c300dc44be8cd9dd5a6b641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95064 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 diff --git a/src/xcDFT/obj/elements.o b/src/xcDFT/obj/elements.o deleted file mode 100644 index 22a95300971220557b15409110a2371adea3366e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5228 zcmeHLeQ*=k5kK3)HiSqDb*P(i@sWyRXaGxc0+c2?SvH)(7}XX8Cj=o|CtHa=%t_*F zLgLg;u?C#F9r~RnZo*8N^dqEYQn#Ie8JmH&bV>rDOqvc3p@Ehb3UNqa3iP*kd$m!M zG=F#cW_Ew~+ugTs-@A9Gcl!O6zh5g7guDU)3SxousS|qd%9*)wW0Or_X;jQ zcJr?AF0ajA^#+!|Ofzp(dPM50JpMNcCDiq#9oD*@u)}_KQp8qP4M*o-e&^NJw6}AA zUS0ODd#KL3?0aYQPTAL)pVqnU=hY5-WPY{7nmMREK12z#XC8RayUP2ZclDssqu>9! z?CAs54rvMv`Z6s6&BClATkTk*WLG~werypoMM?0WWJ(k(`BrHAG&7&fDvb1>`N z#L=;gY?PNqrMc>;=t~%}&Czka6<*V_PqR1&27AX^ zQg__I9AlX_rJp7<*iXA)aCE$W$~TB@q36Z6uw#jp>{|*ZQ%u1Vm3_lSO7;XMX7?ag z$yyx7afRsQikP-Ae1vv^Cf{eg+3UU-O1lbMQ0oe}ef&`GS8nOeiB$c>!KuRDM z$adJ$h@%?lnq)V`T*EsYW2hwItVtVwjku zg~HK{QAlWAC>jej$2bfbZ)}pHsCCgQRjQJFQoXcHT3D~vhnBW_V~tVCFE#pNUQJr! z3pKU`qS6YVwluL&^(E`0zRdlJMWIEiH`SPuCH>Owx%uhobB@y2*fW>GlMT)k0A)@XrvQ*&KLi3CE@eGTfe zRITPudoxOFAm(qbiu#k@bVFjH))4Zx1ls%|X?cCSKjV%2;#Cj(A~mUn@ulJVWSu4m z*Nyhrjk6R6ro1@$nS8-6Ke=-2vOJ+&Ui72=KM;g_Wyi6Tjo3l5@8XHyg|m6`YscsuX^6wd$9dY^|B}O+k$7;PP*g~n*wFet$)|k`m669 ze|qE{PucwLZC4ju@ECb6c#agVowKQQyu9_1osXXPkCSirF1Yaa;(WR7xvu9=9uVX* z=WEkTW(o4U=dT=U+I!v8J@iho;}6$7J%Jfp))WfzrPGVr+ILyy?2hT{9{uhFdCErV zr^?U9%aK1uAFi$_mLo@ADtusSk=#1yzo)xkoP6}$eR+G%Vw~D@%MUjd$d{k_=bskL z9LMv?myJ3Ld3 z7H|Z0pa$_2@N>YUz?r}yAl?|_ZeTfZ2XH!YI}ktQVi#~4Fb#A7!@$n~1He0g)j+%t z#7dw9bO6hMB|w~aL<0)85J6nGnO2#9YbaW@d>UU3KTlfdo3$-pk) zt-v%8dqE5XKLHE?aWodIfwurRV-;z=G$5_lLqJ+D6^H|lxB^J)H4{kdMF(vg@FMmE zHi38wh;JV8Rp3P6K_JfD;s6k*5wQvtl6gd+>+EQJDEXw~qOKOorNO z=0}(>WIoJ%Hgo;aL;Pgs#q=nmU4u~mQs$f3-^aX(xy<}5#be>j@4@55F;)j|2DM`p z58lmu5A$B;Pci=%^R>+TnCBBmJ#9Rm%Z$fjQhNhJ`P-O#*}s$fkFej){)y}_X6|54 zH;396n7_~c1I+)yJjVPC^KUXAX8sH2$C96wfiyv)3n`8?)dV_w00H}i7lhnP#u-{g8qnJ;F4FY{*R-OTCvqk21-zrcJ0 z^Yff<4f7)QuVj9Jc{}slnD;TC!F(65$M=b2FYILhuaVyd+b#&Try<09@yt-`hY&X# zU5=sj4!(guk;CbCZ)`k$VvXf3IUIiswMLR!S_>tDq3}bQR5~`+gri$~kpK7@6PZc} z*K7E{Wo#&=NJUgF*wPl#LM`|+<|AUFiL~1KK@n!=U>HYEA;_mp91M-4V9+=U21h-K zOuQM1Mh$d^3<@#de2ANri zRFZO&a*=ZCHnLZeos^4|Q>SEilbw`{lvBSNEjSiUrDwb6&T~;HDK{w>DW^-QQH;Nh aoJ1j&q}-%jx`|W;*-5!cxkx$jqy8_<-K9YQ diff --git a/src/xcDFT/obj/exchange_energy.o b/src/xcDFT/obj/exchange_energy.o deleted file mode 100644 index 45750161c4c192d1db358cb67e780323e384290c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1392 zcma)6&ubG=5PnIwHl%hphaMs*?qQJyX(2u3V5y-ktgu3FQITu z@!bOv{RG{NRib;^;~8-tS2e5BNZ=8Mh?_eheP$mJ)T z;KL;+_~H1w*|jd`)re(NEg3X|FibN1X1u<U*mHtU(PTT4Y@BA~ zm5lFOs(iy)bFGTIj>%-Hpo-R~57qzE$_-pAA%+uN5gI|OxLou}xWOJ)5sPKEuv)lM z-m>Llc)C`4-7Z%pC~(ZbW)uzRFkK)mqe>#u`Wivp0%`y_9Mk{=%~4kmYodS#f! zZjG~8BNa;>?@DaogYF`J68gC%B|PU$qm!Yh*5lGh-|f)o`|IW%O`}7g+kU4;Cq|#u zCILy^RtXZ)iaIj7QdPMmR$|70r-Y`2UFash%4@5 z)bCe0lq-anZp>ZdUSqCOTqt|oTkvY-o1F1-x!5LJz1k*P9Ufq#j{L8ZVb$Rbh<^hM CVc_Qg diff --git a/src/xcDFT/obj/exchange_potential.o b/src/xcDFT/obj/exchange_potential.o deleted file mode 100644 index 351f7dfcdf010b298dde75dc401b77667e5ca491..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2788 zcmb7GU2GIp6rO1ZSWDSiV>LBt!#s?!J`}sL4_zan6Sn3qPO)gItwM)&nQa?)J7ha6 z^(T#Hw}x@q()cDZgajXWllY*-L~VrvEkvp&f)7S~Ftn5^Y$7yOS-&$sZCQ)Po4tGP zIp>~pzjN-nbMM8)`8(@4jxXo%hc2LVW#|$OIPPKe1Ejb|8(ZrrB(g#Cc=+U~+x|c` z&C~}?4BVz^?Jb?{9=A+)tZ~NVk8H2_I4(dUfqRRH*EB6QV5a)|dt5=OzfRXr($x{Q_)0|BP#WG&h=+w!IYU2e_ouPLrv3rwRkF;)K~X++4VQ$8Z5Z} z_T1;Be?7*Fe_CAyh3@W+Z7N$qCygEH@Ez(q%enz%em00S97ao@NJBYbGLoG{HjC;-UAD z`QiD9Rg75IlrJdMp(-`sI6-D7iESOerHbJjs&zYTRmpa~!?`M%4UdW07>uDHr@kdE zG!g5Jn0*>bz;4NHq4{cVm+TWq{3Og*&6E3xH50tGJzwcCw=YNXl@CP5uaw8*@lE2! zEKT9I?a^KKE^WRLK;}#Oxr-Lmc@MOMw@}?6XLO@^XLh)iPWZvpWDAaq#Ky z)EvsA)%t;u*8r?4H-u4vz~3&{Q4kV=tzHhGMjkq1?}(v1rPBRKR9ru!jO@rnxX!$~)k7+B-vvHq|P6(R9A3=4xbdWaa>>i1K#9MX7iFby!OE?Xy%JG7@>nrrB zg4hK?*ZG3j3BD6@O3B&GS)}CGR{k^+qw=Rv!0BVNj}tU1sNfh?lhUzjyzO+v?+$u+ zzN_0kVRL_>%BbX4ZdsK~(Kxk+@>;I9f8W2E()|mEzQ_I@@RmST&jlyRt+)R;um5%4 zP`RO-Vs;LLsPoVc|p3GvX#pT*+r4)UJgOlc2}Ih*Hj_L#(Ik$zL}(NmJ~s-B7` zjQ!I7UcFz6MH8`fB5LAZlgwUSiYAS8zbP4UDXAxo)N7JyNYO;Xh(%4^@uN6gpV2Sv zH`0l{l0F#I^}XKwL|?MczI6}3Pi=Bb#ie8WHdkETQstO){Oiwg{9u3&RIc-l;wy0h z@*4Cj&KJGt-N&4OL&*69hsvBm^+>rhkn)1yBURnOH3EHa{SEJ|bp}nDbpk$@oc|~< zbiusB-{kNOj=s+I;CggOz#%??Zm#vhd9pvw3%KSu{|R0QxxBp+{C@26_Bzl%dbgfy zg&W*`^$Zj?wF)Ti!TKl3J@}Vlh^w>y6dnio)qaXUK&{P!BCPr(DCxtXxLfN#fs*JO zpukkGyYzQBr}@9ZX(i}4E|oyBL^n|^=|2MMhmH3>IqdRB9X#AY;<1+Z-Ze5S8}o2=D`OaeCT8FMFj<`VmECy2`yCXgDLov2ccE02`RK|i;drznQNAypqIUK zzVr9pbAR^Ui?^=bX<;nV%Yrv|=8jz(@`Fik6K+HR^~{WIT8n6MPM*}SX|i$=Vd zb2fDOLdQ2oXzLbVrN8=FZKXi^2u6+4=ldEoS2-ABqH_X!1>p{9j-oEABryw zSNGQcj)yxbF2!%CT@yjxSCM#a)lg&YD{9wHpJ!E#DQ7^oiaD;T`xJb(DYN50^T;he z@Zzf0z`%bFmz+`BMPPHbv)0&(V@4#qzTUjQz#|k*efZNk~%!qcBa?fm99U-x<+<<8z8m(iR`--;-X&*p%B!Rsu0X1T<;s zmY`39ehGF;z$NexETz8~@RapwxcvP^8B+~-Mq=@df?Gp3DYt)iAr<PjhUoU=&aV#1;(WKl(pyPP6LU%+|t15x3``9K$Axqzzn*-24*`lA>f=WJo(=xq4LUtXjq$rT=y+%{w&Qwks%ScgP0Mv1 zx6$U}oaG9Zbl9$CF|**GHD=mQ`UMjQE1N225K^?<%n_5BAWK^a!uwi+x;_9*h0(m} V_Otxs53wO0JaBPn)ca5x`wNwzmxcfU diff --git a/src/xcDFT/obj/fock_exchange_potential.o b/src/xcDFT/obj/fock_exchange_potential.o deleted file mode 100644 index 560303afee63a4a465167b1d3725072590cf55ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 984 zcmb7D&1(};5P#cjO{ki;LXnDvF2F2&llc4&PXqur{3{3Du)3WJH*?|4=dA|?#!(H}7 zB-K3(K-2V+R=ktHrF+r8`<47YPyM1zSOjmZg2A2k6H@Y@T$cbVAv!qVa?BY5o%8cw zfKLL4I&u~i1xExL-0432hhZ1l1vbI56X$s$oa!moPhOi>tT&3)P^r@5Rx?ANuV-o- zD&^k*u4HP<0M{Vv{z-11sPmoAspT{F;CmdZ+F}#^xGjc@G&V*EUqDW{IUnJ&Q|_1z zK@~p9TjiD7Hl6(dPj(unww3yN2--EBUa!Y@mK5vbxIMgzrDju5>Kh?$KDsUaib zF!?*JmEnRblPt$3*%Z?n?o>hseJ|WSM}&$bNC(1^IoR_a#D_t@Kov^x{Sgs=(WvyK z&jUlVArHiD(F4iH{URP39eKFV1INv+L^w1_nlE1|R{%EI^z9VkiJH5J&>?3or{iaRDma0MY{lFh0;s1`uWf2?9ZU zd`W6W34{&dhqy+BAowsAObN(5kXzt@g`ok?1~TH~Q#0bziV|~EA)@i|sOD8b6-Pkn zA3*a!ehdIQ2;?Si28Il%6qr&0k^&$WFBg~(QX>Jx2~hP7Kw1XK2kK)80AdgTc^QU5 z>d672J3zXEeUjx|y7_%uZ~O3j-0<#|k@o7-f-$PY3k%@YCg!={EpGl z@?`B*$L3dzmHVS(4}&y{fOP}iUlqi_SRueDz{Acl0q7YUpg72%5B@^{EIt@mKtAOY zXk%hw12H6;nOU;IA`l48W|CMTsS; T@x>XbIXUqRt{#whHDmw)r^{SU diff --git a/src/xcDFT/obj/gga_exchange_energy.o b/src/xcDFT/obj/gga_exchange_energy.o deleted file mode 100644 index 3ee163886e79cd6584ccb12d8b2647ac7ce74801..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1208 zcma)6&ubGw6rQx(Ce(IkOFcv|xQ9K&gJ5fscrh+o*c^nSi6)q42z8T+v6fOWib5f_ z5c|Vk{2x5(#j9d}DD+?v^rC{Gg+Lo>gF^Ap_`RK3jDp~Ux9@##=6&F#b z7HDU9z%}?2N=!KH5IjcsU)ClEHvBmXgOiaHFPRWiZh1=P5+{e!$=}$|PAVSaBP|;s z=%hi7O;hkqh|;wwcQRj!$%+tv^7)!g)er)YuZ2p)-D*O(W1=vbzv0U2-+XDM>#=Hz z`g|awEgxWPtd-9KFsRVe<&|kp7;a!by_ac3l8!z$3@7VQPD|0A)so2m-|WlwrSsJ_ zJ7p(R7oEy>Y%Z91<+abe;EOsa6V>mD>N}^pUf?^;a|`8We|@XFz>nPbW;xZ>1~>W| zy!WmZbt=nYXO3jChRuy^ouQtzOw73c4Uf^i0*@}EmbF3!hmXHTTC&1;UbT#x*TxO6 zV0c}s(#u68zDIrEoJ|VQ9J~m^Le0(hRa%Mv6s> zbR>~xS?Yc`@P|K&2#W4Ue-zn|f@!lhbyF9HW7W;I3WK;>Rs*s!Hsg2RyIDI?FYnxQ zzH`n!_nhdf z!jKK@?+*C4a80^E31Cn>5{D7QN(u`bCsrHbaQt{8a&jQ7gj_JOV=EU@ z$!(;S@{7d6(USuwB8KXp@tCZ0O0Fo$c&o^-4!Wlpi%FBtIA$A3Pd}++^09+9;NJ*7 ztuS^F9P4xr#>kV1T1oo3Sa?vaR>i5`m*Fao*0o>tWq!zZ zYS|fXM`$hA)+N$;U#6g`zSW-edS;e?2v1EFceEGRV0y2|mup%S_m*iUZ31O zomVHX;GL2;d1={C^(3_HtWiexJhxGk(QL{<1D*n}s5ZNnS?$R@@MVe>b!Uj%9*4FP78TO;ZbUt5Yk|a`P0UyqsCd+1fz+2o7I~A_&v%pd5++-M>y8>f zNa*k;%@ORsvxAd3wm`C<3z4lyUIdQu)`}XKqmbVKj&Ua(gAkz;>d+E&Uamyd*2OZd z*jni2U8sv}uALIoH>Y+%8DeO@DRUSF>U%5W=e)d|ZS zP}wL7JH@$kdsRjwwrZ+X)5f7gb%?qS3C%^^%aHWW_J=qXxYy`*@K;J!?_AK2POJUj z!AK=})u8@HG;^HCG;@NFBA2V0`xqZa;AiD>$wPl&i|?rxyq>^ifSYhyLEo$3*FkRfhWV{NPsr2f>Gy;S zz52M;2`xss^UE)2+?TlYwPC;A={)yU`RB!TiT{*#rAuGNN}WxHz)bJH!AzqzldZ8q zIg1~WPOE0nDvm@Nwflit=w!CqKBzMU`=r?roH>gjw4SNAAON%Oet(A{xRMPPx|6JD z>n!JRo>^Ve!C%dRDscxmhQo>J3C8+~<8HC~z^$;=>VIA0JT{}T4@CAQ ziT6lclK2&gmnD8l;#G-Xkhm=I^Ac}J+#>O&#PkBKD6DqBq8Ci1cFRHHHi(OQ`0aOC zcyMqa92q?t8yFglK$D0JC5{io!z{kv4RV3@fnEdc1$BV-fL>+Y!nowyf!b+{zX1zJ B1*`x7 diff --git a/src/xcDFT/obj/gradient_density.o b/src/xcDFT/obj/gradient_density.o deleted file mode 100644 index f3ccbb937066b9f8b2faad94e486dfcf1a2a3e1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1272 zcmbVM-Afcv6u;w6?oc^1fyqQgTkL~Dl zY)pFUA)^1FpqCzZR&agjV^y*x2!xO=sx80q9#8XP8uk!a~m_|XPF zV6%`9doO`;sd+NKQH6ZNL+Rvb-*Dupo8HX#i1Em*DGMLy?*&sL%lq($ugS}7=6k~U z1lCXhK0GsD{^rJ=YCcy6>25I>ygE&IDrp6JaCxF4O`n0mdjA{Unm=vVwt+6tyt@Z#W)+%mUdI5ijHpKo znHB8X4PB~z3Z}f!oc96UPB?;Qs|vMZ;j(UrU%OqFL+w~&AZ{PZVlB*$+i9nv1sNuh zcB(tPu3KL<>thP!u(a(q#ZGC4R$Y3v#exZQgcp-b46v_ znPOLu+O77ey{a*bZ9s=|6MdArjt>tX2NsXjdLiMiwGnPi=H%@`VFph2I^_3&u6TVF z|Gg0&Z}XB~{e1K9)r-6WwN zetUb63NQo)Cif!3T@?=iijeT%FMfvz3;z4VJ1@dz_TLZENFEn>AjXB!zJa0SNZJ@k Yj$9r}Up2_^$wtybz1J9lC<0}_0VovozyJUM diff --git a/src/xcDFT/obj/hartree_coulomb.o b/src/xcDFT/obj/hartree_coulomb.o deleted file mode 100644 index c472fdd7b487bbc4c13d3edc9c79aa23af4eb759..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 976 zcmb7D&ubGw6rO3e&0;mPqK67XbI73ukro6E9%M@bGi4V=Q?1x`ZEHdfmO@FON|C@C zVbHBT`X_j+M=wH>65A@Y&|a!u6rmPD2~nHSp!L1|Q9#OS{2XQybU!7Ql}pd&u)s6RN+pL=LG}l;{v4c# zS`JJhg#!-6veH>AGc!Jw_D=tv7tDF$H|>BBe8vI<)YM5x*1vKg22n$H^Z3 zfRry|B-}2kJYLJ!>?O+S*F=0X|2A3NVDqbRIp`$LQX$uQ`BNzA3{Zovi1K#Gpj)E+ zA;cY}!et^>)185RNUF{KeZUc_aXAue3MbdD84qv8YKCmRz@H}rcA9nH$GxP^v`$lg zH09?E>rQ|~`NohN&#}(U;l9l-fu_AWyAGRI6Y)}=4X@<4g5F z((jzM67g#ODYrq9D(q#|I6oI_vf>?3bz@W?(MR<$-C8>CZin}E_cEcg8r2Sm)dko( z2j?fj-$OZC@ZAsv-)Ka8+~$$4`H)AVj-ud)9qD=0uAuBl--8a1oU_BqML3G|d3lfD z;ZN{D^FW18w5S`&7$UYF1B}4xKnHGM7y`4h<1@LLblRGn&flJ%ny^Tcdw+y}Ecp!_ CjKQk_ diff --git a/src/xcDFT/obj/lda_exchange_energy.o b/src/xcDFT/obj/lda_exchange_energy.o deleted file mode 100644 index 84f0bb628192b44f3a1087b381483c5b67cb10f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 952 zcma)4O=uHA6n@)Ino#ZT6htCe+(QpV5E2g(Pj+bw8|Xnakrr)-pqs7`Q;89yhzLP3 z)JQLiM~@yodGVl7(VqM%-ZUV1DbykadhuZUy`5Pa1)(3j`QCf`=9{-O@8j>yKS?61 zpRm9L>;*e63^)YKar_^Qn{S^C$1yaCjddAH)q_S|`#LU6%@lUy*n46e*5h6z1R@PV zcjFpnr7D-}L9JBD>8w(J>peBa(s0Cm~f>r3`)+4;3L*$%fi66IyTwc;;vL)3MK3!|y7=ScCb>^s%f zb)A(%%zk^q%Af3Xo!RLQN+p*%v#VWa=JWMeSl6&|_@Li>E6>k)7rZ%de#JR5NyKMu z{2(eu*gEAte!1RxxB2=2ivrfIGh{WSCHE&&%jonra))8xw>9EEtgHVl=BAG_;%`mLdj5(3EVqV5Dw(I#iVZPuFG~)MyDb(I-hGC8v!xQPNrkDL& zZ-w{um@j(5^~OO6k6hWCG0Z#$KI?@G>hR=zPTh(v` z_%G8gY8SK~E!pz|mvyt;*AyG9vRhfcm?+FMC9ztVqV#5Ww32Wd=Gevxa~jvMRCgK{ z5QkkmqBPw?M$S0mZpi%RY|%}#Tv1{zrOEZ&qQHcA?Jb`smpk(Bm6-$3JS*rlV(XM@ zPFsb|eF?BahBh;2Twog|z0gi$mb6Cjbvr{Nx;;f>Wkuaq&ulzVQdV{)sg%eqf-gvAO;Jy84l`wJ zY1N$t-nj|cUKvB($As{$v*kxw>8qs0OE)D z0D^_W5MYl1MEGaq6M!--@cTZ9H#&WHRPhW;AUX#A-VZehmC5>0sUmAqp&tTE7609N}01 diff --git a/src/xcDFT/obj/one_electron_density.o b/src/xcDFT/obj/one_electron_density.o deleted file mode 100644 index 4074174d097f00a96de7ce509430d67cf0eeb0e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1348 zcmb7E-%C?*6u(!mIkfh@g3yA(1^2;TOu+{S5nkNjd*dr)&03`1!nO=d!zNg$2)6~_ z*42U@dhVYH>SbW`iMMnMqk z1vr2u;A^P3fq{+z=Pm8u#~n-rTEHBj>K$qd$aQE0()Dm~CT#2W-R}$dYxkwnhER_Z*jBn6-tj#>bTu4X|PtGFzoz$v44q{+Ht zj0?2}JKhZvV<1mBk9HtjxyqGxmi>PY^|G(4tX@(FRlmkJ2QSjmLyYgz(bJSOWsPyK zQlgQV##boOvV2@gQd8=sd`QV+SR{sKnvVS}m&^22mPU5am!ptZAd7u4m1eeXGoGPo zYbt8Q9MrQmU5NUXWMrKzo`nz^^(tBQHLgOVL&};r8pb}|E1061zOu&OQzIc$lO;+T zPx~S}^MPU?k=a(MpXV5V7wRBw53B}7A|GWO29JkGn^zFvUS~BGi$!uJ4%}O!o=lMh zGSgqEk#=a-M61&&DA)o8H6tNX@v9~leV&hV&tRkZ4ji!Ol{KFc7i+7yXu7w6Z9$eS z>3KW%!HTA^Ly6&H)SPjHOj16p)s`WzbZhrngaopcI;N z=S=Tz3AHRU&+K8JC?r4)bK#8<^hC$Kho}5~ z`bCkn^p~iy;$mW|UraD@mwCRC$W44(3|JP>PdRYo3|@1P-J zmn~#lIINInHzWd$xZ!{zPW;B5P^0?4z`_KND(RCGK|MGg91TxRPUts+6L)Wg@9Bb% K+JB!ei2DUyl3)J- diff --git a/src/xcDFT/obj/orthogonalization_matrix.o b/src/xcDFT/obj/orthogonalization_matrix.o deleted file mode 100644 index d6118bcb87ac53fe7ca2b41356585376e0a08f0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2688 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 CD1W^G diff --git a/src/xcDFT/obj/quadrature_grid.o b/src/xcDFT/obj/quadrature_grid.o deleted file mode 100644 index c72abac41ebb107f00a5ef5fd86100c9fdc3770b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 zcmb7HZ){Ul6u)If3gTW7(3;rT#78V+;h*p@Ak7lfBAa}W3D=eA9Oc*=OX+B(9v!{|B40{Xa_v@zz(uOb9ne<)EAQw zO;rtTz_4kXPsY2F72ct~yvnA?AH@>5nz1Glx!G<4r>SbX&(L$d-9n(MbNziK{IrX4 zzLYUqqtisV4vYBGh2FkOfVKX7v>3FrHn8Vw{0Z?asA@iEXnHE&W{Yb5F_AX`Y{#;> z@zL6=o2qKt)vTWC(QIk0KaX(qjxZV!{thf>jMj=YZm;$ygYlB!8YrTXjt{*I{Z%BW zN5{Uyj&%}`h9z5_%7LtGOA!B~MYlvBh;EK1H{Z|AzxbY?M=>!^uji&A`?#sdZHgI_ zJGeP%=H)OydbVz;JWBI%>F!Bx{x(Td@u4y|-Lf>e6Pr9o7?T6iV2Y%}G1)iFhRX2P zB8`Mel%C|JT|JB+{jsj%CMGvXgX?LywDA{m?hGZ&32E>;%av8byrjro-25hSnDPcW z<}l;{FTEzeVKEzJrPK%to@~I>U6Hcw&pfS|@5%3AbYf6G0JxbHA-X^a*(D%S&lK|m z%b#OrW62Jo;)R=omZ|VYyXko03wo)T3$rz3cBMgJwc&}F+)2AJbWs}l9*8W5kyN=; zF?Y#4dYGz68J1-Z*2|AnGL=WBAoCQD7J5XWLDCdi@)M2a zzX7zfgUGyx=)iFEv?Wo@bB8=tJU4%>;ZG-uV;)}o*kkF(P<@@z;{HCYBV~@5 z8k{l5kuVD{FuxO~V`k%mITzj{z(M(ldNg5<@Bi<5@`^}Xsup;o6?IKL z`R3HqD19CyClvFdQ$~uJ!F1^0O|8X^z*aw zn7kddv)}V-w5mRL$;oJO!WFv>XGj{l-l@?4SncTS;hS4v8$=Y&g=1HQs8G~e<&1wW zjU0nAo$+|&^LXUj80`-q##y#^1XNq83uncUJK`liBi+=&;zQ+Up5eo8If47q7r8if zr{qnZVg$=iCep`wDcMn%C_$7cZ5+?;kCdk*Z_G0}C2c)AC9Q}pn&ibYPUaHU`(yUBbYJL&5t}nOrI#xOdhr7+N0+RJG)WP%se;C7Xbx+}{VL z6_#7HT=#Y(xYqU)?d|T*r}Qgu6lo6yyT~DME3g^(Ao*;m_Sqatw1kq8w$P@?t?MFT zsI`VRHMN4ogkrEc)VwJYUe{{HV^P+^tkqt)!+K+Yc0GL`a}9W1-sMX?`;qZ|kkN_! z0sBVHc@Hu-eOv0iFD|kP-$lypVZrYOLdCyZ z$OnWx3cMD2jY7Ug$S)xXvcCW%e`7$3>m?!I1Ejc~5SRi|T=xJ;eK(Pea3v*tWB=h(7Ite&uUgf*HZcU!;Vum zQ|QHPSzW_#Pl~QsrslQBGTM_WQ)_NhNVNWZPb#gl{9U)AZ$NKFZ$WQHZ(?z7|AmTx IqmJA6ADqD(9{>OV diff --git a/src/xcDFT/obj/read_basis.o b/src/xcDFT/obj/read_basis.o deleted file mode 100644 index 83958526a39a4d4e6892dd933c2edd8ccca10105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6356 zcmbVQe@vWb9e=MJEnUYQT~}qBC$H{p0xML&QX#8`v#`Fb*M_yQVW7RT^4n zK6n&|PK`fHA21k9ghvx7$P)~s7B6;%*f1$xxe9^&NeWv*JfW#t_qi;dcfO1GL z>t7K0$r4Rt4zAp4hkp}>E=?8~ctb?fif^(w{V&CD2J&pvKdEUK;2ZjBt@!almGz^` zl)V|hwLbm_F0zaN{y?VADzxuUUG}%NA2MH|KkHFvp7{Fe*`sEn3~tN1LYt!Ia~EXm#o=yALmPz=o(CB{~wRDq&B z>U6?rop9U23pHj|%|e9Wd!s|A=(-D?%{2T_Vdtb&S;-E6k!{BreshTfA7gGiwM&9+ zOLl^lMQacf*kf`NO-suROijzIaLqu446)K-b4`;fZRcuy(tG+AtdX%vmxN?Y{o9H#mG{sXrI^Q_bL_ z!ga+gXfvwc^Om^G!ZWaG76gpa_q>~r4}CO0Z#G;R`O9kNOFe8a%#QjA`mWN{5^C1e zbTQMXjDOMdOya~1OI}HNe{K(8_aSdGjS%i`^(ODcR&F|ribLvfOw1<&Z$4w_kPK|*hRU=F{ zow&iQRv;8(v#wWaY3-rOT61i&he;~wUDJBxv1vJJMHAz-eP}AUj8MM5OjAo{=WA9c z<>2aq)J|7r0eymH*>>{>X)O+!W3SdOb*iDuDDjSefax~IX^(W3-`!+XddK(t7c+3# zrRU6Rhr?xi{W@c?c2E*x_A7U4%6tA&#@(0+xYngEP0g0MF1>l( z^@iE-hmm(IrKxIX1{TMWsiHA;ZkVZ;oTqy~o8Th{#7J2KTWJEQY%hdKt^+bo-b0l> zJJkJ5w+a~Qh!x~3K#9zeyeeay_mz^s{GGN)^YUCli@*BEBhAm zG#K)y-Ntt7xEW2k%oDHiLf3iN-{n8-KjII*y0|}ag*(k)4`+JC}wX3TXkZ{ik{j>m!1@Jo3ThSqZanhmHqn?eUTZV{NwSo z2LI+d=V5V`_WXJ5AzEv)_c!c?tF_mZ#~yAHYqEC?_EwJK-aJ-#DO^hww|=aZd-GVa z_Pf>3rMdGsG*%wV{ybK!RkH>wEsIAJPxHpPH~up}KOFAv2|m~zkH&ZOHdJfT*w9Gg za~3c6*Vb3;?H-B8qunvxs?y`(MAedqf|WHLl`S>9Dh`YcJQyC<2YdB+B;4O0_a_Di z^w^i9DmKOO8hFc z=Fy?SSU8r5?-`6GhPy+F=wM6<-BYt`M@@C54UW;<;p!cUS<-P0|NdH!>+1(K*Jz2W zYb07G4a*7XhD3__HLC`!4V^z!6{> zZ~zF`eceFnd4~k}7Lfc!;m-jne-?-}?aN5}{nCB_NWBd}%IyShh1@nE^~@F7danZ6 z{wE;yTn4iJIUq9Ns{odQ-#`}V$2B0^r-lC#$o>;R_WzNzCxGlf0A#-~kp8p-Dc=gj z`t|vN)Hh24oB^`^k3j1C4Up|;fYkR8ka8j5oxoNyIefA;~Y=XM~v__hEk zw+TqO^+3A(Z>%E9O#&(RG7#6Ts>gxsf;Ga&r{jgSICe|dh0Mh`lu_5UU&@KH-&GM?}v{FFB8r^gG1q1UU6I$`kf7seRMdQ2s`VRT3$g$ z?5`j}lS`XnIMhEF&oZo>3HIQmc6x*c>xQ#Ty=J#sr*%;4-_w9!4PW&v@bv{2_}aw+ mUv(_-wUY(DKF-*i88V diff --git a/src/xcDFT/obj/read_geometry.o b/src/xcDFT/obj/read_geometry.o deleted file mode 100644 index c4848733aeb4c885ca80008367df863a0d69dd14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4308 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 diff --git a/src/xcDFT/obj/read_molecule.o b/src/xcDFT/obj/read_molecule.o deleted file mode 100644 index 92700d127e269553dd86c81689c90eb878db4fd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2780 zcmb7G+iM(E96p;)E^U*|)*C6fcB6|Vn6bMxsSz!7FvVF28Z^;BO@}p^B#V1VXD8Yg zp((bdqfP5`-|CC`2gDFWsTZO?*eHU1Pz-pX54CTGs+jtHGv{n3qg%*R-RFHwzKlCh&u4WAXtYh3@dOw+-mNva&x@CDFooMA82K{ji zmQSZMG(x-1AKzFSGT}k*skB;9SX0^+Hdtaw2fZ~Y_=b|-R9vC)_J~;fB-Vb$LbTqB za(LzX9tM}B$ov8Pir5OH9A*07+#2-WNDmoEBljT>0>=ek=^(VF`@pC(--kghk09Kj zd|0J9D>GCJ{{e2J3syuWx75zrkP=ezQ&I5)b05vYh%u;LzNQ}|-7t|olu_{q1-Vn0 zJR_8S(ChVgr$XBGeROWk#~n)Xpie{80V;`L@ zIQB$mm$9$ETmRq2rJn3)PcFN^``OvjE4GuWOs4W~rBvOZHr%=n?#JM+@r!Wcc@aC7 zh$UK^Ti!vE=P`Ld`s(eVsry%GD2RwBE;eX9%y`FzZ5q!bo|@N!LD%_4jc;x|bGAuq z;h_J`W{uyD_==`A;8NTX@7GxLcqV|ZKrI9{^IX4@f)Sxzy_f((V@OixMQS0^7isf%tanA4q%;h*wj;AlJ`IUIOBq zqdyEpOY&?XnM?t3m`8~C4#oG<4{}t`#Utc!sJ^R7$rmukwp;SgCBIkluO#0k`Ksh? zlHZVgyX1dM?&pbw)pz$#_-KcXYL_txQNgz|%zumUuOs}K2!B7qGZB6`!s#pQ?_`AI z57g9T#c`c{+2T)i(sryu*|n!^C%jg5t;&pD-aJ*AvE-knkP0kccM7f@Hmxa-Pv@Qd zxC5{yn>A4>Z*qwR|8A=@FM?Hd%~_)O^yBFJ(fiPQ(H}$KCk~mx L->obdI|}|UGEDMM diff --git a/src/xcDFT/obj/read_options.o b/src/xcDFT/obj/read_options.o deleted file mode 100644 index fafcae008572a4bcd4212ef0befe2127da065f77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1396 zcma)6O=}ZT6n$x4+o0_jQLv(g2(#!WHtuwn!3L&KuxKknZJ)(X(ny_z$p}GQv?$_$ zl`j1o?nGQD3c-~>!J-=xb*HF{>Nzv-CDTE{3wO@_IPc8+ntA){%igFExxBywF5zMb zUSc4`argr^{$abiSK=6$$)PFeu^v#V(CdZ>v?;YvyRu-i0Zym%;<0#)vn|EufJMFQ zoiJ$n4PDIY8J)wre}M~3nVxRH0=<^s8B8#%SJm^1=Ymn!GJ1U>9Vq3kt9r0{(@P3j zy?L#-qxo&g_h9U#Vuc{q)FbiNAh{#hXW zZ*wlY+rwnfMtjcUZ1l}pn0>y9oT7{Fb{QZpxm%x$n2{TOaHAQ!>OMs~M}`}{b0cZH z(S}{<&DceYH3Vn5kG*?#MQ_7LqzM^Br#Hf~)2p#6<|5nX*kgzd&tNQU2;7gjF&BM* z#s%Z;hG=l#fRkoGinxz3X$W)CS8!rcqm2&>E zMKt~Pt#Ddbpmr2a%iX>xa@}ICI5t|?!D@N)IGx?!iJAK=Bv0BZJ{po^3?{bolILNS z9!kl>wx;e6%L0SS-4V%8&Uzu`&$uADjn-5Gr9^2$3noxF0m_IF0`~k6J$rS(q diff --git a/src/xcDFT/obj/select_rung.o b/src/xcDFT/obj/select_rung.o deleted file mode 100644 index 51890aa6a8e65cb6ed8ab4c6e5c22513b4314bce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2564 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 diff --git a/src/xcDFT/obj/wrap_lapack.o b/src/xcDFT/obj/wrap_lapack.o deleted file mode 100644 index c56d8e668731b4ce38a684bb1cf53ce8d115c18b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5144 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 diff --git a/src/xcDFT/one_electron_density.f90 b/src/xcDFT/one_electron_density.f90 deleted file mode 100644 index ee6a654..0000000 --- a/src/xcDFT/one_electron_density.f90 +++ /dev/null @@ -1,47 +0,0 @@ -subroutine one_electron_density(nGrid,nBas,P,AO,dAO,rho,drho) - -! Calculate one-electron density - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nGrid - integer,intent(in) :: nBas - double precision,intent(in) :: P(nBas,nBas) - double precision,intent(in) :: AO(nBas,nGrid) - double precision,intent(in) :: dAO(3,nBas,nGrid) - -! Local variables - - integer :: ixyz,iG,mu,nu - double precision,external :: trace_matrix - -! Output variables - - double precision,intent(out) :: rho(nGrid) - double precision,intent(out) :: drho(3,nGrid) - - rho(:) = 0d0 - do iG=1,nGrid - do mu=1,nBas - do nu=1,nBas - rho(iG) = rho(iG) + AO(mu,iG)*P(mu,nu)*AO(nu,iG) - enddo - enddo - enddo - - drho(:,:) = 0d0 - do ixyz=1,3 - do iG=1,nGrid - do mu=1,nBas - do nu=1,nBas - drho(ixyz,iG) = drho(ixyz,iG) & - + P(mu,nu)*(dAO(ixyz,mu,iG)*AO(nu,iG) + AO(mu,iG)*dAO(ixyz,nu,iG)) - enddo - enddo - enddo - enddo - -end subroutine one_electron_density diff --git a/src/xcDFT/orthogonalization_matrix.f90 b/src/xcDFT/orthogonalization_matrix.f90 deleted file mode 100644 index ed837d4..0000000 --- a/src/xcDFT/orthogonalization_matrix.f90 +++ /dev/null @@ -1,63 +0,0 @@ -subroutine orthogonalization_matrix(nBas,S,X) - -! Compute the orthogonalization matrix X = S^(-1/2) - - implicit none - -! Input variables - - integer,intent(in) :: nBas - double precision,intent(in) :: S(nBas,nBas) - -! Local variables - - logical :: debug - double precision,allocatable :: UVec(:,:),Uval(:) - double precision,parameter :: thresh = 1d-6 - - integer :: i - -! Output variables - - double precision,intent(out) :: X(nBas,nBas) - - debug = .false. - - allocate(Uvec(nBas,nBas),Uval(nBas)) - - write(*,*) - write(*,*) ' *** Lowdin orthogonalization X = S^(-1/2) *** ' - write(*,*) - - Uvec = S - call diagonalize_matrix(nBas,Uvec,Uval) - - do i=1,nBas - - if(Uval(i) > thresh) then - - Uval(i) = 1d0/sqrt(Uval(i)) - - else - - write(*,*) 'Eigenvalue',i,'too small for Lowdin orthogonalization' - - endif - - enddo - - call ADAt(nBas,Uvec,Uval,X) - -! Print results - - if(debug) then - - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'Orthogonalization matrix' - write(*,'(A28)') '----------------------' - call matout(nBas,nBas,X) - write(*,*) - - endif - -end subroutine orthogonalization_matrix diff --git a/src/xcDFT/print_RKS.f90 b/src/xcDFT/print_RKS.f90 deleted file mode 100644 index 5082fa9..0000000 --- a/src/xcDFT/print_RKS.f90 +++ /dev/null @@ -1,61 +0,0 @@ -subroutine print_RKS(nBas,nO,e,C,ENuc,ET,EV,EJ,Ex,Ec,EKS) - -! Print one- and two-electron energies and other stuff for RKS calculation - - implicit none - include 'parameters.h' - - integer,intent(in) :: nBas,nO - double precision,intent(in) :: e(nBas),c(nBas,nBas),ENuc,ET,EV,EJ,Ex,Ec,EKS - - integer :: HOMO,LUMO - double precision :: Gap - -! HOMO and LUMO - - HOMO = nO - LUMO = HOMO + 1 - Gap = e(LUMO) - e(HOMO) - -! Dump results - - - write(*,*) - write(*,'(A50)') '---------------------------------------' - write(*,'(A32)') ' Summary ' - write(*,'(A50)') '---------------------------------------' - write(*,'(A32,1X,F16.10)') ' One-electron energy ',ET + EV - write(*,'(A32,1X,F16.10)') ' Kinetic energy ',ET - write(*,'(A32,1X,F16.10)') ' Potential energy ',EV - write(*,'(A50)') '---------------------------------------' - write(*,'(A32,1X,F16.10)') ' Two-electron energy ',EJ + Ex + Ec - write(*,'(A32,1X,F16.10)') ' Coulomb energy ',EJ - write(*,'(A32,1X,F16.10)') ' Exchange energy ',Ex - write(*,'(A32,1X,F16.10)') ' Correlation energy ',Ec - write(*,'(A50)') '---------------------------------------' - write(*,'(A32,1X,F16.10)') ' Electronic energy ',EKS - write(*,'(A32,1X,F16.10)') ' Nuclear repulsion ',ENuc - write(*,'(A32,1X,F16.10)') ' Kohn-Sham energy ',EKS + ENuc - write(*,'(A50)') '---------------------------------------' - write(*,'(A36,F13.6)') ' KS HOMO energy (eV):',e(HOMO)*HatoeV - write(*,'(A36,F13.6)') ' KS LUMO energy (eV):',e(LUMO)*Hatoev - write(*,'(A36,F13.6)') ' KS HOMO-LUMO gap (eV):',Gap*Hatoev - write(*,'(A50)') '---------------------------------------' - write(*,*) - -! Print results - - write(*,'(A50)') '---------------------------------------' - write(*,'(A50)') 'Kohn-Sham orbital coefficients ' - write(*,'(A50)') '---------------------------------------' - call matout(nBas,nBas,C) - write(*,*) - write(*,'(A50)') '---------------------------------------' - write(*,'(A50)') ' Kohn-Sham orbital energies ' - write(*,'(A50)') '---------------------------------------' - call matout(nBas,1,e) - write(*,*) - -end subroutine print_RKS - - diff --git a/src/xcDFT/quadrature_grid.f90 b/src/xcDFT/quadrature_grid.f90 deleted file mode 100644 index 420e80a..0000000 --- a/src/xcDFT/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)) - -! Findthe 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/xcDFT/read_basis.f90 b/src/xcDFT/read_basis.f90 deleted file mode 100644 index 403368d..0000000 --- a/src/xcDFT/read_basis.f90 +++ /dev/null @@ -1,117 +0,0 @@ -subroutine read_basis(nAt,rAt,nBas,nO,nV,nShell,TotAngMomShell,CenterShell,KShell,DShell,ExpShell) - -! Read basis set information - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nAt,nO - double precision,intent(in) :: rAt(nAt,3) - -! Local variables - - integer :: nShAt,iAt,iShell - integer :: i,j,k - character :: shelltype - -! Output variables - - integer,intent(out) :: nShell,nBas,nV - double precision,intent(out) :: CenterShell(maxShell,3) - integer,intent(out) :: TotAngMomShell(maxShell),KShell(maxShell) - double precision,intent(out) :: DShell(maxShell,maxK),ExpShell(maxShell,maxK) - -!------------------------------------------------------------------------ -! Primary basis set information -!------------------------------------------------------------------------ - -! Open file with basis set specification - - open(unit=2,file='input/basis') - -! Read basis information - - write(*,'(A28)') 'Gaussian basis set' - write(*,'(A28)') '------------------' - - nShell = 0 - do i=1,nAt - read(2,*) iAt,nShAt - write(*,'(A28,1X,I16)') 'Atom n. ',iAt - write(*,'(A28,1X,I16)') 'number of shells ',nShAt - write(*,'(A28)') '------------------' - -! Basis function centers - - do j=1,nShAt - nShell = nShell + 1 - do k=1,3 - CenterShell(nShell,k) = rAt(iAt,k) - enddo - -! Shell type and contraction degree - - read(2,*) shelltype,KShell(nShell) - if(shelltype == "S") then - TotAngMomShell(nShell) = 0 - write(*,'(A28,1X,I16)') 's-type shell with K = ',KShell(nShell) - elseif(shelltype == "P") then - TotAngMomShell(nShell) = 1 - write(*,'(A28,1X,I16)') 'p-type shell with K = ',KShell(nShell) - elseif(shelltype == "D") then - TotAngMomShell(nShell) = 2 - write(*,'(A28,1X,I16)') 'd-type shell with K = ',KShell(nShell) - elseif(shelltype == "F") then - TotAngMomShell(nShell) = 3 - write(*,'(A28,1X,I16)') 'f-type shell with K = ',KShell(nShell) - elseif(shelltype == "G") then - TotAngMomShell(nShell) = 4 - write(*,'(A28,1X,I16)') 'g-type shell with K = ',KShell(nShell) - elseif(shelltype == "H") then - TotAngMomShell(nShell) = 5 - write(*,'(A28,1X,I16)') 'h-type shell with K = ',KShell(nShell) - elseif(shelltype == "I") then - TotAngMomShell(nShell) = 6 - write(*,'(A28,1X,I16)') 'i-type shell with K = ',KShell(nShell) - endif - -! Read exponents and contraction coefficients - - write(*,'(A28,1X,A16,A16)') '','Exponents','Contraction' - do k=1,Kshell(nShell) - read(2,*) ExpShell(nShell,k),DShell(nShell,k) - write(*,'(A28,1X,F16.10,F16.10)') '',ExpShell(nShell,k),DShell(nShell,k) - enddo - enddo - write(*,'(A28)') '------------------' - enddo - -! Total number of shells - - write(*,'(A28,1X,I16)') 'Number of shells',nShell - write(*,'(A28)') '------------------' - write(*,*) - -! Close file with basis set specification - - close(unit=2) - -! Calculate number of basis functions - - nBas = 0 - do iShell=1,nShell - nBas = nBas + (TotAngMomShell(iShell)*TotAngMomShell(iShell) + 3*TotAngMomShell(iShell) + 2)/2 - enddo - - write(*,'(A28)') '------------------' - write(*,'(A28,1X,I16)') 'Number of basis functions',NBas - write(*,'(A28)') '------------------' - write(*,*) - -! Number of virtual orbitals - - nV = nBas - nO - -end subroutine read_basis diff --git a/src/xcDFT/read_geometry.f90 b/src/xcDFT/read_geometry.f90 deleted file mode 100644 index 8f0fc56..0000000 --- a/src/xcDFT/read_geometry.f90 +++ /dev/null @@ -1,58 +0,0 @@ -subroutine read_geometry(nAt,ZNuc,rA,ENuc) - -! Read molecular geometry - - implicit none - -! Ouput variables - integer,intent(in) :: nAt - -! Local variables - integer :: i,j - double precision :: RAB - -! Ouput variables - double precision,intent(out) :: ZNuc(NAt),rA(nAt,3),ENuc - - -! Open file with geometry specification - open(unit=1,file='input/molecule') - -! Read number of atoms - read(1,*) - read(1,*) - read(1,*) - - do i=1,nAt - read(1,*) ZNuc(i),rA(i,1),rA(i,2),rA(i,3) - enddo - -! Compute nuclear repulsion energy - ENuc = 0 - - do i=1,nAt-1 - do j=i+1,nAt - RAB = (rA(i,1)-rA(j,1))**2 + (rA(i,2)-rA(j,2))**2 + (rA(i,3)-rA(j,3))**2 - ENuc = ENuc + ZNuc(i)*ZNuc(j)/sqrt(RAB) - enddo - enddo - -! Close file with geometry specification - close(unit=1) - -! Print geometry - write(*,'(A28)') '------------------' - write(*,'(A28)') 'Molecular geometry' - write(*,'(A28)') '------------------' - do i=1,NAt - write(*,'(A28,1X,I16)') 'Atom n. ',i - write(*,'(A28,1X,F16.10)') 'Z = ',ZNuc(i) - write(*,'(A28,1X,F16.10,F16.10,F16.10)') 'Atom coordinates:',(rA(i,j),j=1,3) - enddo - write(*,*) - write(*,'(A28)') '------------------' - write(*,'(A28,1X,F16.10)') 'Nuclear repulsion energy = ',ENuc - write(*,'(A28)') '------------------' - write(*,*) - -end subroutine read_geometry diff --git a/src/xcDFT/read_grid.f90 b/src/xcDFT/read_grid.f90 deleted file mode 100644 index fb2eb3d..0000000 --- a/src/xcDFT/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 - write(*,*) '!!! Quadrature grid not available !!!' - stop - - end select - - nGrid = nRad*nAng - -end subroutine read_grid diff --git a/src/xcDFT/read_integrals.f90 b/src/xcDFT/read_integrals.f90 deleted file mode 100644 index 0644a99..0000000 --- a/src/xcDFT/read_integrals.f90 +++ /dev/null @@ -1,114 +0,0 @@ -subroutine read_integrals(nBas,S,T,V,Hc,G) - -! Read one- and two-electron integrals from files - - implicit none - -! Input variables - - integer,intent(in) :: nBas - -! Local variables - - logical :: debug - integer :: mu,nu,la,si - double precision :: Ov,Kin,Nuc,ERI - -! Output variables - - double precision,intent(out) :: S(nBas,nBas),T(nBas,nBas),V(nBas,nBas),Hc(nBas,nBas),G(nBas,nBas,nBas,nBas) - -! Open file with integrals - - debug = .false. - - open(unit=8 ,file='int/Ov.dat') - open(unit=9 ,file='int/Kin.dat') - open(unit=10,file='int/Nuc.dat') - open(unit=11,file='int/ERI.dat') - -! Read overlap integrals - - S = 0d0 - do - read(8,*,end=8) mu,nu,Ov - S(mu,nu) = Ov - enddo - 8 close(unit=8) - -! Read kinetic integrals - - T = 0d0 - do - read(9,*,end=9) mu,nu,Kin - T(mu,nu) = Kin - enddo - 9 close(unit=9) - -! Read nuclear integrals - - V = 0d0 - do - read(10,*,end=10) mu,nu,Nuc - V(mu,nu) = Nuc - enddo - 10 close(unit=10) - -! Define core Hamiltonian - - Hc = T + V - -! Read nuclear integrals - - G = 0d0 - do - read(11,*,end=11) mu,nu,la,si,ERI -! <12|34> - G(mu,nu,la,si) = ERI -! <32|14> - G(la,nu,mu,si) = ERI -! <14|32> - G(mu,si,la,nu) = ERI -! <34|12> - G(la,si,mu,nu) = ERI -! <41|23> - G(si,mu,nu,la) = ERI -! <23|41> - G(nu,la,si,mu) = ERI -! <21|43> - G(nu,mu,si,la) = ERI -! <43|21> - G(si,la,nu,mu) = ERI - enddo - 11 close(unit=11) - - -! Print results - if(debug) then - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'Overlap integrals' - write(*,'(A28)') '----------------------' - call matout(nBas,nBas,S) - write(*,*) - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'Kinetic integrals' - write(*,'(A28)') '----------------------' - call matout(nBas,nBas,T) - write(*,*) - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'Nuclear integrals' - write(*,'(A28)') '----------------------' - call matout(nBas,nBas,V) - write(*,*) - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'Electron repulsion integrals' - write(*,'(A28)') '----------------------' - do la=1,nBas - do si=1,nBas - call matout(nBas,nBas,G(1,1,la,si)) - enddo - enddo - write(*,*) - endif - -end subroutine read_integrals diff --git a/src/xcDFT/read_molecule.f90 b/src/xcDFT/read_molecule.f90 deleted file mode 100644 index 3094c80..0000000 --- a/src/xcDFT/read_molecule.f90 +++ /dev/null @@ -1,42 +0,0 @@ -subroutine read_molecule(nAt,nEl,nO) - -! Read number of atoms nAt and number of electrons nEl - - implicit none - -! Input variables - integer,intent(out) :: nAt,nEl,nO - -! Open file with geometry specification - - open(unit=1,file='input/molecule') - -! Read number of atoms and number of electrons - - read(1,*) - read(1,*) nAt,nEl - -! Number of occupied orbitals - - if(mod(nEl,2) /= 0) then - write(*,*) 'closed-shell system required!' - stop - endif - nO = nEl/2 - -! Print results - - write(*,'(A28)') '----------------------' - write(*,'(A28,1X,I16)') 'Number of atoms',nAt - write(*,'(A28)') '----------------------' - write(*,*) - write(*,'(A28)') '----------------------' - write(*,'(A28,1X,I16)') 'Number of electrons',nEl - write(*,'(A28)') '----------------------' - write(*,*) - -! Close file with geometry specification - - close(unit=1) - -end subroutine read_molecule diff --git a/src/xcDFT/read_options.f90 b/src/xcDFT/read_options.f90 deleted file mode 100644 index 2f414e3..0000000 --- a/src/xcDFT/read_options.f90 +++ /dev/null @@ -1,31 +0,0 @@ -subroutine read_options(rung,SGn) - -! Read DFT options - - implicit none - -! Input variables - - integer,intent(out) :: rung - integer,intent(out) :: SGn - -! Open file with method specification - - open(unit=1,file='input/options') - -! Default values - - rung = 1 - SGn = 0 - -! Read rung of Jacob's ladder - - read(1,*) - read(1,*) rung - -! Read SG-n grid - - read(1,*) - read(1,*) SGn - -end subroutine read_options diff --git a/src/xcDFT/select_rung.f90 b/src/xcDFT/select_rung.f90 deleted file mode 100644 index 60c988f..0000000 --- a/src/xcDFT/select_rung.f90 +++ /dev/null @@ -1,45 +0,0 @@ -subroutine select_rung(rung) - -! Select rung of Jacob's ladder - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: rung - - select case (rung) - -! Hartree calculation - case(0) - write(*,*) " *** 0th rung of Jacob's ladder: Hartree calculation *** " - -! LDA functionals - case(1) - write(*,*) " *** 1st rung of Jacob's ladder: local-density approximation (LDA) *** " - -! GGA functionals - case(2) - write(*,*) " *** 2nd rung of Jacob's ladder: generalized gradient approximation (GGA) *** " - -! meta-GGA functionals - case(3) - write(*,*) " *** 3rd rung of Jacob's ladder: meta-GGA functional (MGGA) *** " - -! Hybrid functionals - case(4) - write(*,*) " *** 4th rung of Jacob's ladder: hybrid functional *** " - -! Hartree-Fock calculation - case(666) - write(*,*) " *** rung 666: Hartree-Fock calculation *** " - -! Default - case default - write(*,*) "!!! rung not available !!!" - stop - - end select - -end subroutine select_rung diff --git a/src/xcDFT/utils.f90 b/src/xcDFT/utils.f90 deleted file mode 100644 index 19df907..0000000 --- a/src/xcDFT/utils.f90 +++ /dev/null @@ -1,246 +0,0 @@ -!------------------------------------------------------------------------ -subroutine matout(m,n,A) - -! Print the MxN array A - - implicit none - - integer,parameter :: ncol = 5 - double precision,parameter :: small = 1d-10 - integer,intent(in) :: m,n - double precision,intent(in) :: A(m,n) - double precision :: B(ncol) - integer :: ilower,iupper,num,i,j - - do ilower=1,n,ncol - iupper = min(ilower + ncol - 1,n) - num = iupper - ilower + 1 - write(*,'(3X,10(9X,I6))') (j,j=ilower,iupper) - do i=1,m - do j=ilower,iupper - B(j-ilower+1) = A(i,j) - enddo - do j=1,num - if(abs(B(j)) < small) B(j) = 0d0 - enddo - write(*,'(I7,10F15.8)') i,(B(j),j=1,num) - enddo - enddo - -end subroutine matout -!------------------------------------------------------------------------ -function trace_matrix(n,A) result(Tr) - -! Calculate the trace of the square matrix A - - implicit none - -! Input variables - - integer,intent(in) :: n - double precision,intent(in) :: A(n,n) - -! Local variables - - integer :: i - -! Output variables - - double precision :: Tr - - Tr = 0d0 - do i=1,n - Tr = Tr + A(i,i) - enddo - -end function trace_matrix -!------------------------------------------------------------------------ -subroutine prepend(N,M,A,b) - -! Prepend the vector b of size N into the matrix A of size NxM - - implicit none - -! Input variables - - integer,intent(in) :: N,M - double precision,intent(in) :: b(N) - -! Local viaruabkes - - integer :: i,j - -! Output variables - - double precision,intent(out) :: A(N,M) - - -! print*,'b in append' -! call matout(N,1,b) - - do i=1,N - do j=M-1,1,-1 - A(i,j+1) = A(i,j) - enddo - A(i,1) = b(i) - enddo - -end subroutine prepend -!------------------------------------------------------------------------ -subroutine append(N,M,A,b) - -! Append the vector b of size N into the matrix A of size NxM - - implicit none - -! Input variables - - integer,intent(in) :: N,M - double precision,intent(in) :: b(N) - -! Local viaruabkes - - integer :: i,j - -! Output variables - - double precision,intent(out) :: A(N,M) - - do i=1,N - do j=2,M - A(i,j-1) = A(i,j) - enddo - A(i,M) = b(i) - enddo - -end subroutine append -!------------------------------------------------------------------------ -subroutine AtDA(N,A,D,B) - -! Perform B = At.D.A where A is a NxN matrix and D is a diagonal matrix given -! as a vector of length N - - implicit none - -! Input variables - - integer,intent(in) :: N - double precision,intent(in) :: A(N,N),D(N) - -! Local viaruabkes - - integer :: i,j,k - -! Output variables - - double precision,intent(out) :: B(N,N) - - B = 0d0 - - do i=1,N - do j=1,N - do k=1,N - B(i,k) = B(i,k) + A(j,i)*D(j)*A(j,k) - enddo - enddo - enddo - -end subroutine AtDA -!------------------------------------------------------------------------ -subroutine ADAt(N,A,D,B) - -! Perform B = A.D.At where A is a NxN matrix and D is a diagonal matrix given -! as a vector of length N - - implicit none - -! Input variables - - integer,intent(in) :: N - double precision,intent(in) :: A(N,N),D(N) - -! Local viaruabkes - - integer :: i,j,k - -! Output variables - - double precision,intent(out) :: B(N,N) - - B = 0d0 - - do i=1,N - do j=1,N - do k=1,N - B(i,k) = B(i,k) + A(i,j)*D(j)*A(k,j) - enddo - enddo - enddo - -end subroutine ADAt -!------------------------------------------------------------------------ -subroutine DA(N,D,A) - -! Perform A <- D.A where A is a NxN matrix and D is a diagonal matrix given -! as a vector of length N - - implicit none - - integer,intent(in) :: N - integer :: i,j - double precision,intent(in) :: D(N) - double precision,intent(inout):: A(N,N) - - do i=1,N - do j=1,N - A(i,j) = D(i)*A(i,j) - enddo - enddo - -end subroutine DA - -!------------------------------------------------------------------------ -subroutine AD(N,A,D) - -! Perform A <- A.D where A is a NxN matrix and D is a diagonal matrix given -! as a vector of length N - - implicit none - - integer,intent(in) :: N - integer :: i,j - double precision,intent(in) :: D(N) - double precision,intent(inout):: A(N,N) - - do i=1,N - do j=1,N - A(i,j) = A(i,j)*D(j) - enddo - enddo - -end subroutine AD -!------------------------------------------------------------------------ -recursive function fac(n) result(fact) - - implicit none - integer :: fact - integer, intent(in) :: n - - if (n == 0) then - fact = 1 - else - fact = n * fac(n-1) - end if - -end function fac - -function dfac(n) result(fact) - - implicit none - double precision :: fact - integer, intent(in) :: n - integer :: fac - - fact = dble(fac(n)) - -end function dfac diff --git a/src/xcDFT/wrap_lapack.f90 b/src/xcDFT/wrap_lapack.f90 deleted file mode 100644 index aff8f60..0000000 --- a/src/xcDFT/wrap_lapack.f90 +++ /dev/null @@ -1,147 +0,0 @@ -subroutine diagonalize_matrix(N,A,e) - -! Diagonalize a square matrix - - implicit none - -! Input variables - - integer,intent(in) :: N - double precision,intent(inout):: A(N,N) - double precision,intent(out) :: e(N) - -! Local variables - - integer :: lwork,info - double precision,allocatable :: work(:) - -! Memory allocation - - allocate(work(3*N)) - lwork = size(work) - - call dsyev('V','U',N,A,N,e,work,lwork,info) - - if(info /= 0) then - print*,'Problem in diagonalize_matrix (dsyev)!!' - stop - endif - -end subroutine diagonalize_matrix - -subroutine svd(N,A,U,D,Vt) - - ! Compute A = U.D.Vt - ! Dimension of A is NxN - - implicit none - - integer, intent(in) :: N - double precision,intent(in) :: A(N,N) - double precision,intent(out) :: U(N,N) - double precision,intent(out) :: Vt(N,N) - double precision,intent(out) :: D(N) - double precision,allocatable :: work(:) - integer :: info,lwork - - double precision,allocatable :: scr(:,:) - - allocate (scr(N,N)) - - scr(:,:) = A(:,:) - - ! Find optimal size for temporary arrays - - allocate(work(1)) - - lwork = -1 - call dgesvd('A','A',N,N,scr,N,D,U,N,Vt,N,work,lwork,info) - lwork = int(work(1)) - - deallocate(work) - - allocate(work(lwork)) - - call dgesvd('A','A',N,N,scr,N,D,U,N,Vt,N,work,lwork,info) - - deallocate(work,scr) - - if (info /= 0) then - print *, info, ': SVD failed' - stop - endif - -end - -subroutine inverse_matrix(N,A,B) - -! Returns the inverse of the square matrix A in B - - implicit none - - integer,intent(in) :: N - double precision, intent(in) :: A(N,N) - double precision, intent(out) :: B(N,N) - - integer :: info,lwork - integer, allocatable :: ipiv(:) - double precision,allocatable :: work(:) - - allocate (ipiv(N),work(N*N)) - lwork = size(work) - - B(1:N,1:N) = A(1:N,1:N) - - call dgetrf(N,N,B,N,ipiv,info) - - if (info /= 0) then - - print*,info - stop 'error in inverse (dgetrf)!!' - - endif - - call dgetri(N,B,N,ipiv,work,lwork,info) - - if (info /= 0) then - - print *, info - stop 'error in inverse (dgetri)!!' - - endif - - deallocate(ipiv,work) - -end subroutine inverse_matrix - -subroutine linear_solve(N,A,b,x) - -! Solve the linear system A.x = b where A is a NxN matrix -! and x and x are vectors of size N - - implicit none - - integer,intent(in) :: N - double precision,intent(in) :: A(N,N),b(N) - double precision,intent(out) :: x(N) - - integer :: info,lwork - integer,allocatable :: ipiv(:) - double precision,allocatable :: work(:) - - allocate(ipiv(N),work(N*N)) - lwork = size(work) - - x = b - - call dsysv('U',N,1,A,N,ipiv,x,N,work,lwork,info) - - if (info /= 0) then - - print *, info - stop 'error in linear_solve (dsysv)!!' - - endif - -end subroutine linear_solve - diff --git a/src/xcDFT/xcDFT.f90 b/src/xcDFT/xcDFT.f90 deleted file mode 100644 index e20e046..0000000 --- a/src/xcDFT/xcDFT.f90 +++ /dev/null @@ -1,120 +0,0 @@ -program xcDFT - -! exchange-correlation density-functional theory calculations - - include 'parameters.h' - - integer :: nAt,nBas,nEl,nO,nV - double precision :: ENuc,EKS - - double precision,allocatable :: ZNuc(:),rAt(:,:) - - integer :: nShell - integer,allocatable :: TotAngMomShell(:) - integer,allocatable :: KShell(:) - double precision,allocatable :: CenterShell(:,:) - double precision,allocatable :: DShell(:,:) - double precision,allocatable :: ExpShell(:,:) - - double precision,allocatable :: S(:,:),T(:,:),V(:,:),Hc(:,:),X(:,:) - double precision,allocatable :: ERI(:,:,:,:) - - integer :: rung - integer :: SGn - integer :: nRad,nAng,nGrid - double precision,allocatable :: root(:,:) - double precision,allocatable :: weight(:) - double precision,allocatable :: AO(:,:) - double precision,allocatable :: dAO(:,:,:) - - double precision :: start_KS,end_KS,t_KS - -! Hello World - - write(*,*) - write(*,*) '********************************' - write(*,*) '* TCCM winter school 2008: DFT *' - write(*,*) '********************************' - write(*,*) - -!------------------------------------------------------------------------ -! Read input information -!------------------------------------------------------------------------ - -! Read number of atoms, number of electrons of the system -! nO = number of occupied orbitals -! nV = number of virtual orbitals (see below) -! nBas = number of basis functions (see below) -! = nO + nV - - call read_molecule(nAt,nEl,nO) - allocate(ZNuc(nAt),rAt(nAt,3)) - -! Read geometry - - call read_geometry(nAt,ZNuc,rAt,ENuc) - - allocate(CenterShell(maxShell,3),TotAngMomShell(maxShell),KShell(maxShell), & - DShell(maxShell,maxK),ExpShell(maxShell,maxK)) - -!------------------------------------------------------------------------ -! Read basis set information -!------------------------------------------------------------------------ - - call read_basis(nAt,rAt,nBas,nO,nV,nShell,TotAngMomShell,CenterShell,KShell,DShell,ExpShell) - -!------------------------------------------------------------------------ -! Read one- and two-electron integrals -!------------------------------------------------------------------------ - -! Memory allocation for one- and two-electron integrals - - allocate(S(nBas,nBas),T(nBas,nBas),V(nBas,nBas),Hc(nBas,nBas),X(nBas,nBas), & - ERI(nBas,nBas,nBas,nBas)) - -! Read integrals - - call read_integrals(nBas,S,T,V,Hc,ERI) - -! Orthogonalization X = S^(-1/2) - - call orthogonalization_matrix(nBas,S,X) - -!------------------------------------------------------------------------ -! DFT options -!------------------------------------------------------------------------ - - call read_options(rung,SGn) - -!------------------------------------------------------------------------ -! Construct quadrature grid -!------------------------------------------------------------------------ - call read_grid(SGn,nRad,nAng,nGrid) - - allocate(root(3,nGrid),weight(nGrid)) - call quadrature_grid(nRad,nAng,nGrid,root,weight) - -!------------------------------------------------------------------------ -! Calculate AO values at grid points -!------------------------------------------------------------------------ - - allocate(AO(nBas,nGrid),dAO(3,nBas,nGrid)) - call AO_values_grid(nBas,nShell,CenterShell,TotAngMomShell,KShell,DShell,ExpShell, & - nGrid,root,AO,dAO) - -!------------------------------------------------------------------------ -! Compute KS energy -!------------------------------------------------------------------------ - - call cpu_time(start_KS) - call RKS(rung,nGrid,weight,nBas,AO,dAO,nO,S,T,V,Hc,ERI,X,ENuc,EKS) - call cpu_time(end_KS) - - t_KS = end_KS - start_KS - write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for KS = ',t_KS,' seconds' - write(*,*) - -!------------------------------------------------------------------------ -! End of xcDFT -!------------------------------------------------------------------------ -end program xcDFT