diff --git a/src/vmc/CMakeLists.txt b/src/vmc/CMakeLists.txt index fd89e9c7..721e9c6c 100644 --- a/src/vmc/CMakeLists.txt +++ b/src/vmc/CMakeLists.txt @@ -81,8 +81,8 @@ if (MPI_Fortran_FOUND) optx_jas_orb_reduce.f90 optx_orb_ci.f90 optx_orb_ci_reduce.f90 - orbitals_normal.f90 - orbitals_periodic.f90 + orbitals_no_qmckl.f90 + orbitals_qmckl_periodic.f90 orbitals_qmckl.f90 orbitals.f90 pcm.f90 @@ -181,7 +181,7 @@ if (MPI_Fortran_FOUND) if (NOT QMCKL_FOUND) list(REMOVE_ITEM VMC90_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_qmckl.f90 - ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_periodic.f90) + ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_qmckl_periodic.f90) endif() @@ -240,7 +240,7 @@ if (MPI_Fortran_FOUND) ${CMAKE_CURRENT_SOURCE_DIR}/ortho_orbitals.f90 ${CMAKE_CURRENT_SOURCE_DIR}/matinv.f90 ${CMAKE_CURRENT_SOURCE_DIR}/scale_dist.f90 - ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_normal.f90 + ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_no_qmckl.f90 ${CMAKE_CURRENT_SOURCE_DIR}/orbitals.f90 ${CMAKE_CURRENT_SOURCE_DIR}/readps_gauss.f90 ${CMAKE_CURRENT_SOURCE_DIR}/determinante_psit.f90 @@ -298,9 +298,9 @@ if (MPI_Fortran_FOUND) # Remove objects to share depending on CMAKE options: # -------------------------------------------------------------------- if (QMCKL_FOUND) - list(APPEND SHARED_OBJECTS - ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_qmckl.f90 - ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_periodic.f90) + list(APPEND SHARED_OBJECTS + ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_qmckl.f90 + ${CMAKE_CURRENT_SOURCE_DIR}/orbitals_qmckl_periodic.f90) endif() if (ENABLE_QMMM) diff --git a/src/vmc/nonloc.f90 b/src/vmc/nonloc.f90 index 042a2dac..60fce480 100644 --- a/src/vmc/nonloc.f90 +++ b/src/vmc/nonloc.f90 @@ -401,14 +401,14 @@ subroutine orbitals_quad(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) ! Written by Claudia Filippi, modified by Cyrus Umrigar and A. Scemama use contrl_per, only: iperiodic - use orbitals_normal_mod, only: orbitals_quad_normal + use orbitals_no_qmckl_mod, only: orbitals_quad_no_qmckl use precision_kinds, only: dp use qua, only: nquad use system, only: ncent_tot,nelec use vmc_mod, only: norb_tot #if defined(TREXIO_FOUND) && defined(QMCKL_FOUND) - use orbitals_periodic_mod, only: orbitals_quad_periodic + use orbitals_qmckl_periodic_mod, only: orbitals_quad_qmckl_periodic use orbitals_qmckl_mod, only: orbitals_quad_qmckl #endif @@ -429,10 +429,10 @@ subroutine orbitals_quad(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) if(iperiodic.eq.0) then call orbitals_quad_qmckl(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) else - call orbitals_quad_periodic(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) + call orbitals_quad_qmckl_periodic(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) endif #else - call orbitals_quad_normal(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) + call orbitals_quad_no_qmckl(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) #endif diff --git a/src/vmc/orbitals.f90 b/src/vmc/orbitals.f90 index 6c95fb45..61cd1ece 100644 --- a/src/vmc/orbitals.f90 +++ b/src/vmc/orbitals.f90 @@ -23,7 +23,7 @@ subroutine orbitals(x,rvec_en,r_en) use contrl_per, only: iperiodic use contrl_file, only: ounit use m_force_analytic, only: iforce_analy - use orbitals_normal_mod, only: orbitals_normal + use orbitals_no_qmckl_mod, only: orbitals_no_qmckl use orbval, only: ddorb, dorb, nadorb, orb use precision_kinds, only: dp use slater, only: norb, coef @@ -31,7 +31,7 @@ subroutine orbitals(x,rvec_en,r_en) use vmc_mod, only: nwftypeorb #if defined(TREXIO_FOUND) && defined(QMCKL_FOUND) - use orbitals_periodic_mod, only: orbitals_periodic + use orbitals_qmckl_periodic_mod, only: orbitals_qmckl_periodic use orbitals_qmckl_mod, only: orbitals_qmckl #endif @@ -43,21 +43,18 @@ subroutine orbitals(x,rvec_en,r_en) real(dp), dimension(3,nelec,ncent_tot) :: rvec_en real(dp), dimension(nelec,ncent_tot) :: r_en - #if defined(TREXIO_FOUND) && defined(QMCKL_FOUND) if (iperiodic.eq.0) then call orbitals_qmckl(x,rvec_en,r_en) else - call orbitals_periodic(x,rvec_en,r_en) + call orbitals_qmckl_periodic(x,rvec_en,r_en) endif #else - call orbitals_normal(x,rvec_en,r_en) + call orbitals_no_qmckl(x,rvec_en,r_en) #endif - if(iforce_analy.eq.1) call da_orbitals - if(ipr.ge.0) then do j=1,nwftypeorb do iorb=1,norb+nadorb @@ -131,17 +128,15 @@ subroutine da_orbitals subroutine orbitalse(iel,x,rvec_en,r_en,iflag) use contrl_per, only: iperiodic - use orbitals_normal_mod, only: orbitalse_normal + use orbitals_no_qmckl_mod, only: orbitalse_no_qmckl use precision_kinds, only: dp use system, only: ncent_tot, nelec #if defined(TREXIO_FOUND) && defined(QMCKL_FOUND) - use orbitals_periodic_mod, only: orbitalse_periodic + use orbitals_qmckl_periodic_mod, only: orbitalse_qmckl_periodic use orbitals_qmckl_mod, only: orbitalse_qmckl #endif - - implicit none integer :: iel, iflag @@ -154,13 +149,12 @@ subroutine orbitalse(iel,x,rvec_en,r_en,iflag) if (iperiodic.eq.0) then call orbitalse_qmckl(iel,x,rvec_en,r_en,iflag) else - call orbitalse_periodic(iel,x,rvec_en,r_en,iflag) + call orbitalse_qmckl_periodic(iel,x,rvec_en,r_en,iflag) endif #else - call orbitalse_normal(iel,x,rvec_en,r_en,iflag) + call orbitalse_no_qmckl(iel,x,rvec_en,r_en,iflag) #endif - return end !------------------------------------------------------------------------------------ diff --git a/src/vmc/orbitals_normal.f90 b/src/vmc/orbitals_no_qmckl.f90 similarity index 98% rename from src/vmc/orbitals_normal.f90 rename to src/vmc/orbitals_no_qmckl.f90 index 867b129d..2a2643f0 100644 --- a/src/vmc/orbitals_normal.f90 +++ b/src/vmc/orbitals_no_qmckl.f90 @@ -1,4 +1,4 @@ -module orbitals_normal_mod +module orbitals_no_qmckl_mod interface !LAPACK interface SUBROUTINE dgemm(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC) ! * -- Reference BLAS level3 routine -- @@ -16,7 +16,7 @@ SUBROUTINE dcopy(N,DX,INCX,DY,INCY) end interface contains -subroutine orbitals_normal(x,rvec_en,r_en) +subroutine orbitals_no_qmckl(x,rvec_en,r_en) use basis_fns_mod, only: basis_fns use coefs, only: nbasis @@ -31,7 +31,6 @@ subroutine orbitals_normal(x,rvec_en,r_en) implicit none - integer :: i, ider, iorb, k, m integer :: m0, j @@ -48,7 +47,6 @@ subroutine orbitals_normal(x,rvec_en,r_en) if (.not. allocated(auxdorb)) allocate (auxdorb(norb+nadorb,3)) if (.not. allocated(auxddorb)) allocate (auxddorb(norb+nadorb)) - ! get basis functions for all electrons ider=2 if(iforce_analy.eq.1) ider=3 @@ -194,7 +192,7 @@ subroutine orbitals_normal(x,rvec_en,r_en) end -subroutine orbitalse_normal(iel,x,rvec_en,r_en,iflag) +subroutine orbitalse_no_qmckl(iel,x,rvec_en,r_en,iflag) use basis_fns_mod, only: basis_fns use coefs, only: nbasis @@ -207,7 +205,6 @@ subroutine orbitalse_normal(iel,x,rvec_en,r_en,iflag) use system, only: ncent_tot, nelec use vmc_mod, only: nwftypeorb - implicit none integer :: iel, ider, iflag, iorb, m @@ -387,7 +384,7 @@ subroutine orbitalse_normal(iel,x,rvec_en,r_en,iflag) return end -subroutine orbitals_quad_normal(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) +subroutine orbitals_quad_no_qmckl(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) use basis_fns_mod, only: basis_fns use coefs, only: nbasis @@ -428,7 +425,6 @@ subroutine orbitals_quad_normal(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwf ider=0 if(iforce_analy.gt.0) ider=1 - if(nwftypeorb.gt.1) iwf=1 call basis_fns(1,nxquad,nquad*nelec*2,rvec_en,r_en,ider) if(nwftypeorb.gt.1) iwf=iwforb diff --git a/src/vmc/orbitals_qmckl.f90 b/src/vmc/orbitals_qmckl.f90 index 602b03ac..100e8eec 100644 --- a/src/vmc/orbitals_qmckl.f90 +++ b/src/vmc/orbitals_qmckl.f90 @@ -111,8 +111,6 @@ subroutine orbitalse_qmckl(iel,x,rvec_en,r_en,iflag) stop end if - - ! set one electron coordinates rc = qmckl_set_point(qmckl_ctx(ictx), 'N', 1_8, x(1:3,iel), 3_8) if (rc /= QMCKL_SUCCESS) then @@ -226,7 +224,6 @@ subroutine orbitals_quad_qmckl(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwfo stop end if - allocate(mo_qmckl(n8, nxquad)) ! Compute the MOs diff --git a/src/vmc/orbitals_periodic.f90 b/src/vmc/orbitals_qmckl_periodic.f90 similarity index 99% rename from src/vmc/orbitals_periodic.f90 rename to src/vmc/orbitals_qmckl_periodic.f90 index 302811cc..a5727553 100644 --- a/src/vmc/orbitals_periodic.f90 +++ b/src/vmc/orbitals_qmckl_periodic.f90 @@ -1,8 +1,8 @@ -module orbitals_periodic_mod +module orbitals_qmckl_periodic_mod contains -subroutine orbitals_periodic(x,rvec_en,r_en) +subroutine orbitals_qmckl_periodic(x,rvec_en,r_en) use coefs, only: nbasis use find_pimage, only: find_image_pbc @@ -32,7 +32,6 @@ subroutine orbitals_periodic(x,rvec_en,r_en) real(dp) :: rnorm character*(1024) :: err_message = '' - integer :: i, iorb, k, m integer :: m0, j @@ -46,7 +45,6 @@ subroutine orbitals_periodic(x,rvec_en,r_en) if (.not. allocated(auxdorb)) allocate (auxdorb(norb+nadorb,3)) if (.not. allocated(auxddorb)) allocate (auxddorb(norb+nadorb)) - ! get number of atomic orbitals rc = qmckl_get_ao_basis_ao_num(qmckl_ctx(qmckl_no_ctx), na8) if (rc /= QMCKL_SUCCESS) then @@ -210,7 +208,6 @@ subroutine orbitals_periodic(x,rvec_en,r_en) ddorb(1:(norb+nadorb),i,1)=auxddorb(1:(norb+nadorb)) enddo - endif ! nwftype endif @@ -284,13 +281,12 @@ subroutine orbitals_periodic(x,rvec_en,r_en) endif ! nwftype endif - #endif ! vectorization endif return end -subroutine orbitalse_periodic(iel,x,rvec_en,r_en,iflag) +subroutine orbitalse_qmckl_periodic(iel,x,rvec_en,r_en,iflag) use coefs, only: nbasis use find_pimage, only: find_image_pbc @@ -330,7 +326,6 @@ subroutine orbitalse_periodic(iel,x,rvec_en,r_en,iflag) ictx = 2 end if - ! get number of atomic orbitals rc = qmckl_get_ao_basis_ao_num(qmckl_ctx(ictx), na8) if (rc /= QMCKL_SUCCESS) then @@ -344,7 +339,6 @@ subroutine orbitalse_periodic(iel,x,rvec_en,r_en,iflag) stop end if - ! allocate ao_vlg array allocate(ao_qmckl(nbasis, 5)) ao_qmckl=0.d0 @@ -362,14 +356,12 @@ subroutine orbitalse_periodic(iel,x,rvec_en,r_en,iflag) call abort() end if - ! computing aos zero image rc = qmckl_get_ao_basis_ao_vgl_inplace(qmckl_ctx(ictx), ao_qmckl, nbasis*5_8) if (rc /= QMCKL_SUCCESS) then print *, 'Error getting AOs from QMCkl zero image' endif - ! intialize before computation just in case garbage appears xqmckl=0.d0 ! computing images distance for iel @@ -421,8 +413,6 @@ subroutine orbitalse_periodic(iel,x,rvec_en,r_en,iflag) if(allocated(ao_qmckl)) deallocate(ao_qmckl) if(allocated(ao_vgl_qmckl)) deallocate(ao_vgl_qmckl) - - if(iflag.gt.0) then if(nwftypeorb.gt.1) then @@ -508,7 +498,7 @@ subroutine orbitalse_periodic(iel,x,rvec_en,r_en,iflag) return end -subroutine orbitals_quad_periodic(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) +subroutine orbitals_quad_qmckl_periodic(nxquad,xquad,rvec_en,r_en,orbn,dorbn,da_orbn,iwforb) use coefs, only: nbasis use find_pimage, only: find_image_pbc