470 likes | 650 Views
Applications of Monte Carlo Methods to Statistical Physics. Austin 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. Motivation: An Example .
E N D
Applications of Monte Carlo Methods to Statistical Physics Austin 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
Motivation: An Example • Consider calculation of an integral: • How can we calculate this? • Midpoint Method • Trapezoid Method • But these have problems…
Why do the standard methods fail? 1 Dimensional Integral 2 Dimensional Integral
Solving the Problem using Randomness • To prevent the so-called “curse of dimensionality,” we can randomly sample our space instead. • Example: Calculating π.
An Important Point • 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.
Percolation An example of Monte Carlo Methods in Action
Percolation What is Percolation?
What 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. Image from Wikimedia Commons
How Can We Model Percolation? • 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. Webster’s New Universal Unabridged Dictionary
How Can We Model Percolation? • 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.
Determining the Number of Paths • 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 Problems with this approach: • Far too many computations: • First, we have to trace all possible paths from one node on the surface.
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 Problems with this approach: • Far too many computations: • Then we have to repeat for every one of the nodes.
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 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.
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 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.
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 Problems with this approach: • Net result: this method is far too inefficient to work in practice.
Determining the Number of Paths • How do we count the number of paths which “span” the matrix? • There are a number of algorithms: • Hoshen-Kopelman Algorithm
The Hoshen-Kopelman Algorithm • 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 1 and 0 (essentially true and false) denote open and closed nodes, respectively. 2 1 4 3
Operation of HKA • 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.
Results of HKA applied to a Model System • 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.
Key Points: • Percolation Threshold • Phase Transition • Appropriate Limiting Behavior Pc ≈ 0.6 Results of HKA applied to a Model System n
(Number of clusters of size larger than 1) Results of HKA applied to a Model System
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
The 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 -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
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