1
Project A
Simulating a Physical System
Introduction
You
have
already
seen
a
number
of
examples
using
randomization
to
solve
problems
and
to
generate
experimental
results.
In
the
percolation
project,
grids
were
generated
according
to
a
specified
probability
distribution
to
experimentally
determine
the
percolation
probability.
This
approach is an example
of a
Monte Carlo
method, an algorithm that relies
on
repeated random
sampling
to
compute
results.
Monte
Carlo
methods
are
often
used
for
simulating
physical
and
mathematical systems when other methods are impossible or computationally infeasible.
Objective and Background
The objective of this project is to use the Monte Carlo “
demon algorithm
” to
estimate parameters
(for example, temperature) in a physical system, specifically an ideal gas with moving molecules.
We could simulate such a system by computing the pairwise interactions among all molecules at
every
time
step
in
the
simulation,
but
that
approach
would
be
computationally
intractable.
Moreover,
in
these
systems
we're
not
typically
interested
in
the
specific
behavior
of
each
individual molecule, but rather in the overall system behavior. For example, we want to know the
expected
distribution
of
molecule
velocities
in
a
gas
(e.g.,
to
understand
its
temperature),
not
which molecules have collided with which other molecules.
The key concept behind the demon algorithm is that any simulation must both
preserve the total
energy
of
the
system
(energy
is
conserved)
and
insure
that
no
particle
winds
up
with
negative
kinetic energy. The algorithm proceeds by choosing a molecule at random and proposing to make
a small random change to its energy (e.g., to simulate the effect of a collision). To compensate for
the change in energy of the molecule / particle, the oppos
ite change is made to a special “demon”
molecule, thus conserving the total energy of the system. Note that the
demon molecule
is
never
chosen at
random
for
this change; it only acts to store the difference between the system energy
and the total energy.
Before describing the demon algorithm in detail, we give a brief description of the system to be
simulated. In the
ideal gas
, we want to study the velocity of molecules in the gas. This
average
velocity gives a measure of the temperature of the gas. Consider the state of the gas in an insulated
container at an instant of time. Each of its molecules has some velocity that remains constant until
the
next
collision
involving
the
molecules.
Because
the
molecules
move
quickly,
on
average,
many of them will have experienced collisions during a short time span. Consequently, most of the
molecules will have substantially different velocities than they originally did. This process can, in
principle,
be
simulated
directly.
In
practice,
doing
so
is
computationally
too
expensive
or
is
infeasible (e.g.,
one step of the
situation
could
mean solving
n
differential equations,
with each
equation having n²
terms).