N. R. Badnell A U T O S T R U C T U R E 04/04/11 ************************* (24.24) This write-up, codes and installation instructions are available via the WWW from http://amdpp.phys.strath.ac.uk/autos . 1. Introduction 2. Energy levels & Radiative rates 3. Autoionization and photoionization: 4. Dielectronic & Radiative recombination, resonant-excitation etc. 5. Direct Electron-Impact Excitation 6. External orbitals 7. Miscellaneous Examples (Followed by a separate section on "Post-Processing".) 1. Introduction *************** Historically, AUTOSTRUCTURE (AS) was developed from SUPERSTRUCTURE (SS). The theory behind SS is described by Eissner, Jones, & Nussbaumer in their Computer Physics Communications paper CPC8,270-306 (1974). Further significant development was undertaken by Storey. SS deals with bound state problems: energy levels and radiative rates (E_k & M_k). AS deals with collisions as well: autoionization rates, photoionization cross sections and electron-impact excitation, for example. Some original theory may be found in Badnell J.Phys.B19, 3827-35 (1986). For EIE, see Eissner CPC114, 295-341 (1998) and Badnell CPC 182, 1528-35 (2011). Here is a simple guide to get you going. It is not exhaustive. In general, if you want to do something not described here, and it is physically possible, then it is likely that it is already possible/coded but just not detailed here. All examples can be found in the test_suite directory, likely along with the output obtained running locally. 2. Energy levels & Radiative rates ********************************** All input described is free-formatted and NAMELISTed, EXCEPT for the first 4 characters of line 1 which flag the input style. Here, we focus on A.S. (There is also S.S. which enables configurations to be input fixed-format using the Eissner notation, no details.) So, A.S. Starts the file and the rest of the line is for comment. Next we have the "algebra" NAMELIST: e.g. &SALGEB MXCONF=3 MXVORB=3 &END is the minimal input where MXCONF is the number of target configurations and MXVORB is the number of distinct (valence) electron orbitals which describe them. For example, Be-like C2+ described by 1s^2 2s^2, 1s^2 2s 2p and 1s^2 2p^2 : 1 0 2 0 2 1 2 2 0 2 1 1 2 0 2 Recall, the input is free-formatted. The MXVORB nl-orbital quantum numbers are listed before the MXVORB occupation numbers for the MXCONF configurations. Finally, we have the "radial" NAMELIST SMINIM in which we define the nuclear charge NZION: &SMINIM NZION=6 &END for Carbon. In total, we now have: Example 1. ---------- A.S. Be-like C structure - energies &SALGEB MXCONF=3 MXVORB=3 &END 1 0 2 0 2 1 2 2 0 2 1 1 2 0 2 &SMINIM NZION=6 &END This is the minimal input and it will give term energies in LS-coupling: You should obtain (see INSTALL for compilation & execution details): I T K*CM 2S+1 L CF WEIGHTS (EI-E1)/RY E1/RY = -72.851752 1 5 0. 1 0 1 0.000 0.000000 2 3 53615. -3 1 2 0.000 0.488573 3 4 110474. -1 1 2 0.000 1.006710 4 2 138472. 3 1 3 0.000 1.261854 5 1 154159. 1 2 3 0.000 1.404803 6 6 191335. 1 0 3 0.000 1.743577 (This is just the end of the UNIT6 output file, default name "olg".) Further, more machine friendly, files are also created holding similar data, viz. TERMS and ols. Now, you want more? For example, what about intermediate coupling and radiative rates? CUP specifies the coupling scheme (default was 'LS') and RAD specifies the type of radiation (default was ' ', i.e. none). So, Example 2. ---------- A.S. Be-like C structure - energies + radiative rates &SALGEB CUP='IC' RAD='E1' MXCONF=3 MXVORB=3 &END 1 0 2 0 2 1 2 2 0 2 1 1 2 0 2 &SMINIM NZION=6 &END gives intermediate coupling and electric dipole radiative rates. Here is an excerpt from the end of the olg file: K LV T K*CM 2*S+1 L 2J CF (EK-E1)/RY E1/RY = -72.87735575 1 8 5 0. 1 0 0 1 0.00000000 2 10 3 53644. -3 1 0 2 0.48884302 3 5 3 53686. -3 1 2 2 0.48921840 4 3 3 53768. -3 1 4 2 0.48997080 5 6 4 110586. -1 1 2 2 1.00773259 6 7 2 138633. 3 1 0 3 1.26331372 7 4 2 138674. 3 1 2 3 1.26369176 8 2 2 138756. 3 1 4 3 1.26444164 9 1 1 154402. 1 2 4 3 1.40701910 10 9 6 191560. 1 0 0 3 1.74562283 . . E1-DATA K KP A(EK)*SEC S G*F ... 1 3 1 2.068E+02 0.000002 3.227E-07 ... 2 5 1 2.414E+09 2.643179 8.879E-01 3 6 3 1.669E+09 1.343586 3.467E-01 4 6 5 3.229E+02 0.000007 6.155E-07 5 7 2 -5.579E+08 -1.343584 -3.470E-01 6 7 3 -4.178E+08 -1.007687 -2.601E-01 7 7 4 6.943E+08 1.679481 4.331E-01 . . There is more data to the right of A(EK) the radiative rate, S the line strength and G*F the symmetric oscillator strength. Negative "rates" are just flagging the sign of the matrix element before it was squared. (Some applications require the (sign of) the matrix element itself.) To do some type of collision problem, e.g. photoionization, we would need to set the RUN variable (default ' ', structure). But, before we do that, here is a listing of the commonly used SALGEB NAMELIST variables and commonly used settings, which may or may not mean anything to you (yet). SALGEB: ------- RUN=' ', default. Allows calculation of energies (LS or IC), radiative rates (if RAD set) and autoionization rates (if continuum present - see optional input below). ='PI', will calculate (non-resonant) photoionization as well, if continuum present. ='DR','RR','PE','RE'. All expect one or more Rydberg orbitals to be defined (see below) and will read the optional namelist DRR to define the nl values of the Rydberg series to be run over. 'DR' calculates energies, radiative and autoionization rates. 'RR' calculates non-resonant "radiative recombination" (in the form of PI). 'PE' only differs from 'DR' in its use of default atomic structure - both default to the initial state, which is the final state of the other. In these cases, if no radiation is specified, E1 will be switched on. 'RE' differs from option 'DR' only via no radiation being a valid option. CUP='LS' for non-relativistic LS-coupling, default. ='LSM' or 'MVD' for LS-coupling including mass-velocity and Darwin operators. ='IC' for intermediate coupling (gives non-relativistic LS results as well). ='ICM' for intermediate coupling (with LS results as per 'LSM'/'MVD'). ='ICR' for IC using kappa-averaged relativistic wavefunctions i.e. mass-velocity and Darwin operators are included in the solution of the radial equations. (The LS results are equivalent to 'LSR'.) RAD=' ' or 'NO' for no radiative data, default (unless RUN='DR' etc). ='E1' or 'YES' for electric dipole radiation. ='E2' or 'M1' for electric quadrupole and magnetic dipole, plus above. ='E3' or 'M2' for electric octupole and magnetic quadrupole, plus above. = 'ALL' for all possible radiative data currently available, inc. M1+BP corrections. The maximum E_k and M_k k-pole radiation can be set separately and explicitly via KPOLE and KPOLM (default as determined via RAD.) BORN='INF' evaluates infinite energy limit Born collision strengths. ='YES' evaluates finite energy Born collision strengths (Type-1 adf04). ='NO' does not, default (unless RAD='ALL', then defaults to 'INF'.) It is not possible to switch-off E_k radiation if BORN='INF' or 'YES'. KORB1.AND.KORB2 .OR. KCOR1.AND.KCOR2 denote closed shells (use one or other) e.g. KCOR1=1 KCOR2=3 denotes a Ne-like core (assuming standard order). This also defines any core model potential generated for R-matrix, the effective charge is written in place of the duplicate radial mesh points. KUTSS controls valence-valence two-body fine-structure interactions. =-1 None, default. =-9 All. |KUTSS| .gt. 1 includes the interactions for the first |KUTSS| configurations, KUTSS positive neglects the interaction between distinct configurations. KUTSO controls the evaluation of the generalized spin-orbit parameter. = 0 All. < 0 includes interactions between the first -KUTSO configurations and within a configuration for the remainder, default=-1. > 0 includes interactions within a configuration for the first KUTSO configurations and neglects all for the remainder. KUTOO controls the evaluation of the two-body non-fine-structure interactions viz. contact spin-spin, two-body Darwin and orbit-orbit (NOT available for non-relativistic LS). = 0 or -1 neglected, default. else all included (excepting 88(O-O),99(CSSD) & 98 reserved). BASIS =' ' uses a unique orbital basis. Each configuration uses the same orbitals. Default. ='RLX' uses a relaxed orbital basis. Each configuration uses its own set of orbitals and overlaps are neglected. NAST/J, number of distinct SLp/Jp terms/levels (listed following if .gt. 0 as 2S+1 L p/ 2J p) generated from the configuration list. LS can be used with care in IC. If .eq. 0 all possible terms/levels are generated, default. KCUT = 0 all configurations are treated as spectroscopic, default. > 0 configuration numbers greater than KCUT are treated as "correlation" and terms are only generated from them if they also exist in the spectroscopic list. Correlation terms are ignored when forming the energy functional during optimization and no transition probabilities (autoionization or radiative) are calculated for them. MSTART controls the restart facility that is useful for large isoelectronic runs where it is desirable to calculate the angular algebra once only. = 0 does nothing, default. = 1 writes the angular algebra to file RESTART. = 5 reads the angular from file RESTART. (= 2,3,4 continue an angular algebra calculation that did not complete.) MXVORB is the number of distinct valence orbitals required to describe the configurations. > 0 their nl definitions are read next. < 0 standard order is assumed for -MXVORB orbitals. No default, 0 not allowed. MXCONF is the number of (base) configurations. Occupation nos are specified for the |MXVORB| orbitals, after any nl definition. No default, must be >0. Optionally, promotion rules can be applied to base configurations to easily obtain a large configuration interaction basis (CI): ICFG = 0 (default) just applies above MXVORB, MXCONF. = 1 Reads RMX STG2 style global (MNAL, MXAL) min and max occupations nos, before config occupation nos, for |MXVORB| orbitals, and NXCITE promotions at the end of the config line. = 2 Reads MNAL,MXAL before each base config. =-1 Read (possibly modified) CONFIG.DAT produced by ICFG>0 run. (ICFG .ne. 0 redefines MXCONF internally!) NXTRA, LXTRA, IFILL (for ICFG.ne.0) extends the nl definition to n=NXTRA, l=LXTRA in standard order AND assumes MNAL(I,M)=0, MXAL(I,M)=IFILL, for orbitals I > |MXVORB|, and base config. M occupation 0; i.e. only READ such info for I <= |MXVORB| now. Then, MXVORB is redefined internally! The above approach can be extended to describe a collision problem just by specifying target configs and a RUN switch (and, maybe, some N+1 bound configs). If RUN.ne.' ' and no continuum orbitals are specified on the (optional) orbital redefinition line then it is assumed that the MXCONF N-electron target configs have been specified (as above) and N+1 electron target+continuum configs are internally generated by adding LCON continuum orbitals to each target config. Depending on RUN, a Rydberg orbital is also added. Any KCUT input is relative to the MXCONF N-electron configs, it is adjusted internally to match the resultant N+1 electron target+continuum configs (which are ordered for KCUT). If explicit bound orbital N+1 electron configs are needed (e.g. DR) then MXCCF > 0 reads bound N+1 configs in same fashion as N-electron configs, and after them. < 0 determines all possible based on adding a base orbital to all N-electron configs. = 0 (default) no explicit bound N+1 electron configs. Note: N+1 ICFG is determined from ICFG/10 (N-electron ICFG is actually MOD(ICFG,10).) Ditto IFILL. KCUTCC is the equivalent of KCUT, but for the MXCCF N+1 configs and is specified relative to MXCCF, i.e. it is independent of the MXCONF N-electron configs. Note: configs with both a Rydberg and continuum (which result from a core re-arrangement autoionization) can also be handled, and KCUTI - see Example 8. below. Supplementary data: A number of the SALGEB variables flag the reading of data following the namelist. The read order is indicated by the namelist variable that initiates the read rather than the local variable in which the data is stored, which is of no interest to the user. (MCFSS - flag CFs for 2-fs additional to KUTSS) MXVORB MXCONF MXCCF NAST NASTJ ***************************************** Let's look next at the SMINIM NAMELIST. The radial equations use a "model" potential to describe the affect of the atomic electrons upon each other. The default is the Thoma-Fermi-Dirac-Amaldi (see the SS CPC paper for details). To provide "optimization", NLAM adjustable scaling parameters (lambdas) are introduced on the potential's radial coordinate - one for each nl-orbital. A weighted-sum of INCLUD eigenenergies is minimized to determine the optimum structure by varying NVAR of the scaling parameters. For example: we include all 6 terms in the sum to be minimized. We read-in NLAM=3 initial scaling parameters of value 1.0 and we vary two of them corresponding to the 2s and 2p (orbitals 2 and 3): Example 3. ---------- A.S. Be-like C structure &SALGEB CUP='LS' MXVORB=3 MXCONF=3 &END 1 0 2 0 2 1 2 2 0 2 1 1 2 0 2 &SMINIM NZION=6 INCLUD=6 NLAM=3 NVAR=2 &END 1.0 1.0 1.0 2 3 To obtain (in the olg file) MINIMIZATION RESULT OF VARIATIONAL PARAMETERS: 1.23224 1.16141 and new energies I T K*CM 2S+1 L CF WEIGHTS (EI-E1)/RY E1/RY = -72.892998 1 5 0. 1 0 1 1.000 0.000000 2 3 53749. -3 1 2 1.000 0.489799 3 4 112734. -1 1 2 1.000 1.027305 4 2 139697. 3 1 3 1.000 1.273012 5 1 156276. 1 2 3 1.000 1.424089 6 6 195549. 1 0 3 1.000 1.781974 which may, or may not, be an improvement on those obtained previously. Note, the non-zero WEIGHTS show which terms were INCLUDed in the energy sum, and their weighting. Again, here is a listing of the commonly used SMINIM NAMELIST variables and commonly used settings, which may or may not mean anything to you (yet). SMINIM: ------- NZION = Nuclear charge (no default). > 0 radial functions are calculated in an nl-dependent TFDA potential. The orbitals are Schmidt orthogonalized, by default. < 0 radial functions are calculated in an nl-dependent Hartree potential evaluated with Slater-Type-Orbitals. The orbitals are NOT Schmidt orthogonalized, by default. INCLUD = 0 no variational procedure, default. > 0 include lowest INCLUD terms (LS), weighted over fine-structure (IC), in energy-sum to be minimized. < 0 include -INCLUD terms (weighted over f.s.) in energy sum, the T-index labels and weighting factors follow next (before lambdas, see below). Note: the T-index is required, not the I-index. This is output in olg on the term (f.s. weighted) energy list from a trial run. See Note 2 on ISHFTLS/IC (below) regarding minimizing the difference with observed energies. NLAM is the number of (lambda) scaling parameters. Both TFDA and STO Hartree potentials contain a radial scaling parameter. = 0 all lambda's equal unity. If NLAM is less than the number of orbitals then the last scaling parameter read will be used for the remaining orbitals. NVAR is the number of variational parameters. Note 1: If BASIS='RLX' in SALGEB, then NLAM/NVAR refer to the number of sets of parameters to be read, which are preceded by the configuration number and the number of parameters in the set. Values for (common) closed-shell orbitals are denoted by a configuration of zero. The scaling parameter for a continuum orbital (see below) follows that of the last (global occupied) bound orbital. Note 2: The scaling/variational parameters are normally positive numbers around 1. This gives a "physical" orbital. Pseudo-orbitals are generated with negative lambdas. The default is a screened hydrogenic potential of charge |lambda*NZION|. However, if..... ORTHOG='YES' impose Schmidt orthogonalization, overriding NZION default. 'NO' do not impose Schmidt orthogonalization, overriding NZION default. 'LPS' then orthogonal Laguerre pseudo-states are generated for that nl. The -lambda is then the scaling parameter associated with the Laguerre orbital, with the Z dependence factored out so that lambda=-1 is usual. (Negative lambda without 'LPS' uses screened hydrogenic z=|NZION*lambda|.) MCFMX: Case of STO Hartree/X potentials. MCFMX configuration numbers are read, usually one for every orbital. The Hartree potential, for each orbital, uses the occupation numbers from the specified configuration. If the number of orbitals is .gt. MCFMX the last configuration is used for the remaining orbitals. The orbital must exist in the flagged configuration. MEXPOT = 0 (default) the STO potential is Hartree. = 1 a local exchange term is added to the Hartree potential. PRINT='FORM' (default) usual detailed formatted output for a structure run. Energy/Rate files for DR/RE run are formatted. ='UNFORM' limited writes to UNIT6 and Energy/Rate files for DR/RE are unformatted. RADOUT='YES' produces a radial file (radout) suitable for LS/BP R-matrix stg1r. ='NO' doesn't (default). MAXE is the maximum scattering energy in Rydbergs. Useful for non-resonant processes to ensure an optimal radial mesh is set-up, not too fine (slow) and not too coarse (inaccurate, or later failure). ISHFTLS (ISHFTIC) = 0, no shifts (default). = 1 Read term (level) numbers and energy corrections from file SHFTLS (SHFTIC) preceded by the number of state/energy pairs to be read and the energy units used (as IP of H). Can be used together in an IC run, then LS energy shifts are applied as term energy corrections to H(IC) and the IC shifts as a (further) correction to the diagonal of H(IC), before diagonalization. If applying both to H(IC) then they are best determined consistently through iteration, see next option. The term(level) numbers are the algebraic T (LV) numbers, not the energy ordered. > 1 then assumes observed energies, relative to the ground (averaged-over fine-structure for terms) NOT corrections, are input and then ISHFTLS OR ISHFTIC iterations of H(IC) are carried-out. ISHFTLS iterations are applied as term energy corrections (TEC) to H(IC). The FINAL TECs can then be input in SHFTLS with ISHFTLS=1 and THEN (optionally) ISHFTIC iterations can be applied as level energy corrections (LEC) to the diagonal of H(IC) before diagonalization. The FINAL LECs can then be input in SHFTIC with ISHFTIC=1 to regenerate the final structure without iteration. < 0 no iterations (as .eq. 1) but assumes input observed energies (as .gt. 1). Note, the IC shifts are applied AFTER diagonalization now (as they must be), and so they can be used to achieve exact level positioning. Note 1: the LS term energies are shifted by whatever term energy corrections are present, which may not be optimal for LS of course if IC is the focus. Note 2: if INCLUD.ne.0 then the usual variation of scaling parameters operates but the functional being minimized is the difference between theory and observed. This requires the absolute theoretical ground state energy, in addition to the observed energies relative to the ground. The actual (non-zero) value of ISHFTLS/IC is irrelevant now (no iteration is carried-out if .gt. 1 and corrections are not assumed even for .eq. 1). If kappa-averaged relativistic radial functions are in use (CUP='ICR') then there are a number of options which apply solely to this case: IREL = 1 neglects small component, and renormalizes large component to unity (default). = 2 includes small component estimate. INUKE=-1 Point nucleus. = 0 Uniformly charged finite nucleus (with default atomic mass ATM=2.5*Z). = 1 Approximation to Fermi distribution viz. U_6 charge distribution of Bogdanovich & Rancova Lithuanian J. Phys. v42, 257 (2002). Default. IBREIT= 0 "usual" Breit interaction (long wavelength approx), default. = 1 (Real) Generalized Breit interaction (non-zero exchange photon energy). QED = 0 No QED corrections, default. = 1 Include vacuum polarization and self-energy contributions to level energies. =-1 Include on term energies, as well. IRTARD = 0 Full retardation off in multipole radiation, default. = 1 Full retardation on. Needed for high-energy photoionization, then requires small component on (IREL=2). An alternative approach to minimizing an energy functional is a self-consistent solution using a model configuration average potential. PPOT = 'SCCA' full self-consistent configuration average potential. = 'SCLX' self-consistent but uses Furness & McCarthy static-plus-Local eXchange. The occupation numbers used in generating the average potentials are controlled by MCFMX >=0 as defined for non-self-consistent STO model potential (default=0). < 0 averages over the first -MCFMX configurations. NOCC > 0 user-defined valence orbital occupation numbers are read, after any MCFMX>0 specification. (This is a unique set.) = 0 default. Configuration average energy corrections can be flagged via ICAV (most suited to SCCA). For all ICAV.ne.0, a single configuration self-consistent configuration average energy calculation is first carried-out for each configuration, using its occupation numbers, and then a unique orbital basis calculation. The difference in configuration average energies is applied to the diagonal of the Hamiltonian. ICAV > 0 sets likely defaults: PPOT='SCCA', MCFMX=-KCUT etc. The user can override. < 0 the user sets the final unique orbital basis determination method. This is a simpler, less demanding, approach than the full relaxed orbital basis one. Supplementary data: A number of the SMINIM variables flag the reading of data following the namelist. Historically (prior to namelisting) the order of the variables on the card input line gave the the implicit order for subsequent reads. While this ordering has been preserved in the examples above, namelist ordering is arbitrary and so we list below the order of reading of multiple lines of data. The order is indicated by the namelist variable that initiates the read rather than the local variable in which the data is stored, which is of no interest to the user. (The bracketed variables listed below have not been discussed above, only the most common.) INCLUD NLAM NVAR (NFIX - tie scaling parameters for 2 or more orbitals during minimization) (MGRP - change default initial estimate of orbital epsilons) MCFMX NOCC (IFIX - for fixing orbitals during SCCA operation) (NDEN - number of plasma densities) THIS ENDS THE MINIMUM INPUT. ---------------------------- **************************************************************************** ---------------------------------------------------------------------------- OPTIONAL INPUT -------------- 3. Autoionization and photoionization: ************************************** Let's introduce a continuum electron, which may be produced following autoionization or photoionization. We now have two sets of configurations: firstly, N-electron target configurations to which a continuum electron is coupled; secondly, (N+1)-electron bound orbital configurations (often confusingly called correlation configurations) whose energy levels may either be true bound or lie above the ionization limit (i.e. autoionizing). For example, consider the KLL Li-like resonances autoionizing to the He-like ground state. We have MXCONF=1 (electron) target configurations, viz. 1s^2, and (here) MXCCF=3 (N+1)-electron autoionizing configurations, viz. 1s 2s^2, 1s 2s 2p, 1s 2p^2. A typical dataset would then be of the form (the blank line separating the MXCONF and MXCCF configuration occupation numbers is optional, just to guide the eye): Example 4. ---------- A.S. KLL Li-like -> He-like + e- &SALGEB CUP='LS' RAD=' ' MXVORB=3 MXCONF=1 MXCCF=3 &END 1 0 2 0 2 1 2 0 0 1 2 0 1 1 1 1 0 2 &SMINIM NZION=26 &END &SRADCON MENG=4 &END 300 320 340 360 The non zero-value for MXCCF is enough for the code to recognize that the MXCONF target configurations need to be coupled to a continuum electron. (Internally, continuum orbitals are flagged by n=90-99, usually 90.) It then requires the namelist SRADCON to be present where the user tells the code which MENG continuum energies to use for interpolation purposes. Autoionization rates are written on-the-fly interspersed with the H diagonalization output in olg (continuum configurations are flagged negative): T,2S+1L (P) H(ZZ)/2RY EIGEN-H/2RY CF NI NO MATRIX AND H(Z)/2RY-TRIANGLE. NA W T TP AA*SEC ECONT(A.U) E-I(A.U) 1 2 2 0 -505.76600 -489.838238 -3 1 1 1.0000 0.0000 15.9278 2 2 2 0 -506.21711 -490.237970 6 1 2 0.0000 1.0000 -0.0304 15.9791 10 1 2 -1.533E+14 169.6003 -659.8382 1 3 4 1 0 -506.21711 -491.139116 6 2 1 1.0000 15.0780 4 4 1 1 -506.31938 -492.862636 5 1 1 1.0000 13.4567 5 2 1 0 -506.21711 -489.969377 6 3 1 1.0000 16.2477 6 2 1 1 -505.76600 -489.838238 -2 1 1 1.0000 0.0000 0.0000 15.9278 7 2 1 1 -506.31938 -490.904473 5 2 2 0.0000 0.7467 -0.6651 -0.0145 15.1472 8 2 1 1 -506.31938 -491.509723 5 3 3 0.0000 0.6651 0.7467 0.0205 -0.3006 15.0774 6 6 7 -9.919E+13 168.9338 -659.8382 6 6 8 5.404E+12 168.3285 -659.8382 2 9 2 0 0 -505.76600 -489.838238 -1 1 1 1.0000 0.0000 0.0000 15.9278 10 2 0 0 -506.42165 -493.271597 4 1 2 0.0000 0.9480 -0.3184 -0.0235 13.5788 11 2 0 0 -506.21711 -489.042327 6 4 3 0.0000 0.3184 0.9480 0.0195 1.2766 16.7460 2 9 10 -1.359E+14 166.5666 -659.8382 2 9 11 1.968E+13 170.7959 -659.8382 2 Negative rates again just flag the sign of the matrix element before it was squared. The ols file now contains the autoionization rates, in a form useful for further processing. Further details on the NAMELIST SRADCON entries: SRADCON: -------- MENG is the number of interpolation energies (in Rydbergs). MENG energies follow and the continuum orbitals are calculated at those energies. If .lt. 0, only the range need be specified and the -MENG interpolation energies will be chosen internally. EMIN, EMAX specify the energy range (in Rydbergs). When in doubt, set EMIN to zero and EMAX to the maximum core excitation energy, e.g., that of 1s^2 to 1s2p in Example 4. If none of the above are set then the code *attempts* to determine suitable energies internally. For autoionization, the code looks for a TERMS/LEVELS file from a previous structure run. This should include the core de-/excitations for the autoionizing transitions under study. (For the He-like + e- example above, 1s2s and/or 1s2p should be added to 1s^2 target to produce a usable TERMS/LEVELS file.) For photoionization, it chooses a wide logarithmic energy range suitable for forming recombination coefficients. Indeed, the user should "choose" this option for rate coefficient determination. For photoionization cross sections as the end requirement, such a range is likely to be to wide and too coarsely tabulated. In this instance, MENG,EMIN,EMAX should be set to give the required energy range and density of energy points. ECORLS/ECORIC is an optional correction energy (Ryd) added to all target continuum. If negative, this lowers all target states relative to the autoionizing states. This ensures that autoionization data exists for low-lying autoionizing states. It may be discarded later, in a post-processor, by further application of observed energies. Default=0. Here is an example of outer-shell photoionization: 1s^2 2s and 1s^2 2p to 1s^2 Example 5. ---------- A.S. PI of Li-like -> He-like + e- &SALGEB RUN='PI' CUP='LS' RAD=' ' MXVORB=3 MXCONF=1 MXCCF=2 &END 1 0 2 0 2 1 2 0 0 2 1 0 2 0 1 &SMINIM NZION=26 &END &SRADCON MENG=-15 EMIN=0. EMAX=1500. &END Note that it is necessary to set RUN now. While autoionization rates are automatically computed by default, photoionization must be requested. You will also see from your output that E1 radiation has been switched-on. RAD='E1' alone would just have given bound radiative rates without RUN='PI' as well. E1-DATA I IP A(EK)*SEC ... 1 2 1 1.658E+09 ... 2 -3 2 -2.337E-20 3 -4 1 -2.469E-20 4 -5 2 8.207E-22 Detailed PI cross sections now appear in the opls file. (Only a single energy PI cross section is written in place of a radiative rate in the olg file, and is flagged by a negative term index I.) NV= 2 LV= -1 K 15 E(RYD) Z=26 N= 3 LS-Coupling EIONMIN= 0.000000 0.00000E+00 6.86104E-01 1.84295E+00 3.79350E+00 7.08234E+00 1.26277E+01 2.19777E+01 3.77427E+01 6.43243E+01 1.09144E+02 1.84713E+02 3.12132E+02 5.26973E+02 8.89218E+02 1.50000E+03 I-S C-S PHOTO-IONIZATION DATA Z=26 N= 3 CF T W CF T EO P/CM2 E-I(RYD) E-C(RYD) 5 3 6 -3 1 1 -2.33701E-20 -1465.056299 -1319.676409 -2.33701E-20 -2.30374E-20 -2.24901E-20 -2.16049E-20 -2.02115E-20 -1.81142E-20 -1.51728E-20 -1.14709E-20 -7.49090E-21 -4.03266E-21 -1.72397E-21 -5.76008E-22 -1.51826E-22 -3.24475E-23 -5.81412E-24 4 5 2 -2 2 1 -2.46915E-20 -1468.495610 -1319.676409 -2.46915E-20 -2.44624E-20 -2.40828E-20 -2.34612E-20 -2.24629E-20 -2.09097E-20 -1.86130E-20 -1.54720E-20 -1.16447E-20 -7.66581E-21 -4.28161E-21 -1.99417E-21 -7.74833E-22 -2.54968E-22 -7.26467E-23 5 3 6 -1 4 1 8.20745E-22 -1465.056299 -1319.676409 8.20745E-22 8.11736E-22 7.96843E-22 7.72547E-22 7.33773E-22 6.74070E-22 5.87243E-22 4.71603E-22 3.36321E-22 2.04000E-22 1.01004E-22 3.96388E-23 1.22026E-23 2.97772E-24 5.92108E-25 Negative cross sections again just flag the sign of the matrix element before it was squared. 4. Dielectronic & Radiative recombination, resonant-excitation etc. ******************************************************************* In principle, we have already discussed how to calculate atomic data for these processes viz. autoionization and radiative rates, as well as photoionization cross sections. However, what characterizes DR, RR & RE etc is that a large number of Rydberg states can contribute and to run each configuration manually is impractical. If the user sets RUN='DR', 'RR', 'RE' or 'PE' ('PE' flags photo-excitation autoionization, i.e. inverse DR, and like 'RE' it is mainly a convenience to the user to use these alternative flags) then the NAMELIST DRR is read to define the Rydberg nl-values that AS will loop-over. (Internally, Rydberg orbitals are flagged by n=80-89, usually 80.) For example, DR of Li-like Carbon: Example 6. ---------- A.S. DR of Li-like Carbon &SALGEB RUN='DR' CUP='LS' MXVORB=2 MXCONF=2 MXCCF=3 KCOR1=1 KCOR2=1 &END 2 0 2 1 1 0 0 1 2 0 1 1 0 2 &DRR NMIN=3 NMAX=15 JND=14 LMIN=0 LMAX=7 &END 16 20 25 35 45 55 70 100 140 200 300 450 700 999 &SMINIM NZION=6 PRINT='FORM' &END &SRADCON MENG=-15 EMIN=0 EMAX=2 &END Note, we have taken the opportunity to remove explicit specification of the closed-shell 1s^2 core via use of KCOR1, KCOR2 instead, and we will omit mention of it now. So, we have target 2s and 2p configurations. In addition to coupling on a continuum electron, the RUN='DR' flag ensures a Rydberg electron is also coupled to the same target configurations. The nl-values of this Rydberg electron are specified in the DRR NAMELIST viz. NMIN, NMAX, LMIN,LMAX. We also read-in (free-format, subsequently) JND additional n-values so as to span high Rydberg states efficiently. We also have MXCCF Be-like correlation configurations 2s^2, 2s 2p and 2p^2 which allow for outer-electron radiation in the DR process. Outer-electron radiation to higher excited states outside of the core is usually post-processed in (hydrogenically). SRADCON specifies the continuum interpolation energies again. The full DRR specification is: DRR --- NMIN, NMAX: Loop the valence orbital over n=NMIN to NMAX incrementing n by 1. JND = 0, default. JND .gt. 0, then JND additional n-values are read following the namelist. AS inserts an additional n-value between each input value to aid interpolation and numerical integration over n in user-supplied post-processing routines. NRAD =1000, default. In DR runs the radiation from high-n is negligible and the effect of the Rydberg orbital on the core is small. So, for n.gt.NRAD no new radiative rates are calculated. The default value is to always to compute radiative data. LMIN, LMAX: Loop the valence orbital over l=LMIN to LMAX incrementing l by 1. LCON is the number of l-values for the continuum orbitals. Let lc denoted the continuum angular momenta and lv the Rydberg angular momentum. Then the internal assignment is lc=lv-(LCON-1)/2, lv-(LCON-1)/2 +1, ...... , lv+LCON/2. Generally, LCON should be set to 2*LAMAX+1, where LAMAX is the largest target multipole transition required. Thus, LCON=3 for dipole, and =5 for quadrupole core transitions as well. (This is *not* the full range allowed-for by angular momentum coupling rules, but it is usually more than sufficient.) Default: is 2* max_target orbital l, plus 1. The corresponding RR example is similar, but simpler: Example 7. ---------- A.S. RR of Li-like Carbon &SALGEB RUN='RR' CUP='LS' MXVORB=2 MXCONF=2 KCOR1=1 KCOR2=1 &END 2 0 2 1 1 0 0 1 &DRR NMIN=3 NMAX=15 JND=14 LMIN=0 LMAX=3 &END 16 20 25 35 45 55 70 100 140 200 300 450 700 999 &SMINIM NZION=6 PRINT='UNFORM' MAXE=40 &END &SRADCON EMAX=40 &END The RUN='RR' flag switches-on photoionization (which is converted to recombination via detailed balance during post-processing). No (N+1)-bound configurations are required since we are dealing with a one-body operator. The l-range is reduced since it is more efficient to post-process high-l (very high for low temperatures) hydrogenically. Unlike 'DR', we do not have to specify any energy details if the goal is a recombination rate coefficient, then it is best to let the code choose them. Here, we have artificially restricted the upper range via EMAX otherwise we may need a larger radial dimension, set by MAXB1. Also, because the scattering energies can be large for non-resonant processes, it can be necessary to specify the maximum scattering energy MAXE in SMINIM also, where the radial array is set-up. Here, it is being used to stop the mesh being set too fine! Note the use of the PRINT='UNFORM' option so as to output unformatted files olsu and oplsu, both for speed and accuracy, but not user friendly. The final example in this section is that of inner-shell dielectronic recombination. We now have to handle the situation of core-rearrangement autoionization which leaves a Rydberg orbital in the N-electron target configurations. Thus, we must specify it in the MXVORB orbital list which defines the target configurations. Here, we recall that such an orbital is flagged internally by having n=80 (its l-value is irrelevant). So, consider: Example 8. ---------- A.S. Inner-shell DR of Li-like C. &SALGEB RUN='DR' CUP='LS' MXVORB=4 MXCONF=6 MXCCF=3 &END 1 0 2 0 2 1 80 1 2 1 0 0 2 0 1 0 1 2 0 0 1 1 1 0 1 0 2 0 2 0 0 1 2 2 0 0 2 1 1 0 2 0 2 0 &DRR NMIN=3 NMAX=10 LMIN=0 LMAX=5 &END &SMINIM NZION=6 &END &SRADCON MENG=-15 EMIN=0 EMAX=25 &END Here, our 6th target configuration contains the Rydberg orbital. There can be as many such configurations as we like, but they *must* all be listed after all of the regular target configurations. (Again, the blank line is irrelevant and is to guide the eye only.) The regular subset of target configurations are treated as in the outer-shell case: (N+1)-electron configurations are formed by coupling on a Rydberg electron as well as angular momentum changing continuum orbitals. The new subset which already contains a Rydberg orbital just gives rise to (N+1)-electron configurations with fixed angular momentum continuum orbitals, since this autoionization is independent of the l-varying Rydberg orbital. Internally, the fixed angular momentum continuum are flagged by n=99, adjustable by n=90-98. 5. Direct Electron-Impact Excitation ************************************ The write-up of the UCL-DW code contains related background material - see Eissner CPC114, 295-341 (1998) - as well as the present paper CPC182, 1528-35 (2011). RUN='DE' Direct electron-impact Excitation, colloquially "DW" but DR, RR etc are also DW, of course, hence the more precise 'DE'. Collision strengths (between terms) can be calculated in LS-coupling and level-resolved in Breit-Pauli intermediate-coupling. The coupling-dependent input (via SALGEB) is described next, followed by the common input for scattered energies (via SRADCON). In particular, collision strengths are calculated at the same set of *final scattered* energies for ALL transitions, e.g. zero gives all threshold collision strengths. Slater integrals etc. are interpolated at the appropriate initial scattering energy. Only RUN='DE' is "compulsory", a complete type-5 adf04 collision strength file will be generated, without any additional user input, using "production run" defaults: but *not* BP corrections to M1, or M_k>1 - set RAD='ALL' or 'M2' to get them as well. (The reason for this is that both get time consuming for complex atoms.) The type-5 adf04 file can be converted to the more familiar type-3 adf04 upsilon file using the utility program (standalone ADAS809): http://amdpp.phys.strath.ac.uk/autos/ver/misc/adf04_om2ups.f Note, it may be desirable, especially in the early days, to perform consistency checks using the input variables detailed next. NAMELIST SALGEB --------------- CUP='LS', and its variants, generate collision data in LS-coupling (default). ='IC', and its variants, generate collision data in Breit-Pauli intermediate-coupling. The collision algebra ranges over L/2J etc. given by MINLT, MAXLT = min and max total L (both parities) for MINST, MAXST = min and max total 2S+1 MINJT, MAXJT = min and max 2J (both parities). It is not necessary to set MIN/MAXST (default, all). It is not necessary, but possibly desirable, to set MIN/MAXLT/JT (default 0-30/60). If MIN/MAXJT is set then it is not necessary, or desirable, to set MIN/MAXLT. (If you accidentally restrict SLp so that a symmetry required by your requested Jp is missing then the code will flag this and, currently, aborts. If you set MIN/MAXJT while CUP='LS' then they are ignored.) Exchange is neglected for L (there is no separate J-value) greater than (you should not need to change it) MAXLX= max total L for which exchange is included. Default is twice the max exchange multipole included, where MXLAMX= max exchange multipole. Default is twice the max target orbital ang. mom. plus 3. Thereafter, the problem is solved for a single target spin-system, as per NX R-matrix, and the total spin is flagged in the same fashion. This works for both LS and BP operation. (In some cases MAXLX may be slightly larger as there is also the requirement that the full channel expansion be "open".) Top-up is automatically included at LRGLAM=MAXLT/JT (but can be reduced/switched-off by the user for testing.) In addition, collisional two-body non-fine-structure is controlled by KUTOOX= 1 includes orbit-orbit etc. in the same fashion as the target KUTOO. =-1 off (default). KUTOOX is independent of KUTOO, but some off/on combinations are more meaningful than others. In addition, collisional two-body fine-structure (2fs) is controlled by KUTSSX=-1 off (default) =-9 all possible = 1 first target config only. = etc. all values have the same interpretation as the target KUTSS. KUTSSX is independent of KUTSS, but some off/on combinations are more meaningful than others. Since 2fs is likely only to be important for weak transitions, and it is time consuming, generating it over the full J-range is not desirable and so MAXJFS=the max 2J for which two-body fine-structure is included. *** It also requires KUTSSX to be switched "on" explicitly by the user. *** (The min value is just MINJT.) It is not necessary, but possibly desirable, to set MAXJFS. If KUTSSX is "on" then, if not set, MAXJFS defaults to the max allowed by MAXLX. Excitations can be restricted by NMETA/J= the number of ground plus metastable TERMS/LEVELS for which excitation algebra/data is computed between themselves and to ALL excited states, i.e., transitions between excited states are omitted. The NMETA/J terms/levels are the energetically lowest ones. LS *Default* (NMETA=1) the ground term only. IC *Default* (NMETAJ=0) levels of the ground term. These defaults are for complex atoms, where there may be hundreds of terms/levels in the ground configuration. If 2fs are present then the default (NMETAJ.ge.0) is to neglect interactions between excited levels that at most spin-orbit mix with the metastable levels. User input NMETAJ.lt.0 includes all allowed by angular momentum selection, and resets NMETAJ=-NMETAJ. For large-scale problems, the time scales as M*N^2 where M is the number of metastable terms/levels and N the total number of such. Thus, for M<m to be processed, where n and m are the initial and final principal quantum numbers. The l-values need not and must not be specified i.e. 'n-m' is 3 characters. The default is ' ', no restriction on core excitations. Thus, COREX should be specified. ADAS expects separate ADF09 files for each core excitation. NTAR1=Number of initial (metastable) target states. NTAR2=Number of final resolved parent states. The values of (2S+1) L p (case /LS/) or 2J p 2S+1 L (case /IC/, where p, S and L are for labelling purposes only in adf09 - p is the parity) follow free- formatted, after Namelist TWO, for the NTAR2 parent states. (The files TERMS and LEVELS produced following a suitable target run with AUTOSTRUCTURE should provide this data.) This input data is compulsory. Namelist TWO ------------ NECOR=0 (default) does nothing. >0, read NECOR calculated then experimental energies (in Rydbergs) relative to the ground. They follow the statistical weight info. Example 1. Be-like target, term-resolved. /LS/ Be-like target, 2->2 core excitations. &ONE NTAR1=2 NTAR2=6 COREX='2-2' &END &TWO &END 1 0 0 1 1 0.000000 3 1 1 2 1 0.489799 1 1 1 2 2 1.027305 3 1 0 3 2 1.273012 1 2 0 3 1 1.424089 1 0 0 3 3 1.781974 0 0 0 0 0 -72.892998 The input after &TWO is taken directly from the TERMS file. The calculated (C2+) energies listed here will be checked internally against those in the rate file. Example 2. Li-like target, level-resolved. /IC/ Li-like target, 2s->2p core excitations. &ONE NTAR1=1 NTAR2=3 COREX='2-2' &END &TWO NECOR=3 &END 1 0 2 0 1 1 -2 1 3 1 -2 1 0.0 0.594108 0.595113 These are the calculated (core) energies for C3+. 0.0 0.587621 0.588603 These are the observed. This text is not read. If energies are read alongside the symmetry info, as in Example 1, then the calculated energies MUST NOT be listed afterwards, just the observed. ADASRR POST-PROCESSOR ********************* The program 'adasrr.f' reads standard AUTOSTRUCTURE output files and processes them specifically to form (final-state resolved) ADAS ADF48 files for the modelling of radiative recombination. It is similar in spirit to ADASDR and its minimum input is just NTAR1 and NTAR2 (and stat. weight info) as described for ADASDR. (There is no COREX or NECOR now.) ADASPE/PI POST-PROCESSORS ************************* The programs 'adaspe.f' and 'adaspi.f' read standard AUTOSTRUCTURE output files and process them specifically to form (final-state resolved) ADAS ADF38 and ADF39 files for the modelling of photoexcitation-autoionization and (direct) photoionization. These ADFXX files are also used by Mike Seaton's OP codes. They can also produce R-matrix style X-files: XPEPAR, XPETOT, XDPIPAR, XDIPTOT and the resonant "PE" files can be added to their corresponding direct "DPI" files using the 'xpeppi.f' code. The NAMELISTed input is similar to that for ADASDR, but simpler. ADASPE: Reads the same 'on' or 'onu' AUTOSTRUCTURE files (n=1,2,3,4 etc) as ADASDR. ADASPI: In addition, reads photoionization files 'opn' or 'opnu'. The 'on' files must match the 'opn' files obtained from the same AUTOSTRUCTURE run. The first four characters of line 1 MUST be /LS/ or /IC/ so as to denote the type of data being processed. The rest of line 1 is for comment. We refer to the initial state as the one that the photon impacts on and final state that of the residual ion that the ejected electron "sees". Namelist ONE ------------ NTAR=Number of (final) electron "target" states for which symmetry info is read. Unlike ADASDR/RR, NTAR is for labelling info only in the adf38/39 files. The values of (2S+1) L p (case /LS/) or 2J p 2S+1 L (case /IC/, where p, S and L are for labelling purposes only in adf38/39 - p is the parity) follow free- formatted, after Namelist TWO, for the NTAR final "target" states. (The files TERMS and LEVELS produced following a suitable target run with AUTOSTRUCTURE can provide this data.) The above is the standard (minimal) input for OP work, i.e. all possible data produced on adf38/39. It can be restricted though: NTARP, NTART restrict the number of electron targets resolved for partial data, and which go into any total sum. They are independent of each other, and of NTAR. So, the amount of partial data resolved can be restricted without affecting any totals. IRSLMX is the max no. of initial photon targets, default all. (Strictly speaking, it is the adf38/39 IRSL index label, which may not be energy ordered if multiple opn files are processed...) ADASPE only options: JRSLMX is as IRSLMX but for upper photon states. RAD='YES' includes radiation damping. This includes damping to autoionizing states, which is not included by standard R-matrix. Default. = 'NO' omits radiation damping. PABS='YES' then photoabsorption cross sections are written. = 'NO' then "photoionization" is written, default. Namelist TWO ------------ None normally, for adf38/39 production. An alternative scheme involves producing R-matrix style X-files. This is controlled by the EWDITH and related parameters (see ONE). EWIDTH .gt.0 then PI cross sections and (energy-averaged) PE cross sections are convoluted with a Gaussian of FWHM of EWIDTH Rydbergs and written to the partial XDPIPAR, XPEPAR and total XDIPTOT, XPETOT files. EMIN, EMAX are the range of photon energies for which cross sections are convoluted. NBIN is the number of energy bins, between EMIN and EMAX, for energy-averaged PE cross sections (ADASPE only). The IRSLMX and NTAR defaults are different here viz. IRSLMX=1, and NTAR *does* restrict the X-file writes. Finally, the program 'xpeppi.f' can be used to add the resonance and direct files together. POST-PROCESSOR (General) ************** The post-processor 'mdrcs13.f' can be used to study many resonant processes, maybe combined with direct backgrounds. *** If you just want to produce ADF04/09/48/38/39 ADAS-style files then use instead the programs adasre/dr/rr/pe/pi detailed previously. The UNIT5 data is all free-formatted and namelisted. The basic most commonly used variables are detailed below. There are many other options, some quite esoteric, which are available for manipulating the raw AUTOSTRUCTURE data. Information on these can be found in the comment cards towards the beginning of the code under the headings NAMELIST-ONE, NAMELIST-TWO and NAMELIST-THREE. Formatted data from AUTOSTRUCTURE is expected in file 'o1' and unformatted data in file 'o1u'. The file 'o1' is checked first. Non-resonant backgrounds can be added by simply making a suitable file available as the file 'ombg'. "Standard" R-matrix 'omega' and 'omegdr' files are acceptable. Namelist ONE ------------ RUN='DR' Process for photon emission (dielectronic recombination) default. ='RE' Process for electron emission (resonant excitation). NTAR1=Number of initial (populated) target states. NTAR2=Number of final resolved states for RE (not used for DR). The values of (2S+1) L or 0 2J+1 follow free-formatted after Namelist TWO for the NTAR1 initial states. This is the minimal target info required. Suitable data is produced in the TERMS/LEVELS files by structure runs. They contain more info e.g. energy levels, which can be used by the ADASXX post-processors. NCUT=Rydberg principal quantum number cut-off of AUTOSTRUCTURE data (default all). LCUT=Rydberg angular momentum cut-off of AUTOSTRUCTURE data (default all). UNITS=1.0 Rydberg energy units (default). =13.606 Electron-volt energy units. IPRINT=0,-1,-2,-3 Print-level, increasing values give a more detailed printout. =-1 is the default and the best first choice. NC<=0 (default) binned cross sections are written to the file 'ocs'. =1 Processing very large rate files can be time consuming. By setting NC=1 the binned cross sections can be read-back from 'ocs' and then convoluted. Thus one can vary the convolution without having to re-process the raw data each time. Namelist TWO ------------ EMIN=Minimum continuum energy (in UNITS) for which rates are both processed and plotted. EMAX=Maximum, ditto. NBIN=Number of bin energies (number of bins=NBIN-1). The bin width, (EMAX-EMIN)/(NBIN-1) should be smaller than the convolution width and larger than the natural width of the resonances. EWIDTH>0 Convolute the (bin) energy-averaged cross sections with a Gaussian of FWHM EWIDTH UNITS. =-0.5 (actually any non-integer negative number) convolute with a Maxwellian distribution. =0.0 Convolute with a cooler distribution, the characteristic temperatures are given by: TPAR and TPER in UNITS. NR1>0 is the lowest final-state principal quantum number for a radiating Rydberg electron that was NOT included in the AUTOSTRUCTURE run. For example, dn=0 DR in highly-charged ions may allow the rydberg electron to stabilize to quite a high n-value that would be impractical and time consuming to include in an AUTOSTRUCTURE run. These rates are generated hydrogenically within the post-processor (very fast). Default, no rydberg electron radiation added. NECOR=0 (default) does nothing. >0 read NECOR calculated then experimental energies (in UNITS) relative to the ground. They follow the statistical weight information. Namelist THREE -------------- None normally, historic graphing input. EEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDD E N D