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 28: Linha 28:
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>
2. Itere
2. Itere
a) Gere um estado candidato aleatório <math>x'</math> de acordo <math>g(x'|x_t)</math>
a) Gere um estado candidato aleatório <math>x'</math> de acordo <math>g(x'|x_t)</math>
b) Calcule a probabilidade de aceitação <math>A(x',x_t) = min \left/(1,\frac{P(x')}{P(x_t)} \frac{g(x_t | x'}{x'|x_t} \right)</math>
b) Calcule a probabilidade de aceitação <math>A(x',x_t) = min \left/(1,\frac{P(x')}{P(x_t)} \frac{g(x_t | x'}{x'|x_t} \right)</math>
c) Aceite ou rejeite:
c) Aceite ou rejeite:
1) Gere um número aleatório uniforme <math>u \in [0,1]</math>;
1) Gere um número aleatório uniforme <math>u \in [0,1]</math>;
2) E se <math>u\leq A(x',x_t)</math>, aceite o novo estado e defina <math>x_{t+1}=x'</math>;
2) E se <math>u\leq A(x',x_t)</math>, aceite o novo estado e defina <math>x_{t+1}=x'</math>;
3) E se <math>u>A(x',x_t)</math>, rejeite o novo estado e copie o estado antigo para frente <math>x_{t+1}=x_t</math>;
3) E se <math>u>A(x',x_t)</math>, rejeite o novo estado e copie o estado antigo para frente <math>x_{t+1}=x_t</math>;
4) Incremente: coloque t = t + 1
4) Incremente: coloque t = t + 1


Em nosso caso, a distribuição <math>\frac{A(x,x')}{A(x',x)}</math> é <math>e^{-\beta \Delta E}</math>, onde <math>\Delta E=E_{x'} - E_{x}</math>  
Em nosso caso, a distribuição <math>\frac{A(x,x')}{A(x',x)}</math> é <math>e^{-\beta \Delta E}</math>, onde <math>\Delta E=E_{x'} - E_{x}</math>.


=Resultados=
=Resultados=

Edição das 10h27min 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 da seguinte forma: . A quantidade nos fornece as possíveis orientações para os spins. Os valores que pode assumir são . Dessa forma, um Modelo de Potts bidimensionaç com 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

onde é a constante de acoplamento que determina a intensidade da interação e é a delta de Kronecker, definida como 0 se e 1 se .

Relação com o Modelo de Ising

O Modelo de Ising é obtido quando tomamos na expressão para .

O Hamiltoniano de Ising pode ser escrito como o Hamiltoniano do Potts mais uma constante aditiva

Se incluírmos o campo magnético, o Hamiltoniado fica

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 ; b) Coloque

2. Itere a) Gere um estado candidato aleatório de acordo

b) Calcule a probabilidade de aceitação

c) Aceite ou rejeite:

1) Gere um número aleatório uniforme ;

2) E se , aceite o novo estado e defina ;

3) E se , rejeite o novo estado e copie o estado antigo para frente ;

4) Incremente: coloque t = t + 1

Em nosso caso, a distribuição é , onde .

Resultados

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

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.