Main Page

From MKMCXX
Revision as of 17:40, 10 July 2017 by Ifilot (talk | contribs)
Jump to: navigation, search

The MKMCXX manual

Purpose

MKMCXX is a software suite for constructing and performing microkinetics simulations. MKMCXX allows you to perform complex microkinetic simulations with a large number of compounds and elementary reaction steps in a short amount of time. The core engine of MKMCXX is C++-based and hence very fast. On the basis of a single input file, you are able to perform a detailed microkinetic study on any reaction of interest. Besides these simulations, also various analytical tools are integrated. For instance, a degree of rate control analysis can be performed to identify rate-controlling steps. All this functionality can be controlled on the basis of single, simple to write, input file. Maybe the best of all, MKMCXX is completely free (as in beer) and may be used for educational, academic or commercial purposes. Please read the license for more details.

Example simulation

Below, a simple example simulation for the methanation reaction is shown. The simulation is based on the input file as shown within the grey box. In the input file, you specify the compounds, the elementary reaction steps and the boundary conditions of the reaction. The microkinetic network is automatically constructed on the basis of the elementary reaction steps and the corresponding ordinary differential equations are solved over time. The results can be found in a series of data files as well as in ready-to-use graphs (see example graphs).

Example graph of the Turn-over-frequency for the methanation reaction as a function of temperature.
# Example input for methanation
#
# This is an example of a comment. Comments should have a # as the first character on a line.
#
##############################################
# the line below tells the program to start indexing all compounds
&compounds
settings)
CO;  		0;  1.0
H2;  		0;  3.0
CH4; 		0;  0.0
H2O; 		0;  0.0
CO*; 		1; 	0.0
H*; 		1; 	0.0
C*; 		1; 	0.0
CH*; 		1;	0.0
CH2*; 		1;	0.0
CH3*; 		1;	0.0
O*;			1;	0.0
OH*; 		1;	0.0
H2O*; 		1;	0.0
*;  		1;  1.0
#################################
# the line below tells the program to start indexing all reactions
&reactions
#
# adsorptions / desorptions - Note that adsorptions and desorption can also be done with Arhenius (AR) equations
#										 m^2		amu		K	sigma	sticking	J/mol
HK; {CO}	+ 	 {*} 	=>   {CO*};		1e-19;		28;	  2.73;		1;	1;			120e3
HK; {H2}	+ 	2{*} 	=>   2{H*};		1e-19;	 	 2;		88;		2;	1;	 		 80e3
HK; {H2O}	+ 	 {*}	=>  {H2O*};		1e-19;		18;		 2;		2;	1;	 		 63e3
# Surface reactions
#												vf		 vb		Eaf		Eab
AR; {CO*} 	+ 	 {*} 	=> {C*} 	+ 	{O*};	6e11;	4e12;	65e3;	90e3
AR; {C*} 	+ 	{H*} 	=> {CH*}	+	 {*};	1e13;	2e13;	40e3;	39e3
AR; {CH*} 	+ 	{H*} 	=> {CH2*}	+	 {*};	2e12;	2e11;	75e3;	37e3
AR; {CH2*} 	+ 	{H*} 	=> {CH3*}	+	 {*};	2e15;	4e13;	57e3;	47e3
AR; {CH3*} 	+ 	{H*} 	=> {CH4} 	+ 	2{*};	1e15;	 3e9;	130e3;	57e3
AR; 2{OH*}				=> {H2O*} 	+ 	{O*};	5e12;	5e13;	54e3;	28e3
AR; {O*} 	+ 	{H*}	=> {OH*} 	+ 	 {*};	4e14;	5e14;	100e3;	67e3
AR; {OH*} 	+ 	{H*} 	=> {H2O*} 	+ 	 {*};	2e15;	4e13;	92e3;	30e3
#################################
# the lines below tell the program which settings we want to use
&settings
TYPE = SEQUENCERUN
PRESSURE = 10
#REAGENTS = {CO},{H2}
#KEYCOMPONENTS = {CH4}
#################################
# the lines below tell the program which runs we want to perform
&runs
# Temp;	Time;	AbsTol;	RelTol
400;	1e8;	1e-12;	1e-12
450;	1e6;	1e-12;	1e-12
500;	1e4;	1e-12;	1e-12
550;	1e2;	1e-12;	1e-12
600;	1e1;	1e-12;	1e-12
650;	1e1;	1e-12;	1e-12
700;	1e1;	1e-12;	1e-12
750;	1e1;	1e-12;	1e-12
800;	1e1;	1e-12;	1e-12
850;	1e1;	1e-12;	1e-12
900;	1e1;	1e-12;	1e-12
950;	1e1;	1e-12;	1e-12
1000;	1e1;	1e-12;	1e-12
1050;	1e1;	1e-12;	1e-12
1100;	1e1;	1e-12;	1e-12
1150;	1e1;	1e-12;	1e-12
1200;	1e1;	1e-12;	1e-12
1250;	1e1;	1e-12;	1e-12
1300;	1e1;	1e-12;	1e-12
1350;	1e1;	1e-12;	1e-12
1400;	1e1;	1e-12;	1e-12