ADAS Subroutine c6tbfm
SUBROUTINE C6TBFM( MXNSHL , MXJSHL , IZ0 , IZ1 ,
& AMSSNO , NBOT , NTOP , BMAG ,
& TIEV , TBLF , TBFMP , TBFM ,
& TBFMM
& )
C
C
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: C6TBFM *********************
C
C PURPOSE: FILLS TABLES OF MAGNETIC FIELD DEPENDENT MIXING RATE
C COEFFICIENTS BETWEEN NEARLY DEGENERATE LEVELS FOR
C HYDROGEN-LIKE, LITHIUM-LIKE AND SODIUM-LIKE IONS.
C
C RATES ARE CALCULATED FOR THE SEPARATE NLJ->NL+1J',
C NLJ->NLJ' AND NLJ->NL-1J' TRANSITIONS.
C
C CALLING PROGRAM: ADAS306
C
C INPUT : (I*4) MXNSHL = MAXIMUM NUMBER OF N SHELLS.
C INPUT : (I*4) MXJSHL = MAXIMUM NUMBER OF J SUB-SHELLS.
C INPUT : (I*4) IZ0 = TARGET NUCLEAR CHARGE.
C INPUT : (I*4) IZ1 = ION CHARGE.
C INPUT : (R*8) AMSSNO = ATOMIC MASS NO.
C INPUT : (I*4) NBOT = MINIMUM PRINCIPAL QUANTUM NUMBER.
C INPUT : (I*4) NTOP = MAXIMUM PRINCIPAL QUANTUM NUMBER.
C INPUT : (R*8) BMAG = MAGNETIC INDUCTION.
C UNITS: TESLA
C INPUT : (R*8) TIEV = TEMPERATURE (ION DISTRIBUTION).
C UNITS: EV
C INPUT : (R*8) TBLF() = TABLE OF RADIATIVE LIFETIMES.
C UNITS: SECS
C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L).
C
C OUTPUT: (R*8) TBFMP(,)= RATE COEFFT. FOR NLJ->NL+1J'.
C 1ST DIMENSION: J->J' TRANSITION INDEX.
C 2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C OUTPUT: (R*8) TBFM(,) = RATE COEFFT. FOR NLJ->NL+1J'.
C 1ST DIMENSION: J->J' TRANSITION INDEX.
C 2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C OUTPUT: (R*8) TBFMM(,)= RATE COEFFT. FOR NLJ->NLJ' FOR STATE I.
C 1ST DIMENSION: J->J' TRANSITION INDEX.
C 2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C
C PARAM : (I*4) MXJ = 'MXJSHL'.
C
C (I*4) NI = VALENCE ELECTRON PRINCIPAL QUANTUM NUMBER
C IN STATE I.
C (I*4) NJ = VALENCE ELECTRON PRINCIPAL QUANTUM NUMBER
C IN STATE J.
C (I*4) LI = VALENCE ELECTRON ORBITAL QUANTUM NUMBER IN
C STATE I.
C (I*4) LJ = VALENCE ELECTRON ORBITAL QUANTUM NUMBER IN
C STATE J.
C (I*4) IDLI = TABLE INDEX.
C (I*4) IDLJ = TABLE INDEX.
C (I*4) I = LOOP INDEX.
C (I*4) J = LOOP INDEX.
C
C (R*8) FMP() = RATE COEFFT. FOR NLJ->NL+1J'.
C DIMENSION: J->J' TRANSITION INDEX.
C (R*8) FMM() = RATE COEFFT. FOR NLJ->NL+1J'.
C DIMENSION: J->J' TRANSITION INDEX.
C (R*8) FMI() = RATE COEFFT. FOR NLJ->NLJ' FOR STATE I.
C DIMENSION: J->J' TRANSITION INDEX.
C (R*8) FMJ() = RATE COEFFT. FOR NLJ->NLJ' FOR STATE J.
C DIMENSION: J->J' TRANSITION INDEX.
C
C NOTES:
C 1) THE J->J' TRANSITION INDEX IS AS FOLLOWS:
C 1 : J=L+0.5 -> J'=L'+0.5
C 2 : J=L+0.5 -> J'=L'-0.5
C 3 : J=L-0.5 -> J'=L'+0.5
C 4 : J=L-0.5 -> J'=L'-0.5
C
C 2) BEFORE CALLING C6TBQM THE LIFETIME TABLE MUST BE FILLED
C WITH A CALL TO C6TBLF.
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C -------------------------------------------------------------
C I4UNIT ADAS RETURNS UNIT NO. FOR OUTPUT OF MESSAGES.
C I4IDFL ADAS RETURNS UNIQUE INDEX GIVEN QUANTUM
C NUMBERS N AND L.
C CXMRDG ADAS CALCULATES MIXING RATE COEFFICIENTS
C BETWEEN NEARLY DEGENERATE LEVELS OF
C H-, LI- OR NA-LIKE IONS.
C
C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 5183
C
C DATE: 04/11/93
C
C UNIX-IDL PORT:
C
C AUTHOR: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C
C DATE: 22ND MAY 1996
C
C VERSION: 1.1 DATE: 22-05-96
C MODIFIED: WILLIAM OSBORN
C - FIRST VERSION. IBM VERSION NOT CHANGED
C
C VERSION: 1.2 DATE: 17-05-07
C MODIFIED: Allan Whiteford
C - Updated comments as part of subroutine documentation
C procedure.
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER IZ0, IZ1, MXJSHL, MXNSHL
INTEGER NBOT, NTOP
REAL*8 AMSSNO, BMAG
REAL*8 TBFM(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
REAL*8 TBFMM(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
REAL*8 TBFMP(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
REAL*8 TBLF((MXNSHL*(MXNSHL+1))/2), TIEV