# Mean field self consistency single site.py

(Difference between revisions)
 Revision as of 21:39, 3 November 2019Werner (Talk | contribs)← Previous diff Revision as of 21:49, 3 November 2019Werner (Talk | contribs) (→Description)Next diff → Line 8: Line 8: =Description= =Description= + The program performs a most basic iteration (searching self-consistency) of the m = tanh(q beta m) loop. =Program= =Program=

## Revision as of 21:49, 3 November 2019

This page presents the Python2 program Mean_field_self_consistency_single_site.py, that obtains the most basic self-consistency solution for the Ising model.

# Reference

This program is discussed in Lecture 08 of my 2019 ICFP lecture on Statistical physics: "Mean-field theory: The three pillars".

# Description

The program performs a most basic iteration (searching self-consistency) of the m = tanh(q beta m) loop.

# Program

import random, math, pylab

dim = 2
q = 2.0 * dim
Tc = 2.0 * dim
m_vec = [1.0]
T_vec = [0]
for iter in range(-1000, 1000):
t = iter / float(1100.0)
beta = (t * Tc + Tc) ** (-1)
T_vec.append(1.0 / beta)
m = 0.1
for iter2 in range(1000):
m = math.tanh(beta * q * m)
m_vec.append(m)
pylab.plot(T_vec, m_vec)
pylab.title('Weiss self-consistency for the Ising model
in \$d\$ = ' +  str(dim) + ' dimensions')
pylab.xlabel('\$T\$ (Temperature)', fontsize=18)
pylab.ylabel('\$m\$ (magnetization per site)', fontsize=18)
pylab.savefig('mean_field_self_consistency_Ising.png')
pylab.show()

# Version

See history for version information.