From 67cd8a1b09e335b8e74ba4703deaf39882075c95 Mon Sep 17 00:00:00 2001 From: "Ryan@Home" Date: Thu, 16 Jan 2025 23:18:01 -0500 Subject: [PATCH] added DWUCK4 source code, no UI implemented for it --- .gitignore | 1 + dwuck4/ADWCK4.FOR | 1075 ++++++++++++++++++++++++++++++++++++++ dwuck4/BDWCK4.FOR | 564 ++++++++++++++++++++ dwuck4/CDWCK4.FOR | 813 ++++++++++++++++++++++++++++ dwuck4/CompileAndTest.sh | 18 + dwuck4/DW4TST.DAT | 133 +++++ dwuck4/DW4UNIX.F | 127 +++++ dwuck4/DWUCK4 | Bin 0 -> 191656 bytes dwuck4/DWUCK4.FOR | 99 ++++ dwuck4/culib4/ANGMOM.FOR | 250 +++++++++ dwuck4/culib4/BIND.FOR | 443 ++++++++++++++++ dwuck4/culib4/COU.FOR | 201 +++++++ dwuck4/culib4/DSTRIP.FOR | 278 ++++++++++ dwuck4/culib4/DWPLOT.FOR | 81 +++ dwuck4/culib4/FNLOC5.FOR | 74 +++ dwuck4/culib4/GAUSSR.FOR | 83 +++ dwuck4/culib4/LEGAUS.FOR | 43 ++ dwuck4/culib4/LGNDR.FOR | 38 ++ dwuck4/culib4/POLFCT.FOR | 287 ++++++++++ dwuck4/culib4/POTS.FOR | 812 ++++++++++++++++++++++++++++ dwuck4/culib4/SLATER.FOR | 135 +++++ dwuck4/culib8/ANGMOM.FOR | 249 +++++++++ dwuck4/culib8/BIND.FOR | 443 ++++++++++++++++ dwuck4/culib8/COU.FOR | 201 +++++++ dwuck4/culib8/DSTRIP.FOR | 264 ++++++++++ dwuck4/culib8/DWPLOT.FOR | 82 +++ dwuck4/culib8/ELSIG.FOR | 168 ++++++ dwuck4/culib8/FNLOC5.FOR | 64 +++ dwuck4/culib8/GAUSSR.FOR | 84 +++ dwuck4/culib8/LEGAUS.FOR | 48 ++ dwuck4/culib8/LGNDR.FOR | 50 ++ dwuck4/culib8/POLFCT.FOR | 326 ++++++++++++ dwuck4/culib8/POTS.FOR | 726 +++++++++++++++++++++++++ dwuck4/culib8/SLATER.FOR | 137 +++++ dwuck4/dw4_doc.pdf | Bin 0 -> 208433 bytes 35 files changed, 8397 insertions(+) create mode 100644 dwuck4/ADWCK4.FOR create mode 100644 dwuck4/BDWCK4.FOR create mode 100644 dwuck4/CDWCK4.FOR create mode 100755 dwuck4/CompileAndTest.sh create mode 100644 dwuck4/DW4TST.DAT create mode 100644 dwuck4/DW4UNIX.F create mode 100755 dwuck4/DWUCK4 create mode 100644 dwuck4/DWUCK4.FOR create mode 100644 dwuck4/culib4/ANGMOM.FOR create mode 100644 dwuck4/culib4/BIND.FOR create mode 100644 dwuck4/culib4/COU.FOR create mode 100644 dwuck4/culib4/DSTRIP.FOR create mode 100644 dwuck4/culib4/DWPLOT.FOR create mode 100644 dwuck4/culib4/FNLOC5.FOR create mode 100644 dwuck4/culib4/GAUSSR.FOR create mode 100644 dwuck4/culib4/LEGAUS.FOR create mode 100644 dwuck4/culib4/LGNDR.FOR create mode 100644 dwuck4/culib4/POLFCT.FOR create mode 100644 dwuck4/culib4/POTS.FOR create mode 100644 dwuck4/culib4/SLATER.FOR create mode 100644 dwuck4/culib8/ANGMOM.FOR create mode 100644 dwuck4/culib8/BIND.FOR create mode 100644 dwuck4/culib8/COU.FOR create mode 100644 dwuck4/culib8/DSTRIP.FOR create mode 100644 dwuck4/culib8/DWPLOT.FOR create mode 100644 dwuck4/culib8/ELSIG.FOR create mode 100644 dwuck4/culib8/FNLOC5.FOR create mode 100644 dwuck4/culib8/GAUSSR.FOR create mode 100644 dwuck4/culib8/LEGAUS.FOR create mode 100644 dwuck4/culib8/LGNDR.FOR create mode 100644 dwuck4/culib8/POLFCT.FOR create mode 100644 dwuck4/culib8/POTS.FOR create mode 100644 dwuck4/culib8/SLATER.FOR create mode 100644 dwuck4/dw4_doc.pdf diff --git a/.gitignore b/.gitignore index aabe181..3d527ec 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ __pycache__ IAEA_NuclearData.csv *.txt +*.o diff --git a/dwuck4/ADWCK4.FOR b/dwuck4/ADWCK4.FOR new file mode 100644 index 0000000..1ecb4e3 --- /dev/null +++ b/dwuck4/ADWCK4.FOR @@ -0,0 +1,1075 @@ +c$debug +c*********************************************************************** + SUBROUTINE ADWUCK4 +c +c Control program for first portion of DWUCK4 which reads in data +c and calculates the form factors +c*********************************************************************** +c + parameter(ispc0 = 4010, ispc1 = 8000, ispc2 = 8000) + IMPLICIT REAL*8(A-H,O-Z) + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC,IBUFF,IWORD,ILINE,JLINE + Common/array0/space0(ispc0) + Common/array1/space1(ispc1) + Common/array2/space2(ispc2) + DIMENSION U(800,2), V(800,2), UB(800), FF(10), VB(800) + EQUIVALENCE (space0( 1), U ), (space0(1601), V) + 1 ,(space0(3201), UB), (space0(4001), FF) + 2 ,(space1( 1), VB) +C + IF(ICON(1).EQ.0) then +c +c Use standard angle data +c + II=(ANGLE(1)-ANGLE(2))/ANGLE(3)+1.0 + IF(II.LT.0) II=0 + ANGLE(1)=II + else +C +C READ CARD SET 2, Angle data +c + READ (5,9001)ANGLE + endif + WRITE(6,9010)ANGLE +C +C +C READ CARD SET 3, Angular momentum parameters +C +c L Maximum L for partial waves +c Nltr Number of angular momentum transfers +c Ltrt Orbital angular momentum transfer +c Jtrt Total angular momentum transfer +c + READ (5,9002)L,NLTR,(LTRT(I),I=1,NLTR),(JTRT(I),I=1,NLTR) + WRITE(6,9008)L ,(LTRT(I),I=1,NLTR) + WRITE(6,9009)NLTR,(JTRT(I),I=1,NLTR) + LC=0 + IF(L.LT.0) LC=IABS(L) + L=IABS(L) +C +C +C READ CARD SET 4 +c +c Drf Radial increment +c Rz Lower radial cutoff +c Rmaz Upper Radial cutoff +c Vce Coulomb excitation scale factor for inelastic scattering reactions +c Fnrng Finite range parameter for stripping reactions +c Amass Mass for scaling radial increment, if zero, then scaling automatic +c + READ (5,9001)DRF,RZ,RMAX,VCE,FNRNG,AMASS + IF(ABS(RMAX).LT.ABS(RZ)) THEN + temp=RZ + RZ=RMAX + RMAX=temp + ENDIF + WRITE(6,9011)DRF,RZ,RMAX,VCE,FNRNG + IF(AMASS.NE.0.0) WRITE(6,9012)AMASS +C default value for drf + IF(DRF.EQ.0.0) DRF=0.1 + KZ=ABS(RZ )/DRF+1.0E-08 + K =ABS(RMAX)/DRF+1.0E-08 + KC=2*((K+1)/2) + LPLUS=L+1 + IND=0 + INCR=0 + IBF(5)=0 + IBF(6)=0 + WRITE(6,'(a)')' PARTICLE DATA ' + +C +C READ IN DISTORTED WAVE INFORMATION +C +c ibf(4) is flag to shut off spins if no spin orbit potential +c + IBF(4)=0 +c Initial wave + CALL FORMF(U(1,1),V(1,1),1,0,0,IVB) + IF(IBF(4).NE.0) IBF(5)=1 + IBF(4)=0 +c Final wave + CALL FORMF(U(1,2),V(1,2),2,0,0,IVB) + IF(IBF(4).NE.0) IBF(6)=1 +C +C FORM FACTOR LOOP, up to 8 form factors may be used +C + ILINE=0 + DO 35 II=1,NLTR + IBF(4)=0 + WRITE(6,9999)ALPHA,(IDAT(I),I=1,3) + IF(ICON(3).NE.0.or.II.EQ.1) then + DO 10 I=1,800 + UB(I)=0.0 + 10 CONTINUE + ivb=0 + do 11 I=1,10 + FF(I) = 0.0 + 11 continue +c IF + IF(ICON(2).EQ.0.or.ICON(2).EQ.3) then +C +C Here for collective or single particle form factors +C + WRITE(6,'(a)')'0FORM FACTOR DATA ' + IF(RMAX.LT.0.0) K=KC +C + CALL FORMF(UB,VB,3,LTRT(II),0,IVB) + if(FK(3) .ne. 0.0) then + FF( 7)=eta(3)*fk(3) + FF( 8)=float(IVB) + FF( 9)=float(kc) + else + FK(3) = sqrt(abs(FF(5))) + IVB = FF(8) + endif +C +C HERE FOR 2 NUCLEON FORM FACTORS +C +c ELSEIF + ELSEIF(ICON(2).EQ.2.OR.ICON(2).EQ.3) THEN + CALL CATHEN(LTRT(II),JTRT(II),space2( 1),space2(1601),UB) + ELSE + write(6,'(a)')'0Warning, no form factor computed' + endif + endif +c +C L.S FORM FACTOR KLUDGE +C Move Spin-Orbit form factor to UB + IF(IVB.EQ.1) THEN + DO 14 M=1,800 + UB(M)=VB(M) + 14 CONTINUE + FF( 8)=float(ivb) + ENDIF + ISTRT(II)=IS(3) + IF(ICON(4).EQ.0.or.icon(4).eq.3) then + IWRITE=2 + call ffprint(iwrite,k,alpha,ub(1),dr(3) + 1 ,ltrt(ii),istrt(ii),jtrt(ii),idat) + endif +C + IF(ICON(3).NE.0.or.II.EQ.1) then +C Apply non-local correction to form factor + CALL FNLOC(U,V,UB,VB,LTRT(II),Z,FNRNG,K) + endif + IF(VCE.NE.0.0) then +c Store end point for Vcx (= Rmax*FF) for integration into complex R plane + ivb = 4 + FF( 1)=3.0*VCE*CHSQ*Z(3)*ZA(3) + 1 *(RC(3)/(FLOAT(KC)*DR(3)))**LTRT(II)/FLOAT(2*LTRT(II)+1) + FF( 2)=0.0 + FF( 3)=0.0 + FF( 4)=1.0 + FF( 5)=0.0 + FF( 6)=0.0 + FF( 7)=0.0 + FF( 8)=float(IVB) + if(ltrt(ii).eq.0) ff( 1)=ff( 1)/3.0 + ENDIF + IF(IVB.EQ.2.OR.IVB.EQ.4) THEN +C +C SET ERROR TRAPS FOR UNBOUND STRIPPING AND COULOMB EXCITATION CASES +C + ILINE=-1 +C RESTRICT MAX L TRANSFER IN UNBOUND STRIPPING - STORAGE LIMITED + IF(LTRT(II).GT.7) THEN + WRITE(6,9903)LTRT(II) + IBF(3)=1 + ENDIF + IF(FM(1).LT.FM(2)) THEN +C SET ERROR FLAG + IBF(3)=1 + WRITE(6,'(a)')'0ERROR * UNBOUND STATE FOR PICK UP NOT ALLOWED' + ENDIF +C + IF(IVB.EQ.2) THEN + T1=(SQRT(FLOAT(LTRT(II)*(LTRT(II)+1))+ETA(3)**2)+ETA(3))/FK(3) + IF(ABS(RMAX).LT.T1) WRITE(6,9904)T1,RMAX + ENDIF + L = FK(1)*FLOAT(KC)*DR(1) + 12.5 + IF(L.LT.LPLUS) WRITE(6,9905) +C + ENDIF +C +C STORE FF PARAMETERS FOR USE IN UNBND STRIP. AND Coulomb excitation +C +c write UB and FF onto disk + WRITE(4) UB,FF + IS(3)=ISTRT(II) + IF(IS(3).EQ.0) JTRT(II)=LTRT(II)+LTRT(II) + IND=MAX0(LTRT(II)+1,IND) + INCR=MAX0(INCR,JTRT(II)) +C + IF(ICON(4).EQ.3) then + IWRITE=1 + call ffprint(iwrite,k,alpha,ub(1),dr(3) + 1 ,ltrt(ii),istrt(ii),jtrt(ii),idat) + endif +C +C CHECK ON SPINS AND STATISTICS +C + LTR=LTRT(II) + JTR=JTRT(II) + IF(PHASEF(IS(1)+IS(2)+IS(3)).LT.0.0) GO TO 33 + IF(PHASEF( JTR+IS(3)).LT.0.0) GO TO 33 + GO TO 35 + 33 CONTINUE +C +C SET ERROR FLAG +C + IBF(3)=1 + WRITE(6,9906)IS,LTR,JTR + 35 CONTINUE +c + IF(NLTR.GT.8) IBF(3)=1 +C +C CHECK ON COMPATIBILITY OF LMAX AND STORAGE +C +C # Partial waves # Radial matrix elements + LPLUS=MIN0(LPLUS,400/(NS(1)+NS(2)),4000/(NS(1)*NS(2)*(IND+1))) + L=LPLUS-1 + LPL2=LPLUS*2 + IF(RMAX.LT.0.0) K=KC + IF(ILINE.NE.0) GO TO 40 + K=2*(K/2) + L=FK(1)*float(K)*DR(1)+4.0 + L=MIN0(LPLUS-1,L) + IF(LC.NE.0) L=MIN0(L,LC) + LPLUS=L+1 + LPL2=LPLUS*2 + 40 WRITE(6,9506)L,K,NLTR + INC=(INCR+IS(1)+IS(2))/2+1 +c # Plm's # Fll's + IBUF=MAX0(IBUF, INC*LPLUS+1, LPL2*IND+1) + IBF(1)=IBUF +C + IBF(7)=IS(1) + IF(IBF(5).NE.0) GO TO 51 + IS(1)=0 + FS(1)=0.0 + NS(1)=1 + 51 CONTINUE + IBF(8)=IS(2) + IF(IBF(6).NE.0) GO TO 52 + IS(2)=0 + FS(2)=0.0 + NS(2)=1 + 52 CONTINUE + IF(ICON(15).NE.0) THEN +C +C PRINT OUT K(R)**2 FOR DISTORTED WAVES +C + WRITE(6,9999)ALPHA,(IDAT(I),I=1,3) + DO 55 I=1,2 + DO 55 N=1,2 + IF(N.EQ.1) THEN + WRITE(6,9057)I + ELSE + WRITE(6,9058)I + ENDIF + IND=0 + R=DR(I) + DO 54 M=1,K,5 + MK=M+M-1 + MK4=MIN0(MK +9,K+K) + IF(N.EQ.1) THEN + WRITE(6,9052)R,(U(J,I),J=MK,MK4) + ELSE + WRITE(6,9052)R,(V(J,I),J=MK,MK4) + ENDIF + R=R+5.0*DR(I) + 54 CONTINUE + 55 CONTINUE + ENDIF + 56 CONTINUE + RETURN +C + 9001 FORMAT(10F8.4) + 9002 FORMAT(18I3) + 9008 FORMAT(18H0CARD SET 3 DATA ,9H LMAX =,I4,14H LTR=,8I4) + 9009 FORMAT(18H ,9H NLTR =,I4,14H 2*JTR=,8I4) + 9010 FORMAT(18H0ANGLE DATA ,9H THETN=,F9.4,9H THET1=,F9.4 + 1, 9H DTHET=,F9.4,9H A-ANG=,F9.4,9H B-ANG=,F9.4) + 9011 FORMAT(18H0CARD SET 4 DATA ,9H DRF =,F9.4,9H RZ =,F9.4 + 1, 9H RMAX =,F9.4,9H VCE =,F9.4,9H FNRNG=,F9.4) + 9012 FORMAT(18X,9H AMASS=,F9.4) + 9052 FORMAT(1H ,F6.2,1P10E12.4) + 9057 FORMAT(38H0Central K(R)**2 FOR DISTORTED WAVE,I2) + 9058 FORMAT(38H0Spin orbit K(R)**2 FOR DISTORTED WAVE,I2) + 9500 FORMAT(1P5E16.7) + 9506 FORMAT(1H0,17X,9H LMAX =,I4,14H NSTEP=,I4 + 1, 14H NLTR =,I4) +c 9803 FORMAT(1H ,16I2,4X,15A4,I2,2(1H/,I2.2),I4,2(1H.,I2.2)) + 9903 FORMAT('0ERROR ** LTR=',I3,' is too large' ) + 9904 FORMAT('0***** Warning ***** CLASSICAL TURNING POINT FOR BOUND' + 1,'STATE =',F8.4,' IS GREATER THAN RMAX =',F8.4) + 9905 FORMAT('0***** Warning ***** LMAX too large for reliable ' + 1,'calculation of unbound stripping or coulomb excitation cases.' + 2,' Increase RMAX ') + 9906 FORMAT(1H0,28HSPIN STATISTICS NOT CORRECT ,7H 2*IS1=,I3,7H 2*IS2= + 1,I3,7H 2*IS3=,I3,7H LTR=,I3,7H 2*JTR=,I3) + 9999 FORMAT(1H1,15A4,I4,2(1H/,I2),I4,2(1H.,I2)) + END + +c*********************************************************************** + subroutine ffprint(ii,k,alpha,ub,drf,ltrt,istrt,jtrt,idat) +C +C Prints form factor +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + dimension ub(800),idat(6),alpha(15) +c + if(ii.eq.1) then + WRITE(6,9999)ALPHA,(IDAT(I),I=1,3) + endif + R=DRF + WRITE(6,9100)LTRT,ISTRT,JTRT + WRITE(6,9101) + DO 3006 M=1,K,5 + MK=M+M-1 + MK4=MIN0(MK+9,K+K) + WRITE(6,9052)R ,(UB(N),N=MK,MK4) + R=R+5.0*DRF + 3006 CONTINUE + return + 9052 FORMAT(1H ,F6.2,1P10E12.4) + 9100 FORMAT(12H0FORM FACTOR,6X,9H LTR =,I4,5X,9H 2*STR=,I4,5X + 1, 9H 2*JTR=,I4) + 9101 FORMAT(55H0 R RL,R IM,R RL,R+DR*1 IM,R+DR*1 + 1, 48H RL,R+DR*2 IM,R+DR*2 RL,R+DR*3 IM,R+DR*3 + 2, 24H RL,R+DR*4 IM,R+DR*4 ) + 9999 FORMAT(1H1,15A4,I4,2(1H/,I2.2),I4,2(1H.,I2.2)) + end + +c*********************************************************************** + SUBROUTINE FORMF(U,V,N,LAM,IK,IVB) +c +c Processes kinematic input for waves and form factors and +c calculates potentials or form factors +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) +C + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC + COMMON/POTTER/DRX,AFACT(2),VFACT,SFACT,E,RM,G(4),ETAX,FKX,ETAKX + 1 ,RCX,HBARC2,ABETA(3),FLDF(3) + 2 ,NX,LAMX,KMXX,KX,IBX,LPLUSX,ICON4,NSPC,IDIRAC,ICHK + DIMENSION U(810),V(800),X(4) + EQUIVALENCE (X,FN) +C +C READ IN POTENTIAL CARDS FOR CARD SETS 5,6,OR 7 +C + ETA6=60. + KMAX=400 + ICON4=ICON(4) + NSPC=N + IVB=0 + KB=K + READ (5,9000)E,FM(N),Z(N),FMA(N),ZA(N),RY,AC(N),PNLOC(N),FS(N),QCD + E=E+QCD + IF(N.EQ.2) THEN + Q=E + E=(ECM(1)+Q)*(FM(2)+FMA(2))/FMA(2) + ENDIF + IS(N)=FS(N) + NS(N)=IS(N)+1 + IF(AMASS.EQ.0.0) AMASS=FMA(1) + IF(IK.EQ.0) DR(N)=DRF*AMASS/FMA(N) + KMXX=KMAX + DRX=DR(N) + AFACT(1)=FMA(N)**.333333333 + AFACT(2)=FM (N)**.333333333 + RC(N)=ABS(RY)*AFACT(1) + IF(RY.LT.0.0) RC(N)=RC(N)+ABS(RY)*AFACT(2) + DO 12 M=1,KMAX + MK=M+M-1 + U(MK )=0.0 + U(MK+1)=0.0 + V(MK )=0.0 + V(MK+1)=0.0 + 12 CONTINUE + RM=0.0 + IF(E.EQ.0.0) GO TO 66 +C +C ICON(10).NE.0 GIVES RELATIVISTIC KINEMATICS +C + IF(ICON(10).NE.0 .or. (fm(n).eq.0.0 .and. is(n).eq.2)) THEN + IF(N.NE.2) GO TO 26 + IF(QCD.GT.0.0) GO TO 26 + E=E+(ECM(1)+Q)**2/(2.0*FMA(2)*AMU) + 26 CONTINUE + FM1=FM(N)*AMU + FM2=FMA(N)*AMU + FMT=FM1+FM2 +C KLUDGE FAKE KE-LAB FOR BOUND STATES + IF(N.GE.3) E=((E+FMT)**2-FMT**2)/(2.0*FM2) + WLAB=E+FMT + WCM =SQRT(2.0*E*FM2+FMT**2) + GAMM=WLAB/WCM + W1=GAMM*(FMT*FM1+FM2*E)/WLAB + W2=GAMM* FM2 + ECM(N)=WCM-FMT + IF(ICON(10).EQ.1) THEN +C OLD KINEMATICS SELECTED BY ICON(10) = 1 + FMU(N)=W1*W2/(W1+W2) + VFACT=2.0*FMU(N)/HBARC**2 + SFACT=2.0*fm(n)*fma(n)/(fm(n)+fma(n))/hbarc**2 + EFACT=VFACT + ELSE +C NEW KINEMATICS SELECTED BY ICON(10) > 1 + FMU(N)=W1 + VFACT= 2.0*W1 /HBARC**2 + SFACT= 2.0*FM1/HBARC**2 + EFACT=VFACT + ENDIF + FMU(N)=FMU(N)/AMU + FK2(N)=(W1**2-FM1**2)/HBARC**2 + ELSE +C NON RELATIVISTIC KINEMATICS + FMU(N)=FM(N)*(FMA(N)/(FM(N)+FMA(N))) + IF(N.LT.3) ECM(N)=E*(FMA(N)/(FM(N)+FMA(N))) + IF(N.GE.3) ECM(N)=E + VFACT=2.0*FMU(N)*AMU/HBARC**2 + SFACT=VFACT + EFACT=VFACT + FK2(N)=SFACT*ECM(N) + ENDIF + FK(N)=SQRT(ABS(FK2(N))) + ETAK=CHSQ*Z(N)*ZA(N)*EFACT + ETA(N)=ETAK*0.5/FK(N) + HBARC2=HBARC**2 +C +C ADD COULOMB AND KINETIC ENERGIES TO U +C + RCX=RC(N) + IF(RCX.EQ.0.0) RCX=DR(N) + R=0.0 + FCOU=0.5*ETAK/RCX + DO 42 M=1,kmax + MK=M+M-1 + R=R+DR(N) + IF(R.GT.RCX) GO TO 40 + FC=FCOU*(3.0-(R/RCX)**2) + GO TO 41 + 40 CONTINUE + FC=ETAK/R + 41 CONTINUE + IF(N.NE.3) U(MK )=U(MK )+FK2(N)-FC + IF(N.EQ.3) U(MK+1)=U(MK+1)+FK2(N)-FC + 42 CONTINUE + GO TO 67 + 66 CONTINUE + FK(N)=0.0 + ETA(N)=0.0 + FK2(N)=0.0 + ECM(N)=0.0 + FMU(N)=FM(N)*FMA(N)/(FM(N)+FMA(N)) + VFACT=2.0*FMU(N)*AMU/HBARC**2 + SFACT=VFACT + ETAK=CHSQ*Z(N)*ZA(N)*VFACT + 67 CONTINUE + IF(N.LT.3) GO TO 68 + IF(ICON(4).EQ.2) GO TO 69 + 68 CONTINUE + IF(N.GT.2) THEN + Q=ECM(N) + ELSE + Q=ECM(N)-ECM(1) + ENDIF + WRITE(6,9010)N + WRITE(6,9503)E,RY,AC(N),FS(N) + WRITE(6,9504)FM(N),FMA(N),Q + WRITE(6,9505)Z(N),ZA(N),PNLOC(N) + WRITE(6,9500) + RHO=FK(N)*RC(N) + WRITE(6,9506)ECM(N),RC(N),RHO + WRITE(6,9507)FK(N),ETA(N),DR(N) + WRITE(6,9008) + 69 CONTINUE + FS(N)=FS(N)/2.0 +C Set up variables for potential routine + IBX=0 + ETAX=ETA(N) + FKX=FK(N) + ETAKX=ETAK + RCX=RC(N) + LAMX=LAM + NX=N + LPLUSX=LPLUS + KX=K + ICHK=0 + IDIRAC=0 +C + CALL POTS(U,V) +C + DR(N)=DRX + LPLUS=LPLUSX + IBF(4)=IBX +C Set nonlocality for Dirac-Darwin term + IF(N.LE.2.AND.IDIRAC.NE.0.AND.PNLOC(N).EQ.0.0) PNLOC(N)=-1.0 + K=MIN0(MAX0(K,KX),KMAX) + IF(N.LE.2) GO TO 3000 + IF(E.EQ.0.0) THEN + IF(IBF(4).NE.0) u(808) = 1 + IF(IVB.EQ.4) THEN + U(801)=U(2*KC-1)*FLOAT(KC)*DR(3) + U(802)=0.0 + U(803)=0.0 + U(804)=1.0 + ENDIF + GO TO 3000 + ENDIF +C +C SINGLE PARTICLE ORBITAL +C +C +C READ IN QUANTUM NUMBERS FOR SINGLE PARTICLE ORBITAL +C + 2000 CONTINUE +C Set flags for unbound stripping case + IF(E.GT.0.0) THEN + IVB=2 + K=KC + ENDIF + READ(5,9000)G,VTRIAL,FISW + FN =G(1) + FL =G(2) + FJ2=G(3) + FSS=G(4) + ISW=FISW + WRITE(6,9500) + FJ0=FJ2/2.0 + FS0=FSS/2.0 + IF(VTRIAL.EQ.0.0) VTRIAL=ETA6 + WRITE(6,9508)G,FISW + FACT=(FJ0**2+FJ0-FL**2-FL-FS0**2-FS0)*0.5 +c + DO 2028 M=1,kmax + MK=M+M-1 + V(MK )=U(MK )+V(MK )*FACT + V(MK+1)=U(MK+1)+V(MK+1)*FACT + 2028 CONTINUE + WRITE(6,9500) +c + CALL BIND(V, U ,DR(3),RM,FN,FL,K,FK(3),ETA(3),VTRIAL,ECM(3) + 1,FK2(3),ISW,IBF(3),U(801)) +C + IBF(2)=RM/DR(3) + DO 2050 M=1,K + MK=M+M-1 + V(M)=VTRIAL*V(MK )+V(MK+1) + 2050 CONTINUE + Anorm=1.0 + FACT=PNLOC(3)**2/8.0 + IF(FACT.ne.0.0) then +C +C NON-LOCAL CORRECTION FOR SINGLE PARTICLE FUNCTION +C + SUM=0.0 + R=0.0 + DO 2075 M=1,K + MK=M+M-1 + R=R+DR(3) + U(M)=U(M)*EXP(FACT*(FK2(3)-V(M))) + SUM=SUM+(U(M)*R)**2 + 2075 CONTINUE +C +C DO NOT RENORMALIZE FOR POSITIVE ENERGY +C + IF(FK2(3).LT.0.0) then + Anorm=1.0/SQRT(SUM*DR(3)) + ELSE + Anorm=1.0 + ENDIF + ENDIF + DO 2100 M=kmax,1,-1 + MK=M+M-1 + IF(M.GT.K) then + V(M )=0.0 + U(MK )=0.0 + ELSE + U(MK )=U(M)*Anorm + ENDIF + U(MK+1)=0.0 + 2100 CONTINUE +c + 3000 CONTINUE +c Store quantum numbers for transfer back + DO 3020 M=1,4 + X(M)=G(M) + 3020 CONTINUE + RETURN + 9000 FORMAT(10F8.4) + 9008 FORMAT(21H0POTENTIAL PARAMETERS ) + 9010 FORMAT( 9H0PARTICLE,I2,115(1H*)) + 9500 FORMAT(1H ,3A6,5(3X,A6,F9.4)) + 9503 FORMAT(18H INPUT DATA ,9H ELAB =,F9.4,9H RC0 =,F9.4 + 1 ,9H AC =,F9.4,9H 2*STR=,F9.4) + 9504 FORMAT(18X ,9H MASSP=,F9.4,9H MASST=,F9.4,9H Q =,F9.4) + 9505 FORMAT(18X ,9H ZP =,F9.4,9H ZT =,F9.4,9H PNLOC=,F9.4) + 9506 FORMAT(18H DERIVED DATA ,9H ECM =,F9.4,9H RC =,F9.4 + 1 ,9H RHO =,F9.4) + 9507 FORMAT(18X ,9H K =,F9.4,9H ETA =,F9.4,9H DR =,F9.4) + 9508 FORMAT(18X ,9H NODES=,F9.4,9H L =,F9.4,9H 2*J =,F9.4 + 1 ,9H 2*S =,F9.4,9H FISW =,F9.4) + 9511 FORMAT(18X ,9H DAMP =,F9.4) + END + +c*********************************************************************** + SUBROUTINE FNLOC(U,V,W,VB,LTR,BKIN,FNRNG,KT) +c +c Calculates non-local and finite range correction for distorted waves +c +c U = Optical potentials for distorted waves +c V = Spin orbit potentials for distorted waves +c W = Form factor +c VB = Bound State potential +c LTR = Angular momentum transfer ( of bound state) +c BKIN = Kinematic quatities stored in blank common +c FNRNG = Finite range parameter +c KT = Number of points +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION U(800,2),V(800,2),W(800),VB(800),BKIN(3,14) + 1,RT(8,7),FM(3),FMA(3),RC(3),PNLOC(3),FMU(3),FK(3),FK2(3) + 1 ,ETA(3),DR(3) + DATA RT/ 0.0 , 4.4934, 7.7253, 10.9041, 14.0662, 17.2208, + 1 20.3713, 23.5195, 2.0816, 5.9404, 9.2058, 12.4044, 15.5792, + 2 18.7426, 21.8997, 25.0528, 3.3421, 7.2899, 10.6139, 13.8461, + 3 17.0429, 20.2219, 23.3905, 26.5526, 4.5141, 8.5838, 11.9727, + 4 15.2445, 18.4681, 21.6666, 24.8501, 28.0239, 5.6467, 9.8404, + 5 13.2956, 16.6093, 19.8624, 23.0828, 26.2833, 29.4706, 6.7565, + 6 11.0702, 14.5906, 17.9472, 21.2311, 24.4748, 27.6937, 30.8960, + 7 7.8511, 12.2793, 15.8632, 19.2627, 22.5781, 25.8461, 29.0843, + 8 32.3025/ +C +C FINITE RANGE CORRECTION +C +C +C POSITIVE FR PARAMETER CALCULATES A HULTHEN TYPE FR CORRECTION +C NEGATIVE FR PARAMETER CALCULATES A EXPONENTIAL TYPE FR CORRECTION +C + K=KT + DO 20 I=1,3 + FM(I) =BKIN(I,3) + FMA(I) =BKIN(I,4) + RC(I) =BKIN(I,5) + PNLOC(I)=BKIN(I,7) + FK(I) =BKIN(I,10) + FK2(I) =BKIN(I,11) + ETA(I) =BKIN(I,12) + DR(I) =BKIN(I,13) + FMU(I) =BKIN(I,14) + 20 CONTINUE + IF(FNRNG.EQ.0.0) GO TO 398 + IF(FM(1)-FM(2))143,398,142 + 142 I1=1 + I2=2 + GO TO 144 + 143 I1=2 + I2=1 +C +C I1 IS FOR LARGER MASS , I2 IS FOR SMALLER MASS +C + 144 CONTINUE + FM1=FMU(I1) + FM2=FMU(I2) + TEMP=FM(I2)*FNRNG**2/FM(I1) + FACT=TEMP*FMA(I1)/FMA(I2) + FMX=FM(I1)-FM(I2) + TEMP=TEMP*FMX + IF(FMX.LT.1.9) GO TO 350 +C +C FORM FACTOR PART BY ROST-KUNZ METHOD +C THIS OPTION CALCULATES AN EXPONENTIAL TYPE FR CORRECTION +C FOR MULTI -NUCLEON TRANSFER REACTIONS +C + DR2=DR(3)**2 + FLF=LTR*(LTR+1) + R3=DR(3)*FLOAT(K+1) + D3=0.0 + A3=0.0 + KM=K+K+1 + R2=R3-DR(3) + D2=-FLF/R3 + A2=W (KM-2)*R2 + DO 220 M=1,K + KM=KM-2 + R1=R2-DR(3) + A1=W (KM-2)*R1 + D1=-FLF/R2**2 + IF(A3.EQ.0.0) GO TO 215 + D1=D1+(A3-2.0*A2+A1)/(A2*DR2) + W (KM+2)=W (KM+2)*EXP(D2*FACT) + DX2=(D3*A3-2.0*D2*A2+D1*A1)/(R2*DR2)-A2*D2**2/R2 + W (KM+2)=W (KM+2)+0.5*DX2*FACT**2 + 215 CONTINUE + IF(ABS(W (KM-2)).LT.ABS(W (KM ))) GO TO 225 + R3=R2 + R2=R1 + D3=D2 + D2=D1 + A3=A2 + A2=A1 + 220 CONTINUE + 225 CONTINUE + KM=KM/2+1 + DO 227 M=1,KM + MK=M+M-1 + VB(M)=W(MK) + W(MK)=0.0 + 227 CONTINUE + RKM=FLOAT(KM)*DR(3) + LL=MIN0(LTR,6) + FLF=LL*(LL+1) + DR12=DR(3)**2/12.0 + DO 250 N=1,8 + FKX=(RT(N,LL+1)/RKM)**2 + A1=0.0 + D1=0.0 + R=DR(3) + A2=DR(3) + D2=(1.0+DR12*(FKX-FLF/R**2))*A2 + FNORM=0.0 + AN=0.0 + DO 230 M=1,KM + AN=AN+VB(M)*A2*R + FNORM=FNORM+A2**2 + VB(M+400)=A2/R + R=R+DR(3) + D3=1.0+DR12*(FKX-FLF/R**2) + A3=(12.0*A2-10.0*D2-D1)/D3 + D1=D2 + D2=D3*A3 + A1=A2 + A2=A3 + 230 CONTINUE + AN=AN-0.5*VB(KM)*A1*(R-DR(3)) + FNORM=FNORM-0.5*A1**2 + FNORM=AN*EXP(-FACT*FKX)/FNORM + DO 240 M=1,KM + MK=M+M-1 + W (MK)=W (MK)+VB(M+400)*FNORM + 240 CONTINUE + 250 CONTINUE + 340 CONTINUE +C +C DISTORTED WAVE PART, GAUSSIAN FACTOR +C + DO 345 M=1,K + MK=M+M-1 + CTEMP1=TEMP*(U(MK ,I2)/FM2-U(MK ,I1)/FM1) + CTEMP2=TEMP*(U(MK+1,I2)/FM2-U(MK+1,I1)/FM1) + FACT=EXP(-CTEMP1) + UT1= FACT*COS(CTEMP2) + UT2=-FACT*SIN(CTEMP2) + UF1 =UT1*W(MK )-UT2*W(MK+1) + UF2 =UT1*W(MK+1)+UT2*W(MK ) + W(MK )=UF1 + W(MK+1)=UF2 + 345 CONTINUE + 348 CONTINUE + GO TO 398 + 350 CONTINUE + IF(FNRNG.GT.0.0) GO TO 360 +C +C SINGLE PARTICLE PART, GAUSSIAN FACTOR +C + DO 355 M=1,K + MK=M+M-1 + FACT=EXP(-TEMP*VB(M)/FMU(3)) + W(MK )=W(MK )*FACT + W(MK+1)=W(MK+1)*FACT + 355 CONTINUE + GO TO 340 + 360 CONTINUE +C +C HULTHEN TYPE +C + DO 365 M=1,K + MK=M+M-1 + CTEMP1=VB(M)/FMU(3)+U(MK ,I2)/FM2-U(MK ,I1)/FM1 + CTEMP2= U(MK+1,I2)/FM2-U(MK+1,I1)/FM1 + CTEMP1=1.0+TEMP*CTEMP1 + CTEMP2= TEMP*CTEMP2 + DET=CTEMP1**2+CTEMP2**2 + UT1=(CTEMP1*W(MK )+CTEMP2*W(MK+1))/DET + UT2=(CTEMP1*W(MK+1)-CTEMP2*W(MK ))/DET + W(MK )=UT1 + W(MK+1)=UT2 + 365 CONTINUE + 398 CONTINUE +C +C NON LOCALITY CORRECTION FACTOR FOR DISTORTED WAVES +C + DO 410 I=1,2 + CALL FNLOC5(U(1,I),V(1,I),W(1),PNLOC(I),FK2(I),ETA(I) + 1, FK(I),RC(I),DR(I),K) + 410 CONTINUE + RETURN + END + +c*********************************************************************** + SUBROUTINE CATHEN(LOPT,JOPT,UB,VB,SI) +c +c Two particle form factor subroutine, calculates microscopic +c inelastic or two-nucleon transfer form factors +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC + DIMENSION UB(800,2),VB(801),SI(800),C(10),QNUM(4,2),G(4),IQN(3) + 1 ,JI(2),JJ(2),FJT(2),CON(8) + EQUIVALENCE (G,FN),(C(1),CNTROL),(C(2),QCODE),(C(3),FMUV) + 1,(C(4),OPT) + DATA SQR4PI,SQRTEN,PI/3.54490780,3.162277660,3.141592/ +C + IQFLG=0 + KMFLG=0 + IQN(1)=LOPT + IQN(3)=JOPT + KT=399 + IBF(2)=1 + FK2(3)=0.0 + 100 CONTINUE + READ(5,9001)C + CNTRL=ABS(CNTROL) + IF(CNTRL.EQ.0.0) GO TO 3010 + IF(QCODE)2020,3000,1100 + 1100 CONTINUE + icode=abs(qcode) +C +C LOOP FOR TWO ORBITALS +C + ML=1 + DO 2015 I=1,2 + FJT(1)=C(5) + FJT(2)=C(I+5) + IF(I.EQ.2.AND.CNTRL.EQ.1.0) GO TO 2005 + IK=0 + IF(icode.EQ.7.OR.icode.EQ.8) ik=i-1 + G(1)=0.0 + G(2)=0.0 + G(3)=0.0 + G(4)=0.0 +C + CALL FORMF(UB(1,2),VB,3,LOPT,IK,IVB) + IVB=0 +C + DRX=DR(3) + IF(KMFLG.EQ.0) KM=IBF(2) + KMFLG=1 + KT=MIN0(KT,K) + 2005 CONTINUE + IF(FJT(1).EQ.0.0) FJT(2)=FJ2 +C +C PRINT OUT SINGLE PARTICLE INFORMATION +C + if(icode .ne. 5) then + WRITE(6,9501) + WRITE(6,9100)FJ2,FJT + endif + IF(ICON(4).ne.2 .and. (CNTRL.EQ.2.0 .or. I.EQ.1)) then + R=DRX + K2=K+K + DO 2006 M=1,K2,20 + MK4=MIN0(M+19,K2) + WRITE(6,9052)R,(UB(N,2),N=M,MK4,2) + R=R+10.0*DRX + 2006 CONTINUE + endif + DO 2008 M=1,400 + MK=M+M-1 + UB(ML,1)=UB(MK,2) + ML=ML+1 + 2008 CONTINUE + DO 2009 M=1,4 + QNUM(M,I)=G(M) + 2009 CONTINUE + JI(I)=FJT(1) + JJ(I)=FJT(2) + 2015 CONTINUE +C + 2020 ICODE=ABS(QCODE) + KT=MIN0(KT,K) + LTR1=IQN(1)+1 + IQN(2)=IS(3) + IF(IS(3).EQ.0) IQN(3)=IQN(1)+IQN(1) + WRITE(6,9051)QCODE,FMUV,OPT +C ENTER TIME REVERSAL PHASE + LVR=QNUM(2,1)+QNUM(2,2) + OPT=OPT*PHASEF((LVR+IQN(1))/2) + IFLAG=1 + IF(ICODE.LE.10) GO TO 2025 + IFLAG=2 + ICODE=ICODE-10 + 2025 CONTINUE +C + GO TO (2100,2100,2300,2990,2500,2100,2700,2700),ICODE +C +C ICODE=1 YUKAWA POTENTIAL +C ICODE=2 COULOMB POTENTIAL +C ICODE=3 OPEP TENSOR POTENTIAL +C ICODE=5 TWO PARTICLE TRANSFER +C ICODE=6 ZERO RANGE KNOCK OUT +C ICODE=7 NO RECOIL FORM FACTOR +C + 2100 LVR=0 + TOPT=1.0 + GO TO 2350 + 2300 ICODE=1 + LVR=2 + TOPT=-SQRTEN + 2350 MNNL=IABS(LTR1-LVR-1)+1 + MXXL=LTR1+LVR + LTR2=LTR1+LTR1-2 + LVR2=LVR+LVR + LLX=QNUM(2,1)+QNUM(2,1) + LPX=QNUM(2,2)+QNUM(2,2) + JLX=QNUM(3,1) + JPX=QNUM(3,2) + IS1=QNUM(4,1) + IS2=QNUM(4,2) + OPT=OPT*PHASEF(LPX/2) + DRX=DR(1) + DO 2390 LAM =MNNL,MXXL,2 + LAM2 =LAM +LAM -2 + VOPT=TOPT*OPT*SQR4PI*SQRT(FLOAT(LAM2 +1)*FLOAT(IQN(2)+1)) + 1 *VCC(LAM2 ,LVR2,LTR2 ,0,0) + 2 *RACAH(IQN(2),IQN(2),LAM2 ,LTR2 ,LVR2,IQN(3)) + RME=0.0 + IF(IQN(2).EQ.0) RME=1.0 + IF(IQN(2).EQ.2) RME=SQRT(FLOAT(IS(1)*(IS(1)+2)) + 1*FLOAT(IS1*(IS1+2))) + RME=RME*SQRT(FLOAT(IS1+1))*PHASEF((IS(1)-IS(2))/2) + 1 *SQRT(FLOAT((LLX+1)*(LAM2+1)))*VCC(LLX,LAM2,LPX,0,0) + 2 *SQRT(FLOAT(JLX+1)*FLOAT(JPX+1)*FLOAT(IQN(3)+1)) + rme =rme*WINEJ(LPX,LLX,LAM2 ,IS2,IS1,IQN(2),JPX,JLX,IQN(3)) + 4 *PHASEF((JI(1)+IQN(3)-JLX-JJ(2))/2) + 5 *RACAH(JPX,JJ(2),JLX,JJ(1),JI(1),IQN(3)) + 6 *SQRT(FLOAT(JJ(1)+1)*FLOAT(JJ(2)+1)) + VOPT=VOPT*RME*SQRT(FLOAT(LTR2+1)/FLOAT((JJ(1)+1)*(IQN(3)+1))) + 1 *(DR(3)/DR(1))**3 + SL=0.0 + IF(VOPT.EQ.0.0) GO TO 2390 + IF(ICODE.EQ.6 ) GO TO 2365 +C + KMAX=400 + CALL SLATR (KT,KMAX,DRX,VB( 1),LTR1,FMUV,ICODE) + CALL SLATR (KT,KMAX,DRX,VB(801),LAM ,FMUV,ICODE) +C +C + CALL RADIN + 1(KT,KMAX,DRX,FMUV,VB,UB(1,1),UB(401,1),SL,VOPT,SI(IFLAG),KM,SK) +C + GO TO 2380 + 2365 CONTINUE + SCALE=VOPT/SQR4PI**2 + R=0.0 + MK=IFLAG + DO 2370 M=1,KT + R=R+DRX + TEMP=UB(M ,1)*UB(M+400,1)*SCALE + SI(MK )=SI(MK )+TEMP + SL =SL +TEMP*R**2 + IF(M.EQ.KM) SK=TEMP + MK=MK+2 + 2370 CONTINUE + SL=SL*DRX + 2380 CONTINUE + 2385 I=LAM -1 + WRITE(6,9102)SL,IQN(1),I,RME + WRITE(6,9002)KM,SK + 2390 CONTINUE + GO TO 2990 +C +C HERE FOR TWO NUCLEON TRANSFER +C + 2500 CONTINUE +c +c c1 = R1 scale +c c2 = R2 scale +c c3 = r1 scale +c c4 = r2 scale +c c5 = r0, integration scale length for relative coordinate +c c6 = Pauli flag +c c7 = order of gaussian integration +c c8 = number of integration points +c + IF(FMUV.EQ.0.0) FMUV=1.7 + CON(1)= 1.0 + CON(2)= 1.0 + CON(3)= 0.5 + CON(4)=-0.5 + CON(5)= 2.0*fmuv + con(6)= 0.0 + con(7)= 0.5 + con(8)= 0.0 + OPT=OPT*16./PI + CALL DSTRIP + 1(IQN,DRX,KT,UB(1,1),UB(401,1),SI(IFLAG),QNUM,OPT,KM,SL,CON) + WRITE(6,9002)KM,SL + IQFLG=1 + GO TO 2990 + 2700 CONTINUE + T1= MIN (FM(1),FM(2)) + T2= MAX (FM(1),FM(2)) + CON(1)= 1.0 + CON(2)= 0.0 + CON(3)= T1/T2 + CON(4)= 1.0 + CON(5)= 1.0 + CON(7)= 0.0 + CON(8)= 0.0 + IF(ICODE.EQ.8) GO TO 2706 + T3=HBARC**2/(2.0*AMU*FMU(3)) + R=0.0 + DO 2705 M=1,KT + R=R+DRX + UB(M+400,1)=UB(M+400,1)*T3* (FK2(3)-VB(M)) + 2705 CONTINUE + 2706 CONTINUE + M=(KT+KM)/2+400 + T1= LOG(UB(M-1,1)*FLOAT(M-401)/(UB(M ,1)*FLOAT(M-400))) + FMUV = DRX/T1 + CON(5)=fmuv + DO 2710 M=1,KT + UB(M+400,1)=UB(M+400,1)*EXP(T1*FLOAT(M))*DRX*FLOAT(M)/100. + 2710 CONTINUE + OPT=OPT*FMUV*FMUV*SQR4PI/2.0 + CALL DSTRIP + 1(IQN,DRX,KT,UB(1,1),UB(401,1),SI(IFLAG),QNUM,OPT,KM,SL,CON) + WRITE(6,9002)KM,SL + IQFLG=1 + GO TO 2990 + 2990 CONTINUE + 3000 CONTINUE + IF(CNTROL.GT.0.0) GO TO 100 + IF(IQFLG .EQ.1) KT=FLOAT(KT)-1.50/DRX + K=KT + 3010 RETURN + 9001 FORMAT(10F8.4) + 9002 FORMAT(15H FORM FACTOR,M=,I3,1PE18.6) + 9051 FORMAT(18H0PARAMETERS ,9H QCODE=,F9.4,9H RANGE=,F9.4 + 1 ,9H VZERO=,F9.4) + 9052 FORMAT(1H ,F6.2,1P10E12.4) + 9100 FORMAT(27H0SINGLE PARTICLE FUNCTIONS ,8HCOUPLING ,6H 2*J1=,F3.0 + 1 ,9H 2*J2=,F3.0,9H 2*JI=,F3.0) + 9102 FORMAT(19H VOLUME INTEGRAL = ,F10.4,8H LTR=,I3,8H LAM=,I3 + 1,8H RME= ,F8.4) + 9501 FORMAT(1H ,18HFORM FACTOR DATA ) + END diff --git a/dwuck4/BDWCK4.FOR b/dwuck4/BDWCK4.FOR new file mode 100644 index 0000000..7622e2b --- /dev/null +++ b/dwuck4/BDWCK4.FOR @@ -0,0 +1,564 @@ +c*********************************************************************** + SUBROUTINE BDWUCK4 +c +c Control program for second part of DWUCK4 which integrates the +c distorted waves, calculates radial integrals, inelastic +c amplitudes and the crossections. +c +c*********************************************************************** +c + parameter(ispc0 = 4010, ispc1 = 8000, ispc2 = 8000) + IMPLICIT REAL*8(A-H,O-Z) + logical i_sym(2) + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC,IBUFF,IWORD,ILINE,JLINE + Common/array0/space0(ispc0) + Common/array1/space1(ispc1) + Common/array2/space2(ispc2) + + DIMENSION D(8000),sigplt(200,2),plm(2000), dtemp(2000), F(800) + 1, FLL(8000), UB(800), FF(10) + Equivalence (space1( 1), D), (space2( 1), FLL) + 1, (space0( 1), F), (space0( 1), plm(1)) + 2, (space0(1601), sigplt(1,1)), (space0(3201), UB) + 3, (space0(4001), FF) ,(space1(1001), dtemp) + DATA FOURPI/12.5663706/ +c + do 40 i=1,2 +c + if(fm(i).eq.fma(i).and.z(i).eq.za(i)) then + i_sym(i)=.true. + else + i_sym(i)=.false. + endif + 40 continue +C + IBUF=IBF(1) + write(*,'(a)')' Subroutine INTEG entered' + CALL INTEG4(i_sym) +C +C PRINT OUT ELASTIC CROSS-SECTIONS +C + IF(ICON(6).ne.0.or.ICON(16).ne.0) then + WRITE(6,9999)ALPHA,(IDAT(I),I=1,3) + WRITE(6,9904) +C + CALL ELSIG(dtemp,d,plm,sigplt,angle,fk,eta,rsig,alpha + 1 ,idat,is,icon,lplus,i_sym) +C + else + WRITE(6,9002)(RSIG(N),N=1,2) + endif + IF(ICON(12).NE.0) then +c +c print out radial wave functions +c +c skip over form factors + DO 72 M=1,NLTR + READ(4) + 72 CONTINUE + WRITE(6,9999)ALPHA,(IDAT(I),I=1,3) +C + CALL TAPED +C + endif +c + RZ=FLOAT(KZ)*DRF + RMAX=FLOAT(K)*DRF + JR=NS(1) + JS=NS(2) + DO 101 II=1,NLTR + LTR=LTRT(II) + MPLUS=LTR+1 +C +C SPACE TO PROPER FORM FACTOR FOR THIS L-TRANSFER +C + DO 70 IJ=1,NLTR + IF(IJ.EQ.II) then + READ (4)UB,FF + else + READ (4) + endif + 70 continue +C + write(*,'(a)')' Subroutine RADINT entered' + CALL RADINT(F, FLL, UB, FF, LTR) +C + IF(ICON(7).ne.0) then +C +C WRITE( RADIAL MATRIX ELEMENTS IF ICON(7).NE.0 +C + INCR=LPL2*LTR + INC=1 + IS1=-IS(1) + + DO 100 I=1,JR + IS2=-IS(2) + DO 98 J=1,JS + WRITE(6,9999)ALPHA,(IDAT(M),M=1,3) + WRITE(6,9900)IS1,IS2 + WRITE(6,9901) + DO 90 LL=1,LPLUS + LM=LL-1 + IND=INC+INCR + WRITE(6,9902)LM,(FLL(IT),FLL(IT+1),IT=INC,IND,LPL2) + INC=INC+2 + 90 CONTINUE + INC=INC+INCR + IS2=IS2+2 + 98 CONTINUE + IS1=IS1+2 + 100 CONTINUE + endif + 101 CONTINUE + END FILE 2 + REWIND 2 +C +C RESTORE SPIN STORAGE +C + IS(1)=IBF(7) + FS(1)=FLOAT(IBF(7))/2.0 + NS(1)=IBF(7)+1 + JR=NS(1) + IS(2)=IBF(8) + FS(2)=FLOAT(IBF(8))/2.0 + NS(2)=IBF(8)+1 + JS=NS(2) + DO 300 II=1,NLTR + LTR=LTRT(II) + JTR=JTRT(II) + IS(3)=ISTRT(II) +C +C CALCULATE NORMALIZATION FACTOR +C +c fact normalizes the cross section +c flfact normalizes the amplitudes +c + flfact=1.0 +C +c Photo-capture + if (fm(2).eq.0.0.and.is(2).eq.2) then +c (p,gamma) reaction normalization + fact= 2.0*fmu(1)*amu/(hbarc*fk(1))**2 + 1 *chsq/fk(2)**2 + flfact=sqrt(float(2*ltr+1)) +c +c Photo-disintegration + elseif(fm(1).eq.0.0.and.is(1).eq.2) then +c (gamma,p) reaction normalization + fact= 2.0*fmu(2)*amu/(hbarc*fk(2))**2 + 1 *chsq/fk(1)**2 + else + FACT= 2.0*FMU(1)/(HBARC*FK(1))**2 + 1 *2.0*FMU(2)/(HBARC*FK(2))**2 + 2 *AMU**2/FOURPI + if(abs(fm(1)-fm(2)).GT.0.1) then +C Stripping normalization factors + flfact=100.0*SQRT(FLOAT(2*LTR+1)/FLOAT(JTR+1)) + fact=fact*float(jtr+1) + endif + endif +c + FACT=FACT*FK(2)/FK(1) + FN=(II-1)*ICON(3)*(ICON(3)-1) +C + CALL BETAFN(FLL, D, LTR,JTR,flfact,i_sym) +C + MPLUS=JTR/2+1 + IF(icon(3).le.1.or.(icon(3).eq.2.and.II.eq.NLTR)) then + IF(ICON(8).ne.0) then +C +C WRITE BETA TABLES IF ICON(8).NE.0 +C + I1=MPLUS+MPLUS + IFACT=I1 *NS(1)*NS(2) + KT=1 + IS1=-IS(1) + DO 120 I=1,JR + IS2=-IS(2) + DO 116 J=1,JS + WRITE(6,9999)ALPHA,(IDAT(M),M=1,3) + WRITE(6,9905)IS2,IS1 + WRITE(6,9903) + DO 114 LL=1,LPLUS + LM=LL-1 + IND=KT+LM*IFACT + INDF=IND+I1-1 + WRITE(6,9902)LM,(D(INDEX),INDEX=IND,INDF) + 114 CONTINUE + KT=KT+I1 + IS2=IS2+2 + 116 CONTINUE + IS1=IS1+2 + 120 CONTINUE + endif +C +C SET HEADINGS FOR INELASTIC SIGMA +C + WRITE(6,9999)ALPHA,(IDAT(I),I=1,3) + WRITE(6,9507)DRF,RZ,RMAX,VCE,FS(1) + WRITE(6,9508)FNRNG,PNLOC,FS(2) + TEMP=ECM(2)-ECM(1) + do 280 jj=1,nltr + if((icon(3).le.1.and.jj.eq.ii).or. + 1 (icon(3).eq.2.and.ii.eq.nltr)) then + WRITE(6,9505)LTRT(jj),JTRT(jj),IS(3),TEMP + endif + 280 continue +C + write(*,'(a)')' Subroutine INSIG entered' + CALL INSIG(D, plm, JTR,FACT) +C + endif + 300 CONTINUE + REWIND 2 + RETURN + + 9002 FORMAT(1H0,'REACSIG 1',1PE14.5,45X,'REACSIG 2',1PE14.5) + 9505 FORMAT(18H ANG MOM TRANSFER ,9H LTR =,I4,14H. 2*JTR=,I4 + 1,14H. 2*STR=,I4,14H. Q =,F9.4) + 9507 FORMAT(18H0BASIC DATA ,9H DR =,F9.4,9H RMIN =,F9.4 + 1, 9H RMAX =,F9.4,9H COUEX=,F9.4 + 2, 9H IS1=,F9.4) + 9508 FORMAT(18X,9H FNRNG=,F9.4,9H PNLC1=,F9.4,9H PNLC2=,F9.4 + 1, 9H PNLC3=,F9.4,9H IS2=,F9.4) + 9900 FORMAT(24H0 RADIAL MATRIX ELEMENTS ,9H, J1=L1+,I2,2H/2 + 1, 9H, J2=L2+,I2,2H/2 ) + 9901 FORMAT('0 L2 F(L2,/L2-LTR/ ) F(L2,/L2-LTR/+2)' + 1, ' F(L2,/L2-LTR/+4) F(L2,/L2-LTR/+6)') + 9902 FORMAT(I4,1P10E10.3/(4X,1P10E10.3)) + 9903 FORMAT('0 L2 BETA(L2,0) BETA(L2,1) BETA(L2,2)' + 1, ' BETA(L2,3) BETA(L2,4)') + 9904 FORMAT(1H0,32HELASTIC SCATTERING CROSS-SECTION ) + 9905 FORMAT(1H0,8H MS2=,I2,2H/2,8H MS1=,I2,2H/2) + 9999 FORMAT(1H1,15A4,I4,2(1H/,I2.2),I4,2(1H.,I2.2)) + END + +c*********************************************************************** + SUBROUTINE INTEG4(isym) +C +c Subroutine to integrate radial differential equations for the +c distorted waves. +c +c*********************************************************************** + parameter(ispc0 = 4010, ispc1 = 8000, ispc2 = 8000) + IMPLICIT REAL*8(A-H,O-Z) + logical isym(2) + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC,IBUFF,IWORD,ILINE,JLINE + Common/array0/space0(ispc0) + Common/array1/space1(ispc1) + Common/array2/space2(ispc2) + DIMENSION U(800,2), V(800,2) + 1 ,F (400),FP(400),G (400),GP(400),S(400) + 2 ,F1(800),F2(800),Q1(800),Q2(800),C(800) + 3 ,D (800),X(800),DTEMP(3200) + 4 ,E (12),Q(4),A(2),B(2),CTEMP(2),LM(6) + 5 ,DRR2(2),DR2(2),R(2) + EQUIVALENCE (space0( 1), U), (space0(1601), V) + 1 ,(U,DTEMP) + 2 ,(space1( 1),Q1),(space1( 801),Q2),(space1(1601),F1) + 3 ,(space1(2401),F2),(space1( 801),X ),(space1( 1),D ) + 4 ,(DTEMP( 1),F ),(DTEMP( 401),FP),(DTEMP( 801),G ) + 5 ,(DTEMP(1201),GP),(DTEMP(1601),S ),(DTEMP(2001),C ) + DATA ETA3/10.E+00/ +C + IWORD=0 + JT=NS(1)+NS(2) + NP=LPL2*JT + I=0 + DO 30 N=1,2 + DR2(N)=DR(N)**2/12.0 + R(N)=0.0 + JS=NS(N) + DO 29 ISS=1,JS + I=I+1 + LM(I)=0 + 29 CONTINUE + 30 CONTINUE + DO 40 IQ=1,NP + F1(IQ)=0.0 + F2(IQ)=0.0 + Q1(IQ)=0.0 + Q2(IQ)=0.0 + 40 CONTINUE +C + DO 100 M=1,K + MK=M+M-1 + IX=0 + I=0 + DO 90 N=1,2 + R(N)=R(N)+DR(N) + DRR2(N)=DR2(N)/R(N)**2 + Q(1)=1.0+DR2(N)*U(MK ,N) + Q(2)= DR2(N)*U(MK+1,N) + LTEMP=2.0*FK(N)*R(N)+ETA3 + LTEMP=MIN0(LTEMP,LPLUS) + FI=-FS(N) + JS=NS(N) + SFACT=FS(N)**2+FS(N) + DO 89 ISS=1,JS + I=I+1 + FL=0.0 + DO 80 LL=1,LPLUS + FJ=FL+FI + IX1=IX+LL+LL-1 + FLFACT=FL**2+FL + FACT=DR2(N)*(FJ**2+FJ-FLFACT-SFACT)*0.5 + Q(3 )=Q(1)+FACT*V(MK ,N)-DRR2(N)*FLFACT + Q(4 )=Q(2)+FACT*V(MK+1,N) + IF(LL.LE.LM(I)) GO TO 70 + IF(LTEMP.LT.LL) GO TO 72 + LM(I)=LM(I)+1 + IF(FJ-ABS(FL-FS(N)).LT.0.0) GO TO 72 +c calculate approximate starting value + f2(ix1 )=1.0 + do 50 ii=1,ll + f2(ix1 )=f2(ix1 )*(fk(n)*r(n))/float(2*ii-1) + 50 continue + F2(IX1+1)=0.0 + Q2(IX1 )=Q(3)*f2(ix1 ) + Q2(IX1+1)=Q(4)*f2(ix1 ) +C +C EVALUATE Q AT ORIGIN FOR L=1 +C + IF(LL.EQ.2) Q1(IX+3)=-f2(ix1 )/6.0 + GO TO 72 + 70 CONTINUE +c +c Step equations forward by dr(n) via Numerov-Fox-Goodwin-Milne method +c + CTEMP(1)=12.*F2(IX1 )-10.*Q2(IX1 )-Q1(IX1 ) + CTEMP(2)=12.*F2(IX1+1)-10.*Q2(IX1+1)-Q1(IX1+1) + F1(IX1 )=F2(IX1 ) + F1(IX1+1)=F2(IX1+1) + DET=Q(3)**2+Q(4)**2 + F2(IX1 )=(CTEMP(1)*Q(3 )+CTEMP(2)*Q(4 ))/DET + F2(IX1+1)=(CTEMP(2)*Q(3 )-CTEMP(1)*Q(4 ))/DET + Q1(IX1 )=Q2(IX1 ) + Q1(IX1+1)=Q2(IX1+1) + Q2(IX1 )=CTEMP(1) + Q2(IX1+1)=CTEMP(2) + 72 CONTINUE + FL=FL+1.0 + 80 CONTINUE + FI=FI+1.0 + IX=IX+LPL2 + 89 CONTINUE + 90 CONTINUE +C +C WRITE RADIAL WAVE FUNCTIONS ON TAPE 4 +C + WRITE(4)(F2(J),J=1,NP) + 100 CONTINUE + LX=1 + drrc = 0.1 + DO 120 N=1,2 + R2=FK(N)*R(N) + R1=R2-DR(N)*FK(N) + CALL COU(R1,R2,ETA(N),LPLUS,drrc,F(LX),FP(LX),G(LX),GP(LX),S(LX)) + RSIG(N)=0.0 + LX=LX+LPLUS + 120 CONTINUE +C + IF(ICON(5).ne.0) then + WRITE(6,9999)ALPHA,(IDAT(I),I=1,3) + WRITE(6,9600) + WRITE(6,9601) + endif +c +c Match solutions to asymptotic form +c + DO 300 LL=1,LPLUS + FL=FLOAT(LL-1) + LX=LL + I=0 + IX1=LL+LL-1 + DO 200 N=1,2 + JS=NS(N) + FI=-FS(N) + ARG=S(LX)-S(LX-LL+1) + Q(1)=COS(ARG) + Q(2)=SIN(ARG) + Q(3)=Q(1)**2-Q(2)**2 + Q(4)=2.0*Q(1)*Q(2) + DO 199 ISS=1,JS + FJ=FL+FI + I=I+1 + DET=F(LX)*GP(LX)-FP(LX)*G(LX) + A(1)=(F1(IX1 )*GP(LX)-F2(IX1 )*G (LX))/DET + A(2)=(F1(IX1+1)*GP(LX)-F2(IX1+1)*G (LX))/DET + B(1)=(F2(IX1 )*F (LX)-F1(IX1 )*FP(LX))/DET + B(2)=(F2(IX1+1)*F (LX)-F1(IX1+1)*FP(LX))/DET + IF(LL.LE.LM(I).and.FJ-ABS(FL-FS(N)).ge.0.0) then + DET=(A(1)+B(2))**2+(A(2)-B(1))**2 + CTEMP(1)=(A(1)+B(2))/DET + CTEMP(2)=(B(1)-A(2))/DET + else + CTEMP(1)=0.0 + CTEMP(2)=0.0 + endif +C +C C=NORMALIZATION CONSTANTS +C + C(IX1 )=Q(1)*CTEMP(1)-Q(2)*CTEMP(2) + C(IX1+1)=Q(1)*CTEMP(2)+Q(2)*CTEMP(1) +C +C E=PARTIAL WAVE SCATTERING AMPLITUDES +C + E(2*I-1)=B(1)*CTEMP(1)-B(2)*CTEMP(2) + E(2*I )=B(1)*CTEMP(2)+B(2)*CTEMP(1) + T1 = E(2*I-1) + T2 = E(2*I ) + if(isym(N) .and. is(N).eq.0 ) then + if(Phasef(lx-1).lt.0.0) then + T1 = 0.0 + T2 = 0.0 + E(2*I-1) = 0.0 + E(2*I ) = 0.0 + else + T1 = 2.0*T1 + T2 = 2.0*T2 + endif + endif +C +C D=PARTIAL WAVE SCATTERING AMPLITUDES* COULOMB PHASE / WAVE NUMBER +C + D(IX1 )=(Q(3)*T1 - Q(4)*T2)/FK(N) + D(IX1+1)=(Q(3)*T2 + Q(4)*T1)/FK(N) + X(IX1 )=E(2*I-1) + X(IX1+1)=E(2*I ) +C +C CALCULATE REACTION SIGMA +C + T1 = E(2*I ) - E(2*I-1)**2-E(2*I )**2 + if(isym(N) .and. is(N).eq. 0) T1 = 4.0*T1 + RSIG(N)=RSIG(N)+(2.0*FJ+1.0)*T1 + FI=FI+1.0 + IX1=IX1+LPL2 + 199 CONTINUE + LX=LX+LPLUS + 200 CONTINUE + IF(ICON(5).ne.0) then +C +C WRITE ELASTIC PARTIAL WAVE SCATTERING AMPLITUDES +C + IX=LL-1 + I1=1 + I2=NS(1)*2 + WRITE(6,9602)IX,(E(INDEX ),INDEX=I1,I2) + I1=I2+1 + I2=I2+NS(2)*2 + WRITE(6,9603)IX,(E(INDEX ),INDEX=I1,I2) + endif + 300 CONTINUE + DO 310 N=1,2 + RSIG(N)=RSIG(N)*12.566371 /((2.0*FS(N)+1.0)*FK(N)**2) + 310 CONTINUE +C +C WRITE NORMALIZATION CONSTANTS ON TAPE 4 +C + WRITE(4)(C(I),I=1,NP) +C +C WRITE END POINT FUNCTIONS FOR UNBOUND STATE STRIPPING +C +C ILINE IS SET IN ADWUCK FORM FACTOR LOOP + IF(ILINE.EQ.0) GO TO 400 + WRITE(4)(X(I),I=1,NP),(GP(I),FP(I),I=1,LPL2),(S(I),I=1,LPL2) + 400 CONTINUE + END FILE 4 + REWIND 4 + RETURN + 9600 FORMAT(1H0,35HPARTIAL WAVE SCATTERING AMPLITUDES ) + 9601 FORMAT(4H L,20H REAL D1 IMAG D1 ,20H REAL D2 IMAG D2 + 1, 20H REAL D3 IMAG D3 + 2, 4X,4H L,20H REAL D1 IMAG D1 ,20H REAL D2 IMAG D2 + 3, 20H REAL D3 IMAG D3 ) + 9602 FORMAT(1H , I3,6F10.6) + 9603 FORMAT(1H+,68X,I3,6F10.6) + 9999 FORMAT(1H1,15A4,I4,2(1H/,I2.2),I4,2(1H.,I2.2)) + END + +c*********************************************************************** + SUBROUTINE TAPED +C +c Subroutine writes out radial wave functions, +c spaced icon(12) points apart +c*********************************************************************** +c + parameter(ispc0 = 4010, ispc1 = 8000, ispc2 = 8000) + IMPLICIT REAL*8(A-H,O-Z) + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC,IBUFF,IWORD,ILINE,JLINE + Common/array0/space0(ispc0) + Common/array1/space1(ispc1) + Common/array2/space2(ispc2) + + DIMENSION C(800),FR(800),R(2),CTEMP(2) + EQUIVALENCE (space0(2001), C(1)), (space0( 801), FR(1)) +c + IK=ICON(12) + JT=NS(1)+NS(2) + NP=LPL2*JT + R(1)=0.0 + R(2)=0.0 + IKTEMP=0 + DO 50 M=1,K + IKTEMP=IKTEMP+1 +C +C READ IN DISTORTED WAVE RADIAL FUNCTIONS +C + READ (4)(FR(J),J=1,NP) + IF(IKTEMP.NE.IK) GO TO 50 + IKTEMP=0 + IX=0 + DO 40 N=1,2 + R(N)=R(N)+DR(N)*FLOAT(IK) + JX=NS(N) + DO 39 J=1,JX + DO 30 LL=1,LPLUS + LK=LL+LL-1 + IX1=LK+IX + IX2=IX1+1 +C +C NORMALIZE RADIAL FUNCTIONS +C + CTEMP(1)=FR(IX1)*C(IX1)-FR(IX2)*C(IX2) + CTEMP(2)=FR(IX1)*C(IX2)+FR(IX2)*C(IX1) + FR(IX1)=CTEMP(1) + FR(IX2)=CTEMP(2) + 30 CONTINUE + IX=IX+LPL2 + 39 CONTINUE + 40 CONTINUE + WRITE(6,9001)R(1),R(2) + WRITE(6,9601) + DO 45 LL=1,LPLUS + LM=LL-1 + LK1=LM+LL + LK2=LPL2*(NS(1)-1)+LK1 + WRITE(6,9602)LM,(FR(LK),FR(LK+1),LK=LK1,LK2,LPL2) + LK1=LK2+LPL2 + LK2=LPL2*(NS(2)-1)+LK1 + WRITE(6,9603)LM,(FR(LK),FR(LK+1),LK=LK1,LK2,LPL2) + 45 CONTINUE + 50 CONTINUE + REWIND 4 + RETURN + 9001 FORMAT(1H0,3HR1=,F8.4,57X,3HR2=,F8.4) + 9601 FORMAT(4H L,20H REAL D1 IMAG D1 ,20H REAL D2 IMAG D2 ,20H + 1 REAL D3 IMAG D3 ,4X,4H L,20H REAL D1 IMAG D1 ,20H REAL D2 + 2 IMAG D2 ,20H REAL D3 IMAG D3 ) + 9602 FORMAT(1H , I3,6F10.7) + 9603 FORMAT(1H+,68X,I3,6F10.7) + END + diff --git a/dwuck4/CDWCK4.FOR b/dwuck4/CDWCK4.FOR new file mode 100644 index 0000000..be67e0a --- /dev/null +++ b/dwuck4/CDWCK4.FOR @@ -0,0 +1,813 @@ + +c$debug +c*********************************************************************** + SUBROUTINE RADINT(F,FLL,UB,FF,LTR) +c +c Subroutine for computing radial integrals +c +c f Radial wave function storage +c fll Radial integral storage +c ltr Angular momentum transfer +c*********************************************************************** +c +c Ymax maximum X = ikr, off real axis +c Nx number of points off real axis, must be a multiple of 5 +C + parameter(ispc0 = 2005, ispc1 = 4000, ispc2 = 4000) + IMPLICIT REAL*8(A-H,O-Z) + double complex space0, space1, space2 + parameter (kmax = 400, lmax = 400, nx=200, Ymax=10.0) + double complex FLL(*), F(*), H(lmax), C(lmax), D(lmax) + 1 , cfk1, cfk2, cfk3, FP(2*nx+1), FA(2*nx+1) + 1 , UB, CTEMP, VTEMP, FFTEMP, buffr + 2 , T1, CN, CP, CD, SUM1, SUM3, Smat, HN +c + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC,IBUFF,IWORD,ILINE,JLINE +c + Common/array0/space0(ispc0) + Common/array1/space1(ispc1) + Common/array2/space2(ispc2) +c + DIMENSION UB(kmax),ff(10),buffr(1600) + 1, DRX(2), LPTBL(lmax/2), S(lmax), WT(5) + EQUIVALENCE (space1( 1), buffr), (space0( 1), D) + 2 ,(space0( 401), H), (space0(1201), C) +C + IF(RC(3).EQ.0.0) RC(3)=DR(3) +c Coulomb excitation factor + VFACT=3.0*VCE*CHSQ*Z(3)*ZA(3)*RC(3)**LTR/FLOAT(LTR+LTR+1) + if(ltr.eq.0) vfact=vfact/3.0 + DRX(1)=2.0*DR(3)/3.0 + DRX(2)=2.0*DRX(1) +C JACOBIAN FACTOR + ANORM= MAX (DR(1),DR(2))**2/(DR(3)* MIN (DR(1),DR(2))) + JR = NS(1) + JS = NS(2) + NP=LPLUS*(JR+JS) + INCR=LPLUS*(LTR+1) +c +C Unbound state and coulomb excitation end point data +C ff( 1) = D REAL (exp(2i*delta) - 1)/(2i) +C ff( 2) = D IMAG (exp(2i*delta) - 1)/(2i) +C ff( 3) = G irregular solution at R = Rmax +C ff( 4) = F regular solution at R = Rmax +C ff( 5) = K**2 real +C ff( 6) = K**2 imag +C ff( 7) = Eta * K +C ff( 8) = IVB switch +C = 2, unbound state routine +C = 4, coulomb excitation +C ff( 9) = Number of last point of form factor +C ff(10) = ISW parameter in BIND routine +C + IVB =ff( 8) + isw =ff(10) +c + if(ivb.eq.2) then +c Unbound state + FFTEMP = UB(KC) + elseif(ivb.eq.4) then +c Coulomb excitation + fftemp = cmplx(ff(1), ff(2))/(dr(3)*float(k)) + endif +c Spin orbit factor + FSFACT=FS(1)*(FS(1)+1.)+FS(2)*(FS(2)+1.) +c clear radial integral storage + INC=INCR*NS(1)*NS(2) + DO 3 II=1,INC + FLL(II)=0.0 + 3 CONTINUE +c + R3 = 0.0 + MX = 1 + DO 100 M=1,K + MX = 3-MX + R3 = R3+DRF +C +C READ IN DISTORTED WAVE RADIAL FUNCTIONS +C + READ (4)(F(J),J=1,NP) + VTEMP = UB(M)*DRX(MX) + IF(VFACT.NE.0.0) then +C +C COULOMB EXCITATION ADDITION TO FORM FACTOR +C + IF(R3 .GT .RC(3)) then + VTEMP = VTEMP + DRX(MX)*VFACT/R3**(LTR+1) + endif + endif +C +C**** READ IN NORMALIZATION CONSTANTS at last point +C + IF(M .EQ. K) then + READ (4)(C(I),I=1,NP) +c adjust last point in integration rule + VTEMP = VTEMP*0.5 + endif +c + INC=0 + IY=0 +c +c Loop over initial state spin states +c + FS1=-FS(1) + DO 96 I= 1,JR + IZ=NS(1)*LPLUS +c +c Loop over final state spin states +c + FS2=-FS(2) + DO 95 J=1,JS +c +c Final state L values +c + DO 90 LL=1,LPLUS + LK=LL + IZ1=LL+IZ+(J-1)*LPLUS + LP1=IABS(LL-LTR-1)+1 + LP2=MIN0(LL+LTR,LPLUS) + CTEMP = VTEMP*F(IZ1) +c +c Initial state L values +c + DO 80 LP=LP1,LP2,2 + IY1=LP+(I-1)*LPLUS + IND=LK+INC + IF(M .LT. KZ) GO TO 79 + FLL(IND)=FLL(IND) + CTEMP*F(IY1) + IF(M.EQ.K) THEN +C +C NORMALIZE RADIAL INTEGRALS +C + FLL(IND) = C(IZ1)*FLL(IND)*C(IY1)*ANORM +C L*S FORM FACTOR, use symmetrized form + IF(IVB.EQ.1) THEN + FJ1=FLOAT(LL)+FS1 + FJ2=FLOAT(LP)+FS2 + TEMP1 = (FJ1*(FJ1-1.)+FJ2*(FJ2-1.)-FLOAT(LL*(LL-1)) + 1 -FLOAT(LP*(LP-1))-FSFACT)/4. + FLL(IND)=FLL(IND)*TEMP1 + ENDIF + ENDIF + 79 continue + LK=LK+LPLUS + 80 CONTINUE + 90 CONTINUE + INC=INC+INCR + FS2=FS2+1.0 + 95 CONTINUE + IY=IY+LPLUS + FS1=FS1+1.0 + 96 CONTINUE + 100 CONTINUE +c special flag to skip this section + IF(ICON(20).NE.0) GO TO 1100 + IF(IVB.EQ.2 .OR .IVB.EQ.4) THEN +C +C UNBOUND STATE SECTION +C + cfk1 = fk2(1) + cfk2 = fk2(2) + cfk3 =cmplx(ff (5),ff(6)) + CN =cmplx(FF(1), FF(2)) + HN =cmplx(FF(3), FF(4)) + etak =ff(7) + FK(3) = sqrt(abs(ff (5))) +c +C read in scatt. amp. and asymptotic fcts - h(ODD) = g, h(EVEN) = f +c and coulomb phases +c + READ (4)(D(I),I=1,NP),(H(I),I=1,LPL2),(S(I),I=1,LPL2) + R1=DR(1)*FLOAT(KC) + R2=DR(2)*FLOAT(KC) + R3=DR(3)*FLOAT(KC) + DX=Ymax/FLOAT(NX) + EZ=EXP(-DX) + DX1=DX/(FK(1)-FK(2)*FMA(1)/FMA(2)-FK(3)) + IF(DX1.LE.0.0) THEN + WRITE(6,'(a)')'0KINEMATICS INCONSISTENT - EXIT ON ERROR' + STOP 'Kinematics error in Routine UNBIND' + ENDIF +C + NI=DX1/DR(1)/2.0+0.5 + NI=MAX0(NI,1) + DX1=DX1/FLOAT(NI) + DX2=DX1*FMA(1)/FMA(2) +C Calculate form factor extension into complex (Rmax,y) plane + IFLG=1 +C ----------------------------------------------------- + CALL UNBIND(LTR,NX,NI,FA,CN,HN,etak,cfk3,DX1,R1,IFLG) +C ----------------------------------------------------- +C ADJUST FA FOR FINITE RANGE, NON LOCALITY, AND PHASE +C FFTEMP IS FORM FACTOR AT RMAX +C FA(R+i0) IS UNMODIFIED FORM FACTOR FROM BIND AT RMAX +C T1 = FFTEMP/FA(R+i0) + T1 = FFTEMP/FA(nx+1) + DX=DX1*FLOAT(NI) + NX1=NX+1 +C Multiply FA BY R/(R+iy ) + DO 120 M=1,NX1 + M1=M + M2=2*NX+2 - M + X = dx*float(NX1-M) + FA(M1) = FA(M1)*(R1*T1)/cmplx(R1, X) + FA(M2) = conjg(FA(M1)) + 120 CONTINUE +C + WT(1)=190.*DX/288. + WT(2)=375.*DX/288. + WT(3)=250.*DX/288. + WT(4)=WT(3) + WT(5)=WT(2) +C MULTIPLY FA BY INTEGRATION WEIGHTS + DO 130 M=1,NX + M1=M + M2=2*NX+2 - M + MX=MOD(M-1,5) + 1 + FA(M1 ) = FA(M1 )*WT(MX) + FA(M2 ) = FA(M2 )*WT(MX) + 130 CONTINUE +C ADJUST WT FOR END POINT R+i0 IN INTEGRATION RULE + FA(NX1) = FA(NX1)*0.5*WT(1) +C + IF((2*LTR+1)*(2*NX+2).GT.IBUFF) THEN + WRITE(6,9900)LTR + 9900 FORMAT('0NOT ENOUGH CIRCULAR BUFFER SPACE FOR DEUTERON WAVE,' + 1 ,' LTR=' , I3, ' IS TOO LARGE') + STOP 'BUFFER ERROR IN UNBIND' + ENDIF +C + INC=0 + IY1=0 + FS1=-FS(1) + DO 1020 I=1,JR + IY2=NS(1)*LPLUS + FS2=-FS(2) + DO 1010 J=1,JS + LPX=0 + LPT=1 + DO 1000 LL=1,LPLUS + LK=LL + LP1=IABS(LL-LTR-1)+1 + LP2=MIN0(LL+LTR,LPLUS) + FJ2=FLOAT(LL-1)+FS2 +C CALCULATE PROTON WAVE extension into complex plane + LM=LL+LPLUS + IZ2=IY2+LK + IFLG=1 +C ----------------------------------------------------- + CALL UNBIND(LL-1,NX,NI,FP(1),D(IZ2),H(LM) + 1, ETA(2)*fk(2),cfk2,DX2,R2,IFLG) +C ----------------------------------------------------- +C + M2=2*NX+2 + LP=1 + IF(LL.EQ.1) LP=MIN0(LTR+1,LPLUS) + IF(LPX.GE.LPLUS) GO TO 160 + DO 150 L=1,LP +C CALCULATE DEUTERON WAVE AND PLACE IN CIRCULAR BUFFER + LM=LPX+1 + IZ1=IY1+LM + IFLG=0 +C ----------------------------------------------------- + CALL UNBIND(LPX,NX,NI,BUFFR(LPT),D(IZ1),H(LM) + 1, ETA(1)*fk(1),cfk1,DX1,R1,IFLG) +C ----------------------------------------------------- + LPX=LPX+1 + LPTBL(LPX)=LPT-1 + LPT=LPT+(NX+1) + IF(LPT+(NX+1).GT.IBUFF/2) LPT=1 + 150 CONTINUE + 160 CONTINUE +C +C MULTIPLY FP BY FA and place in FP +C + LM=LL+LPLUS + CP = cmplx(COS(S(LM)-S(LPLUS+1)), SIN(S(LM)-S(LPLUS+1)) ) + NX2=2*NX+1 + DO 300 M=1,NX2 + FP(M) = CP*FP(M)*FA(M) + 300 CONTINUE +c + LPT1=LPTBL(LP)+1 + LPT2=LPT1+(NX+1)-1 +C + DO 400 LP=LP1,LP2,2 + FJ1=FLOAT(LP-1)+FS1 + IND=LK+INC + SUM1=0.0 + SUM3=0.0 +C CONSTRUCT OUTGOING WAVE AMPLITUDE FROM D = ( EXP(2i*delta) - 1)/2i + IZ1=IY1+LP + Smat = cmplx(0.0, 2.0)*D(IZ1) + 1.0 + CD = cmplx(COS(S(LP)-S(1)), SIN(S(LP)-S(1)) ) + IF(FJ1.LT.0.0.OR.FJ2.LT.0.0) GO TO 331 +C NUMERICAL INTEGRATION FOR RADIAL MATRIX ELEMENTS +C INTEGRATION IS +i*Dy FOR +y AND -i*Dy FOR -y +C WITH LIMITS ON y OF 0 --> infinity HENCE THE + SIGN +C WHEN COMBINING OUTGOING AND INGOING DEUTERON WAVES +C + FE=1.0 + NX1=NX+1 + DO 330 M=1,NX1 + M1=NX+2 - M + M2=NX + M + IX1=LPTBL(LP)+M1 +c +c Let k = k_d - k_p - k_n, EZ = exp(-k*dy), FE = exp(-k*y) +c use UD(-, R-iy) = conjg[ UD(+, R+iy) ] +c +C MULTIPLY BY DEUTERON OUTGOING WAVE PART, UD(+)*FP(R+iy)*exp(-k*y) + SUM1 = SUM1 + FP(M1)* BUFFR(IX1) *FE +C MULTIPLY BY DEUTERON INGOING WAVE PART, UD(-)*FP(R-iy)*exp(-k*y) + SUM3 = SUM3 + FP(M2)*conjg(BUFFR(IX1))*FE + FE=FE*EZ + 330 CONTINUE + 331 CONTINUE +C UD = (S*UD(+) + UD(-))/2 (divide by 2i NOT! since dz = idy) + FLL(IND) = FLL(IND)+(Smat*SUM1+SUM3)*(0.5*CD*ANORM) + LK=LK+LPLUS + 400 CONTINUE + 1000 CONTINUE + INC=INC+INCR + IY2=IY2+LPLUS + FS1=FS1+1.0 + 1010 CONTINUE + IY1=IY1+LPLUS + FS2=FS2+1.0 + 1020 CONTINUE +C +c End of unbound state section +c + ENDIF +C + 1100 CONTINUE +C +C + REWIND 4 + JR=IBF(7)+1 + JS=IBF(8)+1 + IF(NLTR.NE.1) GO TO 1105 + IF(JR+JS.EQ.2) GO TO 2000 + 1105 CONTINUE +C +C WRITE RADIAL MATRIX ELEMENTS ON TAPE 2 +C + JSX=JS + IF(IBF(6).EQ.0) JSX=1 + DO 1120 I=1,JR + IY=I-1 + IF(IBF(5).EQ.0) IY=0 + DO 1110 J=1,JS + IZ=J-1 + IF(IBF(6).EQ.0) IZ=0 + INC=INCR*(JSX*IY+IZ)+1 + INDEX=INC-1+INCR + WRITE(2)(FLL(II),II=INC,INDEX) + 1110 CONTINUE + 1120 CONTINUE + 2000 CONTINUE + RETURN + END + +c*********************************************************************** + SUBROUTINE UNBIND(L,NX,NI,Y,D,H,ETAK,cfk2,DX,R,IFLG) +C +c Subroutine to extend wave functions into complex plane for unbound +c stripping cases. +c +c L Orbital angular momentum +c nx Number of points in integration +c ni Number of intermediate points +c y Storage for resulting wave function +c d Scattering amplitude = (exp(2i*delta) - 1)/(2i) +c h Hankel functions at Rmax +c etak Coulomb parameter * wave number +c cfk2 Square of wave number +c dx Integration step size +c r Rmax on real axis +c iflg =0 for single side of real axis, =1 for both sides +c*********************************************************************** +c + implicit real*8(a-h,o-z) + double complex Y(*), D, H, cfk2, Y1, Z1, Z0, Z + 1 , T1, T3, Smat +c + DATA Yinit/1.0E+00/ +C + R2=R*R + FL1=L*(L+1) + DX12=DX*DX/12. + EZ = EXP(-DX*SQRT(real(cfk2))) +c set starting points + X = DX*FLOAT(NX*NI+NI+1) + Z = cmplx(R, X) + ETAK2=2.0*ETAK + IF(real(cfk2) .EQ. 0.0) THEN + Y0 = 1.0 - cmplx(0.0, float(L)) *DX/Z + ELSE + Y0 = Yinit + ENDIF + Z0 = Y0 * (1.0 + DX12*(FL1/Z**2 + ETAK2/Z - cfk2)) +C + Z = Z - cmplx(0.0D+0, DX) + Y1 = Yinit + Z1 = Y1 * (1.0 + DX12*(FL1/Z**2 + ETAK2/Z - cfk2)) + +C INTEGRATE INWARDS FROM R + iy TO R - iy FOR IFLG = 1 +C FROM R + iy TO R FOR IFLG = 0 +C REMOVE EXP( k*y ) FACTOR SO THERE IS NO OVERFLOW +C + if(iflg .eq. 0) then + n2 = nx+1 + else + n2 = 2*nx+1 + endif +c + DO 200 I=1,N2 + DO 190 J=1,NI + Z = Z - cmplx(0.0D+0, DX) + T1=12.0*Y1 + T1=(T1 - 10.0*Z1 - Z0*EZ)*EZ + Z0 = Z1 + Z1 = T1 + Y1 = Z1 / (1.0 + DX12*(FL1/Z**2 + ETAK2/Z - cfk2)) + 190 CONTINUE + Y(I)=Y1 + 200 CONTINUE +C + IF(IFLG .EQ. 0) then +C +C NORMALIZE 'DEUTERON' WAVE TO OUTGOING HANKEL FUNCTION +C +C Z0 is normalization constant to an +C outgoing Hankel fct at Z = RMAX + i0 +C Z0 = H(+)/Y( R + i0) + Z0 = H/Y(NX+1) + DO 220 I=1,NX+1 + Y(I ) = Y(I )*Z0 + 220 CONTINUE +c + RETURN + else +c +c here for proton or neutron function +c +c Construct an outgoing wave amplitude from H +C H(1) IS G +C H(2) IS F +C Z0 is normalization constant to an +C outgoing Hankel fct at Z = RMAX + i0 +C Z0 = H(+)/Y(R + i0) +c + Z0 = H/Y(NX+1) +c +C D is scattering amplitude = (exp(2i*delta) -1)/(2i) +c + Smat = cmplx(0.0, 2.0)*D + 1.0 + F1=1.0 + F2=EZ**(2*NI) + NX1 = NX+1 + DO 250 I=1,NX1 + IK = NX+2 - I + IL = NX + I +C T1 = exp(-k*X)*H(R-iy) +C T3 = exp( k*X)*H(R+iy) + T1 = Y(IL)*Z0 + T3 = Y(IK)*Z0*F1 +c +C u(R+iy) = exp(-k*X)*(S*H(R+iy) - H(R-iy))/(2*i) + Y(IK) = (Smat*T3 - dconjg(T1) )*cmplx(0.0, -0.5) +C u(R-iy) = exp(-k*X)*(S*H(R-iy) - H(R+iy))/(2i) + Y(IL) = (Smat*T1 - dconjg(T3) )*cmplx(0.0, -0.5) + F1=F1*F2 + 250 CONTINUE +c + endif +c + RETURN +c + END + +c*********************************************************************** + SUBROUTINE BETAFN(FLL,D,LTR,JX,flfact,i_sym) +C +c Subroutine to form scattering amplitude from radial matrix elements +c +c FLL Storage for radial matrix elements +c D Storage for scattering amplitudes +c LTR L -transfer +c JX 2*J-transfer +c flfact normalizing factor +c i_sym symmetry flags +c*********************************************************************** +c + implicit real*8(a-h,o-z) + double complex FLL(*), D(*) + logical i_sym(2), igam1,igam2 +C + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC +c + ISB=IS(3) + JR=NS(1) + JS=NS(2) +c +c Set up spin for photon +c + if(fm(1).eq.0.0.and.is(1).eq.2) then + isi=0 + igam1=.true. + else + isi=is(1) + igam1=.false. + endif + if(fm(2).eq.0.0.and.is(2).eq.2) then + isf=0 + igam2=.true. + else + isf=is(2) + igam2=.false. + endif +c + MPLUS=JX/2+1 + IFACT=MPLUS*JR*JS + J2K=(1.0+PHASEF(NS(2)))/2.0 + M2K=JX-MPLUS-MPLUS+2 + LX=LTR+LTR + TEMP2=SQRT(FLOAT((JX+1)*(IS(1)+1)))*flfact + IF(FN.EQ.0.0) THEN +c clear amplitude storage unless for coherent sum + IND=2*LPLUS*IFACT + DO 10 M=1,IND + D(M)=0.0 + 10 CONTINUE + ENDIF + IS1=-IS(1) + DO 95 I=1,JR + IS2=-IS(2) + DO 90 J=1,JS + IF(NLTR.NE.1) GO TO 14 + IF(JR*JS.EQ.1) GO TO 15 + IF(IBF(5)+IBF(6).EQ.0) GO TO 15 + 14 CONTINUE +C +C READ RADIAL MATRIX ELEMENTS FROM TAPE 2 +C + INCR = LPLUS*(LTR+1) + READ (2)(FLL(INDEX),INDEX=1,INCR) + 15 continue +c final L loop + DO 80 LL=1,LPLUS + lf=LL-1 + LLX=lf+lf + JLX=LLX+IS2 + IF(JLX.LT.0) GO TO 75 + if(i_sym(2)) then + if(phasef(lf).gt.0.0) then + temp4=2.0*temp2 + else + temp4=0.0 + endif + else + temp4=temp2 + endif + TEMP4=temp4*SQRT(FLOAT(JLX+1))*float(llx+1) + if(igam2) then + temp4=temp4*sqrt(float(ll)/(float(lf)+1.e-6)) + 1 *(z(1)+za(1)*(-fm(1)/fma(1))**lf) + endif + LSTOR=lf*IFACT + LP1=IABS(LL-LTR-1)+1 + LP2=MIN0(LL+LTR,LPLUS) + LK=0 +c initial L loop + DO 60 LP=LP1,LP2,2 + li=lp-1 + LPX=LP+LP-2 + JPX=LPX+IS1 + IF(JPX.GE.0) then + if(i_sym(1)) then + if(phasef(li).gt.0.0) then + temp3=2.0*temp4 + else + temp3=0.0 + endif + else + temp3=temp4 + endif + if(igam1) then + temp3=temp3*sqrt(float(lp)/(float(li)+1.e-6)) + 1 *(z(2)+za(1)*(-fm(2)/fma(2))**li) + endif + TEMP=temp3*SQRT(FLOAT(LPX+1))*PHASEF((LP-LL-LTR)/2) + 1 *VCC(LLX,LX,LPX,0,0)*WINEJ(LLX,isf,JLX,LX,ISB,JX,LPX,isi,JPX) + INDEX=LK+LL + KT=0 +c Initial state spins + MSP=-IS(1) + DO 57 MS1=1,JR +c Final state spins + MS =-IS(2) + DO 55 MS2=1,JS + VCP=VCC(LPX,IS(1),JPX,0,MSP) +c + DO 50 M=1,MPLUS + MK=M+M-1 + MX=MK-1+M2K + ML2=MSP-MX-MS + ML=IABS(ML2/2) + IF(ML.LE.lf) then + IND=LSTOR+KT+M + FACT=VCP*VCC(JLX,JX,JPX,MSP-MX,MX)*VCC(LLX,IS(2),JLX,ML2,MS) + 1 *SQRT(YXFCT(lf+ML,lf-ML))*TEMP + D(IND)=D(IND)+FLL(INDEX)*FACT + endif + 50 CONTINUE + KT = KT+MPLUS + MS =MS +2 + 55 CONTINUE + MSP=MSP+2 + 57 CONTINUE + endif + LK=LK+LPLUS + 60 CONTINUE + 75 CONTINUE + 80 CONTINUE + IS2=IS2+2 + 90 CONTINUE + IS1=IS1+2 + 95 CONTINUE + RETURN + END + +c*********************************************************************** + SUBROUTINE INSIG(D,PLM,JTR,FACTR) +c +c Calculate inelastic cross sections and spin observables. +c +c D Final state amplitudes +c PLM Legendre polynomial storage +c JTR 2*J_transfer +c Factr Normalization factor from BDWUCK4 +c*********************************************************************** +c + parameter( ispc0 = 4010, ispc1 = 8000, ispc2 = 8000) + implicit real*8(a-h,o-z) + parameter(pi = 3.14159265, NX = 200, npol = 10) + double complex D(*), SUM1, SUM(1000) + logical i_open20, i_out20, i_20flag +c + COMMON ALPHA(15),IDAT(6),ICON(20),ANGLE(5),HBARC,AMU,AMASS,CHSQ,AA + 1,DRF,Z(3),ZA(3),FM(3),FMA(3),RC(3),AC(3),PNLOC(3),FS(3),ECM(3) + 2,FK(3),FK2(3),ETA(3),DR(3),FMU(3),FN,FL,FJ2,FSS,VCE,FNRNG,RSIG(2) + 3,K,KZ,LPLUS,LPL2,IS(3),NS(3),NLTR,LTRT(8),JTRT(8),ISTRT(8),IBF(8) + 4,KC,IBUFF,IWORD,ILINE,JLINE + Common/array2/Space2(ispc2) +c + DIMENSION PLM(1000), Polz(npol) + DIMENSION Sigplt(NX), Asyplt(NX) + EQUIVALENCE (Space2(1), SUM(1)), (Space2(3601), Sigplt(1)) + 1 , (Space2(3601+NX), Asyplt(1)) + 2 , (ANGLE(1), THETAN),(ANGLE(2), THETA1) + 3 , (ANGLE(3), DTHETA), (SIG, Polz(1)) + data i_20flag / .true. / +C + if(icon(17) .eq. 2 .or. icon(17) .eq. 3) then + i_out20 = .true. + if(i_20flag) then + i_open20 = .true. + endif + i_20flag = .false. + else + i_open20 = .false. + i_out20 = .false. + endif + NTHETA=THETAN + NTHETA = min0(NTHETA, NX) + asymax=0.0 + JR=NS(1) + JS=NS(2) + if(is(1).eq.2.and.fm(1).eq.0.0) then +c initial state average factor for Gamma ray + FACTR=sqrt(FACTR*3.0/2.0) + else + FACTA=sqrt(FACTR) + endif +c + M2K=(1.0-PHASEF(IS(3)))/2.0 + NPLUS=(JTR+IS(1)+IS(2))/2+1 + MPLUS=JTR/2+1 + IFACT = MPLUS*JR*JS + WRITE(6,9000) + IF(NTHETA.EQ.0) GO TO 230 + TotSig=0.0 +c + THETA=THETA1 + DO 120 NTH=1,NTHETA + CALL LGNDR(PLM,NPLUS,LPLUS,THETA) +c + Index1 = JS*JR*((JTR+1)/2) + Index2 = Index1 + 1 + DO 100 M=1,MPLUS + M2 = 2*(M-1)+M2K + KT=M + IS1=-IS(1) +c Loop for initial spin substates + DO 70 I=1,JR + IS2=-IS(2) +c Loop for final spin substates + DO 60 J=1,JS + ML=-(M2+IS2-IS1)/2 + PHAS1 = 1.0 + IF(ML .lt. 0) PHAS1 = PHASEF(ML) + PHAS2 = 1.0 + IF(ML .gt. 0) PHAS2 = PHASEF(ML) + ML1 = IABS(ML)*LPLUS + SUM1=0.0 +c + IND=KT + DO 40 LL=1,LPLUS + ML1 =ML1 +1 + SUM1 = SUM1+D(IND)*PLM(ML1) +C +C CALCULATE TOTAL INELASTIC SIGMA +C + IF(NTH .eq. 1) THEN + L=LL-1 + ML = iabs(ML) + if(ML.le.L) then + FACT = conjg(D(IND))*D(IND)*YXFCT(L-ML,L+ML)/FLOAT(2*L+1) + IF(M2 .NE. 0) FACT=FACT*2.0 + TotSig=TotSig+FACT + endif + ENDIF + IND=IND+IFACT + 40 CONTINUE + index1 = index1+1 + SUM(index1) = SUM1*PHAS1 *FACTA + if(M2 .ne. 0) then + index2 = index2-1 + SUM(index2) = SUM1*PHAS2 *FACTA + endif +c if(nth.eq.2) write(*,'(a,4i3, 1p4e12.4)') +c 1 ' Is2,Is1 M, ML :',is2,is1,M,ML,SUM(Index1),SUM(Index2) + KT = KT+MPLUS + IS2=IS2+2 + 60 CONTINUE + IS1=IS1+2 + 70 CONTINUE +c + 100 CONTINUE +c + Maxi = JTR + 1 + Max1 = 1 + CALL POLFCT(Max1,Maxi,JR,JS,Theta,Polz,SUM + 1 ,i_open20,i_out20,nth,ntheta,ALPHA,IDAT) +c + WRITE(6,9001)THETA,(Polz(I), I=1,10),THETA + SIGPLT(NTH)=SIG + ASYPLT(NTH)=Polz(3) + asymax=max(asymax,abs(asyplt(nth))) + THETA=THETA+DTHETA + 120 CONTINUE +c + TotSig =TotSig *4.0*pi*FACTA**2/float(JR) + WRITE(6,9002)TotSig +c + IF(ICON(13).ne.0) then + WRITE(7,9011)ALPHA + WRITE(7,9010)(SIGPLT(N),N=1,NTHETA) + ENDIF + IF(ICON(9).NE.0) then + NTH=NTHETA + WRITE(6,9011)ALPHA,(IDAT(I),I=1,3) + CALL DWPLOT(NTH,ICON(9),SIGPLT,DTHETA,THETA1) + NTEMP=-10 + if(IS(1).NE.0.and.asymax.gt.0.05) then + WRITE(6,9013)ALPHA,(IDAT(I),I=1,3) + CALL DWPLOT(NTH,NTEMP ,ASYPLT,DTHETA,THETA1) + endif + ENDIF + 230 continue + RETURN +c + 9000 FORMAT('0 Theta',' Inelsig,fm**2' + 1, ' Polz',' Asy',' Ayy' + 2, ' A22',' A21',' A20' + 3, ' T22',' T21',' T20' + 4, ' Theta') + 9001 FORMAT(0PF7.2,1PE14.4,0P9F10.4,0PF7.2) + 9002 FORMAT('0Tot-sig',1PE13.4) + 9010 FORMAT(1PE10.4,5(4X,1PE10.4)) + 9011 FORMAT('1Inelastic ',15A4,I4,2(1H/,I2.2),I4,2(1H.,I2.2)) + 9013 FORMAT('1Asymmetry ',15A4,I4,2(1H/,I2.2),I4,2(1H.,I2.2)) + END + diff --git a/dwuck4/CompileAndTest.sh b/dwuck4/CompileAndTest.sh new file mode 100755 index 0000000..dd0d10d --- /dev/null +++ b/dwuck4/CompileAndTest.sh @@ -0,0 +1,18 @@ +#added --std=legacy to obviate awkward compilation error in ADWCK.FOR caused by FORTRAN being a messy little goblin + +gfortran --std=legacy -c *.FOR +gfortran -c DW4UNIX.F + +cd culib4 + +gfortran --std=legacy -c *.FOR + +cd ../culib8 + +gfortran --std=legacy -c *.FOR + +cd .. + +gfortran *.o culib8/*.o -o DWUCK4 + +./DWUCK4 < DW4TST.DAT diff --git a/dwuck4/DW4TST.DAT b/dwuck4/DW4TST.DAT new file mode 100644 index 0000000..010033a --- /dev/null +++ b/dwuck4/DW4TST.DAT @@ -0,0 +1,133 @@ +1001000030000000 CA40(D,P)CA41 G.S. LZR WITH PROTON SPIN ORBIT ++37. +00. +05. ++15+01+03+07 ++00.10 +12. ++13.70 +02. +01. +40. +20. +01.40 +02. ++01. -97.40 +01.112 +00.875 +01.562 +00.477 +-02. +01.112 +00.875 +70.00 +01.562 +00.477 ++06.141 +01. +01. +41. +20. +01.25 +01. ++01. -49.47 +01.18 +00.70 +24.2 +01.180 +00.700 +-02. +01.18 +00.70 +19.80 +01.252 +00.750 +-08.364 +01. +00. +40. +20. +01.25 +01. +-01. -01. +01.18 +00.70 +25. ++00. +03. +07. +01. +58. +1001000030100000 ZR91 (D,HE3) Y90 28 MEV. P3/2 HULTHEN FR CORR ++55. +00. +01.6667 ++20+01+01+02 ++00.1 +00. +18. +00.77 +90. ++28. +02. +01. +91. +40. +01.30 ++02. +00. +01.10 +00.80 +00. +49.9 +01.27 +00.844 +00. +-01. -100. +01.10 +00.80 +00. +00. +01.27 +00.844 +00. +-03.21 +03. +02. +90. +39. +01.40 +-01. -170. +01.14 +00.75 +00. -18. +01.60 +00.80 +00. +-08.71 +01. +01. +90. +39. +01.25 +-01. -01. +01.25 +00.70 +18. ++01. +01. +03. +01. +56.77 +1212000030000000 TEST OF OPTIONS 1 AND 6 IN CATHEN ++55. +00. +03.3334 ++15+02+00+00 ++00.1 +00. +15. ++27. +01. +01. +56. +26. +01.25 ++01. -50. +01.25 +00.65 +00. +00. +01.25 +00.47 +00. +-02. +00. +01.25 +00.65 +00. +40. +01.25 +00.47 +00. ++00. +01. +01. +56. +26. +01.25 ++01. -50. +01.25 +00.65 +00. +00. +01.25 +00.47 +00. +-02. +00. +01.25 +00.65 +00. +40. +01.25 +00.47 +00. +-01. +01. +08.00 +40.0744 +-08. +01. +00. +56. +26. +01.25 +-01. -01. +01.25 +00.65 +25. ++01. +01. +03. +01. +55. +-01. +06. +00.00 +01. +-08. +01. +00. +56. +26. +01.25 +-01. -01. +01.25 +00.65 +25. ++01. +01. +03. +01. +55. +1011000030000000 FE56(P,P)FE56* L=3- SPIN ORBIT = OPTION 4 ++37.0000+00.0000+05.0000 ++15+02+03+03 ++00.1000+00.0000+15.0000 ++22.5000+01.0078+01.0000+56.0000+26.0000+01.2500+00.0000+00.0000+01.0000 ++04. -28.2 +01.25 +00.735 +00. +00. +01.25 +00.735 +00. ++01.0000-46.3800+01.2500+00.7350+00. +00.0000+01.2500+00.7350+00.0000 +-02.0000+00.0000+01.2500+00.4370+00.0000+61.4000+01.2500+00.4370+00.0000 +-04.4999+01.0078+01.0000+56.0000+26.0000+01.2500+00.0000+00.0000+01.0000 ++04. -28.2 +01.25 +00.735 +00. +00. +01.25 +00.735 +00. ++01.0000-46.3800+01.2500+00.7350+00. +00.0000+01.2500+00.7350+00.0000 +-02.0000+00.0000+01.2500+00.4370+00.0000+61.4000+01.2500+00.4370+00.0000 ++00.0000+01.0000+00.0000+56.0000+26.0000+01.2500+00.0000+00.0000+00.0000 ++02.0000-46.3800+01.2500+00.7350+00. +00.0000+01.2500+00.7350+00.0000 +-03.0000+00.0000+01.2500+00.4370+00.0000+61.4000+01.2500+00.4370+00.0000 ++00.0000+01.0000+00.0000+56.0000+26.0000+01.2500+00.0000+00.0000+00.0000 ++11.0000-46.3800+01.2500+00.7350+00. +00.0000+01.2500+00.7350+00.0000 ++00.10 +03. +-12.0000+00.0000+01.2500+00.4370+00.0000+61.4000+01.2500+00.4370+00.0000 ++00.10 +03. +1222000030000000 FE54(HE3,T)CO54 EX= 1.82 1+,LTR=0,2 COHERENT SUM ++55. +00. +01.6667 ++25+02+00+02+02+02 ++00.1 +00. +15. +00. +00. ++37.7 +03. +02. +54. +26. +01.4 +00. +00. +01. +-01. -170.6 +01.143 +00.721 +00. -18.5 +01.599 +00.829 +00. +-10.071 +03. +01. +54. +27. +01.4 +00. +00. +01. +-01. -170.6 +01.143 +00.721 +00. -18.5 +01.599 +00.829 +00. ++02. +03. +00.7 +10. +07. +00. +02. +-13.6 +01. +00. +54. +26. +01.25 +00. +00. +02. +-01. -01. +01.25 +00.65 +25. ++00. +03. +07. +01. +52. +-04. +01. +01. +54. +26. +01.25 +00. +00. +02. +-01. -01. +01.25 +00.65 +25. ++00. +03. +07. +01. +52. +-02. -01. +00.7 +10. +07. +00. +02. ++02. +03. +00.7 +10. +07. +00. +02. +-13.6 +01. +00. +54. +26. +01.25 +00. +00. +02. +-01. -01. +01.25 +00.65 +25. ++00. +03. +07. +01. +52. +-04. +01. +01. +54. +26. +01.25 +00. +00. +02. +-01. -01. +01.25 +00.65 +25. ++00. +03. +07. +01. +52. +-02. -01. +00.7 +10. +07. +00. +02. +1202000030000000 CA40(T,P) 0+ 10.1 MEV ZR-TNT BAYMAN CASE ++55. +00. +03.3334 ++20+01+00+00 ++00.10 -16.00 ++10.10 +03.016 +01. +40. +20. +01.24 +00.00 +00. +-01. -144. +01.24 +00.678 +00. -30. +01.45 +00.841 +00. ++11.35 +01.008 +01. +42. +20. +01.30 +00.00 +00. ++01. -53. +01.25 +00.65 +00. +00. +01.25 +00.47 +00. +-02. +00. +01.25 +00.65 +00. +62.00 +01.25 +00.47 +00. +-01. +05. +00. +03.118 +-09.90 +01.008 +00. +40. +20. +01.25 +-01. -01. +01.25 +00.65 +25. ++01. +01. +03. +01. +55. +1202000030000000 TI50(P,T)TI48 0+ 19 MEV .95(F7/2)**2+ .31(P3/2)**2 ++55. +00. +01.6667 ++20+01+00+00 ++00.1 +00. +15. +00. ++19. +01. +01. +50. +22. +01.25 +01. ++04. -24. +00.98 +00.75 +00. ++01. -54.6 +01.12 +00.78 +00. -03.2 +01.32 +00.568 +00. +-02. +00. +01.12 +00.78 +00. +24. +01.32 +00.568 +00. +-10.61 +03. +01. +48. +22. +01.3 +01. +-01. -165.4 +01.16 +00.752 +00. -16.4 +01.498 +00.817 +00. ++01. +05. +00. +00.95 +-09.55 +01. +00. +48. +22. +01.25 +-01. -01. +01.25 +00.65 +25. ++00. +03. +07. +01. +55. +-01. +05. +00. +00.31 +-09.55 +01. +00. +48. +22. +01.25 +-01. -01. +01.25 +00.65 +25. ++01. +01. +03. +01. +55. +1011000030000000 O16(D,P)O17 D3/2+ UNBOUND STRIPPPING RMAX= 15 FM ++55. +00. +03.3334 ++16+01+02+03 ++00.10 +00. -15. ++12. +02. +01. +16. +08. +01.25 +02. ++01. -85.3 +01.25 +00.606 +00. +00. +00.958 +01.578 +00. +-02. +00. +01.25 +00.606 +00. +51.00 +00.958 +01.578 +00. +-03.17 +01. +01. +17. +08. +01.25 +00. +01. ++01. -57.32 +01.25 +00.425 +00. +00. +01.207 +00.254 +00. +-02. +00. +01.25 +00.425 +00. +30.80 +01.207 +00.254 +00. ++00.933 +01. +00. +16. +08. +01.25 +01. +-01. -01. +01.325 +00.50 +34.00 ++00. +02. +03. +01. +51.30 +00. +00.00 +9 END OF DATA DWUCK4 test cases + \ No newline at end of file diff --git a/dwuck4/DW4UNIX.F b/dwuck4/DW4UNIX.F new file mode 100644 index 0000000..1f6cac7 --- /dev/null +++ b/dwuck4/DW4UNIX.F @@ -0,0 +1,127 @@ + SUBROUTINE DW4UNIX(IDAT,ifirst) + DIMENSION IDAT(8) +C + if(ifirst.eq.0) then + OPEN(UNIT=2,STATUS='SCRATCH',FORM='UNFORMATTED') + OPEN(UNIT=4,STATUS='SCRATCH',FORM='UNFORMATTED') +C + CALL unixfile(5,6,'DWUCK4 AT YOUR SERVICE') + endif +C + CALL unixDAT(IDAT) +C + RETURN + END +C +C SUBROUTINE UNIXFILE (INPUT, IOUTPUT, TITLE) +C +C @(#)sunfile.f 1.2 90/05/30 10:38:37 J.J.A. Zalmstra +C +C This subroutine will determine the files associated with STDIN(= unit 5) +C and STDOUT (= unit 6) and print a two line title block to STDOUT +C +C + SUBROUTINE UNIXFILE (INPUT, IOUTPUT, TITLE) + CHARACTER*(*) TITLE +C + integer getcwd + character*40 instdat, fdate + character*40 infile, outfile + character*40 user + character*40 cwd + character*256 arg + parameter (instdat = 'Mon May 21 11:05:50 1990 ') + + infile = 'Standard Input' + outfile= 'Standard Output' + user = 'unknown' + cwd = 'unknown' +c +c Determine the user +c + call getenv('USER',arg) + if(lnblnk(arg) .ne. 0) user = arg + +c +c We have read all flags and must now check for input and/or +c outputfilename. 'arg' contains the argument to check, unless +c there are no arguments at all. +c + nargs = iargc() + if(nargs .gt. 0) then + call getarg(1,arg) + if(arg(1:1) .ne. '-') then + open(input,file=arg,err=99) + call ltrunc(arg, infile, 40) + rewind input + endif + endif + if(nargs .gt. 1) then + call getarg(2, arg) + open(ioutput,file=arg,err=99) + rewind ioutput + call ltrunc(arg, outfile, 40) + endif +c +c Print title page +c + write(6,1020) title,instdat,fdate() + if(getcwd(arg) .eq. 0) then + call ltrunc(arg, cwd, 40) + else + write(0,*)'Cannot get current directory name' + endif + write(ioutput,1030)user,cwd,infile,outfile + return + + + 99 write(0,1010)arg + stop + 1010 format('Cannot open file ',a) + 1020 format(1h1,20(1h*),A,20(1h*)// + + ' installed',t20,a,/,' today is ',t20,a, + + 20(/)) + 1030 format(20x,55(1h*)/20x,1h*,t75,1h*/ + + 20x,1h*,' User : ',a40,t75,1h*/ + + 20x,1h*,' Directory: ',a40,t75,1h*/ + + 20x,1h*,' Input : ',a40,t75,1h*/ + + 20x,1h*,' Output : ',a40,t75,1h*/ + + 20x,1h*,t75,1h*,/20x,55(1h*)/1h1) + end + + + subroutine ltrunc(src, dest, maxlen) +c +c copy src to dest but truncate from the left if +c the length of src exceeds maxlen +c + character*(*) src, dest + + istart = 1 + iend = lnblnk(src) + if(iend .gt. maxlen) then + istart = iend - maxlen - 3 + dest(1:2) = '<-' + dest(3:maxlen) = src(istart:iend) + else + dest = src(istart:iend) + endif + return + end + + SUBROUTINE unixDAT(IDAT) + DIMENSION IDAT(8) +C + CALL date_and_time(VALUES = IDAT) +c + RETURN + END + + SUBROUTINE SECOND(TIME) +C THIS SUBROUTINE INTERFACES THE SUN SECONDS ROUTINE +C TO THE SECONDS CALL IN THE PROGRAMS +c implicit real*8 time + real tarray(2), time + time = etime(tarray) + RETURN + END diff --git a/dwuck4/DWUCK4 b/dwuck4/DWUCK4 new file mode 100755 index 0000000000000000000000000000000000000000..6cdc74421438feb2eaa79d8abc2f0786514650d3 GIT binary patch literal 191656 zcmeEveSB2K)qfUq6_vOfC5l!wzT+F9^@UVaP*xTt3Tia55J2S33i1F^e1U>tmG!bV zR#Q>I(iSbXw9*zWRna5@35quOQn95qD%z}|#dm!FeZS|-y*qn%mw=D`{GLC|=aaqn z&YU@O=A1KU&YYP$_s7w}=X45%3cSBv3eG6t)7C>ZrJu>@@n$D;S5VNepie;&eh(_> zUa%`t3-RC24HAjx+w#D_mk0mAJnh<&2mZJ`^`4oh-pV|9+JPq*f1b>P=b=1!KF9-q zZyxy1^3*#sPx>x-_|upN{>VJ=*W{t|(md(^&O`r0dEk5Hf!`|+{MX3Cgx6Q)iZ zGv(s)v#+{((wK`!U4GRV&C8uLZtT@lrcD_&X#{_!jvX^)#FR0kt{QRelnK*N&d;4X zZOVj6<3?OHhJX_$X5_HM6&Wd4PX<{mV5R!_M_)a0@>OG|TUleKO_-QjnV=kT1sY(1 zO`SI4>d9j!Wu{CSbM1slcI^{JO&K@Zg7NE}FlpMDacEz#X+8iOo~z)fDN{yWmsJeZ z2&N#FK04FRtb${&7?r`=bb;}sri>a5*<}?OH)h(HN!M7k5ygm6ldc$%&AHK6T|L$2 z8p@8o)@IPuG34X430F^=YGL%6VgE+AaowyS`kzM4s5LXBPA^0Cm)6@{I4m{3INY_;Rmyj%{u<4xL zkm8_BAxeb`#=&NI`<+uL~?$2%o36oZHzy!b-7ToE> zhYALpyi&lA|MaK3(VJT2=XWX?Zt{^`kPv)M!Ea5P;_Kw&^Za$sPi{Sor3woA8GqbM zuQTbLTVWXS=cRkk8~&>4^xgIl2>ofZ(#@1bGTN>5eJ%K{Ryz6N{cW?-Ip%wRv!2s> z!36L!{WsT2R|w6kv(mv5|8KsPPJh+=TV$onyvk%OvC`RQ?{ArvPMW;G6;`^(JLWZ5 z=@7L4*J7pb>8BPHv|8!j)QZ^~tn?xazRgPC%Svyz(!*BzRx6!4>-}xB(lh)dBNw)H z9}gJU&Q?0-2i{-AN-yyeaqVWM?`Nf#TIt=a^d46F{#JT#EByc~y^odtJuAJRmF~^K znH{szyIb%>tn`Dd^hzuJU@Lv3m0oJ4kGIkfvC=17>4#eB)2(#V6(x6;m43JdKi5h> z!b-2R(vP&#=UeGVS?PKeLao{@+e8++BIPe_@zT*Hn@Im;X&tkP(I>%gR z?L(akV)2G)oxX03)voINlrZS)lh6Hqr-HAK7>wWW!ToT@=kd%-wSA4hBhKP8Lrkew zdHw;P8Cps;$n%MOW=JWuOrDS7Geb$KMe=+opBX|*)yeY#d}ine?8EQ-QljryO%urFPw>-biXNHJUrSkkbpBWlTMdbPK zd}c@}RUpsL^O>Qb)Yh+%aKzJmW(X+NCeKZLW(Y6UD$kGdnW3OmgFOF{&kO;jmdW#j zd}in;wMd?S$!CUqQg!lt51$$OOU;t!pYoZZpVVY|zLn1m`J_h5^G$qas3$cGebD30(riW&kWt9wtmU>pUdY` zKDWv9S$t-wCe

Kj1S%G^qx8K9SE1&7_ve^D%s8NG7#No)6_SLoum3c|L&848f#k z$@AWPX6Pj~S)TXcGea(^k@DP$&kVJshRE}0OYzJQORAp_Kei6f@<)9?;hjN=_0_S& z>#^ERTZdd6J)z-*wXx*sf5O`6*ClVD_=jVAh7X=2@JN5}Vf2fn^ENMK+oqMEt2_W8 zc9q?~ZVMkgi-1p=E8rUi{^Un_Ir^(uVr#7N-7{m2+jfbC*2LC-HLWWUOf(2Of891V zeDHvDdD1uQ^f<~E)Erw8t3CZ(Ko-OjZ%*qHb5Fkn5A8=o3hh_mXN@x)aG~L-+pnMH zQ`aK10%iJNd{J!nmPLYK<#cc(mUx&iSF*jNoOLpmG8u%zJTP*P$8@lZCufMJZ(#=cjHizmg4*dEHP~!^M z-w#I$-VYZ?Tfya7mj$?do^pASrdwPdgGxH!@>5cWid0){lU4%KGAMRyA|(0C&q!H$ zw~Rb(&FjocOYsfC;H;|(&^%aazBr5K-*ilKm^7!Wn8hmG_+-e&EohFmQ#y&J+P6cA z^^ZQgZr!?A_@VW&#~(JIk_E!#kRv~7SpW@93{DWF>e2b7K3 zmm!yYp`5wGYLboa{4WzUZC86Q$CT_&LDX47-g&%4H zlL2##zzxxwk}T^=7Xl0cJ^;W6;mZJ2B_zcFs0E9oE4-TxS_B5L0S0gph!8|1hVbu) zr8&{LOwgLDCF6te%%az^19oiqQn3sTZgf#?dnfi#>6q;6C{qa25h+J$Apr(IWV?x*JJzPmAUj zG65PM-EckCR&T>|CV@8MXj2@OEqvIZq*O-RH5J(uD}{svw6gkXT)~P+IpEb=LOB=J zHe~VSa6lK|PalJbDV{jBYiuk$vjIPo8rsV~(B^t&2|{>if%3Ij_!Ex3wCAI))#)dB@Gqbe|03|ml0GidS@!IoE!-|di z!c+%4PVfdh#xN0@K;QSJS+AL^Wh;QM~cee z(m(|SaW|A~j?QO$YiG>wobIrrF++C+9T2mDUBv@&qx10)LO`H>cQ1|efu9p)q!9hP zI!Kk7E&CSjS}}FiYhH1*&VFdaLlo=~Rj0a1@5VEVR6osUBBbhST2+z_ zK)Q1k{5PterfdII)8*B=%)4pLDdTXw7r0VZ;nQ)e0N{XsHIhC_? zy$*nABPypULjB@?>L}F8Cu4vm%eh*S2-q?ux;Tm(wN^kN>OeDcG9WovS!VY6cWkT6 z2BCs#76*=;Do`^nUpM!AF6!T1#DQZ8mUb@_+P zS21J;=z-rfx;2()jWxD)Vkh*boVaalb7F}mziMXIy{gkny6K>sgG#k{S@e*;IUdTl zx_lPJVLF@V28l)Kj1Ec1X-6th)AFs*nio|EyQcNCYeEfhjzucqGx0PT^m$I!NclinCe)pU0ghlFMgL&y%Et>30f7fG0CGyaLuD%dk*5Vp+_)m`0wiYFqBsTL=3_lvSb{6H#G#Q7Lv zrxU$V2d{hQZ+sSCa+Mao><#(XrQSpYq0UX(?sU2Dj)dbIa@dBP9EjAjJXpbfKVU4H6udRXYbol;_~+Noi}iKQCUWVU`@{Lh@-ntG+=5@ofZWE0ZeJa4fy=Aivir7bocxgLCqD6hG_l)vX@9hbIA@FzNvyS=-UkM~T?Qw+cGA#? zNe2>5?~;)|%ZD$_NMB^qW61+E(ntF6ndyuN5x>OXTnT!a$jf9zzYyBz$h<$>Fbr@03HhgU?uIrrTs7LKeYdlL5Ww& z6B`(#jo%+Czye*V#CX<#ZUpVz;oH_qxK2a^oJ z;cSToZy@G)8-9mkQh{^_FC}3tEv0+X9Pfb(qnKDo0En&*FlusZ;Me3w_l(&bsem-5-v7 zXsGCPazz2y3c)P}l2|fHT!{KpnE^5xmqCg51|?cziS@B$$xUZb8`reAVokL<&LSk2 zO`3m4A+G9})y~*dP}9YArlB6_2%ykQgwyrx2d?uBfOS1VItJ_*PzaM%nuxR>;N8_k zh<<`WuZ&jiIN>?dffb#kwqKz0Ox4cwa{plG;aYC6^Oz;JRyG-(XU*$mgx{A=l}D#E zSj9B0qAsh7ksVhtI$edXcO;AE{uDCN#iEa11p!#813lkL?`4oVv-eV+cdqyLe=UP4 zhvLz7HvFUzE1jLf^+w;>aeF!k4Z?1R41L%1U70?h#p`V$qs%SR0p`RZNh(1*NTVKg z6Gi#u?J$-NiRj~Q^zr8CM(R+$MXbW~BG$&_kbO|VtXQppf?R$^KtXO$>D_T=P(gIX zin@@tt^ozPzm2>|l0u^=_M+9P{{m~G8{LW(iD+wLePYeg@2yYuPpm6zy73YhOO^9u z&cRZ-28sNBD662X*GBgCKWTTE>aVGGt&O&J8jxt~U%Q1%Pn|YDXjZTYMg6@Q>H|)i z`Ax*Rd7wlW#EBx!o&&}E+UUlvfkiCC=GikgGA`pe6*Xs}O=fLygB#sIuV*gX;YMHN zz04+PP*8JWi)j?(NO$GM5UL4n{vDhZkznnNjfFnm!N98sR55tpMaFi`2(`e8abmSi zLy`UxU_a^1XAsLCPCUU@2M9`Si97i{^?K0PisopCBBZeMs zgYmP5`v-3=EO1Mn!f$O;CtcRW;>I!1EebC=q?6v51y5bitU`pwV}wEJ%oaR9#_!Q~ z7uy1=6hj6phho4^FQSkr@Wx_koaM;2t_P?tDBG~sEc%%o67mI>L77LDjjNv8#%)A$ zk@65vs7%E3SsxY8DTfB@nGf&`eV}@0G@=Sh(vX#CD+wnR%5oV66g<@G))V>BxGs{b z)fL*cD^To%ld(dm1;qgAFOy5XHsWD+QfQB~jQc>7D_J5|+uZq5+!H&mr1(;DamZ0R z`Gm%sAe&k@)!(>O3b0>y%Ty_ot;FbVDMIGNW6_xGKWLVNuOl_a`cfsI|i|T8_ z`+MR9+Q9e*(5VriH`M!k>-&;!MSym|`wP8Dg_GK$wsgfE(VF#D6|&ji?cqj#Wbo3v>^%xc=fAfp4v_Q)56JPIHO zdDFFN6o!{;k#|q4pG^J!A;=SVk^K|1s3rhq86useK zPz(Br*BWs;o9C^-jIz!)40O!jW}X|&vj&RO`3x+3bwNKHSSBLwl7tK6-WvWaQ@+&7 z>!D?h=NxgC3XJrMqJFbkziwop`?cc+CgvvD|6oq$3R54ZDucJ8J!%WtNZ)|KkWe;! zmdQtLb2r|XN*b7cRke(Qy`l2Y^bF`l2#SXEv$ZQ&D!&7Iv6o6dk6w)YD~Zn6A#Qpu zLod#TnwUMasT)8N1^DM5>$s=a;bQTYG2=dyq1O?Tv4j~8oEnOc-0@sOBYv)|S4RQm zuXi{vpQ_MC0i0&@YzsdqY;Q#C9G>&8+EZuQOve9w1MMu)=T_(v{-Kw%*o-Q(^U2$) zRV>?S8c0t!P^+_A&umw~Z0i>8aQxPe%yx96wV%U`RH(NQJIvIcE+Q2_0ME?CU$zTy z=t6qe7H)PxhJ}OH+{c40LSkOWLxW{cl1{%R#%Rqcr8xE~0~1#|0`ZA1tw=xqb_{8h ziu%&JH_(t|2Q#_~FozsB__~S0GYj4p zEa}qjLUt&R%fl@$-wQ6=T(Ai`4q`0+9eqMWeRQMQ+8AAC?dT|2Cmi*iK5*BJu~iU- zZlUrDVtq2raRy8xMc19I=ECAUA~_h?E+*#z;TajzBH4pt-#g7W5`!9_JqgUTPS%(YOzvjv%ISUt5GW5r^_QtHABG(*97aDzz!R%fAtWqZ)0Y>01oMOK!kKhrPPlTvgUXU7Y^sm z@vQ*V2 zXDKt`a2`XNuMv#MTuimTUm%Ok9?eKm6oN&%d6w;y98!z!NAn2(uv{7JtipypFI`+N zr^>Fu*EzeL|53USowQUFadn0RW3!tcf!0GY>e+7)0dE9!qOjP8r5Za5X5Ow!I`;s~ z?V5oSV99d<$;C*pSwijTXOoGr3-+W&oEhM_nw#u(xV6ZG6?dvA6_^tAFqgsXv25@# z$&5ICwyJ+MP1q*$SsRSwD*EGjmJYlipvAHqA>k~j++tho zJTf&GxJ}74K}cwV+Ej*_H4{GwaW3D+~ z78T(7M4Y{|>k$8^w&D90J5~t>umeS;OLGK}!C^`^U+jXeRxM)o>MuD*>lg3vo++fQ zswsem{RAShQT6j^a4VKJN7unvV-xr~&rz(I=^{;EC0neohL~O7P#97R!4$S213@Rc zXS!!JkmqM`49Zt1Bd->frfSf!y-)wv zTN?u-!ysW0Hg9{#bfxoAc1tfQ@wf1RtwA)wo>>4ySc>5CDYpwW9I|!y7LYLKRXQOa z2{c7lP*;rOFCM_P6-X&sp`x^n5j04*0w0Gw=rAOzKL27PRrD;;vUQWm6xl}QG~j-7 zp)4VKwfeo)*6kt6NVO0bDMFd*%=fAF%h`Ran_cdERyjJ6(fJ^QJDl-Of{zA`o_QuR zog1O$}(zFgAoGE1~#osXvo(-o08y{+3=Dz>%g#XR*j!GY=6)JS8Cdb_j8y zK|`sUvh$bFD5BednK)TSj5LaJP#SV{hXO#iM(4p86A#g#!DIRr7CZ0ZDn#K(zB`%yL!Hb`34U& z8*&YBd&~(G1wnSP0a8rfU?A^wgc~rRtK?}(o2yUiKuaQ4h5$? zo~Ff>X4;9SqR&v+f|GvXbGF0)IUY6JC*%PIm(iiyAW_pESgyGzW}J#2tI#yAHcuztG}3T)j9UA1iDnours8f%*fQ z4K`3Q7k1)4fISWu-z~cf3~fN8&$7CJX-6*X_T(`IQqgRs`wOY6Du+vA&-xzGBJ8{p zZQ=V&vd$oH@|8=sz3?y%#$+?irtvDT@&K5z7%{6k{RPxmxxPv#3|6tzfa7Tb#lZ>N zbKEseZ?TgAIK@00SI>XCzRbI;2`VB`+4F+Ov^1Mu?3|$}NQJ!3s4cHNG#!RIP{1_? zUWow`8;d>HH44|&TbkllG`C`1=y{%&P_Y;bL}K3d=2{Yxuonq5_h1WbE$cI$17e^JnmMv0#)n2r(wjHY+n7J9URo8Db5 z?b8*7K+%9_iDu-V;6M4YvZdcAU6V$NHlMcr0=uOP zM2g;**67RSJ?OG0oj>mr2!!(J7Nk$zSJJIOD9@=1213nNRWA_w*~6R$Bx%3A2pQ&= z-a_x-<$f|FWaR`-I;R8)NGSn(Wf5>?#{^s_IIVzVvgrKFF+ylCbot_<}7T7swddYp*S8M0TP>HpED z&(%(D$!!NZ^Bp<$$`({{e(HB6eOcYX_FG;Yp10|1f0wJU?IYinzwkU3PHS{IWdQqM z6yVHO<;<_u23VZYmuWcGq*vks1JHGX(`WwMXsbQI`a`O1nBN>`+@Anf;58IAVh}P8 zi(TZ8QUnf5vr~&({sjtS z9If`ksbPWE(BFFKGBh%C`g9}Eh}-Ns6}U|}r=d32iOT(x)L4%x^p5W1TRyIHDsoM% zydkmvkl@r8RoM1)f2m^o@$zuA=@7)er{$RJ*{GgF1K5yVG2ANECAH9P*SQ@T*ls=; zJ2jT-J3r2qRC=5E+h**p+jv^5(i6?_t^7iwH`xrwpTd*ttU*~&v!CHAt2_b%;No+N7Zbc^Qus52BOFCBcLRQJlTx*tW z993bm1gq?F$elSCHNoU?3l5TbP9awmO`a!56_V1xGvA}qf6t}39FQB!gZ<$JfHSu-0 z!;7cS;=&hC+xV#9?YI?ZwK=}QOHDeZXjm)}UxpNbufT!l4k-X8jtpfhuvNR$ep{cAO>@I%D2%#k!-( zyWGl)fi#qp7xle9a{YeZoo;+xMkLBv=c`=p+6b_Usa@+D|S|q zPKWfNNO@G{%m*^KUZARCoynwYbMvKR`T=$CRTxZ{8Bni;^BFJ>(ul< zOgn2@$bJ47Vynd;(Rp#LXIJI(%uD3CTG+EqiqIp+t+#kJ^M0PKP z=CBPpBhqKQFGxrlI5>1=OPJEwTvtch=og~9^Jut;vp;$d)T4pK&X5c>DE&lzS+Hn`pY0(@TMhWpzH!ts_&-DTB1rD{9YYN(f8k`y4I z4o7DyzJIztIL}-R25J)p$m0!w*t1m2t<959{gT09VF@?jRKdE@pnvT+>laV^rTA8>a@NV;y2I1j#$ z$`9Qyx&^0L7hJa+-Zll3jrJZB-GX|Z15hZ1{>yRhD>yDOoDG64ip_HF@?n~Oc1UcM z9A*NK#oxg=5_dXpx&n7*2O|?{6lVVd*XB6AFXKq{CO9!R$NQvjnW~OdU);fwIvp1} zQbYKt;FY))^tyjiQj^XIuny#wA`{>}aN!>uDM?An;mMhf)JoE%86@%dKj)*fTd>(j zXtQ@y(`_~T24pk~-gL9gbkS?}x&QTMkB27hT(i$vl+o;?ZMM5hP}*!_ zu-O4=-yy6lUu?MhsJOivkLxU1!Zl4!7CkJIlVhykz7K|~`(h+CN0(Eudg!%(SinVY zba~lR;RU*Vzh)pF&6L|&DfFiI|CNI;8cL-wY!c$EB)S{}M^FrBo-@W%YsdIH^ zonH*jTW4{0otEl-f1#+}ye|SW=q>o2uAPE1=!=Y?3<9e6SJW6w=9IzVsLt(v1~lh? z%jG@txA@5gSzNYS{0D9EJ)Z|!e1f+4@+=#(11o_w$3oxgjGN(zIW?3Ry z%%D01x?}pfZYymYQ#_W5)!P4hl@#26Q?;~s^vut+>LmPR@%j9`Y;Du5Tx?w}Ss83SH!Z4P zXXl=j&P}9q$+&ZsanALFyzoipq3^S`>HBO8uwC>m#7I0+y`$7Qnf3i8d7 zY2E>9P6hJ$*X&$i?x1zcJ`S+>LO>vW(3g^Ku^6wbbj0Eh(o%jjEO?3v1&>&|)tM|l z2f)qF;~1uEs9Z258-_v*SP^t z2qo^(?EDYzI6gN!qq7iy`H3L@n3n_*-{>R0{!S0^WLY(BZofnjAL=7M&_{fXLF{(F z6M{0QrIZcd;_b-}$II}grDo@KD^F9)0rd`%?(qd;99at?UA5Pk(i{QZly zUiX=Em^@$hE9N@OP~3#eTQQIDPQBuxZ*#7I>Uz{gm!DpWM^9KaC#LCf_?o{p=@~On zr;zC5d?Uhh%pS-2O3O%e8YNE2$%$|gcxxf-nj7I0b*}Ty*+RaYXy-bw;)zU?9qYSG z8}5KsLuErB1T?7zgdqJM9Xu>e+JWvm0G#uNPksyx=eN`g9_g<8-s$JEr`?4|n5%Nx z@-Htz;N-b|&tZi7iYN`wmOLKs%(Ea^o~K-a4!#~8yyio%1KumGVb8v%rKIfr-6?GG;f`s>teRfE^Dh8VNw z#&b3O2C;eaQ7V`Y&W(3KJ&w4;SAa(kQT4c0@Q8YRa=V{PDyILGeRLT%&DTtAj&1;J z3TDsPkkQr7Hs_fQ0iYaghVVn<>o~R4x#2vHq*%R*C1(dZVVf{sA`ct*k*XY`{iwlH zKLlA^=UqquFLFIA6#Fl7Z95a1T8K?ZZa=%H&A?Njr!7T6ykLodhON{A$^8cCXss;C zX@$N$yM+)Tyks2^?Ma@&8!IUK?uwCbsh)Lm@-s-fWax#15}!igzZc~wdG!I{5rLm9 z1y25$>EQU2;5d(1b)DtN$Zh+kU6ob8PvBc;2!UY#VqhGC>l|JYNi76Z2H|9qr1Sb9 zc1wiN@HKfCGxavGFe2kXz1S=d4P0EgE}?a%n|HE`HX4v7RSMis8}vH|7^ zOell{YA#!k+@e1r7tt^O)o*%JMgNk-h%*+B0W#@EJ7=Ng-hH)of2Dt4oa_c|&(DRn z(?LjKr$jSfL~CrH{S#W9s`&N`{ZiTee4td$l)Ai-5-W~l6?`n z5k1H6S$X?e_xo7)Vch3X`T|J~=$0?rJ(NJaFnA#AyLYA3TXd|{t2Ew%H0iMB996k5 zw1=Eo95$WPz;*B7b=0kQTn#B{|Mv1_n9~XCt#Ed<6~Z zN53!WR!erkqP_qMyaBhT;3=9bc*LUKpGoeK05$@O$3QU&y-5hwJ)-$_y31)I5VvBB zwb)TEu0lo!T5y+er+k*jKYPA^E7@9}YtC9MS)yOGRL{HO zR1|$i4mp*=P1{dUt8%!sQ}0XBx^#$oF}7v9&W*?~Ynm|{YVbeUw3*SwCT-%-tS0`n z<0dW#b*6bF_6T`&_6k<9HjPQ{7}lm;wTfQJqTk{if#W#v@mK)%9W*?)h_-)c<_Kdc zif@r7b6B=T)AAKNOVjg-437T^k5;z|jOY)aD%~pK%wy+qZpJSREMmR+tneHyknV@c zE@0hF0av0LPs$SIf1%+>%8sgf9vLa=Jpw1(4%y$j+(Lz){Xjo1Hg_S$oNaZwAc6YnuM_J3$M` zh(HGxu>Kam14(ypj`v1?M7bPmRRmZQx7Mmc=z2rE?%OQi-Q<9k*{OdECE2k~Ed+oG zx8F?el`rzFvZl*$c1c{amgLAfO|pEe+!sjr4cgQr?_&MZb^3~~cAklN&fT~bRV~^L zcWy}uf1Q2si*F;W;2|h?fAV=*OZfa2x8zgG+W7>(7}MN}O&Ht~FN7c3u!7TY1-qaz z;XEN=EAWfg7!y(0^QE|F0F640VJ<`+d}vaAr#(-g6arJ~)T(BO@&%05?p_7cDrM zgq)A3%(elyJo=$XD!}Tk;=Gp~Q{F zYXD@zxs>RfmynxqM$3H#eqpo^ZFU|*D*q@V`r?27K7x79ACO9Y10P*ykreDH1xx*c zHwOydECp}03tn`h=*gUAj<9|3YXNcWfhr)5LcDTtU!y$)@kt(Kf_A5#Buh5cL2(C$*0@d%u4M*ny*=sj4w$)6TKuGLd^ucKipPPhNIh zo52nQlXj9FPCqQdSxnhG(912Ri~}8HO6oeeSpmL$Z>CrP6JX9%(1VW?1=Y6}AB4YU z##TAo0n^sv=zN?OYkfj|Ec6B+JA5&e`uFE_H$2OdTFJ-2L2dmn>0hCrE1D%coF<~S z1P7sc=oi>?j$aH?_-=;tBPLWl4%Z{$@3@oWNX!5u?xR^{AK)I}8{o~+7Ra<b+mc6jTW_G4UJPws9FWm&$bgG-S`_|K3EE(q3R?kE@wAFft(~#TGQ(;kRw)s1 zyymT*4B5L;lM;A~;*?`V&|P^X5JUS>{K#>Vh_U)OWG~>H0G{9(Tw9KYs5o(0?p7=} zoGPpEITMZ}Oa|fBL)PA2Nxrw<7=C1Jd~G6ZwS4YC|~B5 zFRN`t+EU!aMz4(lAU3;EnR^l^P~d9OUdOA#?v(-53YK9hzynIDRu}FCZEkeSm*&OR zpnzS0%>oKwyH|m_5Suxs5PJ?X>JJb(!7H&nv;!<6TQUFx*uIx0(&9^i$d8ZJk%mNK z3%2g+oS!CA0#4cNd{T-P7g`J;Eejb{2yfkUS3&3e zB}6dIEm|v_*F3iNYmkFWmixACgK=@c8kGj`~o%w^U7L``l-&_)WEC{dU?lo zJjAa=8|q@SSJ5NEiL(8N_pcsqeOD1K7P`R77I-tw&UHt!N1&IM{No5ZEU(~KI-=`5 z%7lu=;;=08_X<6(!}R0UFwLa{c!)W@uU{OhMw^G?H26R;z(tq7L03%Hn&zyI$hdA$ z7>8)i>V7c6ewnP3GS2~O8KoEC%QxOA9mOcE=f~6>T#Jw0A?ZYA{gYcZ;e=vCELM*7a|Q}H60ajd z!@TcgJ(dSB4RLoKh}lg#RQjkU+kkLfL#aX1g6>}*MkCxn@stg3@VvNi{3V{Oh;*H3 z&DXDOkPF)rX&Zv)KIg^r%9KT>i~V@15wcapI9eISfJlYv9k^q`BPT-%eAVFMq766C zhwEtKH6I$8W8(FDFbb5U&m?&XmdyAQ@gcU#Ny9y=I;>4ic#aBBw<_d>BVK7&0x$L~ zYX&s=U_+hqsItXwyK)a*Nfx)i#7LeF4&Lcj-03C4S|gbZ1NVbQ|lR0U>P75^kXS+dM$ehr{#Ge?Im0R%EakIv$YfDHHJDhFbUSnk6F93m1)(^~`Lq^DM+x90!eZUWSa%5F8W z0y8-_pW#h9A8E@9cLjEHkR?B9ZN!0U=B;LDL2l9zB{YnLwvh%;>pG;tC~`hBCgmc7 zYCT@mdXtU=?i~5HT3NIueA^=!h}`I%r{R9yftc`PnaThyHy>a#&$Vkp2~DCjKBCTf z%~K`vc`@if(Y7w&#W49mdLImw5M?V?nz=}hI`tUBMa7|~Y!@}u}@YNLIO z`yC~FjGX3;6kl=SuFw^HaZc=Mw5?zG=WF_fANe@`aX7w&!$M7KZ1l&m+IKN5tWivT zKcZEQB~N}9A0h$?g{QhTk9$D1YtYGk2={wJeOC(t1?GK3YYFjT3WiBtOiG`}w7Sui?@ZM;?4qrs@q6R%YW)0fT_>H0S5FEX=?cicJk0nvjvNGfYGA~<6^KM= zY48A3Rw#H^f*1Wt!DXtQuEG1@cG7Xvxb;k`QiyW9lB`OXh&W%o;#1=@HA_lI*#zyK zNl>~}nx;<<^V^#~CrgRPl-1ne+u+HY14{OU7A(X@wp-MJ^84JcBuo05(NaaF^}~u~ zW1E~GTZM-WERIu?Ez>T>2@+~Bqk?xJaFU$$;E_)YUf;u{QFoCh!3JMUP$elGa{}%B zo17eI)ZRm(#+QRZq~25|T>@x5>HEyii}^+mb53>#6zu{5Mkj?*e`$K;X%+&*TM?Pf z=Kz|{InaD~2vtDErM-fjW3#ffYpn%pHBb-j&w{?!gWkNGc|8?~i$3ZmR?<27Wva7` z%Fb&@lL=A*CrE(eIFEA^(jeIPkmOh5@GV%thFTKZ?HSL#?-P^}uYa$Pa0gR0rBz}L z-7xiPmT$X{g}rZ%NAOJ6HOIT+PGSa0N#vqTPt2*YIDi?0oVM;thCcx>M?~C@fG~!- zF4KN=^{nKt;k}tjD66wqAZ{F^Q^L)^GBH#Fu%PG7U@^5 znlY^b?X@%PIa)K4?6K5#Ilt_xV=1$iOj9l0LVjw`kKo3fWt_gIL(y&f5rX^geH^OEKBJ!i1jb$) zg8Kq2918@(t|g6smf$}yqfzz&Mh*J_d#Gt}vVI#{g4cG*B1D_muKq*&54m)x`HWw( zXw1FK!CGAP$%UnLe6M@njl{>jkPZSG9SBc&p1*`~4ZUzKjT!6ttJDjD@ z2DEspw9lFMoTQJW_B6-GwW zcs}n6S%+l#KzBP2-?&e|JkrniETMY#%OeM{N?kpc&L&-2U-$d#dO4^~n}})3+)I_|7ITjSdB%3+WA6Kc)93YQtzyeFfhuaWio>(2_;<%u{3NrA z0zA6i--g1N)ugiF_N1u`%|Z*DJu002KE!mCKu#jM%3lC(F)@VJoEGK=J7ka*thqbV z(fsjRK){sgdCupq&zP0^T|2N`_y&lSGU)xsq8aHRY5?$21>_>2Ixi!safqGbqF)$U zfm`#15eWihWc~;`;$?Cgg*pYub}*RE2?&fE{yFd9;W7BKaTa_foeT*A09Ih=XkbY3 zX2BRjti`4R>xFxqrq z1_ARr!mG@->I^&k9#fW8U%J1#k~Y?WS>HXAzJL?%o65@-)As0lQrSk)duvvbEW>%F#ksVi+7{zb5IajdF1tLVtS=A0HqU*qP}_Me z;C4%{JT(=f;nYBC)eb6Jr`@s?ZQ8!5vmAntI9;&)2zAm$@$i!9+6H^J^5m|*HPomp zydOPreg-C;xTh7fiX){lfZ|3$q2@y8^Ji&MsTnUP^g@3K!9;Kp|LVsw1?nbAIxCvW z**x~~0u3!K&Q3H=tl+17hwKhpd$y7}23*6+bC^M#I9H*>N`XcneJQ}*> zLNm?w_64$kFd8xfQbVlH(Z1WNs`qz@D5GB@qTNvoenvz)-GYF5FXo}!x%=2#L+uv0 z-R~*noH_@)!f_7OHp}o8MxSMYiB2gRo~ObZRA?0p__zN?^?3^RHI$|hHqp;>cYg

J#{vSyqD)5uU5#cyo1c3$P!tPv9Tj~P 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 wv2;Ke^+RR&>2hoPLB-R&0 ONLY (PHASE SHIFT IS CALCULATED) +C 3 = Search on V, box b.c. +C 4 = Search on E. box b.c. +C IERR = ERROR FLAG, IS SET IF ERROR OCCURS +C D = LAST POINT DATA FOR UNBOUND STRIPPING +C D(1),D(2) ARE REAL AND IMAG PARTS OF EXP(2I*DELTA) +C D(3),D(4) ARE GL(RMAX) AND FL(RMAX) +C D(5),D(6) are real and imaginary K**2 +C D(10) is ISW +C +c IMPLICIT REAL*8(A-H,O-Z) +c + parameter (Pi = 3.141592654) + logical dplus,dminus,turnpt + CHARACTER*2 A + DIMENSION U(800),F(400),T(8),D(10) + common /ch3files/input,ioutp + DATA ICMAX/32/ + DATA DLAMY,DETX,dinterp,dlammax/.001,.01,0.1,0.3/ + DATA XFACT, ELOG10, ONE/0.707, 2.302585, 1.0/ +C +C CHANGES TO ALLOW INTEGRATION OF HARD CORE POTENTIALS +C THEY ARE KLUDGED TO ALLOW BACKWARD COMPATIBILITY +C Kmin is initial point for hard core +C + if(ioutp .eq. 0) then + ioutput = 6 + else + ioutput = ioutp + endif + Kmin = Kin/2048 + Kmax = Kin-Kmin*2048 + Kmin=Kmin+1 +C + CFACT=1.0 + dv=0.225*v + v0=0.0 + v1=0.0 + d0 =-1.0e20 + d1 = 1.0e20 + dplus =.false. + dminus=.false. + IXNT=0 + IPRNT=0 + IF(IERR.LT.0) IPRNT=1 + IERR=0 + ICNT=ICMAX + IF(ISW.EQ.2) ICNT=0 + FLP=FL*(FL+1.0) + DR2=DR**2/12.0 + LL=FL+1.0 + ITER=0 +C +C CALCULATE OUTER BOUNDARY CONDITION +C + 10 CONTINUE + RMAX=DR*FLOAT(Kmax) + IF(FK2.GT.0.0) THEN +C POSITIVE ENERGY BOUNDARY CONDITION + IF(ISW.EQ.0.OR.ISW.EQ.1.OR.ISW.EQ.2) THEN +c +c get functions at Rmax - dr and Rmax +c + M=MAX0(LL+1,3) + T(2)=FK*RMAX + T(1)=T(2)-FK*DR + CALL COU(T(1),T(2),ETA,M ,DR,F( 1),F(21),F(41),F(61),F(81)) + SCALE=ABS(F(LL+60)) + T(8)=F(LL+60)/SCALE + T(7)=F(LL+40)/SCALE + T(6)=F(LL+20)/SCALE + T(5)=F(LL )/SCALE + D(4)=F(LL+20) + D(3)=F(LL+60) +c +c Calculate surface term for width +c +c calculate Surf = d(k*u'/u)/dk = (u'/u) +kR*[(u''/u) - (u'/u)**2] +c +c Ratio = (u'/u) +c + Ratio = (((FL+1.0)**2 + ETA)/t(2) + 1 - sqrt((FL+1.0)**2 + ETA**2)*F(LL+61)/F(LL+60))/(FL+1.0) + Surf = ( (1. - T(2)*Ratio)*Ratio + 1 -T(2)*(1.0 - FL*(FL+1.0)/T(2)**2 - 2.0*ETA/T(2)))/(2.0*fk) +c +c write(ioutput,'(a,1p4e12.4)')' Surf =',Surf +c + ELSEIF(ISW.EQ.3.OR.ISW.EQ.4) THEN + T(8)=0.0 + T(7)=1.0E-15 + SCALE=1.0 + ELSE + IERR=1 + WRITE(ioutput,'(''0Illegal FISW parameter, ='',i3)')isw + RETURN +C + ENDIF + ELSE +C NEGATIVE ENERGY BOUNDARY CONDITION + IF(ISW.EQ.0.OR.ISW.EQ.1) THEN + T(8)=1.0E-15 + T(7)=T(8)*EXP(FK*DR+ETA* LOG(1.0+DR/RMAX)) + SCALE=1.0 +C BOX BOUNDARY CONDITIONS + ELSEIF(ISW.EQ.3.OR.ISW.EQ.4) THEN + T(8)=0.0 + T(7)=1.0E-15 + SCALE=1.0 + ENDIF + ENDIF + 40 CONTINUE + width = 0.0 + fnorm0 = 0.5*t(8)**2 + t(7)**2 + F(Kmax )=T(8) + F(Kmax-1)=T(7) + RMAX=RMAX-DR + K1 = Kmax-2 + turnpt=.true. + KM=Kmax +C +C INTEGRATE FROM INFINITY TO TURNING POINT +C + 50 continue + R=RMAX + FNCT=0.0 + IF(ISW.NE.2) THEN + G5=U(2*Kmax-4)-FLP/R**2 + IF(G5.LT.0.0) THEN + IFLAG=1 + ELSE + IFLAG=0 + ENDIF + Q6=1.0+DR2*(U(2*Kmax-2)-FLP/(R+DR)**2) + Q5=1.0+DR2*G5 + F6=T(8) + F5=T(7) + W2=0.0 + FNORM2=fnorm0 +C + DO 100 M=K1,Kmin,-1 + MM = M + MK=2*M-1 + R=R-DR + G4=U(MK+1)+V*U(MK )-FLP/R**2 + Q4=1.0+DR2*G4 + F4=((12.0-10.0*Q5)*F5-Q6*F6)/Q4 + Q6=Q5 + Q5=Q4 + G6=G5 + G5=G4 + if(f6*f5.lt.0.0) fnct=fnct+1.0 + F6=F5 + F5=F4 + F(M)=F4 + IF(G6*G5.LT.0.0) IFLAG=IFLAG+1 + if((.not.turnpt.and.f5.lt.f6).or.IFLAG.GE.2) GO TO 110 + FNORM2=FNORM2+F5**2 + W2=W2+U(MK+2)*F5**2 + 100 CONTINUE +C +C If no classical turning point is found, then find first maximum, +C then if none, use external matching radius. +C + if(turnpt) then + turnpt=.false. + go to 50 + else + MM = INT(RM/DR) + endif + 105 continue + F5=F(MM ) + F6=F(MM+1) + 110 CONTINUE +C +C INTEGRATE FROM ORIGIN TO TURNING POINT +C + if(isw.lt.2) fnct = 0.0 + KM=MM+1 + 120 CONTINUE + ENDIF +c End of (Isw ne. 2) + KS=FL/3.3+2.0 + W1=0.0 + FNORM1=0.0 + F2=0.0 + Q2=0.0 + R =0.0 +C + DO 200 M=Kmin,KM + MK=M+M-1 + R=R+DR + Q3=1.0+DR2*(U(MK+1)+V*U(MK )-FLP/R**2) + IF(M.GT.KS) THEN + F3=((12.0-10.0*Q2)*F2-Q1*F1)/Q3 + ELSE + F3=R**LL + ENDIF + Q1=Q2 + Q2=Q3 + F1=F2 + F2=F3 + IF(ICNT.EQ.0) F(M)=F3 + FNORM1=FNORM1+F1**2 + W1=W1+U(MK)*F1**2 +C NODE COUNT + IF(F1*F2.LT.0.0) FNCT=FNCT+1.0 + 200 CONTINUE + F12=(F1+F2)*0.5 + IF(F1*F2.lt.0.0.and.F12*F2.lt.0.0) FNCT=FNCT-1.0 +C + FN=FNODE-FNCT + IF(ISW.EQ.2) GO TO 500 + F56=(F5+F6)*0.5 + DET=(F1*F6-F5*F2)/(F12*F56*DR) + FNORM1=FNORM1/F2**2 + FNORM2=FNORM2/F6**2 + FNORM=FNORM1+FNORM2 + ITER=ITER+1 + IF(ICNT.EQ.0) GO TO 500 + ICNT=ICNT-1 + IF(ICNT.EQ.0) THEN + WRITE(ioutput,'(''0BOUND STATE SEARCH FAILS IN'',I3, + 1 '' ITERATIONS'')')ICMAX + IERR=1 + ENDIF + IF(ICNT.EQ.18) CFACT=CFACT*XFACT + IF(ICNT.EQ.12) CFACT=CFACT*XFACT + RM=(FLOAT(KM)-0.5)*DR + IF((ISW.EQ.3.OR.ISW.EQ.4).AND.E.GT.0.0) THEN + RSCALE=RMAX + ELSE + RSCALE=RM*1.5 + ENDIF + ESCALE= ABS(((fnode+1.0)*3.0+fl)/(FK2*RSCALE**2)) + DLAMX =DLAMY*ESCALE + vold=v + eold=e + IF(ISW.EQ.0.OR.ISW.EQ.3) THEN +C +C CHOOSE NEXT GUESS FOR WELL DEPTH +C + IF(FN.NE.0.0) THEN +c Node count incorrect +c dlam= 1.625*cfact*fn*escale + dlam= (cfact*((fnode+0.5*fl+0.5)**2 + 1 - (fnct+0.5*fl+0.5)**2) ) + if(dlam.lt.-abs(dv/v)) then + dlam = abs(dv/v)*sign(one,dlam) + else + dlam = min(dlam,dlammax*sign(one,dlam)) + endif + a='Vn' + ELSE + if(det.gt.0.0) then + dplus =.true. + if(det.lt.d1) then + v1=v + d1=det + endif + else + dminus=.true. + if(det.gt.d0) then + v0=v + d0=det + endif + endif + IF(dplus.and.dminus.and.abs(det).gt.dinterp) THEN +c Interpolation search + if(abs(d1/d0).gt.5.0 .or. abs(d1/d0).lt.0.2) then + DLAM = (v0+v1)/(2.0*v) - 1.0 + else + DLAM = ((d1*v0-d0*v1)/((d1-d0)*v) - 1.0) + endif + a='Vi' + ELSE +c Variational search + DLAM= -DET/(V*DR*(W1/F12**2+W2/F56**2)) + IF(ABS(DLAM).GT.dlammax) DLAM=SIGN(dlammax,DLAM) + a='Vv' + ENDIF + IXNT=IXNT+1 + ENDIF + flam=1.0+dlam + V=V*FLAM + DLAMX=DLAMY +C +C CHOOSE NEXT GUESS FOR BINDING ENERGY +C + ELSEIF(ISW.EQ.1.OR.ISW.EQ.4) THEN + IF(FN.NE.0.0) THEN +c Node count incorrect +c DLAM= 1.625*cfact*fn*sign(escale,e) + DLAM= -0.75*cfact*((fnct +0.5*fl+0.5)**2 + 1 -(fnode+0.5*fl+0.5)**2)*(3.2/rscale)**2/fk2 + a='En' + ELSE + if(det.gt.0.0) then + dplus =.true. + if(det.lt.d1) then + v1=e + d1=det + endif + else + dminus=.true. + if(det.gt.d0) then + v0=e + d0=det + endif + endif + IF(dplus.and.dminus.and.abs(det).gt.dinterp) THEN +c Interpolation search + DLAM= ((d1*v0-d0*v1)/((d1-d0)*e) - 1.0) + a='Ei' + ELSE +c Variational search + DLAM= -cfact*DET/(DR*FK2*FNORM) + a='Ev' + IF(ABS(DLAM).GT.ESCALE) DLAM = SIGN(ESCALE,DLAM) + ENDIF + ENDIF + FLAM=1.0+DLAM + TEMP=SQRT(ABS(FLAM)) + FK=FK*TEMP + ETA=ETA/TEMP + TEMP=FK2*FLAM-FK2 + FK2=FK2+TEMP + E=E*FLAM + DO 485 M=1,Kmax + MK=M+M-1 + U(MK+1)=U(MK+1)+TEMP + 485 CONTINUE + ENDIF +c diagnostic printout +c if(icnt+1.eq.icmax) write(ioutput,8888) +c 8888 format(' Iter',' Nodes',5x,' Det',9x,'Fnorm',9x,'Old E' +c 1, 9x,'New E',9x,'Old V',9x,'New V',9x,' Flam',9x,' RM') +c WRITE(ioutput,8889)A,ITER,FNCT,DET,FNORM,eold,E +c 1 ,vold,V,1.0+DLAM,rm +c 8889 FORMAT(' ',A2,I6,F6.0,8(2X,1PE12.5)) +c + IF(ABS(DET).LT.DETX .AND. ABS(DLAM).LT.DLAMX) THEN + ICNT=0 + ENDIF + GO TO 10 +C + 500 CONTINUE +C +C NORMALIZE WAVE FUNCTION +C + IF(FK2.LT.0.0.OR.ISW.EQ.3.OR.ISW.EQ.4) THEN +C +C NEGATIVE ENERGY AND BOX B.C. +C + FNORM=SQRT(FNORM*DR) + ELSEIF(FK.GT.0.0.AND.(ISW.EQ.0.OR.ISW.EQ.1)) THEN +C POSITIVE ENERGY AND PI/2 PHASE SHIFT +C + D(1)=0.0 + D(2)=1.0 + VOL=(FNORM1+FNORM2)*DR*F6**2 +c Volume and surface terms are still divided by SCALE**2 + WIDTH=2.0*E/(FK*(VOL+SURF)) + IF(WIDTH.LT.0.0) then + WRITE(ioutput,'(''0 Negative width '',20(1H*)/)') + endif + WIDTH=ABS(WIDTH) + TEMP=( LOG(WIDTH)-2.0* LOG(SCALE))/ELOG10 + I1=TEMP-1.0 + A1=EXP(ELOG10*(TEMP-FLOAT(I1))) + WRITE(ioutput,9502)A1,I1,VOL*SCALE**2,SURF*SCALE**2 + FNORM=1.0/SQRT(WIDTH*FK/(2.0*E))/F6 +C + ELSEIF(FK.GT.0.0.AND.ISW.EQ.2) THEN +C +C FIND B.C. FOR E > 0 AND NO SEARCH (ISW = 2) +C + DET=T(5)*T(8)-T(6)*T(7) + A1=(F1 *T(8)-F2 *T(7))/DET + B1=(T(5)*F2 -T(6)*F1 )/DET + DET=1.0/SQRT(A1**2+B1**2) + A1=A1*DET + B1=B1*DET +C A1=COS(DELTA), B1=SIN(DELTA) +C (D1,D2) = (exp(2i*delta) - 1)/(2i) = exp(i*delta)*sin(delta) + WRITE(ioutput,9501)A1,B1 + D(1)=B1*A1 + D(2)=B1*B1 + FNORM=FK/SCALE + F2=1.0/DET + F6=1.0 + DET=0.0 + ENDIF +C + TEMP=1.0/(F2*FNORM) + R=0.0 + DO 510 M=1,KM + R=R+DR + F(M)=F(M)*TEMP/R + 510 CONTINUE + IF(KM.LT.Kmax) THEN + KM=KM+1 + TEMP=1.0/(F6*FNORM) + DO 520 M=KM,Kmax + R=R+DR + F(M)=F(M)*TEMP/R + 520 CONTINUE + ENDIF + IF(IPRNT.EQ.0.OR.IERR.NE.0) then + WRITE(ioutput,9500)V,DET,FNCT,RM,E,ITER + endif +c + D(5) = fk2 + D(6) = (fk2/e)*width/2.0/scale**2 + D(10)=ISW +c + RETURN +c + 9500 FORMAT(21X,6HV =,F9.4,3X,6HDET =,F9.4,3X,6HNODES=,F9.4,3X, + 1 6HRM =,F9.4,3X,6HE =,F9.4,3X,6HITER.=,I4 ) + 9501 FORMAT(21X,6HCOSD =,1pe12.4,12x,9H SIND =,1pe12.4) + 9502 FORMAT(24H0SINGLE PARTICLE WIDTH = ,F7.4,1HE,I3,' MEV ' + 1,13HVOLUME TERM = ,1PE12.4,5X,14HSURFACE TERM = ,1PE12.4) + END diff --git a/dwuck4/culib4/COU.FOR b/dwuck4/culib4/COU.FOR new file mode 100644 index 0000000..38acc5f --- /dev/null +++ b/dwuck4/culib4/COU.FOR @@ -0,0 +1,201 @@ + +c*********************************************************************** + SUBROUTINE COU(R,RP,ETA,L,H,F,FP,G,GP,S) +c +c Coulomb Function Subroutine +c +c Calculates the functions at 2 points, R and RP for convenience +c in matching to the output of some integration formulae. +c +c R First argument +c RP Second argument +c E Coulomb parameter, eta +c L Number of angular momenta = lmax+1 +c H Integration step size, usually = 0.10 +c F Regular function at R +c FP Regular function at RP +c G Irregular function at R +c GP Irregular function at RP +c S Coulomb phase +c +c*********************************************************************** +c +c IMPLICIT REAL*8(A-H,O-Z) + DIMENSION F(51),FP(51),G(51),GP(51),S(51) +C + LL=L + IF(LL.LT.50) THEN + ELP=50. + J=50 + ELSE + ELP=LL + J=LL + ENDIF + A=ATAN (ETA/ELP) + B=SQRT (ETA**2+ELP**2) + Y=A*(ELP-0.5)+ETA*( LOG(B)-1.)-SIN (A)/(12.*B) + 1 +SIN (3.*A)/(360.*B**3)-SIN (5.*A)/(1260.*B**5) + 2 +SIN (7.*A)/(1680.*B**7)-SIN (9.*A)/(1188.*B**9) +C + K=J-1 + DO 100 I=1,K + IF(J.LE.LL) S(J)=Y + ELP=ELP-1. + J=J-1 + Y=Y-ATAN (ETA/ELP) + 100 CONTINUE + S(1)=Y + DEL1=R-2.0*ETA + RMAX=.41666667*(ETA**2+4.*ETA+3.) + IF(RMAX.LT.10.0) RMAX=10.0 + DEL=R-RMAX + IF(ETA.GE.5.0.AND.ABS (DEL1).LT.ABS (DEL)) THEN + DEL=DEL1 + I1=2 +C Transition line expansion + X=2.0*ETA + T1=ETA**2 + T2=T1**2 + T3=ETA** .666666667 + T4=T3**2 + T5=T4**2 + T6=T3*T5 + T7=T4*T6 + T8=T3*T7 + T9=ETA** .166666667 + Y=1.22340402*T9*(1.+.495957017E-1/T4-.888888889E-2/T1 + 1 +.245519918E-2/T6-.910895806E-3/T2+.845362E-3/T8) + Z=-.707881773/T9*(1.-.172826039/T3+.317460317E-3/T1 + 1 -.358121485E-2/T5+.311782468E-3/T2-.907396643E-3/T7) + ELSE +C + IF(DEL.GE.0.0.OR.ETA.EQ.0.0) THEN + X=R + I1=1 + ELSE + X=RMAX + I1=2 + ENDIF +C Asymptotic expansion + T1=ETA**2 + T2=2.*X + T4=ETA/T2 + SS=1. + TS=0. + SL=0. + TL=1.-ETA/X + SSS=1. + STS=0. + SSL=0. + STL=TL + EN=0. + DO 700 K=1,25 + IF(ABS (SS/SSS).GT.1.0E-10) THEN + T5=EN+1. + T6=T5+EN + T7=EN*T5 + T8=T6*T4/T5 + T9=(T1-T7)/(T2*T5) + T5=T8*SS-T9*TS + TS=T8*TS+T9*SS + SS=T5 + T5=T8*SL-T9*TL-SS/X + TL=T8*TL+T9*SL-TS/X + SL=T5 + SSS=SSS+SS + STS=STS+TS + SSL=SSL+SL + STL=STL+TL + EN=EN+1. + ENDIF + 700 CONTINUE +C + T3=X-ETA* LOG(T2)+S(1) + T8=SIN (T3) + T9=COS (T3) + Y=SSS*T9-STS*T8 + Z=SSL*T9-STL*T8 + ENDIF +C + DO 810 I=1,I1 + IF(I.EQ.I1) THEN + G(1) = Y + W = Z + DEL = RP - R + ENDIF +C Runge-Kutta integration + N=ABS (DEL/H)+1.0 + DX=DEL/FLOAT(N) + T1=DX/2. + T2=DX/8. + T3=2.0*ETA + DO 805 J=1,N + T4=DX*(T3/X-1.)*Y + X=X+T1 + T5=DX*(T3/X-1.)*(Y+T1*Z+T2*T4) + X=X+T1 + T6=DX*(T3/X-1.)*(Y+DX*Z+T1*T5) + Y=Y+DX*(Z+(T4+2.*T5)/6.) + Z=Z+(T4+4.*T5+T6)/6. + 805 CONTINUE + 810 CONTINUE + GP(1)=Y +C + T1=ETA**2 + T8=SQRT (1.+T1) + G(2)=((1./R+ETA)*G(1)-W)/T8 + GP(2)=((1./RP+ETA)*Y-Z)/T8 + T2=1. + T3=2. +C Recur irregular function upwards + DO 910 I=3,LL + T4=T2+T3 + T5=T2*T3 + T6=T3*SQRT (T2**2+T1) + T7=T2*SQRT (T3**2+T1) + G (I)=(T4*(ETA+T5/R )*G (I-1)-T6*G (I-2))/T7 + GP(I)=(T4*(ETA+T5/RP)*GP(I-1)-T6*GP(I-2))/T7 + T2=T2+1. + T3=T3+1. + 910 CONTINUE + N=MAX0(L+11, INT(2.0*R+11.0) ) + I1=N + Y =1.0E-20 + YP=Y + Z =0. + ZP=Z +C Recur regular function downwards + DO 930 I=1,I1 + T2=N + T3=T2+1. + T4=T2+T3 + T5=T2*T3 + T6=T2*SQRT (T3**2+T1) + T7=T3*SQRT (T2**2+T1) + X =(T4*(ETA+T5/R )*Y -T6*Z )/T7 + XP=(T4*(ETA+T5/RP)*YP-T6*ZP)/T7 + IF(N.LE.LL) THEN + F (N)=X + FP(N)=XP + ELSE +c Scale for l > lmax + IF(ABS (X).GT.1.0) THEN + Y =Y *1.0E-20 + YP=YP*1.0E-20 + X =X *1.0E-20 + XP=XP*1.0E-20 + ENDIF + ENDIF + N=N-1 + Z =Y + ZP=YP + Y =X + YP=XP + 930 CONTINUE + Z =1./(T8*(F (1)*G (2)-F (2)*G (1))) + ZP=1./(T8*(FP(1)*GP(2)-FP(2)*GP(1))) + DO 950 I=1,LL + F (I)=F (I)*Z + 950 FP(I)=FP(I)*ZP + RETURN + END diff --git a/dwuck4/culib4/DSTRIP.FOR b/dwuck4/culib4/DSTRIP.FOR new file mode 100644 index 0000000..9a72be2 --- /dev/null +++ b/dwuck4/culib4/DSTRIP.FOR @@ -0,0 +1,278 @@ + + SUBROUTINE DSTRIP(IQ,DR,K,F1,F2,FR,QNUM,OPT,KM,SL,C) +c +c Calculates two nucleon transfer form factor (Bayman and Kallio) +c +c IQ Input quantum numbers for form factor +c DR Step size +c K Number of steps +c F1 First orbital +c F2 Second orbital +c FR Output form factor +c QNUM Quantum numbers for orbitals +c OPT +c + parameter (maxg=10, maxr=12) + DIMENSION F1(400),F2(400),FR(800),QNUM(4,2),IQ(4),TVCC(-9:9) + 1 ,D1(-9:9),D2(-9:9),C(32),AG(maxg),WG(maxg),BG(maxg) + 2 ,AR(maxr),WR(maxr) +C + DATA KR,KX,krel/0,0,0/ + data ag, wg, bg, ar, wr/maxg*0.,maxg*0.,maxg*0.,maxr*0.,maxr*0./ +C +c c1 = R1 scale +c c2 = R2 scale +c c3 = r1 scale +c c4 = r2 scale +c c5 = r0, integration scale +c c6 = Pauli flag +c c7 = order of integration +c c8 = number of integration points +c + IPAULI=C(6) + R0 =C(5) + L = IQ(1) + IS = IQ(2) + JJ = IQ(3) + lrel = iq(4) + N1=QNUM(1,1) + N2=QNUM(1,2) + L1=QNUM(2,1) + L2=QNUM(2,2) + J1=QNUM(3,1) + J2=QNUM(3,2) + IS1=QNUM(4,1) + IS2=QNUM(4,2) + c3=c(3) + c4=c(4) + dr1=dr*c(1) + dr2=dr*c(2) + ITEMP=N1+N1+N2+N2 + NX=(((ITEMP+L1+L2+L+2)/4+2)+3+4*lrel)/2+2*IPAULI + if(c(8).eq.0.0) then + NR=(((ITEMP+L1+L2-L+3)/4+8)+1+2)/2+2*IPAULI + NR=MIN0(NR,maxr) + IF(NR.NE.KR) then + CUT=0.0 + IERR=0 + ALFA=C(7) + CALL GAUSSR(NR,KS,ALFA,AR,WR,IERR,CUT) + NR=KS + kr=nr + endif + else + nr = c(8) + do 45 i=1,nr + ar(i)=c(i+8) + wr(i)=c(i+nr+8) + if(wr(i).ne.0.0) kr=i + 45 continue + nr=kr + endif + NX=MIN0(NX,maxg) + IF(NX .NE. KX .or. lrel .ne. krel) then + CALL LEGAUS(2*NX,AG,WG) + KX=NX + krel=lrel + DL1=sqrt(YXFCT(0,2*lrel))*YXFCT(lrel,2*lrel)/2.0**lrel + 1 *sqrt(float(2*lrel+1))*phasef(lrel) + do 47 i=1,nx + BG(i) = sqrt(1.0-ag(i)**2) + DM1=0.0 + DO 46 LI=1,lrel + DL1=DL1*BG(i) + 46 CONTINUE + wg(i) = wg(i)*DL1 + 47 continue + endif +c WRITE(20,'(15H0 NO. R STEPS =,I3,18H NO. X STEPS =,I3)')NR,NX +c + LL=L+L + LL1=L1+L1 + LL2=L2+L2 + FACT1=YXFCT(L1,LL1)/2.0**L1 + FACT2=YXFCT(L2,LL2)/2.0**L2 + FNORM=OPT*SQRT(FLOAT((LL1+1)*(LL2+1))/FLOAT(LL+1)) + 1 /vcc(LL,2*lrel,LL,0,2*lrel) + IF(IPAULI. eq. 0) then + TEMP=2.0 + DO 50 I=1,4 + IF(QNUM(I,1).NE.QNUM(I,2)) GO TO 55 + 50 CONTINUE + TEMP=4.0 + 55 CONTINUE + FNORM=FNORM/SQRT(TEMP) + endif +c + FNORM=FNORM*SQRT(FLOAT((LL+1)*(IS+1)*(J1+1)*(J2+1))) + 1 *WINEJ(LL1,IS1,J1,LL2,IS2,J2,LL,IS,JJ) + if(l1 .le. l2) then + mmin= -min0(l1,l2-lrel) + mmax= l1 + else + mmin=-min0(l2,l1-lrel) + mmax= l2+lrel + endif + DO 80 M=mmin,mmax + TVCC( M)=VCC(LL1,LL2,LL, 2*M,-2*M+2*lrel) + 1 *SQRT(yxfct(l1+abs( m ),l1-abs( m )) + 2 *yxfct(l2+abs(-m+lrel),l2-abs(-m+lrel))) +c write(20,'(a,2i4,2f10.5)')' m1, m2, Tvcc(m1,m2)' +c 1 ,m,-m+lrel,Tvcc( m) + 80 CONTINUE +C +C RS=r +C +C R1=| C1*R+C3*r | +C R2=| C2*R+C4*r | +C +C +C CENTER OF MASS R LOOP +C + R=0.0 + S=0.0 + DO 500 M =1,K + R=R+DR1 + S=S+DR2 + RSQ=R**2 + SSQ=S**2 + SUMR=0.0 +C +C RELATIVE R LOOP +C +c RS = r/2 + DO 400 MR=1,KR + RS=AR(MR)*R0 + SS=RS*C3 + RS=RS*C4 + RSSQ=RS**2+RSQ + RPROD=2.0*R*RS + SSSQ=SS**2+SSQ + SPROD=2.0*S*SS +C +C RELATIVE R ANGLE LOOP +C + SUMX=0.0 + DO 300 MX=1,KX + X =AG(MX) + y =BG(mx) + IX=0 + 110 CONTINUE + R1=SQRT(RSSQ+RPROD*X) + R2=SQRT(SSSQ+SPROD*X) + FK1=R1/DR + K1=FK1 + K1=MAX0(K1,2) + FK1=FK1-FLOAT(K1) + IF(K1.GT.K) GO TO 300 + FK2=R2/DR + K2=FK2 + K2=MAX0(K2,2) + FK2=FK2-FLOAT(K2) + IF(K2.GT.K) GO TO 300 + COS1=(R+RS*X)/R1 + COS2=(S+SS*X)/R2 + SIN1=abs(rs*y/r1) + SIN2=abs(ss*y/r2) +c + 120 CONTINUE + DM1=0.0 + DL1=FACT1 + DO 140 LI=1,L1 + DL1=DL1*SIN1 + 140 CONTINUE +c time reversal phase + D1( L1)=DL1*phasef(L1) + D1(-L1)=DL1 + DM2=0.0 + DL2=FACT2 + DO 150 LI=1,L2 + DL2=DL2*SIN2 + 150 CONTINUE +c time reversal phase * exp(im*pi) + D2( L2)=DL2 + D2(-L2)=DL2*phasef(L2) + FJ1=1.0 + FL1=LL1 + FM1=LL1 + DO 170 m1=L1-1,0,-1 + DK1=(FM1*COS1*DL1/SIN1-DM1)/(FJ1*FL1) + FJ1=FJ1+1.0 + FL1=FL1-1.0 + FM1=FM1-2.0 + DM1=DL1 + DL1=DK1 +c time reversal phase + D1( m1)=DL1*phasef(m1) + D1(-m1)=DL1 + 170 CONTINUE +c if(m .eq. 1 .and. mr .eq. 1) then +c write(20,'(a,10(i4,f10.5))')' m1, D1 =' +c 1 ,(m1,d1(m1),m1=l1,-l1,-1) +c endif + FJ2=1.0 + FL2=LL2 + FM2=LL2 + DO 180 m2=L2-1,0,-1 + DK2=(FM2*COS2*DL2/SIN2-DM2)/(FJ2*FL2) + FJ2=FJ2+1.0 + FL2=FL2-1.0 + FM2=FM2-2.0 + DM2=DL2 + DL2=DK2 +c time reversal phase * exp(im*pi) + D2( m2)=DL2 + D2(-m2)=DL2*phasef(m2) + 180 CONTINUE +c if(m .eq. 1 .and. mr .eq. 1) then +c write(20,'(a,10(i4,f10.5))')' m2, D2 =' +c 1 ,(m2,d2(m2),m2=l2,-l2,-1) +c endif + PROD=0.0 + DO 185 LI=mmin,mmax + PROD=PROD+D1( LI)*D2(-LI+lrel)*TVCC(LI) +c if(m .eq. 1 .and. mr .eq. 1) then +c write(20,'(a,2i4,4f10.5)')' m1, m2, D1, D2, Tvcc, Prod =' +c 1 ,li,-li+lrel,d1(li),d2(-li+lrel),Tvcc(li),prod +c endif + 185 CONTINUE + 280 CONTINUE +C INTERPOLATE - 4 POINT FORMULA + FT1=-FK1*(FK1-1.)*(FK1-2.)*F1(K1-1)/6. + 1 + (FK1**2-1.)*(FK1-2.)*F1(K1 )/2. + 2 - FK1*(FK1+1.)*(FK1-2.)*F1(K1+1)/2. + 3 + FK1*(FK1**2-1.)*F1(K1+2)/6. + FT2=-FK2*(FK2-1.)*(FK2-2.)*F2(K2-1)/6. + 1 + (FK2**2-1.)*(FK2-2.)*F2(K2 )/2. + 2 - FK2*(FK2+1.)*(FK2-2.)*F2(K2+1)/2. + 3 + FK2*(FK2**2-1.)*F2(K2+2)/6. + SUMX=SUMX+WG(MX)*PROD*FT1*FT2 +c if(m.eq.34) write(20,'(2i4,1p10e12.4)')mr,mx,x,r1,r2,r1**2+r2**2 +c 1 ,ft1,ft2,ft1*ft2,prod,wg(mx),sumx + IF(IX.eq.0) then + IX=1 + ITEMP=K1 + K1=K2 + K2=ITEMP + ATEMP=FK1 + FK1=FK2 + FK2=ATEMP + IF(L1.EQ.L2) GO TO 280 + ATEMP=COS1 + COS1=COS2 + COS2=ATEMP + ATEMP=SIN1 + SIN1=SIN2 + SIN2=ATEMP + GO TO 120 + endif + 300 CONTINUE + SUMR=SUMR+WR(MR)*SUMX + 400 CONTINUE + SUMR=SUMR*FNORM + FR(2*M-1)=FR(2*M-1)+SUMR + IF(M.EQ.KM) SL=SUMR + 500 CONTINUE + 1000 CONTINUE + RETURN + END diff --git a/dwuck4/culib4/DWPLOT.FOR b/dwuck4/culib4/DWPLOT.FOR new file mode 100644 index 0000000..3eec600 --- /dev/null +++ b/dwuck4/culib4/DWPLOT.FOR @@ -0,0 +1,81 @@ + + SUBROUTINE DWPLOT(NTH0,NLOG,SIGPLT,DTHETA,THETA1) +C +C THIS IS A NEW VERSION OF THE PRINTER PLOT ROUTINE, June 1992 +C + Parameter (len = 100, pi = 3.141592) + DIMENSION SIGPLT(*) + CHARACTER*1 temp + 1, BLANK /' '/, ASTER /'*'/, FENCE /'|'/, APLUS /'+'/ + CHARACTER*(len+1) dstore + CHARACTER*(len+3) astore +c + common/ch3files/input, ioutp +C + ioutput = 6 + if(ioutp .ne. 0) ioutput = ioutp + nth = abs(nth0) + if(nlog.gt.0) then + MAXN= 0 + DO 30 I=1,NTH + IF(SIGPLT(I).LE.0.0) SIGPLT(I)=1.0E-20 + SIGPLT(I)= LOG10(SIGPLT(I)) + MAXN=MAX0(MAXN,INT(SIGPLT(I) + 100.0)-NLOG) + 30 CONTINUE + MAXN = MAXN - 100 + 1 + nlogp= nlog + else + MAXN = -1 + nlogp= 2 + endif +c Write header line + do 40 j=1,len+3 + 40 astore(j:j) = BLANK + do 45 j=0,nlogp + indx = j*(len/nlogp) + 1 + 45 write(astore(indx:indx+2),'(i3)')MAXN +j + WRITE(ioutput,9000)astore +c + DO 100 I=1,NTH + tint = THETA1 + (i-1)*DTHETA +C Coose between angle or cos(angle) data + if(nth0.lt.0) then + if (tint.gt. 1.0) tint = 1.0 + if (tint.lt.-1.0) tint =-1.0 + theta = acos(tint)*180./pi + else + theta = tint + endif + cs = cos(theta*pi/180.) + IF(I.EQ.1.OR.I.EQ.NTH) THEN + TEMP=APLUS + ELSE + TEMP=BLANK + ENDIF + DSTORE( 1: 1) = APLUS + DSTORE(len+1:len+1) = APLUS + DO 70 J=2,LEN + DSTORE(j:j) = TEMP + 70 CONTINUE + if(nlog.le.0) dstore(len/2+1:len/2+1) = APLUS +C + IF(I .EQ. 1 .OR. I .EQ. NTH) THEN + DO 80 J=0,NLOGP + indx = j*(len/nlogp) +1 + DSTORE(indx:indx) = FENCE + 80 CONTINUE + ENDIF +C + INDX= (SIGPLT(I)-float(MAXN))*float((LEN/NLOGP)) + 1.5 + IF(INDX.GE.1) DSTORE(indx:indx) = ASTER +C + WRITE(ioutput,9002)THETA,DSTORE,THETA,cs + 100 CONTINUE +C Write trailer line + WRITE(ioutput,9000)astore +c + RETURN +c + 9000 FORMAT(' THETA ',A103 ,' THETA ','cos(theta)') + 9002 FORMAT(' ',F8.2 ,' ',A101, F8.2, f10.4 ) + END diff --git a/dwuck4/culib4/FNLOC5.FOR b/dwuck4/culib4/FNLOC5.FOR new file mode 100644 index 0000000..3beb9b4 --- /dev/null +++ b/dwuck4/culib4/FNLOC5.FOR @@ -0,0 +1,74 @@ + + SUBROUTINE FNLOC5(U,V,W,PNLOC,FK2,FK,ETA,RC,DR,KT) +c +c W Central optical potential +c V Spin orbit potential, for Darwin form +c W Function for correction to be applied to +c PNLOC Non-locality parameter +c Positive value gives Gaussian form +c Negative value gives Darwin form +c FK2 Wave numbre squared +c FK Wave number +c ETA Coulomb parameter +c RC Coulomb radius +c DR Radial increment +c KT Number of points +c + DIMENSION U(800),V(800),W(800) +C +C NON LOCALITY CORRECTION FACTOR FOR DISTORTED WAVES +C + FACP=PNLOC**2/8.0 + IF(FACP.EQ.0.0) GO TO 410 +C + WRITE(6,9900)PNLOC + IF(PNLOC.GT.0.0) THEN + R=0.0 + ETAK=2.0*ETA*FK + ELSE + R1=DR*FLOAT(KT+1) + ENDIF + CTEMP1=0.0 + CTEMP2=0.0 + T1=0.0 + T2=0.0 +C + DO 400 M=1,KT + IF(PNLOC.GT.0.0) THEN +C PNLOC POSITIVE GIVES USUAL NON-LOCAL FACTOR WITH GAUSSIAN SHAPE + MK=M+M-1 + R=R+DR + IF(R.GT.RC) THEN + VCOUL=ETAK/R + ELSE + VCOUL=0.5*ETAK*(3.0-(R/RC)**2)/RC + ENDIF + CTEMP1=-FACP*U(MK )+FACP*(FK2-VCOUL) + CTEMP2=-FACP*U(MK+1) + T1=U(MK ) + T2=U(MK+1) + ELSE +C PNLOC NEGATIVE GIVES DIRAC TYPE DARWIN FACTOR BASED ON SPIN ORBIT + MK=KT+KT-M-M+1 + R2=R1 + R1=R1-DR + CTEMP1=CTEMP1-(R2*T1+R1*V(MK ))*(DR*0.25) + CTEMP2=CTEMP2-(R2*T2+R1*V(MK+1))*(DR*0.25) + T1=V(MK ) + T2=V(MK+1) + ENDIF +C + FACT=EXP(CTEMP1) + UT1=FACT*COS(CTEMP2) + UT2=FACT*SIN(CTEMP2) + UF1 =UT1*W(MK )-UT2*W(MK+1) + UF2 =UT1*W(MK+1)+UT2*W(MK ) + W(MK )=UF1 + W(MK+1)=UF2 +C WRITE(20,7777)R1,T1,T2,UT1,UT2 +C 7777 FORMAT(' R =',F6.2,' POT =',1P2E12.4,' FACTOR =',1P2E12.4) + 400 CONTINUE + 410 CONTINUE + RETURN + 9900 FORMAT('0Non-locality correction is applied, parameter =',f8.3) + END diff --git a/dwuck4/culib4/GAUSSR.FOR b/dwuck4/culib4/GAUSSR.FOR new file mode 100644 index 0000000..8f18b76 --- /dev/null +++ b/dwuck4/culib4/GAUSSR.FOR @@ -0,0 +1,83 @@ + + SUBROUTINE GAUSSR(NMAX,INDEX,ALFA,AG,WG,IERR,CUTOFF) +C +C GAUSS-HERMITE AND GAUSS-LAGUERRE POINT AND WAIT ROUTINE +C +C IF ALFA IS INTEGER -- GAUSS-LAGUERRE +C IF ALFA IS INTEGER + 1/2 -- GAUSS-HERMITE +C +c e.g. alfa = -0.5 gives usual Gauss-Hermite points and weights +c e.g. alfa = 0.0 gives usual Gauss-Laguerre points and weights +c + DIMENSION AG(100),WG(100) +C + DATA PI,SQRPI,eps/3.14159265,1.77245385,1.e-6/ + INDEX=0 + FI=NMAX + FKI=4.0*(FI+(ALFA+1.0)*0.5) + FLN= LOG(FI) +C + K=ALFA + JJ=(ALFA-FLOAT(K))*2.0 + DY=0.0 + IF(JJ.EQ.0) then + FNORM=1.0 + IF(K.NE.0) then + DO 10 J=1,K + FNORM=FNORM*(ALFA+FI+1.0-FLOAT(J)) + 10 CONTINUE + endif + else + FNORM=SQRPI/2.0 + DO 20 J=1,NMAX + FNORM=FNORM*(1.0+ALFA/FLOAT(J)) + 20 CONTINUE + K=ALFA+1.0 + IF(K.NE.0) then + DO 22 J=1,K + FNORM=FNORM*(FLOAT(J)-0.5) + 22 CONTINUE + endif + endif + Y=0.0 + Z1=0.0 + Z2=0.0 +C + DO 80 J=1,NMAX + FJ=J + FKJ=4.0*(FJ+(ALFA+1.0)*0.5) + Z=((FJ+0.5*ALFA-0.25)*PI)**2/FKI + Z=Z*(1.0+Z*(1.0+PI* LOG(FJ)*FLN/(8.0*(FI+FLN-FJ+eps)))/(3.0*FKI)) + DELZ=Z-Z1 + Z1=Z + Z=Y+DELZ + Z3=Z + DO 74 M=1,20 + A1=0.0 + A2=1.0 + DO 70 K=1,NMAX + FK=K + A3=((2.0*FK+ALFA-1.0-Z)*A2-(FK+ALFA-1.0)*A1)/FK + A1=A2 + A2=A3 + B2=(FK*A2-(FK+ALFA)*A1)/Z + 70 CONTINUE + Y=Z-A2/B2 + IF(ABS((Z-Y)/Z).LT.3.0E-07) GO TO 75 + Z=Y + 74 CONTINUE + IERR=J + 75 CONTINUE + DZ=Z-Z2 + Z2=Z + DZ=((FNORM/Z)/B2)/B2 + IF(DZ.LT.CUTOFF.AND.DZ.LT.DY) GO TO 100 + DY=DZ + INDEX=J + AG(J)=Y + WG(J)=DZ + IF(JJ.NE.0) AG(J)=SQRT(Y) + 80 CONTINUE + 100 CONTINUE + RETURN + END diff --git a/dwuck4/culib4/LEGAUS.FOR b/dwuck4/culib4/LEGAUS.FOR new file mode 100644 index 0000000..5d71b1b --- /dev/null +++ b/dwuck4/culib4/LEGAUS.FOR @@ -0,0 +1,43 @@ + + SUBROUTINE LEGAUS(LL,X,W) +C +C GAUSS-LEGENDRE POINT AND WAIT ROUTINE FOR AN EVEN NO. OF POINTS +C +C ll = order i.e. the total number of points for -1< x <1 +C x = points +C w = weights +C + IMPLICIT REAL*8(A-H,O-Z) + real*4 x,w + DIMENSION X(100),W(100) + Z3=-1.6/FLOAT(LL+1) + Z2=3.0*Z3 + Z1=5.0*Z3 + NL=(LL+1)/2 + DO 200 L=1,NL + ZOLD=0.0 + Z=Z1+3.0*(Z3-Z2) + DO 50 J=1,10 + P1=0.0 + P2=1.0 + DO 30 I=1,LL + P3=(FLOAT(I+I-1)*Z*P2-FLOAT(I-1)*P1)/FLOAT(I) + P1=P2 + P2=P3 + 30 CONTINUE + DP=FLOAT(LL)*(P1-Z*P2)/(1.0-Z*Z) + Z=Z-P2/DP + IF(ABS(Z-ZOLD)/Z.LT.1.0E-10) GO TO 51 + ZOLD=Z + 50 CONTINUE + WRITE(6,9100)L + 9100 FORMAT(28H0NO CONVERGENCE FOR ZERO NO.,I4) + 51 CONTINUE + X(L)=Z + W(L)=2.0/((1.0-Z*Z)*DP*DP) + Z1=Z2 + Z2=Z3 + Z3=Z + 200 CONTINUE + RETURN + END diff --git a/dwuck4/culib4/LGNDR.FOR b/dwuck4/culib4/LGNDR.FOR new file mode 100644 index 0000000..9a5a5fc --- /dev/null +++ b/dwuck4/culib4/LGNDR.FOR @@ -0,0 +1,38 @@ + + SUBROUTINE LGNDR(PLM,MPLUS,LPLUS,THET) + DIMENSION PLM(459) + THETA=THET /57.295779 + Y=COS(THETA) + Z=SIN(THETA) + IX=0 + DO 100 M=1,MPLUS + LX=M-1 + L2=0 + P3=1.0 + FL1=LX + IF(LX.EQ.0) GO TO 41 + DO 40 LT=1,LX + FL1=FL1+1.0 + P3=P3*FL1*Z/2.0 + 40 CONTINUE + 41 P2=0.0 + FL2=FL1+1.0 + FL3=1.0 + DO 90 LT=1,LPLUS + IX1=IX+LT + IF(L2-LX)50,70,60 + 50 PLM(IX1)=0.0 + GO TO 75 + 60 P3=(FL2*Y*P2-FL1*P1)/FL3 + FL1=FL1+1.0 + FL2=FL2+2.0 + FL3=FL3+1.0 + 70 PLM(IX1)=P3 + P1=P2 + P2=P3 + 75 L2=L2+1 + 90 CONTINUE + IX=IX+LPLUS + 100 CONTINUE + RETURN + END diff --git a/dwuck4/culib4/POLFCT.FOR b/dwuck4/culib4/POLFCT.FOR new file mode 100644 index 0000000..ffb71cb --- /dev/null +++ b/dwuck4/culib4/POLFCT.FOR @@ -0,0 +1,287 @@ +c$debug + subroutine polfct(max1,maxi,jr,js,theta,Pol,sr + 1 ,iopen20,iout20,nth,ntheta,ALPHA,IDAT) +c ------------------------------------------------------------- +c max1 initial target multiplicity +c maxi final target multiplicity +c jr initial projectile multiplicity +c js final projectile multiplicity +c sr(1...jr, 1...js, 1...max1, 1...maxi) +c ------------------------------------------------------------- +c Double precision statements ------------------------------- +c implicit real*8 (a-h,o-z) +c double complex sr(js,jr,maxi,max1), a(3,3), b(3,3), c(3,3) +c 1 , d(3,3,4), e(3,3,3) +c real*8 Knn +c ------------------------------------------------------------- +c Single precision statements -------------------------------- + complex sr(js,jr,maxi,max1), a(3,3), b(3,3), c(3,3) + 1 , d(3,3,4), e(3,3,3) + real*4 Knn +c ------------------------------------------------------------- + parameter (nsig = 4, npol = 10, nay = 4, nty = 3 + 1 , rads = 3.141592/180.) + logical iopen20, iout20 + + dimension s(2,2,3), ii(nsig), jj(nsig) + 1 , Pol(npol), Sy(3,3,3), Sij(3,3,4), IDAT(6), ALPHA(15) + 2 ,csig(nsig), Cij(nsig), Dij(nsig), dsig(nsig) +c +c spin 1/2 matrices for Spin correlation coefficients +c s stored as S_z, S_x and S_y +c + data s /-1., 0., 0., 1. + 1 , 0., 1., 1., 0. + 2 , 0.,-1., 1., 0./ +C +c SY MATRIX FOR SPIN 0, 1/2 and 1 +c + DATA Sy/0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 + 1, 0.0,-1.0,0.0, 1.0,0.0,0.0, 0.0,0.0,0.0 + 2, 0.0,-.707106781,0.0, .707106781,0.0,-.707106781 + 3, 0.0,.707106781,0.0/ +C +C SYY = ( 3*SY*SY - S*S ) +C S22 = ( S^*S^ )*SQRT(3)/4 +C S21 = ( S^*SZ + SZ*S^)*SQRT(3)/2 +C S20 = ( 3*SZ*SZ - S*S )/SQRT(2) +C + DATA Sij/-0.5,0.0,-1.5, 0.0,1.0,0.0, -1.5,0.0,-0.5 + 1, 0.0,0.0,0.0, 0.0,0.0,0.0, 1.73205081,0.0,0.0 + 2, 0.0,0.0,0.0, -1.2247449,0.0,0.0, 0.0,1.2247449,0.0 + 3, 0.70710678,0.0,0.0,0.0,-1.4124214,0.0 + 4, 0.0,0.0,0.70710678/ +C + data ii/1, 2, 3, 1/ + data jj/1, 2, 3, 2/ + data zero/0.0/ +c +c write(20,'(1p8e12.4)')sr + cs=cos(theta*rads) + ss=sin(theta*rads) + do 20 n=1,nsig + csig(n)=0.0 + dsig(n)=0.0 + 20 continue + do 30 i=1,npol + Pol(i) = 0.0 + 30 continue + Dnn = 0.0 + Knn = 0.0 +c + if(jr.gt.3 .or. js.gt.3) go to 1000 +c +c Calculate Dnn = < S_y(initial) * S_y(final) > +c Calculate pol = < S_y(final ) > +c Calculate asy = < S_y(initial) > +c + do 200 mx=1,max1 + do 190 my=1,maxi +c + do 180 m =1,jr + do 170 mp=1,js + a(mp,m ) = 0.0 + b(mp, m) = 0.0 + c(mp, m) = 0.0 + if(jr .eq. 3) then + do 115 i=1,nay + d(mp,m ,i) = 0.0 + 115 continue + endif + do 130 m1=1,jr + do 120 m2=1,js +c Dnn coefficient ------------------------------------------- + c(mp,m )=c(mp,m ) + sr(m2,m1,my,mx) * cmplx(zero, Sy(m2,mp,js)) + 1 *cmplx(zero, Sy(m ,m1,jr)) + 120 continue +c Asymmetry -------------------------------------------- + b(mp,m )=b(mp,m ) + sr(mp,m1,my,mx) * cmplx(zero, Sy(m ,m1,jr)) + if(jr .eq. 3) then + do 125 i=1,nay + d(mp,m ,i)=d(mp,m ,i) + sr(mp,m1,my,mx) * Sij(m ,m1,i) + 125 continue + endif + 130 continue + do 140 m2=1,js +c Polarization -------------------------------------------- + a(mp,m )=a(mp,m ) + sr(m2,m ,my,mx) * cmplx(zero, Sy(m2,mp,js)) + if(js .eq. 3) then + do 135 i=1,nty + e(mp,m ,i)=e(mp,m ,i) + sr(m2,m ,my,mx) * Sij(m2,mp,1) + 135 continue + endif + 140 continue +c + Pol(1) =Pol(1) + conjg(sr(mp,m ,my,mx)) * sr(mp,m ,my,mx) + Pol(2) =Pol(2) + conjg(sr(mp,m ,my,mx)) * a(mp,m ) + Pol(3) =Pol(3) + conjg(sr(mp,m ,my,mx)) * b(mp,m ) + if(jr .eq. 3) then + do 160 i=1,nay + pol(i+3)=Pol(i+3) + conjg(sr(mp,m ,my,mx)) * d(mp,m ,i) + 160 continue + endif + if(js .eq. 3) then + do 165 i=1,nty + pol(i+7)=Pol(i+7) + conjg(sr(mp,m ,my,mx)) * e(mp,m ,i) + 165 continue + endif + Dnn =Dnn + conjg(sr(mp,m ,my,mx)) * c(mp,m ) + 170 continue + 180 continue + 190 continue + 200 continue +c + if(Pol(1) .eq. 0.0) go to 1000 + IF(iout20) THEN + if(jr.eq.2 .and. maxi.eq.2) then +c +c Calculate Knn = < S_y(initial) * I_y(final) > +c + do 300 mx=1,max1 + do 290 mp=1,js +c + do 280 my=1,maxi + do 270 m = 1,jr + c(m ,my) = 0.0 + do 260 m1=1,maxi + do 250 m2=1,jr +c Knn coefficient + c(m ,my)=c(m ,my) + sr(mp,m1,m2,mx) * cmplx(zero, Sy(my,m2,2)) + 1 *cmplx(zero, Sy(m1,m ,2)) + 250 continue + 260 continue + Knn = Knn + conjg(sr(mp,m ,my,mx)) * c(m ,my) + 270 continue + 280 continue + 290 continue + 300 continue + endif +c + if(jr .eq. 2 .and. js .eq.2) then +c +c Calculate Dij = < S_i(initial) * S_j(final) > +c + + do 600 mx=1,max1 + do 580 my=1,maxi + do 500 n=1,nsig + i1=ii(n) + j1=jj(n) + do 490 m =1,jr + do 480 mp=1,js + a(mp,m )=0.0 + do 440 m1=1,jr + do 420 m2=1,js + a(mp,m )=a(mp,m ) + sr(m2,m1,my,mx) * s(m2,mp,i1)*s(m ,m1,j1) + 420 continue + 440 continue +c +c Dij correlation coefficients + dsig(n)=dsig(n)+conjg(sr(mp,m ,my,mx))*a(mp,m ) + 480 continue + 490 continue + 500 continue + 580 continue + 600 continue + endif +c + Dsig(3) = -Dsig(3) + do 610 n=1,nsig + dsig(n) = dsig(n)/Pol(1) + 610 continue +c + if(js .eq. 2 .and. maxi .eq. 2) then +c +c Spin correlation coefficients (final state target and projectile) +c Calculate Cij = < S_y(final) * I_y(final) > +c + do 800 mx=1,max1 + do 780 m =1,jr +c + do 700 n=1,nsig + i1=ii(n) + j1=jj(n) + do 690 my=1,maxi + do 680 mp=1,js + a(mp,my)=0.0 + do 640 m1=1,maxi + do 620 m2=1,js + a(mp,my)=a(mp,my)+sr(m2,m ,m1,mx)*s(m2,mp,i1)*s(m1,my,j1) + 620 continue + 640 continue +c + csig(n)=csig(n)+conjg(sr(mp,m ,my,mx))*a(mp,my) + 680 continue + 690 continue + 700 continue +c + 780 continue + 800 continue + do 820 n=1,nsig + csig(n) = csig(n)/Pol(1) + 820 continue + csig(3)=-csig(3) +c +c rotate operators to outgoing particle direction +c +c Minus signs on C_zz, C_xx and C_xz make output agree with the data +c where the z and x axes for the target are in opposite directions +c to those of the projectile +c + Cij(3) = -(csig(1)*cs**2 + csig(2)*ss**2 + 2.0*csig(4)*cs*ss) + Cij(1) = -(csig(1)*ss**2 + csig(2)*cs**2 - 2.0*csig(4)*cs*ss) + Cij(4) = -(csig(4)*(cs**2-ss**2) + (csig(2)-csig(1))*cs*ss) + Cij(2) = csig(3) + endif +c +c Singlet fraction + ssum = (1.0-(csig(1)+csig(2)+csig(3)))/4.0 + Dij(3) = dsig(1) + Dij(1) = dsig(2) + Dij(4) = dsig(4) + Dij(2) = dsig(3) + ENDIF + 900 continue +c + do 980 i=2,npol + Pol(i) = Pol(i)/Pol(1) + 980 continue + Dnn = Dnn /Pol(1) + Knn = Knn /Pol(1) + Pol(1) = Pol(1)/float(max1*jr) + 1000 continue +c +c -------------------------------------------------------- +c output to disk file 20 and file 21 +c + if(iopen20) then + open(unit = 20, file = 'for020.dat', status = 'unknown') + open(unit = 21, file = 'for021.dat', status = 'unknown') + iopen20 = .false. + endif +c + if(iout20) then +c Write header to file + if(nth .eq. 1) then + WRITE(20,9010)ALPHA,IDAT + write(20,9020) ntheta + WRITE(21,9010)ALPHA,IDAT + write(21,9021) ntheta + endif +c + write(20,'(2(0pf8.3,1h,), 1pe12.4, 9(1h,,0pf8.4))') + 1 theta, cs, (Pol(i),i=1,3), Dnn, Knn +c + write(21,'(0pf8.3,1h,,0pf8.3, 9(1h,,0pf8.4))') + 1 theta, cs, Cij, Dij, ssum + endif +c + return +c + 9010 FORMAT(' (',15A4,I4.2,2(1H/,I2.2),I4.2,2(1H:,I2.2)) + 9020 FORMAT(' (',i2,',angle cos[th] Sigma Pol Asy' + 1 ,' Dnn Knn') + 9021 FORMAT(' (',i2,',angle cos[th] Cxx Cyy Czz' + 1 ,' Cxz Dxx Dyy Dzz Dxz fsingl') +c + end diff --git a/dwuck4/culib4/POTS.FOR b/dwuck4/culib4/POTS.FOR new file mode 100644 index 0000000..b98b52e --- /dev/null +++ b/dwuck4/culib4/POTS.FOR @@ -0,0 +1,812 @@ +c*********************************************************************** + SUBROUTINE POTS(U,V) +c +c Calculates the potentials or form factors +c*********************************************************************** +c +c IMPLICIT REAL*8(A-H,O-Z) + COMMON/POTTER/DRX,AFACT(2),VFACT,SFACT,ENG,RM,G(4),ETAX,FKX,ETAKX + 1 ,RCX,HBARC2,ABETA(3),FLDF(3) + 2 ,NX,LAMX,KMXX,KX,IBX,LPLUSX,ICON4,NSPC,IDIRAC,ICHK + + CHARACTER*18 B(26) + DIMENSION UT(5),CN(16),CP(16),YLAM(16),PLM(8) + 1 ,XG(8),WG(8),U(800),V(800),LDFRM(3) +C DIMENSION UD(800) + EQUIVALENCE (YLAM(1),PLM(1)) +C +c + DATA b / ' NX=0 No potential', ' NX=1 VOLUME W-S ' + 1, ' NX=2 SURFAC, W-S ', ' NX=3 2ND DERIV ', ' NX=4 L.S VOLUME ' + 2, ' NX=5 L.S SURFACE ', ' NX=6 VOL*R**POWR ', ' NX=7 SUR*R**POWR ' + 3, ' NX=8 EXTERN FORMF', ' NX=9 HARMONIC OSC', ' NX=10 GAUSSIAN ' + 4, ' NX=11 DEFORM VOL ', ' NX=12 DEFORM SURF', ' NX=13 Hulthen ' + 5, ' NX=14 Yukawa Lam ', ' NX=15 Yukawa L*S ', ' NX=16 NO OPTION ' + 6, ' NX=17 NO OPTION ', ' NX=18 NO OPTION ', ' NX=19 NO OPTION ' + 7, ' NX=20 VECTOR ', ' NX=21 SCALAR ', ' NX=22 Not used ' + 8, ' NX=23 Not used ', ' NX=24 Not used ', ' NX=25 Not used ' + 9/ +C + DATA NG,NGX/8,0/ +C + ETA4 = 6.0 + ETA5 =10.0 + SQRPI= 1.772453851 + PI=3.141592654 +C + IVFLAG=0 + ISFLAG=0 + FACT=VFACT + 70 CONTINUE +C +C READ IN CARD SET 5,6,OR 7 POTENTIAL CARDS +C + READ (5,9000)FZ,VR,RY,AR,VSOR,VI,RZ,AI,VSOI,PWR +C + NZ=ABS(FZ) + RR=ABS(RY)*AFACT(1) + IF(RY.LT.0.0) RR=RR+ABS(RY)*AFACT(2) + RI=ABS(RZ)*AFACT(1) + IF(RZ.LT.0.0) RI=RI+ABS(RZ)*AFACT(2) + IF(ICON4.NE.2.OR.NSPC.LT.3) THEN + WRITE(6,9509)B(NZ+1),VR,RY,AR,RR,VSOR + WRITE(6,9510) VI,RZ,AI,RI,VSOI,PWR + ENDIF +C + KFLAG=0 + IF(NX.LT.3) THEN + VR=VR*FACT + VI=VI*FACT + KT=FKX * MAX (RR,RI)+ETA5 + LPLUSX=MAX0(LPLUSX,KT) + KT=(2.3*ETA4* MAX (AR,AI)+ MAX (RR,RI))/DRX + ELSE + IF(ENG.EQ.0.0) THEN + KT=(2.3*ETA4* MAX (AR,AI)+ MAX (RR,RI))/DRX + ELSE + RM= MAX (RM,RR) + RM= MAX (RM,RI) + IF(RM.EQ.0.0) RM=1.0 + VR=VR*FACT + VI=VI*FACT + KT=(2.3*ETA4/SQRT(FKX**2+2.0*ETAX*FKX/RM))/DRX + ENDIF + ENDIF + KX=MIN0(MAX0(KX,KT),KMXX) + 83 CONTINUE + IF(AR.EQ.0.0) THEN + F1=0.0 + F2=0.0 + ELSE + F2=EXP(-DRX /AR) + F1=EXP( RR/AR) + ENDIF + IF(AI.EQ.0.0) THEN + F3=0.0 + F4=0.0 + ELSE + F4=EXP(-DRX /AI) + F3=EXP( RI/AI) + ENDIF +C + IF(NX.GE.3.AND.ENG.EQ.0.0.AND.NZ.LE.5) THEN + IF(AR.NE.0.0) VR=VR*(RR/AR)**(PWR+1) + IF(AI.NE.0.0) VI=VI*(RI/AI)**(PWR+1) + ENDIF + IF(NZ.EQ.0) GO TO 6050 + GO TO ( 100, 200, 300, 400, 500, 600, 700, 800, 900,1000),NZ + GO TO (1100,1200,1300,1400,1500,1600,1700,1800,1900,2000),NZ-10 + GO TO (2100),NZ-20 + write(6,'(''0Invalid potential option '',i3)')nz + +C +C VOLUME WOODS SAXON +C + 100 CONTINUE + DO 160 M=1,KX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + U(MK )=U(MK )-VR*F1/(1.0+F1) + U(MK+1)=U(MK+1)-VI*F3/(1.0+F3) + 160 CONTINUE + GO TO 6000 +C +C 1ST DERIVATIVE WOODS SAXON +C + 200 CONTINUE + DO 260 M=1,KX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + U(MK )=U(MK )+VR*F1/(1.0+F1)**2 + U(MK+1)=U(MK+1)+VI*F3/(1.0+F3)**2 + 260 CONTINUE + GO TO 6000 +C +C 2ND DERIVATIVE WOODS SAXON +C + 300 CONTINUE + DO 360 M=1,KX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + U(MK )=U(MK )-VR*F1*(1.0-F1)/(1.0+F1)**3 + U(MK+1)=U(MK+1)-VI*F3*(1.0-F3)/(1.0+F3)**3 + 360 CONTINUE + GO TO 6000 +C +C L.S VOLUME WOODS SAXON +C + 400 CONTINUE + IBX=1 + IF(AR.NE.0.0) VR=VR/AR + IF(AI.NE.0.0) VI=VI/AI + R=0.0 + DO 460 M=1,KX + R=R+DRX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + V(MK )=V(MK )-VR*F1/(R*(1.0+F1)**2) + V(MK+1)=V(MK+1)-VI*F3/(R*(1.0+F3)**2) + 460 CONTINUE + GO TO 6000 +C +C L.S 1ST DERIVATIVE WOODS SAXON +C + 500 CONTINUE + IBX=1 + IF(AR.NE.0.0) VR=VR/AR + IF(AI.NE.0.0) VI=VI/AI + R=0.0 + DO 560 M=1,KX + R=R+DRX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + V(MK )=V(MK )+VR*F1*(1.0-F1)/(R*(1.0+F1)**3) + V(MK+1)=V(MK+1)+VI*F3*(1.0-F3)/(R*(1.0+F3)**3) + 560 CONTINUE + GO TO 6000 +C +C WOOD SAXON*R**PWR +C + 600 CONTINUE + R=0.0 + DO 660 M=1,KX + R=R+DRX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + RPWR=R**PWR + U(MK )=U(MK )-VR*F1*RPWR/(1.0+F1) + U(MK+1)=U(MK+1)-VI*F3*RPWR/(1.0+F3) + 660 CONTINUE + GO TO 6000 +C +C 1ST DERIVATIVE WOOD SAXON*R**PWR +C + 700 CONTINUE + R=0.0 + DO 760 M=1,KX + MK=M+M-1 + R=R+DRX + F1=F1*F2 + F3=F3*F4 + RPWR=R**PWR + U(MK )=U(MK )+VR*F1*RPWR/(1.0+F1)**2 + U(MK+1)=U(MK+1)+VI*F3*RPWR/(1.0+F3)**2 + 760 CONTINUE + GO TO 6000 +C +C EXTERNAL FORM FACTOR +C + 800 CONTINUE + IF(NX.GE.3) THEN + READ (5,9000)G + WRITE(6,9508)G + ENDIF + READ(5,9000)F1,F2 +C +C F2 = 0 REAL CENTRAL +C F2 = 1 IMAG CENTRAL +C F2 = 2 REAL SPIN ORBIT +C F2 = 3 IMAG SPIN ORBIT +C + IF(F2.EQ.0.0.OR.F2.EQ.2) THEN + F3=VR + MK=1 + ELSE + F3=VI + MK=2 + ENDIF + IF(F3.EQ.0.0) F3=1.0 + KT=F1 + DO 820 M=1,KT,5 + READ(5,9100)UT + IF(M.GT.KMXX) GO TO 820 + DO 810 I=1,5 + IF(F2.LT.2.0) THEN + U(MK )=U(MK )+UT(I)*F3 + ELSE + V(MK )=V(MK )+UT(I)*F3 + ENDIF + MK=MK+2 + 810 CONTINUE + 820 CONTINUE +C + KX=min0(KT,kmxx) + + GO TO 6000 +C +C HARMONIC OSCILLATOR, NORMALIZED N*EXP(-(R/RY)**2/2) +C + 900 CONTINUE + READ (5,9000)G + WRITE(6,9508)G + F1=1.0/RY**2 + F2=F1/RY + F3=0.5 + F4=SQRPI*0.5 + L=G(2) + IF(L.NE.0) THEN + DO 930 I=1,L + F3=F3+1.0 + F4=F4*F3 + F2=F2*F1 + 930 CONTINUE + ENDIF + NN=G(1) + T1=1.0 + T2=F4 +C LAGUERRE POLYNOMIAL COEFFICIENTS = (Abramowitz-Stegun)*(-1)**nn + CN(1)=(-1.0)**NN + IF(NN.NE.0) THEN + DO 940 I=1,NN + F3=F3+1.0 + T1=T1*FLOAT(I) + T2=T2*F3 + CN(I+1)=-CN(I)*F1*FLOAT(NN+1-I)/(FLOAT(I)*F3) + 940 CONTINUE + ENDIF + ANORM=SQRT(2.0*F2*T1/T2)*T2/(T1*F4) + IF(VR.NE.0.0) ANORM=VR*ANORM + KT=10.0*RY/DRX + KT=MIN0(KT,KMXX) + R=0.0 + F1=F1/2.0 + DO 960 M=1,KT + MK=M+M-1 + R=R+DRX + R2=R**2 + F2=CN(1) + IF(NN.EQ.0) GO TO 951 + F3=1.0 + DO 950 I=1,NN + F3=F3*R2 + F2=F2+CN(I+1)*F3 + 950 CONTINUE + 951 CONTINUE + U(MK )=U(MK )+F2*ANORM*EXP(-F1*R2)*R**L + 960 CONTINUE + GO TO 6000 +C +C EXP(-(R/R0)**2)*R**POWR +C + 1000 CONTINUE + IF(VR.NE.0.0) THEN + R=0.0 + DO 1060 M=1,KX + MK=M+M-1 + R=R+DRX + U(MK )=U(MK )-VR*EXP(-(R/RY)**2)*R**PWR + 1060 CONTINUE + endif + IF(VI.NE.0.0) THEN + R=0.0 + DO 1070 M=1,KX + MK=M+M-1 + R=R+DRX + U(MK+1)=U(MK+1)-VI*EXP(-(R/RZ)**2)*R**PWR + 1070 CONTINUE + endif + GO TO 6000 +C +C DEFORMED VOLUME OR SURFACE BY YLM EXPANSION +C + 1100 CONTINUE + IF(NGX.NE.NG) THEN + CALL LEGAUS(2*NG,XG,WG) + NGX=NG + ENDIF + T2=(-1.0)**LAMX + IF(ICHK.EQ.0) THEN + READ (5,9000) (ABETA(J),FLDF(J) ,J=1,3) + WRITE(6,9000) + WRITE(6,9512) (ABETA(J),FLDF(J) ,J=1,3) + ENDIF + LMAX=LAMX+1 + DO 1101 J=1,3 + LDFRM(J)=FLDF(J) + LMAX=MAX0(LMAX,LDFRM(J)+1) + 1101 CONTINUE + T2=(-1.0)**LAMX +C + DO 1108 I=1,NG + CN(I )=0.0 + CN(I+NG)=0.0 + P2=0.0 + P3=1.0 +C + DO 1106 M=1,LMAX + L=M-1 + FL=L-1 + IF(L.EQ.0) GO TO 1102 + P3=((2.0*FL+1.0)*XG(I)*P2-FL*P1)/(FL+1.0) + 1102 CONTINUE + DO 1103 J=1,3 + IF(ABETA(J).EQ.0.0) GO TO 1103 + IF(L.NE.LDFRM(J)) GO TO 1103 + FACTOR=P3*ABETA(J)*SQRT(FLOAT(L+L+1)/(4.0*PI)) + CN(I )=CN(I )+FACTOR + CN(I+NG)=CN(I+8)+FACTOR*(-1.0)**LDFRM(J) + 1103 CONTINUE + IF(L.NE.LAMX) GO TO 1104 + YLAM(I )= P3*WG(I)*SQRT(FLOAT(L+L+1)*PI) + YLAM(I+NG)=YLAM(I )*T2 + 1104 CONTINUE + P1=P2 + P2=P3 + 1106 CONTINUE + 1108 CONTINUE + DO 1170 I=1,2 + IF(I.EQ.1) THEN + IF(VR.EQ.0.0) GO TO 1170 + VX=VR + RX=RR + AX=AR + F1=1.0 + IFL=-1 + ELSE + IF(VI.EQ.0.0) GO TO 1170 + VX=VI + RX=RI + AX=AI + F1=1.0 + F2=F4 + IFL=0 + ENDIF + DO 1135 J=1,16 + CP(J)=EXP((1.0+CN(J))*RX/AX) + 1135 CONTINUE + IF(LAMX.EQ.0) VX=VX/(SQRPI*2.0) + J=NZ-10 + IF(J.EQ.2) GO TO 1151 + DO 1150 M=1,KX + MK=M+M+IFL + VTEMP=0.0 + F1=F1*F2 + DO 1145 J=1,16 + F3=F1*CP(J) + VTEMP=VTEMP-YLAM(J)*VX*F3/(1.0+F3) + 1145 CONTINUE + U(MK )=U(MK )+VTEMP + 1150 CONTINUE + GO TO 1170 + 1151 CONTINUE + DO 1160 M=1,KX + MK=M+M+IFL + VTEMP=0.0 + F1=F1*F2 + DO 1155 J=1,16 + F3=F1*CP(J) + VTEMP=VTEMP+YLAM(J)*VX*F3/(1.0+F3)**2 + 1155 CONTINUE + U(MK )=U(MK )+VTEMP + 1160 CONTINUE + 1170 CONTINUE + GO TO 6000 + 1200 CONTINUE + GO TO 1100 +C +C HULTHEN WAVE FUNCTION= NORM*(EXP(-R/RY)-EXP(-R/RZ))/R +C + 1300 CONTINUE + READ (5,9000)G + WRITE(6,9508)G + T1=1.0/RY + T2=1.0/RZ + T3=T2**2-T1**2 + T4=SQRT(2.0*T1*(T1+T2)*T2)/(T2-T1) + IF(VR.NE.0.0) KT=16.0* MIN (RY,RZ)/DRX + IF(VR.EQ.0.0) KT=16.0* MAX (RY,RZ)/DRX + KX=MIN0(KX,KMXX) + F1=1.0 + F2=EXP(-DRX *T1) + F3=1.0 + F4=EXP(-DRX *T2) + R=0.0 + DO 1260 M=1,KX + MK=M+M-1 + R=R+DRX + F1=F1*F2 + F3=F3*F4 + V(M)=T3*F3/(F1-F3) + TEMP=1.0 + IF(VR.NE.0.0) TEMP=V(M)/FACT + U(MK )=U(MK )+TEMP*T4*(F1-F3)/R + 1260 CONTINUE + GO TO 6000 +c +c Yukawa L=LAM +c +c v = V-0*exp(-r/rx)/(r/rx) ay < r +c = Wood-Saxon r < ay +c + 1400 CONTINUE + lam=lamx + if(ry.eq.0.0) ry=1.0 + if(rz.eq.0.0) rz=1.0 + if(ar.eq.0.0) ar=drx + if(ai.eq.0.0) ai=drx + f1=1.0 + f2=exp(-drx/ry) + xr=ar/ry + t1=1.0+1.0/xr + t2=1.0 +c Recur Hankel functions + do 1420 i=0,lam + t0=t1 + t1=t2 + t2=float(2*i-1)*t1/xr+t0 + 1420 continue + vzr =2.0*vr*t2*exp(-xr)/xr + betar=2.0*(float(lam+1)*t2/xr+t1)/t2 + f3=1.0 + f4=exp(-drx/rz) + xi=ai/rz + t1=1.0+1.0/xi + t2=1.0 +c Recur Hankel functions + do 1430 i=0,lam + t0=t1 + t1=t2 + t2=float(2*i-1)*t1/xi+t0 + 1430 continue + vzi =2.0*vi*t2*exp(-xi)/xi + betai=2.0*(float(lam+1)*t2/xi+t1)/t2 +c + if(vr.ne.0.0) then + r =0.0 + do 1460 m=1,k + r=r+drx + mk=m+m-1 + f1=f1*f2 + f3=f3*f4 + if(r.lt.ar) then + u(mk )=u(mk )-vzr/(1.0+exp(betar*(r/ry-xr))) + else + xr=r/ry + t1=1.0+1.0/xr + t2=1.0 +c Recur Hankel functions + do 1450 i=0,lam + t0=t1 + t1=t2 + t2=float(2*i-1)*t1/xr+t0 + 1450 continue + u(mk )=u(mk )-vr*t2*f1/xr + endif + 1460 continue + endif + if(vi.ne.0.0) then + r =0.0 + do 1480 m=1,k + r=r+drx + mk=m+m-1 + if(r.lt.ai) then + u(mk+1)=u(mk+1)-vzi/(1.0+exp(betai*(r/rz-xi))) + else + xi=r/rz + t1=1.0+1.0/xi + t2=1.0 +c Recur Hankel functions + do 1470 i=0,lam + t0=t1 + t1=t2 + t2=float(2*i-1)*t1/xi+t0 + 1470 continue + u(mk+1)=u(mk+1)-vi*t2*f3/xi + endif + 1480 continue + endif + go to 6000 +c +c Yukawa L*S +c + 1500 CONTINUE + r =0.0 + if(ry.eq.0.0) ry=1.0 + if(rz.eq.0.0) rz=1.0 + if(ar.eq.0.0) ar=1.0 + if(ai.eq.0.0) ai=1.0 + f1=1.0 + f2=exp(-drx/ry) + xr=ar/ry + betar=2.0*(1.0+3.0/xr+3.0/xr**2)/(1.0+1.0/xr) + vzr =2.0*vr*exp(-xr)*(1.0+1.0/xr)/xr**2 + f3=1.0 + f4=exp(-drx/rz) + xi=ai/rz + betai=2.0*(1.0+3.0/xi+3.0/xi**2)/(1.0+1.0/xi) + vzi =2.0*vi*exp(-xi)*(1.0+1.0/xi)/xi**2 + do 1560 m=1,k + r=r+drx + mk=m+m-1 + f1=f1*f2 + f3=f3*f4 + if(r.lt.ar) then + u(mk )=u(mk )-vzr/(1.0+exp(betar*(r/ry-xr))) + else + u(mk )=u(mk )-vr *f1*(1.0+1.0*ry/r)/(r/ry)**2 + endif + if(r.lt.ai) then + u(mk+1)=u(mk+1)-vzi/(1.0+exp(betai*(r/rz-xi))) + else + u(mk+1)=u(mk+1)-vi *f3*(1.0+1.0*rz/r)/(r/rz)**2 + endif + 1560 continue + go to 6000 + 1600 CONTINUE + 1700 CONTINUE + go to 6000 + 1800 CONTINUE + DO 1860 M=1,KX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + V(MK )=V(MK )-VR*F1/(1.0+F1) + V(MK+1)=V(MK+1)-VI*F3/(1.0+F3) + 1860 CONTINUE + GO TO 6000 + 1900 CONTINUE +c +c Coulomb excitation for a deformed uniform charge distribution +c + IF(ICHK.EQ.0) THEN + READ (5,9000) (ABETA(J),FLDF(J) ,J=1,3) + WRITE(6,9000) + WRITE(6,9512) (ABETA(J),FLDF(J) ,J=1,3) + ENDIF + if(vr.eq.0.0) vr=1.0 + do 1990 i=1,3 + beta=abeta(i) + if(beta.ne.0.0) then +c set flag for unbound stripping evaluation of coulomb ex. + ibx=4 + flam1=beta*sqrt(float(2*lamx+1)/(4.0*pi)) + flam2=flam1*phasef(lamx) +c + if(ngx.ne.ng) then + ngx=ng + call legaus(2*ng,xg,wg) + endif +c + an=0.0 + do 1920 k=1,ng + p1=0.0 + p2=1.0 + if(lamx.gt.0) then + do 1910 j=1,lamx + p3=(float(2*j-1)*xg(k)*p2 - float(j-1)*p1)/float(j) + p1=p2 + p2=p3 + 1910 continue + endif + plm(k)=p2 +c +c calculate normalization +c + r1=rcx*(1.0+flam1*p2) + r2=rcx*(1.0+flam2*p2) + an=an+(r1**3+r2**3)*wg(k) + 1920 continue +c + an =an/3.0 +c + r =0.0 +c + do 1940 m=1,kx + mk=m+m-1 + r=r+drx + sum=0.0 + do 1930 k=1,ng + r1=rcx*(1.0+flam1*plm(k)) + r2=rcx*(1.0+flam2*plm(k)) +c + if(r.gt.r1) then + s1=r1**(lamx+3)/(r**(lamx+1)*float(lamx+3)) + else + if(lamx.eq.2) then + s1=( log(r1/r)+1.0/float(lamx+3))*r**2 + else + s1=(r**lamx/r1**(lamx-2) + 1 -float(2*lamx+1)*r**2/float(lamx+3))/float(2-lamx) + endif + endif +c + if(r.gt.r2) then + s2=r2**(lamx+3)/(r**(lamx+1)*float(lamx+3)) + else + if(lamx.eq.2) then + s2=( log(r2/r)+1.0/float(lamx+3))*r**2 + else + s2=(r**lamx/r2**(lamx-2) + 1 -float(2*lamx+1)*r**2/float(lamx+3))/float(2-lamx) + endif + endif +c + sum=sum+(s1+s2*phasef(lamx))*wg(k)*plm(k) + 1930 continue +c + sum=sum/an + if(beta.ne.0.0.and.lamx.ne.0) sum=sum/flam1 + u(mk )=u(mk )+sum*(vr*etakx/fact) + 1940 continue + endif + 1990 continue + GO TO 6000 +C +C VECTOR POTENTIAL +C VSOR, VSOI ARE THE THIRD PARAMETERS +C IN THE 3 PARAMETER FERMI MODEL +C [1 + VSO?*(R/R?)**2] +C + 2000 CONTINUE + IVFLAG=-1 + R=0.0 + DO 2060 M=1,KX + MK=M+M-1 + R=R+DRX + F1=F1*F2 + F3=F3*F4 + U(MK )=U(MK )-VR*F1*(1.0+VSOR*(R/RR)**2)/(1.0+F1) + U(MK+1)=U(MK+1)-VI*F3*(1.0+VSOI*(R/RI)**2)/(1.0+F3) + 2060 CONTINUE + GO TO 6020 +C +C SCALAR POTENTIAL +C VSOR, VSOI ARE THE FERMI THIRD PARAMETERS +C IN THE 3 PARAMETER FERMI MODEL +C [1 + VSO?*(R/R?)**2] +C + 2100 CONTINUE + ISFLAG=-1 + VR=VR*(SFACT/VFACT) + VI=VI*(SFACT/VFACT) + R=0.0 + DO 2160 M=1,KX + MK=M+M-1 + R=R+DRX + F1=F1*F2 + F3=F3*F4 + V(MK )=V(MK )-VR*F1*(1.0+VSOR*(R/RR)**2)/(1.0+F1) + V(MK+1)=V(MK+1)-VI*F3*(1.0+VSOI*(R/RI)**2)/(1.0+F3) + 2160 CONTINUE + GO TO 6020 +C +C END OF POTENTIALS +C + 6000 CONTINUE + IDIRAC=1 + 6020 CONTINUE + IF(KFLAG.NE.0.OR.NZ.GT.5) GO TO 6050 + IF(ABS(VSOR)+ABS(VSOI).EQ.0.0) GO TO 6050 + NZ=NZ+3 + KFLAG=1 + VR=VR*VSOR/45.2 + VI=VI*VSOI/45.2 + GO TO 83 + 6050 CONTINUE + IF(FZ.GT.0.0) GO TO 70 +C +C PROCESS DIRAC POTENTIALS +C +C ENTRY WITH U -> K**2 - VFACT*V VFACT = 2.0*W1 /HBARC**2 +C V -> - SFACT*S SFACT = 2.0*FM1/HBARC**2 +C + IF(IVFLAG.NE.0.AND.ISFLAG.NE.0) THEN + IF(IDIRAC.EQ.1) THEN + WRITE(6,9515) + ENDIF + IDIRAC=-1 +C +C KT2=KX+KX +C WRITE(20,7777)' ENTRY POTENTIALS' +C WRITE(20,7778)(U(I),I=1,KT2) +C WRITE(20,7777) +C WRITE(20,7778)(V(I),I=1,KT2) + W1M1=(VFACT+SFACT)*0.5*HBARC2 + + DO 6100 M=1,Kx + MK=M+M-1 + VVR=(U(MK )-FKX**2)/VFACT + VVI= U(MK+1) /VFACT + VSR= V(MK ) /SFACT + VSI= V(MK+1) /SFACT + U(MK )=U(MK )+V(MK ) +(VVR**2-VVI**2 - VSR**2+VSI**2)/HBARC2 + U(MK+1)=U(MK+1)+V(MK+1) +(VVR*VVI - VSR*VSI)*2.0/HBARC2 + T1 = W1M1 + VVR-VSR + T2 = VVI-VSI + V(MK )=0.5* LOG (T1**2 + T2**2) + V(MK+1)=ATAN2(T2,T1) + 6100 CONTINUE +C WRITE(20,7777)' SECOND POTENTIALS' +C WRITE(20,7778)(U(I),I=1,KT2) +C WRITE(20,7777) +C WRITE(20,7778)(V(I),I=1,KT2) +C + R=FLOAT(KX+1)*DRX + MK=KX+KX-1 + D2=V(MK ) + D1=D2 + A2=V(MK+1) + A1=A2 + IBX=1 + DO 6150 M=2,KX + MK=MK-2 + R=R-DRX + D3=D2 + D2=D1 + D1=V(MK ) + A3=A2 + A2=A1 + A1=V(MK+1) +C FIRST DERIVATIVE TERMS + DPR=(D3-D1)/(2.0*DRX) + DPI=(A3-A1)/(2.0*DRX) + V(MK+2)=2.0*DPR/R + V(MK+3)=2.0*DPI/R +C SECOND DERIVATIVE TERMS + DPPR=(D3+D1-2.0*D2)/DRX**2 + DPPI=(A3+A1-2.0*A2)/DRX**2 + UDR =0.5*DPPR-0.25*(DPR**2-DPI**2)+DPR/R + UDI =0.5*DPPI-0.25*(2.0*DPR*DPI )+DPI/R +C UD(MK+2)=UDR +C UD(MK+3)=UDI + U(MK+2)=U(MK+2)+UDR + U(MK+3)=U(MK+3)+UDI + 6150 CONTINUE + V(1 )=V(3 )*2.0 + V(2 )=V(4 )*2.0 + U(1 )=U(1 )+UDR + U(2 )=U(2 )+UDI +C WRITE(20,7777)'TERTIARY POTENTIALS' +C WRITE(20,7777)'CENTRAL POTENTIAL' +C WRITE(20,7778)(U(I),I=1,KT2) +C WRITE(20,7777)'SPIN ORBIT POTENTIAL' +C WRITE(20,7778)(V(I),I=1,KT2) +C WRITE(20,7777)'UD - DARWIN TERM' +C WRITE(20,7778)(UD(I),I=1,KT2) +C 7777 FORMAT(A30) +C 7778 FORMAT(' ',1P10E12.4) + ENDIF +C + IF(IDIRAC.EQ.1) IDIRAC=0 + RETURN +C + 9000 FORMAT(10F8.4) + 9100 FORMAT(5E16.7) + 9508 FORMAT(18X,9H NODES=,F9.4,9H L =,F9.4,9H 2*J =,F9.4 + 1 ,9H 2*S =,F9.4,9H FISW =,F9.4) + 9509 FORMAT(A18,9H V RL =,F9.4,9H R0RL =,F9.4,9H A RL =,F9.4 + 1 ,9H R RL =,F9.4,9H VSOR =,F9.4) + 9510 FORMAT(18X,9H V IM =,F9.4,9H R0IM =,F9.4,9H A IM =,F9.4 + 1 ,9H R IM =,F9.4,9H VSOI =,F9.4,9H POWR =,F9.4) + 9512 FORMAT(18X,9H BETA1=,F9.4,9H LDFR1=,F9.4,9H BETA2=,F9.4 + 1 ,9H LDFR2=,F9.4,9H BETA3=,F9.4,9H LDFR3=,F9.4) + 9515 FORMAT('0',20('*'),' WARNING, Mixing of Dirac and non-Dirac' + 1, ' potentials may be hazardous to your calculation' + 2, 20('*')) + END diff --git a/dwuck4/culib4/SLATER.FOR b/dwuck4/culib4/SLATER.FOR new file mode 100644 index 0000000..d833519 --- /dev/null +++ b/dwuck4/culib4/SLATER.FOR @@ -0,0 +1,135 @@ + + SUBROUTINE SLATR (KT,KMAX,DRF,VB,MINL,FMU,ICODE) +c +c Calculates expansion of potentials for Cathen +c + DIMENSION VB(800) +C +C YUKAWA SLATER EXPANSION +C + R=0.0 + IF(ICODE.EQ.2) GO TO 101 +C +C HANKEL FUNCTION*EXP(+FMU*R) +C + F1=1.0 + F2=EXP(-FMU*DRF) + DO 100 M=1,KMAX + R=R+DRF + X=FMU*R + F1=F1*F2 + AZ=(1.0-F1*F1)/(2.0*X) + B2=1.0/X + B1=B2*(1.0+B2) + FL=-1.0 + DO 50 LL=1,MINL + B3=FL*B2/X+B1 + B1=B2 + B2=B3 + FL=FL+2.0 + 50 CONTINUE + VB(M+KMAX)=B2 +C +C BESSEL FUNCTION*EXP(-FMU*R) +C + MAX=2.0*X+10.0 + MAX=MAX0(MAX,MINL+5) + A3=0.0 + A2=1.0 + FL=MAX+MAX+3 + DO 70 LL=1,MAX + N=MAX+1-LL + FL=FL-2.0 + A1=A3+FL*A2/X + IF(N.LT.MINL) GO TO 69 + IF(ABS(A1).LT.1.0E+20) GO TO 69 + A1=A1*1.0E-20 + A2=A2*1.0E-20 + 69 CONTINUE + IF(N.EQ.MINL) TEMP=A1 + A3=A2 + A2=A1 + 70 CONTINUE + VB(M )=TEMP*AZ/A1 + 100 CONTINUE + RETURN +C +C COULOMB SLATER EXPANSION +C + 101 CONTINUE + FL=MINL+MINL-1 + DO 200 M=1,KMAX + R=R+DRF + A2=1.0 + DO 105 LL=1,MINL + A2=A2*R + 105 CONTINUE + VB(M )=A2/(R*FL) + VB(M+KMAX)=1.0/A2 + 200 CONTINUE + RETURN + END + + SUBROUTINE RADIN(KT,KMAX,DRF,FMU,VB,UB,UC,SL,OPT,SI,KMT,SK) +c +c Calculates slater integrals for Cathen +c + DIMENSION UB(400),UC(400),VB(800),SI(800),DG(2) + DATA XRHO/80./ +c FLOAT(III)=DFLOAT(III) +C + KM1=KMAX + KM2=KMAX*2 + KM3=KMAX*3 + DG(1)=2.0*DRF/3.0 + DG(2)=2.0*DG(1) + F0=EXP( FMU*DRF) + MMAX=XRHO/FMU/DRF + R2=0.0 + SUMA=0.0 + SUMB=0.0 + SUMC=0.0 + SUMD=0.0 + DO 200 M=1,KT + MK=M+M-1 + R2=R2+DRF + F2=EXP(-FLOAT(MIN0(MMAX,M)-1)*FMU*DRF) + SLL=0.0 + MX=1 + R1=0.0 + DO 100 MM=1,KT + R1=R1+DRF + MX=3-MX + if(iabs(m-mm).lt.mmax) then + if(m.lt.mm) then + F2=F2/F0 + TEMP=VB(M)*VB(MM+KM3)*F2 + elseif(m.gt.mm) then + TEMP=VB(MM+KM2)*VB(M+KM1)*F2 + F2=F2*F0 + else + TEMP=0.5*(VB(M)*VB(M+KM3)+VB(M+KM2)*VB(M+KM1)) + endif + F1=DG(MX)*UB(MM)*UC(MM)*R1**2 + SLL=SLL+F1*TEMP + endif + 100 CONTINUE + SLL=SLL*OPT + R22=R2**2 + IF(M.EQ.KMT) SK=SLL + SI(MK)=SI(MK)+SLL + SUMA=SUMA+UB(M)*UC(M)*R22 + SUMB=SUMB+UB(M)*UC(M)*R22**2 + SUMC=SUMC+SLL*R22 + SUMD=SUMD+SLL*R22**2 + 200 CONTINUE + SUMA=SUMA*DRF + SUMB=SUMB*DRF + SUMC=SUMC*DRF + SUMD=SUMD*DRF + SL=SUMC + WRITE(6,9100)SUMA,SUMB,SUMC,SUMD + RETURN + 9100 FORMAT(13H0 J0 =,F11.4,7H J1 =,F11.4,7H K0 =,F11.4 + 1 ,7H K1 =,F11.4) + END diff --git a/dwuck4/culib8/ANGMOM.FOR b/dwuck4/culib8/ANGMOM.FOR new file mode 100644 index 0000000..6e22cfd --- /dev/null +++ b/dwuck4/culib8/ANGMOM.FOR @@ -0,0 +1,249 @@ +c*********************************************************************** + FUNCTION VCC(JX1,JX2,JX3,MX1,MX2) +c +c Clebsch-Gordan Coefficient Routine +c +c*********************************************************************** + IMPLICIT REAL*8(A-H,O-Z) +c EXTERNAL FACTOR + COMMON/FACTRL/FACT(0:32) +C + VCC=0.0 + J1=JX1 + J2=JX2 + J3=JX3 + M1=MX1 + M2=MX2 + IF(J1.LT.J2) GO TO 20 + IF(J3.LT.J2) GO TO 30 + ICNTR=0 + GO TO 40 + 20 IF(J3.LT.J1) GO TO 30 + ICNTR=-1 + IT=J1 + J1=J2 + J2=IT + IT=M1 + M1=M2 + M2=IT + GO TO 40 + 30 ICNTR=1 + IT=J2 + J2=J3 + J3=IT + M2=-M1-M2 + 40 CONTINUE + JZ1=(J1+J2-J3)/2 + IF(JZ1.LT.0) GO TO 150 + JZ2=(J1+J3-J2)/2 + IF(JZ2.LT.0) GO TO 150 + JZ3=(J2+J3-J1)/2 + IF(JZ3.LT.0) GO TO 150 + IF(J1-IABS(M1).LT.0) GO TO 150 + IF(J2-IABS(M2).LT.0) GO TO 150 + IF(J3-IABS(M1+M2).LT.0) GO TO 150 + JT1=(J1-J3+M2)/2 + JT2=(J2-J3-M1)/2 + NUMIN=MAX0 (JT1,JT2,0) + JT3=(J1-M1)/2 + JT4=(J2+M2)/2 + NUMAX=MIN0 (JT3,JT4,JZ1) + JT5=(J2-M2)/2 + IF(NUMAX.LT.NUMIN) GO TO 150 + J4=J1/2 + J5=J3/2 + PHAS=PHASEF(NUMIN) + DO 100 NU=NUMIN,NUMAX + VCC=VCC+PHAS *(YXFCT(JT3-NU,J4)*YXFCT(NU-JT2,J5)) + 1/(FACT(JT4-NU)*FACT(NU-JT1)*FACT(JZ1-NU)*FACT(NU)) + PHAS=-PHAS + 100 CONTINUE + FCTOR=YXFCT(J4,(J1+M1)/2)*YXFCT(J4,JT3)*YXFCT((J1+J2+J3)/2+1,JZ2)* + 1YXFCT(J5,(J3+M1+M2)/2)*YXFCT(J5,(J3-M1-M2)/2)*FACT(JZ1)*FACT(JZ3)* + 2FACT(JT4)*FACT(JT5)*FLOAT(J3+1) + VCC=SQRT(FCTOR)*VCC + IF(ICNTR)120,150,110 + 110 VCC=VCC*SQRT(FLOAT(J2+1)/FLOAT(J3+1))*PHASEF(JT3) + GO TO 150 + 120 VCC=VCC*PHASEF(JZ1) + 150 RETURN + END + +c*********************************************************************** + FUNCTION PHASEF(N) +c +c Calculates (-1)**N +c +c*********************************************************************** + IMPLICIT REAL*8(A-H,O-Z) +c + PHASEF=FLOAT(1-2*IABS(N-2*(N/2))) + RETURN + END + +c*********************************************************************** + FUNCTION YXFCT(M,N) +c +C COMPUTES N_FACTORIAL/M_FACTORIAL +c +c*********************************************************************** + IMPLICIT REAL*8(A-H,O-Z) +c + YXFCT=1.0 + NUMAX=M-N + IF(NUMAX)30,100,20 + 20 ICTRL=0 + FCTOR=N + GO TO 40 + 30 ICTRL=1 + NUMAX=-NUMAX + FCTOR=M + 40 CONTINUE + DO 50 NU=1,NUMAX + FCTOR=FCTOR+1.0 + YXFCT=YXFCT*FCTOR + 50 CONTINUE + IF(ICTRL.EQ.0) YXFCT=1.0/YXFCT + 100 RETURN + END + +c*********************************************************************** + FUNCTION RACAH(J1,J2,J3,J4,J5,J6) +c +c Calculates Racah coefficients +c Spins are input as twice the spin +c +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + logical jy_big +c +c EXTERNAL FACTOR + COMMON/FACTRL/FACT(0:32) +c + RACAH=0.0 + Z1=DELR(J1,J2,J5) + IF(Z1.EQ.0.0) GO TO 90 + Z1=DELR(J3,J4,J5)*Z1 + IF(Z1.EQ.0.0) GO TO 90 + Z2=DELR(J1,J3,J6) + IF(Z2.EQ.0.0) GO TO 90 + Z2=DELR(J2,J4,J6)*Z2 + IF(Z2.EQ.0.0) GO TO 90 + Z1=SQRT(Z1/Z2)*Z2 + JT1=(J1+J2+J5)/2 + JT2=(J3+J4+J5)/2 + JT3=(J1+J3+J6)/2 + JT4=(J2+J4+J6)/2 + JZ1=(J1+J2+J3+J4)/2 + JZ2=(J1+J4+J5+J6)/2 + JZ3=(J2+J3+J5+J6)/2 +c + NUMIN=MAX0 (JT1,JT2,JT3,JT4) + NUMAX=MIN0 (JZ1,JZ2,JZ3) + IF(NUMAX.ge.NUMIN) then + if(NUMIN-JT4 .gt. JZ1-NUMIN) then + jy_big = .true. + else + jy_big = .false. + endif + PHASE=PHASEF(NUMIN+JZ1)*Z1 + DO 80 NU=NUMIN,NUMAX + JY1=NU-JT1 + JY2=NU-JT2 + JY3=NU-JT3 + JY4=NU-JT4 + JY5=JZ1-NU + JY6=JZ2-NU + JY7=JZ3-NU + if(jy_big) then + FACTR = YXFCT(JY4,NU+1)/FACT(JY5) + else + FACTR = YXFCT(JY5,NU+1)/FACT(JY4) + endif + RACAH=RACAH+PHASE*FACTR + 1 /(FACT(JY1)*FACT(JY2)*FACT(JY3)*FACT(JY6)*FACT(JY7)) + PHASE=-PHASE + 80 CONTINUE + endif + 90 RETURN + END + +c*********************************************************************** + FUNCTION DELR(J1,J2,J3) +c +c Triangular function +c Used by Racah Function +c +c*********************************************************************** + IMPLICIT REAL*8(A-H,O-Z) + EXTERNAL FACTOR + COMMON/FACTRL/FACT(0:32) +c + JZ1=(J1+J2-J3)/2 + IF(JZ1.LT.0) GO TO 130 + JZ2=(J1-J2+J3)/2 + IF(JZ2.LT.0) GO TO 130 + JZ3=(J2+J3-J1)/2 + IF(JZ3.LT.0) GO TO 130 + JZ4=(J1+J2+J3)/2+1 + IF(JZ3.LT.JZ2) GO TO 80 + IF(JZ3.LT.JZ1) GO TO 70 + DELR=YXFCT(JZ4,JZ3)*FACT(JZ1)*FACT(JZ2) + RETURN + 70 DELR=YXFCT(JZ4,JZ1)*FACT(JZ2)*FACT(JZ3) + RETURN + 80 IF(JZ2.LT.JZ1) GO TO 70 + DELR=YXFCT(JZ4,JZ2)*FACT(JZ1)*FACT(JZ3) + RETURN + 130 DELR=0.0 + RETURN + END + +c*********************************************************************** + FUNCTION WINEJ(J1,J2,J3,J4,J5,J6,J7,J8,J9) +c +c NineJ Symbol Function +c +c*********************************************************************** + IMPLICIT REAL*8(A-H,O-Z) +c + WINEJ=0.0 + MUMIN=MAX0(IABS(J1-J9),IABS(J2-J6),IABS(J4-J8)) + MUMAX=MIN0(J1+J9,J2+J6,J4+J8) + IF(MUMAX.LT.MUMIN) GO TO 40 + DO 20 MU=MUMIN,MUMAX,2 + PROD=RACAH(J1,J4,J9,J8,J7,MU)*RACAH(J2,J5,MU,J4,J8,J6)* + 1 RACAH(J9,MU,J3,J2,J1,J6)*FLOAT(MU+1) + WINEJ=WINEJ+PROD + 20 CONTINUE + WINEJ=WINEJ*PHASEF((J1+J3+J5+J8)/2+J2+J4+J9) + 40 RETURN + END + + BLOCK DATA FACTOR +c +c Factorial table +c + IMPLICIT REAL*8(A-H,O-Z) + COMMON/FACTRL/FACT(0:32) +C + DATA FACT/ 1.0000000000E+00, 1.0000000000E+00, 2.0000000000E+00 + 1 , 6.0000000000E+00, 2.4000000000E+01, 1.2000000000E+02 + 2 , 7.2000000000E+02, 5.0400000000E+03, 4.0320000000E+04 + 3 , 3.6288000000E+05, 3.6288000000E+06, 3.9916800000E+07 + 4 , 4.7900160000E+08, 6.2270208000E+09, 8.7178291200E+10 + 5 , 1.3076743680E+12, 2.0922789888E+13, 3.5568742810E+14 + 6 , 6.4023737057E+15, 1.2164510041E+17, 2.4329020082E+18 + 7 , 5.1090942172E+19, 1.1240007278E+21, 2.5852016739E+22 + 8 , 6.2044840173E+23, 1.5511210043E+25, 4.0329146113E+26 + 9 , 1.0888869450E+28, 3.0488834461E+29, 8.8417619937E+30 + $ , 2.6525285981E+32, 8.2228386542E+33, 2.6313083693E+35/ +C $ , 8.6833176188D+36, 2.9523279904D+38, 1.0333147966D+40 +C $ , 3.7199332679D+41, 1.3763753091D+43, 5.2302261747D+44 +C $ , 2.0397882081D+46, 8.1591528325D+47, 3.3452526613D+49 +C $ , 1.4050061178D+51, 6.0415263063D+52, 2.6582715748D+54 +C $ , 1.1962222087D+56, 5.5026221598D+57, 2.5862324151D+59 +C $ , 1.2413915593D+61, 6.0828186403D+62, 3.0414093202D+64 +C $ , 1.5511187533D+66/ + END diff --git a/dwuck4/culib8/BIND.FOR b/dwuck4/culib8/BIND.FOR new file mode 100644 index 0000000..bffe3a0 --- /dev/null +++ b/dwuck4/culib8/BIND.FOR @@ -0,0 +1,443 @@ + SUBROUTINE BIND(U,F,DR,RM,FNODE,FL,Kin,FK,ETA,V,E,FK2,ISW,IERR,D) +C +C U = POTENTIAL STORAGE +C ODD = - SCALED PART OF V *(2M/HBAR**2) +C EVEN = (ENERGY - NON SCALED PART OF V)*(2M/HBAR**2) +C F = OUTPUTTED WAVE FUNCTION +C DR = RADIAL INCREMENT +C RM = MATCHING RADIUS, INPUT IS DEFAULT, OUTPUT IS VALUE USED +C FNODE = NO. NODES IN WAVE FCT., EXCLUDING ORIGIN AND INFINITY +C FL = ORBITAL ANGULAR MOMENTUM +C Kin = MAX NO. OF POINTS + 2048*(MIN POINT) +C FK = |WAVE NUMBER| E.G. SIN(FK*R) OR EXP(-FK*R) +C ETA = COULOMB PARAMETER +C V = SCALE FACTOR FOR ODD POTENTIAL VALUES +C E = ENERGY +C FK2 = E*(2*M/HBAR**2) +C ISW = SEARCH SWITCH +C 0 = SEARCH ON V +C 1 = SEARCH ON E +C 2 = NO SEARCH, FOR E>0 ONLY (PHASE SHIFT IS CALCULATED) +C 3 = Search on V, box b.c. +C 4 = Search on E. box b.c. +C IERR = ERROR FLAG, IS SET IF ERROR OCCURS +C D = LAST POINT DATA FOR UNBOUND STRIPPING +C D(1),D(2) ARE REAL AND IMAG PARTS OF EXP(2I*DELTA) +C D(3),D(4) ARE GL(RMAX) AND FL(RMAX) +C D(5),D(6) are real and imaginary K**2 +C D(10) is ISW +C + IMPLICIT REAL*8(A-H,O-Z) +c + parameter (Pi = 3.141592654) + logical dplus,dminus,turnpt + CHARACTER*2 A + DIMENSION U(800),F(400),T(8),D(10) + common /ch3files/input,ioutp + DATA ICMAX/32/ + DATA DLAMY,DETX,dinterp,dlammax/.001,.01,0.1,0.3/ + DATA XFACT, ELOG10, ONE/0.707, 2.302585, 1.0/ +C +C CHANGES TO ALLOW INTEGRATION OF HARD CORE POTENTIALS +C THEY ARE KLUDGED TO ALLOW BACKWARD COMPATIBILITY +C Kmin is initial point for hard core +C + if(ioutp .eq. 0) then + ioutput = 6 + else + ioutput = ioutp + endif + Kmin = Kin/2048 + Kmax = Kin-Kmin*2048 + Kmin=Kmin+1 +C + CFACT=1.0 + dv=0.225*v + v0=0.0 + v1=0.0 + d0 =-1.0e20 + d1 = 1.0e20 + dplus =.false. + dminus=.false. + IXNT=0 + IPRNT=0 + IF(IERR.LT.0) IPRNT=1 + IERR=0 + ICNT=ICMAX + IF(ISW.EQ.2) ICNT=0 + FLP=FL*(FL+1.0) + DR2=DR**2/12.0 + LL=FL+1.0 + ITER=0 +C +C CALCULATE OUTER BOUNDARY CONDITION +C + 10 CONTINUE + RMAX=DR*FLOAT(Kmax) + IF(FK2.GT.0.0) THEN +C POSITIVE ENERGY BOUNDARY CONDITION + IF(ISW.EQ.0.OR.ISW.EQ.1.OR.ISW.EQ.2) THEN +c +c get functions at Rmax - dr and Rmax +c + M=MAX0(LL+1,3) + T(2)=FK*RMAX + T(1)=T(2)-FK*DR + CALL COU(T(1),T(2),ETA,M ,DR,F( 1),F(21),F(41),F(61),F(81)) + SCALE=ABS(F(LL+60)) + T(8)=F(LL+60)/SCALE + T(7)=F(LL+40)/SCALE + T(6)=F(LL+20)/SCALE + T(5)=F(LL )/SCALE + D(4)=F(LL+20) + D(3)=F(LL+60) +c +c Calculate surface term for width +c +c calculate Surf = d(k*u'/u)/dk = (u'/u) +kR*[(u''/u) - (u'/u)**2] +c +c Ratio = (u'/u) +c + Ratio = (((FL+1.0)**2 + ETA)/t(2) + 1 - sqrt((FL+1.0)**2 + ETA**2)*F(LL+61)/F(LL+60))/(FL+1.0) + Surf = ( (1. - T(2)*Ratio)*Ratio + 1 -T(2)*(1.0 - FL*(FL+1.0)/T(2)**2 - 2.0*ETA/T(2)))/(2.0*fk) +c +c write(ioutput,'(a,1p4e12.4)')' Surf =',Surf +c + ELSEIF(ISW.EQ.3.OR.ISW.EQ.4) THEN + T(8)=0.0 + T(7)=1.0E-15 + SCALE=1.0 + ELSE + IERR=1 + WRITE(ioutput,'(''0Illegal FISW parameter, ='',i3)')isw + RETURN +C + ENDIF + ELSE +C NEGATIVE ENERGY BOUNDARY CONDITION + IF(ISW.EQ.0.OR.ISW.EQ.1) THEN + T(8)=1.0E-15 + T(7)=T(8)*EXP(FK*DR+ETA* LOG(1.0+DR/RMAX)) + SCALE=1.0 +C BOX BOUNDARY CONDITIONS + ELSEIF(ISW.EQ.3.OR.ISW.EQ.4) THEN + T(8)=0.0 + T(7)=1.0E-15 + SCALE=1.0 + ENDIF + ENDIF + 40 CONTINUE + width = 0.0 + fnorm0 = 0.5*t(8)**2 + t(7)**2 + F(Kmax )=T(8) + F(Kmax-1)=T(7) + RMAX=RMAX-DR + K1 = Kmax-2 + turnpt=.true. + KM=Kmax +C +C INTEGRATE FROM INFINITY TO TURNING POINT +C + 50 continue + R=RMAX + FNCT=0.0 + IF(ISW.NE.2) THEN + G5=U(2*Kmax-4)-FLP/R**2 + IF(G5.LT.0.0) THEN + IFLAG=1 + ELSE + IFLAG=0 + ENDIF + Q6=1.0+DR2*(U(2*Kmax-2)-FLP/(R+DR)**2) + Q5=1.0+DR2*G5 + F6=T(8) + F5=T(7) + W2=0.0 + FNORM2=fnorm0 +C + DO 100 M=K1,Kmin,-1 + MM = M + MK=2*M-1 + R=R-DR + G4=U(MK+1)+V*U(MK )-FLP/R**2 + Q4=1.0+DR2*G4 + F4=((12.0-10.0*Q5)*F5-Q6*F6)/Q4 + Q6=Q5 + Q5=Q4 + G6=G5 + G5=G4 + if(f6*f5.lt.0.0) fnct=fnct+1.0 + F6=F5 + F5=F4 + F(M)=F4 + IF(G6*G5.LT.0.0) IFLAG=IFLAG+1 + if((.not.turnpt.and.f5.lt.f6).or.IFLAG.GE.2) GO TO 110 + FNORM2=FNORM2+F5**2 + W2=W2+U(MK+2)*F5**2 + 100 CONTINUE +C +C If no classical turning point is found, then find first maximum, +C then if none, use external matching radius. +C + if(turnpt) then + turnpt=.false. + go to 50 + else + MM = INT(RM/DR) + endif + 105 continue + F5=F(MM ) + F6=F(MM+1) + 110 CONTINUE +C +C INTEGRATE FROM ORIGIN TO TURNING POINT +C + if(isw.lt.2) fnct = 0.0 + KM=MM+1 + 120 CONTINUE + ENDIF +c End of (Isw ne. 2) + KS=FL/3.3+2.0 + W1=0.0 + FNORM1=0.0 + F2=0.0 + Q2=0.0 + R =0.0 +C + DO 200 M=Kmin,KM + MK=M+M-1 + R=R+DR + Q3=1.0+DR2*(U(MK+1)+V*U(MK )-FLP/R**2) + IF(M.GT.KS) THEN + F3=((12.0-10.0*Q2)*F2-Q1*F1)/Q3 + ELSE + F3=R**LL + ENDIF + Q1=Q2 + Q2=Q3 + F1=F2 + F2=F3 + IF(ICNT.EQ.0) F(M)=F3 + FNORM1=FNORM1+F1**2 + W1=W1+U(MK)*F1**2 +C NODE COUNT + IF(F1*F2.LT.0.0) FNCT=FNCT+1.0 + 200 CONTINUE + F12=(F1+F2)*0.5 + IF(F1*F2.lt.0.0.and.F12*F2.lt.0.0) FNCT=FNCT-1.0 +C + FN=FNODE-FNCT + IF(ISW.EQ.2) GO TO 500 + F56=(F5+F6)*0.5 + DET=(F1*F6-F5*F2)/(F12*F56*DR) + FNORM1=FNORM1/F2**2 + FNORM2=FNORM2/F6**2 + FNORM=FNORM1+FNORM2 + ITER=ITER+1 + IF(ICNT.EQ.0) GO TO 500 + ICNT=ICNT-1 + IF(ICNT.EQ.0) THEN + WRITE(ioutput,'(''0BOUND STATE SEARCH FAILS IN'',I3, + 1 '' ITERATIONS'')')ICMAX + IERR=1 + ENDIF + IF(ICNT.EQ.18) CFACT=CFACT*XFACT + IF(ICNT.EQ.12) CFACT=CFACT*XFACT + RM=(FLOAT(KM)-0.5)*DR + IF((ISW.EQ.3.OR.ISW.EQ.4).AND.E.GT.0.0) THEN + RSCALE=RMAX + ELSE + RSCALE=RM*1.5 + ENDIF + ESCALE= ABS(((fnode+1.0)*3.0+fl)/(FK2*RSCALE**2)) + DLAMX =DLAMY*ESCALE + vold=v + eold=e + IF(ISW.EQ.0.OR.ISW.EQ.3) THEN +C +C CHOOSE NEXT GUESS FOR WELL DEPTH +C + IF(FN.NE.0.0) THEN +c Node count incorrect +c dlam= 1.625*cfact*fn*escale + dlam= (cfact*((fnode+0.5*fl+0.5)**2 + 1 - (fnct+0.5*fl+0.5)**2) ) + if(dlam.lt.-abs(dv/v)) then + dlam = abs(dv/v)*sign(one,dlam) + else + dlam = min(dlam,dlammax*sign(one,dlam)) + endif + a='Vn' + ELSE + if(det.gt.0.0) then + dplus =.true. + if(det.lt.d1) then + v1=v + d1=det + endif + else + dminus=.true. + if(det.gt.d0) then + v0=v + d0=det + endif + endif + IF(dplus.and.dminus.and.abs(det).gt.dinterp) THEN +c Interpolation search + if(abs(d1/d0).gt.5.0 .or. abs(d1/d0).lt.0.2) then + DLAM = (v0+v1)/(2.0*v) - 1.0 + else + DLAM = ((d1*v0-d0*v1)/((d1-d0)*v) - 1.0) + endif + a='Vi' + ELSE +c Variational search + DLAM= -DET/(V*DR*(W1/F12**2+W2/F56**2)) + IF(ABS(DLAM).GT.dlammax) DLAM=SIGN(dlammax,DLAM) + a='Vv' + ENDIF + IXNT=IXNT+1 + ENDIF + flam=1.0+dlam + V=V*FLAM + DLAMX=DLAMY +C +C CHOOSE NEXT GUESS FOR BINDING ENERGY +C + ELSEIF(ISW.EQ.1.OR.ISW.EQ.4) THEN + IF(FN.NE.0.0) THEN +c Node count incorrect +c DLAM= 1.625*cfact*fn*sign(escale,e) + DLAM= -0.75*cfact*((fnct +0.5*fl+0.5)**2 + 1 -(fnode+0.5*fl+0.5)**2)*(3.2/rscale)**2/fk2 + a='En' + ELSE + if(det.gt.0.0) then + dplus =.true. + if(det.lt.d1) then + v1=e + d1=det + endif + else + dminus=.true. + if(det.gt.d0) then + v0=e + d0=det + endif + endif + IF(dplus.and.dminus.and.abs(det).gt.dinterp) THEN +c Interpolation search + DLAM= ((d1*v0-d0*v1)/((d1-d0)*e) - 1.0) + a='Ei' + ELSE +c Variational search + DLAM= -cfact*DET/(DR*FK2*FNORM) + a='Ev' + IF(ABS(DLAM).GT.ESCALE) DLAM = SIGN(ESCALE,DLAM) + ENDIF + ENDIF + FLAM=1.0+DLAM + TEMP=SQRT(ABS(FLAM)) + FK=FK*TEMP + ETA=ETA/TEMP + TEMP=FK2*FLAM-FK2 + FK2=FK2+TEMP + E=E*FLAM + DO 485 M=1,Kmax + MK=M+M-1 + U(MK+1)=U(MK+1)+TEMP + 485 CONTINUE + ENDIF +c diagnostic printout +c if(icnt+1.eq.icmax) write(ioutput,8888) +c 8888 format(' Iter',' Nodes',5x,' Det',9x,'Fnorm',9x,'Old E' +c 1, 9x,'New E',9x,'Old V',9x,'New V',9x,' Flam',9x,' RM') +c WRITE(ioutput,8889)A,ITER,FNCT,DET,FNORM,eold,E +c 1 ,vold,V,1.0+DLAM,rm +c 8889 FORMAT(' ',A2,I6,F6.0,8(2X,1PE12.5)) +c + IF(ABS(DET).LT.DETX .AND. ABS(DLAM).LT.DLAMX) THEN + ICNT=0 + ENDIF + GO TO 10 +C + 500 CONTINUE +C +C NORMALIZE WAVE FUNCTION +C + IF(FK2.LT.0.0.OR.ISW.EQ.3.OR.ISW.EQ.4) THEN +C +C NEGATIVE ENERGY AND BOX B.C. +C + FNORM=SQRT(FNORM*DR) + ELSEIF(FK.GT.0.0.AND.(ISW.EQ.0.OR.ISW.EQ.1)) THEN +C POSITIVE ENERGY AND PI/2 PHASE SHIFT +C + D(1)=0.0 + D(2)=1.0 + VOL=(FNORM1+FNORM2)*DR*F6**2 +c Volume and surface terms are still divided by SCALE**2 + WIDTH=2.0*E/(FK*(VOL+SURF)) + IF(WIDTH.LT.0.0) then + WRITE(ioutput,'(''0 Negative width '',20(1H*)/)') + endif + WIDTH=ABS(WIDTH) + TEMP=( LOG(WIDTH)-2.0* LOG(SCALE))/ELOG10 + I1=TEMP-1.0 + A1=EXP(ELOG10*(TEMP-FLOAT(I1))) + WRITE(ioutput,9502)A1,I1,VOL*SCALE**2,SURF*SCALE**2 + FNORM=1.0/SQRT(WIDTH*FK/(2.0*E))/F6 +C + ELSEIF(FK.GT.0.0.AND.ISW.EQ.2) THEN +C +C FIND B.C. FOR E > 0 AND NO SEARCH (ISW = 2) +C + DET=T(5)*T(8)-T(6)*T(7) + A1=(F1 *T(8)-F2 *T(7))/DET + B1=(T(5)*F2 -T(6)*F1 )/DET + DET=1.0/SQRT(A1**2+B1**2) + A1=A1*DET + B1=B1*DET +C A1=COS(DELTA), B1=SIN(DELTA) +C (D1,D2) = (exp(2i*delta) - 1)/(2i) = exp(i*delta)*sin(delta) + WRITE(ioutput,9501)A1,B1 + D(1)=B1*A1 + D(2)=B1*B1 + FNORM=FK/SCALE + F2=1.0/DET + F6=1.0 + DET=0.0 + ENDIF +C + TEMP=1.0/(F2*FNORM) + R=0.0 + DO 510 M=1,KM + R=R+DR + F(M)=F(M)*TEMP/R + 510 CONTINUE + IF(KM.LT.Kmax) THEN + KM=KM+1 + TEMP=1.0/(F6*FNORM) + DO 520 M=KM,Kmax + R=R+DR + F(M)=F(M)*TEMP/R + 520 CONTINUE + ENDIF + IF(IPRNT.EQ.0.OR.IERR.NE.0) then + WRITE(ioutput,9500)V,DET,FNCT,RM,E,ITER + endif +c + D(5) = fk2 + D(6) = (fk2/e)*width/2.0/scale**2 + D(10)=ISW +c + RETURN +c + 9500 FORMAT(21X,6HV =,F9.4,3X,6HDET =,F9.4,3X,6HNODES=,F9.4,3X, + 1 6HRM =,F9.4,3X,6HE =,F9.4,3X,6HITER.=,I4 ) + 9501 FORMAT(21X,6HCOSD =,1pe12.4,12x,9H SIND =,1pe12.4) + 9502 FORMAT(24H0SINGLE PARTICLE WIDTH = ,F7.4,1HE,I3,' MEV ' + 1,13HVOLUME TERM = ,1PE12.4,5X,14HSURFACE TERM = ,1PE12.4) + END diff --git a/dwuck4/culib8/COU.FOR b/dwuck4/culib8/COU.FOR new file mode 100644 index 0000000..e13eb6f --- /dev/null +++ b/dwuck4/culib8/COU.FOR @@ -0,0 +1,201 @@ + +c*********************************************************************** + SUBROUTINE COU(R,RP,ETA,L,H,F,FP,G,GP,S) +c +c Coulomb Function Subroutine +c +c Calculates the functions at 2 points, R and RP for convenience +c in matching to the output of some integration formulae. +c +c R First argument +c RP Second argument +c E Coulomb parameter, eta +c L Number of angular momenta = lmax+1 +c H Integration step size, usually = 0.10 +c F Regular function at R +c FP Regular function at RP +c G Irregular function at R +c GP Irregular function at RP +c S Coulomb phase +c +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION F(51),FP(51),G(51),GP(51),S(51) +C + LL=L + IF(LL.LT.50) THEN + ELP=50. + J=50 + ELSE + ELP=LL + J=LL + ENDIF + A=ATAN (ETA/ELP) + B=SQRT (ETA**2+ELP**2) + Y=A*(ELP-0.5)+ETA*( LOG(B)-1.)-SIN (A)/(12.*B) + 1 +SIN (3.*A)/(360.*B**3)-SIN (5.*A)/(1260.*B**5) + 2 +SIN (7.*A)/(1680.*B**7)-SIN (9.*A)/(1188.*B**9) +C + K=J-1 + DO 100 I=1,K + IF(J.LE.LL) S(J)=Y + ELP=ELP-1. + J=J-1 + Y=Y-ATAN (ETA/ELP) + 100 CONTINUE + S(1)=Y + DEL1=R-2.0*ETA + RMAX=.41666667*(ETA**2+4.*ETA+3.) + IF(RMAX.LT.10.0) RMAX=10.0 + DEL=R-RMAX + IF(ETA.GE.5.0.AND.ABS (DEL1).LT.ABS (DEL)) THEN + DEL=DEL1 + I1=2 +C Transition line expansion + X=2.0*ETA + T1=ETA**2 + T2=T1**2 + T3=ETA** .666666667 + T4=T3**2 + T5=T4**2 + T6=T3*T5 + T7=T4*T6 + T8=T3*T7 + T9=ETA** .166666667 + Y=1.22340402*T9*(1.+.495957017E-1/T4-.888888889E-2/T1 + 1 +.245519918E-2/T6-.910895806E-3/T2+.845362E-3/T8) + Z=-.707881773/T9*(1.-.172826039/T3+.317460317E-3/T1 + 1 -.358121485E-2/T5+.311782468E-3/T2-.907396643E-3/T7) + ELSE +C + IF(DEL.GE.0.0.OR.ETA.EQ.0.0) THEN + X=R + I1=1 + ELSE + X=RMAX + I1=2 + ENDIF +C Asymptotic expansion + T1=ETA**2 + T2=2.*X + T4=ETA/T2 + SS=1. + TS=0. + SL=0. + TL=1.-ETA/X + SSS=1. + STS=0. + SSL=0. + STL=TL + EN=0. + DO 700 K=1,25 + IF(ABS (SS/SSS).GT.1.0E-10) THEN + T5=EN+1. + T6=T5+EN + T7=EN*T5 + T8=T6*T4/T5 + T9=(T1-T7)/(T2*T5) + T5=T8*SS-T9*TS + TS=T8*TS+T9*SS + SS=T5 + T5=T8*SL-T9*TL-SS/X + TL=T8*TL+T9*SL-TS/X + SL=T5 + SSS=SSS+SS + STS=STS+TS + SSL=SSL+SL + STL=STL+TL + EN=EN+1. + ENDIF + 700 CONTINUE +C + T3=X-ETA* LOG(T2)+S(1) + T8=SIN (T3) + T9=COS (T3) + Y=SSS*T9-STS*T8 + Z=SSL*T9-STL*T8 + ENDIF +C + DO 810 I=1,I1 + IF(I.EQ.I1) THEN + G(1) = Y + W = Z + DEL = RP - R + ENDIF +C Runge-Kutta integration + N=ABS (DEL/H)+1.0 + DX=DEL/FLOAT(N) + T1=DX/2. + T2=DX/8. + T3=2.0*ETA + DO 805 J=1,N + T4=DX*(T3/X-1.)*Y + X=X+T1 + T5=DX*(T3/X-1.)*(Y+T1*Z+T2*T4) + X=X+T1 + T6=DX*(T3/X-1.)*(Y+DX*Z+T1*T5) + Y=Y+DX*(Z+(T4+2.*T5)/6.) + Z=Z+(T4+4.*T5+T6)/6. + 805 CONTINUE + 810 CONTINUE + GP(1)=Y +C + T1=ETA**2 + T8=SQRT (1.+T1) + G(2)=((1./R+ETA)*G(1)-W)/T8 + GP(2)=((1./RP+ETA)*Y-Z)/T8 + T2=1. + T3=2. +C Recur irregular function upwards + DO 910 I=3,LL + T4=T2+T3 + T5=T2*T3 + T6=T3*SQRT (T2**2+T1) + T7=T2*SQRT (T3**2+T1) + G (I)=(T4*(ETA+T5/R )*G (I-1)-T6*G (I-2))/T7 + GP(I)=(T4*(ETA+T5/RP)*GP(I-1)-T6*GP(I-2))/T7 + T2=T2+1. + T3=T3+1. + 910 CONTINUE + N=MAX0(L+11, INT(2.0*R+11.0) ) + I1=N + Y =1.0E-20 + YP=Y + Z =0. + ZP=Z +C Recur regular function downwards + DO 930 I=1,I1 + T2=N + T3=T2+1. + T4=T2+T3 + T5=T2*T3 + T6=T2*SQRT (T3**2+T1) + T7=T3*SQRT (T2**2+T1) + X =(T4*(ETA+T5/R )*Y -T6*Z )/T7 + XP=(T4*(ETA+T5/RP)*YP-T6*ZP)/T7 + IF(N.LE.LL) THEN + F (N)=X + FP(N)=XP + ELSE +c Scale for l > lmax + IF(ABS (X).GT.1.0) THEN + Y =Y *1.0E-20 + YP=YP*1.0E-20 + X =X *1.0E-20 + XP=XP*1.0E-20 + ENDIF + ENDIF + N=N-1 + Z =Y + ZP=YP + Y =X + YP=XP + 930 CONTINUE + Z =1./(T8*(F (1)*G (2)-F (2)*G (1))) + ZP=1./(T8*(FP(1)*GP(2)-FP(2)*GP(1))) + DO 950 I=1,LL + F (I)=F (I)*Z + 950 FP(I)=FP(I)*ZP + RETURN + END diff --git a/dwuck4/culib8/DSTRIP.FOR b/dwuck4/culib8/DSTRIP.FOR new file mode 100644 index 0000000..bf69178 --- /dev/null +++ b/dwuck4/culib8/DSTRIP.FOR @@ -0,0 +1,264 @@ + +c*********************************************************************** + SUBROUTINE DSTRIP(IQ,DR,K,F1,F2,FR,QNUM,OPT,KM,SL,C) +c +c Calculates two nucleon transfer form factor via the +c Bayman and Kallio method. +c*********************************************************************** +c +c IQ Input quantum numbers for form factor +c DR Step size +c K Number of steps +c F1 First orbital +c F2 Second orbital +c FR Output form factor +c QNUM Quantum numbers for orbitals +c OPT +c + implicit real*8(a-h,o-z) + parameter (maxg=10, maxr=12) + DIMENSION F1(400),F2(400),FR(800),QNUM(4,2),TVCC(10),IQ(3) + 1 ,D1(10),D2(10),C(32),AG(maxg),WG(maxg),BG(maxg) + 2 ,AR(maxr),WR(maxr) +C + DATA KR,KX/0,0/ + data ag,wg,bg,ar,wr/maxg*0.,maxg*0.,maxg*0.,maxr*0.,maxr*0./ +C +c c1 = R1 scale +c c2 = R2 scale +c c3 = r1 scale +c c4 = r2 scale +c c5 = r0, integration scale +c c6 = Pauli flag +c c7 = order of integration +c c8 = number of integration points +c + IPAULI=C(6) + R0 =C(5) + L =IQ(1) + IS=IQ(2) + JJ=IQ(3) + N1=QNUM(1,1) + N2=QNUM(1,2) + L1=QNUM(2,1) + L2=QNUM(2,2) + J1=QNUM(3,1) + J2=QNUM(3,2) + IS1=QNUM(4,1) + IS2=QNUM(4,2) + c3=c(3) + c4=c(4) + dr1=dr*c(1) + dr2=dr*c(2) + ITEMP=N1+N1+N2+N2 + NX=(((ITEMP+L1+L2+L+2)/4+2)+1+2)/2+2*IPAULI + if(c(8).eq.0.0) then + NR=(((ITEMP+L1+L2-L+3)/4+8)+1+2)/2+2*IPAULI + NR=MIN0(NR,maxr) + IF(NR.NE.KR) then + CUT=0.0 + IERR=0 + ALFA=C(7) + CALL GAUSSR(NR,KS,ALFA,AR,WR,IERR,CUT) + NR=KS + kr=nr + endif + else + nr = c(8) + do 45 i=1,nr + ar(i)=c(i+8) + wr(i)=c(i+nr+8) + if(wr(i).ne.0.0) kr=i + 45 continue + nr=kr + endif + NX=MIN0(NX,maxg) + WRITE(6,9000)NR,NX + 9000 FORMAT(15H0 NO. R STEPS =,I3,18H NO. X STEPS =,I3) + IF(NX.NE.KX) then + CALL LEGAUS(2*NX,AG,WG) + KX=NX + do 47 i=1,nx + BG(i) = sqrt(1.0-ag(i)**2) + 47 continue + endif + LL=L+L + LL1=L1+L1 + LL2=L2+L2 + FACT1=YXFCT(L1,LL1)/2.0**L1 + FACT2=YXFCT(L2,LL2)/2.0**L2 + FNORM=OPT*SQRT(FLOAT((LL1+1)*(LL2+1))/FLOAT(LL+1)) + IF(IPAULI.NE.0) GO TO 60 + TEMP=2.0 + DO 50 I=1,4 + IF(QNUM(I,1).NE.QNUM(I,2)) GO TO 55 + 50 CONTINUE + TEMP=4.0 + 55 CONTINUE + FNORM=FNORM/SQRT(TEMP) + 60 CONTINUE + FNORM=FNORM*SQRT(FLOAT((LL+1)*(IS+1)*(J1+1)*(J2+1))) + 1 *WINEJ(LL1,IS1,J1,LL2,IS2,J2,LL,IS,JJ) + FM1=1.0 + FM2=1.0 + FL1=L1 + FL2=L2 + LPL=MIN0(L1,L2)+1 + DO 80 M=1,LPL + M2=M+M-2 + FM=M-1 + TVCC(M)=VCC(LL1,LL2,LL,M2,-M2)*2.0/SQRT(FM1*FM2) + FM1=FM1*(FL1+FM+1)*(FL1-FM) + FM2=FM2*(FL2+FM+1)*(FL2-FM) + 80 CONTINUE + TVCC(1)=TVCC(1)/2.0 +C +C RS=r +C +C R1=| C1*R+C3*r | +C R2=| C2*R+C4*r | +C +C +C CENTER OF MASS R LOOP +C + R=0.0 + S=0.0 + DO 500 M=1,K + R=R+DR1 + S=S+DR2 + RSQ=R**2 + SSQ=S**2 + SUMR=0.0 +C +C RELATIVE R LOOP +C + DO 400 MR=1,KR + RS=AR(MR)*R0 + SS=RS*C3 + RS=RS*C4 + RSSQ=RS**2+RSQ + RPROD=2.0*R*RS + SSSQ=SS**2+SSQ + SPROD=2.0*S*SS +C +C RELATIVE R ANGLE LOOP +C + SUMX=0.0 + DO 300 MX=1,KX + X =AG(MX) + y =BG(mx) + IX=0 + 110 CONTINUE + R1=SQRT(RSSQ+RPROD*X) + R2=SQRT(SSSQ+SPROD*X) + FK1=R1/DR + K1=FK1 + K1=MAX0(K1,2) + FK1=FK1-FLOAT(K1) + IF(K1.GT.K) GO TO 300 + FK2=R2/DR + K2=FK2 + K2=MAX0(K2,2) + FK2=FK2-FLOAT(K2) + IF(K2.GT.K) GO TO 300 + COS1=(R+RS*X)/R1 + COS2=(S+SS*X)/R2 + SIN1=abs(rs*y/r1) + SIN2=abs(ss*y/r2) + 120 CONTINUE + DM1=0.0 + DL1=FACT1 + IF(L1.EQ.0) GO TO 141 + DO 140 LI=1,L1 + DL1=DL1*SIN1 + 140 CONTINUE + 141 CONTINUE + D1(L1+1)=DL1 + DM2=0.0 + DL2=FACT2 + IF(L2.EQ.0) GO TO 151 + DO 150 LI=1,L2 + DL2=DL2*SIN2 + 150 CONTINUE + 151 CONTINUE + D2(L2+1)=DL2 + IF(L1.EQ.0) GO TO 171 + FJ1=1.0 + FL1=LL1 + FM1=LL1 + DO 170 LI=1,L1 + DK1=(FM1*COS1*DL1/SIN1-DM1)/(FJ1*FL1) + FJ1=FJ1+1.0 + FL1=FL1-1.0 + FM1=FM1-2.0 + DM1=DL1 + DL1=DK1 + INDX=L1+1-LI + D1(INDX)=DL1 + 170 CONTINUE + 171 CONTINUE + IF(L2.EQ.0) GO TO 181 + FJ2=1.0 + FL2=LL2 + FM2=LL2 + DO 180 LI=1,L2 + DK2=(FM2*COS2*DL2/SIN2-DM2)/(FJ2*FL2) + FJ2=FJ2+1.0 + FL2=FL2-1.0 + FM2=FM2-2.0 + DM2=DL2 + DL2=DK2 + INDX=L2+1-LI + D2(INDX)=DL2 + 180 CONTINUE + 181 CONTINUE + PROD=0.0 + DO 185 LI=1,LPL + PROD=PROD+D1(LI)*D2(LI)*TVCC(LI) + 185 CONTINUE + 280 CONTINUE +C INTERPOLATE - 4 POINT FORMULA + FT1=-FK1*(FK1-1.)*(FK1-2.)*F1(K1-1)/6. + 1 + (FK1**2-1.)*(FK1-2.)*F1(K1 )/2. + 2 - FK1*(FK1+1.)*(FK1-2.)*F1(K1+1)/2. + 3 + FK1*(FK1**2-1.)*F1(K1+2)/6. + FT2=-FK2*(FK2-1.)*(FK2-2.)*F2(K2-1)/6. + 1 + (FK2**2-1.)*(FK2-2.)*F2(K2 )/2. + 2 - FK2*(FK2+1.)*(FK2-2.)*F2(K2+1)/2. + 3 + FK2*(FK2**2-1.)*F2(K2+2)/6. +C INTERPOLATE - 2 POINT FORMULA +C FT1=FK1*(F1(K1+1)-F1(K1))+F1(K1) +C FT2=FK2*(F2(K2+1)-F2(K2))+F2(K2) +c if(m.eq.21) write(20,'(2i4,1p10e12.4)')mr,mx,x,r1,r2,r1**2+r2**2 +c 1 ,ft1,ft2,ft1*ft2 + SUMX=SUMX+WG(MX)*PROD*FT1*FT2 + IF(IX.NE.0) GO TO 300 + IX=1 + IF(IPAULI.EQ.0) then + ITEMP=K1 + K1=K2 + K2=ITEMP + ATEMP=FK1 + FK1=FK2 + FK2=ATEMP + ATEMP=COS1 + COS1=COS2 + COS2=ATEMP + ATEMP=SIN1 + SIN1=SIN2 + SIN2=ATEMP + IF(L1.EQ.L2) GO TO 280 + GO TO 120 + endif + X=-X + GO TO 110 + 300 CONTINUE + SUMR=SUMR+WR(MR)*SUMX + 400 CONTINUE + SUMR=SUMR*FNORM + FR(2*M-1)=FR(2*M-1)+SUMR + IF(M.EQ.KM) SL=SUMR + 500 CONTINUE + 1000 CONTINUE + RETURN + END diff --git a/dwuck4/culib8/DWPLOT.FOR b/dwuck4/culib8/DWPLOT.FOR new file mode 100644 index 0000000..0b3a22b --- /dev/null +++ b/dwuck4/culib8/DWPLOT.FOR @@ -0,0 +1,82 @@ + + SUBROUTINE DWPLOT(NTH0,NLOG,SIGPLT,DTHETA,THETA1) +C +C THIS IS A NEW VERSION OF THE PRINTER PLOT ROUTINE, June 1992 +C + IMPLICIT REAL*8 (A-H,O-Z) + Parameter (len = 100, pi = 3.141592) + DIMENSION SIGPLT(*) + CHARACTER*1 temp + 1, BLANK /' '/, ASTER /'*'/, FENCE /'|'/, APLUS /'+'/ + CHARACTER*(len+1) dstore + CHARACTER*(len+3) astore +c + common/ch3files/input, ioutp +C + ioutput = 6 + if(ioutp .ne. 0) ioutput = ioutp + nth = abs(nth0) + if(nlog.gt.0) then + MAXN= 0 + DO 30 I=1,NTH + IF(SIGPLT(I).LE.0.0) SIGPLT(I)=1.0E-20 + SIGPLT(I)= LOG10(SIGPLT(I)) + MAXN=MAX0(MAXN,INT(SIGPLT(I) + 100.0)-NLOG) + 30 CONTINUE + MAXN = MAXN - 100 + 1 + nlogp= nlog + else + MAXN = -1 + nlogp= 2 + endif +c Write header line + do 40 j=1,len+3 + 40 astore(j:j) = BLANK + do 45 j=0,nlogp + indx = j*(len/nlogp) + 1 + 45 write(astore(indx:indx+2),'(i3)')MAXN +j + WRITE(ioutput,9000)astore +c + DO 100 I=1,NTH + tint = THETA1 + (i-1)*DTHETA +C Coose between angle or cos(angle) data + if(nth0.lt.0) then + if (tint.gt. 1.0) tint = 1.0 + if (tint.lt.-1.0) tint =-1.0 + theta = acos(tint)*180./pi + else + theta = tint + endif + cs = cos(theta*pi/180.) + IF(I.EQ.1.OR.I.EQ.NTH) THEN + TEMP=APLUS + ELSE + TEMP=BLANK + ENDIF + DSTORE( 1: 1) = APLUS + DSTORE(len+1:len+1) = APLUS + DO 70 J=2,LEN + DSTORE(j:j) = TEMP + 70 CONTINUE + if(nlog.le.0) dstore(len/2+1:len/2+1) = APLUS +C + IF(I .EQ. 1 .OR. I .EQ. NTH) THEN + DO 80 J=0,NLOGP + indx = j*(len/nlogp) +1 + DSTORE(indx:indx) = FENCE + 80 CONTINUE + ENDIF +C + INDX= (SIGPLT(I)-float(MAXN))*float((LEN/NLOGP)) + 1.5 + IF(INDX.GE.1) DSTORE(indx:indx) = ASTER +C + WRITE(ioutput,9002)THETA,DSTORE,THETA,cs + 100 CONTINUE +C Write trailer line + WRITE(ioutput,9000)astore +c + RETURN +c + 9000 FORMAT(' THETA ',A103 ,' THETA ','cos(theta)') + 9002 FORMAT(' ',F8.2 ,' ',A101, F8.2, f10.4 ) + END diff --git a/dwuck4/culib8/ELSIG.FOR b/dwuck4/culib8/ELSIG.FOR new file mode 100644 index 0000000..9fd1c02 --- /dev/null +++ b/dwuck4/culib8/ELSIG.FOR @@ -0,0 +1,168 @@ +c$debug +c*********************************************************************** + SUBROUTINE ELSIG(dtemp,d,plm,SigPlt,angle,fk,eta,rsig,alpha + 1 ,idat,is,icon,lplus,isym) +c +c Subroutine to print out elastic scattering cross sections +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + complex*16 SUM(25),dtemp(*),d(*) + logical isym(2), i_open20, i_out20 + DIMENSION plm(1000),SigPlt(200) + 1,angle(3),fk(2),eta(2),rsig(2),alpha(15),idat(6),is(2),icon(20) + 2,POL(12) + + DATA NX, N2, Pi/200, 1, 3.141592654/ +c + i_open20 = .false. + i_out20 = .false. +C + NTHETA=angle(1) + theta1=angle(2) + dtheta=angle(3) + IF(NTHETA.EQ.0) return +c + ICNT=0 + IC1=0 + DO 200 N=1,N2 + ISS=IS(N)+1 + IS2=IS(N) + IQ=LPLUS*ISS**2 +C Clear Amplitude Storage + DO 3 IP=1,IQ + DTEMP(IP)=0.0 + 3 CONTINUE +C +C CONSTRUCT TABLE OF SCATTERING AMPLITUDES WITH ANG-MOM COEFFICENTS +C + DO 25 LL=1,LPLUS + L=LL-1 + LK=LL+LL-1 + L2=LK-1 + FL=LK + J1=L2-IS2 + J2=L2+IS2 + IQ=IC1+LL +c + DO 20 JJ2=J1,J2,2 + IP=LL + DO 15 MS2=-IS2,IS2,2 + VCI=VCC(L2,IS2,JJ2,0,MS2)*FL + DO 14 MS1=-IS2,IS2,2 + ML2=MS2-MS1 + ML=IABS(ML2/2) + IF(ML .LE. L) THEN + VCF=VCC(L2,IS2,JJ2,ML2,MS1) + DTEMP(IP)=DTEMP(IP)+D(IQ) + 1 *VCI*VCF*SQRT(YXFCT(L+ML,L-ML)) + ENDIF + IP=IP+LPLUS + 14 CONTINUE + 15 CONTINUE + IQ=IQ+LPLUS + 20 CONTINUE + 25 CONTINUE + IC1=IC1+LPLUS*ISS +C +C CALCULATE ELASTIC CROSS SECTION +C + THETA=THETA1 + if(ETA(N) .ne. 0.0) then + WRITE(6,9027) + else + WRITE(6,9028) + endif + DO 100 NTH=1,NTHETA + CALL LGNDR(PLM,ISS,LPLUS,THETA) + Nss = ISS**2 + DO 30 I=1,Nss + SUM(I)=0.0 + 30 CONTINUE + DO 40 LL=1,LPLUS + IP=LL + DO 35 I=1,ISS + DO 34 J=1,ISS + MP = iabs(J-I)*LPLUS+LL + index = (I-1)*ISS + J + Phas = 1.0 + if(I .lt. J) Phas = phasef(I-J) + SUM(index) = SUM(index) + DTEMP(IP)*PLM(MP)*Phas + IP=IP+LPLUS + 34 CONTINUE + 35 CONTINUE + 40 CONTINUE +C +C CALCULATE COULOMB AMPLITUDE +C + if(theta.lt.0.0625 + 1 .or. (isym(N) .and. abs(theta-180.).lt. 0.0625)) then + CL=0.0 + SL=0.0 + else + ARG =THETA*(Pi/360.) + S =SIN(ARG)**2 + ARG =ETA(N)*LOG(S) + FFACT=ETA(N)/(2.0*FK(N)*S) + CL = COS(ARG)*FFACT + SL = SIN(ARG)*FFACT + if(isym(N) .and. is(N).eq.0) then + ARG =THETA*(Pi/360.) + C =COS(ARG)**2 + ARG =ETA(N)*LOG(C) + GFACT=ETA(N)/(2.0*FK(N)*C) + CL =CL+COS(ARG)*GFACT + SL =SL+SIN(ARG)*GFACT + endif + endif +c Add Coulomb amplitude + DO 60 I=1,ISS + index = (I-1)*ISS + I + SUM(index) = SUM(index) - cmplx(CL, -SL) + 60 CONTINUE +c + CALL POLFCT(1,1,ISS,ISS, theta,POL,SUM + 1 ,i_open20,i_out20, nth,nthetra, ALPHA,IDAT) + if(eta(n).eq.0.0) then + Ratio = 1.0 + SigPlt(NTH) = Pol(1) + else + if(theta.lt.0.0625 + 1 .or. (isym(N) .and. abs(theta-180.).lt.0.0625)) then + Ratio = 1.0 + Pol(1) = 0.0 + else + Ratio = Pol(1)/(CL**2+SL**2) + endif + SigPlt(nth) = Ratio + endif + cs = cos(theta*(Pi/180.)) + if(ETA(N) .ne. 0.0) then + WRITE(6,9030)THETA,Ratio,(POL(I),I=1,7),THETA,cs + else + WRITE(6,9031)THETA, (POL(I),I=1,7),THETA,cs + endif + 90 CONTINUE + THETA=THETA+DTHETA + 100 CONTINUE + WRITE(6,9002)RSIG(N) + NTH=MIN0(NTHETA,NX) +c + IF(ICON(6).ne.0) then + WRITE(6,9999)ALPHA,(IDAT(I),I=1,3) + CALL DWPLOT(NTH,ICON(6),SigPlt,DTHETA,THETA1) + endif + 200 continue + RETURN +c + 9002 FORMAT('0REACSIG ',1PE13.4) + 9027 FORMAT('0 Theta Sig(1)/Coul Sigma(1) ',' Pol ' + 1 ,' Asy ',' Ayy ',' A22 ',' A21 ' + 2 ,' A20 ',' Theta ','Cos(Theta)') + 9028 FORMAT('0 Theta Sigma(1) ',' Pol ' + 1 ,' Asy ',' Ayy ',' A22 ',' A21 ' + 2 ,' A20 ',' Theta ','Cos(Theta)') + 9030 FORMAT(0PF8.2,2X,1P2E13.4,0P6F10.4,0PF10.2,0pf10.3) + 9031 FORMAT(0PF8.2,2X,1P1E13.4,0P6F10.4,0PF10.2,0pf10.3) + 9999 FORMAT('1',15A4,I4,2('/',I2.2),I4,2('.',I2.2)) + END diff --git a/dwuck4/culib8/FNLOC5.FOR b/dwuck4/culib8/FNLOC5.FOR new file mode 100644 index 0000000..2aa4072 --- /dev/null +++ b/dwuck4/culib8/FNLOC5.FOR @@ -0,0 +1,64 @@ + +c*********************************************************************** + SUBROUTINE FNLOC5(U,V,W,PNLOC,FK2,FK,ETA,RC,DR,KT) +c +c Non-locality correction factor for the distorted waves +c +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION U(800),V(800),W(800) + FACP=PNLOC**2/8.0 + IF(FACP.EQ.0.0) GO TO 410 +C + WRITE(6,9900)PNLOC + IF(PNLOC.GT.0.0) THEN + R=0.0 + ETAK=2.0*ETA*FK + ELSE + R1=DR*FLOAT(KT+1) + ENDIF + CTEMP1=0.0 + CTEMP2=0.0 + T1=0.0 + T2=0.0 +C + DO 400 M=1,KT + IF(PNLOC.GT.0.0) THEN +C PNLOC POSITIVE GIVES USUAL NON-LOCAL FACTOR WITH GAUSSIAN SHAPE + MK=M+M-1 + R=R+DR + IF(R.GT.RC) THEN + VCOUL=ETAK/R + ELSE + VCOUL=0.5*ETAK*(3.0-(R/RC)**2)/RC + ENDIF + CTEMP1=-FACP*U(MK )+FACP*(FK2-VCOUL) + CTEMP2=-FACP*U(MK+1) + T1=U(MK ) + T2=U(MK+1) + ELSE +C PNLOC NEGATIVE GIVES DIRAC TYPE DARWIN FACTOR BASED ON SPIN ORBI + MK=KT+KT-M-M+1 + R2=R1 + R1=R1-DR + CTEMP1=CTEMP1+PNLOC*(R2*T1+R1*V(MK ))*(DR*0.125) + CTEMP2=CTEMP2+PNLOC*(R2*T2+R1*V(MK+1))*(DR*0.125) + T1=V(MK ) + T2=V(MK+1) + ENDIF +C + FACT=EXP(CTEMP1) + UT1=FACT*COS(CTEMP2) + UT2=FACT*SIN(CTEMP2) + UF1 =UT1*W(MK )-UT2*W(MK+1) + UF2 =UT1*W(MK+1)+UT2*W(MK ) + W(MK )=UF1 + W(MK+1)=UF2 +c WRITE(20,7777)R1,T1,T2,UT1,UT2 +c 7777 FORMAT(' R =',F6.2,' POT =',1P2E12.4,' FACTOR =',1P2E12.4) + 400 CONTINUE + 410 CONTINUE + RETURN + 9900 FORMAT('0Non-locality correction is applied, parameter =',f8.3) + END diff --git a/dwuck4/culib8/GAUSSR.FOR b/dwuck4/culib8/GAUSSR.FOR new file mode 100644 index 0000000..312ffca --- /dev/null +++ b/dwuck4/culib8/GAUSSR.FOR @@ -0,0 +1,84 @@ + +c*********************************************************************** + SUBROUTINE GAUSSR(NMAX,INDEX,ALFA,AG,WG,IERR,CUTOFF) +C +c Gauss-Hermite and gauss-laguerre point and weight routine +c*********************************************************************** +C +C IF ALFA IS INTEGER -- GAUSS-LAGUERRE +C IF ALFA IS INTEGER + 1/2 -- GAUSS-HERMITE +C + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION AG(100),WG(100) + data eps/1.e-6/ + DATA PI,SQRPI/3.14159265,1.77245385/ +c + INDEX=0 + FI=NMAX + FKI=4.0*(FI+(ALFA+1.0)*0.5) + FLN= LOG(FI) +C + K=ALFA + JJ=(ALFA-FLOAT(K))*2.0 + DY=0.0 + IF(JJ.NE.0) GO TO 19 + FNORM=1.0 + IF(K.EQ.0) GO TO 11 + DO 10 J=1,K + FNORM=FNORM*(ALFA+FI+1.0-FLOAT(J)) + 10 CONTINUE + 11 CONTINUE + GO TO 25 + 19 CONTINUE + FNORM=SQRPI/2.0 + DO 20 J=1,NMAX + FNORM=FNORM*(1.0+ALFA/FLOAT(J)) + 20 CONTINUE + K=ALFA+1.0 + IF(K.EQ.0) GO TO 25 + DO 22 J=1,K + FNORM=FNORM*(FLOAT(J)-0.5) + 22 CONTINUE + 25 CONTINUE + Y=0.0 + Z1=0.0 + Z2=0.0 +C + DO 80 J=1,NMAX + FJ=J + FKJ=4.0*(FJ+(ALFA+1.0)*0.5) + Z=((FJ+0.5*ALFA-0.25)*PI)**2/FKI + Z=Z*(1.0+Z*(1.0+PI* LOG(FJ)*FLN/(8.0*(FI+FLN-FJ+eps)))/(3.0*FKI)) + DELZ=Z-Z1 + Z1=Z + Z=Y+DELZ + Z3=Z + DO 74 M=1,20 + A1=0.0 + A2=1.0 + DO 70 K=1,NMAX + FK=K + A3=((2.0*FK+ALFA-1.0-Z)*A2-(FK+ALFA-1.0)*A1)/FK + A1=A2 + A2=A3 + B2=(FK*A2-(FK+ALFA)*A1)/Z + 70 CONTINUE + Y=Z-A2/B2 + IF(ABS((Z-Y)/Z).LT.3.E-14) GO TO 75 + Z=Y + 74 CONTINUE + IERR=J + 75 CONTINUE + DZ=Z-Z2 + Z2=Z + DZ=((FNORM/Z)/B2)/B2 + IF(DZ.LT.CUTOFF.AND.DZ.LT.DY) GO TO 100 + DY=DZ + INDEX=J + AG(J)=Y + WG(J)=DZ + IF(JJ.NE.0) AG(J)=SQRT(Y) + 80 CONTINUE + 100 CONTINUE + RETURN + END diff --git a/dwuck4/culib8/LEGAUS.FOR b/dwuck4/culib8/LEGAUS.FOR new file mode 100644 index 0000000..a8ac843 --- /dev/null +++ b/dwuck4/culib8/LEGAUS.FOR @@ -0,0 +1,48 @@ + +c*********************************************************************** + SUBROUTINE LEGAUS(LL,X,W) +C +c Gauss-Legendre point and weight routine for an even no. of points. +c*********************************************************************** +C +C ll= order i.e. the total number of points -1< x <1 +C x = points, calculates and stores only for 0< x <1 +C w = weights +C + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION X(100),W(100) +c +c starting values for recursion +c + Z3=-1.6/FLOAT(LL+1) + Z2=3.0*Z3 + Z1=5.0*Z3 +c + NL=(LL+1)/2 + DO 200 L=1,NL + ZOLD=0.0 + Z=Z1+3.0*(Z3-Z2) + DO 50 J=1,10 + P1=0.0 + P2=1.0 + DO 30 I=1,LL + P3=(FLOAT(I+I-1)*Z*P2-FLOAT(I-1)*P1)/FLOAT(I) + P1=P2 + P2=P3 + 30 CONTINUE + DP=FLOAT(LL)*(P1-Z*P2)/(1.0-Z*Z) + Z=Z-P2/DP + IF(ABS(Z-ZOLD)/Z.LT.1.0E-10) GO TO 51 + ZOLD=Z + 50 CONTINUE + WRITE(6,9100)L + 9100 FORMAT(28H0NO CONVERGENCE FOR ZERO NO.,I4) + 51 CONTINUE + X(L)=Z + W(L)=2.0/((1.0-Z*Z)*DP*DP) + Z1=Z2 + Z2=Z3 + Z3=Z + 200 CONTINUE + RETURN + END diff --git a/dwuck4/culib8/LGNDR.FOR b/dwuck4/culib8/LGNDR.FOR new file mode 100644 index 0000000..00e8b46 --- /dev/null +++ b/dwuck4/culib8/LGNDR.FOR @@ -0,0 +1,50 @@ + +c*********************************************************************** + SUBROUTINE LGNDR(PLM,MPLUS,LPLUS,THET) +c +c Calculates Legendre polynomials Plm +c +c mplus number of m's >0 +c lplus number of l's >0 +c thet angle in degrees +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + + DIMENSION PLM(459) +c + THETA=THET /57.295779 + Y=COS(THETA) + Z=SIN(THETA) + IX=0 + DO 100 M=1,MPLUS + LX=M-1 + L2=0 + P3=1.0 + FL1=LX + IF(LX.EQ.0) GO TO 41 + DO 40 LT=1,LX + FL1=FL1+1.0 + P3=P3*FL1*Z/2.0 + 40 CONTINUE + 41 P2=0.0 + FL2=FL1+1.0 + FL3=1.0 + DO 90 LT=1,LPLUS + IX1=IX+LT + IF(L2-LX)50,70,60 + 50 PLM(IX1)=0.0 + GO TO 75 + 60 P3=(FL2*Y*P2-FL1*P1)/FL3 + FL1=FL1+1.0 + FL2=FL2+2.0 + FL3=FL3+1.0 + 70 PLM(IX1)=P3 + P1=P2 + P2=P3 + 75 L2=L2+1 + 90 CONTINUE + IX=IX+LPLUS + 100 CONTINUE + RETURN + END diff --git a/dwuck4/culib8/POLFCT.FOR b/dwuck4/culib8/POLFCT.FOR new file mode 100644 index 0000000..fbd3790 --- /dev/null +++ b/dwuck4/culib8/POLFCT.FOR @@ -0,0 +1,326 @@ +c$debug + subroutine polfct(max1,maxi,jr,js,theta,Pol,sr + 1 ,iopen20,iout20,nth,ntheta,ALPHA,IDAT) +c ------------------------------------------------------------- +c max1 initial target multiplicity +c maxi final target multiplicity +c jr initial projectile multiplicity +c js final projectile multiplicity +c sr(1...js, 1...jr, 1...maxi, 1...max1), m storage order: -s...+s +c ------------------------------------------------------------- +c Double precision statements ------------------------------- + implicit real*8 (a-h,o-z) + double complex sr(js,jr,maxi,max1), a(3,3), b(3,3), c(3,3) + 1 , d(3,3,4), e(3,3,3), s(2,2,3), Sy(3,3,3) + real*8 Knn +c ------------------------------------------------------------- +c Single precision statements -------------------------------- +c complex sr(js,jr,maxi,max1), a(3,3), b(3,3), c(3,3) +c 1 , d(3,3,4), e(3,3,3), s(2,2,3), Sy(3,3,3) +c real*4 Knn +c ------------------------------------------------------------- + parameter (nsig = 5, npol = 10, nay = 4, npy = 3 + 1 , rads = 3.141592/180.) + logical iopen20, iout20 + + dimension ii(nsig), jj(nsig) + 1 ,csig(nsig), Cij(nsig), dsig(nsig), Dij(nsig) + 2 , Pol(npol), Sij(3,3,4), IDAT(6), ALPHA(15) +c +c spin 1/2 matrices for Spin correlation coefficients +c s stored as S_z, S_x and S_y +c + data s /(-1.,0.), (0.,0.), ( 0.,0.), (1.,0.) + 1 ,( 0.,0.), (1.,0.), ( 1.,0.), (0.,0.) + 2 ,( 0.,0.), (1.,0.), (-1.,0.), (0.,0.)/ +C +c SY MATRIX FOR SPIN 0, 1/2 and 1 +c + DATA Sy/(0.,0.),(0.,0.),(0.,0.),(0.,0.),(0.,0.) + 1 ,(0.,0.),(0.,0.),(0.,0.),(0.,0.) + 1 ,(0.,0.),(0.,-1.),(0.,0.),(0., 1.),(0.,0.) + 3 ,(0.,0.),(0., 0.),(0.,0.),(0., 0.) + 2 ,(0.,0.),(0.,-.707106781),(0.,0.) + 5 ,(0., .707106781),(0.,0.),(0.,-.707106781) + 3 ,(0.,0.),(0.,.707106781),(0.,0.)/ +C +C SYY = ( 3*SY*SY - S*S ) +C S22 = ( S^*S^ )*SQRT(3)/4 +C S21 = ( S^*SZ + SZ*S^)*SQRT(3)/2 +C S20 = ( 3*SZ*SZ - S*S )/SQRT(2) +C + DATA Sij/-0.5,0.0,-1.5, 0.0,1.0,0.0, -1.5,0.0,-0.5 + 1, 0.0,0.0,0.0, 0.0,0.0,0.0, 1.73205081,0.0,0.0 + 2, 0.0,0.0,0.0, -1.2247449,0.0,0.0, 0.0,1.2247449,0.0 + 3, 0.70710678,0.0,0.0,0.0,-1.4124214,0.0 + 4, 0.0,0.0,0.70710678/ +C +c zz xx yy zx xz + data ii/1, 2, 3, 1, 2/ + data jj/1, 2, 3, 2, 1/ +c +c Array Pol(npol) contains +c +c Pol(1) Cross section +c Pol(2) Vector Polarization +c Pol(3) Vector Asymmetry +c Pol(4-7) Tensor Asymmetry +c Pol(8-10) Tensor Polarization +c +c write(20,'(1p8e12.4)')sr + cs=cos(theta*rads) + ss=sin(theta*rads) + do 20 n=1,nsig + csig(n)=0.0 + dsig(n)=0.0 + 20 continue + do 30 i=1,npol + Pol(i) = 0.0 + 30 continue + Dnn = 0.0 + Knn = 0.0 + Tpol = 0.0 +c + if(jr.gt.3 .or. js.gt.3) go to 2000 +c +c + do 200 mx=1,max1 + do 190 my=1,maxi +c + do 180 m =1,jr + do 170 mp=1,js + a(mp,m ) = 0.0 + b(mp, m) = 0.0 + c(mp, m) = 0.0 + if(jr .eq. 3) then + do 115 i=1,nay + d(mp,m ,i) = 0.0 + 115 continue + endif + if(js .eq. 3) then + do 116 i=1,npy + e(mp,m ,i) = 0.0 + 116 continue + endif + do 130 m1=1,jr +c Asymmetry -------------------------------------------- +c Calculate asy = < S_y(initial) > + b(mp,m )=b(mp,m ) + sr(mp,m1,my,mx) * Sy(m ,m1,jr) + if(jr .eq. 3) then +c Calculate Tensor asymmetry = + do 125 i=1,nay + d(mp,m ,i)=d(mp,m ,i) + sr(mp,m1,my,mx) * Sij(m ,m1,i) + 125 continue + endif + 130 continue + do 140 m2=1,js +c Polarization -------------------------------------------- +c Calculate pol = < S_y(final ) > + a(mp,m )=a(mp,m ) + sr(m2,m ,my,mx) * Sy(m2,mp,js) + if(js .eq. 3) then +c Calculate Tensor polarization = + do 135 i=1,npy + e(mp,m ,i)=e(mp,m ,i) + sr(m2,m ,my,mx) * Sij(m2,mp,i+1) + 135 continue + endif + 140 continue +c + Pol(1) =Pol(1) + conjg(sr(mp,m ,my,mx)) * sr(mp,m ,my,mx) + Pol(2) =Pol(2) + conjg(sr(mp,m ,my,mx)) * a(mp,m ) + Pol(3) =Pol(3) + conjg(sr(mp,m ,my,mx)) * b(mp,m ) + if(jr .eq. 3) then + do 160 i=1,nay + Pol(i+3)=Pol(i+3) + conjg(sr(mp,m ,my,mx)) * d(mp,m ,i) + 160 continue + endif + if(js .eq. 3) then + do 165 i=1,npy + Pol(i+7)=Pol(i+7) + conjg(sr(mp,m ,my,mx)) * e(mp,m ,i) + 165 continue + endif + 170 continue + 180 continue + 190 continue + 200 continue + do 245 i=2,npol + Pol(i) = Pol(i)/Pol(1) + 245 continue + Sigma = Pol(1) + Pol(1) = Pol(1)/float(max1*jr) +c + IF(iout20) THEN + if(Sigma .eq. 0.0) go to 1000 + if(jr.eq.2 .and. maxi.eq.2) then +c +c Calculate target polarization I_n = +c + if(maxi .ge. 2 .and. maxi .le. 3) then + do 240 m =1,jr + do 235 mp=1,js + do 230 mx=1,max1 + do 225 my=1,maxi + a(my,mx) = 0.0 + do 220 m1=1,maxi + a(my,mx) = a(my,mx) + Sy(m1,my,maxi) * sr(mp,m ,m1,mx) + 220 continue + Tpol = Tpol + conjg(sr(mp,m ,my,mx))*a(my,mx) + 225 continue + 230 continue + 235 continue + 240 continue + end if + Tpol = Tpol /Sigma +c +c +c Calculate Knn = < S_y(initial) * I_y(final) > +c + do 300 mx=1,max1 + do 290 mp=1,js +c + do 280 my=1,maxi + do 270 m = 1,jr + c(m ,my) = 0.0 + do 260 m1=1,maxi + do 250 m2=1,jr +c Knn coefficient + c(m ,my)=c(m ,my) + sr(mp,m1,m2,mx) * Sy(my,m2,2)*Sy(m1,m ,2) + 250 continue + 260 continue + Knn = Knn + conjg(sr(mp,m ,my,mx)) * c(m ,my) + 270 continue + 280 continue + 290 continue + 300 continue + endif + Knn = Knn /Sigma +c + if(jr .eq. 2 .and. js .eq.2) then +c +c Calculate Dij = < S_i(initial) * S_j(final) > +c + + do 600 mx=1,max1 + do 580 my=1,maxi + do 500 n=1,nsig + i1=ii(n) + j1=jj(n) + do 490 m =1,jr + do 480 mp=1,js + a(mp,m )=0.0 + do 440 m1=1,jr + do 420 m2=1,js + a(mp,m )=a(mp,m ) + sr(m2,m1,my,mx) * s(m2,mp,i1)*s(m ,m1,j1) + 420 continue + 440 continue +c +c Dij correlation coefficients + dsig(n)=dsig(n)+conjg(sr(mp,m ,my,mx))*a(mp,m ) + 480 continue + 490 continue + 500 continue + 580 continue + 600 continue + endif +c + Dsig(3) = -Dsig(3) + do 610 n=1,nsig + dsig(n) = dsig(n)/Sigma + 610 continue +c + if(js .eq. 2 .and. maxi .eq. 2) then +c +c Spin correlation coefficients (final state target and projectile) +c Calculate Cij = < S_y(final) * I_y(final) > +c + do 800 mx=1,max1 + do 780 m =1,jr +c + do 700 n=1,nsig + i1=ii(n) + j1=jj(n) + do 690 my=1,maxi + do 680 mp=1,js + a(mp,my)=0.0 + do 640 m1=1,maxi + do 620 m2=1,js + a(mp,my)=a(mp,my)+sr(m2,m ,m1,mx)*s(m2,mp,i1)*s(m1,my,j1) + 620 continue + 640 continue +c + csig(n)=csig(n)+conjg(sr(mp,m ,my,mx))*a(mp,my) + 680 continue + 690 continue + 700 continue +c + 780 continue + 800 continue + do 820 n=1,nsig + csig(n) = csig(n)/Sigma + 820 continue + csig(3)=-csig(3) +c +c rotate operators to outgoing particle direction +c +c Minus signs on C_zz, C_xx and C_xz make output agree with the data +c where the z and x axes for the target are in opposite directions +c to those of the projectile +c + Cij(3) = -(csig(1)*cs**2 + csig(2)*ss**2 + 1 + (csig(4)+csig(5))*cs*ss) + Cij(1) = -(csig(1)*ss**2 + csig(2)*cs**2 + 1 - (csig(4)+csig(5))*cs*ss) + Cij(4) = -(csig(4)*cs**2-csig(5)*ss**2 + (csig(2)-csig(1))*cs*ss) + Cij(5) = -(csig(5)*cs**2-csig(4)*ss**2 + (csig(2)-csig(1))*cs*ss) + Cij(2) = csig(3) + endif +c +c Singlet fraction + ssum = (1.0-(csig(1)+csig(2)+csig(3)))/4.0 +c + Dij(3) = dsig(1) + Dij(1) = dsig(2) + Dij(4) = dsig(4) + Dij(5) = dsig(5) + Dij(2) = dsig(3) +c Calculate Dnn = < S_y(initial) * S_y(final) > + Dnn = Dij(2) + 1000 continue + ENDIF + 2000 continue +c +c -------------------------------------------------------- +c output to disk file 20 and file 21 +c + if(iopen20) then + open(unit = 20, file = 'for020.dat', status = 'unknown') + open(unit = 21, file = 'for021.dat', status = 'unknown') + iopen20 = .false. + endif +c + if(iout20) then +c Write header to file + if(nth .eq. 1) then + WRITE(20,9010)ALPHA,IDAT + write(20,9020) ntheta + WRITE(21,9010)ALPHA,IDAT + write(21,9021) ntheta + endif +c + write(20,'(2(0pf8.3,1h,) ,1pe12.4, 10(:1h,,0pf7.4))') + 1 theta, cs, (Pol(i),i=1,3), Dnn, Knn, Tpol +c + write(21,'(0pf8.3,1h,,0pf8.3, 12(:1h,,0pf7.4))') + 1 theta, cs, Cij, Dij, ssum + endif +c +c + return +c + 9010 FORMAT(' (',15A4,I4.2,2(1H/,I2.2),I4.2,2(1H:,I2.2)) + 9020 FORMAT(' (',i2,',angle cos[th] Sigma Pol Asy' + 1 ,' Dnn Knn Inn') + 9021 FORMAT(' (',i2,',angle cos[th] Cxx Cyy Czz Czx' + 1 ,' Cxz Dxx Dyy Dzz Dzx Dxz fsingl') +c + end + diff --git a/dwuck4/culib8/POTS.FOR b/dwuck4/culib8/POTS.FOR new file mode 100644 index 0000000..eb075dc --- /dev/null +++ b/dwuck4/culib8/POTS.FOR @@ -0,0 +1,726 @@ + +c*********************************************************************** + SUBROUTINE POTS(U,V) +c +c Calculates the potentials or form factors +c*********************************************************************** +c + IMPLICIT REAL*8(A-H,O-Z) + COMMON/POTTER/DRX,AFACT(2),VFACT,SFACT,ENG,RM,G(4),ETAX,FKX,ETAKX + 1 ,RCX,HBARC2,ABETA(3),FLDF(3) + 2 ,NX,LAMX,KMXX,KX,IBX,LPLUSX,ICON4,NSPC,IDIRAC,ICHK + + CHARACTER*18 B(21),C(22) + DIMENSION UT(5),CN(16),CP(16),YLAM(16),PLM(8) + 1 ,XG(8),WG(8),U(800),V(800),LDFRM(3) +C DIMENSION UD(800) + EQUIVALENCE (B(1),C(2)),(YLAM(1),PLM(1)) +C + DATA C( 1) /' NX=0 No potential'/ + DATA B( 1) /' NX=1 VOLUME W-S '/ + DATA B( 2) /' NX=2 SURFACE W-S '/ + DATA B( 3) /' NX=3 2ND DERIV '/ + DATA B( 4) /' NX=4 L*S VOLUME '/ + DATA B( 5) /' NX=5 L*S SURFACE '/ + DATA B( 6) /' NX=6 VOL *R**POWR'/ + DATA B( 7) /' NX=7 SURF*R**POWR'/ + DATA B( 8) /' NX=8 EXTERN FORMF'/ + DATA B( 9) /' NX=9 HARMONIC OSC'/ + DATA B(10) /' NX=10 GAUSSIAN '/ + DATA B(11) /' NX=11 DEFORM VOL '/ + DATA B(12) /' NX=12 DEFORM SURF'/ + DATA B(13) /' NX=13 HULTHEN '/ + DATA B(14) /' NX=14 NO OPTION '/ + DATA B(15) /' NX=15 NO OPTION '/ + DATA B(16) /' NX=16 NO OPTION '/ + DATA B(17) /' NX=17 NO OPTION '/ + DATA B(18) /' NX=18 Volume L*S '/ + DATA B(19) /' NX=19 COUL EXCIT '/ + DATA B(20) /' NX=20 VECTOR '/ + DATA B(21) /' NX=21 SCALAR '/ + +C + DATA NG,NGX/8,0/ +C + ETA4 = 6.0 + ETA5 =10.0 + SQRPI= 1.772453851 + PI=3.141592654 +C + IVFLAG=0 + ISFLAG=0 + FACT=VFACT + 70 CONTINUE +C +C READ IN CARD SET 5,6,OR 7 POTENTIAL CARDS +C + READ (5,9000)FZ,VR,RY,AR,VSOR,VI,RZ,AI,VSOI,PWR +C + NZ=ABS(FZ) + RR=ABS(RY)*AFACT(1) + IF(RY.LT.0.0) RR=RR+ABS(RY)*AFACT(2) + RI=ABS(RZ)*AFACT(1) + IF(RZ.LT.0.0) RI=RI+ABS(RZ)*AFACT(2) + IF(ICON4.NE.2.OR.NSPC.LT.3) THEN + WRITE(6,9509)B(NZ),VR,RY,AR,RR,VSOR + WRITE(6,9510) VI,RZ,AI,RI,VSOI,PWR + ENDIF +C NZ= 1 VOLUME WOODS-SAXON +C NZ= 2 SURFACE WOODS-SAXON +C NZ= 3 SECOND DERIVATIVE WOODS-SAXON +C NZ= 4 L*S POTENTIAL FOR WOODS-SAXON VOLUME +C NZ= 5 L*S POTENTIAL FOR WOODS-SAXON SURFACE +C NZ= 6 WOOD-SAXON*R**PWR +C NZ= 7 1ST-DER WOOD-SAXON*R**PWR +C NZ= 8 FORMF8 EXTERNAL FORM FACTOR +C NZ= 9 HARMONIC OSCILLATOR +C NZ=10 GAUSSIAN*R**PWR +C NZ=11 DEFORMED VOLUME +C NZ=12 DEFORMED SURFACE +C NZ=13 Hulthen +C Nz=18 Volume L*S +C NZ=19 COULOMB-EXCITATION +C NZ=20 VECTOR DIRAC +C NZ=21 SCALAR DIRAC +C + KFLAG=0 + IF(NX.LT.3) THEN + VR=VR*FACT + VI=VI*FACT + KT=FKX * MAX (RR,RI)+ETA5 + LPLUSX=MAX0(LPLUSX,KT) + KT=(2.3*ETA4* MAX (AR,AI)+ MAX (RR,RI))/DRX + ELSE + IF(ENG.EQ.0.0) THEN + KT=(2.3*ETA4* MAX (AR,AI)+ MAX (RR,RI))/DRX + ELSE + RM= MAX (RM,RR) + RM= MAX (RM,RI) + IF(RM.EQ.0.0) RM=1.0 + VR=VR*FACT + VI=VI*FACT + KT=(2.3*ETA4/SQRT(FKX**2+2.0*ETAX*FKX/RM))/DRX + ENDIF + ENDIF + KX=MIN0(MAX0(KX,KT),KMXX) + 83 CONTINUE + IF(AR.EQ.0.0) THEN + F1=0.0 + F2=0.0 + ELSE + F2=EXP(-DRX /AR) + F1=EXP( RR/AR) + ENDIF + IF(AI.EQ.0.0) THEN + F3=0.0 + F4=0.0 + ELSE + F4=EXP(-DRX /AI) + F3=EXP( RI/AI) + ENDIF +C + IF(NX.GE.3.AND.ENG.EQ.0.0.AND.NZ.LE.5) THEN + IF(AR.NE.0.0) VR=VR*(RR/AR)**(PWR+1) + IF(AI.NE.0.0) VI=VI*(RI/AI)**(PWR+1) + ENDIF + IF(NZ.EQ.0) GO TO 6050 + GO TO (100,200,300,400,500,600,700,800,900,1000,1100,1200 + 1,1300,1400,1500,1600,1700,1800,1900,2000,2100),NZ +C +C VOLUME WOODS SAXON +C + 100 CONTINUE + DO 160 M=1,KX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + U(MK )=U(MK )-VR*F1/(1.0+F1) + U(MK+1)=U(MK+1)-VI*F3/(1.0+F3) + 160 CONTINUE + GO TO 6000 +C +C 1ST DERIVATIVE WOODS SAXON +C + 200 CONTINUE + DO 260 M=1,KX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + U(MK )=U(MK )+VR*F1/(1.0+F1)**2 + U(MK+1)=U(MK+1)+VI*F3/(1.0+F3)**2 + 260 CONTINUE + GO TO 6000 +C +C 2ND DERIVATIVE WOODS SAXON +C + 300 CONTINUE + DO 360 M=1,KX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + U(MK )=U(MK )-VR*F1*(1.0-F1)/(1.0+F1)**3 + U(MK+1)=U(MK+1)-VI*F3*(1.0-F3)/(1.0+F3)**3 + 360 CONTINUE + GO TO 6000 +C +C L.S VOLUME WOODS SAXON +C + 400 CONTINUE + IBX=1 + IF(AR.NE.0.0) VR=VR/AR + IF(AI.NE.0.0) VI=VI/AI + R=0.0 + DO 460 M=1,KX + R=R+DRX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + V(MK )=V(MK )-VR*F1/(R*(1.0+F1)**2) + V(MK+1)=V(MK+1)-VI*F3/(R*(1.0+F3)**2) + 460 CONTINUE + GO TO 6000 +C +C L.S 1ST DERIVATIVE WOODS SAXON +C + 500 CONTINUE + IBX=1 + IF(AR.NE.0.0) VR=VR/AR + IF(AI.NE.0.0) VI=VI/AI + R=0.0 + DO 560 M=1,KX + R=R+DRX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + V(MK )=V(MK )+VR*F1*(1.0-F1)/(R*(1.0+F1)**3) + V(MK+1)=V(MK+1)+VI*F3*(1.0-F3)/(R*(1.0+F3)**3) + 560 CONTINUE + GO TO 6000 +C +C WOOD SAXON*R**PWR +C + 600 CONTINUE + R=0.0 + DO 660 M=1,KX + R=R+DRX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + RPWR=R**PWR + U(MK )=U(MK )-VR*F1*RPWR/(1.0+F1) + U(MK+1)=U(MK+1)-VI*F3*RPWR/(1.0+F3) + 660 CONTINUE + GO TO 6000 +C +C 1ST DERIVATIVE WOOD SAXON*R**PWR +C + 700 CONTINUE + R=0.0 + DO 760 M=1,KX + MK=M+M-1 + R=R+DRX + F1=F1*F2 + F3=F3*F4 + RPWR=R**PWR + U(MK )=U(MK )+VR*F1*RPWR/(1.0+F1)**2 + U(MK+1)=U(MK+1)+VI*F3*RPWR/(1.0+F3)**2 + 760 CONTINUE + GO TO 6000 +C +C EXTERNAL FORM FACTOR +C + 800 CONTINUE + IF(NX.GE.3) THEN + READ (5,9000)G + WRITE(6,9508)G + ENDIF + READ(5,9000)F1,F2 +C +C F2 = 0 REAL CENTRAL +C F2 = 1 IMAG CENTRAL +C F2 = 2 REAL SPIN ORBIT +C F2 = 3 IMAG SPIN ORBIT +C + IF(F2.EQ.0.0.OR.F2.EQ.2) THEN + F3=VR + MK=1 + ELSE + F3=VI + MK=2 + ENDIF + IF(F3.EQ.0.0) F3=1.0 + KT=F1 + DO 820 M=1,KT,5 + READ(5,9100)UT + IF(M.GT.KMXX) GO TO 820 + DO 810 I=1,5 + IF(F2.LT.2.0) THEN + U(MK )=U(MK )+UT(I)*F3 + ELSE + V(MK )=V(MK )+UT(I)*F3 + ENDIF + MK=MK+2 + 810 CONTINUE + 820 continue + kmxx2 = 2*kmxx + if(abs(FZ) .ne. float(NZ)) then + read (5,9100)(U(i+kmxx2),i=1,10) + IBX = U(5+kmxx2) + endif +C + KX=min0(KT,kmxx) + + GO TO 6000 +C +C HARMONIC OSCILLATOR, NORMALIZED N*EXP(-(R/RY)**2/2) +C + 900 CONTINUE + READ (5,9000)G + WRITE(6,9508)G + F1=1.0/RY**2 + F2=F1/RY + F3=0.5 + F4=SQRPI*0.5 + L=G(2) + IF(L.NE.0) THEN + DO 930 I=1,L + F3=F3+1.0 + F4=F4*F3 + F2=F2*F1 + 930 CONTINUE + ENDIF + NN=G(1) + T1=1.0 + T2=F4 +C LAGUERRE POLYNOMIAL COEFFICIENTS = (Abramowitz-Stegun)*(-1)**nn + CN(1)=(-1.0)**NN + IF(NN.NE.0) THEN + DO 940 I=1,NN + F3=F3+1.0 + T1=T1*FLOAT(I) + T2=T2*F3 + CN(I+1)=-CN(I)*F1*FLOAT(NN+1-I)/(FLOAT(I)*F3) + 940 CONTINUE + ENDIF + ANORM=SQRT(2.0*F2*T1/T2)*T2/(T1*F4) + IF(VR.NE.0.0) ANORM=VR*ANORM + KT=10.0*RY/DRX + KT=MIN0(KT,KMXX) + R=0.0 + F1=F1/2.0 + DO 960 M=1,KT + MK=M+M-1 + R=R+DRX + R2=R**2 + F2=CN(1) + IF(NN.EQ.0) GO TO 951 + F3=1.0 + DO 950 I=1,NN + F3=F3*R2 + F2=F2+CN(I+1)*F3 + 950 CONTINUE + 951 CONTINUE + U(MK )=U(MK )+F2*ANORM*EXP(-F1*R2)*R**L + 960 CONTINUE + GO TO 6000 +C +C EXP(-(R/R0)**2)*R**POWR +C + 1000 CONTINUE + IF(VR.NE.0.0) THEN + R=0.0 + DO 1060 M=1,KX + MK=M+M-1 + R=R+DRX + U(MK )=U(MK )-VR*EXP(-(R/RY)**2)*R**PWR + 1060 CONTINUE + endif + IF(VI.NE.0.0) THEN + R=0.0 + DO 1070 M=1,KX + MK=M+M-1 + R=R+DRX + U(MK+1)=U(MK+1)-VI*EXP(-(R/RZ)**2)*R**PWR + 1070 CONTINUE + endif + GO TO 6000 +C +C DEFORMED VOLUME OR SURFACE BY YLM EXPANSION +C + 1100 CONTINUE + IF(NGX.NE.NG) THEN + CALL LEGAUS(2*NG,XG,WG) + NGX=NG + ENDIF + T2=(-1.0)**LAMX + IF(ICHK.EQ.0) THEN + READ (5,9000) (ABETA(J),FLDF(J) ,J=1,3) + WRITE(6,9000) + WRITE(6,9512) (ABETA(J),FLDF(J) ,J=1,3) + ENDIF + LMAX=LAMX+1 + DO 1101 J=1,3 + LDFRM(J)=FLDF(J) + LMAX=MAX0(LMAX,LDFRM(J)+1) + 1101 CONTINUE + T2=(-1.0)**LAMX +C + DO 1108 I=1,NG + CN(I )=0.0 + CN(I+NG)=0.0 + P2=0.0 + P3=1.0 +C + DO 1106 M=1,LMAX + L=M-1 + FL=L-1 + IF(L.EQ.0) GO TO 1102 + P3=((2.0*FL+1.0)*XG(I)*P2-FL*P1)/(FL+1.0) + 1102 CONTINUE + DO 1103 J=1,3 + IF(ABETA(J).EQ.0.0) GO TO 1103 + IF(L.NE.LDFRM(J)) GO TO 1103 + FACTOR=P3*ABETA(J)*SQRT(FLOAT(L+L+1)/(4.0*PI)) + CN(I )=CN(I )+FACTOR + CN(I+NG)=CN(I+8)+FACTOR*(-1.0)**LDFRM(J) + 1103 CONTINUE + IF(L.NE.LAMX) GO TO 1104 + YLAM(I )= P3*WG(I)*SQRT(FLOAT(L+L+1)*PI) + YLAM(I+NG)=YLAM(I )*T2 + 1104 CONTINUE + P1=P2 + P2=P3 + 1106 CONTINUE + 1108 CONTINUE + DO 1170 I=1,2 + IF(I.EQ.1) THEN + IF(VR.EQ.0.0) GO TO 1170 + VX=VR + RX=RR + AX=AR + F1=1.0 + IFL=-1 + ELSE + IF(VI.EQ.0.0) GO TO 1170 + VX=VI + RX=RI + AX=AI + F1=1.0 + F2=F4 + IFL=0 + ENDIF + DO 1135 J=1,16 + CP(J)=EXP((1.0+CN(J))*RX/AX) + 1135 CONTINUE + IF(LAMX.EQ.0) VX=VX/(SQRPI*2.0) + J=NZ-10 + IF(J.EQ.2) GO TO 1151 + DO 1150 M=1,KX + MK=M+M+IFL + VTEMP=0.0 + F1=F1*F2 + DO 1145 J=1,16 + F3=F1*CP(J) + VTEMP=VTEMP-YLAM(J)*VX*F3/(1.0+F3) + 1145 CONTINUE + U(MK )=U(MK )+VTEMP + 1150 CONTINUE + GO TO 1170 + 1151 CONTINUE + DO 1160 M=1,KX + MK=M+M+IFL + VTEMP=0.0 + F1=F1*F2 + DO 1155 J=1,16 + F3=F1*CP(J) + VTEMP=VTEMP+YLAM(J)*VX*F3/(1.0+F3)**2 + 1155 CONTINUE + U(MK )=U(MK )+VTEMP + 1160 CONTINUE + 1170 CONTINUE + GO TO 6000 + 1200 CONTINUE + GO TO 1100 +C +C HULTHEN WAVE FUNCTION= NORM*(EXP(-R/RY)-EXP(-R/RZ))/R +C + 1300 CONTINUE + READ (5,9000)G + WRITE(6,9508)G + T1=1.0/RY + T2=1.0/RZ + T3=T2**2-T1**2 + T4=SQRT(2.0*T1*(T1+T2)*T2)/(T2-T1) + IF(VR.NE.0.0) KT=16.0* MIN (RY,RZ)/DRX + IF(VR.EQ.0.0) KT=16.0* MAX (RY,RZ)/DRX + KX=MIN0(KX,KMXX) + F1=1.0 + F2=EXP(-DRX *T1) + F3=1.0 + F4=EXP(-DRX *T2) + R=0.0 + DO 1260 M=1,KX + MK=M+M-1 + R=R+DRX + F1=F1*F2 + F3=F3*F4 + V(M)=T3*F3/(F1-F3) + TEMP=1.0 + IF(VR.NE.0.0) TEMP=V(M)/FACT + U(MK )=U(MK )+TEMP*T4*(F1-F3)/R + 1260 CONTINUE + GO TO 6000 + 1400 CONTINUE + 1500 CONTINUE + 1600 CONTINUE + 1700 CONTINUE + go to 6000 + 1800 CONTINUE + DO 1860 M=1,KX + MK=M+M-1 + F1=F1*F2 + F3=F3*F4 + V(MK )=V(MK )-VR*F1/(1.0+F1) + V(MK+1)=V(MK+1)-VI*F3/(1.0+F3) + 1860 CONTINUE + GO TO 6000 + 1900 CONTINUE +c +c Coulomb excitation for a deformed uniform charge distribution +c + IF(ICHK.EQ.0) THEN + READ (5,9000) (ABETA(J),FLDF(J) ,J=1,3) + WRITE(6,9000) + WRITE(6,9512) (ABETA(J),FLDF(J) ,J=1,3) + ENDIF + if(vr.eq.0.0) vr=1.0 + do 1990 i=1,3 + beta=abeta(i) + if(beta.ne.0.0) then +c set flag for unbound stripping evaluation of coulomb ex. + ibx=4 + flam1=beta*sqrt(float(2*lamx+1)/(4.0*pi)) + flam2=flam1*phasef(lamx) +c + if(ngx.ne.ng) then + ngx=ng + call legaus(2*ng,xg,wg) + endif +c + an=0.0 + do 1920 k=1,ng + p1=0.0 + p2=1.0 + if(lamx.gt.0) then + do 1910 j=1,lamx + p3=(float(2*j-1)*xg(k)*p2 - float(j-1)*p1)/float(j) + p1=p2 + p2=p3 + 1910 continue + endif + plm(k)=p2 +c +c calculate normalization +c + r1=rcx*(1.0+flam1*p2) + r2=rcx*(1.0+flam2*p2) + an=an+(r1**3+r2**3)*wg(k) + 1920 continue +c + an =an/3.0 +c + r =0.0 +c + do 1940 m=1,kx + mk=m+m-1 + r=r+drx + sum=0.0 + do 1930 k=1,ng + r1=rcx*(1.0+flam1*plm(k)) + r2=rcx*(1.0+flam2*plm(k)) +c + if(r.gt.r1) then + s1=r1**(lamx+3)/(r**(lamx+1)*float(lamx+3)) + else + if(lamx.eq.2) then + s1=( log(r1/r)+1.0/float(lamx+3))*r**2 + else + s1=(r**lamx/r1**(lamx-2) + 1 -float(2*lamx+1)*r**2/float(lamx+3))/float(2-lamx) + endif + endif +c + if(r.gt.r2) then + s2=r2**(lamx+3)/(r**(lamx+1)*float(lamx+3)) + else + if(lamx.eq.2) then + s2=( log(r2/r)+1.0/float(lamx+3))*r**2 + else + s2=(r**lamx/r2**(lamx-2) + 1 -float(2*lamx+1)*r**2/float(lamx+3))/float(2-lamx) + endif + endif +c + sum=sum+(s1+s2*phasef(lamx))*wg(k)*plm(k) + 1930 continue +c + sum=sum/an + if(beta.ne.0.0.and.lamx.ne.0) sum=sum/flam1 + u(mk )=u(mk )+sum*(vr*etakx/fact) + 1940 continue + endif + 1990 continue + GO TO 6000 +C +C VECTOR POTENTIAL +C VSOR, VSOI ARE THE THIRD PARAMETERS +C IN THE 3 PARAMETER FERMI MODEL +C [1 + VSO?*(R/R?)**2] +C + 2000 CONTINUE + IVFLAG=-1 + R=0.0 + DO 2060 M=1,KX + MK=M+M-1 + R=R+DRX + F1=F1*F2 + F3=F3*F4 + U(MK )=U(MK )-VR*F1*(1.0+VSOR*(R/RR)**2)/(1.0+F1) + U(MK+1)=U(MK+1)-VI*F3*(1.0+VSOI*(R/RI)**2)/(1.0+F3) + 2060 CONTINUE + GO TO 6020 +C +C SCALAR POTENTIAL +C VSOR, VSOI ARE THE FERMI THIRD PARAMETERS +C IN THE 3 PARAMETER FERMI MODEL +C [1 + VSO?*(R/R?)**2] +C + 2100 CONTINUE + ISFLAG=-1 + VR=VR*(SFACT/VFACT) + VI=VI*(SFACT/VFACT) + R=0.0 + DO 2160 M=1,KX + MK=M+M-1 + R=R+DRX + F1=F1*F2 + F3=F3*F4 + V(MK )=V(MK )-VR*F1*(1.0+VSOR*(R/RR)**2)/(1.0+F1) + V(MK+1)=V(MK+1)-VI*F3*(1.0+VSOI*(R/RI)**2)/(1.0+F3) + 2160 CONTINUE + GO TO 6020 +C +C END OF POTENTIALS +C + 6000 CONTINUE + IDIRAC=1 + 6020 CONTINUE + IF(KFLAG.NE.0.OR.NZ.GT.5) GO TO 6050 + IF(ABS(VSOR)+ABS(VSOI).EQ.0.0) GO TO 6050 + NZ=NZ+3 + KFLAG=1 + VR=VR*VSOR/45.2 + VI=VI*VSOI/45.2 + GO TO 83 + 6050 CONTINUE + IF(FZ.GT.0.0) GO TO 70 +C +C PROCESS DIRAC POTENTIALS +C +C ENTRY WITH U -> K**2 - VFACT*V VFACT = 2.0*W1 /HBARC**2 +C V -> - SFACT*S SFACT = 2.0*FM1/HBARC**2 +C + IF(IVFLAG.NE.0.AND.ISFLAG.NE.0) THEN + IF(IDIRAC.EQ.1) THEN + WRITE(6,9515) + ENDIF + IDIRAC=-1 +C +C KT2=KX+KX +C WRITE(20,7777)' ENTRY POTENTIALS' +C WRITE(20,7778)(U(I),I=1,KT2) +C WRITE(20,7777) +C WRITE(20,7778)(V(I),I=1,KT2) + W1M1=(VFACT+SFACT)*0.5*HBARC2 + + DO 6100 M=1,Kx + MK=M+M-1 + VVR=(U(MK )-FKX**2)/VFACT + VVI= U(MK+1) /VFACT + VSR= V(MK ) /SFACT + VSI= V(MK+1) /SFACT + U(MK )=U(MK )+V(MK ) +(VVR**2-VVI**2 - VSR**2+VSI**2)/HBARC2 + U(MK+1)=U(MK+1)+V(MK+1) +(VVR*VVI - VSR*VSI)*2.0/HBARC2 + T1 = W1M1 + VVR-VSR + T2 = VVI-VSI + V(MK )=0.5* LOG (T1**2 + T2**2) + V(MK+1)=ATAN2(T2,T1) + 6100 CONTINUE +C WRITE(20,7777)' SECOND POTENTIALS' +C WRITE(20,7778)(U(I),I=1,KT2) +C WRITE(20,7777) +C WRITE(20,7778)(V(I),I=1,KT2) +C + R=FLOAT(KX+1)*DRX + MK=KX+KX-1 + D2=V(MK ) + D1=D2 + A2=V(MK+1) + A1=A2 + IBX=1 + DO 6150 M=2,KX + MK=MK-2 + R=R-DRX + D3=D2 + D2=D1 + D1=V(MK ) + A3=A2 + A2=A1 + A1=V(MK+1) +C FIRST DERIVATIVE TERMS + DPR=(D3-D1)/(2.0*DRX) + DPI=(A3-A1)/(2.0*DRX) + V(MK+2)=2.0*DPR/R + V(MK+3)=2.0*DPI/R +C SECOND DERIVATIVE TERMS + DPPR=(D3+D1-2.0*D2)/DRX**2 + DPPI=(A3+A1-2.0*A2)/DRX**2 + UDR =0.5*DPPR-0.25*(DPR**2-DPI**2)+DPR/R + UDI =0.5*DPPI-0.25*(2.0*DPR*DPI )+DPI/R +C UD(MK+2)=UDR +C UD(MK+3)=UDI + U(MK+2)=U(MK+2)+UDR + U(MK+3)=U(MK+3)+UDI + 6150 CONTINUE + V(1 )=V(3 )*2.0 + V(2 )=V(4 )*2.0 + U(1 )=U(1 )+UDR + U(2 )=U(2 )+UDI +C WRITE(20,7777)'TERTIARY POTENTIALS' +C WRITE(20,7777)'CENTRAL POTENTIAL' +C WRITE(20,7778)(U(I),I=1,KT2) +C WRITE(20,7777)'SPIN ORBIT POTENTIAL' +C WRITE(20,7778)(V(I),I=1,KT2) +C WRITE(20,7777)'UD - DARWIN TERM' +C WRITE(20,7778)(UD(I),I=1,KT2) +C 7777 FORMAT(A30) +C 7778 FORMAT(' ',1P10E12.4) + ENDIF +C + IF(IDIRAC.EQ.1) IDIRAC=0 + RETURN +C + 9000 FORMAT(10F8.4) + 9100 FORMAT(5E16.7) + 9508 FORMAT(18X,9H NODES=,F9.4,9H L =,F9.4,9H 2*J =,F9.4 + 1 ,9H 2*S =,F9.4,9H FISW =,F9.4) + 9509 FORMAT(A18,9H V RL =,F9.4,9H R0RL =,F9.4,9H A RL =,F9.4 + 1 ,9H R RL =,F9.4,9H VSOR =,F9.4) + 9510 FORMAT(18X,9H V IM =,F9.4,9H R0IM =,F9.4,9H A IM =,F9.4 + 1 ,9H R IM =,F9.4,9H VSOI =,F9.4,9H POWR =,F9.4) + 9512 FORMAT(18X,9H BETA1=,F9.4,9H LDFR1=,F9.4,9H BETA2=,F9.4 + 1 ,9H LDFR2=,F9.4,9H BETA3=,F9.4,9H LDFR3=,F9.4) + 9515 FORMAT('0',20('*'),' WARNING, Mixing of Dirac and non-Dirac' + 1, ' potentials may be hazardous to your calculation' + 2, 20('*')) + END diff --git a/dwuck4/culib8/SLATER.FOR b/dwuck4/culib8/SLATER.FOR new file mode 100644 index 0000000..9bea320 --- /dev/null +++ b/dwuck4/culib8/SLATER.FOR @@ -0,0 +1,137 @@ + +c*********************************************************************** + SUBROUTINE SLATR (KT,KMAX,DRF,VB,MINL,FMU,ICODE) +c +c computes the slater integrals for the microscopic inelastic cases. +c*********************************************************************** + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION VB(800) +C +C YUKAWA SLATER EXPANSION +C + KM =KMAX + R=0.0 + IF(ICODE.EQ.2) GO TO 101 +C +C HANKEL FUNCTION*EXP(+FMU*R) +C + F1=1.0 + F2=EXP(-FMU*DRF) + DO 100 M=1,KT + R=R+DRF + X=FMU*R + F1=F1*F2 + AZ=(1.0-F1*F1)/(2.0*X) + B2=1.0/X + B1=B2*(1.0+B2) + FL=-1.0 + DO 50 LL=1,MINL + B3=FL*B2/X+B1 + B1=B2 + B2=B3 + FL=FL+2.0 + 50 CONTINUE + VB(M+KM )=B2 +C +C BESSEL FUNCTION*EXP(-FMU*R) +C + MAX=2.0*X+10.0 + MAX=MAX0(MAX,MINL+5) + A3=0.0 + A2=1.0 + FL=MAX+MAX+3 + DO 70 LL=1,MAX + N=MAX+1-LL + FL=FL-2.0 + A1=A3+FL*A2/X + IF(N.LT.MINL) GO TO 69 + IF(ABS(A1).LT.1.0E+20) GO TO 69 + A1=A1*1.0E-20 + A2=A2*1.0E-20 + 69 CONTINUE + IF(N.EQ.MINL) TEMP=A1 + A3=A2 + A2=A1 + 70 CONTINUE + VB(M )=TEMP*AZ/A1 + 100 CONTINUE + RETURN +C +C COULOMB SLATER EXPANSION +C + 101 CONTINUE + FL=MINL+MINL-1 + DO 200 M=1,KT + R=R+DRF + A2=1.0 + DO 105 LL=1,MINL + A2=A2*R + 105 CONTINUE + VB(M )=A2/(R*FL) + VB(M+KM )=1.0/A2 + 200 CONTINUE + RETURN + END +CDWK407 + SUBROUTINE RADIN(KT,KMAX,DRF,FMU,VB,UB,UC,SL,OPT,SI,KMT,SK) + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION UB(400),UC(400),VB(800),SI(800),DG(2) + DATA XRHO/80./ + FLOAT(III)=DFLOAT(III) +C + KM =KMAX + KM2=KMAX*2 + KM3=KMAX*3 + DG(1)=2.0*DRF/3.0 + DG(2)=2.0*DG(1) + F0=EXP( FMU*DRF) + MMAX=XRHO/FMU/DRF + R2=0.0 + SUMA=0.0 + SUMB=0.0 + SUMC=0.0 + SUMD=0.0 + DO 200 M=1,KT + MK=M+M-1 + R2=R2+DRF + F2=EXP(-FLOAT(MIN0(MMAX,M)-1)*FMU*DRF) + SLL=0.0 + MX=1 + R1=0.0 + DO 100 MM=1,KT + R1=R1+DRF + MX=3-MX + IF(IABS(M-MM).GT.MMAX) GO TO 100 + F1=DG(MX)*UB(MM)*UC(MM)*R1**2 + IF(M.GT.MM) GO TO 80 + IF(M.EQ.MM) GO TO 90 + F2=F2/F0 + TEMP=VB(M)*VB(MM+KM3)*F2 + GO TO 95 + 80 CONTINUE + TEMP=VB(MM+KM2)*VB(M+KM )*F2 + F2=F2*F0 + GO TO 95 + 90 TEMP=0.5*(VB(M)*VB(M+KM3)+VB(M+KM2)*VB(M+KM )) + 95 CONTINUE + SLL=SLL+F1*TEMP + 100 CONTINUE + SLL=SLL*OPT + R22=R2**2 + IF(M.EQ.KMT) SK=SLL + SI(MK)=SI(MK)+SLL + SUMA=SUMA+UB(M)*UC(M)*R22 + SUMB=SUMB+UB(M)*UC(M)*R22**2 + SUMC=SUMC+SLL*R22 + SUMD=SUMD+SLL*R22**2 + 200 CONTINUE + SUMA=SUMA*DRF + SUMB=SUMB*DRF + SUMC=SUMC*DRF + SUMD=SUMD*DRF + SL=SUMC + WRITE(6,9100)SUMA,SUMB,SUMC,SUMD + RETURN + 9100 FORMAT(13H0 J0 =,F11.4,7H J1 =,F11.4,7H K0 =,F11.4 + 1 ,7H K1 =,F11.4) + END diff --git a/dwuck4/dw4_doc.pdf b/dwuck4/dw4_doc.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3ba276270d22a76ee180a25a8f6a93f44642b2e7 GIT binary patch literal 208433 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

U;iF^~Ef>omD3$WP7x}0PC{{97!P{&jRKE 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

NQC) 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