# ADAS Subroutine Library adas3xx

- Subroutine abi: Evaluate inner integrals for rate coefficients.
- Subroutine abinew: Evaluate inner integrals for rate coefficients.
- Subroutine bnqctb: Calculate theoretical charge exchange rate coefficients from neutral hydrogen.
- Subroutine bornp1: First stage of Born x-sect calculation with directional beams causing transitions between hydrogen Stark/Zeeman states.
- Subroutine bornp2: Second stage of Born x-sect calculation with directional beams causing transitions between hydrogen Stark/Zeeman states.
- Subroutine c1bsig: To extract valid cross-sections from input charge-exchange file for a given sub-block.
- Subroutine c1spln: 1) performs cubic spline on log(energy) versus log(x-section) input data, (`enera' versus `siga' , nener data pairs), for a given sub-block.
- Subroutine c2chkb: To check the selected block (ibsel) of data exists in the input data set and if so it represents the entered values of `iz0in' (nuclear charge of selected ionising ion element).
- Subroutine c2data: To fetch data from input ion/atom cross-section files of type adf02.
- Subroutine c2econ: To convert an array of collision energies into a specified form.
- Subroutine c2setp: Writes the value of nbsel out to IDL
- Subroutine c2spln: Performs cubic spline on log(energy <ev/amu> ) versus log(cx cross-section <cm2>). input data for a given donor/receiver combination data-block.
- Subroutine c2vrdc: To setup donor/recvr character strings for use with setting ispf variables when selected cross-sections are displayed.
- Subroutine c2wr11: To write data to thermal ion/atom rate coefficient passing file for given primary species.
- Subroutine c3alrs: Computes alphas and reduced speeds. returns an effective charge-exchange rate coefficient
- Subroutine c3corr: Apply a correction to reference rate coefficient to allow for variation of plasma parameters along one-dimensional scans
- Subroutine c3data: To fetch data from input qef data set.
- Subroutine c3datao: Read in values from an `ionatom' data set opened by c3file
- Subroutine c3file: To open an `ionatom' data set for atom `atname' currently available atoms are : h, he, li
- Subroutine c4data: To read data from an effective beam stopping data set. (ADAS format adf21).
- Subroutine c4mnmx: Given a 2d array `a' it returns the minimum and maximum of both `a(1,i)' and `a(na(i),i)'
- Subroutine c4spln: Calculates the beam stopping coefficient for each triplet of beam energy, ion density and ion temperature. It uses a one-way cubic spline for the temperature and a two-way cubic spline for the energy/density pair to determine the stopping coefficient from the input data set. if a value cannot be interpolated using slpines then it is extrapolated by `xxsple'.
- Subroutine c5dplr: Distribute Doppler broadened line emission into pixel range
- Subroutine c5pixv: Distribute Doppler broadened line emission into pixel range
- Subroutine c5rlsp: Evaluates relativistic+spin orbit matrix elements of the form <phi|h|phi_1> for hydrogen in the nlm_lm_s individual set basis.
- Subroutine c6ajtb: Calculates hydronic lj resolved a-values.
- Subroutine c6chrg: Sets up nuclear charge of donor and nulear, initial and final charges of receiver. Checks validity of receiver charges. also sets ground state n level and lowest n level for tabular outputs.
- Subroutine c6emis: Predicts the j-resolved emmisivity for requested transitions.
- Subroutine c6pmin: Calculates the solution of a tridiagonal partitioned matrix organised set of simultaneous equations.
- Subroutine c6prsl: Fills tables for requested predictions of spectrum lines.
- Subroutine c6qeik: Uses the Eikonial approximation to calculate the theoretical charge exchange rate coefficients to n shells and the nlj fractions from neutral hydrogen or helium in ground or excited state to a bare nucleus target.
- Subroutine c6qxch: Uses the input dataset to calculate the charge exchange rate coefficients for both n-levels and nlj-levels averaged over the beam fractions.
- Subroutine c6tbex: Sets up a table of electron impact excitation rate coefficients for a hydrogenic ion from the ground state to excited nl levels.
- Subroutine c6tbfm: Fills tables of magnetic field dependent mixing rate coefficients between nearly degenerate levels for hydrogen-like, lithium-like and sodium-like ions.
- Subroutine c6tbin: Sets up an electron impact ionisation rate coefficient table for n-levels based on the ecip approximation. Energy levels are assumed hydrogenic in the effective ion charge.
- Subroutine c6tbqm: Sets up tables of electron and positive ion collisional rate coefficients between nearly degenerate levels for h-, li-, and na-like ions.
- Subroutine c6tbrc: Sets up a table of radiative recombination rate coefficients for a bare nucleus, helium-like or neon-like ion to excited nlj levels.
- Subroutine c7cxee: Calculates the j-resolved effective emissivity rate coefficient for the given transition.
- Subroutine c7emis: Predicts the j-resolved emmisivity for requested transitions.
- Subroutine c8chrg: Sets up nuclear charge of donor and nulear, initial and final charges of receiver. Checks validity of receiver charges.
- Subroutine c8emis: Predicts the l-resolved emissivity for requested transitions.
- Subroutine c8prsl: Fills tables for requested predictions of spectrum lines.
- Subroutine c8tbqm: Sets up tables of electron and positive ion impact rate coefficients between nearly degenerate l states of the same n for hydrogenic ions.
- Subroutine c9cxee: Calculates the l-resolved effective emissivity rate coefficient for the given transition.
- Subroutine c9emis: Predicts the l-resolved emissivity for requested transitions.
- Subroutine c9ispf: Pipe comms with IDL for the processing options of 309.
- Subroutine cachkb: To check the selected block (ibsel) of data exists in the input data set and if so it represents the entered values of `iz0in' (nuclear charge of selected ionising ion element).
- Subroutine cafile: To open an ionization rate-coefft `ionelec' data set by default, or an alternative data set if required, for ionizing ion with nuclear charge `iz0' this will be connected to unit `iunit'.
- Subroutine capasf: Handles opening of output passing files.
- Subroutine casszd: To extract and interpolate zero-density ionization rate- coefficients for given element nuclear charge and data-block for an input set of electron temperatures (ev).
- Subroutine catmpf: To write temporary file containing parameters to be read by subroutine `v2bndln'.
- Subroutine cbpasf: Handles opening of output passing files.
- Subroutine ccaval: Evaluates hydrogenic tranisiton probabilities
- Subroutine ccdata: To fetch data from bundle-n population files of type adf26.
- Subroutine ccfill: To fill an integer array with its own index.
- Subroutine ccfind: To isolate data from adf26 dataset
- Subroutine ccintp: To interpolate between the effective stopping
- Subroutine ccnse4: Applies matrix condensation treatement to
- Subroutine ccnst7: Assembles arrays used to construct the collisional-radiative matrix.
- Subroutine ccout0: To write output to data format adf21/22 specifications.
- Subroutine ccsort: To sort an array so that xa is increasing order.
- Subroutine cdaval: Extracts a-value from an adf04 type file given
- Subroutine cddata: To fetch data from bundle-nl population
- Subroutine cdintp: Interpolate between the effective close coupling
- Subroutine cdsum: To fetch a summary of the data contained in the
- Subroutine ceecon: To convert an array of energies into a specified form.
- Subroutine ceevth: Obtains rate coefficients for donor/receiver charge exchange collisions for cases of monoenergetic donor/thermal receiver, thermal donor/monoenergetic receiver, thermal donor/thermal receiver (same temperature) from cross-section tabulations.
- Subroutine cefill: Fill high n zeroes in an adf01 if present.
- Subroutine ceparm: Converts alpha, pl2, pl3 and lform charge exchange parameter values at input energies to values at output energies
- Subroutine cesgcx: Interpolates cross-section data from an input vector of values using cubic splines.
- Subroutine cether: Obtains rate coefficients for donor/receiver charge exchange collisions for cases of monoenergetic donor/thermal receiver, thermal donor/monoenergetic receiver, thermal donor/thermal receiver (same temperature) from cross-section tabulations
- Subroutine cewr11: To output data to modified adf01 file.
- Subroutine cewr12: To output data to adf24 file.
- Subroutine cldlbn2: Establish the projected influence of high n-shells in the bundle-n collisional dielectronic model on a set of ls or lsj resolved low level population equations
- Subroutine cmprss: Read output from v2bnldn1 and produce tables of beam stopping rates as a function of plasma density and temperature and of beam energy (for use in ks4fit by qhioch)
- Subroutine colint: Unknown
- Subroutine cxbms: To assemble composite beam stopping of emission
- Subroutine cxchrg: Sets up nuclear charge of donor and nulear, initial and final charges of receiver.
- Subroutine cxcrdg: Calculates electron and +ve ion collisional rate coefficients between nearly degenerate levels for hydrogen-like, lithium-like and sodium-like ions.
- Subroutine cxcrip: Calculates electron and positive ion collision excitation and deexcitation rate coefficients for dipole transitions in the impact parameter approximation.
- Subroutine cxcrps: Calculates Pengelly & Seaton (1964) collision rates between nearly degenerate levels. A variation of impact parameter theory for dipole transitions is used.
- Subroutine cxdata: To fetch data from input data set of type adf01.
- Subroutine cxextr: Extrapolates n and l resolved cross-section below and above data in input dataset.
- Subroutine cxfrac: To convert l resolved partial cross-sections from absolute values to fractions of the n and l resolved data, respectively.
- Subroutine cxgfil: Fills ADAS306 and 308 graph arrays.
- Subroutine cxghnl: Calculates approximate excitation rate parameters from n,l levels of hydrogen-like and lithium-like ions to higher levels n1,l1 using classical overlaps.
- Subroutine cxhyde: Calculates lowest order non-relativistic, relativistic and quantumelectrodynamic energies for hydrogenic ions.
- Subroutine cxlthe: Provides binding energy of term centre for outer electron in lithium like ions.
- Subroutine cxmrdg: Calculates magnetic field dependent mixing rate coefficients between nearly degenerate levels for hydrogen-like, lithium-like and sodium-like ions.
- Subroutine cxphot: Calculates photo integrals using giih bound-free Gaunt-factors.
- Subroutine cxpint: Integrates power series of the form:
- Subroutine cxpmat: To interrogate and extract the projection matrices
- Subroutine cxpprd: Calculates product of two power series of the form:
- Subroutine cxqcx: Gathers data from adf01 charge exchange files and interpolates on the requested energy vector.
- Subroutine cxqeik: Uses the Eikonial approximation to calculate the theoretical charge exchange rate coefficients to n shells and the nl fractions from neutral hydrogen or helium in ground or excited state to a bare nucleus target.
- Subroutine cxqxch: Uses the input dataset to calculate the charge exchange rate coefficients for both n-levels and nl-levels averaged over the beam fractions.
- Subroutine cxqxl: Uses the input dataset to calculate the charge exchange rate coefficients for nl-levels averaged over the beam fractions. Rates are expressed as a fraction of corresponding n-level.
- Subroutine cxqxn: Uses the input dataset to calculate the charge exchange rate coefficients for n-levels averaged over the beam fractions.
- Subroutine cxsetp: Sets up parameters in the shared pool for panel display.
- Subroutine cxsgei: Uses the Eikonal approximation to calculate charge exchange cross-sections into n'l' resolved excited states of hydrogenic ions in capture from hydrogen nl states.
- Subroutine cxsode: Provides binding energy of term centre for outer electron in sodium like ions.
- Subroutine cxsqef: Subroutine to evaluate Maxwell averaged effective rate coefficients for charge exchange/Stark studies.
- Subroutine cxtbex: Sets up a table of electron impact excitation rate coefficients for a hydrogenic ion from the ground state to excited nl-levels.
- Subroutine cxtblf: Sets up a radiative lifetime table for nl levels of a hydrogenic ion.
- Subroutine cxther: Obtains rate coefficients for donor/receiver charge exchange collisions for cases of thermal donor and thermal receiver from cross-section tabulations. An array of values is produced.
- Subroutine diel: Unknown
- Subroutine diel_310: Unknown
- Subroutine drv: Calculates coefficients for spline approximation of tabulated function in 10 points together with subroutine drvspl.
- Subroutine eiqip: Unknown
- Subroutine find: Subroutine to find values from line and store only not repeated values
- Subroutine finish5: Assembles and solves the collisional radiative for the relative populations, bnl factors and the collisional-radiative ionisation and recombination coefficients.
- Subroutine finter: Unknown
- Subroutine fitsp: Unknown
- Subroutine fsplin: Calculates m values of function fspl(xnew) using spline approximation /home/allan/ADAS_dev/fortran/ADAS3xx/ADAS305/fsplin
- Subroutine gbb: To evaluate the bound bound Gaunt factor using the expression outlined by Burgess.a and Summers.h.p [1].
- Subroutine gbf: Calculate bound-free Gaunt factor as given by eqn. 34 in Burgess and Summers, MNRAS, vol 226, p257-272 (1987).
- Subroutine gentab: Send data to stream `10' for subsequent table production
- Subroutine ghnle: Evaluates approximate excitation rate parameters, gamma, from n,l (singlet or triplet) levels of helium-like ions to higher levels n1,l1 (singlet or triplet) using classical overlaps.
- Subroutine ghnlv: Evaluates approximate excitation rate parameters, gamma, from n,l levels of hydrogen-like and lithium-like ions to higher levels n1,l1 using classical overlaps.
- Subroutine gspc: Unknown
- Subroutine hydemi: Calculates the collisional mixing of excited levels of hydrogen atoms in the beam.
- Subroutine initpos: Unknown
- Subroutine lftime: Evaluates radiative lifetime of an nl level of a h-like ion.
- Subroutine lowpop: Calculate populations of low excited populations of ions
- Subroutine lumsis: Finds the solutions of a set of linear equations
- Subroutine matinl: Matrix inversion with accompanying solution of linear equations
- Subroutine nhydes: Calulates lowest order non-relativistic, relativistic and quantum-electrodynamic energies for hydrogenic ions
- Subroutine nlthes: Provides binding energy of term centre for outer electron in lithium like ions
- Subroutine nsuph1: Access specific higher quality data for hydrogen
- Subroutine nwripv: Calculates electron & positive ion coll. Excitation and deexcitation rate coefficients for dipole transitions in the impact parameter approximation
- Subroutine omgrc2: Given a set of values of collision strengths and incident electron energies(in threshold units), the routine evaluates the collisional excitation and deexcitation rate coefficients.
- Subroutine outtmp: Routine to write input to temporary file.
- Subroutine photo: Unknown
- Subroutine photo2: Evaluates photo ionisation, stimulated
- Subroutine pyip: Unknown
- Subroutine pypr: Calculates py factor (cf. Van Regemorter,1962) using Percival,richard and coworker cross-sections.
- Subroutine pyvr: Calculates van Regemorter's P factor for electron collisions with atoms and ions.
- Subroutine qh: Function to evaluate Maxwell averaged total s. The incident particle is a monoenergetic scaled data. all x-sects involve hydrogen as one of
- Subroutine qhe: To evaluate Maxwell averaged total ionisation, excitation the incident particle is a monoenergetic are allowed.
- Subroutine qlpr: Calculate Lodge-Percival-Richards ion impact excitation cross-sections in original form (j.phys.b. (1976)9,239).
- Subroutine qpr78: Calculates electron collision cross-sections for transitions between principal quantum shells in hydrogen and hydrogenic ions.
- Subroutine qvain: Calculates ion collision cross-sections for transitions between principal quantum shells in hydrogen and hydrogenic ions.
- Subroutine rd2bs: Generation of hydrogenic bound-bound radial integrals using recurrence relations.
- Subroutine rndegv: Calculates term averaged electron and +ve ion collisional rate parameters between nearly degenerate levels.
- Subroutine rpengv: Calculates Pengelly & Seaton (1964) collision rates between nearly degenerate levels.
- Subroutine rqinew: Evaluates ion impact ionisation rate coefficients following the expressions of Percival and Richards.
- Subroutine rqlnew: Evaluates ion impact rate coefficients of Lodge, Percival & Richards
- Subroutine rqvnew: Evaluates ion impact rate coefficients of vainshtein et al 1981
- Subroutine sfi2: This subroutine find the value ln(sigma(xnew)) /home/allan/ADAS_dev/fortran/ADAS3xx/ADAS305/sfi2
- Subroutine sigia: Interpolates cross-section data from an input vector of values using cubic splines.
- Subroutine sigma: Calculates <sigma*v> or sigma*v rates for collisional excitation by proton or electron impact
- Subroutine sigmel: Calculates rate coefficients for excitation by electron impact
- Subroutine sigmin: Calculates rate coefficients for excitation by ion impact /home/allan/ADAS_dev/fortran/ADAS3xx/ADAS305/sigmin
- Subroutine spij3: Unknown
- Subroutine stark: Code for modelling of emission from neutral hydrogen in beams.
- Subroutine start7: Calculation of the resolved-nl population structure.
- Subroutine supphe1: Access fundamental cross section data for the bundled nl calculation.
- Subroutine v2bnmod: This code performs the actual calculations for ADAS 310 it is in an incomplete version and these comments do not yet follow the standard ADAS pattern. Calculation of bn -1 case a,b
- Subroutine xip: Unknown
- Subroutine yip: Unknown
- Subroutine zero1: Unknown