mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-16 03:38:05 +01:00
214 lines
10 KiB
Plaintext
Executable File
214 lines
10 KiB
Plaintext
Executable File
implicit none
|
|
C General
|
|
logical cs,spatial,rhf,mr,eomcc,eomroute,left,leftroute,lfvo
|
|
logical densroute,lc3,col,hess,ptroute,ccroute,l1route,l2route
|
|
logical l3route,d1route,d2route,lgen,t1route,t2route,nmr,eomgrad
|
|
logical zroute,dbroute,osc,dipm,fdpci,lcc,ss1route,ss2route,pleft
|
|
logical ss3route,third,ds1route,ds2route,dt1route,dt2route,optrec
|
|
logical dsroute,dtroute,q5inp
|
|
integer iout
|
|
integer ptmax,npropmax
|
|
parameter(ptmax=10,npropmax=20)
|
|
character*32 outfilename, output_folder
|
|
character*512 wdir
|
|
logical del_wdir
|
|
common /outunit/ iout, outfilename, output_folder
|
|
common /workdir/ wdir, del_wdir
|
|
integer icore(1),op,oo,op2,calc,imem,intmem,iarcmem,iconfmem,dens
|
|
integer iindmem,icoupmem,idiismem,intrecmem,iimem,conver,multmem
|
|
integer itspmem,wspcbmem,wspcamem,imedmem,itrecmem,int2mem,drecmax
|
|
integer istrmem,itransmem,istrc,isympmem,iucvmem,itamem,itarecmem
|
|
integer iwamem,isamem,iswmem,multip,nroot,nfile,iroot,irecmax,mrop
|
|
integer mrop1,op1,mrop2,nactmax,wspcmax,diag,ms2,noccmem,nactmem
|
|
integer nsing,ntrip,ndoub,econfmem,iearecmem,ierecmem,ptsh,ptfst
|
|
integer ccimed,eomimed,leftfst,leftimed,maxrec,densimed,denrecmem
|
|
integer iabsmem,itrec2mem,ierec2mem,itcase,maxcor,maxex,npert
|
|
integer ptsym(ptmax),nopt(ptmax),itrmem,nfroz,q5file,umatmem
|
|
integer nvfroz,nvfrozb,huzitype !HB
|
|
integer eomfst,densfst,l3fst,d2fst,t1imed,t2imed,l1imed,l2imed
|
|
integer l3imed,d1imed,d2imed,itypamem,itypbmem,isymamem,isymbmem
|
|
integer denssym,lamfile,ampfile,naopt,sacc,iordmem,ccfst,pert
|
|
integer pertroute,istrecmem,dboc,memory,rest,ssmrcc,iclsh,ihf
|
|
integer ds1imed,dt1imed,ds2imed,dt2imed,ds2fst,dt2fst,rohfdiag
|
|
integer qcc,qccop,rel,locno,nprop,wsize
|
|
character*128 method1,method2
|
|
real*8 dcore(1),maxmem,nopmax
|
|
logical mem_allocated
|
|
equivalence(dcore,icore)
|
|
common/actmem/ imem,maxcor
|
|
common/core/ dcore,maxmem,nopmax,op,oo,op2,calc,
|
|
$iimem,intmem,iarcmem,iconfmem,iucvmem,iindmem,icoupmem,ms2,dens,
|
|
$idiismem,intrecmem,itspmem,istrmem,itransmem,istrc,iroot,int2mem,
|
|
$noccmem,nactmem,conver,multmem,nsing,ntrip,ndoub,econfmem,itrecmem
|
|
$,iearecmem,ierecmem,ccimed,eomimed,leftfst,leftimed,maxrec,
|
|
$densimed,isympmem,itamem,itarecmem,iwamem,isamem,iswmem,multip,
|
|
$nroot,nfile,irecmax,mrop,mrop1,diag,op1,mrop2,nactmax,wspcmax,
|
|
$denrecmem,drecmax,iabsmem,itrec2mem,ierec2mem,itcase,maxex,
|
|
$ptsym,ptsh,eomfst,densfst,l3fst,d2fst,t1imed,t2imed,l1imed,l2imed,
|
|
$l3imed,d1imed,d2imed,itypamem,itypbmem,isymamem,isymbmem,ptfst,
|
|
$nopt,naopt,denssym,lamfile,ampfile,imedmem,wspcbmem,wspcamem,sacc,
|
|
$iordmem,ccfst,pertroute,istrecmem,pert,dboc,memory,rest,locno,
|
|
$nprop,wsize,huzitype,nvfroz,nvfrozb,
|
|
$method1,method2,ssmrcc,iclsh,ihf,ds1imed,dt1imed,ds2imed,dt2imed,
|
|
$ds2fst,dt2fst,npert,itrmem,nfroz,q5file,rohfdiag,qcc,qccop,rel,
|
|
$umatmem,
|
|
$cs,spatial,rhf,mr,eomcc,eomroute,left,leftroute,lfvo,
|
|
$densroute,lc3,col,hess,ptroute,ccroute,l1route,l2route,l3route,
|
|
$d1route,d2route,lgen,t1route,t2route,nmr,eomgrad,zroute,dbroute,
|
|
$osc,dipm,fdpci,lcc,ss1route,ss2route,ss3route,pleft,third,
|
|
$ds1route,ds2route,dt1route,dt2route,dsroute,dtroute,optrec,q5inp,
|
|
$mem_allocated
|
|
C
|
|
integer nbasis,nvirt,nocc,nvirtal,nvirtbe,nal,nbe,nelec,maxit
|
|
integer ntot,iivirt,iiocc,nactv,nacto,ncore,nbset,nbsetmax
|
|
integer i1,i2,i3,i4,iactsumind(-7:4),id1,id2,id3,id4,id5,id6,id7
|
|
integer id8,trecmax,istr1,istr2,nit,ndiis,ndit,ifirstdiis
|
|
integer ibnvirt,ibnocc,ifact,nimed,nactva,nactvb,nactoa,nactob
|
|
integer ibnvirta,ibnocca,iimed,nimed2,nimed3,i1med
|
|
real*8 tim,timold,timvold,wct,wctold,wctvold
|
|
real*8 eder,nuc,eref,ecc,emp2,tol,gene,eex,etot,ptfreq
|
|
parameter(maxit=50,ndiis=maxit,ifirstdiis=1,nbsetmax=7)
|
|
integer nbf(nbsetmax),dfnbasis
|
|
real*8 dipc(3,npropmax),dipn(3,npropmax)
|
|
character*8 propnm(npropmax)
|
|
common/gen/ tim,timold,timvold,wct,wctold,wctvold,nuc,eref,ecc,
|
|
$emp2,etot,eder,gene,eex,tol,dipc,dipn,ptfreq,propnm,nbasis,nbset,
|
|
$nvirt,nocc,ncore,nvirtal,nvirtbe,nal,nbe,nelec,nactv,nacto,nactva,
|
|
$nactvb,nactoa,nactob,ntot,iivirt,iiocc,id1,id2,id3,id4,id5,id6,
|
|
$id7,id8,i1,i2,i3,i4,trecmax,istr1,istr2,nit,ndit,ibnvirt,ibnocc,
|
|
$ifact,nimed,ibnvirta,ibnocca,iimed,nimed2,nimed3,i1med,dfnbasis,
|
|
$nbf
|
|
equivalence(i1,iactsumind(1))
|
|
C Do not use idn, n=1-8 !!!
|
|
C
|
|
integer isig1,nf,npart,ndiag,
|
|
$nintnewlen,nvirtnewlen,noccnewlen,nsum,nvirtoldallen,
|
|
$noccoldallen,noccnewallen,minvirtal2,minvirtbe2,
|
|
$nsumlen,nintoldlen,namp,minvirtal,minvirtbe,
|
|
$minoccal,minoccbe,istrv,minoccal2,minoccbe2
|
|
common/ft/ isig1,nf,npart,ndiag,
|
|
$nintnewlen,nvirtnewlen,noccnewlen,nsum,nvirtoldallen,
|
|
$noccoldallen,noccnewallen,minvirtal2,minvirtbe2,
|
|
$nsumlen,nintoldlen,namp,minvirtal,minvirtbe,
|
|
$minoccal,minoccbe,istrv,minoccal2,minoccbe2
|
|
C Files
|
|
integer inpfile,inp,ftfile,cfile,wsfile,densfile,ptfile,plfile
|
|
integer scrfile1,scrfile2,scrfile3,scrfile4,scrfile5,scrfile6
|
|
integer scrfile7,scrfile8,ssfile,scfile,snfile,stfile,tmfile
|
|
integer gfile,intfile,tfile,mpfile,diisfile,errfile,strfile,tafile
|
|
integer t1file,l2file,prfile,sdfile,lfile,dipfile,dbocfile,ifcfile
|
|
integer mrconeefile,mdcintfile,minpfile,gbasfile,tedatfile,eifile
|
|
integer mocoeffile,oeintfile,teintfile,moldenfile,keywdfile
|
|
integer varsfile,exitfile
|
|
integer idfile,outfile,cpfile,delfile
|
|
integer pidfile
|
|
parameter(inpfile=56,inp=55,scrfile1=11,scrfile2=12,scrfile3=13)
|
|
parameter(scrfile4=20,ftfile=10,gfile=14,intfile=30,tfile=16)
|
|
parameter(mpfile=23,diisfile=18,errfile=19,strfile=21,tafile=22)
|
|
parameter(cfile=17,wsfile=25,scrfile5=15,scrfile6=24,densfile=26)
|
|
parameter(ptfile=27,plfile=28,t1file=29,l2file=60,prfile=61)
|
|
parameter(sdfile=62,lfile=63,dipfile=64,dbocfile=65,ifcfile=66)
|
|
parameter(ssfile=31,scfile=32,snfile=33,stfile=34,tmfile=35)
|
|
parameter(scrfile7=67,eifile=57,mrconeefile=58,mdcintfile=59)
|
|
parameter(minpfile=68,gbasfile=69,varsfile=76,exitfile=77)
|
|
parameter(mocoeffile=70,oeintfile=71,teintfile=72,tedatfile=73)
|
|
parameter(moldenfile=74,keywdfile=75,scrfile8=78)
|
|
parameter(cpfile=962,idfile=961,outfile=960,delfile=963)
|
|
parameter(pidfile=965)
|
|
C Data
|
|
integer*1 conmax(-2:2),con(13),ex(13),nops(13)
|
|
integer twoto20,imedint(13,4)
|
|
parameter(twoto20=1048576)
|
|
data conmax /4,3,2,1,0/
|
|
data con /1,1,2,2,2,2,3,3,1,1,4,0,0/
|
|
data nops /2,2,2,4,4,4,4,4,4,4,4,2,4/
|
|
data imedint /1,0,1,2,0,1,2,1,1,0,2,0,0,
|
|
$ 0,1,1,0,2,1,1,2,0,1,2,0,0,
|
|
$ 1,0,0,2,0,1,1,0,2,1,0,1,2,
|
|
$ 0,1,0,0,2,1,0,1,1,2,0,1,2/
|
|
C Machine dependent parameters
|
|
integer iintln,ifltln,iintfp,iintiint
|
|
c iintfp may be 1 or 2!
|
|
#if defined (INT64)
|
|
parameter(iintln=8,ifltln=8,iintfp=1,iintiint=1)
|
|
#else
|
|
parameter(iintln=4,ifltln=8,iintfp=2,iintiint=2)
|
|
#endif
|
|
real*8 floph
|
|
c parameter(floph=100000000000.d0,memory=100000.d0*twoto20/ifltln)
|
|
parameter(floph=100000000000.d0)
|
|
integer ibufln,iibufln,irecln,ibfexp,recmax
|
|
C ibfexp may not be lower than 2 (ibuf(3) is used)
|
|
parameter(ibfexp=9,ibufln=2**ibfexp,irecln=ifltln*ibufln)
|
|
parameter(iibufln=iintfp*ibufln)
|
|
real*8 ibuf(ibufln),ibuf1(ibufln),ibuf2(ibufln),ibuf3(ibufln)
|
|
common /machsp/ recmax
|
|
C Symmetry part
|
|
integer nirmax,nir,isym,isy1,isy2,ir,nr5,nr4,nr3,nr2,nrr,refsym
|
|
integer insym
|
|
parameter(nirmax=8)
|
|
integer mosymmem,nirrep,nirmap(nirmax),multpg(nirmax,nirmax)
|
|
integer mult(nirmax,nirmax),isympair(nirmax,nirmax,2)
|
|
integer iconj(nirmax),nconj(nirmax),csympair(nirmax,nirmax,2)
|
|
integer dsympair(nirmax,nirmax,2)
|
|
data multpg /1,2,3,4,5,6,7,8,
|
|
$ 2,1,4,3,6,5,8,7,
|
|
$ 3,4,1,2,7,8,5,6,
|
|
$ 4,3,2,1,8,7,6,5,
|
|
$ 5,6,7,8,1,2,3,4,
|
|
$ 6,5,8,7,2,1,4,3,
|
|
$ 7,8,5,6,3,4,1,2,
|
|
$ 8,7,6,5,4,3,2,1/
|
|
common/symmetry/ isympair,csympair,dsympair,mult,iconj,nconj,
|
|
$nirmap,mosymmem,nir,isym,isy1,isy2,ir,nr5,nr4,nr3,nr2,nrr,refsym,
|
|
$nirrep,insym
|
|
C Parallelization
|
|
integer thrd,xyzcount,xyzsize,xyzsiz1
|
|
integer rank,mpicount,mpisize,mpisiz1
|
|
common/para/ thrd,xyzcount,xyzsize,xyzsiz1,
|
|
$ rank,mpicount,mpisize,mpisiz1
|
|
#if defined (MPI)
|
|
include 'mpif.h'
|
|
#endif
|
|
integer mpierr,tag,mpibfl,master_rank,bcast_comm
|
|
logical master_thread ! current process is the master thread
|
|
logical inbcast ! prosess should write files
|
|
common/mpi/ bcast_comm,mpierr,tag,master_rank,master_thread,
|
|
$ inbcast
|
|
parameter(mpibfl=2**17)
|
|
#if defined(OMP)
|
|
integer OMP_GET_NUM_THREADS,OMP_GET_THREAD_NUM
|
|
real*8 ompmem
|
|
common/omp/ ompmem
|
|
#endif
|
|
C Physical constants
|
|
integer natmax
|
|
real*8 planck,clight,navogadro,angtobohr,pi,jtoeh,evtoeh,cmtoeh
|
|
real*8 coulomb,amutokg,boltz,kjmtoeh,echesu,kcaltokj
|
|
parameter(natmax=118) !Maximum number of elements
|
|
parameter(planck=6.62606957d0) !Planck's constant/1d-34
|
|
parameter(clight=2.99792458d0) !Speed of light/1d10
|
|
parameter(navogadro=6.0221413d0) !Avogadro's number/1d23
|
|
parameter(coulomb=1.60217657d0) !Elementary charge/1d-19
|
|
parameter(angtobohr=0.52917721067d0) !Angstrom to bohr conv. fact.
|
|
parameter(jtoeh=4.35974465d0) !Joule to Hartree conv. fact./1d-18
|
|
parameter(evtoeh=10.d0*jtoeh/coulomb)!eV to Hartree conv. fact
|
|
parameter(cmtoeh=1d6*jtoeh/(planck*clight))!cm^-1 to Hartree conv.
|
|
parameter(amutokg=1.66053873d0) !AMU to kg conv. fact./1d-27
|
|
parameter(boltz=1.38064852d0) !Boltzmann constant/1d-23
|
|
parameter(echesu=4.803204d0) !Electron charge ESU/1d-10
|
|
parameter(kjmtoeh=jtoeh*navogadro*1d2)!kJ/mol to Hartree conv.fac.
|
|
parameter(kcaltokj=4.184d0) !kcal to kJ
|
|
parameter(pi=3.14159265358979323846264338327950288419716939938d0)
|
|
C Multiple precision arithmetic for Boys function
|
|
integer arrs
|
|
parameter(arrs=80)
|
|
C Variables for the CCSD code
|
|
integer bsymmv(nirmax+1),symmocc(nirmax)
|
|
integer dgroup
|
|
integer vfile,vinfo
|
|
parameter(vfile=708,vinfo=808)
|
|
integer tinfo
|
|
parameter(tinfo=816)
|
|
C
|