Wiki

Clone wiki

KROME / docmaker

back to index

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 
where 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
where 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