Wiki
Clone wikiKROME / docmaker
Automatic HTML documentation (aka DOCMAKE)
(Note: you must have graphviz installed on your machine!)
Demo here.
To enhance the reproducibility of the results produced with KROME and to check the quality of the reaction rates by inspection, we have included a tool that produces extended information on a given chemical network (in KROME, UMIST, and KIDA formats).
Its usage is
cd tools\docmake\ python docmaker.py options.opt
options.opt
is an option file, as for example
network: ../../networks/react_COthin_noSi range: Tgas = 1e0,1e8 range: user_crate = 1e-19,1e-15 range: user_av = 0.01,2e1
network
is the relative path to the network file, and each range
is the range in which you want to plot the reaction rates. Docmake is capable of detecting the format of the file (i.e. KROME, UMIST, or KIDA).
In this example you have
Tgas
-dependent reactions (mandatory range), and then user variables as user_crate
and user_av
. Note that these can be skipped when plotting
user_*
is not required (i.e. your network is Tgas
-dependent only).
Reactions menu
This menu includes the reactions list alphabetically sorted by the name of the first reactant.
Links to reactions and species details are included.
In the submenu all reactions with Tgas
you can find all the rate coefficient plots in one page by using the variable Tgas
.
Similar behaviour for the submenus all reactions with user_*
that uses the variable user_*
instead.
Species menu
List of species with enthalpy of formation at 298 K, by using Burcat's polynomials.
Each reaction has a link to the list of formation/destruction rates and other details.
Graphs menu
Reaction graphs generated with graphviz.
Missing Reactions menu
List of reactants interactions not included in the current network given the species already present.
Docmake lists all the species combinations that are not considered in the network.
This means that missing branches for existing reactions are ignored.
For example, if in your network has C, O, and OH species, and you have the reaction C+OH already, this is ignored (and then not listed), but if e.g. O+OH is missing (no matter what products), this will be listed here with all the possible branches (using the species already in the network).
Docmake computes the reaction enthalpy (in K) and determines the endo/exothermicity of the reaction.
Strongly exothermic reactions (<-1e4 K) are marked with a double checkmark symbol, while for slightly exothermic (-1e4K<T<0) a single checkmark is displayed. Endothermic (>0K) are marked with a cross.
When enthalpy data are not available "None" is indicated.
WARNING: this list is determined only by enthalpy of formation and it doesn't consider any barrier or reaction model, so it has to be used carefully!
Missing Branches menu
Analogously, DOCMAKE looks for missing branches.
Same considerations as missing reactions menu applies.
Reactions with multiple rates
When more than one rate per reaction is present, DOCMAKE checks the joints and indicates the difference (as a percent) of the rate at the joint position.
Subnetwork
You can use DOCMAKE to prepare subset of chemical networks.
To do this provide an option file as the one here below, and specify the name (using suboptions
) in the main option file e.g.
network: ../../networks/react_COthin_noSi range: Tgas = 1e0,1e8 range: user_crate = 1e-19,1e-15 range: user_av = 0.01,2e1 suboptions: subnetwork.opt
The file subnetwork.opt
will be similar to
#skip species with these atoms (comma-separated, can be empty) skipAtoms = #use species with these atoms (comma-separated, can be empty, E=electron) #note that e.g. _ortho and _para has to be listed here useAtoms = H,He,D,N,E,_ortho,_para,_meta #maximum number of atoms per molecule maxAtoms = 999 #use cations cations = True #use anions anions = True #ignore Tlimits when reaction from the database has only one rate skipTlimitsSingle = True #min/max temperature range, K Tmin = -1e99 Tmax = 1e99 #exclude the following species (comma-separated, can be empty) skipSpecies = #include the following species only (comma-separated, ignored when empty) useSpecies = #exclude species that contain a specific case-sensitive string (comma-separated, can be empty, e.g. l- for linear mols) skipString = #subnetwork file outputFile = network_subsection.dat
LaTeX Network
You can use DOCMAKE to automatically create a LaTeX table of the used reaction network. The specifications for creating this LaTeX version have to be set in the latexoptions.json
file.
substitutions
contains shortcuts used in the network
deferred_substitution
contains user defined variables in reactions (with @var)
symbols
contains special symbols and functions used by KROME
latex_backend
lets you decide which python library to use to convert to LaTeX (sympy
or pytexit
)
lines_per_page
specifies the number of lines per lines per page in the LaTeX table
max_fraction_length
specifies the maximum length of a fraction in a rate coefficient
max_exponent_length
specifies the maximum length of a exponent before replaced with a 'hat'-notation
truncate_numbers
specifies the maximum length of long numbers
sorted_by
specifies how to sort the reactions (alphabetic
or index
)
References of reactions can also be automatically created. The reaction block needs to be preceded with a reference tag and the LaTeX cite command in comments:
#@ref:\cite{Sharipov2012} @format:idx,R,R,P,P,rate 421,AlO2,H2,AlO2H,H,7.672d-14*Tgas**(1.39)*exp(-2940.*invT)
A .bib file of references used by KROME networks is provided and should be continuously extended by users. Additionally, there is a public KROME group on Mendeley where paper references can be added to
Updated