Modelo de Potts -- 2D: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
| Linha 150: | Linha 150: | ||
== Conclusões == | == Conclusões == | ||
A partir da simulação do modelo de potts em duas dimesões foi possível validar a eficácia e as diferenças entre os algoritmos de metrópolis e Banho Térmico. A comparação evidenciou que enquanto o algoritmo de metrópolis é adequado para valores de baixo Q (como Q=2) e altas temperaturas, o Banho Térmico se mostrou mais vantajoso para contornar a baixa taxa de aceitação em regimes de alta frustração (Q elevados ou baixas temperaturas), convergindo mais rapidamente para o equilíbrio. | |||
A análise feita para $Q \le 4$ confirmou as espectativas teóricas, mostrando que o aumento do número de estados desloca a temperatura crítica para valores menores e torna as curvas de transição de fase mais abruptas. O modelo $Q = 2$ reproduziu o que esperávamos do modelo de Ising, com a temperatura crítica convergindo para o valor análitico já conhecido. | |||
Além disso, a aplicação do Finite size scaling contornou as limitações na rede finita. O cruzamento do U4 confirmou o ponto crítico independentemente de L. O colapso dos dados de susceptibilidade magnética validou a relação de escala com os expoentes críticos, enquanto a análise do calor específico para Q=2 mostrou a divergência logarítmica característica ($\alpha = 0$) ao invés de uma lei de potência padrão. De maneira geral, os métodos numéricos empregados se mostraram robustos e de acordo com o esperado pela literatura. | |||
== Código == | == Código == | ||
Para gerar estas simulações, foi produzido um código em Python3. Utilizamos as bibliotecas seguintes bibliotecas: Numpy, em que usamos os gerador de números aleatórios e as arrays; Numba, para otimizar as funções e acelerar o código; e Matplotlib, que utilizamos para gerar os códigos. | Para gerar estas simulações, foi produzido um código em Python3. Utilizamos as bibliotecas seguintes bibliotecas: Numpy, em que usamos os gerador de números aleatórios e as arrays; Numba, para otimizar as funções e acelerar o código; e Matplotlib, que utilizamos para gerar os códigos. | ||
A análise para $Q \le 4$ confirmou as expectativas teóricas, mostrando que o aumento do número de estados desloca a temperatura crítica para valores menores e torna as curvas de transição de fase mais abruptas. O modelo $Q=2$ reproduziu com fidelidade a física do modelo de Ising, com a temperatura crítica convergindo para o valor analítico conhecido.Por fim, a aplicação das técnicas de Finite Size Scaling contornou as limitações da rede finita. O cruzamento do U4 confirmou o ponto crítico independentemente de $L$. O colapso dos dados de susceptibilidade magnética validou a relação de escala com os expoentes críticos, enquanto a análise do calor específico para $Q=2$ ilustrou a divergência logarítmica característica ($\alpha = 0$) em vez de uma lei de potência padrão. De maneira geral, os métodos numéricos utilizados se provaram robustos e consistentes com a mecânica estatística exata do modelo. | |||
Link: https://colab.research.google.com/drive/1V7GsP-fEIkhU29QCPvh_UcZKIXtupR7p?usp=sharing | Link: https://colab.research.google.com/drive/1V7GsP-fEIkhU29QCPvh_UcZKIXtupR7p?usp=sharing | ||
Edição das 16h55min de 27 de maio de 2026
Introdução
O Modelo de Potts
O modelo de Potts (Potts, 1951) pode ser descrito como uma generalização do modelo de Ising (Ising, 1925) para um sistema de N spins e Q-estados (Q > 2).
Originalmente, o problema proposto por Domb era o de compreender o modelo de Ising como um sistema de spins, em que os spins podem ser paralelos ou antiparalelos. Desse modo, a generalização seria considerar que os spins estivessem sobre um plano, em que cada spin estivesse apontando para direções diferentes, igualmente espaçadas por um ângulo definido por Q:
, em que n = (0, 1, 2, ..., Q-1). [1]
A energia de cada interação entre dois spins é dada pelo potencial , em que é a constante de interação entre os dois spins [3]. Esse tipo de sistema o Hamiltoniano da forma:
Para o caso em que o modelo de Potts é equivalente ao modelo de Ising, temos que Q = 2, então:
, n = (0, 1, 2, ..., Q-1)
Objetivos
Neste trabalho, buscamos analisar o comportamento do sistema utilizando dois algoritmos diferentes: o Algoritmo de Metropolis-Hastings e o Algoritmo de Banho Térmico. A partir deles, comparamos a temperatura do sistema com a energia, em cada um dos algoritmos. Depois, com FSS, aplicamos o método de U4 para analisar o comportamento do sistema em diferentes temperaturas, para valores diferentes de L. Por fim, procuramos analisar a susceptibilidade magnética e o calor específico bruto, também com L de diferentes valores.
Metodologia
Para realizar este trabalho, utilizamos uma rede quadrada 2D de comprimento L com N=L*L spins. A rede possui condições de contorno periódicas e vizinhança de von Neumann para primeiros vizinhos. A constante de interação é e para o banho térmico .
Método de Monte Carlo
No método de Monte Carlo, começamos sorteando aleatoriamente os spins da rede. Em cada passo de Monte Carlo (MCS), sorteamos spins aleatoriamente N vezes, de modo que cada spin tenha uma chance 1/N de ser sorteado. Quando sorteado, um novo valor (diferente do anterior) para esse spin é escolhido e aceito com base em critérios estabelecidos por cada algoritmo. Esse processo acontece em 1 passo de Monte Carlo e número total de passos de Monte Carlo para cada algoritmo foi escolhido separadamente, levando em conta número de passos do estado transiente em cada algoritmo.
Algoritmo de Metropolis-Hasting
(texto retirado de : [3])
O primeiro algoritmo utilizado para gerar as configurações do sistema foi o algoritmo de Metropolis-Hasting. O algoritmo escolhe repetidamente um novo estado para o sistema e aceitando ou rejeitando ele de acordo com uma probabilidade de aceitação de transitar de um estado antigo para o novo estado . O algoritmo que iremos descrever utiliza a dinâmica de inversão única de spins.
Temos que a condição de balanceamento detalhado é dada por [4]:
onde é a diferença de energia entre o novo e o antigo estado.
Vamos supor que tenhamos os estados e e que temos a relação de energias: . Então, a maior das duas chances de aceitação é , portanto iremos igualar essa probabilidade a 1. Para que seja respeitada, iremos definir o valor de como . Temos, assim, o algoritmo de Metropolis-Hasting:
Dessa forma, sempre que tivermos um estado cuja energia seja menor do que a do estado atual, iremos aceitar a transição, mas se a energia for maior, teremos uma pequena probabilidade de trocarmos de estado.
Algoritmo de Banho Térmico
(texto retirado de : [3])
O algoritmo de Metropolis-Hasting para inversão única de spins é eficaz para o modelo de Potts em baixos valores de ou temperaturas acima da temperatura crítica, entretanto para valores altos de ou baixas temperaturas o algoritmo falha em convergir o sistema rapidamente para o estado estacionário.
Considerando um caso onde e um spin que possui 4 vizinhos, se todos os vizinhos do spin possuem valores diferentes uns do outro e do próprio spin, poderá levar em média passos de Monte Carlo para sortear um novo valor de que tem a transição aceita, e dessa forma o algoritmo irá demorar mais tempo para alcançar a configuração de equilíbrio do sistema. A dificuldade de aceitar transições é maior ainda para baixas temperaturas, onde a probabilidade de transicionar para um novo estado tem um peso maior para qualquer diferente dos spins da vizinhança, dessa maneira poderá demorar 96 passos para gerar um spin que seja igual a algum spin da vizinhança e realizar a transição. Para contornar este problema podemos utilizar o algoritmo de banho térmico.
O algoritmo de banho térmico, assim como o metropolis, é um algoritmo em que mudamos um spin por vez. O algoritmo segue as seguintes etapas: primeiro escolhemos um spin na rede (), e independente do seu valor atual, escolhemos um novo valor para . Esse novo valor será aceito, ou não, de acordo com os pesos de Boltzmann. Temos que no algoritmo de Banho Térmico nós atribuímos um valor , entre 1 e , ao spin com uma probabilidade
onde é a energia do sistema quando e o somatório é dado em todas energias possíveis. Pelo fato desse algoritmo permitir que o spin assuma qualquer valor ele satisfaz a condição de ergodicidade. Temos que e , assim, pela descrição do algoritmo temos
Ou seja, o algoritmo de banho térmico respeita a condição de balanço detalhado.
Veremos que para valores pequenos de (como , que é o modelo de Ising), o algoritmo de Metropolis é mais eficiente. Porém, para valores altos de ou altas temperaturas o algoritmo de banho térmico é mais eficiente.
Resultados
Comparando os Algoritmos em Q=2
Aqui se encontram os resultado para Q=2. As simulações foram realizadas para MCS = 50.000 passos. O transiente para o banho térmico foi de 500 passos, pois a simulação atingiu o estado estacionário rapidamente, enquanto para o algoritmo de Metropolis foram necessários 10.000 passos para atingir esse estado. Os valores de energia usados foram obtidos a partir da média dos valores de energia no estado estacionário.
Aqui observamos que o modelo realmente se aproxima do modelo de ISING quando Q=2. Primeiramente, vemos que a temperatura crítica do Potts Q=2 se aproxima à temperatura crítica do modelo de ISING, que sabemos que é . Além disso, vemos que na energia média os dois algoritmos apresentam resultados praticamente idênticos. Nos gráficos de calor específico e de susceptibilidade também vemos esse comportamento na maior parte do intervalo da temperatura, com exceção dos picos apresentados em cada gráfico que vemos que os algoritmos se diferenciam próximos à região da temperatura crítica: o Metropolis-Hastings parece chegar a valores menores que o Banho Térmico (mas julgamos necessário plotar mais pontos para afirmar isto). Por fim, na magnetização, ambos os algoritmos apresentam grandes variações num período inicial de T, mas logo após atingir a temperatura crítica, os algoritmos se tornam quase indistinguíveis e mantém valores muito próximos até T = 2.
Comparação entre os casos Q <= 4 (com Metropolis)
Aqui, colocamos a comparação dos resultados obtidos para Q = 2,3,4. Comparamos as mesmas grandezas que na seção anterior (Energia Média, Magnetização Média, Susceptibilidade Magnética e Calor Específico) utilizado apenas o algoritmo de Metropolis-Hastings para L = 64 e .
Nos quatro gráficos, observamos que os pontos de transição de fase (ou pontos de temperatura crítica) são para Q = 4, para Q = 3 e para Q = 2. Observamos na primeira figura que a energia do sistema (depois dos pontos de transição de fase) aumenta a sua curvatura se tornando cada vez mais acentuada, mas o comportamento geral das curvas se assemelham entre si em todo o intervalo de temperatura do sistema utilizado. Portanto, a partir das três curvas, podemos assumir que a curva da energia do sistema se aproxima de uma descontinuidade no ponto crítico a medida que Q aumenta. Na susceptibilidade magnética, vemos que o comportamento em Q = 3 se diferencia muito das curvas de Q = 2 e Q = 4. Isso indica que o algoritmo de Metropolis oscilou bastante nessa região, o que nos da indícios de um comportamento crítico/extremo nessa região. Para calor específico, notamos que nos pontos de transição de fase para Q = 3 e Q = 4 há picos que se destacam dos outros pontos da curva, enquanto que para Q = 2 esse pico não é tão extremo. Isso nos indica que a energia necessária para o sistema realinhar seus spins é muito grande nos dois primeiros casos citados, enquanto que no equivalente ao modelo de ISING essa energia não é tão grande. Por fim, na magnetização média, inicialmente notamos um ruído para valores de temperatura menores que a temperatura crítica. Depois disso, eles estabilizam em valores específicos, que são as médias dos valores de spins definidos em cada caso (ex.: em Q = 2 definimos spins 0 e 1, então a média é 0.5).
FSS
O Finite Size Scaling (FSS) é uma ferramenta computacional que nos permite pegar uma rede de tamanho finito (como L = 64) e descobrir como ela se comportaria no limite termodinâmico quando L tende a infinito. Em Q = 2, sabemos que a susceptibilidade e o calor específico deveriam ir para o infinito quando T = Tc. Contudo, como a nossa rede tem tamanho finito, observamos que em Q = 2 não é isso que acontece. Portanto, usamos essa ferramenta nas simulações a fim de verificar estes resultados já conhecidos na literatura.
U4
Esse U4 é uma ferramenta estatística que mede o 'quarto momento' das flutuações de magnetização, isso significa que ele vai dizer se o sistema está bem ordenado ou completamente caótico. Quando a temperatura é baixa (sistema perfeitamente ordenado), a medida para todos os tamanhos de rede tende a 2/3. Em temperaturas altas (sistema é um caos), a medida vai a zero.
Exatamente na transição de fase, o valor não depende do tamanho L da rede, então as curvas vão convergir.
Susceptibilidade Magnética
A susceptibilidade magnética mede o quão 'sensível' o sistema é. Se fosse aplicado um campo magnético minúsculo, o quanto o sistema responderia mudando sua magnetização? Estatisticamente, isso é calculado através das flutuações (variância) da magnetização. O que acontece é que longe da temperatura crítica, os spins estão ou muito ordenados ou muito caóticos. Em ambos os casos, as flutuações globais são pequenas, então a susceptibilidade é baixa. Perto da temperatura crítica, o sistema não está nem muito ordenado, nem muito caótico, então flutuam violentamente. Por isso, a susceptibilidade é altíssima e diverge para o infinito na temperatura crítica. Como na simulação a rede é finita, o comprimento de correlação (tamanho de domínios de spins que flutuam muito) tenta crescer, mas 'bate nas paredes' que tem tamanho finito L da rede. É por isso que o pico não vai propriamente a infinito.
A teoria diz que, muito perto do ponto crítico, a física do sistema 'esquece' os detalhes microscópicos da rede e passa a depender somente da proporção entre o tamanho do sistema e o comprimento de correlação. Nós sabemos que no ponto crítico o pico máximo da susceptibilidade deve crescer como . Então se nós pegarmos o eixo Y e dividirmos por , estamos achatando os picos na mesma proporção. Da mesma forma, estivamos o eixo X multiplicando por .
Calor Específico
O calor específico mede a a variância de energia. Perto da temperatura crítica, como os spins estão virando em blocos massivos, a energia total do sistema oscila drasticamente. A variância da energia sobe, criando o pico do calor específico. A teoria nos diz que o expoente crítico que governa o calor específico é o . Para a imensa maioria dos modelos 3D, é um número positivo, fazendo o pico crescer muito rápido com L. Mas, incrivelmente, para o modelo de Potts Q=2 (Ising) em duas dimensões, . Quando isso acontece, a divergência não é uma lei de potência normal, mas sim logarítmica. É por isso que, quando olhamos o gráfico de o pico da rede de 64 é maior que o da rede 16, mas ele cresce de forma mais suave, proporcional ao .
Conclusões
A partir da simulação do modelo de potts em duas dimesões foi possível validar a eficácia e as diferenças entre os algoritmos de metrópolis e Banho Térmico. A comparação evidenciou que enquanto o algoritmo de metrópolis é adequado para valores de baixo Q (como Q=2) e altas temperaturas, o Banho Térmico se mostrou mais vantajoso para contornar a baixa taxa de aceitação em regimes de alta frustração (Q elevados ou baixas temperaturas), convergindo mais rapidamente para o equilíbrio. A análise feita para $Q \le 4$ confirmou as espectativas teóricas, mostrando que o aumento do número de estados desloca a temperatura crítica para valores menores e torna as curvas de transição de fase mais abruptas. O modelo $Q = 2$ reproduziu o que esperávamos do modelo de Ising, com a temperatura crítica convergindo para o valor análitico já conhecido. Além disso, a aplicação do Finite size scaling contornou as limitações na rede finita. O cruzamento do U4 confirmou o ponto crítico independentemente de L. O colapso dos dados de susceptibilidade magnética validou a relação de escala com os expoentes críticos, enquanto a análise do calor específico para Q=2 mostrou a divergência logarítmica característica ($\alpha = 0$) ao invés de uma lei de potência padrão. De maneira geral, os métodos numéricos empregados se mostraram robustos e de acordo com o esperado pela literatura.
Código
Para gerar estas simulações, foi produzido um código em Python3. Utilizamos as bibliotecas seguintes bibliotecas: Numpy, em que usamos os gerador de números aleatórios e as arrays; Numba, para otimizar as funções e acelerar o código; e Matplotlib, que utilizamos para gerar os códigos. A análise para $Q \le 4$ confirmou as expectativas teóricas, mostrando que o aumento do número de estados desloca a temperatura crítica para valores menores e torna as curvas de transição de fase mais abruptas. O modelo $Q=2$ reproduziu com fidelidade a física do modelo de Ising, com a temperatura crítica convergindo para o valor analítico conhecido.Por fim, a aplicação das técnicas de Finite Size Scaling contornou as limitações da rede finita. O cruzamento do U4 confirmou o ponto crítico independentemente de $L$. O colapso dos dados de susceptibilidade magnética validou a relação de escala com os expoentes críticos, enquanto a análise do calor específico para $Q=2$ ilustrou a divergência logarítmica característica ($\alpha = 0$) em vez de uma lei de potência padrão. De maneira geral, os métodos numéricos utilizados se provaram robustos e consistentes com a mecânica estatística exata do modelo.
Link: https://colab.research.google.com/drive/1V7GsP-fEIkhU29QCPvh_UcZKIXtupR7p?usp=sharing
Referências
- ↑ F. Y. Wu, The Potts Model, Rev. Mod. Phys. 54, 235, 1982
- ↑ https://fiscomp.if.ufrgs.br/index.php?title=Modelo_de_Potts_-_2D
- ↑ 3,0 3,1 3,2 3,3 https://fiscomp.if.ufrgs.br/index.php?title=Modelo_de_Potts_2D
- ↑ M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.


