From 9a06b970de32c4d35845849324ec2314e698dc53 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 18 Nov 2016 22:22:46 +0100 Subject: [PATCH] State following OK --- plugins/MRCC_Utils/davidson.irp.f | 4 +++- src/Davidson/diagonalization_hs2.irp.f | 23 +++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/plugins/MRCC_Utils/davidson.irp.f b/plugins/MRCC_Utils/davidson.irp.f index 642b229c..199feb3f 100644 --- a/plugins/MRCC_Utils/davidson.irp.f +++ b/plugins/MRCC_Utils/davidson.irp.f @@ -862,7 +862,9 @@ subroutine davidson_diag_hjj_sjj_mrcc(dets_in,u_in,H_jj,S2_jj,energies,dim_in,sz do k=1,N_st coord = maxloc(overlap) order( coord(2) ) = coord(1) - overlap(:,coord(2)) = -1.d0 + do i=1,shift2 + overlap(coord(1),i) = -1.d0 + enddo enddo overlap = y do k=1,N_st diff --git a/src/Davidson/diagonalization_hs2.irp.f b/src/Davidson/diagonalization_hs2.irp.f index 0eeda5a2..b79972af 100644 --- a/src/Davidson/diagonalization_hs2.irp.f +++ b/src/Davidson/diagonalization_hs2.irp.f @@ -328,21 +328,30 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,S2_jj,energies,dim_in,sze,N_s integer :: coord(2), order(N_st_diag) overlap = -1.d0 - do k=1,shift2 - do i=1,shift2 + do i=1,shift2 + do k=1,shift2 overlap(k,i) = dabs(y(k,i)) enddo enddo do k=1,N_st coord = maxloc(overlap) order( coord(2) ) = coord(1) - overlap(:,coord(2)) = -1.d0 + do i=1,shift2 + overlap(coord(1),i) = -1.d0 + enddo + enddo + print *, order(1:N_st) + do i=1,shift2 + do k=1,shift2 + overlap(k,i) = y(k,i) + enddo enddo - overlap = y do k=1,N_st l = order(k) if (k /= l) then - y(1:shift2,k) = overlap(1:shift2,l) + do i=1,shift2 + y(i,k) = overlap(i,l) + enddo endif enddo do k=1,N_st @@ -750,7 +759,9 @@ subroutine davidson_diag_hjj_sjj_mmap(dets_in,u_in,H_jj,S2_jj,energies,dim_in,sz do k=1,N_st coord = maxloc(overlap) order( coord(2) ) = coord(1) - overlap(:,coord(2)) = -1.d0 + do i=1,shift2 + overlap(coord(1),i) = -1.d0 + enddo enddo overlap = y do k=1,N_st