Julia Ising phase-transition simulator
A completed Julia 1.12.7 Monte Carlo study of magnetic order, response functions, Binder crossings, autocorrelation, and finite-size effects in the two-dimensional Ising model.

Software compatibility
The project includes pinned Project.toml and Manifest.toml environments for Julia 1.12.7. MATLAB, Mathematica, and Python versions are not included.
Project definition
Problem statement
Near a continuous phase transition, finite Ising lattices develop strong fluctuations and long correlations. Raw sample counts can therefore overstate precision, and finite-size peaks do not equal the infinite-lattice critical temperature.
Project objectives
- Implement the two-dimensional nearest-neighbour ferromagnetic Ising model with periodic boundaries.
- Run controlled Metropolis sampling across three lattice sizes and 27 temperatures.
- Calculate energy, absolute magnetisation, heat capacity, susceptibility, Binder cumulants, acceptance, and uncertainty.
- Measure integrated autocorrelation time and effective samples near criticality.
- Compare susceptibility peaks and Binder crossings with the exact critical temperature.
- Validate the implementation against complete 2 x 2 enumeration.
Project structure
Project components
Lattice physics
Implements periodic neighbours, Hamiltonian energy, magnetisation, ordered and random states, and exact critical constants.
Monte Carlo engine
Runs checkerboard production sweeps and random-site small-lattice validation with deterministic seeds.
Observable analyser
Calculates thermodynamic means, fluctuation responses, Binder cumulants, block errors, autocorrelation, and effective samples.
Finite-size study
Compares L = 16, 32, and 48 curves, parabolic susceptibility peaks, Binder crossings, and magnetisation scaling.
Verification
Checks exact enumeration, physical regimes, output counts, document integrity, and repository consistency.
Methodology
Project workflow
- 01Instantiate
Julia reads the pinned Project.toml and complete Manifest.toml dependency graph.
- 02Thermalise
Each seeded lattice receives 700 to 1,500 sweeps before measurements begin.
- 03Measure
The critical window retains 3,000 samples at two-sweep intervals, while outer cases retain 1,200 samples.
- 04Compare
Three size curves produce response peaks, Binder crossings, scaling, and correlation diagnostics.
- 05Verify
Seven test sets, exact enumeration, a repository validator, and a container smoke run check the delivery.
Demonstration scenario
The student begins with real magnetic-domain images and the Ising Hamiltonian, then compares ordered, critical, and disordered spin fields. Energy, magnetisation, response peaks, Binder crossings, autocorrelation, effective samples, exact enumeration, and finite-size scaling are explained from the retained data.
Engineering
Tools and method
- Tools
- The project uses Julia 1.12.7, CairoMakie 0.15.13, JSON 1.7.1 for subject analysis, simulation, and results.
- Environment
- Julia 1.12.7 with CairoMakie 0.15.13, JSON 1.7.1, a complete Manifest.toml, and Docker.
- Physics
- Classical zero-field nearest-neighbour ferromagnetic square lattice with periodic boundaries and J = kB = 1.
- Statistics
- Block standard errors, integrated autocorrelation time, effective samples, response moments, and finite-size calculations.
- Evidence
- One command regenerates 81 records, open data summaries, three spin snapshots, and fourteen PNG and SVG figure pairs.
Testing
Evaluation
Evaluation measures
- Exact critical temperature 2.269185
- Binder crossings 2.259243 for L16-L32 and 2.260796 for L32-L48
- L = 48 absolute magnetisation 0.986508 at T = 1.5 and 0.039341 at T = 3.5
- L = 48 critical-window autocorrelation time 45.487 sweeps at the exact critical temperature
- 2 x 2 Monte Carlo benchmark maximum relative error 0.339 percent
- Fourteen generated scientific figure pairs and three licensed microscopy images
- Seven automated test sets passing
Project boundaries
- Requires the pinned Julia 1.12.7 environment.
- No MATLAB, Mathematica, or Python simulation is included.
- The model is the classical two-dimensional nearest-neighbour ferromagnetic Ising model at zero external field.
- The finite lattices use periodic boundaries, reduced units, fixed temperature points, and finite sample counts.
- Local Metropolis updates show critical slowing and are not the most efficient available critical algorithm.
- The microscopy images provide literature context and are not validation of the simulated lattice.
- The project does not predict a particular magnetic material, reproduce quantum effects, or establish an infinite-lattice numerical proof.
Included
- 01Pinned Julia Project.toml and complete Manifest.toml
- 02Periodic square lattices with L = 16, 32, and 48
- 0327 temperatures from 1.5 to 3.5 with denser critical coverage
- 04Energy, absolute magnetisation, heat capacity, susceptibility, Binder cumulant, acceptance, autocorrelation, and effective-sample evidence
- 05Exact 2 x 2 enumeration and 100,000-sample Monte Carlo validation
- 06Open CSV, TOML, and JSON result files
- 07Fourteen generated result figures in PNG and SVG formats
- 08Three licensed magnetic-domain microscopy images with source and licence records
- 09Seven automated test sets
- 10Complete project files, models, calculations, and analysis material in a private GitHub repository
- 1180-page project documentation in PDF and editable Word formats
- 129-page setup and usage guide
- 1327 annotated references
Project record
No information is collected on this page.
- Permanent project ID
- GP-PH-0Q18DF4
- Catalogued
- 22 Aug 2026
- Completed
- 23 Aug 2026
- Verified
- 23 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.