ALPS 2 Tutorials:MC-07 Phase Transition

From ALPS
Revision as of 17:43, 12 May 2010 by Alet (talk | contribs) (First draft for classical phase transition tutorial)

Jump to: navigation, search

This tutorial in under progress ... Please do not edit ...


The goal of this tutorial is to learn how to detect a second-order phase transition from finite-size simulations, using the venerable example of the 2d Ising model. No true phase transition can occur on a finite system. Nevertheless finite-size simulations show clear precursor signs of the phase transition which, combined with finite-size scaling, allow a precise determination of the universality class of a continuous phase transition.

Almost everything is known about the phase transition in the 2d Ising model since it is exactly solvable. In this tutotial, we will try to recover the location of the critical point, as well as critical exponents as if we would not know them in order to illustrate the methods. To make precise estimations requires quite some time. For this let us start the final simulation parameters in the background while doing the first part of the tutorial. ( start parm2 simulations in background. Quite long. Takes about 1 hour)


Part 1  : Locate roughly the phase transition

First, let us make a rough temperature scan on small systems, in order to locate roughly the critical range. ( start parm1 simulations. It takes about 12 minutes. In order to speed up the simulations, I recommand using --Tmin 5 in the command line version)

The order parameter describting the low-temperature phase in the Ising model is the magnetization per site m. Of course, on a finite-system, \langle m\rangle is zero by symmetry since there is no true symmetry breaking, and one should rather look at the average absolute value of magnetization per site. (make plot of |Magnetization| versus T for L=4,8,16)

One clearly see that the magnetization rises from its zero high-temperature value to saturation at low T. The temperature at which it happens is not so clear, as the upturn gets sharper as system size is increased. To have a clearer idea, let us look at fluctuations of magnetization.

For this, let us consider the connected susceptibility \chi = \beta .N .( <m^2> - <|m|>^2), where N is the total number of spins and where we substracted the square of the average absolute value of magnetization (hence the name connected). (make plot of Connected Susceptibility versus T for L=4,8,16) One observes a marked peak around T=2.2-2.4, where fluctuations are the strongest. We note that the peaks tend do diverge with system size; as we will see later, this divergence can be caracterized by a critical exponent.

This first gross estimation of the critical temperature is confirmed by looking at the behaviour of the specific heat, which caracterizes fluctuations of energy : C_v = \beta^2 . N. ( < e^2 >- <e>^2 ) (where e is the internal energy per site). (make plot of Specific Heat versus T for L=4,8,16) We observe here a peak, albeit less marked, around the same values of temperature. We will account for the less pronounced divergence of the specific heat peak later too.

Sometimes locating the maximum of a curve (such as the peaks in susceptibility or specific heat) is not always easy given the temperature grid used in the simulations. Moreover, and this can be seen in the previous plots, the peak temperature can drift with system size (this is also accounted for in the finite-size scaling theory outlined below).

An alternative efficient way of locating phase transitions is through the use of cumulants. Let us consider the ratio U_4=<m^4>/<m^2>^2, first introduced by Binder (this cumulant is often called the Binder cumulant). At low temperature, this ratio tends to unity, whereas gaussian fluctuations of the order parameter give a value 3 for U_4 in the high temperature phase. The non-trivial feature of the Binder cumulant resides in its value at the critical point, which can be shown to be universal and independent of the system size. Therefore, a plot of the Binder cumulant versus temperature allows a determination of Tc at the crossing points of the curves with different system sizes. This (make plot of Binder cumulant versus T for L=4,8,16)

From this last plot, we thus conclude that the phase transition is located in the finer range T_c \in [2.2,2.3]. Oone can also consider another cumulant Failed to parse (Missing <code>texvc</code> executable. Please see math/README to configure.): U_2 = <m^2> / <|m|>^ 2, and this is left as an exercice. (make plot of Binder cumulant U2 versus T for L=4,8,16)

Part 2 : Locate precisely the phase transition, first estimates of critical exponents, collapse plots

We can now try to perform a more precise determination of the nature of the phase transition using a finer grid of temperature in the critical range T and using larger systems. For this, we will use the parm2 results (hopefully they are finished)

Perform the Binder cumulant crossing (make plot of Binder cumulant versus T for L=32,48,64) What is the estimate of T_c you obtain from this plot ?

