79 lines
2.2 KiB
Fortran
79 lines
2.2 KiB
Fortran
SUBROUTINE IJALIS(ITR,IFRQ0,IFRQ1)
|
|
C ==================================
|
|
C
|
|
C auxiliary routine - sets up the necessary flags for ALI treatment
|
|
C of individual transitions (in the fully hybrid CL/ALI scheme)
|
|
C
|
|
C Output:
|
|
C
|
|
C IJALI(IJ) = 0 - frequency point IJ is an explicit point
|
|
C = 1 - frequency point IJ is an ALI point
|
|
C
|
|
C LEXP(ITR) = T - at least one point within transition ITR is explicit
|
|
C LEXP(ITR) = F - no point within transition ITR is explicit
|
|
C LALI(ITR) = T - at least one point within transition ITR is ALI
|
|
C LALI(ITR) = F - no point within transition ITR is ALI
|
|
C
|
|
INCLUDE 'IMPLIC.FOR'
|
|
INCLUDE 'BASICS.FOR'
|
|
INCLUDE 'ATOMIC.FOR'
|
|
INCLUDE 'MODELQ.FOR'
|
|
C
|
|
c NFRECL=NFREQ
|
|
c if(nfrecl.ge.nfreq) return
|
|
INDXP=INDEXP(ITR)
|
|
I0=IFR0(ITR)
|
|
I1=IFR1(ITR)
|
|
NF=I1-I0+1
|
|
DO IJ=I0,I1
|
|
IF(INDXP.GT.0) THEN
|
|
IJALI(IJ)=0
|
|
ELSE IF(INDXP.LT.0) THEN
|
|
IJALI(IJ)=1
|
|
END IF
|
|
END DO
|
|
C
|
|
C primarily explicit transitions
|
|
C
|
|
IF(INDXP.GT.0) THEN
|
|
LEXP(ITR)=.TRUE.
|
|
LALI(ITR)=.FALSE.
|
|
IF(IFRQ0.GT.0.and.iadop(iatm(ilow(itr))).eq.0) THEN
|
|
LALI(ITR)=.TRUE.
|
|
IF(IFRQ1.EQ.0.OR.IFRQ1.GT.NF) IFRQ1=NF
|
|
DO I=IFRQ0,IFRQ1
|
|
IJALI(I0+I-1)=1
|
|
END DO
|
|
ELSE IF(IFRQ0.LT.0) THEN
|
|
LALI(ITR)=.TRUE.
|
|
READ(57,*) (IJALI(IJ),IJ=I0,I1)
|
|
END IF
|
|
IF(IFRQ0.EQ.1.AND.IFRQ1.EQ.NF) LEXP(ITR)=.FALSE.
|
|
ELSE IF(INDXP.LT.0) THEN
|
|
C
|
|
C primarily ALI transitions
|
|
C
|
|
LALI(ITR)=.TRUE.
|
|
LEXP(ITR)=.FALSE.
|
|
IF(IFRQ0.GT.0.and.iadop(iatm(ilow(itr))).eq.0) THEN
|
|
LEXP(ITR)=.TRUE.
|
|
IF(IFRQ1.EQ.0.OR.IFRQ1.GT.NF) IFRQ1=NF
|
|
DO I=IFRQ0,IFRQ1
|
|
IJALI(I0+I-1)=0
|
|
END DO
|
|
ELSE IF(IFRQ0.LT.0) THEN
|
|
LEXP(ITR)=.TRUE.
|
|
READ(57,*) (IJALI(IJ),IJ=I0,I1)
|
|
END IF
|
|
IF(IFRQ0.EQ.1.AND.IFRQ1.EQ.NF) LALI(ITR)=.FALSE.
|
|
END IF
|
|
IF(NFFIX.GT.0) THEN
|
|
DO IJ=I0,I1
|
|
IJALI(IJ)=1
|
|
END DO
|
|
LALI(ITR)=.TRUE.
|
|
LEXP(ITR)=.FALSE.
|
|
END IF
|
|
RETURN
|
|
END
|