Algoritmo de Wang-Landau: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Sem resumo de edição
Linha 91: Linha 91:


==Resultados==
==Resultados==
===Densidade de estados===


A estimativa da densidade de estados para <math>L = 16</math> usando a amostragem de Wang-Landau é mostrada na Fig. 1, junto com os resultados exatos de Beale <ref name="beale" />.  
A estimativa da densidade de estados para <math>L = 16</math> usando a amostragem de Wang-Landau é mostrada na Fig. 1, junto com os resultados exatos de Beale <ref name="beale" />.  
Os fatores de modificação inicial e final para os passeios aleatórios foram <math>ln(f_0) = 1 e ln(f_{final}) = 10^{−8}</math>.
O histograma <math>H(E)</math> foi considerado plano quando todas as entradas não eram inferiores a 80% da média <math>\left<H(E)\right></math>.
A densidade absoluta de estados na Fig. 1 é obtida pela condição de que o número de estados fundamentais seja 2 para o modelo de Ising 2D.
Com a escala logarítmica usada na Fig. 1, os dados simulados e a solução exata se sobrepõem perfeitamente. Na inserção da Fig. 1, vemos que o erro relativo é, de fato, muito pequeno.


[[Arquivo:Densidade de estado.png|300px|thumb|center| Figura 1: Logaritmo da densidade de estados <math> \ln g(E) </math> do modelo de Ising 2D com <math> L = 16 </math>.]]
[[Arquivo:Densidade de estado.png|300px|thumb|center| Figura 1: Logaritmo da densidade de estados <math> \ln g(E) </math> do modelo de Ising 2D com <math> L = 16 </math>.]]


===Distribuição canônica===


Discutir a distribuição canônica
Podemos calcular a distribuição canônica usando a equação <math> P(E, T) = g(E)e^{−E/k_BT}</math> a qualquer temperatura, sem a necessidade de realizar várias simulações.


Na Fig. 2, mostramos a distribuição canônica resultante na temperatura crítica <math>T_c</math>, que exibe um único pico.


[[Arquivo:Dist cano 23.png|300px|thumb|center| Figura 2: Distribuição canônica <math> P(E,T_c) = g(E)e^{-E/k_BT_c} </math> na temperatura de transição do modelo de Ising 2D com <math> L = 16 </math> e <math> k_BT_c = 2.3 </math>.]]
[[Arquivo:Dist cano 23.png|300px|thumb|center| Figura 2: Distribuição canônica <math> P(E,T_c) = g(E)e^{-E/k_BT_c} </math> na temperatura de transição do modelo de Ising 2D com <math> L = 16 </math> e <math> k_BT_c = 2.3 </math>.]]
As distribuições em temperaturas acima e abaixo de <math>T_c</math> também apresentam pico único, conforme ilustrado no detalhe da Fig. 3.


[[Arquivo:Dists cano.png|300px|thumb|center| Figura 3: Distribuição canônica <math> P(E,T) = g(E)e^{-E/k_BT} </math> nas temperaturas <math> T = 2.2 </math> e <math> T = 2.4 </math> do modelo de Ising 2D com <math> L = 16 </math>.]]
[[Arquivo:Dists cano.png|300px|thumb|center| Figura 3: Distribuição canônica <math> P(E,T) = g(E)e^{-E/k_BT} </math> nas temperaturas <math> T = 2.2 </math> e <math> T = 2.4 </math> do modelo de Ising 2D com <math> L = 16 </math>.]]




Discutir as quantidades termodinâmicas
===Quantidades termodinâmicas===
 
Os resultados simulados, calculados diretamente com as equações descritas no capítulo anterior, e as soluções exatas se sobrepõem quase perfeitamente em uma ampla região de temperatura de <math>k_BT = 0 − 8</math>.
 
Testes mais rigorosos de precisão são fornecidos a partir dos erros relativos para as respectivas quantidades termodinâmicas. Os erros relativos são muito pequenos para toda a região de temperatura de <math>k_BT = 0 − 8</math>.
 
Como o sistema tem uma transição de fase de segunda ordem, a primeira derivada da energia livre é uma função contínua da temperatura. Não há saltos na energia interna ou na entropia, mesmo no limite, pois o
tamanho do sistema vai para o infinito.


