ADAS Subroutine bbrint
subroutine bbrint( ndgnt ,
& gaunt , vve , z1 , v ,
& maxe , temp , dparam , dist ,
& f , rrcint
& )
C-----------------------------------------------------------------------
C
C ****************** fortran77 subroutine: bbrint ******************
C
C purpose: To calculate radiative recombination coefficient when
C electron distribution is not Maxwellian.
C
C calling program: adas211
C
C input : (i*4) ndgnt = max no of vve gaunt pairs
C input : (r*8) gaunt() = the bound-free gaunt factor
C input : (r*8) vve() = v**2*e
C where e=(free electron energy)/z1**2 (ryd)
C input : (r*8) z1 = parent ion charge
C input : (r*8) v = effective principal quantum number
C input : (i*4) maxe = number of vve gaunt pairs
C input : (r*8) temp = effective temperature (kelvin),
C 2/3 * mean energy of distribution
C input : (r*8) dparam = parameter describing distribution function:
C kappa dist. => kappa
C Druyvesteyn dist. => x
C input : (i*4) dist = non-Maxwellian distribution type:
C 1 => kappa distribution
C 2 => numerical distribution
C 3 => Druyvesteyn distribution
C input : (r*8) f() = numerical distribution function at vve
C
C output: (r*8) rrcint = radiative recombination coefficient (cm3 sec-1)
C
C local : (r*8) ryd = Rydberg constant (eV)
C local : (r*8) te = effective temperature (eV)
C local : (r*8) ip = ionisation potential (eV)
C local : (r*8) kek = kappa * characteristic energy of kappa dist.
C local : (r*8) ex = characteristic energy of Druyvesteyn dist.
C local : (r*8) alpha = fine structure constant
C local : (r*8) c = speed of light in vacuum (cm sec-1)
C local : (r*8) a0 = Bohr radius (cm)
C local : (r*8) energy()= free electron energy (eV)
C local : (r*8) int1 = integrand at energy(i)
C local : (r*8) int2 = integrand at energy(i+1)
C local : (r*8) de = energy difference from i to i+1
C
C routines:
C routine source brief description
C -------------------------------------------------------------
C lngama evaluates ln(gamma(x))
C
C author: Paul Bryans, University of Strathclyde
C
C date: 23/01/04
C
C update: 26/01/04 - Paul Bryans
C added Druyvesteyn distribution (dist = 3)
C
C update: 02/12/04 - Paul Bryans
C added numerical distribution (dist = 2)
C
C update: 02/02/05 - Allan Whiteford
C Declared i4unit as an integer.
C
C update: 20/07/07 - Allan Whiteford
C Removed commet stating that Druyvesteyn and numerical
C distributions can't be handled.
C
C-----------------------------------------------------------------------
INTEGER DIST, MAXE, NDGNT
REAL*8 DPARAM, F(NDGNT), GAUNT(NDGNT)
REAL*8 RRCINT, TEMP, V
REAL*8 VVE(NDGNT), Z1