Search Site | Contact Details | FAQ

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
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk