A New Simulation Algorithm for Absorbing
Receiver in Molecular Communication
Yiran Wang† , Adam Noel‡ , and Nan Yang†

arXiv:1803.04638v1 [cs.ET] 13 Mar 2018

†

Research School of Engineering, Australian National University, Canberra, ACT 2601, Australia
‡
School of Engineering, University of Warwick, Coventry, CV4 7AL, UK
Email: yiran.wang@anu.edu.au, adam.noel@warwick.ac.uk, nan.yang@anu.edu.au

Abstract—The simulation of diffusion-based molecular communication systems with absorbing receivers often requires a
high computational complexity to produce accurate results. In
this work, a new a priori Monte Carlo (APMC) algorithm
is proposed to precisely simulate the molecules absorbed at
a spherical receiver when the simulation time step length is
relatively large. This algorithm addresses the limitations of the
current refined Monte Carlo (RMC) algorithm, since the RMC
algorithm provides accurate simulation only for a relatively
small time step length. The APMC algorithm is demonstrated to
achieve a higher simulation efficiency than the existing algorithms
by finding that the APMC algorithm, for a relatively large
time step length, absorbs the fraction of molecules expected by
analysis, while other algorithms do not.

I. I NTRODUCTION
Molecular communication (MC) has recently emerged as
an underpinning paradigm of exchanging information in nanoscale environments such as organs, tissues, soil, and water [1].
This information exchange is conducted among nanomachines
which are the devices with nano-scale functional components.
Within the research community, diffusion-based MC is a
simple but commonly adopted MC system. In such a system,
information molecules propagate using kinetic energy only,
which preserves a high energy efficiency. One of the major
challenges in designing and analyzing a diffusion-based MC
system is receiver modeling. The majority of the existing
MC studies have considered two types of receivers: passive
receivers and active receivers. Passive receivers do not impose
any impact on molecule propagation, while active receivers
can absorb molecules when they hit the receiver’s surface.
In nature, most receiver nanomachines react with or remove
selected information molecules from the environment when
they hit the receiver’s surface. Thus, active receivers are
generally more realistic than passive ones in describing the
chemical detection mechanism in MC. This motivates us to
investigate the properties of absorbing receivers.
The notion of diffusion with absorption is a long existing
phenomenon that has been described in the literature, e.g., [2].
Considering a diffusion-based MC system with a single fully
absorbing receiver within an unbounded three-dimensional
environment, [3] presented the hitting rate of molecules at
different times and the fraction of molecules absorbed until
a given time. Recently, [4] and [5] evaluated the impact of
receiver with reversible absorption on the performance of

MC systems, where a molecule can be released back to the
environment at some time after being captured by the receiver.
Apart from theoretical analysis such as [3]–[5], the simulation of MC systems is also an effective means for performance
evaluation. One of the most common MC simulation methods
is particle-based microscopic simulation. For diffusion-based
MC, molecules are moved by adding Gaussian random variables (RVs) to their x-, y-, and z-coordinates at the end of
every simulation time step. In practice, molecules may actually
diffuse into an absorbing receiver between two sampling times.
To determine this absorption, some existing simulation algorithms simply compared the observed coordinates of molecules
with those of the receiver [4], [6], [7]. As a consequence,
the molecules that hit a receiver between sampling times
cannot be considered as “absorbed” by using these simulation
algorithms. Recently, [8] and [9] investigated the possibility of
molecule absorption between sampling times. Specifically, [8]
declared a molecule as “absorbed” if its straight-line trajectory
within a time step crossed an absorbing surface. Differently,
[9] approximated the intra-step absorption probability for
spherical receiver boundaries using the equation for planar
receiver boundaries given by [10]. This approximation was
referred to as the refined Monte Carlo (RMC) algorithm.
The key contribution in this paper is that we propose a new
algorithm, i.e., the a priori Monte Carlo (APMC) algorithm,
for simulating an MC system with an absorbing receiver,
considering a relatively large time step length. We show that
using our APMC algorithm, the fraction of molecules absorbed
at the receiver precisely matches the corresponding analytical
result when the time step length is relatively large, or equivalently, the receiver’s radius is small. This demonstrates that
our APMC algorithm achieves a high simulation efficiency.
II. S YSTEM M ODEL
We consider a diffusion-based MC system within a threedimensional space, as depicted in Fig. 1. In this system, a
point transmitter (TX) is located at the origin of the space and
a single fully absorbing spherical receiver (RX) is centered
at location (r0 , 0, 0). We denote rr as the RX’s radius and
Ωr as the RX’s boundary. At the beginning of a transmission
process, the TX instantaneously releases N molecules. We
assume that the molecules are small enough to be considered
as points. Once released, molecules diffuse in the environment
according to Brownian motion until hitting the RX’s boundary.

