MODULE hfodd_sizes IMPLICIT NONE ! ! Linear Algebra INTEGER, PARAMETER :: I_CRAY=0,IPARAL=0,IPARAT=0 ! ! General INTEGER, PARAMETER :: NDKART=3 INTEGER, PARAMETER :: NDPARI=1, NDSIMP=1, NDSIGN=1, NDREVE=1 INTEGER, PARAMETER :: NDISOS=1, NDSPIN=1, NDRHFB=1 INTEGER, PARAMETER :: NDPAHO=5 INTEGER, PARAMETER :: ND04=2, ND08=4, ND12=6, ND16=8, ND32=16, ND64=32, NDMAX=2*ND64 INTEGER, PARAMETER :: NDENES=43 ! ! HO basis: number of states, integration mesh INTEGER, PARAMETER :: NDMAIN=12, NDXMAX=NDMAIN, NDYMAX=NDMAIN, NDZMAX=NDMAIN INTEGER, PARAMETER :: NDOSCI=NDMAIN, ND0MAX=2*NDOSCI, ND1MAX=NDOSCI+2 INTEGER, PARAMETER :: ND2MAX=2*NDOSCI+2, NDBTOT=(NDOSCI+1)**3 INTEGER, PARAMETER :: NDINTE=2*NDOSCI+3, NDINT1=NDOSCI+1, NDINT2=NDOSCI+2 INTEGER, PARAMETER :: NDPERP=NDMAIN INTEGER, PARAMETER :: NDTRAN=((NDMAIN+1)*(NDMAIN+2)*(NDMAIN+3))/6 INTEGER, PARAMETER :: NDBASE=455, NDBASD=4*NDBASE INTEGER, PARAMETER :: NDBASP=NDBASE/2+MAX(20,NDBASE/12) INTEGER, PARAMETER :: NDSTAT=455 INTEGER, PARAMETER :: NDDATA=2*NDSTAT*(NDISOS+1) INTEGER, PARAMETER :: NDHALF=2, NDREIM=2 INTEGER, PARAMETER :: NDXHRM=26, NDYHRM=26, NDZHRM=26 INTEGER, PARAMETER :: NDGAUS=MAX(NDXHRM,NDYHRM,NDZHRM) ! ! Densities INTEGER, PARAMETER :: NDALLD=4+8*NDKART+2*NDKART*NDKART, NDALLP=1 !INTEGER, PARAMETER :: NDALLP=4+NDKART+NDKART*NDKART INTEGER, PARAMETER :: NDTYDE=2 ! ! Various: multipoles, Coulomb, iterations, binomial coefficients, ! functional INTEGER, PARAMETER :: NDMULT=9, NDLAMB=9, NDFACT=2*NDLAMB, NDCONS=10 INTEGER, PARAMETER :: NDMULR=4, NDMULM=(NDMULR+1)**2 INTEGER, PARAMETER :: NDDERI=2, NDSCAL=1 INTEGER, PARAMETER :: NDCOUL=80, NDPOLS=25, NDNETA=NDCOUL INTEGER, PARAMETER :: ND_COU=20, NDCOTY=7 INTEGER, PARAMETER :: NDYUKA=6, NDYUTY=2 INTEGER, PARAMETER :: NDGOGA=2, NDFORC=4, NDREGA=4 INTEGER, PARAMETER :: NDITER=5000, NDTERM=15 INTEGER, PARAMETER :: NDSHIF=100, NDSMTH=20 INTEGER, PARAMETER :: NDBINO=2*NDOSCI INTEGER, PARAMETER :: NDFACR=MAX(2*NDOSCI+7,NDGAUS) INTEGER, PARAMETER :: NDCOUP=24, NDCOUT=30, NDVIOL=32 INTEGER, PARAMETER :: NDJMAX=70, NDJMXD=2*NDJMAX INTEGER, PARAMETER :: NFIRST=1, NLAST=40000 INTEGER, PARAMETER :: NDSUBR=100, NDCOLU=4 INTEGER, PARAMETER :: MV25=150 INTEGER, PARAMETER :: NDNUCL=1 INTEGER, PARAMETER :: NDSEAR=10 INTEGER, PARAMETER :: ND_PRO=140, ND_NEU=250 ! ! Projection INTEGER, PARAMETER :: NDAKNO=1, NDBKNO=1 INTEGER, PARAMETER :: NDASAV=(1-IPARAL)*NDAKNO+IPARAL INTEGER, PARAMETER :: NDPROI=2, NDPROT=20, NDPROD=(NDPROI+1)*(NDPROT+1) !INTEGER, PARAMETER :: NDPROI=0, NDPROT=20, NDPROD=50 INTEGER, PARAMETER :: NDPROK=(NDPROI/2+1)**2 INTEGER, PARAMETER :: NDPROM=((NDPROI+1)*(NDPROI+2)*(NDPROI+3))/6 INTEGER, PARAMETER :: NUMCOL=70 INTEGER, PARAMETER :: NDATKN=20,NDBTKN=20 INTEGER, PARAMETER :: NDASAT=(1-IPARAT)*NDATKN+IPARAT !INTEGER, PARAMETER :: NDISOM=1771) INTEGER, PARAMETER :: NDISOM=((NDPROT+1)*(NDPROT+2)*(NDPROT+3))/6 !========================================================================= ! INTEGER, PARAMETER NDREDU BELOW IS EQUAL TO THE MINIMUM NECESSARY VALUE !========================================================================= ! INTEGER, PARAMETER !* (NDREDU=NDPROK*(NDMULR+1)*NDPROK) !========================================================================= ! INTEGER, PARAMETER NDREDU BELOW IS EQUAL TO THE MINIMUM SUFFICIENT VALUE ! WHICH HAS BEEN OBTAINED BY FITTING THE VALUES CALCULATED FOR ! NDMULR=4 WITH A 3RD-ORDER POLYNOMIAL, SEE THE ANALYSIS IN THE ! FILE HF222K.XLS OF 10/02/06 !========================================================================= INTEGER, PARAMETER :: NDREDU=5*((((NDPROI+2)*NDPROI-5)*NDPROI+32))/2 INTEGER, PARAMETER :: NDCONF=100,NDKERN=20,NDRZUT=20,ND_EXC=20 INTEGER, PARAMETER :: NDISOK=(NDPROT+1)**2 INTEGER, PARAMETER :: NDALIB=13 INTEGER, PARAMETER :: NDORDE=6 END MODULE hfodd_sizes