10
1
mirror of https://github.com/pfloos/quack synced 2025-04-25 01:34:57 +02:00

spin orbital parquet converging !

This commit is contained in:
Antoine Marie 2025-03-26 10:52:23 +01:00
parent 0b56a1a94c
commit 767257d107
4 changed files with 16 additions and 15 deletions

View File

@ -117,7 +117,7 @@ subroutine GParquet(max_it_1b,conv_1b,max_it_2b,conv_2b,nOrb,nC,nO,nV,nR,nS,eHF,
! Memory allocation
allocate(old_eh_Om(nS),old_ee_Om(nVV),old_hh_Om(nOO))
allocate(eh_rho(nOrb,nOrb,nS),ee_rho(nOrb,nOrb,nVV),hh_rho(nOrb,nOrb,nOO))
allocate(eh_rho(nOrb,nOrb,nS+nS),ee_rho(nOrb,nOrb,nVV),hh_rho(nOrb,nOrb,nOO))
allocate(old_eh_Phi(nOrb,nOrb,nOrb,nOrb),old_pp_Phi(nOrb,nOrb,nOrb,nOrb))
! Initialization
@ -327,7 +327,7 @@ subroutine GParquet(max_it_1b,conv_1b,max_it_2b,conv_2b,nOrb,nC,nO,nV,nR,nS,eHF,
deallocate(eh_rho,ee_rho,hh_rho)
! TODO Once we will compute the blocks of kernel starting from the 4-tensors we can move the freeing up
! Memory allocation
allocate(eh_rho(nOrb,nOrb,nS))
allocate(eh_rho(nOrb,nOrb,nS+nS))
allocate(ee_rho(nOrb,nOrb,nVV),hh_rho(nOrb,nOrb,nOO))
! Build singlet eh integrals

View File

@ -15,7 +15,7 @@ subroutine G_eh_screened_integral(nOrb,nC,nO,nR,nS,ERI,eh_Phi,pp_Phi,XpY,XmY,rho
double precision :: X,Y
! Output variables
double precision,intent(out) :: rho(nOrb,nOrb,nS)
double precision,intent(out) :: rho(nOrb,nOrb,nS+nS)
rho(:,:,:) = 0d0
! !$OMP PARALLEL &
@ -37,8 +37,9 @@ subroutine G_eh_screened_integral(nOrb,nC,nO,nR,nS,ERI,eh_Phi,pp_Phi,XpY,XmY,rho
Y = 0.5d0*(XpY(ia,jb) - XmY(ia,jb))
rho(p,q,ia) = (ERI(q,j,p,b) - ERI(q,j,b,p)) * X &
+ (- eh_Phi(q,j,b,p) + pp_Phi(q,j,p,b)) * X &
+ (ERI(q,b,p,j) - ERI(q,b,j,p)) * Y &
+ (- eh_Phi(q,j,b,p) + pp_Phi(q,j,p,b)) * X
rho(p,q,nS+ia) = (ERI(q,b,p,j) - ERI(q,b,j,p)) * Y &
+ (- eh_Phi(q,b,j,p) + pp_Phi(q,b,p,j)) * Y
end do

View File

@ -407,7 +407,7 @@ subroutine RParquet(max_it_1b,conv_1b,max_it_2b,conv_2b,nOrb,nC,nO,nV,nR,nS,eHF,
deallocate(Bpp,Cpp,Dpp,pp_trip_Gam_B,pp_trip_Gam_C,pp_trip_Gam_D)
write(*,*) '----------------------------------------'
write(*,*) ' Two-body convergence '
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

View File

@ -33,18 +33,18 @@ subroutine R_eh_singlet_screened_integral(nOrb,nC,nO,nR,nS,ERI,eh_sing_Phi,eh_tr
do b=nO+1,nOrb-nR
jb = jb + 1
do ia=1,nS
! do ia=1,nS
! X = 0.5d0*(XpY(ia,jb) + XmY(ia,jb))
! Y = 0.5d0*(XpY(ia,jb) - XmY(ia,jb))
! X = 0.5d0*(XpY(ia,jb) + XmY(ia,jb))
! Y = 0.5d0*(XpY(ia,jb) - XmY(ia,jb))
! rho(p,q,ia) = rho(p,q,ia) &
! + (2d0*ERI(p,j,q,b) - ERI(p,j,b,q))*X &
! + (2d0*ERI(p,b,q,j) - ERI(p,b,j,q))*Y &
! + 1d0*eh_sing_Gam(p,j,q,b)*X &
! + 1d0*eh_sing_Gam(p,b,q,j)*Y
! rho(p,q,ia) = rho(p,q,ia) &
! + (2d0*ERI(p,j,q,b) - ERI(p,j,b,q))*X &
! + (2d0*ERI(p,b,q,j) - ERI(p,b,j,q))*Y &
! + 1d0*eh_sing_Gam(p,j,q,b)*X &
! + 1d0*eh_sing_Gam(p,b,q,j)*Y
end do
! end do
end do
end do