z-axis

Molecules

Algorithm 1 The common structure of simulation algorithms
for a single absorbing RX

Ωr

1:
Receiver
(r0,0,0)

Transmitter
(0,0,0)

y-axis

2:
3:
4:

x-a
xis

rr

5:
6:
7:

Fig. 1: Illustration of our system model. The TX is a point transmitter located
at (0, 0, 0), the RX is a spherical receiver located at (r0 , 0, 0) with rr
being the radius and Ωr being the RX’s fully absorbing boundary. Molecules
propagate in the environment according to Brownian motion.

Molecule’s initial position
before propagation
Absorbing
receiver

8:
9:
10:
11:
12:
13:

Determine the end time of simulation.
for all simulation time steps do
if t = 0 then
Add N molecules to environment.
end if
Scan all not-yet-absorbed molecules, i.e., molecules
which are not absorbed by the RX.
for all not-yet-absorbed molecules do
Propagate each molecule for one step according to
Brownian motion.
Determine if the molecule is absorbed. molecules
absorbed
Update the location and status of the molecule.
end for
Record the number of molecules absorbed by the RX.
end for

Molecule’s final location
after propagation
Fig. 2: Illustration of the intra-step molecule movement. There is a possibility
that a molecule crossed an absorbing boundary within one time step, even
if its initial and final positions during that time step are both outside the
absorbing receiver.

We denote Nhit (Ωr , t|r0 ) as the number of molecules released
from the origin at time t0 = 0 s and absorbed by the RX at
time t. As per [11, Eq. (3.116)], we express Nhit (Ωr , t|r0 ) as


N rr
r0 − rr
,
(1)
erfc √
Nhit (Ωr , t|r0 ) =
r0
4Dt
where D is the diffusion coefficient and erfc (·) is the complementary error function. Here, D describes the proportionality
constant between the flux due to molecular diffusion and the
gradient in the concentration of molecules.
As mentioned in Section I, the majority of the existing
simulation algorithms for absorbing RXs did not consider the
possibility of intra-step molecule absorption. This absorption
is depicted in Fig. 2, which shows that the actual trajectory
of a molecule may cross the absorbing boundary during one
simulation time step, even if its initial position at the beginning
of the time step and its final position at the end of the same
time step are both outside the absorbing RX. If this crossing
occurs, the molecule is absorbed by the RX in practice. The
ignorance of this absorption leads to an underestimation of the
number of molecules absorbed, thus deteriorating the accuracy
of simulation. In this work, we refer to the probability that
a molecule is absorbed during a simulation time step as the
intra-step absorption probability. We note that the intra-step
absorbing probability was only considered in [8], [9]. In [9],
the intra-step absorption probability of a fully absorbing RX
with the spherical boundary was approximated as that of a
fully absorbing RX with an infinite planar boundary, given
by [10, Eq. (10)]


li lf
,
(2)
PrßRMC = exp −
D∆t

where li is the initial distance of a molecule from the absorbing
boundary at the beginning of a time step, lf is the final distance
of a molecule from the absorbing boundary at the end of the
same time step, and ∆t is the simulation time step length.
III. S IMULATION A LGORITHMS
In this section, we first clearly present the common structure
of the existing simulation algorithms for absorbing receivers.
Then we present our proposed APMC algorithm.
A. Common Structure of Existing Simulation Algorithms
Built upon the observation of the existing simulation algorithms for microscopic molecule absorption (such as those
in [6], [8], [9]), we find that they follow a common structure.
This common structure is presented in Algorithm 1.
We clarify that each algorithm has its own criterion for
determining whether or not a molecule is absorbed by the RX,
as given in Line 9 of Algorithm 1. The determination criteria
for the existing algorithms in [6], [8], [9] are summarized as
follows:
•

