ADAS Subroutine r8atab
FUNCTION R8ATAB ( IZ1 , NU , LU , NL , LL ) C C C----------------------------------------------------------------------- C C **************** FORTRAN77 REAL*8 FUNCTION: R8ATAB ****************** C C PURPOSE: CALCULATES HYDRONIC L RESOLVED A-VALUES. C C ON FIRST CALL WITH VALID INPUT PARAMETERS, FUNCTION SETS UP C A TABLE OF A-VALUES. ON SUBSEQUENT CALLS VALUES ARE THEN C LOOKED UP. C C FUNCTION CHECKS TO SEE IF A-VALUE IS POSSIBLE AND DIPOLE C ALLOWED AND RETURNS ZERO IF NOT. C C CALLING PROGRAM: GENERAL USE C C FUNC: (R*8) R8ATAB = HYDROGEN A-VALUE. C C INPUT: (I*4) IZ1 = ION CHARGE. C INPUT: (I*4) NU = UPPER VALUE OF N QUANTUM NUMBER. C INPUT: (I*4) LU = L QUANTUM NUMBER FOR NU. C INPUT: (I*4) NL = LOWER VALUE OF N QUANTUM NUMBER. C INPUT: (I*4) LL = L QUANTUM NUMBER FOR NL. C C PARAM: (I*4) MXN = MAXIMUM VALUE OF N QUANTUM NUMBER. C C (I*4) M = TABLE INDEX. C (I*4) N1 = N QUANTUM NUMBER LOOP INDEX. C (I*4) L1 = N QUANTUM NUMBER LOOP INDEX. C (I*4) N2 = N QUANTUM NUMBER LOOP INDEX. C (I*4) L2 = N QUANTUM NUMBER LOOP INDEX. C (I*4) J0 = TABLE INDEX. C C (R*8) Z14 = REAL VALUE = IZ1**4 C C (L*4) LFIRST = .TRUE. = FIRST TIME FUNCTION CALLED. C .FLASE. = FUNCTION HAS BEEN CALLED BEFORE. C C (I*4) MA() = INDEX TABLE FOR 'ATABLE'. C DIMENSION: REFERENCED BY NU QUANTUM NO. C (R*8) ATABLE() = TABLE OF A-VALUES. C DIMENSION: REFERENCED BY NU, LU, NL, LL C QUANTUM NUMBERS. C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------- C I4UNIT ADAS RETURNS UNIT NO. FOR OUPUT OF MESSAGES. C R8AH ADAS RETURNS HYDRONIC A-VALUE. C C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC) C K1/0/81 C JET EXT. 5183 C C DATE: 29/09/93 C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- INTEGER IZ1, LL, LU, NL INTEGER NU