From 42dc21372503b96ab0ecd0a2afba8b04cee8aebd Mon Sep 17 00:00:00 2001 From: Yann GARNIRON Date: Fri, 27 May 2016 14:48:27 +0200 Subject: [PATCH] corrected mrcc for lage systems --- config/ifort.cfg | 2 +- plugins/mrcepa0/dressing.irp.f | 6 ++++-- src/Utils/LinearAlgebra.irp.f | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/config/ifort.cfg b/config/ifort.cfg index acbfde1f..60b771ea 100644 --- a/config/ifort.cfg +++ b/config/ifort.cfg @@ -31,7 +31,7 @@ OPENMP : 1 ; Append OpenMP flags # -ftz : Flushes denormal results to zero # [OPT] -FCFLAGS : -C -xAVX -O2 -ip -ftz -g -traceback +FCFLAGS : -xAVX -O2 -ip -ftz -g # Profiling flags ################# diff --git a/plugins/mrcepa0/dressing.irp.f b/plugins/mrcepa0/dressing.irp.f index d2e88d96..f6a4015d 100644 --- a/plugins/mrcepa0/dressing.irp.f +++ b/plugins/mrcepa0/dressing.irp.f @@ -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 :: i,j,k,m logical :: is_in_wavefunction - integer :: degree(psi_det_size) + integer,allocatable :: degree(:) integer,allocatable :: idx(:) 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,intent(in) :: N_miniList + allocate(degree(psi_det_size)) allocate(idx(0:psi_det_size)) 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 :: i,j,k,m logical :: is_in_wavefunction - integer :: degree(psi_det_size) + integer,allocatable :: degree(:) integer,allocatable :: idx(:) 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 + allocate(degree(psi_det_size)) allocate(idx(0:psi_det_size)) N_tq = 0 diff --git a/src/Utils/LinearAlgebra.irp.f b/src/Utils/LinearAlgebra.irp.f index 13138499..86a58729 100644 --- a/src/Utils/LinearAlgebra.irp.f +++ b/src/Utils/LinearAlgebra.irp.f @@ -144,13 +144,14 @@ subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m) integer, intent(in) :: LDA, ldc, n, m double precision, intent(in) :: overlap(lda,n) double precision, intent(inout) :: C(ldc,n) - double precision :: U(ldc,n) + double precision,allocatable :: U(:,:) double precision :: Vt(lda,n) double precision :: D(n) double precision :: S_half(lda,n) !DEC$ ATTRIBUTES ALIGN : 64 :: U, Vt, D integer :: info, i, j, k + allocate(U(ldc,n)) call svd(overlap,lda,U,ldc,D,Vt,lda,m,n) !$OMP PARALLEL DEFAULT(NONE) &