•

•

As per the determination criterion in [6], the molecules
being observed inside the RX at the end of a time step
are absorbed. This criterion is referred to as the simplistic
Monte Carlo (SMC) algorithm.
As per the determination criterion in [8], a molecule is
absorbed if the line segment from its initial position to
its final position crosses the RX’s boundary. However, we
note that the line segment crossing the RX’s surface is
neither sufficient nor necessary to correctly detect intrastep absorption.
As per the determination criterion in [9], referred to as
the RMC algorithm, (2) is used to calculate the intra-step
absorption probability of a fully absorbing RX with the
spherical boundary.

which is obtained by scaling (1) by N , replacing the total
simulation time t with ∆t, and replacing r0 with dj . Then the
molecule absorption is determined by generating a uniform RV
u, where 0 ≤ u ≤ 1, and comparing its value with the probability obtained by (3). A molecule is marked as “absorbed”
if u ≤ PrßAPMC . After determining the molecules absorbed,
each not-yet-absorbed molecule is propagated according to
Brownian motion. If any not-yet-absorbed molecule is inside
the RX’s boundary at the end of the current time step, we
revert the movement of this molecule and let it propagate
again, until this molecule diffuses to a location outside the
RX. The APMC algorithm is detailed in Algorithm 2.
IV. N UMERICAL R ESULTS
In this section, we use Monte Carlo simulations to compare
the time-varying results produced by the SMC algorithm, the
RMC algorithm, and the APMC algorithm for a single receiver.
The algorithms are implemented in MATLAB. Throughout this
section, we set the diffusion coefficient as D = 10−9 m2 /s and
assume that other parameters vary. In the figures, M denotes
the number of time steps. If not otherwise noted, the TX-RX
distance is r0 = 50 µm and the number of molecules released
is N = 106 . The fraction of molecules absorbed is defined
as the ratio between the number of molecules absorbed at the
RX and the total number of molecules.
Fig. 3 plots the simulated fraction of molecules absorbed
versus time t for M = 100, ∆t = 0.1 s, and rr = 20 µm
or 0.5 µm. In this figure, the analytical result obtained from
(1) is also plotted for evaluating the accuracy of the algorithms. From this figure, we observe that our APMC algorithm
achieves a higher accuracy when rr decreases while ∆t,
D, and r0 remain unchanged. Specifically, Fig. 3(a) shows
that the RMC algorithm matches the fraction of
√ molecules
absorbed expected by the analytical result when D∆t/rr is
small, which meets our expectation. Indeed, the performance
√
of the √
RMC algorithm depends on the value of D∆t/rr .
When D∆t/rr approaches 0 and r0 is larger than rr , the
surface area of the RX can be approximated by an infinite
plane. Therefore, the probability of a molecule entering the
RX between sampling times is comparable to the probability
of a molecule crossing a planar boundary between sampling

1:
2:
3:
4:
5:
6:
7:
8:
9:

10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:

Determine the end time of simulation.
for all simulation time steps do
if t = 0 then
Release N molecules into environment.
end if
Scan all not-yet-absorbed molecules.
for all not-yet-absorbed molecules do
Calculate the distance between the jth molecule to
(r0 , 0, 0), denote by dj .
Calculate the absorbed probability PrßAPMC for
each not-yet-absorbed molecule using (3) with rr , dj , D,
and ∆t.
if PrßAPMC ≥ u then
The molecule is absorbed.
end if
end for
for all not-yet-absorbed molecules do
Propagate the molecule for one step.
end for
for all free molecules in environment do
while the molecule’s distance to (r0 , 0, 0) ≤ rr do
Revert the movement of this molecule.
Propagate this molecule again.
end while
end for
Record the number of molecules absorbed at the RX
after this time step.
end for

0.6
0.5
0.4

0.04

RMC
SMC
APMC
Analytical

Fraction of Molecules Absorbed

