DIATOM Spectral Simulation Program
Main Menu
Introduction
The DIATOM application calculates synthetic absorption
and (stimulated) emission spectra of diatomic molecules.
The individual rovibronic "lines" are broadened with a
user-specified width and line shape. Contributions of several
vibrational bands or multiple electronic transitions can be summed
to construct an "accumulated spectrum."
Spectroscopic parameters for the upper and lower electronic states
are read from user-specified data files. Vibrational band
strengths are specified by an electronic transition dipole moment and a
Franck-Condon Factor data file (possibly implicitly representing
dependence of the transition moment on v' and v"), and optionally
multiplied by a user-specified population fraction.
Rotational branch strengths are calculated
from eigenvectors of the rotation-fine-structure hamiltonians
for the upper and lower vibronic levels (Hönl-London Factors)
and relative populations (Boltzmann Factors).
Many types of "forbidden" transitions are treated, including
spin-orbit and rotational "borrowing"
of transition strength, often recognized automatically, including
magnetic-dipole transitions in homonuclear molecules. The details
can be specified by a "rotated" transition moment or an explicit
transition-moment-matrix data file. The electronic structure of
the upper and lower states can be specified quite generally, even
including singlet-triplet spin-complexes and sigma-pi L-complexes.
DIATOM activites are
controlled by KVS commands. Those that are specifie to DIATOM are
described below. Others, i.e. those beginning with periods, are
described in separate documentaion of the
KVS command processor. You
are likely to benefit from experience with the GRA interactive graph
manipulation program.
The following describes the basic steps.
- Use a text file editor to create a KVS script file.
UPPER upper-state-constants-file
LOWER lower-state-constants-file
FCF Franck-Condon-Factor-file
TEMP -1/rotational-temperature
WAVENUMBER wn-low,wn-high
ONLYV v-upper,v-lower
BROAD
GRASP
- Invoke the DIATOM application with a script file
DIATOM .lgo KVS-script-file
- Alternatively, invoke DIATOM for interactive execution
DIATOM
DIATOM Command Verbs
- CLRSP
Zeroes the accumulated spectrum.
- BROAD
Calculates a "broadened" synthetic spectrum and adds it to the
accumulated sum.
- DISSOCIATION De-upper De-lower
Supplies optional dissociation limits for the upper and lower states.
Any rotational levels above the corresponding dissociation limit are
ignored.
- EMISSION
Indicates that an emission spectrum is to be calculated, with
intensities corresponding to calculated excited state populations.
Note that it is actually the stimulated emission cross section
spectrum that
is calculated rather than the fluorescence intensity spectrum.
Once specified, EMISSION remains in effect until DIATOM exits.
- FCF file-specification [/LIST]
Reads a file of Franck-Condon factors.
If no file .extension is
specified, .FCF is used by default. Entering the /LIST option will
cause a summary of the data to be listed on the screen.
- FRACTION floating-number
Indicates the factor by which to multiply future calculated
spectra before adding them to the accumulated sum.
- GRASP [/option]
Graphs the current accumulated spectrum. If you enter /NM the
x-axis is vacuum wavelength. If you enter /AIR the x-axis is air
wavelength. Use the WAVELENGTH command
to set the limits. If neither option is provided, the spectrum
is graphed versus wavenumber (cm-1).
Use the SPMAX command to control
the y-axis limits.
- HOMONUCLEAR nuclear-spin
HOMONUCLEAR symmetric-factor antisymmetric-factor
Controls the nuclear spin statistics for a homonuclear diatomic
molecule. You can explicitly enter the relative amplitudes, or you
can let DIATOM calculate them from the value of the nuclear spin.
- LINES [ max-J ] [ ordered-by ]
Lists the line positions for a limited range of J values ordered by
J, N, Branch, or Energy (ordered-by = J, N, B, or E respectively).
A specific vibrational transition must have been specified already
with the ONLYV command. To record the line positions in a file, use
the following three steps:
DIATOM> .TRACE LINES 2
DIATOM> LINES max-J ordered-by
DIATOM> .TRACE/6
When DIATOM exits it will have written a file named FOR002.DAT
containing the term energies. Multiple .TRACE commands in the same
execution session may get written to the same file.
You can also use the KVS .F77 create() and close() actions to
control .TRACE files.
- LOWER file-specification [/LIST]
Reads spectroscopic information about the lower state. If no file
extension is specified, .CON (spectroscopic CONstants) is tried first,
followed by .DUN (DUNham coefficients). Entering the /LIST option
will cause a summary of the data to be listed on the screen.
- ONLYV v-upper v-lower
Selects the vibrational levels to be included in the spectrum. A
negative number indicates that all vibrational levels of the
electronic state are to be included. A non-negative number selects
a specific vibrational level.
- REFMASS mass-1 mass-2
REFMASS reduced-mass
Supplies the masses that are appropriate for the Dunham coefficients
that are about to be read with LOWER or UPPER.
- SAVESP file-specification
Saves a copy of the accumulated spectrum in the file provided.
- SHIFT number LOWER
SHIFT number UPPER
Adds the number given to all the vibrational energy levels of the
state indicated.
- SPMASS mass-1 mass-2
SPMASS reduced-mass
Supplies the masses to which the Dunham coefficients (that are about
to be read with LOWER or UPPER) should be scaled.
- SPMAX floating-number
Indicates the upper limit of the y-axis of a graph. Note that the
units of SPMAX are cm2, while the y-axis label says
megabarns (1MB = 1.E-18 cm2) so that you have to enter
something of the form yyy.zzzE-18
- TEMP T-vib T-rot
Indicates the temperature (in K) to be used when calculating
populations (Boltzmann factors). At present only the rotational
temperature is used correctly. Always enter T-vib as -1.
- TERMS max-J LOWER
TERMS max-J UPPER
Lists the term energies for a limited range of J values for the
electronic state indicated. A specific vibrational level must have
been specified in advance with the ONLYV command.
To record the term energies in a file, use the
following three steps:
DIATOM> .TRACE TERMS 2
DIATOM> TERMS max-J upper-or-lower
DIATOM> .TRACE/6
When DIATOM exits it will have written a file named FOR002.DAT
containing the term energies. Multiple .TRACE commands in the same
execution session may get written to the same file.
You can also use the KVS .F77 create() and close() actions to
control .TRACE files.
- TRANSMOMENT
mu theta [file-specification]
Indicates the value of the electronic transition moment (in Debye),
a rotation angle by which it is to be rotated away from the expected
parallel or perpendicular direction, and an optional file containing
an explicit transition moment matrix
over fine structure components.
- UPPER file-specification [/LIST]
Reads spectroscopic information
about the upper state. If no file
extension is specified .CON (spectroscopic CONstants) is tried first,
followed by .DUN (DUNham coefficients). Entering the /LIST option
will display a summary of the data to be listed on the screen.
- WAVELENGTH wl-low wl-high
Provides optional limits (in nm) for a graph of a spectrum with
wavelength along the x-axis.
- WAVENUMBER wn-low wn-high
Supplies required limits for the spectrum to be calculated, in units of
cm-1. The spectrum is calculated at up to 2000 equally spaced
points, depending on the values specified in the WIDTH command.
If you enter WAVENUMBER for a second time, the previously
accumulated spectrum is zeroed.
- WIDTH wn-width [/line-shape-code]
WIDTH wl-width /negative-line-shape-code
Specifies the full-width-at-half-maximum of the calculated
rotational lines. The line-shape-code selects a line shape
function (a negative value indicates units
of nm, otherwise the units are cm-1):
- triangles (the default),
- rectanges
- gaussian
- lorentzian
Spectroscopic Constants
The UPPER
and LOWER
commands instruct DIATOM
to read spectroscopic descriptions of the electronic
states from separate data files. If the filename name
is entered without an .extension, a search is performed for the
.extensions .CON and .DUN. For maximum portability
file names and .extensions should actually be entered in lowercase.
If a file name.CON is read, the spectroscopic parameters
or "constants" are specified directly as term energies
(Gv), rotational constants
(Bv, Dv, etc.), and fine structure constants
for each individual vibrational level.
If a file name.DUN is read, the spectroscopic constants
for the individual levels are calculated from polynomial expressions
using the Dunham coefficients Te,
omegae, -omegaexe, Be,
-alphae, etc., including vibrational representation of
the fine structure constants. Expression of the Dunham coefficients
is modified by previously entered REFMASS and SPMASS
commands.
- name.CON
- READ 2, T0,MXV,NJC,NF,LAMBDA,IPARITY,SPIN,OMEGA,DELTA
- FORMAT(F20.0,5I5,3F20.0)
- DO 4 I=0,MXV
- READ 5, GV(I),(ROTV(J,I),J=1,NJC),(FINEV(K,I),K=1,NF)
- FORMAT(5F20.0)
- name.DUN
- READ 2, NV,NJ,LAMBDA,IPARITY,SPIN,OMEGA,DELTA,NF,NVF
- FORMAT(4I5,3F15.0,2I5)
- DO 4 I=1,NV
- READ 5, (Y(I,K),K=1,NJ)
- FORMAT(5F20.0)
- DO 7 I=1,NVF
- READ 8, (FINE(I,J),J=1,NF)
- FORMAT(5F20.0)
- DELTA is reserved for future use
- FINE(I,J) are the fine-structure Dunham coefficients
FINEV(J,v) = sum-over(i=1,...) FINE(i,J)*(v+0.5)(i-1)
- FINEV(K,v) are the fine-structure constants:
FINEV(1,v) = Av (spin-orbit)
FINEV(2,v) = lambdav (spin-spin)
FINEV(3,v) = gammav (spin-rotation)
FINEV(4,v) = ADv (CD of spin orbit)
FINEV(5,v) = lambdaDv (CD of spin-spin)
FINEV(6,v) = gammaDv (CD of spin-rotation)
FINEV(7,v) = qv (lambda-doubling)
FINEV(8,v) = pv (lambda-doubling)
FINEV(9,v) = ov (lambda-doubling)
FINEV(10,v) = etav (sigma splitting)
FINEV(11,v) = K (singlet-triplet splitting)
FINEV(12,v) = (sigma-pi splitting)
- GV(v) are the vibrational term energies
- IPARITY is the parity indicator
bit-0 = 1 indicates Sigma- (Sigma-minus)
bit-1 = 1 indicates ungerade
IPARITY = 0 for Sigmag+, Pig,
Deltag etc
IPARITY = 1 for Sigmag-
IPARITY = 2 for Sigmau+, Piu,
Deltau etc
IPARITY = 3 for Sigmau-
- LAMBDA
is the orbital angular momentum projection LAMBDA. If
LAMBDA < 0 a L-complex is generated with L = |LAMBDA|
- MXV (<99) is the number of the highest vibrational level
- NJ is the number of rotational terms in the Dunham expansion
- NJC (<6) is the number of rotational constants
- NF (<16) is the number of fine-structure constants
- NV is the number of vibrational terms in the Dunham expansion
- NVF is the number of vibrational terms in the Dunham expansion of
the fine-structure constants
- OMEGA
is the total angular momentum projection. If SPIN > 0 and
OMEGA .ne. 0 then Hund's case (c) coupling is used (considering
only the given value of OMEGA) rather than intermediate coupling
(in which all possible values of OMEGA are included).
- ROTV(J,v) are the rotational constants Bv, Dv, Hv, Lv, Mv
- SPIN is the electron spin (0,0.5,1, etc). If SPIN < 0, a spin-
complex is generated: |SPIN|, |SPIN|-1, ...
- T0 is an optional offset to be added to the vibrational energies.
- Y(I,K) are the Dunham coefficients
GV(v) = sum-over(i=1,...) Y(i,1)*(v+0.5)(i-1), v=0,...
ROTV(J,v) = (-1)(J+1) sum-over(i=1,...)
Y(i,J+1)*(v+0.5)(i-1), J=1,..., v=0,...
Franck-Condon Factors
Franck-Condon factors are read from a file name.FCF in the format
- READ 2, TITLE
- FORMAT(10A8)
- READ 4, MXVU, MXVL
- FORMAT(2I5)
- DO 6 IU=0,MXVU
- READ 7, (FCF(IU,IL),IL=0,MXVL)
- FORMAT(10F8.3)
- TITLE is user information (source reference etc.)
- MXVU,MXVL highest vibrational levels in upper and lower states
- FCF(IU,IL) is the squared Franck-Condon factor
Reasonable choices for the format are:
1.234-1,9.876-1, etc
123,988, etc
Note that the comma must be within the eight character field, and
that a three-digit number without a decimal point will be divided by 1000.
Transition Moment Matrix
The optional transition moment matrix for forbidden transitions
is read from a file name.TRA or name.TRANS in the format
- DO 2 KBFU=1,NBFU
- READ *,(TRANS(KBFU,KBFL),KBFL=1,NBFL)
- DO 4 KBFU=1,NBFU
- READ *,(RTPLUS(KBFU,KBFL),KBFL=1,NBFL)
- DO 6 KBFU=1,NBFU
- READ *,(RTMINUS(KBFU,KBFL),KBFL=1,NBFL)
DIATOM defines the basis functions |SPIN,LAMBDA,SIGMA>
in the order of
- increasing SPIN
- increasing LAMBDA
- increasing SIGMA
Which usually results in a progression from the most negative
to the most positive values of OMEGA = LAMBDA + SIGMA.
KVS Command Processor
DIATOM obtains command lines by calling the KVS command
processor subroutine, which reads from the keyboard, from script
files, or from in-memory scripts. Each command line consists of
an action-verb optionally followed by modifying arguments. The
concepts are similar to those of unix shells (e.g. csh),
MSDOS command.com, and VMS DCL.
Reference Publications
- D. L. Huestis, "Radiative Transition Probabilities,"
in Atomic, Molecular, and Optical Physics Handbook,
G.W.F. Drake, Ed. (AIP Press, Woodbury, NY, 1996).
- Return to DIATOM Main Menu
Related Web Pages
Copyright (c) 2001-2003,2005 SRI International. All rights reserved.
(06/21/05)
Send comments and suggestions to
david.huestis@sri.com
URL: http://www-mpl.sri.com/manuals/DIATOM.html