Jupyter Notebook tab and raw Julia script to simulate the model in a square lattice (d=2).
The heat-bath Monte Carlo method is used along with a rejection technique to generate the probability density function of the scalar fields defined in each site of the lattice, thus effectively evolving the system towards its equilibrium state. Then, the Ferrenberg and Swendsen extrapolation technique is used in order to obtain accurate estimates of the desired magnitudes to study, i.e. magnetisation, energy, susceptibility and specific heat.
For more detailed information see the report.