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

De Física Computacional
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 27: Linha 27:
1. Inicialize
1. Inicialize


<math> </math> a) Escolha um estado inicial <math>x_0</math>;
                                  a) Escolha um estado inicial <math>x_0</math>;


b) Coloque <math>t=0</math>
b) Coloque <math>t=0</math>

Edição das 13h32min 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.

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 incluírmos 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|xx|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) é eβΔE, onde ΔE=ExEx.

Resultados

[[Arquivo: <arquivo> |thumb|right|500px| Simulação com o algoritmo de Metropolis para T=1K.]]

Códigos utilizados

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.