C C See eq. 9.4 of Kris Heyde, "The Nuclear Shell Model", Springer-Verlag, C 1994. C PROGRAM SLATMAT REAL NU REAL INT1,INT2 DIMENSION N(10),L(10) COMMON/VN07CB/NU,AKNL(4,4,8),ANL(4,8),INT1(20),INT2(20) C C SLATMAT MAKES A LIST OF SLATER INTEGRALS C CALL VN07AL WRITE(3,360)NU 360 FORMAT(1H ,'NU=',F10.8/) READ(1,1)IMAX,VEFF 1 FORMAT(I2,F7.2) WRITE(3,7)IMAX,VEFF 7 FORMAT(1H ,'MAX',I4,'VEFF',F10.5/) DO 2 I=1,IMAX READ(1,3)N(I),L(I) WRITE(3,4)N(I),L(I) 3 FORMAT(2I2) 4 FORMAT(1H ,'N',I4,'L',I4) 2 CONTINUE C C C DO 5 I=1,IMAX DO 5 J=I,IMAX DO 5 K=1,IMAX DO 5 M=K,IMAX IF(10*I+J.GT.10*K+M)GOTO 5 IF((-1)**(L(I)+L(J)).NE.(-1)**(L(K)+L(M)))GOTO 5 NA=N(I)-1 NB=N(J)-1 NC=N(K)-1 ND=N(M)-1 LA=L(I) LB=L(J) LC=L(K) LD=L(M) X=SLATER(NA,LA,NB,LB,NC,LC,ND,LD)*VEFF WRITE(3,6)N(I),LA,N(J),LB,N(K),LC,N(M),LD,X 6 FORMAT(1H ,'<',4I3,'|V|',4I3,'>',F10.5) 5 CONTINUE STOP END FUNCTION SLATER(NI,LI,NII,LII,NK,LK,NKK,LKK) C C FUNCTION SUBPROGRAM CALCULATES SLATER-INTEGRALS FOR A DELTA FORCE C C USING FOUR RADIAL HARMONIC OSCILLATOR WAVEFUNCTIONS WITH QUANTUM- C NUMBERS (NI,LI),(NII,LII),(NK,LK),(NKK,LKK) WHERE N=0,1,2,3. C C (NI,LI),(NII,LII),(NK,LK),(NKK,LKK): THE FOUR SETS OF QUANTUM C NUMBERS OF THE 4 RADIAL WAVE FUNCTIONS WITH N=0,1,2,3 AND C L=0,1,2,3,4,5,6,7 C INT: THE SLATER-INTEGRAL (INCLUDING DIVISION BY 4*PI ) C COMMON/VN07CB/NU,AKNL(4,4,8),ANL(4,8),INT1(20),INT2(20) REAL NU REAL INT1,INT2 ROM=0. L=LI+LII+LK+LKK NI1=NI+1 NII1=NII+1 NK1=NK+1 NKK1=NKK+1 LI1=LI+1 LII1=LII+1 LK1=LK+1 LKK1=LKK+1 L1=(L+1)/2 IF(L/2.EQ.L/2.) GO TO 1 DO 2 I=1,NI1 DO 2 II=1,NII1 DO 2 K=1,NK1 DO 2 KK=1,NKK1 L2=L1+I+II+K+KK-4 2 ROM=ROM+AKNL(I,NI1,LI1)*AKNL(II,NII1,LII1)*AKNL(K,NK1,LK1)*AKNL(KK 1,NKK1,LKK1)*INT1(L2) GO TO 3 1 DO 4 I=1,NI1 DO 4 II=1,NII1 DO 4 K=1,NK1 DO 4 KK=1,NKK1 L2=L/2+I+II+K+KK-3 4 ROM=ROM+AKNL(I,NI1,LI1)*AKNL(II,NII1,LII1)*AKNL(K,NK1,LK1)*AKNL(KK 1,NKK1,LKK1)*INT2(L2) 3 SOM=ROM SLATER=ANL(NI1,LI1)*ANL(NII1,LII1)*ANL(NK1,LK1)*ANL(NKK1,LKK1)*SOM 1*(2*NU)**1.5/78.95683523 RETURN END SUBROUTINE VN07AL C C SUBROUTINE THAT CALCULATES A NUMBER OF COEFFICIENTS NECESSARY WHEN C CALCULATING THE SLATER INTEGRALS C C FAK1(N),N=1,4: FAK1(N)=(N-1)! C FAK2(N),N=1,11: FAK2(N)=(2N-1)!! C ANL(N,L),N=1,4, L=1,8: C ANL(N,L)=SQRT(2**(L-N+2)*(2*NU)**(L+1/2)*(2L+2N-3)!!)/SQRT(SQRT(PI) C *((2L-1)!!)**2*(N-1)!) C AKNL(K,N,L),K=1,4, N=1,4, L=1,8: C AKNL(K,N,L)=(-2)**(K-1)*(N-1)!*(2L-1)!!/(K-1)!*(N-K)!*(2L+2K-3)!!) C INT1(I),I=1,20: INT1(I)=I!/2**(I+1) C INT2(I),I=1,20: INT2(I)=SQRT(PI)*(2I-1)!!/2**(2I+1/2) C NU=M*OMEGA/2*H-BAAR C REAL NU REAL INT1,INT2 COMMON/VN07CB/NU,AKNL(4,4,8),ANL(4,8),INT1(20),INT2(20) DIMENSION FAK1(21),FAK2(20) READ(1,1) NU 1 FORMAT(F10.8) FAK1(1)=1. DO 2 IR=1,20 2 FAK1(IR+1)=FAK1(IR)*IR FAK2(1)=1. DO 3 IR=1,19 3 FAK2(IR+1)=FAK2(IR)*(2*IR+1) DO 4 N=1,4 DO 4 L=1,8 LNS=L+N F1=FAK2(LNS-1)/(FAK2(L)**2*FAK1(N)) ANL(N,L)=SQRT(2.**(L-N+2.)*F1) DO 4 K=1,N KNS=N-K LKS=L+K 4 AKNL(K,N,L)=(-2)**(K-1)*FAK1(N)*FAK2(L)/(FAK1(K)*FAK1(KNS+1)*FAK2( 1LKS-1)) DO 5 I=1,20 INT1(I)=FAK1(I+1)/2**(I+1) 5 INT2(I)=1.25331413731550*FAK2(I)/4.**I RETURN END C THIS IS A COMMAND FILE THAT EXECUTES THE SLATER INTEGRALS C $ KRIS $ ASSIGN SYS$INPUT FOR001 $ ASSIGN SYS$OUTPUT FOROO3 $ RUN SLATMAT.EXE 0.1 10 100.00 1 0 1 1 2 0 1 2 2 1 1 3 3 0 2 2 1 4 1 5