9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-21 11:03:29 +01:00

Minor changes

This commit is contained in:
Anthony Scemama 2023-02-08 16:41:35 +01:00
parent 0e576f519e
commit f947412a16
3 changed files with 19 additions and 18 deletions

View File

@ -4,20 +4,19 @@
** Changes ** Changes
- Introduced DFT-based basis set correction
- Use OpamPack for OCaml
- Configure adapted for ARM
- Added many types of integrals
*** TODO: take from dev *** TODO: take from dev
- [ ] Added GTOs with complex exponent - [ ] Added GTOs with complex exponent
- [ ] Added many types of integrals
- Updated version of f77-zmq - Updated version of f77-zmq
- Added transcorrelated SCF - Added transcorrelated SCF
- Added transcorrelated CIPSI - Added transcorrelated CIPSI
- Started to introduce shells in AOs - Started to introduce shells in AOs
- Added ECMD UEG functional - Added ECMD UEG functional
- Introduced DFT-based basis set correction - General Davidson algorithm
- General davidson algorithm
- Use OpamPack for OCaml
- Configure adapted for ARM
*** Done
* Version 2.2 * Version 2.2

View File

@ -142,7 +142,7 @@ subroutine ao_idx2_sq(i,j,ij)
ij=i*i ij=i*i
endif endif
end end
subroutine idx2_tri_int(i,j,ij) subroutine idx2_tri_int(i,j,ij)
implicit none implicit none
integer, intent(in) :: i,j integer, intent(in) :: i,j
@ -152,7 +152,7 @@ subroutine idx2_tri_int(i,j,ij)
q = min(i,j) q = min(i,j)
ij = q+ishft(p*p-p,-1) ij = q+ishft(p*p-p,-1)
end end
subroutine ao_idx2_tri_key(i,j,ij) subroutine ao_idx2_tri_key(i,j,ij)
use map_module use map_module
implicit none implicit none
@ -163,8 +163,8 @@ subroutine ao_idx2_tri_key(i,j,ij)
q = min(i,j) q = min(i,j)
ij = q+ishft(p*p-p,-1) ij = q+ishft(p*p-p,-1)
end end
subroutine two_e_integrals_index_2fold(i,j,k,l,i1) subroutine two_e_integrals_index_2fold(i,j,k,l,i1)
use map_module use map_module
implicit none implicit none
integer, intent(in) :: i,j,k,l integer, intent(in) :: i,j,k,l
@ -176,7 +176,7 @@ subroutine two_e_integrals_index_2fold(i,j,k,l,i1)
call ao_idx2_tri_key(ik,jl,i1) call ao_idx2_tri_key(ik,jl,i1)
end end
subroutine ao_idx2_sq_rev(i,k,ik) subroutine ao_idx2_sq_rev(i,k,ik)
BEGIN_DOC BEGIN_DOC
! reverse square compound index ! reverse square compound index
END_DOC END_DOC
@ -321,14 +321,15 @@ BEGIN_PROVIDER [ double precision, ao_integrals_cache, (0:64*64*64*64) ]
!$OMP END PARALLEL DO !$OMP END PARALLEL DO
END_PROVIDER END_PROVIDER
! ---
double precision function get_ao_two_e_integral(i,j,k,l,map) result(result) double precision function get_ao_two_e_integral(i, j, k, l, map) result(result)
use map_module use map_module
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! Gets one AO bi-electronic integral from the AO map ! Gets one AO bi-electronic integral from the AO map in PHYSICIST NOTATION
! !
! i,j,k,l in physicist notation <ij|kl> ! <1:k, 2:l |1:i, 2:j>
END_DOC END_DOC
integer, intent(in) :: i,j,k,l integer, intent(in) :: i,j,k,l
integer(key_kind) :: idx integer(key_kind) :: idx
@ -398,7 +399,7 @@ BEGIN_PROVIDER [ complex*16, ao_integrals_cache_periodic, (0:64*64*64*64) ]
tmp_im = 0.d0 tmp_im = 0.d0
integral = dcmplx(tmp_re,tmp_im) integral = dcmplx(tmp_re,tmp_im)
endif endif
ii = l-ao_integrals_cache_min ii = l-ao_integrals_cache_min
ii = ior( shiftl(ii,6), k-ao_integrals_cache_min) ii = ior( shiftl(ii,6), k-ao_integrals_cache_min)
ii = ior( shiftl(ii,6), j-ao_integrals_cache_min) ii = ior( shiftl(ii,6), j-ao_integrals_cache_min)
@ -473,7 +474,7 @@ subroutine get_ao_two_e_integrals(j,k,l,sze,out_val)
BEGIN_DOC BEGIN_DOC
! Gets multiple AO bi-electronic integral from the AO map . ! Gets multiple AO bi-electronic integral from the AO map .
! All i are retrieved for j,k,l fixed. ! All i are retrieved for j,k,l fixed.
! physicist convention : <ij|kl> ! physicist convention : <ij|kl>
END_DOC END_DOC
implicit none implicit none
integer, intent(in) :: j,k,l, sze integer, intent(in) :: j,k,l, sze
@ -502,7 +503,7 @@ subroutine get_ao_two_e_integrals_periodic(j,k,l,sze,out_val)
BEGIN_DOC BEGIN_DOC
! Gets multiple AO bi-electronic integral from the AO map . ! Gets multiple AO bi-electronic integral from the AO map .
! All i are retrieved for j,k,l fixed. ! All i are retrieved for j,k,l fixed.
! physicist convention : <ij|kl> ! physicist convention : <ij|kl>
END_DOC END_DOC
implicit none implicit none
integer, intent(in) :: j,k,l, sze integer, intent(in) :: j,k,l, sze

View File

@ -101,6 +101,7 @@ double precision function ao_two_e_integral(i,j,k,l)
endif endif
endif endif
end end
double precision function ao_two_e_integral_schwartz_accel(i,j,k,l) double precision function ao_two_e_integral_schwartz_accel(i,j,k,l)