L=2“>L=2L=2. Find the analytical expression for the partition function and the corresponding expectations values for the energy |M|“>|M||M| (we will refer to this as the mean magnetization), the specific heat χ“> as functions of ΔE“>EE are possible for the two-dimensional Ising model. Figure out how to encode efficiently the energy differences in the Boltzmann distribution. See the discussions in section 13.5 of the lecture notes. Why dont you need to calculate E“>EE, mean magnetization CV“>CVCV and the susceptibility T“>TT using periodic boundary conditions for x“>xx and T=1.0“>T=1.0T=1.0 (in units of L=20“>L=20L=20 spins in the y“>yy directions.
In the previous exercise we did not study carefully how many Monte Carlo cycles were needed in order to reach the most likely state. Here we want to perform a study of the time (here it corresponds to the number of Monte Carlo sweeps of the lattice) one needs before one reaches an equilibrium situation and can start computing various expectations values. Our first attempt is a rough and plain graphical one, where we plot various expectations values as functions of the number of Monte Carlo cycles.
Choose first a temperature of kT/J“>kT/JkT/J) and study the mean energy and magnetisation (absolute value) as functions of the number of Monte Carlo cycles. Let the number of Monte Carlo cycles (sweeps per lattice) represent time. Use both an ordered (all spins pointing in one direction) and a random spin orientation as starting configuration. How many Monte Carlo cycles do you need before you reach an equilibrium situation? Repeat this analysis for T“>TT?
Project 4e): Analyzing the probability distribution
Compute thereafter the probability L=20“>L=20L=20 and the same temperatures, that is at T=2.4“>T=2.4T=2.4. You compute this probability by simply counting the number of times a given energy appears in your computation. Start the computation after the steady state situation has been reached. Compare your results with the computed variance in energy TC“>TCTC we can characterize the behavior of many physical quantities by a power law behavior. As an example, for the Ising class of models, the mean magnetization is given by
β=1/8“>=1/8=1/8 is a so-called critical exponent. A similar relation applies to the heat capacity
(1)χ(T)∼|TC−T|γ,“>(T)|TCT|,(1)(1)(T)|TCT|,
with γ=7/4“>=7/4=7/4. Another important quantity is the correlation length, which is expected to be of the order of the lattice spacing for T“>TT approaches ξ“> near (2)ξ(T)∼|TC−T|−ν.“>(T)|TCT|.(2)(2)(T)|TCT|.
A second-order phase transition is characterized by a correlation length which spans the whole system. Since we are always limited to a finite lattice, (3)TC(L)−TC(L=∞)=aL−1/ν,“>TC(L)TC(L=)=aL1/,(3)(3)TC(L)TC(L=)=aL1/,
with ν“> defined in Eq. T=TC“>T=TCT=TC and obtain a mean magnetisation
(5)CV(T)∼|TC−T|−γ→Lα/ν,“>CV(T)|TCT|L/,(5)(5)CV(T)|TCT|L/,
and susceptibility
L×L“>LLLL. Calculate the expectation values for ⟨|M|⟩“>|M||M|, the specific heat χ“> as functions of L=40“>L=40L=40, L=80“>L=80L=80 and T∈[2.0,2.3]“>T[2.0,2.3]T[2.0,2.3] with a step in temperature T“>TT.
Plot ⟨|M|⟩“>|M||M|, χ“> as functions of ⟨|M|⟩“>|M||M| when you evaluate ν=1“>=1=1 in order to estimate L→∞“>LL using your simulations with L=60“>L=60L=60, L=100“>L=100L=100 The exact result for the critical temperature (after Lars Onsager) is ν=1“>=1=1.
Background literature
If you wish to read more about the Ising model and statistical physics here are three suggestions.
- M. Plischke and B. Bergersen, Equilibrium Statistical Physics, World Scientific, see chapters 5 and 6.
- D. P. Landau and K. Binder, A Guide to Monte Carlo Simulations in Statistical Physics, Cambridge, see chapters 2,3 and 4.
- M. E. J. Newman and T. Barkema, Monte Carlo Methods in Statistical Physics, Oxford, see chapters 3 and 4.
Introduction to numerical projects
Here follows a brief recipe and recommendation on how to write a report for each project.
- Give a short description of the nature of the problem and the eventual numerical methods you have used.
- Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
- Include the source code of your program. Comment your program properly.
- If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
- Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
- Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
- Try to give an interpretation of you results in your answers to the problems.
- Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts youve made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
- Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you dont properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
Format for electronic delivery of report and programs
The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:
- Use Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
- Upload only the report file! For the source code file(s) you have developed please provide us with your link to your github domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. Alternatively, you can just upload the address to your GitHub or GitLab repository.
- In your git repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters.
- In this and all later projects, you should include tests (for example unit tests) of your code(s).
- Comments from us on your projects, approval or not, corrections to be made etc can be found under your Canvas domain and are only visible to you and the teachers of the course.
Reviews
There are no reviews yet.