In this subsection, we propose a new simulation algorithm
for approximating the√fraction of molecules absorbed at a fully
absorbing RX when D∆t/rr is larger than that considered
for the RMC algorithm in [9]. We refer to the newly proposed
algorithm as the APMC algorithm.
The procedure of the APMC algorithm is to first calculate,
before the jth molecule diffuses, the probability that this
molecule will be absorbed in the current time step. This
probability depends on the distance between this molecule
and the center of the RX, dj , and the time step length, ∆t.
Specifically, this probability is calculated as


dj − rr
rr
,
(3)
PrßAPMC = erfc √
dj
4D∆t

Algorithm 2 The APMC algorithm for molecule absorption

Fraction of Molecules Absorbed

B. A New A Priori Monte Carlo Algorithm

0.3
0.2
0.1
00

2

4

6

Time [s]

(a) rr = 20 µm

8

0.03
RMC
SMC
APMC
Analytical

0.02

0.01

0
0

2

4

6

8

Time [s]

(b) rr = 0.5 µm

Fig. 3: Comparison of the time-varying results produced by the SMC
algorithm, the RMC algorithm, and the APMC algorithm for M = 100 and
∆t = 0.1 s.

√
times. We also observe from Fig. 3(a) that when D∆t/rr is
small, the SMC algorithm and the APMC algorithm underestimates and overestimates the fraction of molecules absorbed,
respectively. Unlike Fig. 3(a), Fig. 3(b) shows that the APMC
algorithm matches the fraction of molecules absorbed expected
by the analytical result whereas the other two algorithms do
not. Particularly, the fractions of molecules absorbed produced
by the RMC and SMC algorithms are very far away from the

0.4

0.15

0.1
RMC
SMC
APMC
Analytical

0.05

0

0

1

2

3

Fraction of Molecules Absorbed

Fraction of Molecules Absorbed

0.2

0.3

0.2

0

4

RMC
SMC
APMC
Analytical

0.1

0

10

20

30

40

Time [s]

Time [s]

(a) ∆t = 0.5 s

(b) ∆t = 5 s

80
0.5

Distribution of
absorbed molecules
Analytical

60

0.4
0.3

40
0.2
20
0.1
0
1

2

3

4

5

0

Number of Molecules Newly Absorbed

Number of Molecules Newly Absorbed

Fig. 4: Comparison of the time-varying results produced by the SMC
algorithm, the RMC algorithm, and the APMC algorithm for M = 100 and
rr = 10 µm.
0.5

Distribution of
absorbed molecules
Analytical

60

0.4
0.3

40
0.2
20
0.1
0
1

2

3

4

Time [s]

Time [s]

(a) RMC Algorithm

(b) APMC Algorithm

5

0

Fig. 5: Distribution of the number of molecules newly absorbed during each
time step for the RMC and APMC algorithms with ∆t = 0.5 s, M = 10, and
rr = 10 µm. Simulations are repeated 103 times and N = 103 molecules
are released each time. The spectrum bars represent observation probabilities.

√
analytical result when t > 0 s. Indeed, when D∆t/rr is
large, the spherical RX’s boundary cannot be approximated
by a plane. Therefore, the RMC algorithm overestimates the
fraction of molecules absorbed.
Fig. 4 plots the simulated fraction of molecules absorbed,
together with the analytical result from (1), versus time t for
M = 100, rr = 10 µm and ∆t = 0.5 s or 5 s. We observe
from this figure that when ∆t increases from 0.5 s to 5 s,
our APMC algorithm achieves a higher accuracy. Specifically,
Fig. 4(a) shows that the gap between the fraction of molecules
absorbed produced by the APMC algorithm and that produced
by the RMC algorithm is very small. Also, Fig. 4(a) shows
that both the APMC and the RMC algorithms overestimate
the fraction of molecules absorbed. Unlike Fig. 4(a), Fig. 4(b)
shows that the APMC algorithm matches the fraction of
molecules absorbed expected by the analytical result. Fig. 4(b)
shows that the fraction of molecules absorbed produced by the
RMC algorithm is approximately twice of that produced by
the APMC algorithm when t ≥ 10 s. This
√ demonstrates the
accuracy of our APMC algorithm when D∆t/rr is large.
Fig. 5 depicts the distribution of molecules newly absorbed

