Monte Carlo Calculation Engine
For Spin Correlations and Magnetization

Contents


Purpose and Objectives

The
Run Form on this page will start a run on the Hrothgar parallel machine to calculate correlations and magnetizations in the Ising model. The basic method is straightforward:
  1. For fixed coupling (J/kT), a number of Monte Carlo sweeps are done to "thermalize" the system.
  2. The average correlations and magnetization for the system are calculated (as discussed in the Correlations document).
  3. Steps 1 and 2 are repeated several times (at fixed J/kT) to give several independent measurements which can then be averaged to provide better estimates (with estimated errors) of the physical parameters.
  4. Steps 1, 2, and 3 are repeated at several values of J/kT, looking for "jumps" in the correlations and magnetization (that is, evidence for the phase transition.)
(These runs are similar to calculations done in the 1980s and reported in a number of physics research journals - except that Hrothgar is a far more powerful computer, allowing better calculations in far less time!)

The Monte Carlo runs can be regarded as "numerical experiments" which demonstrate several aspects of the phase transition in the Ising model

All of these results are well known, and could be demonstrated with a few carefully chosen examples. So, why should you bother to "re-invent the wheel"? There are several good answers.

  1. First, the usual reason: "hands on" is often better than "book learning".
  2. Step 3 of the basic method is a good practice in applied statistics. In particular, multiple independent measurements must be made and averaged in order to estimate "measurement errors".
  3. The "best" size for the Ising Model grid is not at all obvious. If the grid is too small, important qualitative effects are missed. If the grid is too large, the calculations take too long (even on a machine like Hrothgar).
  4. It is also not clear how many "thermalization sweeps" are needed in Step 1.

The last two points were important issues in many of the original research papers on Monte Carlo simulations of the Ising Model. The actual "performance" of the simulation procedure could only be assessed by performing a number of different numerical experiments and varying input parameters. Computational physicists spend considerable time assessing their codes, trying to distinguish real physics results from artificial effects due to the neture of thier computer code (for example, the size of the grid).

An important goal of this page is to provide you the opportunity to "play computational physicist".


Descriptions Of The Parameters

The user-specified parameters in the run submission form fall into three general categories:

Grid and State Evolution Parameters
These parameters specify the size of the Ising Grid, the spin-flip sequence (regular or random), and initial spin configurations per sampling.

Sampling Parameters
These parameters control the actual "work" done in estimating physical parameters of the system and are the most important user-specified values. These parameters include:

  1. Nstep: The number of Monte Carlo sweeps done to "thermalize" the system before calculating parameters.
  2. Nsamp: The number of independent samplings done for each specified value of J/kT.
  3. JkT: Value of the coupling strength (J/kT) for the first set of calculations.
  4. N_JkT: Number of J/kT points at which values are calculated.
  5. D_JkT: Change in J/kT between consecutive calculations.

Optional Parameters
These parameters allow specification of an overall applied magnetic field or a "non-standard" spin update stencil.

Remark On Form Operations

Unlike the Ising Configuration Sampler, the actual calculations are not done "while you wait". Instead, your request will produce a fairly quick response from the server indicating a run sequence number and giving an HTML link to the document which will contain your output. However, depending on the load on the system and the amount of computational work you have requested, the answer HTML may not be created for several hours.


Run Submission Form

Part 1: Grid and State Evolution Parameters

Grid Size
(Grid Size is NxN pixels for input value 'N'.)
Initial State
(Configuration before random evolution)
Sweep Pattern
(Order For Spin Updates)
State Resets
(Re-initialize Grid Between Samplings)

Part 2: Sampling Parameters

Nstep
(Sweeps through grid before sampling calculations.)
Nsamp
(Number of system samplings for each J/kT value.)
JkT
(Initial value for the coupling strength J/kT.)
N_JkT
(Number of J/kT values in output table.)
D_JkT
(Increment between successive J/kT values.)

Part 3: Additional, Optional Parameters

Update Stencil
(Click Here For Option Pictures.)
B/J
(Applied external magnetic field.)

Check your input values, then send them.


Typical Program Output

The output from the Monte Carlo program is basically a table of numbers which you should analyze, interpret, plot, ...

The program output is actually generated and "delivered" as a separate HTML document to be viewed in a WWW browser. The (nearly immediate) document you receive after submitting your request form will provide details.


An Output Sample

----- Specifications ------------------------------ J/kT Start: 0.4000 J/kT Step: 0.0300 Number Of Steps: 3 Samples Per J/kT: 16 Sweeps Per Sample: 100 Grid Size: 40 Update Mode: Random Spin Flips Sequence Number: 1 --------------------------------------------------- J/kT C2 C4 C8 C12 C16 C20 | M | rho_C ------- ------- ------- ------- ------- ------- ------- ------- ------- 0.4000 0.2788 0.1424 0.0493 0.0286 0.0243 0.0098 0.1139 4.2635 +- 0.0087 0.0129 0.0100 0.0084 0.0101 0.0143 0.0230 0.3075 ( 1.75) 0.4300 0.3941 0.2646 0.1633 0.1039 0.0749 0.0567 0.2683 7.9025 +- 0.0108 0.0149 0.0172 0.0169 0.0160 0.0149 0.0231 0.5131 ( 1.42) 0.4600 0.5144 0.4191 0.2729 0.1815 0.1389 0.1165 0.2741 10.1823 +- 0.0158 0.0192 0.0280 0.0349 0.0426 0.0474 0.0550 1.0598 ( 0.12) Total Time: 9.46 [s]
The first part of the output is simply a listing of the user specified parameters.

The computation results in the table are organized into 2-row sets, with the top row giving the average values for the various quantities and the second row the estimated errors (the standard deviations). The additional number in parentheses at the end of the "error row" are measures of the quality of the least-squares fit used to determine the correlation lengths. (The values are "chi-squared per degree of freedom", and they should/would be close to one or two if the exponential model were a good approximation.)

The values in the various columns of the table are as follows:

J/kT : Temperature Parameter
The Ising model coupling parameter value.

Cj : Spin-Spin Correlations
Values of the mean correlation between spin sites separated by "j" grid spacings.

|< M >| : Mean Magnetization
Absolute value of the average magnetization per site.

rho_C : Correlation Length
Coefficient in a simple fit of the correlation measurements to an (assumed) exponential deacy form.

(These quantities are described in more detail in the Correlations Document.)

Remark:The parameters for the test run listed above are not particularly good or useful. In particular, the results are too limited to provide evidence for the phase transition.

So, What Should You Do With The Numbers?

Short Answer: Whatever You Want!

Remember, this is your chance to "play physicist". Look through your results. Find some "interesting things". Do additional runs to explore these things further, ...

More Realistically: Some Hints

  1. For a modest sized grid (e.g., 60x60 or 80x80) generate results at enough different J/kT values to clearly see the phase transition.
  2. See how the results change for larger grids, such as 150x150.
  3. Make a plot of Cj versus j to see how well the "exponential fall-off" model actually describes your data.
  4. Explore more "exotic" options, such as changes in the update stencil.
  5. Investigate changes in the results as you change either the number of "stabilizing sewwps" per sampling or the total number of samples at each J/kT value.