There is more information in this plot. Indeed, the theory of finite size scaling indicates the following scaling form for the Binder cumulant U_4 = f (L^{1/\nu} (T-T_c)/T_c), where f is a universal function.

For the different system sizes used in parm2, plot the Binder cumulant as a function of (T-T_c)/T_c where T_c is the estimation you determined previously: all the curves should cross close to 0. Now try to find a good constant a such that when multiplied by L^a, all curves corresponding to system size L, collapse into a single master curve (that is the curve for L=32 should be multiplied by 32^a, L=48 by 48^a etc).

Hint : Try a close to unity ...

What you are currently doing is a data collapse in the scaling regime, a famous technique to obtain critical exponents. In this case, you can read off the correlation lenght critical exponent : \nu = 1/a. The Binder cumulant collapse is pretty useful as it allows to determine \nu indepedently of other critical exponents (data collapse for other quantities often need to also scale the quantity on the y-axis by some other exponent L^b).

Now consider the specific heat and connected susceptibility. (make plot of Specific Heat and Connected susceptibility versus T for L=32,48,64) Both connected susceptibility and specific heat peak at values of T which are slightly different from the Tc obtained with the Binder cumulant crossing. Such small differences are expected on small finite-systems : the effective critical temperature Tc(L) that one can define at the position of the peaks is expected to drift with system size : T_c(L) = T_c + A L^{-1/\nu}. The constant A can be different with different ways of defining Tc(L).

What about critical exponents ? They can be read off from the value of the connected susceptibility or specific heat, either at Tc(L) or at the Tc obtained from the Binder cumulant. One expects the following scaling : \chi (T_c) \sim L^{\gamma/\nu} and C_v (T_c) \sim L^{\alpha / \nu} For instance, locate the maximum of the connected susceptibility for the different curves, plot it as a function L and try a power-law fit. Note that by using relations between critical exponents \gamma / \nu = 2 - \eta. What value of \eta do you obtain ?

Repeat the same procedure for the specific heat. What value of \alpha do you obtain ? Note that \alpha can in general be positive or negative, meaning that the specific heat need not to diverge at a continuous transition (in contrast with the connected susceptibility).

As an exercice, you can repeat the same analysis for the absolute magnetization, which scales as L^-\beta/\nu. (make plot of |Magnetization| versus T for L=32,48,64) Also, try to perform a data collapse for the connected susceptibility and magnetization Hint : The corresponding scaling forms are \chi = L^{2-\eta} g ( L^{1/\nu} (T-T_c)/T_c)) and |m| = L^{-\beta/\nu} h ( L^{1/\nu} (T-T_c)/T_c)).


Part 3 : Precise estimates of critical exponents (left as an exercise)

The exact critical exponents of the 2d Ising are : \nu=1, \eta=1/4, \beta=1/8 and \alpha=0. On this last exponent : the specific heat does diverge, but logarithmically, not as power-law (hence the specific heat exponent is 0 dimensionnaly). How do you compare your estimates with the exact values ?

The quality of the estimates one obtains for the critical exponents and temperature increases coniderably when using larger system sizes, which were not accessible during the time scale of this tutorial. Moreover, they also rely on the quality of the estimate of the critical temperature. For more precision on critical exponents, one can use the following parameter files where the exact T_c = 2 / ln(1+\sqrt(2) = 2.269\ldots is already inforced. As the simulations in parm3 are very long, they are left as an exercise where you can obtained precise estimates of critical exponents thanks to the methods outlined above. ( start parm3 simulations. Can be very long - about ?? hours)

Since there is only one value of temperature as a parameter, the previous way of determining \nu through a data collapse is not that helpful. The above scaling form for the Binder cumulant allows for another more direct determination of \nu. Derivating the Binder cumulant with respect to T, one easily sees that the derivative dU_4/dT scales as L^{1/\nu} at T_c. You can either obtain this derivative from a numerical differentiation of your data, or better, it can also be obtained as a thermodynamical average during the Monte Carlo simulations. Note that this requires good statistics. (make plot of Binder cumulant slope versus L for the various sizes of the parm3 file) Plot this derivative at T_c as a function of system size. Perform a power-law fit in order to obtain \nu.