39 lines
831 B
Fortran
39 lines
831 B
Fortran
SUBROUTINE RATMAL(ID,A,B)
|
|
C
|
|
C LTE RATE MATRIX (SAHA-BOLTZMANN EQS.)
|
|
C
|
|
INCLUDE 'IMPLIC.FOR'
|
|
INCLUDE 'BASICS.FOR'
|
|
INCLUDE 'ATOMIC.FOR'
|
|
INCLUDE 'MODELQ.FOR'
|
|
DIMENSION A(MLEVEL,MLEVEL),B(MLEVEL)
|
|
C
|
|
ANE=ELEC(ID)
|
|
DO I=1,NLEVEL
|
|
B(I)=0.
|
|
DO J=1,NLEVEL
|
|
A(J,I)=0.
|
|
END DO
|
|
END DO
|
|
C
|
|
DO IAT=1,NATOM
|
|
N0I=N0A(IAT)
|
|
NKI=NKA(IAT)
|
|
N1I=NKI-1
|
|
NREFI=NKI
|
|
DO I=N0I,N1I
|
|
A(I,I)=1.
|
|
N=NNEXT(IEL(I))
|
|
A(I,N)=-ANE*SBF(I)*WOP(I,ID)
|
|
END DO
|
|
DO I=N0I,NKI
|
|
IL=ILK(I)
|
|
A(NREFI,I)=UN
|
|
IF(IL.NE.0) A(NREFI,I)=1.+ANE*USUM(IL)
|
|
END DO
|
|
B(NREFI)=DENS(ID)/WMM(ID)/YTOT(ID)*ABUND(IAT,ID)
|
|
END DO
|
|
C
|
|
RETURN
|
|
END
|