Search Site | Contact Details | FAQ

ADAS Subroutine bftran

C
      SUBROUTINE  BFTRAN( TYP   , C      , LNEG  ,
     &                    AIN   , WVNOU  , WVNOL , WTU   , WTL  ,
     &                    TEIN  , UPSIN  , NV    ,
     &                    TEOUT , UPSOUT , NVN
     &                  )
C----------------------------------------------------------------
C
C ************* FORTRAN SUBROUTINE  BFTRAN  *******************
C
C PURPOSE : TO IMPLEMENT THE TRANSFORMATION DESCRIBED BY
C           BURGESS AND TULLY ( SEE REFERENCE (1)) WHICH
C           IS USED TO ASSESS AND COMPACT DATA.
C
C
C REFERENCES:
C           (1) A.BURGESS AND J.A.TULLY
C           ON THE ANALYSIS OF COLLISION STRENGTHS
C           AND RATE COEFFICIENTS.
C           ASTRON.ASTROPHYS.254,436-453 (1992 )
C
C           (2) SUMMERS.H.P
C               ADAS USERS MANUAL ( 1ST EDITION ).
C
C INPUT :
C       (C*1) TYP         = BURGESS & TULLY TRANSITION TYPE CODE
C       (R*8) C           = THE ADJUSTABLE PARAMETER ASSOCIATED
C                           WITH THE BURGESS AND TULLY
C                           TRANSFORMATION ( SEE REFERENCE (1)).
C       (L)   LNEG        = IF TYPE 2 GOES NEGATIVE AT HIGH
C                           TEMPERATURES THE COLLISION STRENGTH HAS
C                           A ZERO LIMITING VALUE AT INFINITY. 
C       (R*8) AIN         = THE EINSTEIN `A` CO-EFFICIENT. THIS
C                           IS READ DIRECTLY FROM THE ADF04
C                           TYPE FILE.
C       (R*8) WVNOU       = THE WAVENUMBER OF THE UPPER LEVEL.
C                           THIS IS READ DIRECTLY FROM THE ADF04
C                           TYPE FILE.
C       (R*8) WVNLO       = THE WAVENUMBER OF THE LOWER LEVEL.
C                           THIS IS READ DIRECTLY FROM THE ADF04
C                           TYPE FILE.
C       (R*8) WTU         = THE STATISTICAL WEIGHT OF THE UPPER
C                           LEVEL. THIS IS OBTAINED BY
C
C       (R*8) WTL         = THE STATISTICAL WEIGHT OF THE LOWER
C                           LEVEL. THIS IS OBTAINED BY
C
C       (R*8) TEIN        = THE TEMPERATURE ARRAY (K). THIS
C                           DATA IS READ DIRECTLY FROM THE
C                           ADF04 TYPE FILE.
C       (R*8) UPSIN       = THE ARRAY CONTAING THE EFFECTIVE
C                           COLLISION STRENGTH. THIS DATA IS
C                           READ DIRECTLY FROM THE ADF04
C                           TYPE FILE.
C       (I*4) NV          = THE NUMBER OF TEMPERATURE/EFFECTIVE
C                           COLLISION STRENGTH PAIRS FOR A GIVEN
C                           TRANSITION.
C       (I*4) NVN         = THE NUMBER OF TEMPERATURES/EFFECTIVE
C                           COLLISION STRENGTH PAIRS FOR A GIVEN
C                           TRANSITION. THIS PARAMETER IS IN
C                           FACT THE NUMBER OF USER DEFINED
C                           TEMPERATURE POINTS AT WHICH THE
C                           EFFECTIVE COLLISION STRENGTH
C                           HAS TO BE EVALUATED AT.
C       (R*8) TEOUT       = THE TEMPERATURE RANGE FOR WHICH
C                           THE EFFECTIVE COLLISION STRENGTH IS
C                           REQUIRED.
C
C OUTPUT:
C
C       (R*8) UPSOUT      = THE ARRAY OF EFFECTIVE COLLISION
C                           STRENGTHS THAT ARE REQUIRED.
C
C
C       (R*8) E           = THE MATHEMATICAL CONSTANT E.
C       (R*8) CONST       = CLUSTER OF PHYSICAL CONSTANTS.
C                           SEE PAGE 12 OF REFERENCE (2).
C       (R*8) EIJIN       = THE TRANSITION ENERGY (RYD).
C       (R*8) FIJIN       = THE OSCILLATOR STRENGTH.
C       (R*8) ET          = GENERAL CONSTANT.
C       (R*8) C           = THE BURGESS C PARAMETER.
C       (R*8) X           = THE X ARRAY ASSOCIATED WITH THE
C                           BURGESS AND TULLY TRANSFORMATION.
C       (R*8) Y           = THE Y ARRAY ASSOCIATED WITH THE
C                           BURGESS AND TULLY TRANSFORMATION.
C       (R*8) DY          = DERIVATIVES AT INPUT KNOTS.
C                           SEE XXSPLN FOR FUTHER DETAILS.
C       (R*8) XOUT        = X ARRAY ASSOCIATED WITH THE
C                           BURGESS AND TULLY TRANSFORMATION.
C       (R*8) YOUT        = Y ARRAY ASSOCIATED WITH THE
C                           BURGESS AND TULLY TRANSFORMATION.
C       (R*8) FINTX       = INTERPOLATING X COORDINATE
C                           TRANSFORMATION ( SEE SUBROUTINE
C                           XXSPLN ). EXTERNAL FUNCTION.
C       (I*4) NVMAX       = THE MAXIMUM NUMBER OF TEMPERTURES
C                           THAT CAN BE READ.
C       (I*4) NFIT        = NVMAX+1 - ALLOWS LIMIT POINT TO BE
C                           ADDED TO TYPE 1 AND 4 FITS.
C       (I*4) IOPT        = GENERAL PARAMETER ASSOCIATED WITH
C                           THE SUBROUTINE XXSPLN.
C       (I*4) I           = GENERAL VARIABLE WHICH IS USED AS
C                           A COUNTER.
C       (LOG) LSETX       = PARAMETER ASSOCIATED WITH THE
C                           SUBROUTINE XXSPLN.
C
C  ROUTINES:
C          ROUTINE    SOURCE    BRIEF DESCRIPTION
C          -------------------------------------------------------------
C          I4UNIT     ADAS      FETCH UNIT NUMBER FOR OUTPUT OF MESSAGES
C          R8CONST    ADAS      RETURNS FUNDAMENTAL ATOMIC CONSTANTS
C
C
C AUTHOR:   H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE
C           JA8.08
C           TEL.  0141-553-4196
C
C DATE:    04/06/98
C
C UPDATE:  
C
C VERSION: 	1.1					DATE: 09/08/98
C MODIFIED:	RICHARD MARTIN
C		- PUT UNDER SCCS CONTROL.
C
C VERSION: 	1.2					DATE: 15/04/99
C MODIFIED:	Martin O'Mullane
C               - If type 1 or 4 add in the limit point 
C                 to the spline fit.
C		- Added support for type 4 transitions. 
C
C VERSION: 	1.3					DATE: 08/10/99
C MODIFIED:	Martin O'Mullane
C               - Certain type 2 and 3 transitions have a limiting
C                 point of zero at infinity. We deduce this by
C                 fitting and if the values go negative rerun with
C                 LNEG set and add y=0 at x=1 to the fit.
C
C----------------------------------------------------------------
      CHARACTER           TYP
      INTEGER             NV,          NVN
      LOGICAL             LNEG
      REAL*8              AIN,         C,           TEIN(NV)
      REAL*8              TEOUT(NVN),  UPSIN(NV),   UPSOUT(NVN), WTL
      REAL*8              WTU,         WVNOL,       WVNOU
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk