Austin Howard & Chris Wohlgamuth April 28, 2009 This presentation is available at...

Preview:

Citation preview

Applications of Monte Carlo Methods to

Statistical PhysicsAustin Howard & Chris Wohlgamuth

April 28, 2009

This presentation is available at http://www.utdallas.edu/~ahoward/montecarlo

What is a Monte Carlo Method?

An Introduction

Consider calculation of an integral:

How can we calculate this?◦ Midpoint Method◦ Trapezoid Method

But these have problems…

Motivation: An Example

Why do the standard methods fail?

1 Dimensional Integral 2 Dimensional Integral

To prevent the so-called “curse of dimensionality,” we can randomly sample our space instead.

Example: Calculating π.

Solving the Problem using Randomness

Calculating π

Calculating π

There is not “one” Monte Carlo (MC) method!

MC simulations do not come in a well defined equation or package.

The MC method can better be thought of as a process or systematic approach.

An Important Point

PercolationAn example of Monte Carlo Methods in Action

PercolationWhat is Percolation?

Percolation describes the flow of a fluid through a porous material.

This is in contrast to diffusion, which is the spread of particulates through a fluid.

What is Percolation?

Image from Wikimedia Commons

To model percolation (in 2D), we represent the material by an n x n “lattice” of points, called nodes,

How Can We Model Percolation?

Connected by line segments called bonds.

POROSITY (pō•ros′i•ty): The ratio of the volume of a material’s pores to that of its solid content.

How Can We Model Percolation?

Webster’s New Universal Unabridged Dictionary

Then we go through and randomly assign the property of open of closed to each line segment. Let us say the probabilty a particular line is open is p.

How Can We Model Percolation?

And we see how many “paths” from top to bottom we can trace using only “open” line segments.

How Can We Model Percolation?

How do we count the number of paths which “span” the matrix?

There are a number of algorithms:

Determining the Number of Paths

How do we count the number of paths which “span” the matrix?

There are a number of algorithms:◦ Straightforward

“Brute Force” Method

Determining the Number of Paths

How do we count the number of paths which “span” the matrix?

There are a number of algorithms:◦ Straightforward

“Brute Force” Method

Determining the Number of Paths

Problems with this approach:

Far too many computations:◦ First, we have to

trace all possible paths from one node on the surface.

How do we count the number of paths which “span” the matrix?

There are a number of algorithms:◦ Straightforward

“Brute Force” Method

Determining the Number of Paths

Problems with this approach:

Far too many computations:◦ Then we have to

repeat for every one of the nodes.

How do we count the number of paths which “span” the matrix?

There are a number of algorithms:◦ Straightforward

“Brute Force” Method

Determining the Number of Paths

Problems with this approach:

Far too many computations:◦ In order to use the

MC method, we need many, many “runs" with the same probability, so we must repeat the whole process a number of times with the same value of p.

How do we count the number of paths which “span” the matrix?

There are a number of algorithms:◦ Straightforward

“Brute Force” Method

Determining the Number of Paths

Problems with this approach:

Far too many computations:◦ Finally, in order to

get the percolation P (p) as a function of p, we must repeat all of this many times for different values of p.

How do we count the number of paths which “span” the matrix?

There are a number of algorithms:◦ Straightforward

“Brute Force” Method

Determining the Number of Paths

Problems with this approach:

Net result: this method is far too inefficient to work in practice.

How do we count the number of paths which “span” the matrix?

There are a number of algorithms:◦ Hoshen-Kopelman

Algorithm

Determining the Number of Paths

First improvement is that we transform from a matrix of the bonds:

The Hoshen-Kopelman Algorithm

To one of the nodes.

Each node is given the property of open or closed, as before, and we consider percolation to occur between two open nodes.

The Hoshen-Kopelman Algorithm

Thus, our problem is reduced to finding the proportion of “clusters” of open nodes which are large enough that they span from the top edge to the bottom edge.

The Hoshen-Kopelman Algorithm

The Hoshen-Kopelman Algorithm (HKA) essentially labels clusters of adjoining elements of a matrix which have the same value

The Hoshen-Kopelman Algorithm

Specifically, HKA transforms a matrix of data to a matrix of labels, with a different label used for each cluster of adjoining elements of the data matrix which have the same value.

The Hoshen-Kopelman Algorithm

The Hoshen-Kopelman Algorithm

0 1 1 1

1 0 1 0

0 1 0 0

1 1 0 1

1 and 0 (essentially true and false) denote open and closed nodes, respectively.

12

3

4

0 1 1 1

2 0 1 0

0 3 0 0

3 3 0 4

Unfortunately, due to time constraints, we will not be able to discuss the specifics of HKA here.

However, it is discussed in our paper, available on WebCT, and on the internet with this presentation.

Operation of HKA

Consider the following example:◦ Grid is a 500 x 500 2D matrix◦ Generate 5,000 matrices for each value of p.◦ Calculate P(p) for values of p spaced a distance

0.05 apart. One obtains the following graph.

Results of HKA applied to a Model System

Results of HKA applied to a Model System

n

Key Points:• Percolation Threshold• Phase Transition• Appropriate Limiting

Behavior

Pc ≈ 0.6

Results of HKA applied to a Model System

(Number of clusters of size larger than 1)

Ising Model

What is the Ising Model?-Simplified model for magnetic systems-Only two possible directions for spin-There are interactive forces between spins, but only neighbors

Ising Model

A few equations for us to recall

E J i j

i, j

, i, j 1

P e E /T

Ising ModelThe Monte Carlo Approach

Ising Model

Ising Model

-Divide system into a lattice structure

-Set initial conditions spin direction and H

-Flip spin direction and calculate new energy (E*)

Ising Model

Ising Model

-If ∆E <0 we retain it-If ∆E >0 we perform the following

-Choose a random number between (0,1]

-Calculate the probability (P) of the system attaining this

state-If P>random number spin flip

retained-If P<random number spin not

flipped

Ising Model

Summary

- The key ingredient in a Monte Carlo method is random numbers.

- In both Ising Model and percolation, Monte Carlo method is a

valuable tool.

This presentation is available at http://www.utdallas.edu/~ahoward/montecarlo