+ All Categories
Home > Documents > Estudo do Modelo de Ising atraves do Metodo Monte Carlo

Estudo do Modelo de Ising atraves do Metodo Monte Carlo

Date post: 06-Jul-2018
Category:
Upload: lucycaca
View: 217 times
Download: 0 times
Share this document with a friend

of 24

Transcript
  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    1/24

    Estudo do Modelo de Ising através do Método

    Monte Carlo

    Carlos Maciel O. Bastos Rafaela Lucy

    June 18, 2010

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    2/24

    2

    Processos Markovianos

    Seja yi  um evento aleatório que ocorre em um certo instante  ti. Uma sequenciade eventos aleatórios (y1, t1), (y2, t2),..., com   t1   < t2   < t3  < ..., é denominadasequencia Markoviana quando a probabilidade de se obter qualquer evento dadepende da probabilidade de se obter o evento imediatamente anterior, ou seja,não depende de toda “história” do sistema, mas apenas da probabilidade deocorrer o ultimo evento.

    A maioria dos processos que ocorrem na natureza tem caracteristicas de pro-cessos markovianos, sendo essa descrição muito util para o estudo de sistemas.

    Podemos utilizar a notação P (yF , tF , yI , tI ) para designar a probabilidade deum evento yF  ocorrer no tempo  tF , conhecendo yI , no tempo  tI . As sequenciasMarkovianas obedecem a relação de Chapman-Kolmogorov:

    P (yF , , tF , yI , tI ) =k

    P (yF , tF , yk, tk)P (yk, tk, yI , tI ) (1)

    onde k varia de I até F, varrendo todos os intantes entre tI  e tF . Para uma den-sidade de probabilidade cont́ınuas, podemos definir a relação na forma integral:

    P (yF , , tF , yI , tI ) =

       P (yF , tF , yk, tk)P (yk, tk, yI , tI )dyk   (2)

    A Equação Mestra

    Existe uma equação que governa a evolução temporal dos processos estocásticosMarkovianos. Essa equação é conhecida como equação mestra. Vamos suporP(y,t) a probabilidade de um estado microscópio y estar em um estado em umdeterminado instante t. Se calcularmos a variação da probabilidade:

    ∂P (y, t)

    ∂t  = T d − T f    (3)

    onde   T d   e   T f   significam a taxa de variação da probabilidade (pra dentro) doestado y (T d) é dada por:

    T d =y

    P (y, t)ω(y −→ y) (4)

    onde  ω   pode ser interpretada como a probabildade, na unidade de tempo,para que o sistema passe de um estado y’ para um estado y. Analogamente

    podemos calcular a variação da probabilidade de “sair” do estado y, que podeser escrito como:

    T d  =y

    P (y, t)ω(y −→ y) (5)

    Portanto a equação mestra fica:

    ∂P (y, t)

    ∂t  =

    y

    P (y, t)ω(y −→ y) −y

    P (y, t)ω(y −→ y) (6)

    A grande dificuldade reside em achar a fun ção   ω   , que é a probabilidadede transição entre 2 estados. Em problemas de f́ısica geralmente essa função

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    3/24

    3

    tem que ser deduzida a partir de primeiros prinćıpios, ou de forma aproximada

    através de estimativas.Nos estados estacionarios, a função  ω  não deve depender explicitamente dotempo, logo:

    ∂P 

    ∂t  = 0 (7)

    logo, podemos estabelecer uma relação para a equação mestra na situação deequiĺıbrio:

    y

    P (y, t)ω(y −→ y) =y

    P (y, t)ω(y −→ y) (8)

    Essa equação é chamada balanço detalhado, sendo uma condição suficiente paraa condição de equilı́brio. O balanço detalhado estabelece que na situação esta-cionaria, deve existir a mesma probabilidade de sair de um estado e ir paraoutro, quanto voltar para esse mesmo estado.

    Uma das maneiras que podemos atacar problemas que envolvem o balançodetalhado geralmente consiste em escolher taxa de maneira que  ω(y1 −→ y2), afim de satisfazer o balanço detalhado no equilı́brio, ou seja,

    P (y, t −→ ∞)ω(y −→ y) = P (y, t −→ ∞)ω(y −→ y)Esta escolha geralmente não é unica, e temos a certeza que o sistema atingiuum estado final de equiĺıbrio para tempos suficientemente grandes.

    Método de Monte Carlo

    História e Definições

    O termo Monte Carlo aparentemente foi usado pela primeira vez por Ulam eVon Neumann quando estavam em Los Alamos, durante o projeto Manhatam,para descrever uma simulação estocástica que eles haviam desenvolvido para serusado no desenvolvimento da bomba atômica.

    Este método envolvia probabilidades, dáı a origem do nome Monte Carlo,que é o mesmo nome do famoso cassino de Monte Carlo em Mônaco. Algunsautores preferem usar o termo simulação estocástica para todos os métodosque envolvem probabilidades, reservando Monte Carlo apenas para a integra çãoMonte Carlo. Outros autores não fazem esta distinção, entendendo por MonteCarlo todo o métodos estocástico.

    Em particular, podemos definir Monte Carlo como:.

    Monte Carlo é a arte de aproximar uma expectativa através de uma amostragem média de uma fun瘠ao utilizando numeros aleat´ orios 

    .Um dos motivos de definirmos assim o método é o fato dele usar a Lei dosGrandes Numeros para aproximar uma expectativa (probabilidade).

    Com o advento dos computadores, foi posśıvel melhorar a geração de nu-meros aleatorio, com a criação de numeros pseudo-aleatórios gerados em com-putadores, o método hoje é um dos mais importantes em simulações nas maisdiversas area, principalmente em simulações em f́ısica, qúımica e biologia. Ape-sar de ser um método que necessite de bastante recurso computacional, é muitoviável na resolução de problemas complexos.

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    4/24

    4

    Médias e Probabilidades

    Para uma variável aleatória discreta X com valores posśıveis (x1, x2, x3,...,xn)e com as suas probabilidades, que tem uma certa densidade de probabilidadedada pela função  f X(x), onde  f X(x) é uma função positiva. Pode-se calcular ovalor esperado pela série:

    Γ(g(X )) =x

    g(x)f X(x) (9)

    se X for discreto.Se X for cont́ınuo:

    Γ(g(X )) =

       g(x)f X(x)dx   (10)

    Agora se pegarmos n-amostras de X s(x1, x2,...,xn),podemos calcular uma médiadessa função, onde obtemos uma estimativa de Monte Carlo

    gn(x) =  1

    n

    ni=1

    g(xi) (11)

    Do mesmo modo podemos obter uma media de g(x):

    gn(X ) =  1

    n

    n

    i=1

    g(X ) (12)

    Se Γ(g(X )) existe, logo, utilizando a Lei Fraca Dos Grande Números (Dada umavariável aleatória X, a sua média amostral converge em probabilidade para oseu valor esperado.), podemos definir um numero arbitrario pequeno  . logo:

    limn→∞

    P (|gn(X ) − Γ(g(X ))| ≥ ) = 0 (13)

    Ou seja, queremos dizer que quando n é muito grande, então a probabilidade émuito pequena de gn(X ) desviar muito da média Γ(g(X )).

    Por outro lado, se levarmos em conta a Lei Forte dos Grande Numeros (Dada

    uma variável aleatória X, a sua média amostral converge quase certamente parao seu valor esperado.), chegamos a mesma conclusão.Desde que n é grande osuficiente, gn(X ) resultante de um experimento de Monte Carlo ser á perto deΓ(g(X )), como desejado.

    Calculo da  Área de um Circulo

    Para ter uma idéia geral do método, podemos calcular o valor da área de um cir-culo de raio 1, ou seja, o numero  π. Vamos supor uma circulo centrado em (0,0),onde podemos inscrever o circulo em um quadrado de lado 2. Ou seja, podemos

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    5/24

    5

    escrever que, x e y variam no quadrado de :

    x[−1, 1] e   y[−1, 1]Onde podemos definir A como a área do quadrado e a como a área do circulo.

    Note que sorteando um ponto aleatório nesse intervalo, a probabilidade de cadaponto cair dentro apenas do quadrado ou cair dentro do circulo depende dasáreas.

    Sorteando aleatóriamente uma certa quatidade N  de pontos dentro do quadrado,com isso irá cair pontos também dentro do cı́rculo, onde definimos n o numero depontos que cairam dentro do ćırculo. Logo podemos escrever a seguinte relação:

    a

    A  =

      n

    N   =

      π

    4

    Note que  n < N , uma vez que pontos caem fora da area do circulo. Atravésdessa relação podemos calcular o valor de  π :

    π  = 4( nN 

     )

    Note que a fração   nN 

      é o valor médio dos pontos que caem dentro do circulo,ou seja, como foi visto na seção anterior, se o valor de  N  → ∞  a média tendeao valor de  π, ou seja, podemos observar o que foi discutido acima. Para ex-emplificar, abaixo esta alguns valores de  π  de acordo com o numero de pontosN :

    N   = 10 → π = 2.7999999999999998N  = 100 → π = 3.2000000000000002

    N  = 1000 → π = 3.1640000000000001N  = 10000

    →π = 3.1212000000000000

    N  = 100000 → π = 3.1425600000000000N  = 1000000 → π  = 3.1433520000000001

    N  = 10000000 → π  = 3.1428560000000001N  = 100000000 → π  = 3.1416674400000000

    Lembrando que o valor de  π   é aproximadamente 3.141592653589793.Esse programa pode ser encontrado no Apendice I. Como trabalhamos com

    numeros aleatórios, ocorrem flutuações em torno de uma média, com isso pode-mos usar conceitos de estatisticas para estimar o erro. Como ocorrem flutuações,existe uma certa variancia, ou seja, podemos calcular um desvio quadrático.

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    6/24

    6

    O número médio é dado por:

    n =  1

    N i=1

    ni

    Como a variancia em torno da média é independente e igualmente dis-tribuidas, podemos concluir que:

    σ2 =  1

    N 2

    N i

    σ2ni =⇒ σ2 =  1

    N 2N σ2ni =⇒ σ2 =

      1

    N  σ2ni =⇒ σ =

      1√ N 

    σni

    logo é posśıvel notar que a variancia decresce com a raiz do número de pontosgerados. Esse comportamento geralmente é comum no método de Monte Carlo,o que mostra que o método é de convergencia lenta comparado a outros métodosde integração numerica.

    Logo, para obter um erro 2 vezes menor, precisamos de 4 vezes mais pontos.Para conseguir uma casa de precisão, precisamos de 100 vezes mais pontos, oque torna o método enviável para baixa dimensionalidade.

    A vantagem de utilizar a Integração Monte Carlo é quando vamos para altasdimensionalidades, uma vez que o erro é o mesmo independente da dimensional-idade do problema, ja que ele tem origem apenas na distribuição aleatória. Aquipodemos citar como exemplo a grande utilidade do método principalmente emmecanica estatı́stica, uma vez que se trabalha no espaço de fase, onde geral-mente esse espaço possui grandes dimensionalidade e precisamos muitas vezesutilizar calculo de integrais nesse espaço, sendo assim, a Integração Monte Carlo

    sobressai sobre os demais método, sendo muito mais viavel.

    Método de Monte Carlo- Metrópolis

    No caso do problema do modelo de Ising, temos que o Hamiltoniano, como jafoi visto é dado por:

    H  = J 

    S iS j − H i

    Si

    onde S i = ±1.Para o modelo em 1 dimensão, vimos que nao existe transição de fase. No

    caso bidimensional e com Condições Periódicas de Contorno, é possı́vel mostrarque existe uma transição de segunda ordem com divergencia no calor espećıficoe na suceptibilidade.

    Algoritmo de Metrópolis

    A idéia geral do algoritmo de Metrópolis consiste em escolher uma sequenciade configurações independentes, constituindo uma cadeia de Markov. As con-figurações iniciais geradas estão longe da situação de equiĺıbrio, mas a medidaque o “tempo” pasa, passa a ser gerada muitas configurações t́ıpicas da situaçãode equiĺıbrio, onde a partir daı́ é possı́vel coletar as médias das grandezas inter-essadas.

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    7/24

    7

    As configurações de uma rede são geradas a partir de estados anteriores,

    utilizando uma probabilidade de transição, que depende da diferença de energiado estado inicial e final.A sequencia de estados produzidos não segue a ordem de tempo, esse é

    um dos grandes problemas do método, uma vez que não é possı́vel acompahara evolução temporal do sistema. O método mais utilizado quando se desejaestudar a evolução no tempo é a Dinâmica Molecular.

    No caso do Monte Carlo, existe o chamado “tempo de Monte Carlo” , paradefinir uma sequencia, que varia de acordo com o problema, mas não corre-sponde a evolução temporal do sistema. Uma analogia do tempo de MonteCarlo é pensar em um filme, onde existe uma sequencia de fotos, passando asequencia com que foram tiradas elas mostram a evolução temporal, no caso doMonte Carlo é como se recortassemos todas as fotos e as embaralhassemos ecolocassemos em uma ordem qualquer. Esse seria o tempo Monte Carlo.

    Como foi introduzido rapidamente, as cadeias de Markov está no “coração”do método de Metropolis. Como ja vimos a probabilidade de transição porunidade de tempo entre as configurações y  e  y , segue a equação mestra:

    ∂P (y, t)

    ∂t  =

    y

    P (y, t)ω(y −→ y) −y

    P (y, t)ω(y −→ y)

    No equilı́brio, ou seja, após percorrer varias configurações (um numero de ele-mentos grandes de sequencia) as probabilidades devem tender para os valoresde Gibbs,

    P 0(y) =  1

    Z exp(

    −βH )

    Onde Z é a função Canonica de partição. Como ja vimos, uma outra condiçãonecessária e suficiente para o equilı́brio é dada pela equação do balanço detal-hado:

    P 0(y)ω(y −→ y) = P 0(y)ω(y −→ y)logo, podemos facilmente concluir que

    ω(y −→ y)ω(y −→ y)   =

      1

    Z exp(−β ∆H )

    Note que esta equação não determina a probabilidade de transição de formauńıvoca, podendo haver varias escolhas desde que respeite esta relação.

    A relação escolhida por Metrópolis:

    ω(y −→ y) =   1τ 

     exp(−β ∆H ) ∆H > 0 e

    ω(y −→ y) =   1τ 

      ∆H

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    8/24

    8

    Esse procedimento se repete indefinidamente ate que todos os spins da redetenham sido percorridos. A rede pode ser percorrida de 2 maneira: linear

    (pegando os atomos de forma contı́nua) e aleatória (escolhendo os sı́tios de formaaleatória) , ambas são equivalentes, desde que se passe pelo maior numero desı́tios possı́veis.

    Note que este processo reproduz de fato as probabiliades de transi ção doalgoritmo de Metrópolis. Desprezando um certo numero de configurações inici-ais, onde essas ainda refletem a escolha inicial da rede, após um certo tempo,é posśıvel tirar as médias de interesse, uma vez que o sistema estabiliza naconfiguração mais provável.

    Um exemplo de um programa que segue esse algoritmo pode ser encontradono apendice II, onde se pode obter a magnetização, suceptibilidade magnetica,calor especı́fico,energia e a distribuição dos spins na cadeia.

    Resultados Obtidos a partir do algoritmo de Metrópolis

    Materiais Ferromagnéticos

    A teoria de Heitler London para a molecula de hidrogênio, mostra claramenteque a interação de troca direta pode ser resumida como a repulsão coulombiana,quando se faz a combinação linear dos orbitais atomicos localizadas nos atomosvizinhos, na região de recobrimento levando-se em conta o prinćıpio de Pauli.

    Dependendo da paridade funções de onda espacial, duas configurações dosspins (singleto ou tripleto) podem minimizar a energia. Caso o estado de energiamais baixo é o sigleto temos uma interação do tipo Antiferromagnética. Se o

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    9/24

    9

    tripleto tem energia mais baixa temos interação ferromagnética. Ao observar-

    mos o hamiltoniano de Heisenberge (até mesmo o de Ising) é possı́vel concluirque temos então ferromagnetismo com  J > 0 e antiferromagnetismo com J

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    10/24

    10

    Como o sistema é finito, ocorre uma ”curva“, já que temos poucos átomosno sistema (nesse caso 2500 átomos), no limite termodinânico essa curva devedivergir.Ocorre também uma divergencia na suceptibilidade magnética:

    Podemos perceber que a energia aumenta de acordo com a temperatura,como era esperado,além de ocorrer um ponto de inflexão na temperatura cŕıtica,como pode ser observada no gráfico abaixo:

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    11/24

    11

    É possivel tambem observar a correlação entre os spins, conforme foi tratadono curso. A rede abaixo é uma rede de 10.000 átomos em uma rede quadrada,onde os pontos preto representam os spins direcionados para cima. Foram uti-

    lizados 100.000 passos de Monte Carlo. Note que podemos observar o compor-tamento dos spins:

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    12/24

    12

    Note que para baixas temperaturas os spins estão ordenados, sendo a origemda magnetização espontanea. Conforme a temperatura aumenta e se aproximada temperatura cŕıtica é possı́vel observar ”bolsões”, onde aparece uma cor-relação de longa distancia. Após a temperatura cŕıtica o sistema começa a flu-tuar muito, onde os spins estão tanto para cima como para baixo, onde quandocalculada sua média é zero.

    Materiais Antiferromagnéticos

    O antiferromagnetismo é o ordenamento magnético de todos os momentos magnéticosde uma amostra, na mesma direção mas em sentido inverso (por pares, por ex-emplo, ou uma subrede frente a outra).

    Como o ferromagnetismo, a interação antiferromagnética se destrói a altatemperatura por efeito da entropia. A temperatura acima da qual n ão se apre-cia o antiferromagnetismo se chama temperatura de Neel. Acima desta, oscompostos são tipicamente paramagnéticos.

    Os antiferromagnetos não tem uma magnetização espontânea macroscópicaa baixas temperaturas. Abaixo de uma temperatura critica TN, a Magnetização

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    13/24

    13

    e a susceptibilidade diminuem com a temperatura tendendo a 0 quando T→  0.Acima de TN o comportamento é de um paramagneto com uma temperatura deCuris Weiss negativa. Este comportamento que foi previsto por Neel, é devidoa um acoplamento antiparalelo de momento magnéticos iguais e vizinhos, e quefoi confirmado por experimentos de difração de neutrons.

    Os dados abaixo foi simulado um antiferromagneto em uma rede de 2.500átomos, J=-1, Campo externo nulo, e com 50.000 passos de Monte Carlo.

    Note que a magnetização é nula, mesmo a baixa temperatura, diferente-

    mente dos materiais ferromagnéticos. Como é possı́vel observar que no calorespećıfico ocorre uma divergencia perto da temperatura cŕıtica, similar ao casodo ferromagnético:

    No caso da Energia do sistema é posśıvel notar um ponto de inflexão pertoda temperatura cŕıtica, note que a energia aumenta com a temperatura, comoera esperado, e se assemelha muito com o gráfico da energia do ferromagneto.

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    14/24

    14

    Podemos observar o estado antiferromagńetico a partir dos diagramas dosspins abaixo é posśıvel notar o emparelhamento dos spins, onde eles tendem ase direcionar de forma oposta aos seus vizinhos:

    Acima de uma certa temperatura, o estado passa a ser paramagnético comopode ser notado no diagrama abaixo onde os spins estão de forma completamentedesordenados:

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    15/24

    15

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    16/24

    16

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    17/24

    APENDICES

    17

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    18/24

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    19/24

    19

    APENDICE I - Cálculo do numero pi

    Nesse calculo consideramos, como foi descrito, uma circunferencia de raio 1inscrita em um quadrado de aresta 2 esse programa em linguagem fortran ex-emplifica a solução do problema do calculo da area desse circulo através doMétodo de Monte Carlo.

    ! ****************************************************************! Calculo de Area de um circulo de raio 1!! Carlos M. O. Bastos, Luciana, Rafaela! Trabalho da disciplina de Mecanica Estatı́stica! Departamento de Fı́sica - DF! Universidade Federal de São Carlos - Brasil

    ! ****************************************************************

    ! Calculo da area do circulo lançando pontos em um quadradoprogram circuloimplicit real*8 (a-h,o-z)implicit integer*4 (i-n)dimension n (100000000)print*, ”Digite o numero de pontos (2- 100000000)”read(*,*) Ninterarea = 3.141592653589793d0na = 0

    do i= 1 , Ninter

    x= 2.d0 * rand() - 1.d0y = 2.d0* rand() - 1.d0r = x**2+y**2if (r.le.1.d0) thenn(i) = 1elsen(i) =0end if 

    na=na+n(i)enddo

    !média de n(i)aig=dfloat(na)/dfloat(Ninter)!variancia de n(i)sigma = 0.d0do i=1, Nintersigma=sigma + (dfloat(n(i))-aig)**2enddosigma=sqrt(sigma/dfloat(Ninter -1))!erro na média de n(i)erro = sigma/sqrt(dfloat(Ninter))write(*,*) Ninter , ” interações ”

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    20/24

    20

    write (*,*) ”a=” , 4.d0*aig , ” +-”, 4.d0*erro

    write (*,*) ”MC/exato” , 4.d0*aig/areaend program

    APENDICE II- Algoritmo de Metropolis para o

    Modelo de Ising Bidimensional

    O programa a seguir calcula o problema de Ising em 2 dimensões, ele gera 5arquivos de sáıda: magnetização por temperatura(“mxT.dat”), calor espećıficopor temperatura(“cxT.dat”), suceptibilidade magnetica por temperatura(“XxT.dat”),energia por temperatura(“ExT.dat”) e o mapeamento dos spins na ultima tem-peratura calculada(“mapeamento.dat”).

    O programa necessita de um arquivo de entrada, que é o “entrada.txt”, quedeve estar na mesma pasta do programa. Lá estão os dados que o usuario podecontrolar, um exemplo é colocado no Apendice III:

    ...! ****************************************************************! Algoritmo de Metrópolis - Modelo de Ising Bidimensional!! Carlos M. O. Bastos, Luciana, Rafaela! Trabalho da disciplina de Mecanica Estatı́stica! Departamento de Fı́sica - DF

    ! Universidade Federal de São Carlos - Brasil! ****************************************************************

    .

    program ising2dimplicit real*8 (a-h,o-z)implicit integer (i-n)dimension s(1000,1000)dimension rM(10000000)dimension rener(10000000)dimension c(500)

    open(1,file=”entrada.txt”)Print*, ”Digite 1 para gerar uma rede uniforme e 0 para gerar uma rede

    aleatória”read (*,*) istartread (1,*) Nread (1,*) Lread (1,*) cJread (1,*) Hread (1,*) Tiread (1,*) Tf read (1,*) rdt

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    21/24

    21

    read (1,*) cpp

    ! Definindo a rede inicialT=Tibeta =(1/Ti)open(10, file=”mxT.dat”)open(12,file=”ExT.dat”)open(14,file=”XxT.dat”)open(15,file=”cxT.dat”)if (istart.eq.1) thendo j = 1,Ndo i = 1,Ns(i,j) = 1end doend do

    Elsedo j= 1, Ldo i = 1, Lcall randomnumber(rn)if (rn.le.0.5) thens(i,j) = -1elses(i,j) = 1end if end doend doend if 

     j=0.d0i=0.d0do while (T.le.Tf)call initrandomseed()rmq = 0.d0req = 0.d0!Escolhendo um spin da rederM = 0.d0rM1 = 0.d0rM2 = 0.d0rE = 0.d0icont = 0.d0do k=1,N

    rM(k) = 0.d0rener(k) = 0.d0do j = 1, Ldo i = 1, L! impondo cond. period. de contornoi1 = L - mod(L-i+1,L)i2 = 1 + mod(i,L) j1 = L - mod(L-j+1,L) j2 = 1 + mod(j,L)sj = s( i1, j ) + s( i2, j ) + s( i, j1 ) + s( i, j2 ) !somatoria de todos os

    primeiros vizinhos

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    22/24

    22

    . !Calculando a prob. de ”flipar”

    p = exp( -2.d0 * beta * ( cJ * s(i,j) * sj + H * s(i,j) ) )if (p.ge.1.d0) thens(i,j) = -s(i,j)icont = icont + 1elsecall randomnumber(r)if (r.le.p) thens(i,j) = -s(i,j)icont = icont + 1endif endif !somando a magnetização. rM(k) = rM(k) + s(i,j)

    !verificando as C.P.C.if (i.ge.2.and.j.ge.2) thenrener(k) = rener(k) - cJ * s(i,j) * ( s(i-1,j) + s(i,j-1) ) - H * s(i,j)endif if (i.eq.L) thenrener(k) = rener(k) - cJ * s(1,j) * s(L,j) - H * s(1,j)endif .if (j.eq.L) thenrener(k) = rener(k) - cJ * s(i,1) * s(i,L)endif end do

    end do! Cálculo das MédiasrM(k) = rM(k) / dfloat(L**2)rener(k) = rener(k) / dfloat(L**2)end doreq=0.d0rmq=0.d0rmm=0.d0rme = 0.d0igf=cpp*Nihkj = igf k= igf do while((ihkj).le.N)

    rmq = rM(k)**2+ rmqrmm = rM(k) + rmmrme = rener(k) + rmereq = rener(k)**2 + reqk=k+1ihkj=ihkj+1end do!print*, ”Média da Magnetização: ”,rmm/dfloat(ihkj) , ”Média da ener-

    gia:”,rme/dfloat(ihkj)open(5,file=”mapeamento.dat”)rmqf=0.d0

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    23/24

    23

    reqf=0.d0

    rmqf= (rmq/dfloat((N-igf)))-(rmm/dfloat((N-igf)))**2reqf= (req/dfloat((N-igf)))-(rme/dfloat((N-igf)))**2write(*,*) ”T = ” , (T), ”E: ”, rme/dfloat(N-igf),”m: ”, rmm/dfloat((N-

    igf)),”X:”, rmqf,”c:”,reqf write(10,*) (T), rmm/dfloat(N-igf)write(12,*)(T), rme/dfloat(N-igf)write(14,*) (T),rmqf write(15,*) (T), reqf T=T+rdtbeta=(1/T)end dodo j = 1,Ldo i = 1,Lif (s(i,j).eq.1) thenwrite(5,*) i,jend if icont=icont+1end doend doclose(5)close(10)close(12)close(14)close (15)end

    SUBROUTINE initrandomseed()integer*4 rdt,rds,clock,rdj,rdnINTEGER, DIMENSION(:), ALLOCATABLE :: seed. CALL RANDOMS EE D(size =  rdn)ALLOCATE(seed(rdn)).CALL SYSTEMC LOCK (COUNT   = clock).seed = rdclock + 37 * (/ (i - 1, i = 1, rdn) /)CALL RANDOMS EE D(P U T   = seed)DEALLOCATE(seed)END SUBROUTINE

    APENDICE III - Arquivo de entrada do pro-

    grama de Metrópolis

    Exemplo de arquivo de entrada, “entrada.txt“.

    .50000 !Numero de Monte Carlo Step

    50 !Numero de átomos por lado1 ! Constante de Interação de troca

  • 8/17/2019 Estudo do Modelo de Ising atraves do Metodo Monte Carlo

    24/24

    24

    0 ! Campo Externo aplicado

    1.5d0 !Temperatura inicial3.5d0 !Temperatura final5.0d-3 !incremento da Temperatura0.20d0 !porcentagem dos passos iniciais a serem desprezados na termalização

    (¡ 1)


Recommended