Synopsis
Description
basename.inp(.ext)
is used to specify the informations on the wells, names of the MASTER input
files, temperature and pressure, etc.
The results are written to a CSV file named
basename_progname_out.csv
.
When the diseig program is invoked with "-e
"
option, it also creates a CSV fine named
basename_diseig_eig.csv
containing the list of
eigenvalues.
1) | A control file: basename.inp(.ext) |
2) | MASTER file(s) |
Control input – structure
# comments key value [value2, ...] well{ ! comments key value [value2] } well{ : }At least, one well-block enclosed by
'well{'
and
'}'
describing the information of a well must present.
The well-block must contain a 'filename'
key
specifying the MASTER file name for the well.
For the chemically activated reaction solved by carate,
One and not more than one well should contain a
'recombChan'
key described below.
'!'
or '#'
to the end of the line are ignored as comments. There is no
difference between the comments starting with '!'
and
'#'
.
Keys valid outside blocks
tempRange T_start T_end T_step tempRecipRange numer start end step tempGauChebGrd T_min T_max nT tempList T1 T2 T3 ... T0 T0The key
'tempRange'
sets an equally spaced temperatures
list from T_start
to T_end
,
with step T_step
. The next type with a key
'tempRecipRange'
sets a list of temperature equally spaced
in the reciprocal of temperature, that is, they are equally spaced in
the Arrhenius plot. Like the convention used for the abscissa of
the Arrhenius plots, the reciprocal temperature may be specified in
the form of: 1000/T, 10000/T, or etc. by
setting the numer
(numerator) to 1000, 10000, or
etc. For example,tempRecipRange 10000 5 40 1sets a list of temperatures corresponding to 10000/T = 5, 6, 7, ..., 40. The key starting with
'tempGauChebGrd'
sets the list of temperatures at the
Gauss-Chebyshev grid which is suitable for Chebyshev-polynomial fit
of RRKM rate coefficients. The range of temperature is
specified by T_min
and T_min
,
and nT
is the number of grid points.
For the detailed description of the Chebyshev polynomials and
Gauss-Chebyshev grid, see Chebyshev-polynomial
fit section.
The last type starting with
'tempList'
sets a list of temperatures simply as they
listed after the key. If multiple temperature specifications as given,
the merged list of temperatures is used. For example,tempRange 300 600 100 tempList 298sets list of temperatures as: { 298, 300, 400, 500, 600 }.
'T0'
sets initial temperature for distim
solver, and only valid in the distim input. Default is 298.15 K.T0 300
pressUnit p_unit pressRange p_start p_end p_step pressLog10Range log10p_start log10p_end log10p_step pressGauChebGrd p_min p_max np pressList p1 p2 p3 ...The key
'pressUnit'
changes the unit of pressure. Allowed
units are; 'Torr'
(dafault), 'atm'
, 'Pa'
,
'kPa'
, 'MPa'
, and 'bar'
.
This key affects the pressure specification after it. So, the pressures
may be specified with different unit within a control file. For
example,pressUnit atm pressList 1 pressUnit Torr pressList 0.1 1 10set the list of pressures as: { 0.1, 1, 10, 760 }. The key
'pressRange'
sets an equally spaced pressure
list from p_start
to p_end
,
with step p_step
. The next type with a key
'pressLog10Range'
sets a list of pressures equally spaced
in logarithmic scale. For example,pressLog10Range -2 2 1sets the list as: { 0.01, 0.1, 1, 10, 100 }. The unit is affected by the last
'pressUnit'
key before it.
The key starting with
'pressGauChebGrd'
sets the list of pressures at the
Gauss-Chebyshev grid which is suitable for Chebyshev-polynomial fit
of RRKM rate coefficients. The range of pressure is
specified by p_min
and p_min
,
and np
is the number of grid points.
For the detailed description of the Chebyshev polynomials and
Gauss-Chebyshev grid, see Chebyshev-polynomial
fit section.
The last key
'tempList'
sets a list of pressures simply as they listed after
the key. When multiple specifications as given, the merged list of them
is used.
revPressOrdThis key is only valid in dislit program. This key inverts the pressure order of calculation, that is, lower pressure to higher. This is sometimes useful to get converge the desired solution.
timeBase t_base timeRange t_start t_end t_step timeLog10Range log10t_start log10t_end log10t_step timeList t1 t2 t3 ...The key
'timeBase'
sets the time base used in the subsequent
inputs. for example,timeBase 1e-6 timeList 1 2 5 timeBase 1e-3 timeRange 3 9 3sets the output times to 1, 2, and 5 µs and 3, 6, and 9 ms. The usages of
'timeRange'
, 'timeLog10Range'
,
and 'timeList'
are similar to corresponding pressure
specifications.
'timeLog10Range -6 -1 1'
.
err3 err alphaTdep alpha1000 beta kEthInt kEmin_internal kEthOut kEmin_outgoing topCut ntop maxCyc cyc sizeLSDSRW size_factThe parameter
'err3'
is the truncation threshold of the
collisional energy transfer probability to make the mastre-equation
matrix banded.
The default is the 1/1000 of the ERR3
in the MASTER file.
If a MASTER file is generated by rrkmth, ERR3
inside it is
1E-6
, and, thus, the default is 1×10−9.
So it may be different from well to well, though there is no physical
background to do so. It should be noted that this parameters must
be set at reasonably small in order to calculate rate paramters at very
high pressure such as 1010 atm, which is unrealistic but
often needed to obtain the complete fall-off curves.
However, it should not be too small in order to calculate
the steady-state dissociation rate coefficient at low temperatures.
'alphaTdep'
can be used specify a
temperature-dependent equation for the collisional energy transfer
parameter α (alpha).
The α is calculated by the equation,
α = α1000 (T / 1000)β,
with α1000 specified by alpha1000
and β specified by beta
.
This key overwrites NALPHA
and ALPHAV
specified in
the MASTER input file(s) for all the wells.
The beta
in this key can be any floating-point number,
while it must be an integer or a half-integer in MASTER input.
'kEthInt'
and 'kEthOut'
are used to remove out very small microscopic rate constants,
k(E), which sometimes make the solver unstable.
Internal k(E)'s, that is, those for isomerization
between wells, smaller than kEmin_internal
are
set to 0 (zero). Similarly, external k(E)'s, that is,
those for dissociation or isomerization to species not included as wells,
smaller than kEmin_outgoing
are removed.
The default is 1×10−64 for both
kEmin_internal
and kEmin_outgoing
.
'topCut'
specifies the number of
grains at top energy to be eliminated from master-equation.
The dafault is 10, which is
a reasonable value needed to eliminates the problem of assymetric
isomerization
k(E) calculated with different number of grains.
The parameter is usually used to reduce the problem size to speed up the
calculation. Note that the default rrkmth generates rather too
much number of grains to avoid the problems at high-temperature, but it
is not always the best choice.
'maxCyc'
specifies the maximum number of
iteration in dislit program. Other program never read or
use this. The dafault is 300.
'sizeLSDSRW'
specifies the factor to the
size of working array for DLSODES routine used in catime and
distim programs.
The default is 0.3. Usually there is no need to adjust this
parameter unless the DLSODES error on the RWORK size is encountered.
condition condThe key
'condition'
is used to specify the condition for
the time-dependent solution calculated by catime (only).
The value 'const'
(default) invokes the calculation for
the constant flux condition; kin = const.
and n(t = 0) = 0, for the master equation,
(10) |
'init'
invokes the calculation for the initial
value problem; kin = 0 and n(t = 0) =
r.
output opt1 [opt2 ...] verbose levThe key
'output'
is used to specify the optional outputs.
Allowed options are 'vector'
, 'HPL'
,
and 'HPLonly'
.
The 'vector'
option specifies the output of steady-state
internal population vector, into the file named
basename_progname_vec.csv
.
When this option is used for carate, the incoming-flux vector
is also written in basename_carate_rfxvec.csv
.
The option 'HPL'
tells the program to compute high-pressure
limiting (HPL) rate constants by numerical integration and they are written
in a file named basename_progname_hpl.csv
.
When the 'HPL'
option is specified together with the
'vector'
option for diseig or dislit,
the Boltzmann distribution vector is written in
basename_progname_hplvec.csv
.
The 'HPLolly'
option can be used to compute
HPL rates only.
The options, 'HPL'
and 'HPLonly'
are allowed
only for diseig and dislit.
'verbose'
sets the level of the output of
diagnostic messages. The dafault level is 0 and available levels
are 0, 1, 2.
Keys valid inside blocks
recombChan ichan reactant excitGrain excitation_grain excitArbit activation_flux_filenameThe key
'recombChan'
specifies the recombination channel
number where the reactive flux for chemically activated reaction comes in
for the program carate. Other programs never read or use it.
ichan
is the channel number in the corresponding
MASTER file. Due to the restriction of the rrkmth program,
the channels are numbered consecutively from that of the lowest to threshold
energy to higher. This key must present in one (and only one) of the
well in the program carate.
'reactant'
(it takes no value) specifies the
reactant well for dislit in order to solve the steady-state problem
of a type of eq (5) in introduction to SSUMES.
The program dislit can be invoked without any
'reactant'
key to solve the problem of type of eq (4) in
introduction to SSUMES.
However, the key can be specified in only one well.
'excitGrain'
specifies that the activation flux
comes from a single grain specified by its number for carate and catime.
This correspond to monochromatic photo-excitation followed by internal
conversion which produces highly vibirationally excited ground state molecule.
By the use of 'excitArbit'
key, one may specify an arbitrary
initial distribution of a molecule. See activation.csv
in
sample folder for the format of the input file. It should be a simple
vector of distribution starting from the ground state of the specified well.
index idx filename MASTERfile_name connect idxWell ichan offset noff truncate ntruncThe key
'index'
is an optional key to assign indices
to the wells. The well-indices are used in specifying the
connection between wells by 'connect'
keyword as well as in
the outputs. The indices should be integer numbers, but not
necessarily the consecutive numbers.
If omitted, indices are automatically assigned
consecutively in the order of appearance in the control input,
starting from 1. However, it is not recommended to use this
default indices in specifying well-connections in many-well problems,
since, for example, when you want to remove well-3 from the 10-well system,
you will need to renumber many indices in many connection specifications.
'filename'
key for each well.
The extension '.dat'
is assumed when no extension is given
in the file name. A file with an extension other than
'.dat'
may be specified by explicitly specifying the
full file name, but, there is no way to specify the file name without
extension.
'connect'
is used to specify the connections
between wells via isomerization reactions. The connection
specifications may appear as many times as required in a well.
The first argument ideWell
is the index of the well
to be connected, and the second argument ichan
is the channel number via which the connection is made.
The connections must be consistent in the two-well connected.
The SSUMES programs strictly check the microscopic equilibrium between
the microscopic rate coefficients of the two wells, and the properties
of the transition state connecting between them must be given exactly
the same in the RRKM inputs for two wells.
'offset'
key is used to tell the programs
about the difference of the energy between vibrationless (ground)
states of isomeric molecules (wells) in the units of grain size,
typically, 100 cm−1.
The value noff
must be an integer number.
Since only the differences of noff
's among the wells
matter, they may be calculated from any origin, but the origin should
be common among the wells. Usually, the energy of the lowest
well is taken to be the origin, that is, offset 0
.
In order to avoid the asymmetry error issued by the SSUMES programs,
it is highly recommended to prepare the RRKM input files with
'alignBaseEnergy'
keyword by prepum program
in GPOP.
'truncate'
key can be used to define the
lower-energy truncation of each well for carate and dislit
solvers in order to include stabilization process. For example,
'truncate 10'
means the lowest ten grains of the well
are eliminated from the master-equation. The population flux going
into the lowest ten grains never comes back, and is treated as
stabilized. This key is never read nor used by diseig.
The default is zero (truncate 0
) for
all the wells, that is, no stabilization process is included.
Parameters imported from MASTER input file(s)
The parameters indicated by
bold Sans-Serif fonts are used by SSUMES
programs. Others are ignored by SSUMES. | ||
1. | TITLE | |
2. | INC,NCHAN,INCCHK | |
INCCHK: Read as grain size (cm−1) by SSUMES. | ||
3. | ERR1,ERR2,ERR3 | |
ERR3: tolerance for truncation of P(E,E') is set to ERR3/1000. | ||
4. | E0 | |
5. | NALPHA | |
The number of ALPHAV's read in the next sequence is always 1, irrespective
of this value. If input as positive (NALPHA > 0) or zero (NALPHA = 0), constant (templerature independent) α is assumed. If input as negative (NALPHA < 0), mas55c3 does calculations assuming the temperature dependent α = α0(T / 1000)β, where α0 is read as ALPHAV(1) and β = |NALPHA| / 2. For this case, only one value of α is read in the next input. | ||
6. | ALPHAV | |
Value of α or α0 (cm−1). | ||
7. | IXV,JXV | |
The functional form of P(E,E') is always exponential-down model irrespective of this input in SSUMES. | ||
8. | NP | |
number of pressures. | ||
9. | PR(I),I=1,NP | |
array of pressures, in torr. | ||
10. | PALMT | |
11. | JAV | |
12. | NTEMP | |
number of input temperatures. | ||
13. | TEMPV(I),I=1,NTEMP | |
array of input temperatures (K). | ||
14. | SGMA,WT1,WT2,EPS | |
See RRKM input. | ||
15. | IOPTHT,IOPTPR | |
16. | NDEGS | |
no. of ρ(E) values to be read in. | ||
17. | RHO(I),I=1,NDEGS | |
array of ρ(E) values. | ||
18. | TEMPV(I),CORRAT(I),I=1,NTEMP | |
22. | NRATES | |
no. of microscopic rate coefficients k(E) to be input. | ||
- Input no. 25 looped through IN=1,NCHAN | ||
25. | Rn(I),I=1,NRATES | |
list of k(E) for channel n. |
Output
basename_progname_out.csv
.
They are self-instructive. See
Quick-Start for examples and some
instructions.