Reliable Kinetic Monte Carlo Simulation based on Random Set

Proceedings of ASME 2011 International Design Engineering Technical Conferences &
Computers and Information in Engineering Conference
IDETC/CIE 2011
August 29-31, 2011, Washington, DC, USA
DETC2011-48575
RELIABLE KINETIC MONTE CARLO SIMULATION BASED ON RANDOM SET
SAMPLING
Yan Wang
Woodruff School of Mechanical Engineering
Georgia Institute of Technology
Atlanta, GA 30332
ABSTRACT
To simulate the dynamic behaviors of large molecular
systems, approaches that solve ordinary differential equations
such as molecular dynamics (MD) simulation may become
inefficient. The kinetic Monte Carlo (KMC) method as the
alternative has been widely used in simulating rare events such
as chemical reactions or phase transitions. Yet lack of complete
knowledge of transitions and the associated rates is one major
challenge for accurate KMC predictions. In this paper, a
reliable KMC (R-KMC) mechanism is proposed to improve the
robustness of KMC results, where propensities are interval
estimates instead of precise numbers and sampling is based on
random sets instead of random numbers. A multi-event
algorithm is developed and implemented. The weak
convergence of the multi-event algorithm towards traditional
KMC is demonstrated with a proposed generalized ChapmanKolmogorov Equation.
1.
set of states of the system (i.e. all possible configurations). It
simulates state transitions between states which are triggered
by events (also called processes in chemistry-oriented
literature) that cause state changes. For instance, in the vapor
deposition process of crystal growth shown in Fig. 1-(a), each
“snapshot” of the system at a time where atoms are located in
space is a state of the KMC model. In Fig. 1-(b), the major
events that change the system’s state include adsorption
(particles in vapor are attracted to solid surface) with transition
rate a1 (transition or reaction rates indicate the frequencies of
events), desorption (particles previously absorbed on the solid
surface escape and are vaporized) with rate a7, surface diffusion
(particles on the surface move to a different location) with rates
a2 to a5, and vertical diffusion (particles on the surface move
into the solid) with rate a6. In chemical reactions, the numbers
of different species naturally form the states of KMC models.
Reactions themselves are the events.
a7
INTRODUCTION
a1
solid surface
To simulate the dynamic behaviors of large molecular
systems in multiscale materials and product design, approaches
that solve ordinary differential equations such as molecular
dynamics (MD) simulation become inefficient. In contrast,
atomic scale kinetic Monte Carlo (KMC) [1] is more efficient
in simulating the infrequent transition processes with longer
times than thermal vibrations. To simulate the infrequent or rare
events of transitions or reactions, several improvements of MD
have been proposed to bridge the gap of time scale and
accelerate the simulation speed of rare events, such as by
running multiple trajectories [2], introducing bias potentials
[3], or increasing temperatures [4]. However, the inherent
inefficiency of MD is that computational time is spent on
trajectory prediction, which is not important for rare event
simulations.
KMC does not simulate a system based on its continuous
evolvement along time as in MD. Instead, it defines a discrete
a5
particles
a4
a2
a3
a6
(b) possible events
(a) discrete states
Fig. 1: Example states and events in vapor deposition process
simulation
During the KMC simulation, events are randomly selected
to occur sequentially based on their respective probabilities of
occurrence, which are exponential distributions in general.
When an event occurs or is fired, the system state is updated
according to the nature of the event. At the same time, the
system clock that keeps track of the current time of the system
needs to be advanced by a certain period, which is also
randomly generated based on probabilistic principles. The
system clock provides information of how long the processes
1
Copyright © 2011 by ASME
last. Therefore, KMC essentially simulates state transitions or
reactions. Clock advancement is not based on a fixed time
period but directly determined by when the next event occurs.
Trajectories of atoms are not simulated. Time does not evolve
continuously. This discrete-event approach allows us to
simulate much larger atomic systems for much longer times
than those MD can provide.
Although the importance of KMC in rare-event simulation
has been widely recognized, there are three major challenges in
KMC simulation. The first challenge of accuracy for KMC is
that ideally all states and events have to be known a priori and
listed in an event catalog so that the dynamics of physical
process can be simulated accurately. That is, we should know
all possible events and the associated probabilities of
occurrence under all configurations when building KMC
models. However, this is not realistic because the lack of full
knowledge of physical systems does not allow us to know all
possible states and transition pathways.
The second challenge of robustness is that during
simulation the occurring probabilities of events are assumed to
be accurate and fixed. In the real world, this is not true.
Uncertainties are always involved in estimating the transition
rates thus the probabilities of events. When the rates are
estimated by physical experiments, measurement errors are
unavoidable. When rates are estimated from first-principles
calculation, numerical setup and approximations for
computability bring unintentional uncertainties, such as the
exchange-correlation treatment in density functional theory and
sampling limitation in quantum Monte Carlo simulation. Model
uncertainty is also inevitable when mathematical models are
used to describe physical phenomena. In addition, the transition
rates are dynamically changing over time. For instance, in
diffusions, when the material structure is under dynamic
mechanical load, the stress will change the diffusion rate.
Furthermore, bulk diffusion or inter-layer mass transport is
very sensitive to temperature change compared to surface
diffusion or intra-layer mass transport. Temperature variation
will affect the accuracy of KMC prediction. In biochemical
processes, the crowding effect, where macromolecules block
reaction paths, changes kinetic constants of reactions.
The third challenge of efficiency for KMC is that the time
scales of the events vary significantly. Thus it is possible that
the frequencies or probabilities of those events are in very
different scales. For instance, in simulating of diamond growth
in chemical vapor deposition, surface diffusion could be several
orders faster than adsorption and desorption. Computational
time is not optimized to focus more on slower but critical
events.
In this paper, a reliable KMC (R-KMC) simulation
framework is proposed to address the second challenge of
KMC, which is to improve the robustness of KMC prediction
under input uncertainty. The need to quantify variability and
incertitude separately has been well recognized. Variability or
aleatory uncertainty is the inherent randomness in the system
because of fluctuation and perturbation, whereas incertitude or
epistemic uncertainty is due to lack of perfect knowledge or
enough information about the system. The sources of epistemic
uncertainty in modeling and simulation include lack of data or
missing data, conflicting information, conflicting beliefs, lack
of introspection, measurement and numerical errors, and lack
of information about dependency.
The proposed R-KMC mechanism is to perform sampling
based on imprecise probability. Transition rates used in R-KMC
are intervals with lower and upper bounds in stead of precise
numbers. As a result, the probability of firing an event becomes
imprecise and is also an interval. The interval width captures
the epistemic portion of uncertainty. Therefore, in random
variate generation, a pair of cumulative distribution functions
as the lower and upper bounds are used, and the random
variates in R-KMC are random sets. A random set is a compact
set of random variables. Given the sample space Ω, a random
set can be regarded as a statistical sample of the power set 2Ω.
Thus instead of sampling one random value for each sampling
step, multiple random values are possible. Based on the multievent selection and clock advancement algorithm proposed in
this paper, either one or two random values are sampled, which
means that either one or two events occur at a time. The
variation of the number of random values captures epistemic
uncertainty, whereas the random values themselves correspond
to aleatory uncertainty. As a result, the two types of
uncertainties are represented explicitly so as to increase the
confidence of simulation results when inputs are uncertain.
Notice that discrete events are not unique in KMC. The
generic concept has also been widely used in simulating
discrete-event dynamic systems such as queueing networks in
operations research, also called discrete-event simulation
(DES) [5,6]. The event generation and clock advancement
mechanisms in commonly used DES are different from those in
KMC. Nevertheless, the proposed reliable simulation concept is
also applicable to DES [7,8,9].
In the remainder of the paper, Section 2 gives a brief
review of the classical KMC simulation algorithm, some
approaches to address the challenge of uncertain rate, and
imprecise probability that the R-KMC is based upon. In Section
3, the proposed R-KMC mechanism is introduced. In Section 4,
the multi-event algorithm as the core part of R-KMC is
described. In Section 5, the R-KMC is demonstrated by
examples. And finally in Section 6, the convergence of R-KMC
towards traditional KMC is studied.
2.
BACKGROUND
The major concept of the proposed R-KMC mechanism is
that since lack of complete knowledge on the underlying
physics of reaction or transition processes poses challenges on
the robustness of KMC prediction, reliable KMC simulation
should be conducted such that more information about
imprecise inputs can be provided without significantly
increasing computational load in order to improve robustness.
In this section, after the introduction of the most used
stochastic simulation algorithm in KMC, the existing
2
Copyright © 2011 by ASME
approaches to address the uncertain rates will be reviewed,
followed by the introduction of imprecise probability.
2.1 Kinetic Monte Carlo
In KMC, how often event j occurs or the probability that
even j is fired is determined by its associated rate aj (also called
propensity in chemistry-oriented literature) with respect to
other events. Among all M possible transitions leaving current
state, the probability pj of the transition from current state to
state j is the probability of firing event j, calculated as
pj = a j /
∑
M
[15,16]. It causes mutual impenetrability of solute molecules
and phase separation, thus increased folding and refolding rates
or reduced diffusion rates. To model the so-called spatial
challenge and time dependency of kinetic rates, fractal and
Zipf-Mandelbrot relationships were used. A combination of
spatial lattice diffusion and chemical reaction simulations was
proposed to model the actual crowding effect.
In addition, delays associated with transcription and
translation are essential in modeling cellular pathways and
regulatory networks, where biochemical processes such as
diffusion, translocation, protein synthesis and folding do not
occur instantaneously and often affected by spatial
homogeneities. Delay stochastic simulation algorithms
[17,18,19] were proposed to capture delays in temporal models,
where the quantities of reactants and products are updated
separately with a delayed period of time.
The above approaches incorporated input uncertainty for
application-specific KMC models to improve the robustness of
KMC. In contrast, the proposed R-KMC mechanism is generic
and simple enough to be applied to various domains, which is
based on the theory of imprecise probability.
2.3 Imprecise Probability
The imprecise probability is a generalization of the
traditional precise probability where probability values are no
longer precise numbers. That is, instead of a precise value of
the probability P (E ) = p associated with an event E , a pair of
lower and upper probabilities P (E ) = [ p, p ] are used to include
a . Because the time between transition events
i =1 i
Xj is exponentially distributed as X j ∼ exp(a j ) , the probability
that the inter-arrival time of event j is the minimum among M
independent
events
is
Pr[X j = min(X1, …, X M )] = a j / (a1 + + aM ) . Thus, for
each KMC step, an event is randomly selected based on the
proportions (a1 /
∑
M
a ), …,(aM /
i =1 i
∑
M
a ) . In addition, once
i =1 i
an event is fired, the clock of the system is advanced by a
second random value t ∼ exp
( ∑ a ) , which is the earliest
M
i =1 i
occurring time for any event out of M independent ones that are
exponentially distributed. In other words, when the time
between
(
events
)
Tj
are
(
P Tj ≤ τ = 1 − exp −a jτ
T
(1)
(
= min T1, …,TM
)
exponentially
) for
of
distributed,
j = 1, …, M , the earliest time
any
event
occurs
is
exponentially distributed as
M
(1 )
(1)
P T ≤ τ = 1 − P T > τ = 1 − ∏ j =1 P Tj > τ
(
)
= 1 − exp ⎛⎜ −
⎝
with the rate of
(
(∑ )
a τ ⎞⎟
j =1 j
⎠
i.e.
)
(
a set of probabilities and quantify the uncertainty. Imprecise
probability differentiates epistemic and aleatory uncertainties
also
qualitatively. The range of the interval [ p, p ] captures the
)
epistemic component, whereas the probability captures the
aleatory component. When p = p , the degenerated interval
M
∑
M
j =1
probability becomes a precise one. When the traditional precise
probability is used to analyze systems, sensitivity analysis is
usually applied to assess the robustness. Interval-valued
probability that considers a collection of scenarios
simultaneously thus is an efficient alternative.
Several theories and representations of imprecise
probability have been proposed. Yet the computation based on
these structures is inefficient. Recently a generalized interval
probability [20] based on generalized interval [21,22] was
proposed. In generalized interval, an interval x = [x , x ] is
called proper if x ≤ x , and called improper if x ≥ x . The
introduction of improper intervals greatly simplifies the
calculus structure of interval probability and makes it very
similar to the precise probability in the traditional probability
theory. The calculation of generalized intervals is based on the
Kaucher interval arithmetic. Particularly, for two intervals
[x , x ] and [y , y ] , addition and subtraction are defined as
a j . Therefore, the clock is advanced by
( )
the random variant T = − ln ρ / ∑ j =1 a j , where ρ ∼ U 0,1
M
is a random number sampled from the standard uniform
distribution.
The above is the most used so-called rejection-free method
[10] or stochastic simulation algorithm (SSA) [11], among
others [1]. In the classical rejection-free method, selecting an
event to fire has the linear time complexity with respect to the
number of possible events during simulation. To improve the
computational efficiency, searching methods with special data
structures such as two-level binning [12], binary tree [13], and
distinct rate list [14] have been developed.
2.2 Existing Approaches to Account for Uncertain
Rates
The uncertainty associated with probabilities in KMC
simulation was recognized recently. It was shown that the
kinetic rate in biochemical reactions varies over time instead of
a constant because of the macromolecular crowding effect
[x , x ] + [y, y ] = [x + y , x + y ] and [x , x ] − [y , y ] = [x − y , x − y ]
respectively. The width of interval x = [x , x ] is defined as
3
Copyright © 2011 by ASME
wid x :=| x − x |
(1)
The relationship between proper and improper intervals is
established by a dual operator defined as
dual[x , x ] := [x , x ]
(2)
The most important property of the generalized interval
probability is the logic coherence constraint (LCC). It is stated
that for a mutually disjoint event partition
sum
of
( )
interval
∑ i =1 p E i = 1 .
n
probabilities
is
∪
n
i =1
always
fire by generating a random number u~U(0,1) uniformly
distributed and selecting the random sets that u corresponds in
the c.d.f. For instance, in Fig. 2, if u1 is generated, the next
event is {C}. If u2 is generated, the next events are {A, B}. That
is, a random set of events are chosen.
Upper Bound
1
Ei = Ω , the
one,
i.e.
u2
probability is logically coherent with precise probability. For
instance,
for
a
system’s
working
status
with
p(down ) = [0.2, 0.3] , p(idle) = [0.3, 0.5] , p(busy ) = [0.5, 0.2] ,
it is interpreted as
( ∀p ∈ [0.2, 0.3])(∀p
( p + p + p = 1)
1
1
2
2
Lower Bound
The LCC ensures that the imprecise
)(
u1
0
)
∈ [0.3, 0.5] ∃p3 ∈ [0.2, 0.5]
A
C
N
B
Fig. 2: An illustration of random set sampling based on the
empirical interval c.d.f.
3
based on the Theorems of Interpretability [21]. See references
[20,23] for more information of the generalized interval
probability.
Once a random set of events are fired, the time should be
advanced. In the traditional KMC, the time increment is
exponentially distributed with the rate ∑ j a j and sampling of
3.
PROPOSED RELIABLE KINETIC MONTE
CARLO (R-KMC) SIMULATION
time increment is based on the inverse function of exponential
c.d.f. In R-KMC, the time to fire a random set of events has an
interval value, which includes the earliest and latest possible
times that multiple events occur.
The details of event selection and clock advancement in
the multi-event algorithm are described in the following
sections.
3.1 Event Selection
For M possible reaction or transition events, each event is
characterized by an interval-valued rate or propensity function
a j ( j = 1, …, M ). First, a1, a 2 , …, a M are sorted based on the
Without loss of generality, the vapor deposition process in
Fig. 1 is used to illustrate the R-KMC. The vapor deposition
process is characterized by several events such as adsorption
(with rate a1), intra-layer surface diffusion (with rates a2, …,
a5), inter-layer diffusion (with rate a6), and desorption (with
rate a7). Each of these rates is an interval value a j = [a j , a j ] for
j=1,2,…. If a null-event KMC algorithm [1] without
differentiating different locations is applied, the imprecise
probability that event j is chosen to be the next event is
p j = [a j , a j ] / a 0 where a0 is the upper bound of the sum of all
widths of the intervals in the ascending order and become
a(1) , a(2), …, a(M ) .
propensities. When choosing which event to fire, multiple
events can be selected because of the imprecise probability.
This is called multi-event algorithm.
A simplified example is used to illustrate the multi-event
algorithm. Suppose that there are three events A, B, and C that
may occur, which have the respective rates of a1=[1,3],
a2=[1,3] and a3=[4,5]. First, the rates are sorted based on the
uncertainty levels, i.e. the widths of the intervals, in an
ascending order. Next, the lower and upper bounds of intervals
are “flipped” in an alternating pattern. Now the sequence of
rates is a'3=[4,5], a'1=[3,1], a'2=[1,3]. Then, a null event N is
introduced with rate a'N=[1,0]. The general principle of
introducing null events is to make sure the interval sum
a0=a'1+a'2+a'3+a'N degenerates to a precise number (a0=[9,9] in
this example). This is based on the logic coherence constraint
mentioned in Section 2.3. The probability mass that event j
occurs is pj= a'j/a0. As a result, an empirical cumulative
distribution function (c.d.f.) can be built, as shown in Fig. 2.
Based on the empirical interval c.d.f., the events are chosen to
That
( ) ≤ wid ( a ) ≤
wid a
(1)
(2)
(
≤ wid a
(M )
)
is,
where
defined in Eq.(1). Further, a *-sum, denoted by
defined recursively as
∑
*J
j =1
∑
with
a( j ) := dual
*J =1
j =1
(∑
*J −1
j =1
)
a( j ) + a(J )
wid(⋅)
∑
*
(J = 2,…, M )
is
, is
(3)
a( j ) = a(1) , where dual(⋅) is defined in Eq.(2). The
semantics of interval propensities is maintained during event
selection, shown as follows.
Based on operator “+” of the Kaucher interval arithmetic,
if wid x ≤ wid y for any two intervals x and y that are not
improper (i.e. proper intervals or point-wise real numbers),
dual x + y
is
not
improper
and
then
(
)
wid dual x + y ≤ wid y . Therefore,
4
Copyright © 2011 by ASME
wid
(∑
*J −1
j =1
)
(J = 2,…, M ) (4)
a( j ) ≤ wid a(J −1) ≤ wid a(J )
Table 1: The pseudo-code of event selection in the multi-event
algorithm during each R-KMC iteration
Fig. 3 illustrates how the cumulative *-sum of the sorted
interval propensities is constructed. Because of Eq.(4), the
lower and upper bounds of
∑
*J
j =1
INPUT: The list of propensity_interval
OUTPUT: The list of events to fire
Sort propensity_interval in the ascending order based on the widths of
intervals;
// calculate the *sum of interval propensities to build the cumulative
distributive function
sum_interval[1]=propensity_interval[1];
a( j ) are always calculated
from the upper and lower bounds of
∑
*J −1
j =1
a( j ) respectively. At
the top of the accumulative *-sum, a null event is introduced
*M
with the propensity of a null = ⎡ 0, wid ∑ j =1 a( j ) ⎤ . Then the
⎢⎣
⎥⎦
real-valued upper limit of propensity sum is defined as
*M
*M
a 0 = dual ∑ j =1 a( j ) + ⎡ 0, wid ∑ j =1 a( j ) ⎤
(5)
⎢⎣
⎥⎦
)
(
)
(
FOR i=2:numEvents
sum_interval[i]=dual(sum_interval[i−1])+propensity_interval[i];
END
sum_interval[numEvents+1]=
)
(
dual(sum_interval[numEvents])+propensityOfNullEvent;
// sampling a random set of events
Generate a random number u ~ Uniform(0,1);
Thus when a random fraction ua 0 is generated, either one or
two events will be selected to fire, depending on the random
number u . If the projected line of ua 0 simultaneously
Fraction=u×sum_interval[numEvents+1]
FOR i=1:numEvents
intersects with two propensities (J and J+1 shown in Fig. 3),
the corresponding two events will be fired. Most importantly,
the above selection process based on the cumulative *-sum
indeed ensures that the probability that event J is selected is
⎡a (J ) / a , a (J ) / a ⎤ , which is the intent of interval
0
0⎦
⎣
propensities. Again, the introduction of null event is to satisfy
LCC so that the sum is up to a real value. When event M and
the null event are selected, only event M is fired whereas the
null event does not change the state of the system.
a0
u×a0
∑
*J −1
j =1
∑
∑
*J
j =1
j =1
Fraction<=sum_interval[index_L].UBound;
END
FOR i=numEvents:1
Find the largest i as index_U such that
Fraction>=sum_interval[index_U−1].LBound;
END
RETURN
the
random
set
of
events
corresponding
propensity_interval[index_L:index_U]
Clock Advancement
In the multi-event algorithm, a random set of multiple
events are chosen and fired at a time. Uncertainties are
associated with the clock advancement for firing the random set
of events. That is, how much time is needed for these random
events to occur varies and includes both components of
epistemic and aleatory uncertainties. To estimate the epistemic
uncertainty component, an interval approach is used here. The
worst and best scenarios need to be given. The least time for
the set of events to fire is when all of them occur at the same
time. Therefore, the lower bound of clock advancement is
(J)
Upper bound of
(J)
J−1
J
J+1
to
3.2
a( j )
Lower bound of
a( j )
a( j )
0
*M
Find the smallest i as index_L such that
M
null
TL = − ln ρ / ∑ j =1 a j
M
Fig. 3: The cumulative *sum to choose events randomly based
on interval propensities
(6)
The longest possible time for the set of events to fire is
when the events occur consecutively one by one. Suppose that
the respective rates of the firing sequence of n out of N events
The pseudo-code of event selection in the multi-event
algorithm is listed in Table 1. In each iteration of R-KMC, the
cumulative *sum is updated first. With a random number
generated, the corresponding random set of events is selected.
These events then are fired and the system’s state is updated.
from a random set are [a (1), a (1) ], …,[a (n ), a (n ) ] . In the worstcase scenario, the total elapsed time for the sequence of n
(n )
events is T = X (1) + X (2) + + X (n ) , where inter-arrival
times X (1), X (2), …, X (n ) are exponentially distributed with the
respective rates of α 0 , α1, …, α n −1 where
5
Copyright © 2011 by ASME
transition rates.
N
⎧α =
a
i =1 i
⎪ 0
N
⎪⎪α =
a − a (1)
1
i =1 i
(7)
⎨
⎪...
N
n −1 ( j )
⎪
a −
a
⎪⎩αn −1 =
i =1 i
j =1
The rates are changing because after each event is fired, the
earliest time for any of the left events to occur depends on the
number of events that are left. Then the c.d.f. of T (n ) is
(n )
P T ≤τ
(8)
n −1
(n )
exp
α
τ
= 1−P T >τ = 1−
A
−
j
j =0 j
∑
∑
∑
(
(
n −1
where Aj = ∏
i =0
i≠j
)
αi
αi − α j
4.
The proposed R-KMC based on random set sampling is
implemented in C++ and integrated with SPPARKS [24],
which is an open-source KMC toolbox developed at the Sandia
National Laboratories. R-KMC is demonstrated with two
examples, an E. coli reaction network and the microbial fuel
cell (MFC) simulation.
4.1 E. coli Reaction Network
The R-KMC is first demonstrated by the classical model of
the E. coli reaction network from Kierzek’s paper [25]. As
shown in Fig. 4, nodes represent species. Arrows denote
reaction directions and connect reactants to products,
associated with real-valued reaction rates. In R-KMC, the rates
are intervals because of uncertainties involved. With the
interval rates, interval propensities and probabilities are
calculated. Within each iteration, a random set of reaction
events are selected based on the algorithm in Section 3.1. The
interval time advancement is sampled based on the method in
Section 3.2.
At t = 0 , the initial counts of species are 1 for PLac, 35
for RNAP, and 350 for Ribosome. All others are zeros. Based
on the nominal values of rates in Fig. 4, interval rates are used.
Interval rates for ±1% and ±10% of the nominal values in the
respective experiments are chosen and the results are compared
with that from the traditional KMC. For instance, the rates of
the reaction PLacRNAP→TrLacZ1 at the right-bottom corner
of Fig. 4 become [0.99,1.01] and [0.9,1.1] respectively. For
each of the three scenarios (original real-valued rates, ±1%
interval rates, and ±10% interval rates), the model runs 20
times.
∑
)
(
∑
IMPLEMENTATION AND DEMONSTRATION
)
. Instead of sampling based on Eq.(8),
it is easier to sample each of X ( j ) ’s as exponential distributions
and the sum of the sample values will be a sample of T (n ) .
Therefore, the upper bound of clock advancement is
n −1
(9)
TU = − ln ρ ⎡ ∑ j = 0 1 / α j ⎤
⎣⎢
⎦⎥
where ρ is the same random number as in Eq.(6) and α j ’s are
defined as in Eq.(7).
With the interval time increment [TL ,TU ] , the current
system time [tL , tU ] in the simulation clock as an interval is
updated to [tL + TL , tU + TU ] . The purpose of keeping track of
an interval time is to estimate the best-case and worst-case
scenarios that how fast a system evolves. The interval clock
indirectly provides an estimation of lower and upper bounds of
system states, which forms the basis of R-KMC to
accommodate the uncertain simulation parameters, particularly
dgrLacZ
6.42E-5
9.52E-5
lactose
LacZlactose
LacZ
0.015
product
RbsRibosomeLacZ
TrRbsLacZ
431
0.4
0.45
0.17
0.3
0.45
Ribosome
RbsRibosomeLacY
0.4
TrRbsLacY
dgrRbsLacY
0.3
0.17
RbsLacY
1
LacY
6.42E-5
0.015
1
TrLacZ2
TrLacZ1
TrLacY2
PLac
0.036
14
TrLacY1
dgrRbsLacZ
RbsLacZ
dgrLacY
1
0.17
PLacRNAP
0.36
RNAP
10
Fig. 4: The reaction channels of LacZ and LacY proteins in E. coli [25]
6
Copyright © 2011 by ASME
Fig. 5 compares the average values of some species over
time, including product, Ribosome, dgrLacY, and LacZ. In the
charts, red solid curves represent the average values in the real
case. Blue dotted and dash curves are the lower and upper
bounds of those for the ±1% interval case. For the lower-bound
curves, the upper-bound time increment ΔtU is used in the plot,
whereas ΔtL is used for the upper-bound curves. Similarly,
green dotted and dash curves are the lower and upper bounds
of those for the ±10% interval case. It is observed that the
±10% interval case enclose the real case better than the ±1%
interval case. That is, at a particular time the likelihood that the
predicted lower and upper bounds for the number of a species
in R-KMC enclose the real-valued prediction in KMC is higher
in the ±10% interval case. The reliability or robustness of RKMC is quantified by the probability that the results from the
real-valued KMC are enclosed by those from R-KMC, which
will be more rigorously defined in Eq.(14). It is seen that the
wider the input interval rates are, the more robust the prediction
would be.
4.2 Microbial Fuel Cell (MFC)
The MFC is a type of fuel cell that converts the chemical
energy contained in organic matter to electricity using
microorganisms (bacteria) as a biocatalyst from organic waste
and renewable biomass. A MFC typically consists of two
chambers, an anaerobic anode chamber and an aerobic cathode
chamber separated by a proton exchange membrane (PEM).
For scaling up the MFC technology to the commercial scale,
fine-grained multi-physics simulation of electrochemical
processes for the entire fuel cell system is necessary for better
understanding of the system. Here the R-KMC mechanism is
demonstrated with a simplified example of MFC reaction
networks adopted from Refs. [26,27] as in Table 2, where the
estimated rates used in the R-KMC simulation are also listed.
The first nine reactions (R1-R9) occur in the anode chamber
whereas the last four (R10-R13) in the cathode chamber. Two
example outputs are shown in Fig. 6. Similar to the previous
example, it is highly likely that interval-valued predictions
enclose real-valued ones when systems are stabilized. The
engineering design procedure involves the optimization of
geometries or chemical compositions of electrode, PEM,
reduction-oxidization mediator, etc. for desirable rates.
(a) product
(b) Ribosome
(c) dgrLacY
5.
WEAK CONVERGENCE
The random set based R-KMC can be viewed as a
generalization of the traditional KMC. In this section, it will be
shown that the multi-event algorithm in R-KMC converges to
the traditional SSA in KMC smoothly with respect to both
distributions and expected values as the widths of interval
transition rates reduce towards zeros, when epistemic
uncertainty vanishes.
(d) LacZ
Fig. 5: Comparisons of the numbers of species over time in the
E. coli reaction network between the KMC and R-KMC
simulations, where interval reaction rates are ±1% and ±10%.
7
Copyright © 2011 by ASME
Table 2: The modeled reactions of a two-chamber MFC
Event type
Species and reactions
R1: water dissociation
R2: carbonic acid dissociation
R3: acetic acid dissociation
R4: reduced thionine first
dissociation
R5: reduced thionine second
dissociation
R6: acetate with oxidized
mediator
R7:
oxidation
double
protonated mediator
R8:
oxidation
single
protonated mediator
R9:
oxidation
neutral
mediator
R10: proton diffusion through
PEM
R11: electron transport from
anode to cathode
R12: reduction of oxygen
with current generated
R13: reduction of oxygen
with current generated
H2O ↔ OH− + H+
CO2 + H2O ↔ HCO3− + H+
AcH ↔ Ac− + H+
MH3+ ↔ MH2 + H+
Suppose
that
{S , S ,…, S }
X = ( X (t ), …, X
Rate
constant
101
101
101
101
1
a
1
consisting
has
N
2
system
N
the
of
N
species
state
variable
)
(t ) ∈ ZN+ at time t where Z + = N ∪ {0} is
the set of nonnegative integers. There are a total of M reaction
channels Rj ’s ( j = 1, …, M ), each of which is characterized
MH42+ ↔ MH3+ + H+
101
by an interval-valued propensity function a j (x ) given the
Ac− + MH+ + NH4+ + H2O →
XAc + MH3+ + HCO3− + H+
MH42+ → MH+ + 3H+ + 2e−
101
current state X (t ) = x , where a j : ZN+ → R2+ , and its state
101
change vector v j = v j 1, …, v jN . From the sum of propensity
1
function a 0 (x ) defined in Eq.(5), the probability of firing Rj is
+
+
+
MH3 → MH + 2H + 2e
−
10
(
(
(
)
) ) = ⎡⎣a
/ a 0 , a j / a 0 ⎤⎦ .
MH2 → MH+ + H+ + 2e−
101
P Tj = min T1, …,TM
H+ → H_+
10−2
e− → e_−
10−2
2H_+ + 1/2O2_ + 2e_− → H2O_
105
O2_ + 4e_− + 2H2O_ → 4OH_−
103
As a special case of the generalized Chapman-Kolmogorov
equation (Eq.(1.8) in Appendix), the interval master equation
that describes the evolution of the distribution of the system
states is
M
d
p x, t | x 0 , t0 = ∑Wj x − v j p x − v j , t | x 0 , t0
dt
j =1
(10)
⎡M
⎤
− dual ⎢ ∑Wj x p x, t | x 0 , t0 ⎥
⎣⎢ j =1
⎦⎥
(
j
(
)
) (
)
( ) (
(
where p x, t | x 0 , t0
)
)
is the probability of X (t ) = x given the
initial distribution X (t0 ) = x 0 , and Wj (x ) = a j (x ) / a 0 (x ) is
the transition rate. Because a j ’s are interval propensities, the
solution of Eq.(10) is a set of probability evolution paths.
In the multi-event algorithm in Section 3, the probability
density function of time between Rj is fired at the current state
x and next Rj is
f j (x, t )
(
)
(
= Wj (x ) ⋅ a 0 (x ) exp −a 0 (x )t = a j (x )exp −a 0 (x )t
(a) H2O in anode chamber
)
(11)
which converges to the one in the traditional SSA as the widths
of the interval propensities a j ’s reduce to zeros.
For the state variable, the path-wise representation of the
Poisson process with the integral form is
()
X t = x0 +
M
∑ P ⎛⎜⎝ ∫ a (X(τ )) dτ ⎞⎟⎠ v
j =1
t
j
0
j
j
(12)
⎛ t
⎞
where Pj t = Pj ⎜ ∫ a j X (τ ) dτ ⎟ is a generalized Poisson or
⎝ 0
⎠
()
(
)
counting process of the number of events to fire Rj and
∫ a (X(τ )) dτ
(b) H+ in cathode chamber
t
Fig. 6: Comparisons of the numbers of species over time in the
MFC reaction network between the traditional KMC and RKMC simulations, where interval reaction rate is ±10%.
0
j
is the mean firing rate of time t . Again, X (t )
is a random interval with discrete integer values. The
expectation is
8
Copyright © 2011 by ASME
(
M
)
E X (t ) = x 0 + ∑ v j ∫ a j (τ )dτ
j =1
work will include the extension to incorporate generalized
intervals so that interval uncertainty of time can be reduced to
zeros by calculating with improper intervals. For instance,
when measurements are taken at certain time, they can serve as
a reference point and precise numbers of species are given
without interval uncertainty. This may generalize the procedure
of R-KMC simulation and validation.
t
0
M
⎡
⎤
t
t
= ⎢x 0 + ∑ v j ∫ a j (τ )dτ , x 0 + ∑ v j ∫ a j (τ )dτ ⎥
0
0
j =1
j =1
⎣⎢
⎦⎥
M
(13)
()
Therefore, when a j (x ) = a j (x ) for all x , Pj t ’s are
degenerated to regular Poisson processes in the traditional
KMC, and the expected state values in R-KMC are the same as
the ones in KMC.
The R-KMC is to improve the robustness of the simulation
given input uncertainties. During simulation, the imprecise
rates in input are converted to imprecise times to achieve
certain states in output. The robustness is measured by the time
of enclosure as
−1
⎛ −1
⎞
P ⎜ X x ≤ X −1 x ≤ X x ⎟
(14)
⎝
⎠
( )
( )
()
−1
( ⋅)
∂
p(x , t | y, t ')
∂t
1
p(x , t + Δt | y, t ') − dual p(x , t | y, t ')
lim
Δt → 0 Δt
Because of the logic coherent constraint, we have
( )
for a particular state x , where random variables X
X −1 ⋅ , and X
APPENDIX – DERIVATION OF THE GENERALIZED
CHAPMAN-KOLMOGOROV EQUATION
With x , y ∈ Rn , the time evolution of the probability
p(x , t | y, t ') is characterized as
−1
{
( ⋅) ,
∫ dzp(z, t + Δt | x, t ) = 1
are the times that x is reached for the
( ( ⋅) ≤ t ) = 1 − ∑
P X
where X i−1 is X
−1
, X −1 , or X
ni −1 −a t
0
k =0
−1
e
(a t )
k
0
/k!
(1.2)
p(x , t + Δt | y, t ') = ∫ dzp(x , t + Δt | z , t )p(z , t | y, t ') (1.3)
Replace the first term in Eq.(1.1) by Eq.(1.3) and multiply
Eq.(1.2) with the second term, Eq.(1.1) now becomes
∂
p(x , t | y, t ')
∂t
⎡ p(x , t + Δt | z, t )p(z, t | y, t ')
⎤ ⎪⎫ (1.4)
1 ⎪⎧
dz
= lim
⎢
⎥⎬
⎨
Δt → 0 Δt ∫
⎢⎣ − dual p(z, t + Δt | x , t )p(x , t | y, t ')⎥⎦ ⎭⎪
⎩⎪
Consider two subdomains x − z ≤ ε and x − z > ε
(15)
, correspondingly ni is n ,
n , or n , which are the minimal, real-case, and maximal
numbers of events that occur respectively.
6.
(1.1)
where z ∈ Rn . In addition,
lower-bound, real-valued, and upper-bound scenarios
respectively. All three time variables follow the Erlang
distribution with c.d.f.’s as
−1
i
}
CONCLUDING REMARKS
separately where ε is small enough. Eq.(1.4) can be regarded
as
∂
p(x , t | y, t ') = I x −z ≤ε + I x −z >ε
∂t
where I x −z ≤ε is the right-side integral in Eq.(1.4) within the
In this paper, an R-KMC mechanism based on random-set
sampling is proposed to improve the KMC simulation
robustness where uncertainty associated with transition rates
and probabilities in simulation is considered. The new R-KMC
mechanism considers a range of possible state updates for each
simulation step based on a proposed multi-event algorithm. The
multi-event algorithm uses generalized intervals and strictly
follows the semantics of interval probability so that the
sampling process is a generalization of the traditional SSA in
KMC. The convergence of the multi-event algorithm towards
the traditional SSA is demonstrated.
For simple chemical reactions, the uncertainty effect is
captured by an interval system time, which indicates the earliest
and latest possible times required for the system reach a
particular state, as demonstrated by two examples. For more
complex systems where complete chemical and physical
processes at different locations need to be kept track of, the
uncertainty effect can be similarly captured as the earliest and
latest times that a number of certain species at a particularly
location is observed.
In this paper, only the worst- and best-case of time
advancement is considered in the multi-event algorithm. Future
small neighborhood
that captures continuous diffusion
processes, whereas I x −z >ε is the one outside the neighborhood
that represents jump processes.
Within the small neighborhood x − z ≤ ε , let x − z = h
and define f (x , h ) p(x + h, t + Δt | x , t )p(x , t | y, t ') . Then
p(z , t + Δt | x , t )p(x , t | y, t ') = f (x , −h )
and
p(x , t + Δt | z , t )p(z , t | y, t ')
.
= p(x , t + Δt | x − h, t )p(x − h, t | y, t ') = f (x − h, h )
Apply
the
Taylor
alike
expansion
f (x − h, h )
,
n
1
= f (x, h ) − ∑i =1 ∂f / ∂xi hi + ∑i ∑ j ∂2 f / ∂x i ∂x j hi h j + O ε 3
2
( )
9
Copyright © 2011 by ASME
where ∂f (x , h ) / ∂x i
{
}
(
lim f (x + Δx i , h ) − dual f (x , h ) / Δx i
Δx i → 0
and
then
∫ h ≤ε hidhp(x + h, t + Δt | x, t ) = E ⎡⎣xi (t + Δt ) − xi (t ) | X (t )⎤⎦ is
∂ 2 f (x , h )
∂x i ∂x j
.
⎧⎪f (x + Δx i + Δx j , h ) − dual f (x + Δx i , h )⎫⎪
lim ⎨
/
Δ
Δ
x
x
⎬
i
j
Δx i → 0 − dual f (x + Δx , h ) + dual f (x , h )
j
⎪
⎭⎪
Δx j → 0 ⎩
the expected state value change in the i th direction. Therefore,
Eq.(1.5) is interpreted as the state value change rate along one
direction, known as the drift vector. Similarly,
∫
Then
I x −z ≤ε
⎧⎪
⎨
⎩⎪
⎧
⎨
⎩
⎧
⎪
⎪
⎪⎪
⎨
⎪
⎪
⎪
⎩⎪
⎡
⎢⎣
⎡ p(x , t + Δt | z , t )p(z, t | y, t ')
⎤ ⎫⎪
dz ⎢
⎥⎬
x −z ≤ε
⎢⎣ − dual p(z , t + Δt | x , t )p(x , t | y, t ')⎥⎦ ⎭⎪
1
⎫
= lim
dh ⎡⎣ f (x − h, h ) − dual f (x , −h )⎤⎦ ⎬
h ≤ε
Δt → 0 Δt
⎭
⎡
⎤⎫
n
∂f
hi
⎢ f (x , h ) − i =1
⎥⎪
∂x i
⎢
⎥⎪
⎢ 1 n
⎥ ⎪⎪
n
∂2 f
1
= lim
dh ⎢ +
h
h
⎥⎬
i
j
i =1
j =1
h ≤ε
Δt → 0 Δt
∂x i ∂x j
⎢ 2
⎥⎪
⎢ − dual f (x , −h ) + O ε 3
⎥⎪
⎢
⎥⎪
⎣
⎦ ⎭⎪
1
⎤
= lim
dhf (x , h ) − dual
dhf (x , −h )⎥
h ≤ε
h ≤ε
Δt → 0 Δt
⎦
n
∂f
1
− lim
dh i =1
h
Δt → 0 Δt h ≤ ε
∂x i i
n
n
∂2 f
1
1
+ lim
dh i =1 j =1
h h +O ε
∂x i ∂x j i j
2 Δt →0 Δt h ≤ε
n ⎡
∂f ⎤
1
h⎥
= − i =1 ⎢ lim
dh
ε
≤
h
∂x i i ⎥⎦
⎢⎣ Δt →0 Δt
⎤
n ⎡
1 n
1
∂2 f
dh
hi h j ⎥ + O ε
lim
+
⎢
i =1
j =1 Δt → 0
ε
≤
h
2
Δt
∂x i ∂x j
⎢⎣
⎥⎦
∫
∫
∑
∑ ∑
∫
( )
∫
∫
∑
∫
∑ ∑
∫
∑
∫
since
( )
∫
∑ ∑
h ≤ε
∫
dxf (x , h ) =
∫
( )
Furthermore,
∫
dh
h ≤ε
hi h j dhp(x + h, t + Δt | x , t )
.
= E ⎡ x i (t + Δt ) − x i (t ) x j (t + Δt ) − x j (t ) | X (t )⎤
⎣
⎦
Eq.(1.6) is the combined area change rate in two directions,
known as the diffusion matrix.
We now have
n ∂A (x , t )
I x −z ≤ε = − i =1 i
p(x , t | y, t ')
∂x i
n ∂Bij (x , t )
1 n
+
p(x , t | y, t ') + O ε
2 i =1 j =1 ∂x i ∂x j
)(
(
∫
( )
∑ ∑
where
∂Ai (x , t ) / ∂x i
{
}
lim Ai (x + Δx i , t ) − dual Ai (x , t ) / Δx i
Δx i → 0
and
⎧Bij (x + Δx i + Δx j , t ) ⎫
⎪
⎪
∂ Bij (x , t )
1
⎪− dual Bij (x + Δx i , t ) ⎪
lim
⎨
⎬
Δx → 0 Δx Δx
− dual Bij (x + Δx j , t )⎪
∂x i ∂x j
i
j ⎪
Δx → 0
⎪+ dual Bij (x , t )
⎪
⎩
⎭
for the diffusion process.
For the jump process
I x − z >ε
2
i
j
⎡ p(x , t + Δt | z, t )p(z, t | y, t ')
⎤ ⎫⎪
dz ⎢
⎥⎬
x −z > ε
⎢⎣ − dual p(z, t + Δt | x , t )p(x , t | y, t ')⎥⎦ ⎭⎪
⎡
⎤
1
=
p(x , t + Δt | z, t ) p(z, t | y, t ')⎥
dz ⎢ lim
x −z >ε
Δt → 0 Δt
⎣
⎦
⎡
⎤
1
− dual
p(z , t + Δt | x , t ) p(x , t | y, t ')⎥
dz ⎢ lim
x −z >ε
Δt → 0 Δt
⎣
⎦
We define
1
W(y | x , t ) lim
p(y, t + Δt | x , t )
(1.7)
Δt → 0 Δt
as the rate of transition from x to y . Then
1
Δt → 0 Δt
= lim
⎧⎪
⎨
⎩⎪
∫
{
}
{
∫
∫
)
∑
∫
⎤
h fdh ⎥
h ≤ε
h ≤ε i
⎦
,
⎤
∂ ⎡1
h dhp(x + h, t + Δt | x , t )⎥ p(x , t | y, t ')
=
⎢
∂x i ⎣ Δt h ≤ε i
⎦
and similarly
1
∂2 f
dh
hh
Δt h ≤ε
∂x i ∂x j i j
.
⎤
∂2 ⎡ 1
h
h
dh
x
h
t
t
x
t
x
t
y
t
p
p
(
,
|
,
)
(
,
|
,
')
=
+
+
Δ
⎢
⎥
∂x i ∂x j ⎣ Δt h ≤ε i j
⎦
We thus define
1
Ai (x , t ) lim
h dhp(x + h, t + Δt | x , t ) (1.5)
Δt → 0 Δt h ≤ ε i
1
Bij (x , t ) lim
h h dhp(x + h, t + Δt | x , t ) (1.6)
Δt → 0 Δt h ≤ ε i j
1
Δt
∂f
∂ ⎡1
hi =
⎢
∂x i
∂x i ⎣ Δt
h ≤ε
dxf (x , −h ) .
t,
time
similarly
1
= lim
Δt → 0 Δt
)
If X (t ) = x 1 (t ), …, x n (t ) represents the state of the system at
}
{
∫
I x −z >ε =
∫
∫
x −z > ε
− dual
}
dz ⎡⎣ W(x | z, t )p(z, t | y, t ')⎤⎦
∫
x −z >ε
dz ⎡⎣ W(z | x , t )p(x , t | y, t ')⎤⎦
As ε → 0 , the subdomain x − z > ε becomes the complete
∫
domain. As a result, the generalized differential ChapmanKolmogorov equation is
∫
10
Copyright © 2011 by ASME
∂
p(x , t | y, t ') = −
∂t
∫
∑
n
i =1
∂Ai (x , t )
∂x i
1
p(x , t | y, t ') +
2
+ dzW(x | z, t )p(z, t | y, t ') − dual
∑ ∑
n
n
i =1
j =1
∂2 Bij (x , t )
∂x i ∂x j
p(x , t | y, t ')
(1.8)
∫ dzW(z | x, t )p(x, t | y, t ')
[16] Schnell S. and Turner T.E. (2002) Reaction kinetics in
intracellular environments with macromolecular crowding:
simulations and rate laws. Progress in Biophysics &
Molecular Biology, 85: 235-260
[17] Bratsun D., Volfson D., Tsimring L.S., and Hasty J. (2005)
Delay-induced stochastic oscillations in gene regulation.
Proceedings of the National Academy of Sciences of the
U.S.A., 102(41): 14593-14598
[18] Barrio M., Burrage K., Leier A., and Tian T. (2006)
Oscillatory regulation of Hes1: Discrete stochastic delay
modelling and simulation. PLoS Computational Biology,
2(9): 1017-1030
[19] Burrage K., Hancock J., Leier A., and Nicolau D.V. (2007)
Modelign and simulation techniques for membrane
biology. Briefing in Bioinformatics, 8(4): 234-244
[20] Wang Y. (2010) Imprecise probabilities based on
generalized intervals for system reliability assessment.
International Journal of Reliability & Safety, 4(4): 319342
[21] Gardeñes E., Sainz M.A., Jorba L., Calm R., Estela R.,
Mielgo H., and Trepat A. (2001) Modal intervals. Reliable
Computing, 7(2): 77-111
[22] Dimitrova N.S., Markov S.M., and Popova E.D. (1992)
Extended interval arithmetics: new results and
applications, Computer Arithmetic and Enclosure
Methods, L. Atanassova and J. Herzberger (eds.), pp.225232
[23] Wang Y. (2008)
Imprecise probabilities with a
generalized interval form. Proc. 3rd Int. Workshop on
Reliability Engineering Computer (REC’08), Savannah,
Georgia, pp.45-59
[24] SPPARKS Kinetic Monte Carlo Simulator, available at
http://www.cs.sandia.gov/~sjplimp/spparks.html
[25] Kierzek A.M. (2002) STOCKS: STOChastic Kinetic
Simulations of biochemical systems with Gillespie
algorithm. Bioinformatics, 18(3): 470-481
[26] Picioreanu C., van Loosdrencht M.C.M., Curtis T.P., and
Scott K. (2010) Model based evaluation of the effect of
pH and electrode geometry on microbial fuel cell
performance. Bioelectrochemistry, 78(1): 8-24
[27] Zeng Y., Choo Y.F., Kim B.-H., and Wu P. (2010)
Modeling and simulation of two-chamber microbial fuel
cell. Journal of Power Sources, 195: 79-89
REFERENCES
[1] Chatterjee A. and Vlachos D.G. (2007) An overview of
spatial microscopic and accelerated kinetic Monte Carlo
methods. Journal of Computer-Aided Materials Design,
14:253-308
[2] Voter, A.F. (1998) Parallel replica method for dynamics of
infrequent events, Physical Review B, 57(22): R13985R13988
[3] Voter, A.F. (1997) Hyperdynamics: Accelerated molecular
dynamics of infrequent events, Physical Review Letters,
78(20): 3908-3911
[4] Sørensen, M.R. and Voter, A.F. (2000) Temperatureaccelerated dynamics for simulation of infrequent events,
Journal of Chemical Physics, 112: 9599
[5] Law A.M. and Kelton W.D. (2000) Simulation Modeling
& Analysis. 3rd Ed., New York: McGraw-Hill.
[6] Banks J., Carson J.S., and Nelson B. (1996) DiscreteEvent System Simulation. 2nd Ed. Upper Saddle River, NJ:
Prentice-Hall.
[7] Batarseh O.G. (2010) An Interval-Based Approach to
Model Input Uncertainty in Discrete-Event Simulation.
Ph.D. dissertation, University of Central Florida, Orlando
[8] Batarseh O.G. and Wang Y. (2008) Reliable Simulation
with Input Uncertainties Using an Interval-Based
Approach. Proc. 2008 Winter Simulation Conference,
Dec.7-10, 2008, Miami, FL, pp.344-352
[9] Batarseh O.G., Nazzal D., and Wang Y. (2010) An
interval-based metamodeling approach to simulate material
handling in semiconductor wafer fabs. IEEE Transactions
on Semiconductor Manufacturing, 23(4): 527-537
[10] Bortz A.B., Kalos M.H., and Lebowitz J.L. (1975) A new
algorithm for Monte Carlo simulation of Ising spin
systems. Journal of Computational Physics, 17(1): 10-18
[11] Gillespie D.T. (1976) A general method for numerically
simulating the stochastic evolution of coupled chemical
reactions. Journal of Computational Physics, 22: 403-434
[12] Maksym PA (1988) Fast Monte Carlo simulation of MBE
growth. Semiconductor Science & Technology, 3(6): 594596
[13] Blue J.L., Beichl I., and Sullivan F.(1995) Faster Monte
Carlo simulations. Physical Review E, 51(2): R867-868
[14] Schulze T.P. (2002) Kinetic Monte Carlo simulations with
minimal searching. Physical Review E, 65(3): 036704(1-3)
[15] Berry H. (2002) Monte Carlo simulations of enzyme
reactions in two dimensions: fractal kinetics and spatial
segregation. Biophyiscal Journal, 83: 1891-1901
11
Copyright © 2011 by ASME