Search Site | Contact Details | FAQ

ADAS Subroutine h4data

C
       subroutine h4data( iunit  , ixdim  , itdim   , isdim  ,
     &                    dsfull , indxref , title  , cameth , 
     &                    z0     , z       , zeff   , 
     &                    n1     , l1      , eb1    ,
     &                    n2     , l2      , eb2    ,
     &                    isp    , lp      , xjp    ,
     &                    ist1   , lt1     , xj1    , xjt1   , 
     &                    ist2   , lt2     , xj2    , xjt2   ,
     &                    neqv1  , fpc1    , neqv2  , fpc2   ,
     &                    aval   ,
     &                    xmax   , iextwf  , ijucys , isrch  ,
     &                    nshell , nlqs    , alfaa  ,
     &                    nx     , xa      , 
     &                    nt     , tea     ,
     &                    cresol  
     &                  )
c-----------------------------------------------------------------------
c
c  ********************* fortran77 subroutine h4data *******************
c
c  purpose: to refresh a data index from an adas804 archive. reads
c           in the index code a-effective potential Born, b-impact 
c           parameter and the the rest of the data as appropriate.
c
c  calling program: adas804
c
c  subroutine:
c
c  input : (i*4)  iunit    = unit to be used for reading file
c  input : (i*4)  ixdim    = maximum dimension for X  array
c  input : (i*4)  itdim    = maximum dimension for Te array
c  input : (i*4)  isdim    = maximum dimension for shell vectors
c
c  input : (c*80) dsfull   = the users' chosen archive file name.
c  input : (i*4)  indxref  = the index number to refresh from.
c
c  output: (c*40) title    = transition title in the archive file.
c  output: (c*1)  cameth   = the tag distinguishing the type of 
c                            analysis: a - Born, b- IP
c  output: (r*8)  z0       = nuclear charge
c  output: (r*8)  z        = ion charge
c  output: (r*8)  zeff     = ion charge +1
c  output: (i*4)  n1       = lower n-shell of transition
c  output: (i*4)  l1       = lower l-shell of transition
c  output: (r*8)  eb1      = binding energy (Ryd) in lower level
c  output: (i*4)  n2       = upper n-shell of transition
c  output: (i*4)  l2       = upper l-shell of transition
c  output: (r*8)  eb2      = binding energy (Ryd) in upper level
c  output: (i*4)  isp      = 2*Sp+1 for parent
c  output: (i*4)  lp       = Lp for parent
c  output: (r*8)  xjp      = Jp for parent (if 'ic' coupling)
c  output: (i*4)  ist1     = 2*S+1 for lower state
c  output: (i*4)  lt1      = L for lower state
c  output: (r*8)  xj1      = j for lower state
c  output: (r*8)  xjt1     = J for lower state
c  output: (i*4)  ist2     = 2*S'+1 for upper state
c  output: (i*4)  lt2      = L' for upper state
c  output: (r*8)  xj2      = j' for upper state
c  output: (r*8)  xjt2     = J' for upper state
c  output: (i*4)  neqv1    = no. of equiv. electrons for lower shell. 
c  output: (r*8)  fpc1     = fract. parentage for lower state
c  output: (i*4)  neqv2    = no. of equiv. electrons for upper shell. 
c  output: (r*8)  fpc2     = fract. parentage for upper state
c  output: (i*4)  aval     = A-value (sec-1) if dipole; else -ve
c  output: (i*4)  xmax     = range of numerical wave functions
c  output: (i*4)  iextwf   = 0 => calculate radial wave functions 
c                          = 1 => read in radial wave functions
c  output: (i*4)  ijucys   = -1 => Jucys potential form adopted
c                          = 0  => Slater potential form adopted
c  output: (i*4)  isrch    = 0 => fcf6 search for energy eigenvalue 
c                          = 1 => fcf6 search for scaling parameters
c  output: (i*4)  nshell   = number of screening shells
c  output: (i*4)  nlqs     = 1000*n+100*l+iq for each screening shell
c                              1st dim: screening shell index
c  output: (i*4)  alfaa    = scaling factor for each screening shell
c                              1st dim: index for lower & upper state                            
c                              2nd dim: index over screening shells
c  output: (i*4)  nx       = number of incident electron energies
c  output: (i*4)  xa()     = threshold parameter values 
c  output: (i*4)  nt       = number of electron temperatures
c  output: (i*4)  tea()    = electron temperatures (K)
c  output: (i*4)  cresol   = 'ic' => transition between J-levels
c                          = 'ls' => transition between terms
c 
c
c  routines: 
c          routine    source    brief description
c          -------------------------------------------------------------
c          i4unit     adas      fetch unit number for output of messages
c          xxword     adas      extract position of number in buffer
c          xxcase     adas      change string to all upper or lower case
c
c  author:  Hugh P. Summers, University of Strathclyde
c           JA7.08
c           Tel.: +44 (0)141-548-4196
c
c  date:    24 February 2003
c
c
c  version: 1.1   Hugh Summers  24/02/03
c  modified:      first release
c
c-----------------------------------------------------------------------
      CHARACTER           CAMETH
      CHARACTER*2         CRESOL
      CHARACTER*80        DSFULL
      CHARACTER*40        TITLE
      INTEGER             IEXTWF,      IJUCYS,      INDXREF,     ISDIM
      INTEGER             ISP,         ISRCH,       IST1,        IST2
      INTEGER             ITDIM,       IUNIT,       IXDIM,       L1
      INTEGER             L2,          LP,          LT1,         LT2
      INTEGER             N1,          N2,          NEQV1,       NEQV2
      INTEGER             NLQS(ISDIM), NSHELL,      NT,          NX
      REAL*8              ALFAA(2,ISDIM),           AVAL,        EB1
      REAL*8              EB2,         FPC1,        FPC2
      REAL*8              TEA(ITDIM),  XA(IXDIM),   XJ1,         XJ2
      REAL*8              XJP,         XJT1,        XJT2,        XMAX
      REAL*8              Z,           Z0,          ZEFF
© Copyright 1995-2018 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk