mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-16 11:48:06 +01:00
59 lines
1.6 KiB
Fortran
Executable File
59 lines
1.6 KiB
Fortran
Executable File
! Set some necessary variables for the integral calculations
|
|
! nzipr(0:nprimmax)=0
|
|
nc12=nispher*nkspher
|
|
ccontr=nicontr*nkcontr
|
|
kkan=katoms+kang*natoms
|
|
nckl=nc12*nkcontr
|
|
nc121=nc12-1
|
|
nckl1=nckl-1
|
|
! Allocate memory
|
|
imem=premem
|
|
it5=imem
|
|
imem=imem+nc12*ccontr
|
|
it2=imem
|
|
imem=imem+nc12*nkprim
|
|
it4=imem
|
|
imem=imem+nc12*nkcontr*niprim
|
|
if(max(imem,imem+nc12)-imem1.gt.maxcor) then
|
|
write(iout,*)
|
|
write(iout,*) 'Insufficient memory for integral calculation! '
|
|
write(iout,*) 'Increase the memory available to the program '
|
|
write(iout,*) 'or run integral-direct calculations! '
|
|
call mrccend(1)
|
|
endif
|
|
! Loop over primitives
|
|
ptol=itol/dfloat(max(1,niprim*nkprim))
|
|
nzip=0
|
|
cf0=cf(0)
|
|
do iprim=1,niprim
|
|
a=gexpi(iprim)
|
|
jlength=it4+(iprim-1)*nckl
|
|
p=a
|
|
rp=1.d0/p
|
|
xpa=0.d0
|
|
ypa=0.d0
|
|
zpa=0.d0
|
|
xpq=ax-cx
|
|
ypq=ay-cy
|
|
zpq=az-cz
|
|
norm2=34.98683665524972569252564335974310d0*rp
|
|
rp=0.5d0*rp
|
|
argij=p*(xpq**2+ypq**2+zpq**2)
|
|
nzkp=0
|
|
! nzkpr(0:nprimmax)=0
|
|
do kprim=1,nkprim
|
|
ij=it2+nc12*(kprim-1)
|
|
c=gexpk(kprim)
|
|
psq=1.d0/(p+c)
|
|
alp=c*psq
|
|
alq=p*psq
|
|
norm=norm2*dsqrt(psq)/c
|
|
arg=alp*argij
|
|
! Prescreening: (ab|c) =< (00|0)
|
|
tt0_0=norm*cf0*arg**(-0.5d0)
|
|
if(dabs(tt0_0).gt.ptol) then
|
|
nzkp=nzkp+1
|
|
nzkpr(nzkp)=kprim
|
|
! nzkpr(kprim)=1
|
|
! Boys function
|