aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/bigdft-abi/files/bigdft-abi-1.0.4-0007.patch')
-rw-r--r--sci-libs/bigdft-abi/files/bigdft-abi-1.0.4-0007.patch344
1 files changed, 0 insertions, 344 deletions
diff --git a/sci-libs/bigdft-abi/files/bigdft-abi-1.0.4-0007.patch b/sci-libs/bigdft-abi/files/bigdft-abi-1.0.4-0007.patch
deleted file mode 100644
index 8f871d8fd..000000000
--- a/sci-libs/bigdft-abi/files/bigdft-abi-1.0.4-0007.patch
+++ /dev/null
@@ -1,344 +0,0 @@
-diff -crB bigdft-abi-1.0.4/src/init/projectors.f90 bigdft-patch/src/init/projectors.f90
-*** bigdft-abi-1.0.4/src/init/projectors.f90 Thu Nov 29 11:09:02 2012
---- bigdft-patch/src/init/projectors.f90 Thu Jun 6 11:31:46 2013
-***************
-*** 383,394 ****
- END SUBROUTINE fill_projectors
-
- subroutine atom_projector_paw(ikpt,iat,idir,istart_c,iproj,nprojel,&
-! lr,hx,hy,hz,rxyz,at,orbs,plr,proj,nwarnings,proj_G)
- use module_base
- use module_types
- implicit none
- integer, intent(in) :: iat,idir,ikpt,nprojel
-! real(gp), intent(in) :: hx,hy,hz
- type(atoms_data), intent(in) :: at
- type(orbitals_data), intent(in) :: orbs
- type(locreg_descriptors), intent(in) :: plr
---- 383,394 ----
- END SUBROUTINE fill_projectors
-
- subroutine atom_projector_paw(ikpt,iat,idir,istart_c,iproj,nprojel,&
-! lr,hx,hy,hz,rpaw,rxyz,at,orbs,plr,proj,nwarnings,proj_G)
- use module_base
- use module_types
- implicit none
- integer, intent(in) :: iat,idir,ikpt,nprojel
-! real(gp), intent(in) :: hx,hy,hz,rpaw
- type(atoms_data), intent(in) :: at
- type(orbitals_data), intent(in) :: orbs
- type(locreg_descriptors), intent(in) :: plr
-***************
-*** 460,466 ****
- ! plr%wfd%keyvglob,plr%wfd%keyglob,proj_tmp(1),nwarnings)
- !END DEBUG
- call projector_paw(at%geocode,at%atomnames(ityp),iat,idir,l,i,&
-! proj_G%psiat(:,jj),proj_G%xp(:,jj),rxyz(1),lr,&
- hx,hy,hz,kx,ky,kz,proj_G%ncplx,ncplx_k,&
- mbvctr_c,mbvctr_f,mbseg_c,mbseg_f,&
- plr%wfd%keyvglob,plr%wfd%keyglob,proj_tmp(1),nwarnings)
---- 460,466 ----
- ! plr%wfd%keyvglob,plr%wfd%keyglob,proj_tmp(1),nwarnings)
- !END DEBUG
- call projector_paw(at%geocode,at%atomnames(ityp),iat,idir,l,i,&
-! proj_G%psiat(:,jj),proj_G%xp(:,jj),rpaw,rxyz(1),lr,&
- hx,hy,hz,kx,ky,kz,proj_G%ncplx,ncplx_k,&
- mbvctr_c,mbvctr_f,mbseg_c,mbseg_f,&
- plr%wfd%keyvglob,plr%wfd%keyglob,proj_tmp(1),nwarnings)
-***************
-*** 646,651 ****
---- 646,652 ----
- integer :: istart_c,nterm,idir2
- real(gp) :: fpi,factor,rx,ry,rz
- real(dp) :: scpr
-+ real(gp) :: gau_cut !dummy here just for PAW
- integer, dimension(3) :: nterm_arr
- integer, dimension(nterm_max) :: lx,ly,lz
- integer, dimension(3,nterm_max,3) :: lxyz_arr
-***************
-*** 709,715 ****
-
- call crtproj(geocode,nterm,lr,hx,hy,hz,kx,ky,kz,&
- ncplx_g,ncplx,&
-! gau_a,factors,rx,ry,rz,lx,ly,lz,&
- mbvctr_c,mbvctr_f,mseg_c,mseg_f,keyv_p,keyg_p,proj(istart_c))
-
- ! testing
---- 710,716 ----
-
- call crtproj(geocode,nterm,lr,hx,hy,hz,kx,ky,kz,&
- ncplx_g,ncplx,&
-! gau_a,gau_cut,factors,rx,ry,rz,lx,ly,lz,&
- mbvctr_c,mbvctr_f,mseg_c,mseg_f,keyv_p,keyg_p,proj(istart_c))
-
- ! testing
-***************
-*** 1055,1061 ****
- end subroutine projector_paw_isf
-
- subroutine projector_paw(geocode,atomname,iat,idir,l,i,&
-! factor,gau_a,rxyz,lr,&
- hx,hy,hz,kx,ky,kz,ncplx_g,ncplx_k,&
- mbvctr_c,mbvctr_f,mseg_c,mseg_f,keyv_p,keyg_p,proj,nwarnings)
- use module_base
---- 1056,1062 ----
- end subroutine projector_paw_isf
-
- subroutine projector_paw(geocode,atomname,iat,idir,l,i,&
-! factor,gau_a,gau_cut,rxyz,lr,&
- hx,hy,hz,kx,ky,kz,ncplx_g,ncplx_k,&
- mbvctr_c,mbvctr_f,mseg_c,mseg_f,keyv_p,keyg_p,proj,nwarnings)
- use module_base
-***************
-*** 1066,1072 ****
- integer, intent(in) :: iat,idir,l,i,mbvctr_c,mbvctr_f,mseg_c,mseg_f
- integer, intent(in) :: ncplx_k,ncplx_g
- type(locreg_descriptors),intent(in) :: lr
-! real(gp), intent(in) :: hx,hy,hz,kx,ky,kz
- !integer, dimension(2,3), intent(in) :: nboxp_c,nboxp_f
- integer, dimension(mseg_c+mseg_f), intent(in) :: keyv_p
- integer, dimension(2,mseg_c+mseg_f), intent(in) :: keyg_p
---- 1067,1073 ----
- integer, intent(in) :: iat,idir,l,i,mbvctr_c,mbvctr_f,mseg_c,mseg_f
- integer, intent(in) :: ncplx_k,ncplx_g
- type(locreg_descriptors),intent(in) :: lr
-! real(gp), intent(in) :: hx,hy,hz,kx,ky,kz,gau_cut
- !integer, dimension(2,3), intent(in) :: nboxp_c,nboxp_f
- integer, dimension(mseg_c+mseg_f), intent(in) :: keyv_p
- integer, dimension(2,mseg_c+mseg_f), intent(in) :: keyg_p
-***************
-*** 1131,1137 ****
-
- call crtproj(geocode,nterm,lr,hx,hy,hz,kx,ky,kz,&
- ncplx_g,ncplx_k,&
-! gau_a,factors(1:ncplx_g,1:nterm),&
- rx,ry,rz,lx(1:nterm),ly(1:nterm),lz(1:nterm),&
- mbvctr_c,mbvctr_f,mseg_c,mseg_f,keyv_p,keyg_p,&
- proj(istart_c))
---- 1132,1138 ----
-
- call crtproj(geocode,nterm,lr,hx,hy,hz,kx,ky,kz,&
- ncplx_g,ncplx_k,&
-! gau_a,gau_cut,factors(1:ncplx_g,1:nterm),&
- rx,ry,rz,lx(1:nterm),ly(1:nterm),lz(1:nterm),&
- mbvctr_c,mbvctr_f,mseg_c,mseg_f,keyv_p,keyg_p,&
- proj(istart_c))
-***************
-*** 1248,1254 ****
- !! in the arrays proj_c, proj_f
- subroutine crtproj(geocode,nterm,lr, &
- hx,hy,hz,kx,ky,kz,ncplx_g,ncplx_k,&
-! gau_a,fac_arr,rx,ry,rz,lx,ly,lz, &
- mvctr_c,mvctr_f,mseg_c,mseg_f,keyv_p,keyg_p,proj)
- use module_base
- use module_types
---- 1249,1255 ----
- !! in the arrays proj_c, proj_f
- subroutine crtproj(geocode,nterm,lr, &
- hx,hy,hz,kx,ky,kz,ncplx_g,ncplx_k,&
-! gau_a,gau_cut,fac_arr,rx,ry,rz,lx,ly,lz, &
- mvctr_c,mvctr_f,mseg_c,mseg_f,keyv_p,keyg_p,proj)
- use module_base
- use module_types
-***************
-*** 1256,1262 ****
- character(len=1), intent(in) :: geocode
- integer, intent(in) :: nterm,mvctr_c,mvctr_f,mseg_c,mseg_f
- integer, intent(in) :: ncplx_g,ncplx_k
-! real(gp), intent(in) :: hx,hy,hz,rx,ry,rz,kx,ky,kz
- integer, dimension(nterm), intent(in) :: lx,ly,lz
- real(gp), dimension(ncplx_g,nterm), intent(in) :: fac_arr
- real(gp), dimension(ncplx_g),intent(in):: gau_a
---- 1257,1263 ----
- character(len=1), intent(in) :: geocode
- integer, intent(in) :: nterm,mvctr_c,mvctr_f,mseg_c,mseg_f
- integer, intent(in) :: ncplx_g,ncplx_k
-! real(gp), intent(in) :: hx,hy,hz,rx,ry,rz,kx,ky,kz,gau_cut
- integer, dimension(nterm), intent(in) :: lx,ly,lz
- real(gp), dimension(ncplx_g,nterm), intent(in) :: fac_arr
- real(gp), dimension(ncplx_g),intent(in):: gau_a
-***************
-*** 1313,1327 ****
-
- factor(:)=fac_arr(:,iterm)
- n_gau=lx(iterm)
-! call gauss_to_daub_k(hx,kx*hx,ncplx_w,ncplx_g,ncplx_k,factor,rx,gau_a,n_gau,ns1,n1,ml1,mu1,&
- wprojx(1,0,1,iterm),work,nw,perx)
-
- n_gau=ly(iterm)
-! call gauss_to_daub_k(hy,ky*hy,ncplx_w,ncplx_g,ncplx_k,1.d0,ry,gau_a,n_gau,ns2,n2,ml2,mu2,&
- wprojy(1,0,1,iterm),work,nw,pery)
-
- n_gau=lz(iterm)
-! call gauss_to_daub_k(hz,kz*hz,ncplx_w,ncplx_g,ncplx_k,1.d0,rz,gau_a,n_gau,ns3,n3,ml3,mu3,&
- wprojz(1,0,1,iterm),work,nw,perz)
- end do
- !the filling of the projector should be different if ncplx_k==1 or 2
---- 1314,1328 ----
-
- factor(:)=fac_arr(:,iterm)
- n_gau=lx(iterm)
-! call gauss_to_daub_k(hx,kx*hx,ncplx_w,ncplx_g,ncplx_k,factor,rx,gau_a,gau_cut,n_gau,ns1,n1,ml1,mu1,&
- wprojx(1,0,1,iterm),work,nw,perx)
-
- n_gau=ly(iterm)
-! call gauss_to_daub_k(hy,ky*hy,ncplx_w,ncplx_g,ncplx_k,1.d0,ry,gau_a,gau_cut,n_gau,ns2,n2,ml2,mu2,&
- wprojy(1,0,1,iterm),work,nw,pery)
-
- n_gau=lz(iterm)
-! call gauss_to_daub_k(hz,kz*hz,ncplx_w,ncplx_g,ncplx_k,1.d0,rz,gau_a,gau_cut,n_gau,ns3,n3,ml3,mu3,&
- wprojz(1,0,1,iterm),work,nw,perz)
- end do
- !the filling of the projector should be different if ncplx_k==1 or 2
-diff -crB bigdft-abi-1.0.4/src/modules/types.f90 bigdft-patch/src/modules/types.f90
-*** bigdft-abi-1.0.4/src/modules/types.f90 Thu Jan 3 10:18:08 2013
---- bigdft-patch/src/modules/types.f90 Thu Jun 6 11:27:48 2013
-***************
-*** 1119,1124 ****
---- 1119,1125 ----
- type(cprj_objects),dimension(:,:),allocatable :: cprj
- real(wp),dimension(:),pointer :: spsi
- real(wp),dimension(:,:),pointer :: sij
-+ real(dp),dimension(:),pointer :: rpaw
- end type paw_objects
-
- contains
-***************
-*** 2090,2095 ****
---- 2091,2097 ----
- nullify(paw%indlmn)
- nullify(paw%spsi)
- nullify(paw%sij)
-+ nullify(paw%rpaw)
-
- if(present(rholoc)) then
- nullify(rholoc%msz)
-diff -crB bigdft-abi-1.0.4/src/wavelib/gauss_to_daub.f90 bigdft-patch/src/wavelib/gauss_to_daub.f90
-*** bigdft-abi-1.0.4/src/wavelib/gauss_to_daub.f90 Mon Jul 9 16:43:33 2012
---- bigdft-patch/src/wavelib/gauss_to_daub.f90 Thu Jun 6 13:01:01 2013
-***************
-*** 448,454 ****
- !! In this version, we dephase the projector to wrt the center of the gaussian
- !! this should not have an impact on the results since the operator is unchanged
- subroutine gauss_to_daub_k(hgrid,kval,ncplx_w,ncplx_g,ncplx_k,&
-! factor,gau_cen,gau_a,n_gau,&!no err, errsuc
- nstart,nmax,n_left,n_right,c,&
- ww,nwork,periodic) !added work arrays ww with dimension nwork
- use module_base
---- 448,454 ----
- !! In this version, we dephase the projector to wrt the center of the gaussian
- !! this should not have an impact on the results since the operator is unchanged
- subroutine gauss_to_daub_k(hgrid,kval,ncplx_w,ncplx_g,ncplx_k,&
-! factor,gau_cen,gau_a,gau_cut,n_gau,&!no err, errsuc
- nstart,nmax,n_left,n_right,c,&
- ww,nwork,periodic) !added work arrays ww with dimension nwork
- use module_base
-***************
-*** 458,464 ****
- integer, intent(in) :: ncplx_w !size of the ww matrix
- integer, intent(in) :: ncplx_g !1 or 2 for simple or complex gaussians, respectively.
- integer, intent(in) :: ncplx_k !use 2 for k-points.
-! real(gp), intent(in) :: hgrid,gau_cen,kval
- real(gp),dimension(ncplx_g),intent(in)::factor,gau_a
- real(wp), dimension(0:nwork,2,ncplx_w), intent(inout) :: ww
- integer, intent(out) :: n_left,n_right
---- 458,464 ----
- integer, intent(in) :: ncplx_w !size of the ww matrix
- integer, intent(in) :: ncplx_g !1 or 2 for simple or complex gaussians, respectively.
- integer, intent(in) :: ncplx_k !use 2 for k-points.
-! real(gp), intent(in) :: hgrid,gau_cen,kval,gau_cut
- real(gp),dimension(ncplx_g),intent(in)::factor,gau_a
- real(wp), dimension(0:nwork,2,ncplx_w), intent(inout) :: ww
- integer, intent(out) :: n_left,n_right
-***************
-*** 467,473 ****
- character(len=*), parameter :: subname='gauss_to_daub_k'
- integer :: i_all,i_stat
- integer :: rightx,leftx,right_t,i0,i,k,length,j,icplx
-! real(gp) :: a1,a2,z0,h,x,r,coeff,r2,rk
- real(gp) :: fac(ncplx_g)
- real(wp) :: func,cval,sval,cval2,sval2
- real(wp), dimension(:,:,:), allocatable :: cc
---- 467,473 ----
- character(len=*), parameter :: subname='gauss_to_daub_k'
- integer :: i_all,i_stat
- integer :: rightx,leftx,right_t,i0,i,k,length,j,icplx
-! real(gp) :: a1,a2,z0,h,x,r,coeff,r2,rk,gcut
- real(gp) :: fac(ncplx_g)
- real(wp) :: func,cval,sval,cval2,sval2
- real(wp), dimension(:,:,:), allocatable :: cc
-***************
-*** 487,492 ****
---- 487,493 ----
- end if
- i0=nint(gau_cen/hgrid) ! the array is centered at i0
- z0=gau_cen/hgrid-real(i0,gp)
-+ gcut=gau_cut/hgrid
- h=.125_gp*.5_gp
-
- !calculate the array sizes;
-***************
-*** 655,681 ****
- do i=leftx,rightx
- x=real(i-i0*16,gp)*h
- r=x-z0
-! r2=r*r
-! cval=real(cos(a2*r2),wp)
-! sval=real(sin(a2*r2),wp)
-! r2=0.5_gp*r2/(a1**2)
-! func=real(dexp(-real(r2,kind=8)),wp)
-! ww(i-leftx,1,1)=func*cval
-! ww(i-leftx,1,2)=func*sval
- enddo
- else
- do i=leftx,rightx
- x=real(i-i0*16,gp)*h
- r=x-z0
-! r2=r*r
-! cval=real(cos(a2*r2),wp)
-! sval=real(sin(a2*r2),wp)
-! coeff=r**n_gau
-! r2=0.5_gp*r2/(a1**2)
-! func=real(dexp(-real(r2,kind=8)),wp)
-! func=real(coeff,wp)*func
-! ww(i-leftx,1,1)=func*cval
-! ww(i-leftx,1,2)=func*sval
- enddo
- end if
-
---- 656,690 ----
- do i=leftx,rightx
- x=real(i-i0*16,gp)*h
- r=x-z0
-! if(abs(r)-gcut < 1e-8) then
-! r2=r*r
-! cval=real(cos(a2*r2),wp)
-! sval=real(sin(a2*r2),wp)
-! r2=0.5_gp*r2/(a1**2)
-! func=real(dexp(-real(r2,kind=8)),wp)
-! ww(i-leftx,1,1)=func*cval
-! ww(i-leftx,1,2)=func*sval
-! else
-! ww(i-leftx,1,:)=0.0_wp
-! end if
- enddo
- else
- do i=leftx,rightx
- x=real(i-i0*16,gp)*h
- r=x-z0
-! if( abs(r)-gcut < 1e-8 ) then
-! r2=r*r
-! cval=real(cos(a2*r2),wp)
-! sval=real(sin(a2*r2),wp)
-! coeff=r**n_gau
-! r2=0.5_gp*r2/(a1**2)
-! func=real(dexp(-real(r2,kind=8)),wp)
-! func=real(coeff,wp)*func
-! ww(i-leftx,1,1)=func*cval
-! ww(i-leftx,1,2)=func*sval
-! else
-! ww(i-leftx,1,:)=0.0_wp
-! end if
- enddo
- end if
-