mirror of
https://github.com/LCPQ/quantum_package
synced 2024-08-25 05:51:46 +02:00
corrected mrcc for lage systems
This commit is contained in:
parent
39618c4300
commit
42dc213725
@ -31,7 +31,7 @@ OPENMP : 1 ; Append OpenMP flags
|
|||||||
# -ftz : Flushes denormal results to zero
|
# -ftz : Flushes denormal results to zero
|
||||||
#
|
#
|
||||||
[OPT]
|
[OPT]
|
||||||
FCFLAGS : -C -xAVX -O2 -ip -ftz -g -traceback
|
FCFLAGS : -xAVX -O2 -ip -ftz -g
|
||||||
|
|
||||||
# Profiling flags
|
# Profiling flags
|
||||||
#################
|
#################
|
||||||
|
@ -843,7 +843,7 @@ subroutine filter_tq(i_generator,n_selected,det_buffer,Nint,tq,N_tq,miniList,N_m
|
|||||||
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
|
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
|
||||||
integer :: i,j,k,m
|
integer :: i,j,k,m
|
||||||
logical :: is_in_wavefunction
|
logical :: is_in_wavefunction
|
||||||
integer :: degree(psi_det_size)
|
integer,allocatable :: degree(:)
|
||||||
integer,allocatable :: idx(:)
|
integer,allocatable :: idx(:)
|
||||||
logical :: good
|
logical :: good
|
||||||
|
|
||||||
@ -856,6 +856,7 @@ subroutine filter_tq(i_generator,n_selected,det_buffer,Nint,tq,N_tq,miniList,N_m
|
|||||||
integer(bit_kind),intent(in) :: miniList(Nint,2,N_det_generators)
|
integer(bit_kind),intent(in) :: miniList(Nint,2,N_det_generators)
|
||||||
integer,intent(in) :: N_miniList
|
integer,intent(in) :: N_miniList
|
||||||
|
|
||||||
|
allocate(degree(psi_det_size))
|
||||||
allocate(idx(0:psi_det_size))
|
allocate(idx(0:psi_det_size))
|
||||||
N_tq = 0
|
N_tq = 0
|
||||||
|
|
||||||
@ -898,7 +899,7 @@ subroutine filter_tq_micro(i_generator,n_selected,det_buffer,Nint,tq,N_tq,microl
|
|||||||
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
|
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
|
||||||
integer :: i,j,k,m
|
integer :: i,j,k,m
|
||||||
logical :: is_in_wavefunction
|
logical :: is_in_wavefunction
|
||||||
integer :: degree(psi_det_size)
|
integer,allocatable :: degree(:)
|
||||||
integer,allocatable :: idx(:)
|
integer,allocatable :: idx(:)
|
||||||
logical :: good
|
logical :: good
|
||||||
|
|
||||||
@ -916,6 +917,7 @@ subroutine filter_tq_micro(i_generator,n_selected,det_buffer,Nint,tq,N_tq,microl
|
|||||||
integer :: mobiles(2), smallerlist
|
integer :: mobiles(2), smallerlist
|
||||||
|
|
||||||
|
|
||||||
|
allocate(degree(psi_det_size))
|
||||||
allocate(idx(0:psi_det_size))
|
allocate(idx(0:psi_det_size))
|
||||||
N_tq = 0
|
N_tq = 0
|
||||||
|
|
||||||
|
@ -144,13 +144,14 @@ subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m)
|
|||||||
integer, intent(in) :: LDA, ldc, n, m
|
integer, intent(in) :: LDA, ldc, n, m
|
||||||
double precision, intent(in) :: overlap(lda,n)
|
double precision, intent(in) :: overlap(lda,n)
|
||||||
double precision, intent(inout) :: C(ldc,n)
|
double precision, intent(inout) :: C(ldc,n)
|
||||||
double precision :: U(ldc,n)
|
double precision,allocatable :: U(:,:)
|
||||||
double precision :: Vt(lda,n)
|
double precision :: Vt(lda,n)
|
||||||
double precision :: D(n)
|
double precision :: D(n)
|
||||||
double precision :: S_half(lda,n)
|
double precision :: S_half(lda,n)
|
||||||
!DEC$ ATTRIBUTES ALIGN : 64 :: U, Vt, D
|
!DEC$ ATTRIBUTES ALIGN : 64 :: U, Vt, D
|
||||||
integer :: info, i, j, k
|
integer :: info, i, j, k
|
||||||
|
|
||||||
|
allocate(U(ldc,n))
|
||||||
call svd(overlap,lda,U,ldc,D,Vt,lda,m,n)
|
call svd(overlap,lda,U,ldc,D,Vt,lda,m,n)
|
||||||
|
|
||||||
!$OMP PARALLEL DEFAULT(NONE) &
|
!$OMP PARALLEL DEFAULT(NONE) &
|
||||||
|
Loading…
Reference in New Issue
Block a user