Grupo - Modelo de Potts: 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 70: Linha 70:
[[Arquivo:ExemploPottsMetropolis1.png|thumb|upright=1.2|right|Exemplo: rede bidimensional retangular com <math>q=100</math>. Um spin cercado por vizinhos de valores diferentes, a probabilidade de o sistema trocar para um estado de menor energia é <math>4/100=4%</math>, logo teremos que esperar em média <math>25</math> passos para a simulação avançar.]]
[[Arquivo:ExemploPottsMetropolis1.png|thumb|upright=1.2|right|Exemplo: rede bidimensional retangular com <math>q=100</math>. Um spin cercado por vizinhos de valores diferentes, a probabilidade de o sistema trocar para um estado de menor energia é <math>4/100=4%</math>, logo teremos que esperar em média <math>25</math> passos para a simulação avançar.]]


O problema desse algoritmo para um modelo como o de Potts, que admite um número elevado de estados possíveis para o spin, é evidenciado quando consideramos um sistema a baixas temperaturas. Para altas temperaturas, a probabilidade de aceitação é unitária ou suficientemente alta por conta de um <math>\beta</math> pequeno tornando algoritmo eficiente. Entretanto a baixas temperaturas, os spins tendem a se alinhar com seus vizinhos constituindo o fenômeno do ferromagnetismo. Se imaginarmos um spin no estado <math>s_i</math> cercado por vizinhos de valores diferentes, seguindo o algoritmo de Metropolis, seja qual for o valor <math>s_i'</math> selecionado uniformemente para o novo estado desse spin a probabilidade de aceitação é <math>A(\mu \rightarrow \nu) = 1</math> pois essa troca de spin vai diminuir a energia do sistema (quando <math>s_i'</math> for estado de um spin vizinho) ou no máximo manter constante a energia do sistema (<math>s_i'</math> continua sendo diferente de todos os spins vizinhos). Com isso, temos uma probabilidade de o sistema trocar para um estado de menor energia de <math>\frac{N_v}{q}</math>, onde <math>N_v</math> é número de vizinhos mais próximos de cada spin, aumentando muito o tempo necessário para o sistema entrar em equilíbrio.
O problema desse algoritmo para um modelo como o de Potts, que admite um número elevado de estados possíveis para o spin, é evidenciado quando consideramos um sistema a baixas temperaturas. Para altas temperaturas, a probabilidade de aceitação é unitária ou suficientemente alta por conta de um <math>\beta</math> pequeno tornando o algoritmo eficiente. Entretanto a baixas temperaturas, os spins tendem a se alinhar com seus vizinhos constituindo o fenômeno do ferromagnetismo. Se imaginarmos um spin no estado <math>s_i</math> cercado por vizinhos de valores diferentes, seguindo o algoritmo de Metropolis, seja qual for o valor <math>s_i'</math> selecionado uniformemente para o novo estado desse spin a probabilidade de aceitação é <math>A(\mu \rightarrow \nu) = 1</math> pois essa troca de spin vai diminuir a energia do sistema (quando <math>s_i'</math> for estado de um spin vizinho) ou no máximo manter constante a energia do sistema (<math>s_i'</math> continua sendo diferente de todos os spins vizinhos). Com isso, temos uma probabilidade <math>\frac{z}{q}</math> de o sistema trocar para um estado de menor energia, onde <math>z/math> é número de coordenação da rede, aumentando muito o tempo necessário para o sistema entrar em equilíbrio.


De maneira similar, se um spin tem o mesmo estado de um de seus vizinhos, teremos <math>N_v</math> novos estados <math>\nu</math> com taxa de aceitação unitária enquanto todos outros <math>q-N_v</math> estados terão uma taxa de aceitação muito baixa (dependendo da temperatura) resultando em uma probabilidade de transição pouco maior que <math>N_v/q</math>, novamente atrasando a simulação.
De maneira similar, se um spin tem o mesmo estado de um de seus vizinhos, teremos <math>z</math> novos estados <math>\nu</math> com taxa de aceitação unitária enquanto todos outros <math>q-N_v</math> estados terão uma taxa de aceitação muito baixa (dependendo da temperatura) resultando em uma probabilidade de transição pouco maior que <math>N_v/q</math>, novamente atrasando a simulação.


==Algoritmo do banho térmico==
==Algoritmo do banho térmico==

Edição das 23h03min de 28 de janeiro de 2018

Originalmente descrito por Renfrey Potts em 1951 na sua tese de doutorado, esse modelo é uma generalização do modelo de Ising para a interação entre spins em uma rede cristalina.

Descrição do modelo

No modelo de Potts a estados são considerados spins dispostos em uma rede, geralmente bidimesnsional retangular, cada spin podendo estar em um dos estados possíveis.

O Hamiltoniano desse sistema é


onde é a constante de acoplamento que determina a intensidade da interação, é a função delta de Kronecker que retorna se e retorna para todos os outros casos, e o somatório considera somente os pares de spins vizinhos.

No caso ferromagnético, , o nível fundamental de energia possui uma degenerescência igual a , correspondendo aos valores possíveis para todos os spins alinhados.

Relação com o modelo de Ising

É importante notar que para o modelo de Potts é equivalente ao modelo de Ising com constante de acoplamento a menos de uma constante aditiva no Hamiltoniano.


nesse caso os spins e tem apenas dois valores possíveis e


logo considerando como valores possíveis para os spins como ou encontramos


Simulação Monte Carlo

A abordagem utilizada para simular por Monte Carlo um sistema seguindo o modelo de Potts com pequeno é, naturalmente, similar àquela utilizada para o modelo de Ising: seguindo o algoritmo de Metropolis. Entretanto para valores mais elevados de esse algoritmo se torna ineficiente e o sistema demora um tempo muito longo para entrar em equilíbrio térmico.

Eficiência do algoritmo de Metropolis

Para entender porque o algoritmo de Metropolis não é otimo para uma simulação Monte Carlo de um sistema seguindo o modelo de Potts, devemos relembrar como ele resolve o problema de amostragem por importância.

As condições necessárias para a amostragem por importância são:

  • Ergodicidade: a garantia de que qualquer estado do sistema é acessível à partir de qualquer outro estado dado um comprimento suficientemente grande da cadeia de Markov.
  • Balanço detalhado: a garantia de que a cadeia de Markov de matriz estocástica vai convergir, quando o sistema atingir o equilíbrio térmico, para uma dada distribuição .

No caso do ensemble canônico essa distribuição é a distribuição de Boltzmann


onde é a função de partição e é o inverso da temperatura.

Considerando a probabilidade de transição de estado como o produto de uma probabilidade de seleção de um novo estado (a probabilidade de considerar como o próximo estado na cadeia dado o estado atual ) e uma probabilidade de aceitação de transição


o algoritmo de Metropolis atribui um valor fixo e uniforme para a probabilidade de seleção


que claramente garante a ergodicidade, restando apenas uma condição sobre os valores das probabilidades de aceitação:


que é satisfeita com a seguinte lei de seleção:


Exemplo: rede bidimensional retangular com . Um spin cercado por vizinhos de valores diferentes, a probabilidade de o sistema trocar para um estado de menor energia é , logo teremos que esperar em média passos para a simulação avançar.

O problema desse algoritmo para um modelo como o de Potts, que admite um número elevado de estados possíveis para o spin, é evidenciado quando consideramos um sistema a baixas temperaturas. Para altas temperaturas, a probabilidade de aceitação é unitária ou suficientemente alta por conta de um pequeno tornando o algoritmo eficiente. Entretanto a baixas temperaturas, os spins tendem a se alinhar com seus vizinhos constituindo o fenômeno do ferromagnetismo. Se imaginarmos um spin no estado cercado por vizinhos de valores diferentes, seguindo o algoritmo de Metropolis, seja qual for o valor selecionado uniformemente para o novo estado desse spin a probabilidade de aceitação é pois essa troca de spin vai diminuir a energia do sistema (quando for estado de um spin vizinho) ou no máximo manter constante a energia do sistema ( continua sendo diferente de todos os spins vizinhos). Com isso, temos uma probabilidade de o sistema trocar para um estado de menor energia, onde Falhou ao verificar gramática (erro de sintaxe): {\displaystyle z/math> é número de coordenação da rede, aumentando muito o tempo necessário para o sistema entrar em equilíbrio. De maneira similar, se um spin tem o mesmo estado de um de seus vizinhos, teremos <math>z} novos estados com taxa de aceitação unitária enquanto todos outros estados terão uma taxa de aceitação muito baixa (dependendo da temperatura) resultando em uma probabilidade de transição pouco maior que , novamente atrasando a simulação.

Algoritmo do banho térmico

Uma solução possível para o problema apresentado é utilizar o algoritmo de banho térmico, que também troca o estado de um spin por vez mas utiliza uma técnica diferente para satisfazer a condição do balanço detalhado. Diferentemente do algoritmo de Metropolis, onde a probabilidade de seleção é uniforme e a probabilidade de aceitação obedece uma lei que resulta em uma probabilidade de transição que respeita a condição, no algoritmo do banho térmico a taxa de aceitação é unitária


e a taxa de seleção é baseada nos pesos de Boltzmann (peso não nulo inclusive para o estado atual do sistema)


resultando automaticamente numa probabilidade de transição que respeita o balanço detalhado.

Esse algoritmo é muito mais eficiente para sistemas com alto grau de degenerescência, como o modelo de Potts com grau elevado.

Códigos utilizados

Modelo de Potts

Referências

Potts, Renfrey B. (1952). "Some Generalized Order-Disorder Transformations". Mathematical Proceedings.

M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.