Modelo de Potts - 2D: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
=O Modelo=
=O Modelo=


Modelo de Potts pode ser considerado uma generalização do Modelo de Ising. Enquanto no Ising, os spins podem assumir valores <math>1</math> ou <math>-1</math>, no Modelo de Potts, os spins podem assumir valores que dependem de uma variavél <math>q</math> da seguinte forma: <math>\theta_n = \frac{2\pi n}{q}</math>. A quantidade <math>\theta_n</math> nos fornece as possíveis orientações para os spins. Os valores que <math>n</math> pode assumir são <math>n=0,1,2,...,q-1</math>. Dessa forma, um Modelo de Potts bidimensionaç com <math>q=10</math> possui uma rede bidimensional de spins com 10 orientações diferentes.
Modelo de Potts pode ser considerado uma generalização do Modelo de Ising. Enquanto no Ising, os spins podem assumir valores <math>1</math> ou <math>-1</math>, no Modelo de Potts, os spins podem assumir valores que dependem de uma variavél <math>q</math> da seguinte forma: <math>\theta_n = \frac{2\pi n}{Q}</math>. A quantidade <math>\theta_n</math> nos fornece as possíveis orientações para os spins. Os valores que <math>n</math> pode assumir são <math>n=0,1,2,...,Q-1</math>. Dessa forma, um Modelo de Potts bidimensionaç com <math>Q=10</math> possui uma rede bidimensional de spins com 10 orientações diferentes.


[[Arquivo:spin_Q2.png|thumb|upright=1.1|right|Possibilidades de spin para <math>Q=2</math>.]]
[[Arquivo:spin_Q2.png|thumb|upright=1.1|right|Possibilidades de spin para <math>Q=2</math>.]]
Linha 13: Linha 13:
<math>H_p = -J \sum_{(i,j)} \delta(s_i,s_j) </math>
<math>H_p = -J \sum_{(i,j)} \delta(s_i,s_j) </math>


onde <math>J</math> é a constante de acoplamento que determina a intensidade da interação e <math>\delta(s_i,s_j) </math> é a delta de Kronecker, definida como 0 se <math>s_i=s_j</math> e 1 se <math>s_i\neq s_j</math>.  
onde <math>J</math> é a constante de acoplamento que determina a intensidade da interação e <math>\delta(s_i,s_j) </math> é a delta de Kronecker, definida como 0 se <math>s_i=s_j</math> e 1 se <math>s_i\neq s_j</math>.


=Relação com o Modelo de Ising=
=Relação com o Modelo de Ising=

Edição das 16h45min de 17 de outubro de 2022

O Modelo

Modelo de Potts pode ser considerado uma generalização do Modelo de Ising. Enquanto no Ising, os spins podem assumir valores 1 ou 1, no Modelo de Potts, os spins podem assumir valores que dependem de uma variavél q da seguinte forma: θn=2πnQ. A quantidade θn nos fornece as possíveis orientações para os spins. Os valores que n pode assumir são n=0,1,2,...,Q1. Dessa forma, um Modelo de Potts bidimensionaç com Q=10 possui uma rede bidimensional de spins com 10 orientações diferentes.

Possibilidades de spin para Q=2.
Possibilidades de spin para Q=3.

]

Possibilidades de spin para Q=4.

O Hamiltoniano de interação, na ausência de campo magnético, pode ser escrito como

Hp=J(i,j)δ(si,sj)

onde J é a constante de acoplamento que determina a intensidade da interação e δ(si,sj) é a delta de Kronecker, definida como 0 se si=sj e 1 se sisj.

Relação com o Modelo de Ising

O Modelo de Ising é obtido quando tomamos q=2 na expressão para θn.

O Hamiltoniano de Ising pode ser escrito como o Hamiltoniano do Potts mais uma constante aditiva HI=Hp+(i,j)J2=J(i,j)δ(si,sj)+(i,j)J2=J2(i,j)(2δ(si,sj)1)

Se incluirmos o campo magnético, o Hamiltoniado fica Hp=J(i,j)δ(si,sj)i1βhisi

Algoritmo de Metropolis

Vamos implementar o Modelo de Potts utilizando o algoritmo de Metropolis.

O algoritmo de Metropolis é um método de Cadeia de Markov Monte Carlo (MCMC) para obter amostras aleatórias a partir de uma distribuição de probabilidade da qual a amostragem direta é difícil. O procedimento para a implementação do algoritmo é apresentado abaixo.

1. Inicialize

a) Escolha um estado inicial x0;

b) Coloque t=0

2. Itere

a) Gere um estado candidato aleatório x de acordo g(x|xt)

b) Calcule a probabilidade de aceitação A(x,xt)=min(1,P(x)P(xt)g(xt|x)x|xt)

c) Aceite ou rejeite:

1) Gere um número aleatório uniforme u[0,1];

2) E se uA(x,xt), aceite o novo estado e defina xt+1=x;

3) E se u>A(x,xt), rejeite o novo estado e copie o estado antigo para frente xt+1=xt;

4) Incremente: coloque t = t + 1

Em nosso caso, a distribuição A(x,x)A(x,x) será eβΔE, onde ΔE=ExEx.

Resultados das simulações

Definimos um Monte Carlo Step (MCS) como sendo o tempo em que a rede bidimensional com L2 spins é percorrida pelo algoritmo. Ao final de L2 flips de spin (seja com probabilidade 1 ou com probabilidade exp(βΔE)), contamos um MCS.

Energia

Energia em cada MCS para Q indo de 2 até 10 e L = 64 utilizando o algoritmo de Metropolis.
Alt text
Energia média por MCS para Q = 2 e L = 64.
Alt text
Energia média por MCS para Q = 3 e L = 64.
Alt text
Energia média por MCS para Q = 4 e L = 64.
Alt text
Energia média por MCS para Q = 5 e L = 64.
Alt text
Energia média por MCS para Q = 6 e L = 64.
Alt text
Energia média por MCS para Q = 7 e L = 64.
Alt text
Energia média por MCS para Q = 8 e L = 64.
Alt text
Energia média por MCS para Q = 9 e L = 64.
Alt text
Energia média por MCS para Q = 10 e L = 64.
Alt text
Energia média por MCS para Q = 100 e L = 64.

Magnetização

Magnetização em cada MCS para Q indo de 2 até 10 e L = 64 utilizando algoritmo de Metropolis.
Alt text
Magnetização média por MCS para Q = 2 e L = 64.
Alt text
Magnetização média por MCS para Q = 3 e L = 64.
Alt text
Magnetização média por MCS para Q = 4 e L = 64.
Alt text
Magnetização média por MCS para Q = 5 e L = 64.
Alt text
Magnetização média por MCS para Q = 6 e L = 64.
Alt text
Magnetização média por MCS para Q = 7 e L = 64.
Alt text
Magnetização média por MCS para Q = 8 e L = 64.
Alt text
Magnetização média por MCS para Q = 9 e L = 64.
Alt text
Magnetização média por MCS para Q = 10 e L = 64.
Alt text
Magnetização média por MCS para Q = 100 e L = 64.

Códigos utilizados

O código foi escrito em Fortran.

Metropolis - Potts 2D

Referências

D. P. Landau, K. Binder. A Guide Monte Carlo Simulations in Statistical Physics. Cambridge University. New York. 2000.

L. M. Barone, E. Marinari, G. Organtini, F. Ricci-Tersengui. Scientific Programming: C-Language, Algorithms and Models in Science. World Scientific. Singapore. 2013.