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

De Física Computacional
Ir para navegação Ir para pesquisar
Eliseuvf (discussão | contribs)
Sem resumo de edição
Eliseuvf (discussão | contribs)
Linha 95: Linha 95:
[[Arquivo:Mtime-Q2-T2.5-L64.png|thumb|center|700px|Simulação Monte Carlo com <math>q=2</math> (Ising): Magnetização em função do tempo]]
[[Arquivo:Mtime-Q2-T2.5-L64.png|thumb|center|700px|Simulação Monte Carlo com <math>q=2</math> (Ising): Magnetização em função do tempo]]


Para o modelo de Ising a altas temperaturas, o algoritmo de Metropolis tem uma pequena vantagem, mas para ambos os casos o sistema acaba termalizando em aproximadamente <math>20\text{ MCSweeps}</math> (para uma rede com <math>N</math> spins, <math>1\text{ MCSweep}</math> é equivalente a <math>N</math> passos Monte Carlo, isto é, evolução suficiente para todos os spin ter a chance de trocar de esta uma vez).
Para o modelo de Ising a altas temperaturas, o algoritmo de Metropolis tem uma pequena vantagem, mas para ambos os casos o sistema acaba termalizando em aproximadamente <math>20\text{ MCSweeps}</math> (para uma rede com <math>N</math> spins, <math>1\text{ MCSweep}</math> é equivalente a <math>N</math> passos Monte Carlo, isto é, evolução suficiente para dar a todos os spins uma chance de trocar de estado).


  <math>q=2</math>, rede retangular <math>64\times 64</math> com condições de contorno periódicas a uma temperatura <math>T=0.8\text{J}</math> (<math>k_B=1</math>)
  <math>q=2</math>, rede retangular <math>64\times 64</math> com condições de contorno periódicas a uma temperatura <math>T=0.8\text{J}</math> (<math>k_B=1</math>)

Edição das 13h34min de 29 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 q estados são considerados N spins si dispostos em uma rede, geralmente bidimensional retangular, cada spin podendo estar em um dos q estados possíveis.

O Hamiltoniano desse sistema é

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

onde J é a constante de acoplamento que determina a intensidade da interação, δ(si,sj) é a função delta de Kronecker que retorna 1 se si=sj e retorna 0 para todos os outros casos, e o somatório considera somente os pares (i,j) de spins vizinhos.

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

Relação com o modelo de Ising

É importante notar que para q=2 o modelo de Potts é equivalente ao modelo de Ising com constante de acoplamento J2 a menos de uma constante aditiva (i,j)J2 no Hamiltoniano.

HI=Hp+(i,j)J2=J(i,j)δ(si,sj)+(i,j)J2=J2(i,j)(2δ(si,sj)1)

nesse caso os spins si e sj têm apenas dois valores possíveis e

2δ(si,sj)1={1,se si=sj1,se sisj

logo considerando como valores possíveis para os spins {si,sj} como 1 ou 1 encontramos

HI=Hp+(i,j)J2=J2(i,j)sisj

Simulação Monte Carlo

A abordagem utilizada para simular por Monte Carlo um sistema seguindo o modelo de Potts com q pequeno é, naturalmente, similar àquela utilizada para o modelo de Ising: seguindo o algoritmo de Metropolis. Entretanto para valores mais elevados de q 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 P(μν) vai convergir, quando o sistema atingir o equilíbrio térmico, para uma dada distribuição pμ.
pμP(μν)=pνP(νμ)

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

pμ=1ZeβEμ

onde Z é a função de partição e β=1kBT é o inverso da temperatura.

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

P(μν)=g(μν)A(μν)

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

g(μν)=1N,μ,ν

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

A(μν)A(νμ)=pνpμ=eβ(EνEμ)

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

A(μν)={eβ(EνEμ),se Eν>Eμ1,caso contrario
Exemplo: rede bidimensional retangular com q=100. Um spin cercado por vizinhos de valores diferentes, a probabilidade de o sistema trocar para um estado de menor energia é 4/100=4%, logo teremos que esperar em média 25 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 si cercado por vizinhos de valores diferentes, seguindo o algoritmo de Metropolis, seja qual for o valor si selecionado uniformemente para o novo estado desse spin a probabilidade de aceitação é A(μν)=1 pois essa troca de spin vai diminuir a energia do sistema (quando si for estado de um spin vizinho) ou, no máximo, manter constante a energia do sistema (si continua sendo diferente de todos os spins vizinhos). Com isso, temos uma probabilidade zq de o sistema trocar para um estado de menor energia, onde z é 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 z novos estados ν com taxa de aceitação unitária enquanto todos outros qz estados terão uma taxa de aceitação muito baixa (dependendo da temperatura) resultando em uma probabilidade de transição pouco maior que z/q, 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 g(μν) é uniforme e a probabilidade de aceitação A(μν) obedece uma dada lei resultando em uma probabilidade de transição P(μν) que respeita a condição, no algoritmo do banho térmico a taxa de aceitação é unitária

A(μν)=1,μ,ν

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

g(μν)eβEνpν,μ,ν

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 q elevado.

Testes numéricos

q=2, rede retangular 64×64 com condições de contorno periódicas a uma temperatura T=2.5J (kB=1)
Simulação Monte Carlo com q=2 (Ising): Energia em função do tempo
Simulação Monte Carlo com q=2 (Ising): Magnetização em função do tempo

Para o modelo de Ising a altas temperaturas, o algoritmo de Metropolis tem uma pequena vantagem, mas para ambos os casos o sistema acaba termalizando em aproximadamente 20 MCSweeps (para uma rede com N spins, 1 MCSweep é equivalente a N passos Monte Carlo, isto é, evolução suficiente para dar a todos os spins uma chance de trocar de estado).

q=2, rede retangular 64×64 com condições de contorno periódicas a uma temperatura T=0.8J (kB=1)
Simulação Monte Carlo com q=2 (Ising): Energia em função do tempo
Simulação Monte Carlo com q=2 (Ising): Magnetização em função do tempo

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.