during each time step (e.g., from t = 1 s to t = 1.5 s) for
both the RMC and APMC algorithms for M = 10, rr =
10µm, and ∆t = 0.5 s. The analytical result in this figure
is obtained based on (1). We observe from this figure that
the RMC algorithm significantly overestimates the number of
molecules newly absorbed when t = 1 s, while our APMC
algorithm gives an improved estimation accuracy when t = 1 s
by absorbing molecules according to (3). When t increases,
the overestimation of the RMC algorithm is slightly less severe
than that of the APMC algorithm. We further observe that
the distribution of molecules newly absorbed in Fig. 5(b) is
very similar to that in Fig. 5(a), which demonstrates that our
APMC algorithm does not noticeably affect this distribution.
Importantly, the average of the simulated distribution using
our APMC algorithm is not far from the analytical result.
V. C ONCLUSION
We proposed a new a priori Monte Carlo (APMC) algorithm to simulate the probability that a molecule is absorbed
by a spherical receiver in MC systems. Based on numerical
results, we confirmed that our APMC algorithm produces a
more accurate result for the fraction of molecules√absorbed
than the existing RMC and SMC algorithms when D∆t/rr
is large. This demonstrates that our algorithm is suitable to
enable an efficient simulation with a relatively large diffusion
time step length.
R EFERENCES
[1] T. Nakano, A. W. Eckford, and T. Haraguchi, Molecular Communication. Cambridge University Press, 2013.
[2] H. C. Berg, Random Walks in Biology. Princeton University Press,
1993.
[3] H. B. Yilmaz, A. C. Heren, T. Tugcu, and C. B. Chae, “Threedimensional channel characteristics for molecular communications with
an absorbing receiver,” IEEE Commun. Lett., vol. 18, no. 6, pp. 929–932,
June 2014.
[4] Y. Deng, A. Noel, M. Elkashlan, A. Nallanathan, and K. C. Cheung,
“Modeling and simulation of molecular communication systems with
a reversible adsorption receiver,” IEEE Trans. Mol. Biol. Multi-Scale
Commun., vol. 1, no. 4, pp. 347–362, Dec. 2015.
[5] A. Ahmadzadeh, H. Arjmandi, A. Burkovski, and R. Schober, “Comprehensive reactive receiver modeling for diffusive molecular communication systems: Reversible binding, molecule degradation, and finite
number of receptors,” IEEE Trans. Nanobiosci., vol. 15, no. 7, pp. 713–
727, Dec. 2016.
[6] H. B. Yilmaz and C.-B. Chae, “Simulation study of molecular communication systems with an absorbing receiver: Modulation and ISI
mitigation techniques,” Simulation Model. Practice. Th., vol. 49, pp.
136–150, Dec. 2014.
[7] I. Llatser, D. Demiray, A. Cabellos-Aparicio, D. T. Altilar, and
E. Alarcón, “N3sim: Simulation framework for diffusion-based molecular communication nanonetworks,” Simulation Model. Practice. Th.,
vol. 42, pp. 210–222, Mar. 2014.
[8] A. Noel, K. C. Cheung, R. Schober, D. Makrakis, and A. Hafid,
“Simulating with AcCoRD: Actor-based communication via reaction–
diffusion,” Nano Commun. Netw., vol. 11, pp. 44–75, Mar. 2017.
[9] D. Arifler and D. Arifler, “Monte Carlo analysis of molecule absorption
probabilities in diffusion-based nanoscale communication systems with
multiple receivers,” IEEE Trans. Nanobiosci., vol. 16, no. 3, pp. 157–
165, Apr. 2017.
[10] S. S. Andrews and D. Bray, “Stochastic simulation of chemical reactions
with spatial resolution and single molecule detail,” Phys. Biol., vol. 1,
no. 3, p. 137, Aug. 2004.
[11] K. Schulten and I. Kosztin, “Lectures in theoretical biophysics,” University of Illinois, vol. 117, 2000.

