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