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 Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 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

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle H_p = -J \sum_{(i,j)} \delta(s_i,s_j) }

onde Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle J} é a constante de acoplamento que determina a intensidade da interação e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \delta(s_i,s_j) } é a delta de Kronecker, definida como 0 se Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle s_i=s_j} e 1 se Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle s_i\neq s_j} .

Relação com o Modelo de Ising

O Modelo de Ising é obtido quando tomamos Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q=2} na expressão para Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta_n} .

O Hamiltoniano de Ising pode ser escrito como o Hamiltoniano do Potts mais uma constante aditiva Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle H_I = H_p + \sum_{(i,j)}\frac{J}{2} = -J\sum_{(i,j)} \delta(s_i,s_j) + \sum_{(i,j)}\frac{J}{2} = -\frac{J}{2}\sum_{(i,j)} (2\delta(s_i,s_j) - 1) }

Se incluírmos o campo magnético, o Hamiltoniado fica Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle H_p = -J \sum_{(i,j)} \delta(s_i,s_j) - \sum_i \frac{1}{\beta} h_i s_i}

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 Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_0} ; b) Coloque Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle t=0}

2. Itere a) Gere um estado candidato aleatório Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle x'} de acordo Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle g(x'|x_t)}

b) Calcule a probabilidade de aceitação Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle A(x',x_t) = min \left/(1,\frac{P(x')}{P(x_t)} \frac{g(x_t | x'}{x'|x_t} \right)}

c) Aceite ou rejeite:

1) Gere um número aleatório uniforme Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u \in [0,1]} ;

2) E se Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u\leq A(x',x_t)} , aceite o novo estado e defina Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{t+1}=x'} ;

3) E se Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u>A(x',x_t)} , rejeite o novo estado e copie o estado antigo para frente Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{t+1}=x_t} ;

4) Incremente: coloque t = t + 1

Em nosso caso, a distribuição Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{A(x,x')}{A(x',x)}} é Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle e^{-\beta \Delta E}} , onde Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta E=E_{x'} - E_{x}} .

Resultados

[[Arquivo: <arquivo> |thumb|right|500px| Simulação com o algoritmo de Metropolis para Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 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.