mirror of
https://github.com/pfloos/quack
synced 2025-04-25 01:34:57 +02:00
fix read of dipole integrals
This commit is contained in:
parent
1e0ed28f67
commit
e40af1b54e
@ -166,7 +166,7 @@ subroutine RGW(dotest,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,maxSCF,thresh,max_dii
|
||||
! Perform CC-based G0W0 calculation
|
||||
!------------------------------------------------------------------------
|
||||
|
||||
doccG0W0 = .true.
|
||||
doccG0W0 = .false.
|
||||
|
||||
if(doccG0W0) then
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
subroutine phLR_oscillator_strength(nOrb,nC,nO,nV,nR,nS,maxS,dipole_int,Om,XpY,XmY,os)
|
||||
|
||||
! Compute linear response
|
||||
! Compute oscillator strength from a ph linear response calculation
|
||||
|
||||
implicit none
|
||||
include 'parameters.h'
|
||||
|
@ -1,4 +1,4 @@
|
||||
subroutine phLR_transition_vectors(spin_allowed,nBas,nC,nO,nV,nR,nS,dipole_int,Om,XpY,XmY)
|
||||
subroutine phLR_transition_vectors(spin_allowed,nOrb,nC,nO,nV,nR,nS,dipole_int,Om,XpY,XmY)
|
||||
|
||||
! Print transition vectors for linear response calculation
|
||||
|
||||
@ -8,13 +8,13 @@ subroutine phLR_transition_vectors(spin_allowed,nBas,nC,nO,nV,nR,nS,dipole_int,O
|
||||
! Input variables
|
||||
|
||||
logical,intent(in) :: spin_allowed
|
||||
integer,intent(in) :: nBas
|
||||
integer,intent(in) :: nOrb
|
||||
integer,intent(in) :: nC
|
||||
integer,intent(in) :: nO
|
||||
integer,intent(in) :: nV
|
||||
integer,intent(in) :: nR
|
||||
integer,intent(in) :: nS
|
||||
double precision :: dipole_int(nBas,nBas,ncart)
|
||||
double precision :: dipole_int(nOrb,nOrb,ncart)
|
||||
double precision,intent(in) :: Om(nS)
|
||||
double precision,intent(in) :: XpY(nS,nS)
|
||||
double precision,intent(in) :: XmY(nS,nS)
|
||||
@ -37,7 +37,7 @@ subroutine phLR_transition_vectors(spin_allowed,nBas,nC,nO,nV,nR,nS,dipole_int,O
|
||||
! Compute oscillator strengths
|
||||
|
||||
os(:) = 0d0
|
||||
if(spin_allowed) call phLR_oscillator_strength(nBas,nC,nO,nV,nR,nS,maxS,dipole_int,Om,XpY,XmY,os)
|
||||
if(spin_allowed) call phLR_oscillator_strength(nOrb,nC,nO,nV,nR,nS,maxS,dipole_int,Om,XpY,XmY,os)
|
||||
|
||||
! Print details about excitations
|
||||
|
||||
@ -61,7 +61,7 @@ subroutine phLR_transition_vectors(spin_allowed,nBas,nC,nO,nV,nR,nS,dipole_int,O
|
||||
|
||||
jb = 0
|
||||
do j=nC+1,nO
|
||||
do b=nO+1,nBas-nR
|
||||
do b=nO+1,nOrb-nR
|
||||
jb = jb + 1
|
||||
if(abs(X(jb)) > thres_vec) write(*,'(I3,A4,I3,A3,F10.6)') j,' -> ',b,' = ',X(jb)/sqrt(2d0)
|
||||
end do
|
||||
@ -69,7 +69,7 @@ subroutine phLR_transition_vectors(spin_allowed,nBas,nC,nO,nV,nR,nS,dipole_int,O
|
||||
|
||||
jb = 0
|
||||
do j=nC+1,nO
|
||||
do b=nO+1,nBas-nR
|
||||
do b=nO+1,nOrb-nR
|
||||
jb = jb + 1
|
||||
if(abs(Y(jb)) > thres_vec) write(*,'(I3,A4,I3,A3,F10.6)') j,' <- ',b,' = ',Y(jb)/sqrt(2d0)
|
||||
end do
|
||||
|
@ -198,6 +198,8 @@ program QuAcK
|
||||
call read_dipole_integrals(working_dir,nBas,dipole_int_AO)
|
||||
call wall_time(end_int)
|
||||
|
||||
call matout(nBas,nBas,dipole_int_AO(:,:,1))
|
||||
|
||||
t_int = end_int - start_int
|
||||
write(*,*)
|
||||
write(*,'(A65,1X,F9.3,A8)') 'Total wall time for reading 1e-integrals = ',t_int,' seconds'
|
||||
|
@ -183,7 +183,7 @@ subroutine RQuAcK(working_dir,use_gpu,dotest,doRHF,doROHF,dostab,dosearch,doMP2,
|
||||
write(*,*)
|
||||
|
||||
! Read and transform dipole-related integrals
|
||||
|
||||
|
||||
do ixyz=1,ncart
|
||||
call AOtoMO(nBas,nOrb,cHF,dipole_int_AO(1,1,ixyz),dipole_int_MO(1,1,ixyz))
|
||||
end do
|
||||
|
@ -39,7 +39,8 @@ subroutine read_dipole_integrals(working_dir,nBas,R)
|
||||
else
|
||||
|
||||
do
|
||||
read(21, '(I7, I7, E25.17)', iostat=ios) mu, nu, Dip
|
||||
read(21, *, iostat=ios) mu, nu, Dip
|
||||
! read(21, '(I7, I7, E25.17)', iostat=ios) mu, nu, Dip
|
||||
if(ios /= 0) exit
|
||||
R(mu,nu,1) = Dip
|
||||
R(nu,mu,1) = Dip
|
||||
@ -62,7 +63,8 @@ subroutine read_dipole_integrals(working_dir,nBas,R)
|
||||
else
|
||||
|
||||
do
|
||||
read(22, '(I7, I7, E25.17)', iostat=ios) mu, nu, Dip
|
||||
read(22, *, iostat=ios) mu, nu, Dip
|
||||
! read(22, '(I7, I7, E25.17)', iostat=ios) mu, nu, Dip
|
||||
if(ios /= 0) exit
|
||||
R(mu,nu,2) = Dip
|
||||
R(nu,mu,2) = Dip
|
||||
@ -85,7 +87,8 @@ subroutine read_dipole_integrals(working_dir,nBas,R)
|
||||
else
|
||||
|
||||
do
|
||||
read(23, '(I7, I7, E25.17)', iostat=ios) mu, nu, Dip
|
||||
read(23, *, iostat=ios) mu, nu, Dip
|
||||
! read(23, '(I7, I7, E25.17)', iostat=ios) mu, nu, Dip
|
||||
if(ios /= 0) exit
|
||||
R(mu,nu,3) = Dip
|
||||
R(nu,mu,3) = Dip
|
||||
|
Loading…
x
Reference in New Issue
Block a user