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:
parent
0b56a1a94c
commit
767257d107
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user