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