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
Sem resumo de edição
Linha 23: Linha 23:
<math>\frac{1}{g(E_1)}p(E_1 \rightarrow E_2) = \frac{1}{g(E_2)}p(E_2 \rightarrow E_1),</math>
<math>\frac{1}{g(E_1)}p(E_1 \rightarrow E_2) = \frac{1}{g(E_2)}p(E_2 \rightarrow E_1),</math>


onde <math>1 / g (E1)</math> é a probabilidade na energia <math>E_1</math> e <math>p (E_1\rightarrow E_2)</math> é a probabilidade de transição de <math>E_1</math> para <math>E_2</math>. Em geral, como <math> g(E) </math> se torna muito grande, trabalhamos com o logaritmo natural dessas quantidades, <math> \ln g(E) </math>.
onde <math>1 / g (E1)</math> é a probabilidade na energia <math>E_1</math> e <math>p (E_1\rightarrow E_2)</math> é a probabilidade de transição de <math>E_1</math> para <math>E_2</math>.  


Se o estado de energia <math> E_2 </math> é aceito, a densidade de estados <math> g(E_2) </math> é multiplicada pelo fator de modificação <math> f > 1 </math> de maneira que <math> g(E_2) \to f \times g(E_2) </math> e a entrada no histograma para <math> H(E_2) </math> é atualizada de forma <math> H(E_2) \to H(E_2) + 1 </math>.
Se o estado de energia <math> E_2 </math> é aceito, a densidade de estados <math> g(E_2) </math> é multiplicada pelo fator de modificação <math> f > 1 </math> de maneira que <math> g(E_2) \to f \times g(E_2) </math> e a entrada no histograma para <math> H(E_2) </math> é atualizada de forma <math> H(E_2) \to H(E_2) + 1 </math>. Se o estado de energia não é aceito, a densidade de estados <math> g(E_1) </math> é multiplicada pelo fator de modificação, <math> g(E_1) \to f \times g(E_1) </math> e <math> H(E_1) </math> é atualizada de forma <math> H(E_1) \to H(E_1) + 1 </math>.
 
Se o estado de energia não é aceito, a densidade de estados <math> g(E_1) </math> é multiplicada pelo fator de modificação, <math> g(E_1) \to f \times g(E_1) </math> e <math> H(E_1) </math> é atualizada de forma <math> H(E_1) \to H(E_1) + 1 </math>.


Em geral, como <math> g(E) </math> se torna muito grande, trabalhamos com o logaritmo natural dessas quantidades, <math> \ln g(E) </math>. Portanto, cada atualização da densidade de estados é dada por <math> \ln g(E) \to \ln g(E) + \ln f </math>. O valor comumente utilizado para o fator de modificação é <math> f = f_0 = e </math>.


O procedimento de passeio aleatório é seguido até o histograma <math> H(E) </math> estar "reto" (do inglês, "''flat''"), e para determinar isso, a cada <math> n </math> iterações verificamos se todos valores possíveis de <math> E </math> estão a uma distância, no máximo, <math> x% </math> de <math> \langle H(E) \rangle </math>. A variável <math> x </math> é denominada "''flatness''".





Edição das 20h20min 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 .

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 é .

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".


Algoritmo

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

1. Seto e um fator de modificação ;

2. Aleatoriamente, flipo um spin 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 e reseto o valor de ;

5. Repito 2-4 até .

Aplicação ao Modelo de Ising 2D

Modelo de Ising

Uma rede 2D 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.

Cada sítio pode ter o valor de spin ou .

O hamiltoniano pode ser calculado por

A soma ocorre sobre todos sítios vizinhos e a interação é ferromagnética para e antiferromagnética para .

Implementação

Resultados

Fig1.png Fig2.png Fig3.png


Referências

<references>

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