ADAS Subroutine escape
subroutine escape( ndprof, nddens, ndcyl , iz ,
& tg , j0 , mm , x0 , x1 ,
& y0 , sum1 , sum2 , sum3 ,
& sum4 , alpha , ics , iden ,
& sum , iprofile , zlen, y, x, wid,
& dmult, modprof)
c
c------------------------------------------------------------------------------
c
c *********&********** fortran77 subroutine: escape **************************
c
c original name: escape.bas
c (developed by K. H. Behringer)
c
c version: 1.0
c
c purpose: computes escape factors.
c
c calling program: adas214
c
c input:
c (i*4) nddens = parameter = max. number of points over ion profile
c (i*4) ndcyl = parameter = max. number of intervals for cylinder
c (i*4) ndprof = parameter = max. number of points over line profile
c
c (i*4) ics = 1 for slab geometry of plasma
c = 2 for cyl. geometry of plasma
c (i*4) iden = 1 for homogenous density distribution
c = 2 for linear density
c = 3 for parabolic density
c (i*4) iprofile= 1 for Doppler line profile
c = 2 for Lorentzian line profile
c = 3 for Holtzmark line profile
c = 10 for Double Doppler line profile
c = -2 for Voigt line profile
c = -3 for Doppler Holtzmark line profile
c (i*4) iz = number of points over line profile
c (i*4) j0 = number of density values for integration over
c cylinder/slab
c (i*4) k0 = number of density values - must be enough for
c interpolation
c (i*4) z0 = number of intervals for cylinder/slab
c
c (r*8) allam = Spectral absorption coefficient
c (r*8) alpha = neutral density*oscillator strength*length
c (r*8) domeg = delta omega in cylinder/slab
c (r*8) l = Length of plasma (0 to inf. on one side)
c (r*8) mm = atomic mass number
c (r*8) omega = solid angle in cylinder/slab
c (r*8) r = radius of cylinder
c (r*8) sum1() = sum assuming homogeneous density
c (r*8) sum2() = sum assuming linear density
c (r*8) sum3() = sum assuming parabolic density
c (r*8) sum4() = used in sum for escape factor
c (r*8) sum() = sum1/2/3, depending upon options chosen for density profile
c (r*8) tg = neutral temperature (eV)
c (r*8) w = Full Doppler width calculated for lambda=100nm
c (r*8) x0() = Absorption coefficient at line centre/10
c (r*8) x1() = Absorption coefficient at line centre
c (r*8) y = Line profile intensity
c (r*8) y0 = Line profile intensity (?) at line centre
c (r*8) ff = Used in calculation of escape factor
c (r*8) xl = log of x1, used for interpolation
c (r*8) yl = log of sum, used in interpolation
c (r*8) zlen = variable used to select length along plasma integration to be performed
c
c
c routines:
c routine source brief description
c -------------------------------------------------------------------
c faltung ADAS computes line profiles
c
c author: K. H. Behringer (IPF, University of Stuttgart)
c
c date: 30/01/94
c
c update: ???? brought up to date with latest Behringer code
c
c VERSION: 1.1 DATE: 18-06-98
c MODIFIED: STUART LOCH
c - CONVERTED TO FORTRAN
c
c VERSION: 1.2 DATE: 26-11-98
c MODIFIED: STUART LOCH
c - CHECKS IF LINE PROFILE IS INTEGRATED FAR ENOUGH,
c IF NOT THE PROFILE IS RE-EVALUATED TO TWICE THE
c PREVIOUS WIDTH, USING THE SAME STEP SIZE AS BEFORE.
c VERSION: 1.3 DATE: 19-02-99
c MODIFIED: STUART lOCH
c -DIMENSIONS OF X,Y, YT, YL AND MODPROF INCREASED FROM 1000
c TO 3000, TO ACCOMODATE POSSIBLE INCREASES IN INTEGRATION
c LIMIT OF LINE PROFILE
c VERSION: 1.4 DATE: 24-09-99
c MODIFIED: STUART lOCH
c -REMOVED EMPTY DO LOOP
C
c------------------------------------------------------------------------------
INTEGER ICS, IDEN, IPROFILE, IZ
INTEGER J0, NDCYL, NDDENS, NDPROF
REAL*8 ALPHA, DMULT, MM
REAL*8 MODPROF(K0,3000), SUM(NDDENS)
REAL*8 SUM1(NDDENS), SUM2(NDDENS)
REAL*8 SUM3(NDDENS), SUM4(NDDENS)
REAL*8 TG, WID, X(3000)
REAL*8 X0(NDDENS), X1(NDDENS), Y(3000), Y0
REAL*8 ZLEN