{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Statistical Physics\n", "\n", "Numerical methods play an important role in statistical physics applications.\n", "Classical molecular dynamics simulations of the Lennard-Jones fluid is one such example.\n", "Other powerful applications can be achieved by applying Monte Carlo methods." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Statistical averages and importance sampling\n", "\n", "For a system in statistical equilibrium at given temperature, the probability that the system is\n", "in a given microstate $i$ is given by the \n", "Boltzmann formula:\n", "$$\n", "P(E_i) = \\frac{e^{-\\beta E_i}}{Z},\n", "$$\n", "where $\\beta = 1/(k_BT)$ is the inverse temperature, $E_i$ is the energy in state $i$, and $Z = \\sum_i e^{-\\beta E_i}$ is the partition function.\n", "\n", "Main interest typically lies in calculating the average of various physical observables.\n", "For an arbitrary quantity $X$ it reads\n", "$$\n", "\\langle X \\rangle = \\sum_i X_i P(E_i),\n", "$$\n", "where $X_i$ is the value of quantity $X$ in microstate $i$.\n", "Numerical methods become useful when it is impossible to compute the partition function or the sum analytically.\n", "\n", "One possible way to estimate $\\langle X \\rangle$ is to sample each microstate uniformly at random, calculate $X_i$ and accept with a weight proportional to $P(E_i)$. If we have $N$ samples, the estimate for $\\langle X \\rangle$ reads\n", "$$\n", "\\langle X \\rangle = \\frac{\\sum_{k=1}^N X_k P(E_k)}{\\sum_{k=1}^N P(E_k)} = \\frac{\\sum_{k=1}^N X_k e^{-\\beta E_k}}{\\sum_{k=1}^N e^{-\\beta E_k}}~.\n", "$$\n", "\n", "This method does not require the evaluation of the partition function $Z$.\n", "However, the method is not very efficient because it will typically sample states that do not contribute much to the final result due large penalty from the Boltzmann factor $e^{-\\beta E_k}$.\n", "\n", "The importance sampling method is more efficient. Instead of choosing the microstates uniformly, one samples them with probability proportional to the Boltzmann exponent, $P_i \\propto e^{-\\beta E_i}$.\n", "In this case\n", "$$\n", "\\langle X \\rangle = \\sum_i X_i P(E_i) = \\sum_i X_i P_i,\n", "$$\n", "and thus it is approximated by simple average from $N$ observations\n", "$$\n", "\\langle X \\rangle = \\sum_i X_i P(E_i) \\simeq \\frac{1}{N} \\sum_{k=1}^N X_k.\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Markov chain method\n", "\n", "How to pick states from the distribution $P_i = e^{-\\beta E_i} / Z$?\n", "In most cases we cannot even computed $Z$, and thus the normalized probabilities $P_i$.\n", "It turns out we don't have to.\n", "The distribution can be simulated using a device called Markov chain.\n", "\n", "This proceeds as follows. We want to choose states from the distribution $P_i = e^{-\\beta E_i} / Z$ for evaluating $\\langle X \\rangle$. We do so via an iterative procedure. Let us have state $i$ at the present step drawn from $P_i$ and we want to move to a new state $j$.\n", "To do that we introduce transition probalities $T_{ij}$ which, by construction, satisfy\n", "$$\n", "\\sum_j T_{ij} = 1.\n", "$$\n", "The Markov chain method stipulates choosing $T_{ij}$ such that \n", "$$\n", "\\frac{T_{ij}}{T_{ji}} = \\frac{P_j}{P_i} = \\frac{e^{-\\beta E_j} /Z}{e^{-\\beta E_i} / Z} = e^{-\\beta(E_j - E_i)}.\n", "$$\n", "\n", "Imagine that, at the current step, the probability to have state $i$ is given by the Boltzmann distribution, $P_i$.\n", "The probabilty to have state $j$ at the next step is then\n", "$$\n", "\\sum_i T_{ij} P_i = \\sum_i T_{ji} P_j = P_j \\sum_i T_{ji} = P_j.\n", "$$\n", "\n", "Therefore, if we start from the Boltzmann distribution, all the subsequent samples will also correspond to the Boltzmann distribution. It can also be proven that starting from some initial state sampled from arbitrary distribution, the subsequent state of the Markov chain will eventually converge to the Boltzmann distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Metropolis algorithm\n", "\n", "Metropolis algorithm is a way to simulate the Markov chain with $T_{ij}$ that satisfy the conditions above.\n", "\n", "The method works as follows:\n", "Suppose that we have a move set -- $M$ different ways to move from state $i$ to state $j$, and vice versa. \n", "1. We pick a move to state $j$ uniformly at random (thus the probability for each one is $1/M$).\n", "2. We then calculate the energy $E_j$ of the candidate state $j$ and compare it to the energy $E_i$ of the current step $i$. \n", " 1. If $E_j < E_i$, the move is accepted. \n", " 2. If $E_j > E_i$, the move can still be accepted, but with a probability\n", " $$\n", " P_{a} = e^{-\\beta (E_j - E_i)}.\n", " $$\n", " \n", "In this way we satisfy the condition\n", "$$\n", "\\frac{T_{ij}}{T_{ji}} = e^{-\\beta (E_j - E_i)}.\n", "$$\n", "Indeed, if e.g. $E_j > E_i$, the probability to select state $j$ is $1/M$ and the probability to accept is $e^{-\\beta (E_j - E_i)}$, thus the total transition probability is \n", "$$\n", "T_{ij} = \\frac{1}{M} e^{-\\beta (E_j - E_i)}.\n", "$$\n", "If we are in state $j$, the probability to select state $i$ is $1/M$, which is then accepted unconditionally since $E_i < E_j$, thus\n", "$$\n", "T_{ji} = \\frac{1}{M}.\n", "$$\n", "The ratio clearly satisfies the Markov chain method condition\n", "$$\n", "\\frac{T_{ij}}{T_{ji}} = e^{-\\beta (E_j - E_i)}.\n", "$$\n", "\n", "The full Metropolis algorithm thus proceeds as follows:\n", "1. Choose a random starting state\n", "2. Choose a move uniformly at random to a new state. A single move can entail, for instance, changing the state of a single molecule picked randomly.\n", "3. Calculate the value of the acceptance probablity $P_a$ and accept the move with this probability.\n", "4. Measure the quantity of interest $X$ in the new state and add it to the average.\n", "5. Repeat from step 2.\n", "\n", "Note that it is possible that the system stays in the present state, $i \\to i$. This is a perfectly valid step." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Finite volume effects in ideal gas\n", "\n", "We can use the Metropolis algorithm to simulate the behavior of the ideal gas.\n", "\n", "### Particle in a box\n", "\n", "Recall the energy levels of a particle in a box of length $L$.\n", "These are obtained by solving Schroedinger's equation for a free particle\n", "$$\n", "-\\frac{\\hbar^2}{2m} \\frac{d^2}{dx^2} \\psi(x) = E \\psi(x),\n", "$$\n", "with boundary conditions $\\psi(0) = \\psi(L) = 0$.\n", "\n", "The energy levels read\n", "$$\n", "E_n = \\frac{\\pi^2 \\hbar^2}{2mL^2} n^2, \\qquad n = 1,2\\ldots\n", "$$\n", "In three dimensions (cube) we have contributions from the three directions, thus\n", "$$\n", "E_{n_x,n_y,n_z} = \\frac{\\pi^2 \\hbar^2}{2mL^2} (n_x^2 + n_y^2 + n_z^2), \\qquad n_x, n_y, n_z = 1,2,\\ldots\n", "$$\n", "\n", "### Particle in a periodic box\n", "\n", "Another possibility is periodic boundary conditions, $\\psi(x) = \\psi(x+L)$.\n", "In this case the energy levels read\n", "$$\n", "E_{n_x,n_y,n_z} = \\frac{2 \\pi^2 \\hbar^2}{mL^2} (n_x^2 + n_y^2 + n_z^2), \\qquad n_x, n_y, n_z = 0,1,\\ldots\n", "$$\n", "\n", "### Ideal gas\n", "\n", "\n", "When we have a system of $N$ particles, neglecting the quantum statistical effects, the total energy reads\n", "$$\n", "E = \\sum_{i=1}^N E_{n_x^{(i)},n_y^{(i)},n_z^{(i)}}~.\n", "$$\n", "\n", "All the microstates can be enumerated by the individual energy levels of each particle $n_x^{(i)},n_y^{(i)},n_z^{(i)}$.\n", "\n", "The probability to have a particular state is given by the Boltzmann distribution\n", "$$\n", "P \\propto e^{-\\beta E}.\n", "$$\n", "\n", "### Metropolis algorithm\n", "\n", "The simulation using the Metropolis algorithm proceeds by randomly changing $n_x^{(i)},n_y^{(i)},n_z^{(i)}$ and accepting then new state with a given probability.\n", "We can define our move set as follows.\n", "Given the present configuration $n_x^{(i)},n_y^{(i)},n_z^{(i)}$ we randomly pick a particle, and try to increase or decrease one its components, $n_x^{(i)}$, $n_y^{(i)}$, or $n_z^{(i)}$ by one.\n", "If the move is not allowed (e.g. $n_x^{(i)}$ becomes less than one) the present state is preserved.\n", "Otherwise, we accept the new state with the Metropolis probability $P_a$." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "# Work with m = 1, hbar = 1, L = 1\n", "\n", "# If True, use periodic boundary conditions\n", "periodicBC = False\n", "\n", "# Calculate energy of a particle in a state n = (nx,ny,nz)\n", "# periodicBC: apply periodic BC\n", "def En(n, periodicBC):\n", " nx = n[0]\n", " ny = n[1]\n", " nz = n[2]\n", " factor = 0.5\n", " if (periodicBC):\n", " factor = 2.\n", " return factor * np.pi**2 * (nx**2 + ny**2 + nz**2)\n", "\n", "# Simulates the ideal gas of N particles at temperature T\n", "# by performing Markov chain steps using Metropolis algorithm\n", "# Returns an array energies normalized by the number of particles times the temperature\n", "def simulateIdealGas(T, N, steps, periodicBC):\n", " # Initialization\n", " n = np.ones([N,3],int)\n", " E = 0\n", " for i in range(N):\n", " E += En(n[i], periodicBC)\n", "\n", " # Energy per particle normalized by T\n", " eplot = [ E / (N * T) ]\n", "\n", " for k in range(steps):\n", " # Choose the particle\n", " i = np.random.randint(N)\n", " # Choose the component\n", " j = np.random.randint(3)\n", " tn = n[i].copy()\n", " # Choose the direction\n", " if (np.random.rand() < 0.5):\n", " tn[j] += 1\n", " else:\n", " tn[j] -= 1\n", "\n", " # If n becomes negative, by symmetry set it to positive (periodic BC)\n", " if (tn[j] == -1 and periodicBC):\n", " tn[j] = 1\n", "\n", " # Avoid n = 0 states if not periodic BC\n", " if (tn[j] == 0 and not periodicBC):\n", " tn[j] = 1\n", "\n", " # Energy difference\n", " dE = En(tn, periodicBC) - En(n[i], periodicBC)\n", "\n", " if (np.random.rand() < np.exp(-dE/T)):\n", " n[i,j] = tn[j]\n", " E += dE\n", "\n", " eplot.append(E / (N * T))\n", " \n", " return eplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us simulate the system of $N = 1000$ for three different values of the temperature" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N = 1000\n", "steps = 500000\n", "periodicBC = False\n", "Ts = [5. , 10., 100.]\n", "eplots = []\n", "\n", "for T in Ts:\n", " eplots.append(simulateIdealGas(T, N, steps, periodicBC))\n", "\n", "# Make the graph\n", "import matplotlib.pyplot as plt\n", "\n", "plt.ylim(0,5)\n", "for i in range(len(Ts)):\n", " leg = \"T = \" + str(Ts[i])\n", " plt.plot(eplots[i],label=leg)\n", "\n", "if (periodicBC):\n", " plt.title(\"Ideal gas in a finite cube with periodic boundary conditions\")\n", "else:\n", " plt.title(\"Ideal gas in a finite cube\")\n", "plt.axhline((3/2),linestyle='--',label='classical limit')\n", "plt.xlabel(\"Step\")\n", "plt.ylabel(\"${E/(NT)}$\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At high temperatures the result approaches\n", "$$\n", "E = \\frac{3NT}{2},\n", "$$\n", "of an ideal Boltzmann gas without energy levels quantization (thermodynamic limit).\n", "\n", "Let us try the same calculation with periodic boundary conditions" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N = 1000\n", "steps = 500000\n", "periodicBC = True\n", "Ts = [5., 10., 100.]\n", "eplots = []\n", "\n", "for T in Ts:\n", " eplots.append(simulateIdealGas(T, N, steps, periodicBC))\n", "\n", "# Make the graph\n", "import matplotlib.pyplot as plt\n", "\n", "plt.ylim(0,5)\n", "for i in range(len(Ts)):\n", " leg = \"T = \" + str(Ts[i])\n", " plt.plot(eplots[i],label=leg)\n", "\n", "if (periodicBC):\n", " plt.title(\"Ideal gas in a finite cube with periodic boundary conditions\")\n", "else:\n", " plt.title(\"Ideal gas in a finite cube\")\n", "plt.axhline((3/2),linestyle='--',label='classical limit')\n", "plt.xlabel(\"Step\")\n", "plt.ylabel(\"${E/NT}$\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ising model\n", "\n", "Ising model represents a system of spins (magnetic dipoles) on a lattice.\n", "Without external magnetic field, the energy reads\n", "$$\n", "E = -J \\sum_{} s_i s_j,\n", "$$\n", "where $J > 0$ for a ferromagnetic.\n", "For nearest-neighbor interaction only, the sum runs over the pairs of neighboring lattice sites.\n", "\n", "Let us consider the Ising model in 2D.\n", "\n", "\"2D\n", "\n", " Source: https://ruihaoqiu.github.io/MC-Magnetic-Phase-Transition/\n", "\n", "\n", "Here each dipole interacts with its four neighbors (or two/three neighbors in case of the spins at the edges).\n", "The magnetization is given by\n", "$$\n", "M = \\sum_{i} s_i.\n", "$$\n", "\n", "It is know that below the Curie temperature\n", "$$\n", "\\frac{k_B T_C}{J} = \\frac{2}{\\ln(1+\\sqrt{2})},\n", "$$\n", "the system attains a spontaneous magnetization $|M| > 0$.\n", "We can simulate this process using Markov chain and the Metropolis algorithm.\n", "\n", "Let us apply the Metropolis algorithm to simulate the system.\n", "Each state is given by the spin configutation $\\{ s_i \\}$.\n", "At each step we randomly choose one spin $i$ and flip its orientation $s_i$ to $-s_i$.\n", "Such a flip would case the energy of the system to change by\n", "$$\n", "\\Delta E = 2 J \\sum_{j} s_i s_j.\n", "$$\n", "The new state is then accepted with a probability\n", "$$\n", "P_a = e^{-\\Delta E / T}.\n", "$$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Energy of 2D Ising system for a given spin configuration\n", "def IsingE(spins, periodicBC = False):\n", " energy = 0\n", " N = len(spins)\n", " for i in range(N):\n", " for j in range(N):\n", " if (i > 0 or periodicBC):\n", " energy += -spins[i][j] * spins[i-1][j]\n", " if (j > 0 or periodicBC):\n", " energy += -spins[i][j] * spins[i][j-1]\n", " if (i < N - 1 or periodicBC):\n", " energy += -spins[i][j] * spins[(i+1)%N][j]\n", " if (j < N - 1 or periodicBC):\n", " energy += -spins[i][j] * spins[i][(j+1)%N]\n", " return energy / 2\n", "\n", "# Magnetization of 2D Ising system for a given spin configuration\n", "def IsingM(spins):\n", " return np.sum(spins)\n", "\n", "# Change of energy of the Ising system by flipping the spin at the location (i,j)\n", "def IsingdEflip(spins, i, j, periodicBC = False):\n", " N = len(spins)\n", " dE = 0\n", " if (i > 0 or periodicBC):\n", " dE += 2 * spins[i][j] * spins[i-1][j]\n", " if (j > 0 or periodicBC):\n", " dE += 2 * spins[i][j] * spins[i][j-1]\n", " if (i < N - 1 or periodicBC):\n", " dE += 2 * spins[i][j] * spins[(i+1)%N][j]\n", " if (j < N - 1 or periodicBC):\n", " dE += 2 * spins[i][j] * spins[i][(j+1)%N]\n", " return dE\n", "\n", "from IPython.display import clear_output\n", "from matplotlib.colors import ListedColormap\n", "\n", "# Whether to plot the configuration\n", "plotSimulation = False\n", "\n", "# Simulates the 2D Ising system of NxN spins at temperature T\n", "# by performing Markov chain steps using Metropolis algorithm\n", "# Returns arrays energies and magnetizations at each step\n", "def simulateIsing(T, N, steps, periodicBC = False):\n", " spins = -1 + 2 * np.random.randint(0, high = 2, size=(N,N))\n", " \n", " E = IsingE(spins, periodicBC)\n", " M = IsingM(spins)\n", "\n", " # Energy\n", " eplot = [ E ]\n", " # Magnetisation\n", " Mplot = [ M ]\n", "\n", " for k in range(steps):\n", " # Pick the lattice site randomly\n", " i = np.random.randint(N)\n", " j = np.random.randint(N)\n", " \n", " # Energy change from flipping the site\n", " dE = IsingdEflip(spins, i, j, periodicBC)\n", " \n", " # Flip the spin with some probability\n", " if (np.random.rand() < np.exp(-dE/T)):\n", " spins[i,j] = -spins[i,j]\n", " E += dE\n", " M += 2 * spins[i,j]\n", " \n", " eplot.append(E)\n", " Mplot.append(M)\n", "\n", " # plot the system\n", " if plotSimulation:\n", " toPlot = False\n", "\n", " # Plot each sweep\n", " if (k%(N**2) == 0):\n", " toPlot = True\n", " \n", " if (toPlot):\n", " clear_output(wait=True)\n", " # time.sleep(0.01)\n", " plt.title(\"2D Ising, ${N = }$\" + '{0:d}'.format(N))\n", " plt.xlabel(\"x\")\n", " plt.ylabel(\"y\")\n", " cmap = ListedColormap(['w', 'black'])\n", " CS = plt.imshow(spins.T, vmax=1, vmin=-1,origin=\"lower\",extent=[0,N,0,N], cmap=cmap, interpolation='nearest')\n", " # plt.colorbar(CS)\n", " plt.show()\n", " \n", " \n", " return eplot, Mplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us simulate the system at $T = 1 < T_C$ several times and keep track of magnetization." ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 2.93 s, sys: 87.8 ms, total: 3.01 s\n", "Wall time: 2.52 s\n" ] } ], "source": [ "%%time\n", "\n", "N = 20\n", "steps = 500000\n", "periodicBC = True\n", "Temperature = 10. # 2. / np.log(1+np.sqrt(2.))\n", "Ts = np.empty(1)\n", "Ts.fill(Temperature)\n", "eplots = []\n", "Mplots = []\n", "\n", "plotSimulation = False\n", "\n", "for T in Ts:\n", " resE, resM = simulateIsing(T, N, steps, periodicBC)\n", " eplots.append(resE)\n", " Mplots.append(resM)\n", "\n", "# Make the graph\n", "import matplotlib.pyplot as plt\n", "\n", "for i in range(len(Ts)):\n", " leg = \"Run \" + str(i + 1)\n", " plt.plot(Mplots[i],label=leg)\n", "\n", "plt.title(\"2D Ising model, T = \" + str(Temperature))\n", "plt.xlabel(\"Step\")\n", "plt.ylabel(\"Magnetisation\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us now consider different temperatures" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "File \u001b[0;32m:11\u001b[0m\n", "Cell \u001b[0;32mIn[13], line 58\u001b[0m, in \u001b[0;36msimulateIsing\u001b[0;34m(T, N, steps, periodicBC)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(steps):\n\u001b[1;32m 56\u001b[0m \u001b[38;5;66;03m# Pick the lattice site randomly\u001b[39;00m\n\u001b[1;32m 57\u001b[0m i \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mrandom\u001b[38;5;241m.\u001b[39mrandint(N)\n\u001b[0;32m---> 58\u001b[0m j \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrandom\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrandint\u001b[49m\u001b[43m(\u001b[49m\u001b[43mN\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 60\u001b[0m \u001b[38;5;66;03m# Energy change from flipping the site\u001b[39;00m\n\u001b[1;32m 61\u001b[0m dE \u001b[38;5;241m=\u001b[39m IsingdEflip(spins, i, j, periodicBC)\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "%%time\n", "\n", "N = 20\n", "steps = 1000000\n", "periodicBC = True\n", "Ts = [1., 2., 3.]\n", "eplots = []\n", "Mplots = []\n", "\n", "plotSimulation = False\n", "\n", "for T in Ts:\n", " resE, resM = simulateIsing(T, N, steps, periodicBC)\n", " eplots.append(resE)\n", " Mplots.append(resM)\n", "\n", "# Make the graph\n", "import matplotlib.pyplot as plt\n", "\n", "for i in range(len(Ts)):\n", " leg = \"T = \" + str(Ts[i])\n", " plt.plot(Mplots[i],label=leg)\n", "\n", "plt.title(\"2D Ising model\")\n", "plt.xlabel(\"Step\")\n", "plt.ylabel(\"Magnetisation\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can visualize the system. First $T < T_C$. The system eventually attains full magnetization" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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mRo1apRvHvBStG/fXgMHDtTrr7+umpoa3/oTJ07ozTffvKh9er1eff755/UOrU6YMEEfffSRNm/eLMl+xuv5Q6+BLM1x6PX222/XiRMn6l3vuWbNGnk8Hg0ePLhJ7YDGcOgVEeeZZ57RE088oZtuukljx47VH//4R7/t3/ve9/x+3rt3r86cOaMzZ86ooqJCH3zwgVavXq2oqCht2bJFV155ZZPe3+v1asSIEZo8ebJ69eqluLg4FRUV+c5UbQ6LFi3S2LFjNXr0aM2aNUtnz57Vz372M3Xo0MF3SPFCDodD6enpev/99xvcX0lJiYwx9UaMt956q9q2bauXXnpJ8fHxuuaaaxqtKS4uTgMHDryk30uS3nrrLZ08eVJVVVWSpI8//livvfaapHNnIsfGxkqSbr75Zo0aNUo/+clPVFlZqWuuuUavvPKK3n77ba1bt05RUVFNagc0KriXcQLNLz093UhqdDnv/I0Czi/t2rUzXbp0Menp6SYnJ8dUVFQE9H51bzjwzTffmOnTp5u+ffua+Ph4ExMTY/7xH//RLFiwwJw8ebLe60pLS40xxixYsMBIMkePHm1w/+fbnbdlyxbTp08f065dO9O9e3fz1FNPmQcffNB07NjRr11VVZWRZCZOnNjo7/D0008bSWb//v31tmVkZBhJZtiwYQH1x6Xq0aNHo3+7un1QVVVlHnzwQeN2u027du1M3759zSuvvFJvn4G2AxriMOYiT+sDEFJOnz6tfv36qWvXrsrLy/Ot37p1q8aNG6fdu3df1IlJQGvHoVcgTN1///0aNWqUkpKSVF5erhdeeEGffPKJnn32Wb927733niZOnEhIAheJESUQpn74wx+qsLBQR48eVdu2bTVgwAA9+uijuummm4JdGhBRCEoAACyCennItm3bdMstt8jj8cjhcOj111/3226MUXZ2tjwej2JiYjR8+HC/mzRLUnV1tR544AF17txZ7du316233qq//OUvl/G3AABEsqAG5cmTJ/Xd735XK1asaHD70qVLtWzZMq1YsUJFRUVyu90aNWqU77RxScrKytKWLVu0YcMGbd++XSdOnNC4ceMCvjkzAAA2IXPo1eFwaMuWLb6HtRpj5PF4lJWVpblz50o6N3p0uVxasmSJpk2bJq/XqyuvvFJr167VnXfeKUn64osv1K1bN23dulWjR48O1q8DAIgQIXvWa2lpqcrLy5WRkeFb53Q6lZ6ersLCQk2bNk3FxcU6ffq0XxuPx6PU1FQVFhY2GpTV1dWqrq72/VxbW6svv/xSiYmJ3CAZAMKQMUZVVVXyeDy64ormPVgaskF5/p6VdW/y7HK5dPDgQV+bdu3aqWPHjvXa2O55mZubq4ULFzZzxQCAYCsrK9NVV13VrPsM2aA8r+4IzxjzraO+b2szb948zZ492/ez1+tV9+7dL63QMOL1eoNdAoAmSEhICHYJYSMuLq7Z9xmyQXn+UUTl5eVKSkryrT//TL7zbWpqanT8+HG/UWVFRYX1ieVOp9P36KLWKD4+PtglAECLaInps5B9ekhycrLcbrfy8/N962pqalRQUOALwfMPw72wzZEjR7R3715rUAIAEKigjihPnDihzz77zPdzaWmpdu3apU6dOql79+7KyspSTk6OUlJSlJKSopycHMXGxmry5MmSzh2OuP/++/Vv//ZvSkxMVKdOnfTTn/5Uffr00ciRI4P1awEAIklQbsX+/957770GnxAwdepUY4wxtbW1ZsGCBcbtdhun02mGDRtm9uzZ47ePU6dOmczMTNOpUycTExNjxo0bZw4dOtSkOrxer/VpE5G2AAgvwf7OCKfF6/U2e/+HzHWUwVRZWdmqJsv5kwPhhcvWAuf1epv9PIyQnaMEACAUEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWITsg5sBAOfUfZABN0m/vBhRAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYNEm2AWg5Rljgl0CAIQtRpQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWBCUAABYcHkIAISZCy/5cjgcQaykdWBECQCABUEJAIAFQQkAgAVBCQCABUEJAIAFQQkAgAVBCQCABddRAkAYq/sYPa6rbH6MKAEAsCAoAQCwICgBALAgKAEAsCAoAQCwICgBALDg8pAIVfeUcQCtQ0v922/Nl50wogQAwIKgBADAgqAEAMCCOcoIwZwkALQMRpQAAFgQlAAAWIR0UJ45c0aPPfaYkpOTFRMTo549e2rRokWqra31tTHGKDs7Wx6PRzExMRo+fLj27dsXxKoBIPIYYwJeIk1IB+WSJUv0wgsvaMWKFfrkk0+0dOlS/exnP9Nzzz3na7N06VItW7ZMK1asUFFRkdxut0aNGqWqqqogVg4AiBQOE8LxP27cOLlcLr300ku+dT/4wQ8UGxurtWvXyhgjj8ejrKwszZ07V5JUXV0tl8ulJUuWaNq0aQG9T2VlpRISElrkd7hcQvjPCKCVCebNCbxer+Lj45t1nyE9ohw6dKh+97vfaf/+/ZKk3bt3a/v27RozZowkqbS0VOXl5crIyPC9xul0Kj09XYWFhY3ut7q6WpWVlX4LAAANCenLQ+bOnSuv16tevXopKipKZ8+e1eLFizVp0iRJUnl5uSTJ5XL5vc7lcungwYON7jc3N1cLFy5sucLR6jXlf9QcDQBCW0iPKDdu3Kh169Zp/fr1Kikp0Zo1a/T0009rzZo1fu3qfikZY6xfVPPmzZPX6/UtZWVlLVI/ACD8hfSI8uGHH9YjjzyiiRMnSpL69OmjgwcPKjc3V1OnTpXb7ZZ0bmSZlJTke11FRUW9UeaFnE6nnE5nyxYPAIgIIT2i/Prrr3XFFf4lRkVF+S4PSU5OltvtVn5+vm97TU2NCgoKNGTIkMtaKwAgMoX0iPKWW27R4sWL1b17d1133XXauXOnli1bpvvuu0/SuUOuWVlZysnJUUpKilJSUpSTk6PY2FhNnjw5yNW3LOa1IkdDUwdAOKv7GQ73R3SFdFA+99xzevzxxzVjxgxVVFTI4/Fo2rRpeuKJJ3xt5syZo1OnTmnGjBk6fvy4Bg8erLy8PMXFxQWxcgBApAjp6ygvl3C8jpI/W2i7lP9B87dFpLmcI8qWuI4ypEeU4YgvOVwqQhYILSF9Mg8AAMFGUAIAYEFQAgBgwRxlM2BeCOF++jvQksL9chFGlAAAWBCUAABYEJQAAFgwR3mBlrhQFbicbHM/zKUjVLTEZ7ElbxzDiBIAAAuCEgAAC4ISAAALghIAAAuCEgAAC4ISAAALghIAAAuCEgAAC4ISAAALghIAAAtuYQe0EnVvb8ct7YDAMKIEAMCCoAQAwIKgBADAgjlKoJXikVxAYBhRAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYMHlIQDq4XZ3wN8xogQAwIKgBADAgqAEAMCCOUoA3+rCOUvmK9HaMKIEAMCCoAQAwIJDr0AzqHs40vZkDgDhhRElAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFm2CXQCA8OJwOPx+NsYEqRLg8mBECQCABUEJAIAFQQkAgAVBCQCABUEJAIAFQQkAgEXIB+Xhw4d19913KzExUbGxserXr5+Ki4t9240xys7OlsfjUUxMjIYPH659+/YFsWIAQCQJ6aA8fvy4brjhBrVt21ZvvfWWPv74Yz3zzDP6zne+42uzdOlSLVu2TCtWrFBRUZHcbrdGjRqlqqqq4BUOAIgYDhPCVws/8sgj+v3vf68PPvigwe3GGHk8HmVlZWnu3LmSpOrqarlcLi1ZskTTpk0L6H0qKyuVkJAgr9er+Pj4ZqsfrVfdi/IjWQh/haAVacnv8ZAeUb7xxhsaOHCg7rjjDnXp0kX9+/fXiy++6NteWlqq8vJyZWRk+NY5nU6lp6ersLCw0f1WV1ersrLSbwEAoCEhHZSff/65Vq5cqZSUFP32t7/V9OnT9eCDD+q///u/JUnl5eWSJJfL5fc6l8vl29aQ3NxcJSQk+JZu3bq13C8BRDiHw2FdgHAX0kFZW1urAQMGKCcnR/3799e0adP0ox/9SCtXrvRr19C9J23/QOfNmyev1+tbysrKWqR+AED4C+mgTEpK0rXXXuu3rnfv3jp06JAkye12S1K90WNFRUW9UeaFnE6n4uPj/RYAABoS0kF5ww036NNPP/Vbt3//fvXo0UOSlJycLLfbrfz8fN/2mpoaFRQUaMiQIZe1VgBAZArpx2w99NBDGjJkiHJycvTDH/5QO3bs0KpVq7Rq1SpJ5w65ZmVlKScnRykpKUpJSVFOTo5iY2M1efLkIFcPAIgEIR2UgwYN0pYtWzRv3jwtWrRIycnJWr58ue666y5fmzlz5ujUqVOaMWOGjh8/rsGDBysvL09xcXFBrBwAEClC+jrKy4XrKNHcONvz7/iKweXQkt/jIT2iBEIZYRiYC/uJ0EQ4CumTeQAACDaCEgAAC4ISAAAL5iiBADEnCbROjCgBALAgKAEAsCAoAQCwICgBALAgKAEAsCAoAQCwICgBALDgOkqgEVw32fzq9in3fkU4YEQJAIAFQQkAgAVBCQCABUEJAIAFQQkAgAVBCQCABZeHIOxw2QaAy4kRJQAAFgQlAAAWBCUAABbMUSIkMQ8JIFQwogQAwIKgBADAgkOvCAkcagUQqpo8orz33nu1bdu2lqgFAICQ0+SgrKqqUkZGhlJSUpSTk6PDhw+3RF0AAISEJgflpk2bdPjwYWVmZurVV1/V1VdfrZtvvlmvvfaaTp8+3RI1AgAQNBd1Mk9iYqJmzZqlnTt3aseOHbrmmms0ZcoUeTwePfTQQ/rzn//c3HUiwjgcDr8FAELVJZ31euTIEeXl5SkvL09RUVEaM2aM9u3bp2uvvVY///nPm6tGAACCpslBefr0aW3atEnjxo1Tjx499Oqrr+qhhx7SkSNHtGbNGuXl5Wnt2rVatGhRS9QLAMBl1eTLQ5KSklRbW6tJkyZpx44d6tevX702o0eP1ne+851mKA8AgOBqclD+/Oc/1x133KHo6OhG23Ts2FGlpaWXVBjCH3OPACJBk4NyypQpLVEHAAAhiVvYAQBgwS3s0Gw41AogEjGiBADAgqAEAMCCoAQAwII5Slgx7wigtWNECQCABUEJAIAFQQkAgAVzlGAeEgAsGFECAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGDBLewiBLehA4CWwYgSAAALghIAAAuCEgAAC+YoWxhzhwAQ3hhRAgBgQVACAGARVkGZm5srh8OhrKws3zpjjLKzs+XxeBQTE6Phw4dr3759l/xeDoejWRYAQHgLm6AsKirSqlWr1LdvX7/1S5cu1bJly7RixQoVFRXJ7XZr1KhRqqqqClKlAIBIEhZBeeLECd1111168cUX1bFjR996Y4yWL1+u+fPna8KECUpNTdWaNWv09ddfa/369UGsGAAQKcIiKGfOnKmxY8dq5MiRfutLS0tVXl6ujIwM3zqn06n09HQVFhY2ur/q6mpVVlb6LQAANCTkLw/ZsGGDSkpKVFRUVG9beXm5JMnlcvmtd7lcOnjwYKP7zM3N1cKFC+utT0hIuMRqAQCXy+U6DySkR5RlZWWaNWuW1q1bp+jo6Ebb1e0sY4y1A+fNmyev1+tbysrKmq1mAEBkCekRZXFxsSoqKpSWluZbd/bsWW3btk0rVqzQp59+KuncyDIpKcnXpqKiot4o80JOp1NOp7PlCgcARIyQHlHeeOON2rNnj3bt2uVbBg4cqLvuuku7du1Sz5495Xa7lZ+f73tNTU2NCgoKNGTIkCBWDgCIFCE9ooyLi1Nqaqrfuvbt2ysxMdG3PisrSzk5OUpJSVFKSopycnIUGxuryZMnB6NkAEAzCoXr0UM6KAMxZ84cnTp1SjNmzNDx48c1ePBg5eXlKS4uLtilAQAigMMYY4JdRLBVVlZyxisQBHz94Ns0dUTp9XoVHx/frDWE/YgSABC+QuHQ6rcJ6ZN5AAAINoISAAALghIAAAvmKAEAl1U4zEteiBElAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAWBCUAABYEJQAAFgQlAAAW3MIOANCswu0Wdd+GESUAABYEJQAAFgQlAAAWzFECCJq6c1nGmCBVgksVafOSF2JECQCABUEJAIAFQQkAgAVzlACAJovkOcm6GFECAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGBBUAIAYEFQAgBgQVACAGDBLexw2TTXI5Ra062zgGDi39o5jCgBALAgKAEAsODQK6xC8Ynzl1ITh5IANBUjSgAALAhKAAAsCEoAACyYo0Q9oTgvCQDBwogSAAALghIAAAuCEgAAC+YowZwkAElcZ9wYRpQAAFgQlAAAWBCUAABYMEfZCjEnCQCBY0QJAIAFQQkAgAWHXiMUh1cbdrn6hdPsgcjBiBIAAAuCEgAAC4ISAAALghIAAAuCEgAAC4ISAAALghIAAAuCEgAAC4ISAAALghIAAIuQDsrc3FwNGjRIcXFx6tKli8aPH69PP/3Ur40xRtnZ2fJ4PIqJidHw4cO1b9++IFUMnGOMCXgBENpCOigLCgo0c+ZM/fGPf1R+fr7OnDmjjIwMnTx50tdm6dKlWrZsmVasWKGioiK53W6NGjVKVVVVQawcABApHCaM/kt79OhRdenSRQUFBRo2bJiMMfJ4PMrKytLcuXMlSdXV1XK5XFqyZImmTZsW0H4rKyuVkJDQkqVfdmH0Z231uIH63/G5Da5I+Cx6vV7Fx8c36z5DekRZl9frlSR16tRJklRaWqry8nJlZGT42jidTqWnp6uwsLDR/VRXV6uystJvAQCgIWETlMYYzZ49W0OHDlVqaqokqby8XJLkcrn82rpcLt+2huTm5iohIcG3dOvWreUKBwCEtbAJyszMTP3pT3/SK6+8Um9b3cMFxhjrIYR58+bJ6/X6lrKysmavFwAQGcLiwc0PPPCA3njjDW3btk1XXXWVb73b7ZZ0bmSZlJTkW19RUVFvlHkhp9Mpp9PZcgUDACJGSI8ojTHKzMzU5s2b9e677yo5Odlve3Jystxut/Lz833rampqVFBQoCFDhlzucgEAESikR5QzZ87U+vXr9etf/1pxcXG+eceEhATFxMTI4XAoKytLOTk5SklJUUpKinJychQbG6vJkycHuXoAQCQI6ctDGptnXL16te69915J50adCxcu1C9+8QsdP35cgwcP1vPPP+874ScQXB6CYIqEU/KbC5/b4IqEz2JLXB4S0kF5uRCUCKZI+HJqLnxugysSPostEZQhfegVaA3qhkMkfFkBkSSkT+YBACDYCEoAACwISgAALAhKAAAsCEoAACwISgAALAhKAAAsCEoAACwISgAALAhKAAAsCEoAACy41yuAoOEm6AgHjCgBALAgKAEAsCAoAQCwICgBALAgKAEAsCAoAQCw4PIQIMRceMmEw+EIYiUAJEaUAABYEZQAAFgQlAAAWDBHGSG4FRgAtAxGlAAAWBCUAABYcOg1THGotXX4tr8zl48ALY8RJQAAFgQlAAAWBCUAABbMUQK4bJhbRzhiRAkAgAVBCQCABUEJAIAFc5Rhqu71c8z9tE51/+5cVwk0P0aUAABYEJQAAFhw6BWIIBceiuUwLNA8GFECAGBBUAIAYEFQAgBgwRwlEKF4RBe+DZ+BwDCiBADAgqAEAMCCoAQAwII5SgDNitsphi7mJC8OI0oAACwISgAALAhKAAAsmKMEWinmEiMT85DNjxElAAAWBCUAABYceo0QdQ+3cFgNAJoHI0oAACwISgAALAhKAAAsmKMEgDDG5SAtjxElAAAWBCUAABYEJQAAFsxRRqgL5y24phIALh4jSgAALCImKP/zP/9TycnJio6OVlpamj744INglwQAiAAREZQbN25UVlaW5s+fr507d+qf//mfdfPNN+vQoUPBLi0kOBwOvwVAeKn7b5h/z5eXw0TABNbgwYM1YMAArVy50reud+/eGj9+vHJzc7/19ZWVlUpISGjJEkNKBPzJgVaFQAyc1+tVfHx8s+4z7EeUNTU1Ki4uVkZGht/6jIwMFRYWBqkqAECkCPuzXv/2t7/p7NmzcrlcfutdLpfKy8sbfE11dbWqq6t9P3u93hatMdRUVlYGuwQAaBEtccQs7IPyvIYeM9XY4Yrc3FwtXLjwcpQVklrTYWYArcuxY8ea/Tsu7IOyc+fOioqKqjd6rKioqDfKPG/evHmaPXu27+evvvpKPXr00KFDhwgRi8rKSnXr1k1lZWXNPgcQSeinwNBPgaGfAuP1etW9e3d16tSp2fcd9kHZrl07paWlKT8/X7fffrtvfX5+vm677bYGX+N0OuV0OuutT0hI4IMYgPj4ePopAPRTYOinwNBPgbniiuY/9Sbsg1KSZs+erSlTpmjgwIH6p3/6J61atUqHDh3S9OnTg10aACDMRURQ3nnnnTp27JgWLVqkI0eOKDU1VVu3blWPHj2CXRoAIMxFRFBK0owZMzRjxoyLeq3T6dSCBQsaPByLv6OfAkM/BYZ+Cgz9FJiW7KeIuOEAAAAtJexvOAAAQEsiKAEAsCAoAQCwICgBALBo9UHJcyz95ebmatCgQYqLi1OXLl00fvx4ffrpp35tjDHKzs6Wx+NRTEyMhg8frn379gWp4tCQm5srh8OhrKws3zr66ZzDhw/r7rvvVmJiomJjY9WvXz8VFxf7ttNP0pkzZ/TYY48pOTlZMTEx6tmzpxYtWqTa2lpfm9bYT9u2bdMtt9wij8cjh8Oh119/3W97IH1SXV2tBx54QJ07d1b79u1166236i9/+UvTCjGt2IYNG0zbtm3Niy++aD7++GMza9Ys0759e3Pw4MFglxY0o0ePNqtXrzZ79+41u3btMmPHjjXdu3c3J06c8LV56qmnTFxcnNm0aZPZs2ePufPOO01SUpKprKwMYuXBs2PHDnP11Vebvn37mlmzZvnW00/GfPnll6ZHjx7m3nvvNR9++KEpLS0177zzjvnss898begnY5588kmTmJho3nzzTVNaWmpeffVV06FDB7N8+XJfm9bYT1u3bjXz5883mzZtMpLMli1b/LYH0ifTp083Xbt2Nfn5+aakpMSMGDHCfPe73zVnzpwJuI5WHZTXX3+9mT59ut+6Xr16mUceeSRIFYWeiooKI8kUFBQYY4ypra01brfbPPXUU74233zzjUlISDAvvPBCsMoMmqqqKpOSkmLy8/NNenq6Lyjpp3Pmzp1rhg4d2uh2+umcsWPHmvvuu89v3YQJE8zdd99tjKGfjDH1gjKQPvnqq69M27ZtzYYNG3xtDh8+bK644grz9ttvB/zerfbQK8+xDMz5R5Cdv9FwaWmpysvL/frN6XQqPT29VfbbzJkzNXbsWI0cOdJvPf10zhtvvKGBAwfqjjvuUJcuXdS/f3+9+OKLvu300zlDhw7V7373O+3fv1+StHv3bm3fvl1jxoyRRD81JJA+KS4u1unTp/3aeDwepaamNqnfIubOPE11Mc+xbG2MMZo9e7aGDh2q1NRUSfL1TUP9dvDgwcteYzBt2LBBJSUlKioqqreNfjrn888/18qVKzV79mw9+uij2rFjhx588EE5nU7dc8899NP/mzt3rrxer3r16qWoqCidPXtWixcv1qRJkyTxeWpIIH1SXl6udu3aqWPHjvXaNOV7vtUG5XlNeY5la5OZmak//elP2r59e71trb3fysrKNGvWLOXl5Sk6OrrRdq29n2prazVw4EDl5ORIkvr37699+/Zp5cqVuueee3ztWns/bdy4UevWrdP69et13XXXadeuXcrKypLH49HUqVN97Vp7PzXkYvqkqf3Wag+9XsxzLFuTBx54QG+88Ybee+89XXXVVb71brdbklp9vxUXF6uiokJpaWlq06aN2rRpo4KCAv3Hf/yH2rRp4+uL1t5PSUlJuvbaa/3W9e7dW4cOHZLE5+m8hx9+WI888ogmTpyoPn36aMqUKXrooYeUm5sriX5qSCB94na7VVNTo+PHjzfaJhCtNigvfI7lhfLz8zVkyJAgVRV8xhhlZmZq8+bNevfdd5WcnOy3PTk5WW6326/fampqVFBQ0Kr67cYbb9SePXu0a9cu3zJw4EDddddd2rVrl3r27Ek/SbrhhhvqXV60f/9+35N9+Dyd8/XXX9d7jmJUVJTv8hD6qb5A+iQtLU1t27b1a3PkyBHt3bu3af120acgRYDzl4e89NJL5uOPPzZZWVmmffv25sCBA8EuLWh+8pOfmISEBPP++++bI0eO+Javv/7a1+app54yCQkJZvPmzWbPnj1m0qRJEX+aeiAuPOvVGPrJmHOXzrRp08YsXrzY/PnPfza/+tWvTGxsrFm3bp2vDf1kzNSpU03Xrl19l4ds3rzZdO7c2cyZM8fXpjX2U1VVldm5c6fZuXOnkWSWLVtmdu7c6buEL5A+mT59urnqqqvMO++8Y0pKSsz3v/99Lg9pqueff9706NHDtGvXzgwYMMB3GURrJanBZfXq1b42tbW1ZsGCBcbtdhun02mGDRtm9uzZE7yiQ0TdoKSfzvmf//kfk5qaapxOp+nVq5dZtWqV33b6yZjKykoza9Ys0717dxMdHW169uxp5s+fb6qrq31tWmM/vffeew1+H02dOtUYE1ifnDp1ymRmZppOnTqZmJgYM27cOHPo0KEm1cFjtgAAsGi1c5QAAASCoAQAwIKgBADAgqAEAMCCoAQAwIKgBADAgqAEAMCCoAQAwIKgBADAgqAEAMCCoAQi1NGjR+V2u33PgpSkDz/8UO3atVNeXl4QKwPCC/d6BSLY1q1bNX78eBUWFqpXr17q37+/xo4dq+XLlwe7NCBsEJRAhJs5c6beeecdDRo0SLt371ZRUZGio6ODXRYQNghKIMKdOnVKqampKisr00cffaS+ffsGuyQgrDBHCUS4zz//XF988YVqa2t18ODBYJcDhB1GlEAEq6mp0fXXX69+/fqpV69eWrZsmfbs2SOXyxXs0oCwQVACEezhhx/Wa6+9pt27d6tDhw4aMWKE4uLi9Oabbwa7NCBscOgViFDvv/++li9frrVr1yo+Pl5XXHGF1q5dq+3bt2vlypXBLg8IG4woAQCwYEQJAIAFQQkAgAVBCQCABUEJAIAFQQkAgAVBCQCABUEJAIAFQQkAgAVBCQCABUEJAIAFQQkAgAVBCQCAxf8B88joBaDwMsgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Visualize 100x100 case\n", "# Lowe\n", "N = 100\n", "steps = 2000000\n", "periodicBC = True\n", "Temperature = 0.1 * 2. / np.log(1+np.sqrt(2.))\n", "\n", "plotSimulation = True\n", "_,_ = simulateIsing(Temperature, N, steps, periodicBC)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At $T > T_C$ one sees the formation of domains" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "image/png": "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53fs2KGf//znysnJ0fjx4xMqS58+fTR58mSNGjUqlgdMROfOnTV06FA999xzOnDgQGz53r179cILL7Rqm9FoVJ988kmjrtUxY8bonXfe0cqVKyXZ73g90vUaz8uPrtfLL79ce/fubTTec+nSpcrPz9ewYcM8rQc0h65XpJ0HH3xQd999t84//3yNHj1af/rTn+q9/4Mf/KDe/9977z0dPHhQBw8eVGVlpV5//XUtWbJE7dq106pVq3TMMcd42n80GtXZZ5+tcePGqX///srKylJ5eXnsTlU/3HPPPRo9erTOO+88TZkyRYcOHdIvfvELdenSJdalWFdGRoZGjBih1157rcntbdy4UcaYRi3GSy65RO3bt9djjz2m7OxsnXDCCc2WKSsrS0OHDk3ouCTpxRdf1L59+1RdXS1Jev/99/Xss89KOnwncqdOnSRJF1xwgUaNGqWbb75ZVVVVOuGEE/T000/rpZde0lNPPaV27dp5Wg9oVrDDOAH/jRgxwkhq9nXEkQcFHHl16NDB9OzZ04wYMcKUlJSYysrKuPbX8IED33zzjZkwYYIZNGiQyc7ONpmZmebv//7vzaxZs8y+ffsafW7btm3GGGNmzZplJJldu3Y1uf0j6x2xatUqM3DgQNOhQwfTp08fc99995lbb73VdO3atd561dXVRpK56qqrmj2GBx54wEgyH330UaP3ioqKjCRz1llnxVUfierbt2+z565hHVRXV5tbb73V5OXlmQ4dOphBgwaZp59+utE2410PaEqGMa28rQ+AU7799lsNHjxYxx57rNasWRNbvnr1al100UV69913W3VjEtDW0fUKhNRNN92kUaNGqVevXqqoqNAjjzyiDz74QA899FC99V599VVdddVVBEmglWhRAiH1ox/9SOvXr9euXbvUvn17nXrqqbrjjjt0/vnnB100IK0QKAEAsAh0eMi6det08cUXKz8/XxkZGXruuefqvW+M0ezZs5Wfn6/MzEyNHDmy3kOaJammpka33HKLevTooc6dO+uSSy7RX/7ylxQeBQAgnQUaKPft26fvf//7WrhwYZPvz5s3T/Pnz9fChQtVXl6uvLw8jRo1KnbbuCQVFxdr1apVWr58ud544w3t3btXF110UdwPZwYAwMaZrteMjAytWrUqNlmrMUb5+fkqLi7W9OnTJR1uPebm5ur+++/X+PHj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JrZOW6ynV199tcnfo+uvv94YE1+d7N+/30yePNl069bNZGZmmosuusjs2LHDUzmYZgsAAIs2m6MEACAeBEoAACwIlAAAWBAoAQCwIFACAGBBoAQAwIJACQCABYESAAALAiUAABYESgAALAiUQJratWuX8vLyYnNBStJbb72lDh06aM2aNQGWDAgXnvUKpLHVq1frsssu0/r169W/f3+dcsopGj16tBYsWBB00YDQIFACaW7SpEl6+eWXddppp+ndd99VeXm5OnbsGHSxgNAgUAJpbv/+/RowYIB27typd955R4MGDQq6SECokKME0twnn3yizz//XLW1tdq+fXvQxQFChxYlkMYOHDig008/XYMHD1b//v01f/58bdmyRbm5uUEXDQgNAiWQxm677TY9++yzevfdd9WlSxedffbZysrK0gsvvBB00YDQoOsVSFOvvfaaFixYoCeffFLZ2dk66qij9OSTT+qNN97QokWLgi4eEBq0KAEAsKBFCQCABYESAAALAiUAABYESgAALAiUAABYECgBALAgUAIAYEGgBADAgkAJAIAFgRIAAAsCJQAAFgRKAAAs/h9d6p/EctIW2QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Visualize 100x100 case\n", "# Lowe\n", "N = 100\n", "steps = 1000000\n", "periodicBC = True\n", "Temperature = 2. / np.log(1+np.sqrt(2.))\n", "\n", "plotSimulation = True\n", "_,_ = simulateIsing(Temperature, N, steps, periodicBC)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also make a simple animation of the system with ASCII" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n", "++++++++++++++++++++++++++++++++++++++++++++++++++\n" ] } ], "source": [ "from IPython.display import clear_output\n", "import time\n", "\n", "def printSpins(spins):\n", " N = len(spins)\n", " for i in range(N):\n", " for j in range(N):\n", " if (spins[i][j] == -1):\n", " print('-',end='')\n", " else:\n", " print('+',end='')\n", " print('')\n", "\n", "def simulateIsingPlot(T, N, steps, periodicBC = False):\n", " spins = -1 + 2 * np.random.randint(0, high = 2, size=(N,N))\n", " \n", " E = IsingE(spins,periodicBC)\n", " M = IsingM(spins)\n", "\n", " # Energy\n", " eplot = [ E ]\n", " # Magnetisation\n", " Mplot = [ M ]\n", "\n", " for k in range(steps):\n", " # Pick the lattice site randomly\n", " i = np.random.randint(N)\n", " j = np.random.randint(N)\n", " \n", " # Energy change from flipping the site\n", " dE = IsingdEflip(spins, i, j,periodicBC)\n", " \n", " # Flip the spin with some probability\n", " if (np.random.rand() < np.exp(-dE/T)):\n", " spins[i,j] = -spins[i,j]\n", " E += dE\n", " M += 2 * spins[i,j]\n", " \n", " \n", " Mplot.append(M)\n", " \n", " if (k % (10*N**2) == 0):\n", " clear_output(wait=True)\n", " printSpins(spins)\n", "# leg = \"T = \" + str(T)\n", "# plt.plot(Mplot,label=leg)\n", "# plt.title(\"2D Ising model\")\n", "# plt.xlabel(\"Step\")\n", "# plt.ylabel(\"Magnetisation\")\n", "# plt.legend()\n", "# plt.show()\n", " \n", "simulateIsingPlot(1.0, 50, 1000000, True)" ] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:CompPhys]", "language": "python", "name": "conda-env-CompPhys-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.13" } }, "nbformat": 4, "nbformat_minor": 4 }