add comments in ADWUCK4.FOR and BDWUCK.FOR
This commit is contained in:
parent
bd83983e40
commit
4dd9e71ed5
|
@ -380,8 +380,8 @@ C
|
||||||
Q=E
|
Q=E
|
||||||
E=(ECM(1)+Q)*(FM(2)+FMA(2))/FMA(2)
|
E=(ECM(1)+Q)*(FM(2)+FMA(2))/FMA(2)
|
||||||
ENDIF
|
ENDIF
|
||||||
IS(N)=FS(N)
|
IS(N)=FS(N) ! 2*spin, FS(N) will divided by 2 later
|
||||||
NS(N)=IS(N)+1
|
NS(N)=IS(N)+1 ! 2*spin+1, number of m-state
|
||||||
IF(AMASS.EQ.0.0) AMASS=FMA(1)
|
IF(AMASS.EQ.0.0) AMASS=FMA(1)
|
||||||
IF(IK.EQ.0) DR(N)=DRF*AMASS/FMA(N)
|
IF(IK.EQ.0) DR(N)=DRF*AMASS/FMA(N)
|
||||||
KMXX=KMAX
|
KMXX=KMAX
|
||||||
|
|
|
@ -269,48 +269,56 @@ c***********************************************************************
|
||||||
5 ,(DTEMP(1201),GP),(DTEMP(1601),S ),(DTEMP(2001),C )
|
5 ,(DTEMP(1201),GP),(DTEMP(1601),S ),(DTEMP(2001),C )
|
||||||
DATA ETA3/10.E+00/
|
DATA ETA3/10.E+00/
|
||||||
C
|
C
|
||||||
|
|
||||||
IWORD=0
|
IWORD=0
|
||||||
JT=NS(1)+NS(2)
|
JT=NS(1)+NS(2) ! NS(1) is number of m-state in incoming channel, similar for NS(2), for (d,p), JT = 5
|
||||||
NP=LPL2*JT
|
NP=LPL2*JT ! LPLUS = LMAX + 1, LPL2 = 2*LPLUS, NP = 2*(LMAX+1)*JT, for LMAX = 15 (d,p) NP = 160, NP= number of partial wave, real + imag
|
||||||
I=0
|
I=0
|
||||||
DO 30 N=1,2
|
DO 30 N=1,2 !N = 1 : incoming, 2 : outgoing
|
||||||
DR2(N)=DR(N)**2/12.0
|
DR2(N)=DR(N)**2/12.0 ! this is for the Numerov method
|
||||||
R(N)=0.0
|
R(N)=0.0
|
||||||
JS=NS(N)
|
JS=NS(N) ! number of m-state
|
||||||
DO 29 ISS=1,JS
|
DO 29 ISS=1,JS ! loop all m-state
|
||||||
I=I+1
|
I=I+1
|
||||||
LM(I)=0
|
LM(I)=0 ! all LM(I) = 0
|
||||||
29 CONTINUE
|
29 CONTINUE
|
||||||
30 CONTINUE
|
30 CONTINUE ! end of loop N
|
||||||
DO 40 IQ=1,NP
|
DO 40 IQ=1,NP ! initial distorted wave, have NP points
|
||||||
F1(IQ)=0.0
|
F1(IQ)=0.0 !
|
||||||
F2(IQ)=0.0
|
F2(IQ)=0.0 ! F1 is n-1 of F2
|
||||||
Q1(IQ)=0.0
|
Q1(IQ)=0.0
|
||||||
Q2(IQ)=0.0
|
Q2(IQ)=0.0 ! Q1 is n-1 of Q2
|
||||||
40 CONTINUE
|
40 CONTINUE
|
||||||
C
|
C
|
||||||
DO 100 M=1,K
|
|
||||||
MK=M+M-1
|
WRITE(6,*) 'Debug: K=', K, ', NP=', NP
|
||||||
IX=0
|
DO 100 M=1,K ! K = ABS(RMAX)/DRF + 1.0E-08
|
||||||
I=0
|
MK=M+M-1 ! 2*M-1, odd number from 1 to K, odd for real, even for imag
|
||||||
DO 90 N=1,2
|
IX=0 ! loop from 1 to 128, step 32 = 2*LPLUS, why?
|
||||||
|
I=0 ! loop from 1 to 5, total m-state in incoming and outgoing channel?
|
||||||
|
|
||||||
|
DO 90 N=1,2 ! looping incoming and outgoing channel
|
||||||
R(N)=R(N)+DR(N)
|
R(N)=R(N)+DR(N)
|
||||||
DRR2(N)=DR2(N)/R(N)**2
|
DRR2(N)=DR2(N)/R(N)**2 ! for L(L+1)/r^2 term in the potential
|
||||||
Q(1)=1.0+DR2(N)*U(MK ,N)
|
Q(1)=1.0+DR2(N)*U(MK ,N) ! seems to be the Numerov k_n
|
||||||
Q(2)= DR2(N)*U(MK+1,N)
|
Q(2)= DR2(N)*U(MK+1,N)
|
||||||
LTEMP=2.0*FK(N)*R(N)+ETA3
|
LTEMP=2.0*FK(N)*R(N)+ETA3 ! ETA3 = 10,
|
||||||
LTEMP=MIN0(LTEMP,LPLUS)
|
LTEMP=MIN0(LTEMP,LPLUS) ! set the maximum acceptable L
|
||||||
FI=-FS(N)
|
|
||||||
JS=NS(N)
|
FI=-FS(N) ! m-state of S of channle-N, N=1 for incoming, =2 for outgoing
|
||||||
SFACT=FS(N)**2+FS(N)
|
JS=NS(N) ! number of m-state of S
|
||||||
DO 89 ISS=1,JS
|
SFACT=FS(N)**2+FS(N) ! s * (s+1)
|
||||||
I=I+1
|
|
||||||
FL=0.0
|
DO 89 ISS=1,JS ! loop the m-state
|
||||||
DO 80 LL=1,LPLUS
|
I=I+1 ! I is the id of m-state
|
||||||
FJ=FL+FI
|
FL=0.0 ! FL runs from 0 to LMAX
|
||||||
IX1=IX+LL+LL-1
|
|
||||||
FLFACT=FL**2+FL
|
DO 80 LL=1,LPLUS ! loop all L, fortan start index is 1, so need to run from 1 to LMAX + 1
|
||||||
FACT=DR2(N)*(FJ**2+FJ-FLFACT-SFACT)*0.5
|
FJ=FL+FI ! J = L + S, looping possible J-state
|
||||||
|
IX1=IX+LL+LL-1 ! loop from 1 to 159 odd, odd for real? even for imag?
|
||||||
|
FLFACT=FL**2+FL
|
||||||
|
|
||||||
|
FACT=DR2(N)*(FJ**2+FJ-FLFACT-SFACT)*0.5 ! for L(L+1)/r^2
|
||||||
Q(3 )=Q(1)+FACT*V(MK ,N)-DRR2(N)*FLFACT
|
Q(3 )=Q(1)+FACT*V(MK ,N)-DRR2(N)*FLFACT
|
||||||
Q(4 )=Q(2)+FACT*V(MK+1,N)
|
Q(4 )=Q(2)+FACT*V(MK+1,N)
|
||||||
IF(LL.LE.LM(I)) GO TO 70
|
IF(LL.LE.LM(I)) GO TO 70
|
||||||
|
@ -318,10 +326,12 @@ C
|
||||||
LM(I)=LM(I)+1
|
LM(I)=LM(I)+1
|
||||||
IF(FJ-ABS(FL-FS(N)).LT.0.0) GO TO 72
|
IF(FJ-ABS(FL-FS(N)).LT.0.0) GO TO 72
|
||||||
c calculate approximate starting value
|
c calculate approximate starting value
|
||||||
|
|
||||||
f2(ix1 )=1.0
|
f2(ix1 )=1.0
|
||||||
do 50 ii=1,ll
|
do 50 ii=1,ll
|
||||||
f2(ix1 )=f2(ix1 )*(fk(n)*r(n))/float(2*ii-1)
|
f2(ix1 )=f2(ix1 )*(fk(n)*r(n))/float(2*ii-1)
|
||||||
50 continue
|
50 continue
|
||||||
|
|
||||||
F2(IX1+1)=0.0
|
F2(IX1+1)=0.0
|
||||||
Q2(IX1 )=Q(3)*f2(ix1 )
|
Q2(IX1 )=Q(3)*f2(ix1 )
|
||||||
Q2(IX1+1)=Q(4)*f2(ix1 )
|
Q2(IX1+1)=Q(4)*f2(ix1 )
|
||||||
|
@ -345,6 +355,12 @@ c
|
||||||
Q1(IX1+1)=Q2(IX1+1)
|
Q1(IX1+1)=Q2(IX1+1)
|
||||||
Q2(IX1 )=CTEMP(1)
|
Q2(IX1 )=CTEMP(1)
|
||||||
Q2(IX1+1)=CTEMP(2)
|
Q2(IX1+1)=CTEMP(2)
|
||||||
|
|
||||||
|
IF(N.EQ.1 .AND. FL.EQ.1 .AND. FJ.EQ.1) THEN
|
||||||
|
WRITE(6,'(A, F7.3, F10.6, F10.6, F10.6, F10.6)')
|
||||||
|
1'Debug:',R(N),Q1(IX1),Q1(IX1+1),Q2(IX1), Q2(IX1+1)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
72 CONTINUE
|
72 CONTINUE
|
||||||
FL=FL+1.0
|
FL=FL+1.0
|
||||||
80 CONTINUE
|
80 CONTINUE
|
||||||
|
@ -357,8 +373,13 @@ C WRITE RADIAL WAVE FUNCTIONS ON TAPE 4
|
||||||
C
|
C
|
||||||
WRITE(4)(F2(J),J=1,NP)
|
WRITE(4)(F2(J),J=1,NP)
|
||||||
100 CONTINUE
|
100 CONTINUE
|
||||||
|
|
||||||
|
C ================= end of loop
|
||||||
|
C
|
||||||
|
|
||||||
LX=1
|
LX=1
|
||||||
drrc = 0.1
|
drrc = 0.1
|
||||||
|
|
||||||
DO 120 N=1,2
|
DO 120 N=1,2
|
||||||
R2=FK(N)*R(N)
|
R2=FK(N)*R(N)
|
||||||
R1=R2-DR(N)*FK(N)
|
R1=R2-DR(N)*FK(N)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user