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