10
1
mirror of https://github.com/pfloos/quack synced 2025-05-06 15:14:55 +02:00

improve convergence by removing silly reset to zero

This commit is contained in:
Pierre-Francois Loos 2025-04-03 18:11:24 +02:00
parent c20aba0c5e
commit e967e12bfb
2 changed files with 6 additions and 27 deletions

View File

@ -211,7 +211,7 @@ subroutine GParquet(TDAeh,TDApp,max_diis_1b,max_diis_2b,linearize,eta,ENuc,max_i
call phGLR_A(.false.,nOrb,nC,nO,nV,nR,nS,1d0,eOld,ERI,Aph)
if(.not.TDAeh) call phGLR_B(.false.,nOrb,nC,nO,nV,nR,nS,1d0,ERI,Bph)
if(n_it_2b == 1) then
if(n_it_1b == 1 .and. n_it_2b == 1) then
eh_Gam_A(:,:) = 0d0
eh_Gam_B(:,:) = 0d0
@ -270,7 +270,7 @@ subroutine GParquet(TDAeh,TDApp,max_diis_1b,max_diis_2b,linearize,eta,ENuc,max_i
call ppGLR_C(nOrb,nC,nO,nV,nR,nVV,1d0,eOld,ERI,Cpp)
call ppGLR_D(nOrb,nC,nO,nV,nR,nOO,1d0,eOld,ERI,Dpp)
if(n_it_2b == 1) then
if(n_it_1b == 1 .and. n_it_2b == 1) then
pp_Gam_B(:,:) = 0d0
pp_Gam_C(:,:) = 0d0

View File

@ -208,7 +208,7 @@ subroutine RParquet(TDAeh,TDApp,max_diis_1b,max_diis_2b,linearize,eta,ENuc,max_i
call phRLR_A(ispin,.false.,nOrb,nC,nO,nV,nR,nS,1d0,eOld,ERI,Aph)
if(.not.TDAeh) call phRLR_B(ispin,.false.,nOrb,nC,nO,nV,nR,nS,1d0,ERI,Bph)
if(n_it_2b == 1) then
if(n_it_1b == 1 .and. n_it_2b == 1) then
eh_sing_Gam_A(:,:) = 0d0
eh_sing_Gam_B(:,:) = 0d0
@ -260,7 +260,7 @@ subroutine RParquet(TDAeh,TDApp,max_diis_1b,max_diis_2b,linearize,eta,ENuc,max_i
call phRLR_A(ispin,.false.,nOrb,nC,nO,nV,nR,nS,1d0,eOld,ERI,Aph)
if(.not.TDAeh) call phRLR_B(ispin,.false.,nOrb,nC,nO,nV,nR,nS,1d0,ERI,Bph)
if(n_it_2b == 1) then
if(n_it_1b == 1 .and. n_it_2b == 1) then
eh_trip_Gam_A(:,:) = 0d0
eh_trip_Gam_B(:,:) = 0d0
@ -315,7 +315,7 @@ subroutine RParquet(TDAeh,TDApp,max_diis_1b,max_diis_2b,linearize,eta,ENuc,max_i
call ppRLR_C(ispin,nOrb,nC,nO,nV,nR,nVVs,1d0,eOld,ERI,Cpp)
call ppRLR_D(ispin,nOrb,nC,nO,nV,nR,nOOs,1d0,eOld,ERI,Dpp)
if(n_it_2b == 1) then
if(n_it_1b == 1 .and. n_it_2b == 1) then
pp_sing_Gam_B(:,:) = 0d0
pp_sing_Gam_C(:,:) = 0d0
@ -375,7 +375,7 @@ subroutine RParquet(TDAeh,TDApp,max_diis_1b,max_diis_2b,linearize,eta,ENuc,max_i
call ppRLR_C(ispin,nOrb,nC,nO,nV,nR,nVVt,1d0,eOld,ERI,Cpp)
call ppRLR_D(ispin,nOrb,nC,nO,nV,nR,nOOt,1d0,eOld,ERI,Dpp)
if(n_it_2b == 1) then
if(n_it_1b == 1 .and. n_it_2b == 1) then
pp_trip_Gam_B(:,:) = 0d0
pp_trip_Gam_C(:,:) = 0d0
@ -409,16 +409,6 @@ subroutine RParquet(TDAeh,TDApp,max_diis_1b,max_diis_2b,linearize,eta,ENuc,max_i
deallocate(Bpp,Cpp,Dpp,pp_trip_Gam_B,pp_trip_Gam_C,pp_trip_Gam_D)
! write(*,*) '----------------------------------------'
! write(*,*) ' Two-body (eigenvalue) convergence '
! write(*,*) '----------------------------------------'
! write(*,'(1X,A30,F10.6)')'Error for density channel = ',err_eig_eh_sing
! write(*,'(1X,A30,F10.6)')'Error for magnetic channel = ',err_eig_eh_trip
! write(*,'(1X,A30,F10.6)')'Error for singlet channel = ',max(err_eig_ee_sing,err_eig_hh_sing)
! write(*,'(1X,A30,F10.6)')'Error for triplet channel = ',max(err_eig_ee_trip,err_eig_hh_trip)
! write(*,*) '----------------------------------------'
! write(*,*)
!----------!
! Updating !
!----------!
@ -565,17 +555,6 @@ subroutine RParquet(TDAeh,TDApp,max_diis_1b,max_diis_2b,linearize,eta,ENuc,max_i
! DIIS extrapolation !
!--------------------!
! write(*,*) '----------------------------------------'
! write(*,*) ' Two-body (kernel) convergence '
! write(*,*) '----------------------------------------'
! write(*,'(1X,A30,F10.6)')'Error for singlet eh channel = ',err_eh_sing
! write(*,'(1X,A30,F10.6)')'Error for triplet eh channel = ',err_eh_trip
! write(*,'(1X,A30,F10.6)')'Error for singlet pp channel = ',err_pp_sing
! write(*,'(1X,A30,F10.6)')'Error for triplet pp channel = ',err_pp_trip
! write(*,*) '----------------------------------------'
! write(*,*)
write(*,*) '------------------------------------------------------'
write(*,*) ' Two-body (frequency/kernel) convergence '
write(*,*) '------------------------------------------------------'