[[Arquivo:Qnt termo.png|700px|thumb|center| Figura 4: Quantidades termodinâmicas do modelo de Ising 2D com <math> L = 16 </math> calculado a partir da densidade de estados <math> g(E) </math>. Na figura, estão mostrados: (a) energia interna, (b) calor específico, (c) energia livre de Helmholtz e (d) entropia. Os gráficos ''inset'' são os erros relativos.]]
[[Arquivo:Qnt termo.png|700px|thumb|center| Figura 4: Quantidades termodinâmicas do modelo de Ising 2D com <math> L = 16 </math> calculado a partir da densidade de estados <math> g(E) </math>. Na figura, estão mostrados: (a) energia interna, (b) calor específico, (c) energia livre de Helmholtz e (d) entropia. Os gráficos ''inset'' são os erros relativos.]]

Edição das 22h24min de 28 de novembro de 2021

Nomes: Rafael Abel da Silveira e William Machado Pantaleão

Introdução

Simulações computacionais, como o método de Monte Carlo, são vastamente utilizadas para estudar transições de fase e fenômenos críticos. O método padrão para simulações de Monte Carlo é o algoritmo de Metropolis, entretanto, algoritmos novos e mais eficientes são usados em simulações modernas, como o algoritmo de Wang-Landau. Ao contrário dos métodos convencionais de Monte Carlo, que geram diretamente uma distribuição canônica a uma dada temperatura , a abordagem de Wang-Landau estima a densidade de estados diretamente por meio de um passeio aleatório, que produz um histograma plano no espaço de energia . [1]

Mesmo para modelos que podem ser resolvidos analiticamente, a densidade de estados não pode ser determinada para sistemas maiores [2]. Com o algoritmo de Wang-Landau, é possível obter a a partir de um passeio aleatório. A estimativa para é melhorada a cada etapa do passeio aleatório, usando um fator de modificação cuidadosamente controlado, para produzir um resultado que converge para o valor real rapidamente.

Amostragem de Wang-Landau

No início da simulação, é desconhecido e fazemos uma estimativa inicial para ele. A abordagem mais simples é definir para todas as energias possíveis . A configuração de spin inicial para toda a rede pode ser escolhida arbitrariamente. Então, uma caminhada aleatória no espaço de energia é iniciada pela formação de estados de teste, cada um dos quais é produzido escolhendo aleatoriamente um spin e alterando seu estado.

Cada vez que uma energia é visitada, o histograma é incrementado em 1. A estimativa de é então modificada por um fator multiplicativo , e o valor atualizado realiza um passeio aleatório adicional no espaço de .

Se e são as energias antes e depois de um valor de spin ser alterado, a probabilidade de transição da energia para é dada por

A razão das probabilidades de transição de para e de a podem ser calculados como

Logo, o algoritmo de passeio aleatório satisfaz o equilíbrio detalhado:

onde é a probabilidade na energia e é a probabilidade de transição de para .

Se o estado de energia é aceito, a densidade de estados é multiplicada pelo fator de modificação de maneira que e a entrada no histograma para é atualizada de forma . Se o estado de energia não é aceito, a densidade de estados é multiplicada pelo fator de modificação, e é atualizada de forma .

Flatness

O procedimento de passeio aleatório é seguido até o histograma estar reto (do inglês, "flat"), e para determinar isso, a cada iterações verificamos se todos valores possíveis de estão a uma distância, no máximo, de . A variável é denominada "flatness". Quando o histograma está reto, todos estados de energia foram visitados aproximadamente igualmente.

O número de passos, </math> n </math> que devemos realizar antes de checar deve ser maior que onde indica o tamanho da rede, para que o algoritmo tenha a oportunidade de visitar cada estado pelo menos uma vez.

Para sistemas simples, podemos utilizar um valor tão alto quanto 95%, entretanto, para este trabalho foi escolhido o valor de 80%.

Fator de modificação

Em geral, como se torna muito grande, trabalhamos com o logaritmo natural dessas quantidades, . Portanto, cada atualização da densidade de estados é dada por . O valor comumente utilizado para o fator de modificação é .

Quando o histograma é considerado reto, pelas condições descritas acima, reduzimos o valor de de forma que o novo valor será , resetamos o histograma e recomeçamos o passeio aleatório.

A simulação é parada para um valor de predeterminado. No caso, usamos .


Aplicação ao Modelo de Ising 2D

Modelo de Ising

O modelo de Ising é uma rede 2D, de tamanho que consiste de uma variável discreta em cada sítio que pode ser usada para representar o momento de dipolo magnético de um átomo[3] Cada sítio pode ter o valor de spin ou .

Para este trabalho, o hamiltoniano de interação pode ser calculado por onde indica pares distintos de vizinhos-mais-próximos.

Com a densidade de estados, podemos calcular as seguintes quantidades termodinâmicas:

Energia interna:

Calor específico:

Energia livre de Helmoltz:

Entropia:

Finalmente, podemos também calcular a distribuição canônica usando:

Algoritmo

Resumindo, o passo a passo do algoritmo pode ser escrito como:

1. Defino para todos e o fator de modificação inicial ;

2. Aleatoriamente, escolho um spin e troco o seu valor. Aceito a transição com probabilidade ;

3. Modifico a densidade de estados e atualizo o histograma ;

4. Continuo até o histograma estar reto, então diminuo o valor de pela metade e reseto o histograma ;

5. Repito os passos 2-4 até .

6. Obtendo a , posso calcular as quantidades termodinâmicas descritas anteriormente.

Resultados

Densidade de estados

A estimativa da densidade de estados para usando a amostragem de Wang-Landau é mostrada na Fig. 1, junto com os resultados exatos de Beale [2].

Os fatores de modificação inicial e final para os passeios aleatórios foram Falhou ao verificar gramática (erro de sintaxe): {\displaystyle ln(f_0) = 1 e ln(f_{final}) = 10^{−8}} .

O histograma foi considerado plano quando todas as entradas não eram inferiores a 80% da média 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 \left<H(E)\right>} .

A densidade absoluta de estados na Fig. 1 é obtida pela condição de que o número de estados fundamentais seja 2 para o modelo de Ising 2D.

Com a escala logarítmica usada na Fig. 1, os dados simulados e a solução exata se sobrepõem perfeitamente. Na inserção da Fig. 1, vemos que o erro relativo é, de fato, muito pequeno.

Figura 1: Logaritmo da densidade de estados do modelo de Ising 2D com .

Distribuição canônica

Podemos calcular a distribuição canônica usando a equação Falhou ao verificar gramática (erro de sintaxe): {\displaystyle P(E, T) = g(E)e^{−E/k_BT}} a qualquer temperatura, sem a necessidade de realizar várias simulações.

Na Fig. 2, mostramos a distribuição canônica resultante na temperatura crítica , que exibe um único pico.

Figura 2: Distribuição canônica na temperatura de transição do modelo de Ising 2D com e .

As distribuições em temperaturas acima e abaixo de também apresentam pico único, conforme ilustrado no detalhe da Fig. 3.


Figura 3: Distribuição canônica nas temperaturas e do modelo de Ising 2D com .


Quantidades termodinâmicas

Os resultados simulados, calculados diretamente com as equações descritas no capítulo anterior, e as soluções exatas se sobrepõem quase perfeitamente em uma ampla região de temperatura de Falhou ao verificar gramática (erro de sintaxe): {\displaystyle k_BT = 0 − 8} .

Testes mais rigorosos de precisão são fornecidos a partir dos erros relativos para as respectivas quantidades termodinâmicas. Os erros relativos são muito pequenos para toda a região de temperatura de 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 k_BT = 0 − 8} .

Como o sistema tem uma transição de fase de segunda ordem, a primeira derivada da energia livre é uma função contínua da temperatura. Não há saltos na energia interna ou na entropia, mesmo no limite, pois o tamanho do sistema vai para o infinito.

Figura 4: Quantidades termodinâmicas do modelo de Ising 2D com calculado a partir da densidade de estados . Na figura, estão mostrados: (a) energia interna, (b) calor específico, (c) energia livre de Helmholtz e (d) entropia. Os gráficos inset são os erros relativos.

Referências

<references>

Código

asdfasdf

  1. D. P. Landau, Shan-ho Tsai, M. Exler, A new approach to Monte Carlo simulations in statistical physics: Wang-Landau sampling, American Journal of Physics 72, 1294 (2004). https://doi.org/10.1119/1.1707017
  2. 2,0 2,1 P. D. Beale, Exact Distribution of Energies in the Two-Dimensional Ising Model, Phys. Rev. Lett. 76,78 (1996). https://doi.org/10.1103/PhysRevLett.76.78
  3. A. Rosa, C. Pires, L. Doria, Ising 2D, Wikia da Física Computacional da UFRGS. https://fiscomp.if.ufrgs.br/index.php/Ising_2D#Modelo_de_Ising