http://fiscomp.if.ufrgs.br/api.php?action=feedcontributions&user=Jcrodrigues&feedformat=atomFísica Computacional - Contribuições do usuário [pt-br]2024-03-29T09:02:08ZContribuições do usuárioMediaWiki 1.39.4http://fiscomp.if.ufrgs.br/index.php?title=Modelo_de_Turing&diff=3087Modelo de Turing2020-11-25T02:17:47Z<p>Jcrodrigues: </p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
==Equações de Turing==<br />
<br />
Simulações computacionais que envolvem equações diferenciais parciais (EDP's) são usualmente modeladas através da discretização das variáveis espaciais e temporais. Algumas dessas equações descrevem comportamentos difusivos no sistema, sendo chamadas de equações de difusão. Tais equações envolvem variáveis de estado que apresentam variações temporal e espacial e coeficientes de difusão no sistema, além de outros parâmetros que influenciam na evolução dos estados. Dentro desse ramo de equações, encontra-se o Modelo de Turing, desenvolvido por Alan Turing, que utiliza como base a concentração de espécies em um sistema, avaliando sua reação, difusão e variação espacial e temporal. São muitas as aplicações do modelo, principalmente em ramos como biologia e química, envolvendo problemas com formação de padrões<ref name=wikipedia1> https://en.wikipedia.org/wiki/Turing_pattern</ref>. A seguir, descrevemos sua formulação matemática.<br />
<br />
Sejam <math>u</math> e <math>v</math> as concentrações das espécies que serão analisadas. Sejam <math>a,b,c</math> e <math>d</math> parâmetros e <math>h</math> e <math>k</math> constantes. Os coeficientes de difusão são <math>D_u</math> e <math>D_v</math>, cada um associado a uma das concentrações<ref name=Sayama260>H. Sayama, "Introduction to the Modeling and Analysis of Complex Systems", p. 260. Open SUNY Textbooks, Geneseo, NY, 2015.</ref>. O Modelo de Turing é dado pelas EDP's<br />
<br />
<br />
<math>\frac{\partial{u}}{\partial{t}}= a(u-h) + b(v-k) + D_u\nabla^2u</math><br />
<br />
<math>\frac{\partial{v}}{\partial{t}}= c(u-h) + d(v-k) + D_v\nabla^2v</math><br />
<br />
<br />
Note que certa parte de cada equação depende apenas dos parâmetros e das concentrações. Podemos, portanto, utilizar funções de variáveis <math>u</math> e <math>v</math> para descrever o sistema<ref name=JurgenJost140>J. Jost, "Partial Differential Equations", 3ed, p.140. Springer Science+Business Media, New York, 2013.</ref>, de modo que <br />
<br />
<br />
<math>u_t=D_u\nabla^2u + f(u,v)</math><br />
<br />
<math>v_t=D_v\nabla^2v + g(u,v)</math><br />
<br />
==Estabilidade e Instabilidade no Modelo de Turing==<br />
=== Pontos de Equilíbrio ===<br />
Vimos que o modelo de Turing depende de parâmetros <math>a,b,c,d</math>, de constantes <math>h</math> e <math>k</math> e dos coeficientes de difusão. <br />
<br />
'''Afirmação''': Se <math>D_u=D_v=0</math>, temos (<math>v_{eq}, u_{eq})=(h,k)</math> como o único ponto de equilíbrio. <br />
<br />
'''Demonstração''': Mostraremos que <math>(h,k)</math> é ponto de equilíbrio. De fato, ao aplicarmos esse ponto na equação do modelo de Turing, temos<br />
<br />
<br />
<math>u_t\Bigg|_{u=k} = 0 = v_t\Bigg|_{v=h}</math><br />
<br />
<br />
para mostrar que é único, suponha que existem dois pontos de equilíbrio, a saber, <math>(v_1,u_1)</math> e <math>(v_2,u_2)</math>. Vemos que, como as equações diferenciais em cada ponto fixo são iguais a zero, temos<br />
<br />
<br />
<math>a(u_1 - u_2) + b(v_1 - v_2) = 0</math><br />
<br />
<br />
<math>c(u_1 - u_2) + d(v_1 - v_2) = 0</math><br />
<br />
<br />
Consequentemente, devemos ter<br />
<br />
<br />
<math>\left(b-\frac{ad}{c}\right)(v_1-v_2)=0 \Longrightarrow v_1=v_2</math>.<br />
<br />
<br />
Do mesmo modo, <math>u_1=u_2</math>. Portanto, o ponto de equilíbrio é único nessas circunstâncias.<br />
<br />
=== Estabilidade de Sistemas Reativos-Difusivos ===<br />
Para estudarmos a estabilidade dos sistemas reativos-difusivos precisamos encontrar os autovalores da matriz<ref name=Sayama260>H. Sayama, "Introduction to the Modeling and Analysis of Complex Systems", p. 287. Open SUNY Textbooks, Geneseo, NY, 2015.</ref><br />
<br />
<br />
<math>\left(J - D \omega^2\right)\Bigg|_{f = f_{eq}}</math><br />
<br />
<br />
Onde <math>J</math> é a matriz jacobiana dos termos de reação, <math>D</math> é a matriz diagonal dos termos de difusão e <math>\omega</math> é o parâmetro que determina a frequência espacial das perturbações. A prova dessa afirmação pode ser encontrada nas referências. Aplicando isso ao modelo de Turing obtemos<br />
<br />
<br />
<math>\left( \left(\begin{array}{cc}a&b\\c&d\end{array} \right) - \left(\begin{array}{cc}D_u&0\\0&D_v\end{array} \right) \omega^2 \right) \Bigg|_{(u,v) = (h,k)} = \left(\begin{array}{cc}a - D_u \omega^2&b\\c&d - D_v \omega^2\end{array} \right) </math><br />
<br />
<br />
Para esta matriz ser estável precisamos que o determinante dessa matriz seja positivo e o traço seja negativo. Obtemos então<br />
<br />
<br />
<math>0 < (a - D_u \omega^2)(d - D_v \omega^2) - bc</math><br />
<br />
<br />
<math>0 > a - D_u \omega^2 + d - D_v \omega^2 </math><br />
<br />
<br />
Podemos ver que em ambas desigualdades aparecerá o Determinante e o Traço da matriz dos coeficientes de reação. Reescrevendo então obtemos<br />
<br />
<br />
<math>a D_v \omega^2 + d D_u \omega^2 - D_u D_v \omega^4 < \text{det}(J)</math><br />
<br />
<math>D_u \omega^2 + D_v \omega^2 > \text{Tr}(J)</math><br />
<br />
<br />
Se o sistema fosse originalmente estável, isto é, <math>\text{Tr}(J) < 0</math> e <math>\text{det}(J) > 0</math> a segunda desigualdade é sempre verdade, mas a primeira não. Podemos ver que a desigualdade pode ser violada se<br />
<br />
<br />
<math>g(z) = - D_u D_v z^2 + (a D_v + d D_u)z - \text{det}(J)</math> <br />
<br />
<br />
tomar valores positivos para algum <math>z > 0</math> (Onde <math>z = \omega^2</math>). Podemos reescrever <math>g(z)</math> da forma<br />
<br />
<br />
<math>g(z) = - D_u D_v \left(z - \frac{a D_v + d D_u}{2D_u D_v} \right)^2 + \left( \frac{(a D_v + d D_u)^2}{4D_u D_v} \right) - \text{det}(J)</math><br />
<br />
<br />
Vamos então analisar duas opções onde podemos ter <math>z > 0</math>: (1) o ponto mais alto da função fica no lado positivo do eixo <math>z</math> ou (2) o ponto mais alto da função fica no no lado negativo do eixo <math>z</math>. Na primeira opção (1) a única condição é que o máximo da função seja acima do eixo <math>z</math>, logo teremos<br />
<br />
<br />
<math> \frac{(a D_v + d D_u)^2}{4D_u D_v} - \text{det}(J) > 0</math><br />
<br />
<br />
Se o máximo da função estiver no lado negativo de <math>z</math>, opção (2), a condição é que o ponto que interceptar <math>g(z)</math> deve ser positivo, podemos escrever isso da forma<br />
<br />
<br />
<math>g(0) = - \text{det}(J) > 0</math><br />
<br />
<br />
Podemos ver que a opção (2) nunca pode ser obtida, pois o modelo é inicialmente estável e <math>\text{det}(J) > 0</math>, assim a única opção para que a difusão desestabilize o sistema é quando<br />
<br />
<br />
<math> a D_v + d D_u > 2 \sqrt{D_u D_v \text{det}(J)}</math><br />
<br />
<br />
<br />
e com essa desigualdade é fácil checar quais valores dos parâmetros <math>a</math>, <math>b</math>, <math>c</math> e <math>d</math> e dos coeficientes de difusão <math>D_u</math> e <math>D_v</math> formarão padrões de Turing.<br />
<br />
== Implementação ==<br />
Para resolver numericamente as equações de Turing iremos utilizar o método FTCS (''Forward Time Central Space''). O método FTCS é o mais simples e consiste em discretizar a derivada em <math>t</math> de forma não simetrizada. Obtemos as seguintes discretizações para uma função genérica <math>f(r,t)</math><br />
<br />
<br />
<math>\frac{\partial f}{\partial t} = \frac{f(r,t + dt) - f(r,t)}{dt}</math><br />
<br />
<br />
<math>\frac{\partial^2 f}{\partial r^2} = \frac{f(r + dr,t) - 2f(r,t) + f(r - dr,t)}{dr^2}</math><br />
<br />
<br />
Onde <math>\vec{r}</math> é o vetor posição, que neste trabalho utilizamos apenas duas dimensões, <math>\vec{r} = (x,y)</math>.<br />
<br />
Podemos discretizar as equações de Turing diretamente com o método FTCS. Talvez o único problema seja o laplaciano, porém basta escrever da forma<br />
<br />
<br />
<math>\nabla^2 f(r,t) = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2}</math><br />
<br />
<br />
Assim podemos utilizar a discretização simetrizada e obter<br />
<br />
<br />
<math> \nabla^2 f(r,t) = \frac{f(x + dx,t) - 2f(r,t) + f(x - dx,t)}{dx^2} + \frac{f(y + dy,t) - 2f(r,t) + f(y - dy,t)}{dy^2}</math><br />
<br />
<br />
Ao tomarmos <math>dx = dy = dh</math>, que faremos aqui, podemos simplificar a discretização do laplaciano para<br />
<br />
<br />
<math> \nabla^2 f(r,t) = \frac{f(x + dh,t) + f(x - dh,t) + f(y + dh,t) + f(y - dh,t) - 4f(r,t)}{dh^2}</math><br />
<br />
Então obtemos que as equações de Turing discretizadas pelo método FTCS, em notação discreta, são dadas por<br />
<br />
<br />
<math>u_{i,j}^{n+1} = u_{i,j}^{n} + \left[ a(u_{i,j}^{n} - h) + b(v_{i,j}^{n} - k) + D_u\frac{u_{i+1,j}^{n} + u_{i-1,j}^{n} + u_{i,j+1}^{n} + u_{i,j-1}^{n} - 4u_{i,j}^{n}}{dh^2}\right]dt</math><br />
<br />
<math>v_{i,j}^{n+1} = v_{i,j}^{n} + \left[ c(u_{i,j}^{n} - h) + d(v_{i,j}^{n} - k) + D_v\frac{v_{i+1,j}^{n} + v_{i-1,j}^{n} + v_{i,j+1}^{n} + v_{i,j-1}^{n} - 4v_{i,j}^{n}}{dh^2}\right]dt</math><br />
<br />
<br />
Onde <math>i</math> e <math>j</math> são os índices espaciais e <math>n</math> é o índice temporal.<br />
<br />
Utilizamos uma rede quadrada de tamanho <math>L \times L</math> com condições de contorno periódicas. O sistema inicia próximo do equilibrio <math>(u,v) = (h,k)</math> e então é aplicado um pequeno ruído para começar a difusão. O ruído é muito importante, sem ele o sistema ficaria sempre no equilíbrio. O ruído também deve ser pequeno suficiente para quebrar o estado inicial, mas não grande suficiente para causar instabilidades numéricas na simulação. O ruído utilizado aqui consiste em números aleatórios no intervalo <math>[-0,003:0,003]</math>. Tomamos <math> dh = 1/L</math>.<br />
<br />
== Resultados e Discussão==<br />
Na rede <math>100 \times 100</math> escolhendo <math>(a, b, c, d) = (1, -1, 2, -1.5)</math> e <math>(D_u, D_v) = (10^{-4}, 6 \times 10^{-4})</math>, podemos verificar se a desigualdade é respeitada.<br />
<br />
<br />
<math>a D_v + d D_u = 4.5 \times 10^{-4}</math><br />
<br />
<math>2\sqrt{D_u D_v \text{det}(J)} \approx 3.464 \times 10^{-4}</math><br />
<br />
<br />
A desigualdade é sim respeitada. Abaixo podemos ver a simulação das concentrações de <math>u</math> e de <math>v</math>.<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
!colspan="2"|Modelo Turing com <math>(a, b, c, d) = (1, -1, 2, -1.5)</math> e <math>(D_u, D_v) = (10^{-4}, 6 \times 10^{-4})</math><br />
|-<br />
|[[Arquivo:u_uuu1.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>u</math>.|380px]]<br />
|[[Arquivo:v_vvv1.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>v</math>.|380px]]<br />
|-<br />
|}<br />
<br />
<br />
Quanto mais amarelo maior a densidade, assim como quanto mais roxo menor a densidade. Outra escolha de constantes é <math>(a, b, c, d) = (0.5, -1, 0.75, -1;)</math> e <math>(D_u, D_v) = (10^{-4} , 10^{-3})</math>. Verificando que a desigualdade é respeitada:<br />
<br />
<br />
<math>a D_v + d D_u = 4 \times 10^{-4}</math><br />
<br />
<math>2\sqrt{D_u D_v \text{det}(J)} \approx 3.162 \times 10^{-4}</math><br />
<br />
<br />
Novamente respeitamos a desigualdade. Na rede <math>100 \times 100 </math> obtemos a seguinte simulação das concentrações de <math>u</math> e de <math>v</math>.<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
!colspan="2"|Modelo de Turing com <math>(a, b, c, d) = (0.5, -1, 0.75, -1;)</math> e <math>(D_u, D_v) = (10^{-4} , 10^{-3})</math><br />
|-<br />
|[[Arquivo:u2.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>u</math>.|380px]]<br />
|[[Arquivo:v2.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>v</math>.|380px]]<br />
|-<br />
|}<br />
<br />
<br />
É possível ver que o sistema rapidamente forma um padrão, onde existem algum aglomerados com maior densidade e diversos pontos onde existe baixa densidade. Diferentes conjuntos das constantes e dos coeficientes de difusão formam diferentes padrões.<br />
<br />
Podemos estudar também a estudar a razão crítica dos coeficientes de difusão, onde o sistema passa a formar padrões. Definindo um novo parâmetro <math>\rho = D_v/D_u</math> podemos rearranjar a desigualdade necessária para formar padrões da forma<br />
<br />
<br />
<math>a \rho D_u + d D_v > 2 \sqrt{\rho D_u^2 \text{det}(J)}</math><br />
<br />
<math>a \rho + d > 2 \sqrt{\rho \text{det}(J)}</math><br />
<br />
<br />
Por exemplo, aplicando isso para um conjunto de constantes que simulamos <math>(a, b, c, d) = (1, -1, 2, -1.5)</math> chegaremos a <br />
<br />
<br />
<math>\rho - 1.5 > 2 \sqrt{0.5 \rho}</math><br />
<br />
<math>\rho > 4.5</math><br />
<br />
<br />
Isso significa que a difusão de <math>v</math> deve ser quase cinco vezes maior que a difusão de <math>u</math> para gerar os padrões. A difusão de <math>u</math> age mais localmente enquanto a de <math>v</math> age em áreas maiores. Uma transição de fase é observada perto de <math>\rho = 4.5</math>. Essa transição de fase entre homogenização e formação de padrões é chamada de Bifurcação de Turing <ref name=tur_paper> A. M. Turing, “The chemical basis of morphogenesis,”Philosophical Transactions ofthe Royal Society of London. Series B, Biological Sciences, vol. 237, no. 641, pp.37–72, 1952</ref>.<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out PARAMETROS<br />
</source><br />
<br />
onde o segundo termo são os parâmetros do sistema, argumento dos programas. Dentro dos programas tem um exemplo de execução. O programa da simulação possuei uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out PARAMETROS | gnuplot<br />
</source><br />
<br />
[[ Estabilidade das Constantes ]]<br />
<br />
[[ Simulação do Modelo de Turing ]]<br />
<br />
<br />
==Conclusão== <br />
Partindo das equações diferenciais que caracterizam o modelo de Turing, analisamos os pontos de estabilidade no caso específico <math>D_u=D_v=0</math> e no caso mais geral, utilizando os autovalores da matriz <math>\left(J - D \omega^2\right)\Bigg|_{f = f_{eq}}</math>. Com isso, foi obtido uma equação que determina se os parâmetros desejados formarão padrões de Turing. Descrevemos a implementação de um algoritmo que aplica o método FTCS para encontrar soluções numericamente. Para alguns parâmetros selecionados, foram feitas simulações do modelo para a concentração de <math>u</math> e <math>v</math>, nas quais notou-se a formação de padrões que dependem dos parâmetros. Acima, foram deixados os programas computacionais utilizados na resolução numérica do método de Turing.<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=Modelo_de_Turing&diff=2999Modelo de Turing2020-11-21T02:25:04Z<p>Jcrodrigues: </p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
==Equação de Turing==<br />
<br />
Simulações computacionais que envolvem equações diferenciais parciais (EDP's) são usualmente modeladas através da discretização das variáveis espaciais e temporais. Algumas dessas equações descrevem comportamentos difusivos no sistema, sendo chamadas de equações de difusão. Tais equações envolvem variáveis de estado que apresentam variações temporal e espacial e coeficientes de difusão no sistema, além de outros parâmetros que influenciam na evolução dos estados. Dentro desse ramo de equações, encontra-se o Modelo de Turing, desenvolvido por Alan Turing, que utiliza como base a concentração de espécies em um sistema, avaliando sua reação, difusão e variação espacial e temporal. São muitas as aplicações do modelo, principalmente em ramos como biologia e química, envolvendo problemas com formação de padrões<ref name=wikipedia1> https://en.wikipedia.org/wiki/Turing_pattern</ref>. A seguir, descrevemos sua formulação matemática.<br />
<br />
Sejam <math>u</math> e <math>v</math> as concentrações das espécies que serão analisadas. Sejam <math>a,b,c</math> e <math>d</math> parâmetros e <math>h</math> e <math>k</math> constantes. Os coeficientes de difusão são <math>D_u</math> e <math>D_v</math>, cada um associado a uma das concentrações<ref name=Sayama260>H. Sayama, "Introduction to the Modeling and Analysis of Complex Systems", p. 260. Open SUNY Textbooks, Geneseo, NY, 2015.</ref>. O Modelo de Turing é dado pelas EDP's<br />
<br />
<math>\frac{\partial{u}}{\partial{t}}= a(u-h) + b(v-k) + D_u\nabla^2u</math><br />
<br />
<math>\frac{\partial{v}}{\partial{t}}= c(u-h) + d(v-k) + D_v\nabla^2v</math><br />
<br />
Note que certa parte de cada equação depende apenas dos parâmetros e das concentrações. Podemos, portanto, utilizar funções de variáveis <math>u</math> e <math>v</math> para descrever o sistema<ref name=JurgenJost140>J. Jost, "Partial Differential Equations", 3ed, p.140. Springer Science+Business Media, New York, 2013.</ref>, de modo que <br />
<br />
<math>u_t=D_u\nabla^2u + f(u,v)</math><br />
<br />
<math>v_t=D_v\nabla^2v + g(u,v)</math><br />
<br />
<br />
<br />
==Estabilidade e instabilidade no modelo de Turing==<br />
<br />
Já vimos que o modelo de Turing depende de parâmetros <math>a,b,c,d</math>, de constantes <math>h</math> e <math>k</math> e dos coeficientes de difusão. <br />
<br />
'''Afirmação''': Se <math>D_u=D_v=0</math>, temos (<math>v_{eq}, u_{eq})=(h,k)</math> como o único ponto de equilíbrio. <br />
<br />
'''Demonstração''': Mostraremos que <math>(h,k)</math> é ponto de equilíbrio. De fato, ao aplicarmos esse ponto na equação do modelo de Turing, temos <math>u_t\Bigg|_{u=k} = 0 = v_t\Bigg|_{v=h}</math>. Para mostrar que é único, suponha que existem dois pontos de equilíbrio, a saber, <math>(v_1,u_1)</math> e <math>(v_2,u_2)</math>. Vemos que, como as equações diferenciais em cada ponto fixo são iguais a zero, temos <math>a(u_1-u_2)+b(v_1-v_2)=0</math> e <math>c(u_1-u_2)+d(v1-v_2)</math>. Consequentemente, devemos ter <math>(\frac{-ad}{c}+b)(v_1-v_2)=0 \Longrightarrow v_1=v_2</math>. Do mesmo modo, <math>u_1=u_2</math>. Portanto, o ponto de equilíbrio é único nessas circunstâncias.<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=G%C3%A1s_de_Rede_2D&diff=2914Gás de Rede 2D2020-08-19T20:56:35Z<p>Jcrodrigues: /* Considerações práticas */</p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
== Gás de Rede ==<br />
<br />
O Modelo do Gás de Rede 2D consiste em um sistema de <math>N</math> partículas da forma <math>\sigma = {\sigma_1, \sigma_1, \dotsc, \sigma_N}</math> onde cada sítio da rede pode assumir o valor <math>1</math>, ocupado por uma partícula, ou <math>0</math>, não ocupado por uma partícula. A energia total do sistema é dada pelo Hamiltoniano do Gás de Rede, descrito pela equação<br />
<br />
<math>\mathcal{H} = - \epsilon \sum_{\langle i,j \rangle} \sigma_i \sigma_j</math><br />
<br />
Onde o somatório é dado entre os quatro vizinhos mais próximos e <math>\epsilon</math> é a constante de interação entre as partículas, para <math>\epsilon \geq 0</math> a interação é atrativa. Por se tratar de uma rede quadrada com <math>L^2 = L \times L</math> sítios, apenas uma parcela da rede é ocupada por partículas, ou seja, possuímos uma densidade constante <math>\rho</math> de partículas. Podemos expressar a condição da densidade constante da forma<br />
<br />
<math>\sum_{i} \sigma_i = \rho L^2</math><br />
<br />
Fazendo uma mudança de variáveis da forma <math>s_i = 2 \sigma_1 - 1</math> saímos da situação de ocupação e não ocupação de sítios e obtemos variáveis do Modelo de Ising <ref name=ISING> https://fiscomp.if.ufrgs.br/index.php/Ising_2D</ref>, spins Up e Down. A variável <math>s_i</math> assume valor <math>+1</math> (up) quando o sítio esta ocupado por uma partícula e <math>-1</math> quando não está. Aplicando a mudança de variáveis no Hamiltoniano do Gás de Rede obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} (s_i + 1)(s_j + 1)</math><br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - \frac{1}{2} z \epsilon \sum_{\langle i,j \rangle} s_i - \frac{1}{2} z \epsilon L^2 </math><br />
<br />
Onde <math>z</math> é o número de coordenação, isto é, o número de vizinhos próximos, neste caso são quatro. Vemos que este Hamiltoniano possui a forma do Hamiltoniano de Ising com campo magnético, a menos de uma constante. Entretanto, com a densidade constante, fazendo a mesma mudança de variáveis, obtemos<br />
<br />
<math>\sum_{i} s_i = (2\rho - 1) L^2</math><br />
<br />
E aplicando no Hamiltoniano obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - z \epsilon L^2 \rho </math><br />
<br />
Como <math>z</math>, <math>\rho</math> e <math>L^2</math> são constantes, o segundo termo é constante. Definindo <math>J = \epsilon / 4</math> o Hamiltoniano se torna<br />
<br />
<math>\mathcal{H} = - J \sum_{\langle i,j \rangle} s_i s_j + \text{constante}</math><br />
<br />
A constante não influencia nos valores da medida, pois ela se cancela na equação de mudança de estado <ref name=BARKEMA>M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.</ref>. Vemos que, ao assumir a densidade constante, o modelo do Gás de Rede se torna o modelo de Ising sem a presença de um campo magnético. A condição da densidade constante é a magnetização total do modelo. <br />
<br />
É interessante notar que podemos tratar o modelo do gás de rede de duas formas: '''(a)''' assumir a densidade constante e utilizar o primeiro Hamiltoniano apresentado, ou '''(b)''' não assumir a densidade constante, aplicar a mudança de variáveis discutida e utilizar o Hamiltoniano que possuí a forma de Ising com campo magnético. <br />
<br />
<br />
==Método de Monte Carlo==<br />
===Princípios gerais===<br />
Para desenvolver a dinâmica do gás de rede, isto é, fazer com que ocorram alterações na posição das partículas, recorre-se ao método de Monte Carlo. Trata-se, em linhas gerais, de um método estatístico baseado em amostragem aleatória. É comum, ao introduzir-se o assunto, utilizar problemas de cálculo de áreas, como, por exemplo, a clássica história das crianças que desenharam, na areia, um círculo contido em um quadrado, de modo que o diâmetro do círculo seja igual ao lado do quadrado. Jogam, aleatoriamente, pedras no quadrado. Após uma grande quantidade de arremessos, compara-se o valor de pedras que estão dentro do círculo com o número total dentro do quadrado, fazendo a razão entre esses dois valores, encontra-se uma aproximação para a razão entre a área do círculo e a do quadrado, que equivale a <math>\pi/4</math>. Desse modo, pode ser encontrada uma aproximação do valor de <math>\pi</math> através do método de Monte Carlo, que simula uma aproximação experimental<ref name=KRAUTH>KRAUTH,W. ,"Statistical Mechanics: Algorithms and Computations". Oxford Master Series in Physics, Oxford University Press, 2006.</ref>. É possível propor um novo modelo, no qual o quadrado é grande e as pedras são atiradas aleatoriamente de dentro do quadrado, de modo que a posição de arremesso é atualizada para a posição da última pedra jogada. A principal alteração nesse método é a possibilidade de que uma pedra seja atirada para fora do quadrado. Nesse caso, a posição para o próximo arremesso não muda e as pedras que foram parar fora das bordas do quadrado são empilhadas naquela posição. Essas mudanças no método caracterizam a aplicação de Monte Carlo em uma cadeia de Markov, definida de modo que a configuração do próximo estado depende somente da configuração atual. Até aqui, vimos o método de Monte Carlo aplicado em situações nas quais a probabilidade de um evento ocorrer na configuração subsequente do sistema é zero ou um. Para novas distribuições de probabilidade, utiliza-se o algoritmo de Metrópolis.<br />
<br />
===Algoritmo de Metrópolis===<br />
Como mencionado, o método de Monte Carlo funciona através de atualizações em um sistema, fazendo com que ele passe de um estado para outro. Consideremos <math>\mu</math> como sendo o estado atual do sistema. O próximo estado será chamado <math>\nu</math>. Chamamos a probabilidade do sistema passar do estado <math>\mu</math> para o estado <math>\nu</math> de <math>p(\mu\to\nu)</math>. A ideia do algoritmo de Metrópolis é aplicar essa probabilidade no método de Monte Carlo. Para isso, um método muito utilizado é calcular a probabilidade <math>p(\mu\to\nu)</math> e compará-la a um número aleatório <math>r</math>, de modo que <math>0<r<1</math>. Se <math> p(\mu\to\nu)>r</math>, então o estado <math>\nu</math> é adotado pelo sistema. Para aplicar essas ideias ao problema do gás de rede, o método mais simples é utilizando o algoritmo de Kawasaki, que faz com que dois sítios, selecionados aleatoriamente, tenham seus valores trocados. Isso implica que a magnetização do sistema será constante<ref name = BARKEMA></ref>. Para calcular a probabilidade de aceitação dessa mudança, calcula-se a variação de energia entre os estados,<math>\Delta E= E_{\nu}-E_{\mu}</math>, e aplica-se o valor obtido na equação de probabilidade de aceitação de Metrópolis:<br />
<br />
<math>p(\mu\to\nu)=\left\{\begin{array}{rc} e^{\frac{-\Delta E}{k_BT}}, \quad \text{se}\quad \Delta E>0\\<br />
1, \quad \text{caso contrario}\end{array}\right.</math><br />
<br />
Para este trabalho, foram feitas algumas alterações no algoritmo de Kawasaki. Limita-se a troca de valores somente entre um sítio e seus quatro vizinhos principais (isto é, acima, abaixo, à direita e à esquerda). No estado <math>\mu</math>, seleciona-se aleatoriamente um sítio <math>i</math>. A partir dele, é sorteado um de seus vizinhos, digamos, <math>j</math>, com o qual haverá a troca de valor. Antes que ocorra a troca, são calculados os valores de dois Hamiltonianos: o que relaciona o sítio <math>i</math> com seus vizinhos e o que relaciona <math>j</math> com seus vizinhos. Somados, eles representam o valor de <math>E_{\mu}</math>. Após a troca, esses valores são recalculados, formando o valor de <math>E_{\nu}</math>. Com esses valores, segue-se o cálculo da probabilidade da forma usual. <br />
<br />
<br />
===Considerações práticas===<br />
Já consideramos os aspectos iniciais do método de Monte Carlo, mostrando suas aplicações. Vimos, do mesmo modo, a utilização do algoritmo de Metrópolis, dentro do qual aplicamos o algoritmo de Kawasaki (modificado) para desenvolver o sistema do gás de rede. Resta elucidar a função do parâmetro temporal, isto é, como as iterações desses algoritmos influenciam o sistema. Primeiramente, deve-se fixar um valor para o número de passos temporais que serão realizados. Em cada passo temporal, são realizadas <math>L^2</math> iterações do algoritmo de Metrópolis, abordado acima, sendo <math>L</math> o lado da rede quadrada. Chamamos de Passo de Monte Carlo (MCS) cada um desses passos temporais. Em outras palavras: em cada passo de Monte Carlo, todos os sítios tem a possibilidade de realizar uma troca.<br />
<br />
== Implementação ==<br />
<br />
== Resultados ==<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP<br />
</source><br />
<br />
onde o segundo termo é a temperatura do banho térmico, argumento dos programas. Os programas possuem uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP | gnuplot<br />
</source><br />
<br />
Entretanto com a visualização no gnuplot o programa pode demorar mais para executar, então é recomendado diminuir os tempos de transiente (''TRAN'') e medidas (''TMAX'').<br />
<br />
[[Ising com Campo]]<br />
<br />
[[Gás de Rede sem Densidade Constante]]<br />
<br />
[[Gás de Rede com Densidade Constante]]<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=G%C3%A1s_de_Rede_2D&diff=2913Gás de Rede 2D2020-08-19T20:55:50Z<p>Jcrodrigues: /* Considerações práticas */</p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
== Gás de Rede ==<br />
<br />
O Modelo do Gás de Rede 2D consiste em um sistema de <math>N</math> partículas da forma <math>\sigma = {\sigma_1, \sigma_1, \dotsc, \sigma_N}</math> onde cada sítio da rede pode assumir o valor <math>1</math>, ocupado por uma partícula, ou <math>0</math>, não ocupado por uma partícula. A energia total do sistema é dada pelo Hamiltoniano do Gás de Rede, descrito pela equação<br />
<br />
<math>\mathcal{H} = - \epsilon \sum_{\langle i,j \rangle} \sigma_i \sigma_j</math><br />
<br />
Onde o somatório é dado entre os quatro vizinhos mais próximos e <math>\epsilon</math> é a constante de interação entre as partículas, para <math>\epsilon \geq 0</math> a interação é atrativa. Por se tratar de uma rede quadrada com <math>L^2 = L \times L</math> sítios, apenas uma parcela da rede é ocupada por partículas, ou seja, possuímos uma densidade constante <math>\rho</math> de partículas. Podemos expressar a condição da densidade constante da forma<br />
<br />
<math>\sum_{i} \sigma_i = \rho L^2</math><br />
<br />
Fazendo uma mudança de variáveis da forma <math>s_i = 2 \sigma_1 - 1</math> saímos da situação de ocupação e não ocupação de sítios e obtemos variáveis do Modelo de Ising <ref name=ISING> https://fiscomp.if.ufrgs.br/index.php/Ising_2D</ref>, spins Up e Down. A variável <math>s_i</math> assume valor <math>+1</math> (up) quando o sítio esta ocupado por uma partícula e <math>-1</math> quando não está. Aplicando a mudança de variáveis no Hamiltoniano do Gás de Rede obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} (s_i + 1)(s_j + 1)</math><br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - \frac{1}{2} z \epsilon \sum_{\langle i,j \rangle} s_i - \frac{1}{2} z \epsilon L^2 </math><br />
<br />
Onde <math>z</math> é o número de coordenação, isto é, o número de vizinhos próximos, neste caso são quatro. Vemos que este Hamiltoniano possui a forma do Hamiltoniano de Ising com campo magnético, a menos de uma constante. Entretanto, com a densidade constante, fazendo a mesma mudança de variáveis, obtemos<br />
<br />
<math>\sum_{i} s_i = (2\rho - 1) L^2</math><br />
<br />
E aplicando no Hamiltoniano obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - z \epsilon L^2 \rho </math><br />
<br />
Como <math>z</math>, <math>\rho</math> e <math>L^2</math> são constantes, o segundo termo é constante. Definindo <math>J = \epsilon / 4</math> o Hamiltoniano se torna<br />
<br />
<math>\mathcal{H} = - J \sum_{\langle i,j \rangle} s_i s_j + \text{constante}</math><br />
<br />
A constante não influencia nos valores da medida, pois ela se cancela na equação de mudança de estado <ref name=BARKEMA>M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.</ref>. Vemos que, ao assumir a densidade constante, o modelo do Gás de Rede se torna o modelo de Ising sem a presença de um campo magnético. A condição da densidade constante é a magnetização total do modelo. <br />
<br />
É interessante notar que podemos tratar o modelo do gás de rede de duas formas: '''(a)''' assumir a densidade constante e utilizar o primeiro Hamiltoniano apresentado, ou '''(b)''' não assumir a densidade constante, aplicar a mudança de variáveis discutida e utilizar o Hamiltoniano que possuí a forma de Ising com campo magnético. <br />
<br />
<br />
==Método de Monte Carlo==<br />
===Princípios gerais===<br />
Para desenvolver a dinâmica do gás de rede, isto é, fazer com que ocorram alterações na posição das partículas, recorre-se ao método de Monte Carlo. Trata-se, em linhas gerais, de um método estatístico baseado em amostragem aleatória. É comum, ao introduzir-se o assunto, utilizar problemas de cálculo de áreas, como, por exemplo, a clássica história das crianças que desenharam, na areia, um círculo contido em um quadrado, de modo que o diâmetro do círculo seja igual ao lado do quadrado. Jogam, aleatoriamente, pedras no quadrado. Após uma grande quantidade de arremessos, compara-se o valor de pedras que estão dentro do círculo com o número total dentro do quadrado, fazendo a razão entre esses dois valores, encontra-se uma aproximação para a razão entre a área do círculo e a do quadrado, que equivale a <math>\pi/4</math>. Desse modo, pode ser encontrada uma aproximação do valor de <math>\pi</math> através do método de Monte Carlo, que simula uma aproximação experimental<ref name=KRAUTH>KRAUTH,W. ,"Statistical Mechanics: Algorithms and Computations". Oxford Master Series in Physics, Oxford University Press, 2006.</ref>. É possível propor um novo modelo, no qual o quadrado é grande e as pedras são atiradas aleatoriamente de dentro do quadrado, de modo que a posição de arremesso é atualizada para a posição da última pedra jogada. A principal alteração nesse método é a possibilidade de que uma pedra seja atirada para fora do quadrado. Nesse caso, a posição para o próximo arremesso não muda e as pedras que foram parar fora das bordas do quadrado são empilhadas naquela posição. Essas mudanças no método caracterizam a aplicação de Monte Carlo em uma cadeia de Markov, definida de modo que a configuração do próximo estado depende somente da configuração atual. Até aqui, vimos o método de Monte Carlo aplicado em situações nas quais a probabilidade de um evento ocorrer na configuração subsequente do sistema é zero ou um. Para novas distribuições de probabilidade, utiliza-se o algoritmo de Metrópolis.<br />
<br />
===Algoritmo de Metrópolis===<br />
Como mencionado, o método de Monte Carlo funciona através de atualizações em um sistema, fazendo com que ele passe de um estado para outro. Consideremos <math>\mu</math> como sendo o estado atual do sistema. O próximo estado será chamado <math>\nu</math>. Chamamos a probabilidade do sistema passar do estado <math>\mu</math> para o estado <math>\nu</math> de <math>p(\mu\to\nu)</math>. A ideia do algoritmo de Metrópolis é aplicar essa probabilidade no método de Monte Carlo. Para isso, um método muito utilizado é calcular a probabilidade <math>p(\mu\to\nu)</math> e compará-la a um número aleatório <math>r</math>, de modo que <math>0<r<1</math>. Se <math> p(\mu\to\nu)>r</math>, então o estado <math>\nu</math> é adotado pelo sistema. Para aplicar essas ideias ao problema do gás de rede, o método mais simples é utilizando o algoritmo de Kawasaki, que faz com que dois sítios, selecionados aleatoriamente, tenham seus valores trocados. Isso implica que a magnetização do sistema será constante<ref name = BARKEMA></ref>. Para calcular a probabilidade de aceitação dessa mudança, calcula-se a variação de energia entre os estados,<math>\Delta E= E_{\nu}-E_{\mu}</math>, e aplica-se o valor obtido na equação de probabilidade de aceitação de Metrópolis:<br />
<br />
<math>p(\mu\to\nu)=\left\{\begin{array}{rc} e^{\frac{-\Delta E}{k_BT}}, \quad \text{se}\quad \Delta E>0\\<br />
1, \quad \text{caso contrario}\end{array}\right.</math><br />
<br />
Para este trabalho, foram feitas algumas alterações no algoritmo de Kawasaki. Limita-se a troca de valores somente entre um sítio e seus quatro vizinhos principais (isto é, acima, abaixo, à direita e à esquerda). No estado <math>\mu</math>, seleciona-se aleatoriamente um sítio <math>i</math>. A partir dele, é sorteado um de seus vizinhos, digamos, <math>j</math>, com o qual haverá a troca de valor. Antes que ocorra a troca, são calculados os valores de dois Hamiltonianos: o que relaciona o sítio <math>i</math> com seus vizinhos e o que relaciona <math>j</math> com seus vizinhos. Somados, eles representam o valor de <math>E_{\mu}</math>. Após a troca, esses valores são recalculados, formando o valor de <math>E_{\nu}</math>. Com esses valores, segue-se o cálculo da probabilidade da forma usual. <br />
<br />
<br />
===Considerações práticas===<br />
Já consideramos os aspectos iniciais do método de Monte Carlo, mostrando suas aplicações. Vimos, do mesmo modo, a utilização do algoritmo de Metrópolis, dentro do qual aplicamos o algoritmo de Kawasaki (modificado) para desenvolver o sistema do gás de rede. Resta elucidar a função do parâmetro temporal, isto é, como as iterações desses algoritmos influenciam o sistema. Primeiramente, deve-se fixar um valor para o número de passos temporais que serão realizados. Em cada passo temporal, são realizadas <math>L^2</math> iterações do algoritmo de Metrópolis, abordado acima, sendo <math>L</math> o lado da rede quadrada. Chamamos de Passo de Monte Carlo (MCS) cada um desses passos temporais. Em outras palavras: em cada passo de Monte Carlo,todos os sítios tem a possibilidade de realizar uma troca.<br />
<br />
== Implementação ==<br />
<br />
== Resultados ==<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP<br />
</source><br />
<br />
onde o segundo termo é a temperatura do banho térmico, argumento dos programas. Os programas possuem uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP | gnuplot<br />
</source><br />
<br />
Entretanto com a visualização no gnuplot o programa pode demorar mais para executar, então é recomendado diminuir os tempos de transiente (''TRAN'') e medidas (''TMAX'').<br />
<br />
[[Ising com Campo]]<br />
<br />
[[Gás de Rede sem Densidade Constante]]<br />
<br />
[[Gás de Rede com Densidade Constante]]<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=G%C3%A1s_de_Rede_2D&diff=2912Gás de Rede 2D2020-08-19T20:54:04Z<p>Jcrodrigues: </p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
== Gás de Rede ==<br />
<br />
O Modelo do Gás de Rede 2D consiste em um sistema de <math>N</math> partículas da forma <math>\sigma = {\sigma_1, \sigma_1, \dotsc, \sigma_N}</math> onde cada sítio da rede pode assumir o valor <math>1</math>, ocupado por uma partícula, ou <math>0</math>, não ocupado por uma partícula. A energia total do sistema é dada pelo Hamiltoniano do Gás de Rede, descrito pela equação<br />
<br />
<math>\mathcal{H} = - \epsilon \sum_{\langle i,j \rangle} \sigma_i \sigma_j</math><br />
<br />
Onde o somatório é dado entre os quatro vizinhos mais próximos e <math>\epsilon</math> é a constante de interação entre as partículas, para <math>\epsilon \geq 0</math> a interação é atrativa. Por se tratar de uma rede quadrada com <math>L^2 = L \times L</math> sítios, apenas uma parcela da rede é ocupada por partículas, ou seja, possuímos uma densidade constante <math>\rho</math> de partículas. Podemos expressar a condição da densidade constante da forma<br />
<br />
<math>\sum_{i} \sigma_i = \rho L^2</math><br />
<br />
Fazendo uma mudança de variáveis da forma <math>s_i = 2 \sigma_1 - 1</math> saímos da situação de ocupação e não ocupação de sítios e obtemos variáveis do Modelo de Ising <ref name=ISING> https://fiscomp.if.ufrgs.br/index.php/Ising_2D</ref>, spins Up e Down. A variável <math>s_i</math> assume valor <math>+1</math> (up) quando o sítio esta ocupado por uma partícula e <math>-1</math> quando não está. Aplicando a mudança de variáveis no Hamiltoniano do Gás de Rede obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} (s_i + 1)(s_j + 1)</math><br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - \frac{1}{2} z \epsilon \sum_{\langle i,j \rangle} s_i - \frac{1}{2} z \epsilon L^2 </math><br />
<br />
Onde <math>z</math> é o número de coordenação, isto é, o número de vizinhos próximos, neste caso são quatro. Vemos que este Hamiltoniano possui a forma do Hamiltoniano de Ising com campo magnético, a menos de uma constante. Entretanto, com a densidade constante, fazendo a mesma mudança de variáveis, obtemos<br />
<br />
<math>\sum_{i} s_i = (2\rho - 1) L^2</math><br />
<br />
E aplicando no Hamiltoniano obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - z \epsilon L^2 \rho </math><br />
<br />
Como <math>z</math>, <math>\rho</math> e <math>L^2</math> são constantes, o segundo termo é constante. Definindo <math>J = \epsilon / 4</math> o Hamiltoniano se torna<br />
<br />
<math>\mathcal{H} = - J \sum_{\langle i,j \rangle} s_i s_j + \text{constante}</math><br />
<br />
A constante não influencia nos valores da medida, pois ela se cancela na equação de mudança de estado <ref name=BARKEMA>M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.</ref>. Vemos que, ao assumir a densidade constante, o modelo do Gás de Rede se torna o modelo de Ising sem a presença de um campo magnético. A condição da densidade constante é a magnetização total do modelo. <br />
<br />
É interessante notar que podemos tratar o modelo do gás de rede de duas formas: '''(a)''' assumir a densidade constante e utilizar o primeiro Hamiltoniano apresentado, ou '''(b)''' não assumir a densidade constante, aplicar a mudança de variáveis discutida e utilizar o Hamiltoniano que possuí a forma de Ising com campo magnético. <br />
<br />
<br />
==Método de Monte Carlo==<br />
===Princípios gerais===<br />
Para desenvolver a dinâmica do gás de rede, isto é, fazer com que ocorram alterações na posição das partículas, recorre-se ao método de Monte Carlo. Trata-se, em linhas gerais, de um método estatístico baseado em amostragem aleatória. É comum, ao introduzir-se o assunto, utilizar problemas de cálculo de áreas, como, por exemplo, a clássica história das crianças que desenharam, na areia, um círculo contido em um quadrado, de modo que o diâmetro do círculo seja igual ao lado do quadrado. Jogam, aleatoriamente, pedras no quadrado. Após uma grande quantidade de arremessos, compara-se o valor de pedras que estão dentro do círculo com o número total dentro do quadrado, fazendo a razão entre esses dois valores, encontra-se uma aproximação para a razão entre a área do círculo e a do quadrado, que equivale a <math>\pi/4</math>. Desse modo, pode ser encontrada uma aproximação do valor de <math>\pi</math> através do método de Monte Carlo, que simula uma aproximação experimental<ref name=KRAUTH>KRAUTH,W. ,"Statistical Mechanics: Algorithms and Computations". Oxford Master Series in Physics, Oxford University Press, 2006.</ref>. É possível propor um novo modelo, no qual o quadrado é grande e as pedras são atiradas aleatoriamente de dentro do quadrado, de modo que a posição de arremesso é atualizada para a posição da última pedra jogada. A principal alteração nesse método é a possibilidade de que uma pedra seja atirada para fora do quadrado. Nesse caso, a posição para o próximo arremesso não muda e as pedras que foram parar fora das bordas do quadrado são empilhadas naquela posição. Essas mudanças no método caracterizam a aplicação de Monte Carlo em uma cadeia de Markov, definida de modo que a configuração do próximo estado depende somente da configuração atual. Até aqui, vimos o método de Monte Carlo aplicado em situações nas quais a probabilidade de um evento ocorrer na configuração subsequente do sistema é zero ou um. Para novas distribuições de probabilidade, utiliza-se o algoritmo de Metrópolis.<br />
<br />
===Algoritmo de Metrópolis===<br />
Como mencionado, o método de Monte Carlo funciona através de atualizações em um sistema, fazendo com que ele passe de um estado para outro. Consideremos <math>\mu</math> como sendo o estado atual do sistema. O próximo estado será chamado <math>\nu</math>. Chamamos a probabilidade do sistema passar do estado <math>\mu</math> para o estado <math>\nu</math> de <math>p(\mu\to\nu)</math>. A ideia do algoritmo de Metrópolis é aplicar essa probabilidade no método de Monte Carlo. Para isso, um método muito utilizado é calcular a probabilidade <math>p(\mu\to\nu)</math> e compará-la a um número aleatório <math>r</math>, de modo que <math>0<r<1</math>. Se <math> p(\mu\to\nu)>r</math>, então o estado <math>\nu</math> é adotado pelo sistema. Para aplicar essas ideias ao problema do gás de rede, o método mais simples é utilizando o algoritmo de Kawasaki, que faz com que dois sítios, selecionados aleatoriamente, tenham seus valores trocados. Isso implica que a magnetização do sistema será constante<ref name = BARKEMA></ref>. Para calcular a probabilidade de aceitação dessa mudança, calcula-se a variação de energia entre os estados,<math>\Delta E= E_{\nu}-E_{\mu}</math>, e aplica-se o valor obtido na equação de probabilidade de aceitação de Metrópolis:<br />
<br />
<math>p(\mu\to\nu)=\left\{\begin{array}{rc} e^{\frac{-\Delta E}{k_BT}}, \quad \text{se}\quad \Delta E>0\\<br />
1, \quad \text{caso contrario}\end{array}\right.</math><br />
<br />
Para este trabalho, foram feitas algumas alterações no algoritmo de Kawasaki. Limita-se a troca de valores somente entre um sítio e seus quatro vizinhos principais (isto é, acima, abaixo, à direita e à esquerda). No estado <math>\mu</math>, seleciona-se aleatoriamente um sítio <math>i</math>. A partir dele, é sorteado um de seus vizinhos, digamos, <math>j</math>, com o qual haverá a troca de valor. Antes que ocorra a troca, são calculados os valores de dois Hamiltonianos: o que relaciona o sítio <math>i</math> com seus vizinhos e o que relaciona <math>j</math> com seus vizinhos. Somados, eles representam o valor de <math>E_{\mu}</math>. Após a troca, esses valores são recalculados, formando o valor de <math>E_{\nu}</math>. Com esses valores, segue-se o cálculo da probabilidade da forma usual. <br />
<br />
<br />
===Considerações práticas===<br />
Já consideramos os aspectos iniciais do método de Monte Carlo, mostrando suas aplicações. Vimos, do mesmo modo, a utilização do algoritmo de Metrópolis, dentro do qual aplicamos o algoritmo de Kawasaki (modificado) para desenvolver o sistema do gás de rede. Resta elucidar a função do parâmetro temporal, isto é, como as iterações desses algoritmos influenciam o sistema. Primeiramente, deve-se fixar um valor para o número de passos temporais que serão realizados. Em cada passo temporal, são realizadas <math>L^2</math> iterações do algoritmo de Metrópolis, abordado acima, sendo <math>L</math> o lado da rede quadrada. Chamamos de Passo de Monte Carlo (MCS) cada um desses passos temporais. Em outras palavras: em cada passo de Monte Carlo são feitas <math>L^2</math> iterações do algoritmo de Metrópolis para que todos os sítios tenham a possibilidade de realizar uma troca. <br />
<br />
== Implementação ==<br />
<br />
== Resultados ==<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP<br />
</source><br />
<br />
onde o segundo termo é a temperatura do banho térmico, argumento dos programas. Os programas possuem uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP | gnuplot<br />
</source><br />
<br />
Entretanto com a visualização no gnuplot o programa pode demorar mais para executar, então é recomendado diminuir os tempos de transiente (''TRAN'') e medidas (''TMAX'').<br />
<br />
[[Ising com Campo]]<br />
<br />
[[Gás de Rede sem Densidade Constante]]<br />
<br />
[[Gás de Rede com Densidade Constante]]<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=G%C3%A1s_de_Rede_2D&diff=2911Gás de Rede 2D2020-08-19T20:31:56Z<p>Jcrodrigues: </p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
== Gás de Rede ==<br />
<br />
O Modelo do Gás de Rede 2D consiste em um sistema de <math>N</math> partículas da forma <math>\sigma = {\sigma_1, \sigma_1, \dotsc, \sigma_N}</math> onde cada sítio da rede pode assumir o valor <math>1</math>, ocupado por uma partícula, ou <math>0</math>, não ocupado por uma partícula. A energia total do sistema é dada pelo Hamiltoniano do Gás de Rede, descrito pela equação<br />
<br />
<math>\mathcal{H} = - \epsilon \sum_{\langle i,j \rangle} \sigma_i \sigma_j</math><br />
<br />
Onde o somatório é dado entre os quatro vizinhos mais próximos e <math>\epsilon</math> é a constante de interação entre as partículas, para <math>\epsilon \geq 0</math> a interação é atrativa. Por se tratar de uma rede quadrada com <math>L^2 = L \times L</math> sítios, apenas uma parcela da rede é ocupada por partículas, ou seja, possuímos uma densidade constante <math>\rho</math> de partículas. Podemos expressar a condição da densidade constante da forma<br />
<br />
<math>\sum_{i} \sigma_i = \rho L^2</math><br />
<br />
Fazendo uma mudança de variáveis da forma <math>s_i = 2 \sigma_1 - 1</math> saímos da situação de ocupação e não ocupação de sítios e obtemos variáveis do Modelo de Ising <ref name=ISING> https://fiscomp.if.ufrgs.br/index.php/Ising_2D</ref>, spins Up e Down. A variável <math>s_i</math> assume valor <math>+1</math> (up) quando o sítio esta ocupado por uma partícula e <math>-1</math> quando não está. Aplicando a mudança de variáveis no Hamiltoniano do Gás de Rede obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} (s_i + 1)(s_j + 1)</math><br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - \frac{1}{2} z \epsilon \sum_{\langle i,j \rangle} s_i - \frac{1}{2} z \epsilon L^2 </math><br />
<br />
Onde <math>z</math> é o número de coordenação, isto é, o número de vizinhos próximos, neste caso são quatro. Vemos que este Hamiltoniano possui a forma do Hamiltoniano de Ising com campo magnético, a menos de uma constante. Entretanto, com a densidade constante, fazendo a mesma mudança de variáveis, obtemos<br />
<br />
<math>\sum_{i} s_i = (2\rho - 1) L^2</math><br />
<br />
E aplicando no Hamiltoniano obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - z \epsilon L^2 \rho </math><br />
<br />
Como <math>z</math>, <math>\rho</math> e <math>L^2</math> são constantes, o segundo termo é constante. Definindo <math>J = \epsilon / 4</math> o Hamiltoniano se torna<br />
<br />
<math>\mathcal{H} = - J \sum_{\langle i,j \rangle} s_i s_j + \text{constante}</math><br />
<br />
A constante não influencia nos valores da medida, pois ela se cancela na equação de mudança de estado <ref name=BARKEMA>M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.</ref>. Vemos que, ao assumir a densidade constante, o modelo do Gás de Rede se torna o modelo de Ising sem a presença de um campo magnético. A condição da densidade constante é a magnetização total do modelo. <br />
<br />
É interessante notar que podemos tratar o modelo do gás de rede de duas formas: '''(a)''' assumir a densidade constante e utilizar o primeiro Hamiltoniano apresentado, ou '''(b)''' não assumir a densidade constante, aplicar a mudança de variáveis discutida e utilizar o Hamiltoniano que possuí a forma de Ising com campo magnético. <br />
<br />
<br />
==Método de Monte Carlo==<br />
===Princípios gerais===<br />
Para desenvolver a dinâmica do gás de rede, isto é, fazer com que ocorram alterações na posição das partículas, recorre-se ao método de Monte Carlo. Trata-se, em linhas gerais, de um método estatístico baseado em amostragem aleatória. É comum, ao introduzir-se o assunto, utilizar problemas de cálculo de áreas, como, por exemplo, a clássica história das crianças que desenharam, na areia, um círculo contido em um quadrado, de modo que o diâmetro do círculo seja igual ao lado do quadrado. Jogam, aleatoriamente, pedras no quadrado. Após uma grande quantidade de arremessos, compara-se o valor de pedras que estão dentro do círculo com o número total dentro do quadrado, fazendo a razão entre esses dois valores, encontra-se uma aproximação para a razão entre a área do círculo e a do quadrado, que equivale a <math>\pi/4</math>. Desse modo, pode ser encontrada uma aproximação do valor de <math>\pi</math> através do método de Monte Carlo, que simula uma aproximação experimental<ref name=KRAUTH>KRAUTH,W. ,"Statistical Mechanics: Algorithms and Computations". Oxford Master Series in Physics, Oxford University Press, 2006.</ref>. É possível propor um novo modelo, no qual o quadrado é grande e as pedras são atiradas aleatoriamente de dentro do quadrado, de modo que a posição de arremesso é atualizada para a posição da última pedra jogada. A principal alteração nesse método é a possibilidade de que uma pedra seja atirada para fora do quadrado. Nesse caso, a posição para o próximo arremesso não muda e as pedras que foram parar fora das bordas do quadrado são empilhadas naquela posição. Essas mudanças no método caracterizam a aplicação de Monte Carlo em uma cadeia de Markov, definida de modo que a configuração do próximo estado depende somente da configuração atual. Até aqui, vimos o método de Monte Carlo aplicado em situações nas quais a probabilidade de um evento ocorrer na configuração subsequente do sistema é zero ou um. Para novas distribuições de probabilidade, utiliza-se o algoritmo de Metrópolis.<br />
<br />
===Algoritmo de Metrópolis===<br />
Como mencionado, o método de Monte Carlo funciona através de atualizações em um sistema, fazendo com que ele passe de um estado para outro. Consideremos <math>\mu</math> como sendo o estado atual do sistema. O próximo estado será chamado <math>\nu</math>. Chamamos a probabilidade do sistema passar do estado <math>\mu</math> para o estado <math>\nu</math> de <math>p(\mu\to\nu)</math>. A ideia do algoritmo de Metrópolis é aplicar essa probabilidade no método de Monte Carlo. Para isso, um método muito utilizado é calcular a probabilidade <math>p(\mu\to\nu)</math> e compará-la a um número aleatório <math>r</math>, de modo que <math>0<r<1</math>. Se <math> p(\mu\to\nu)>r</math>, então o estado <math>\nu</math> é adotado pelo sistema. Para aplicar essas ideias ao problema do gás de rede, o método mais simples é utilizando o algoritmo de Kawasaki, que faz com que dois sítios, selecionados aleatoriamente, tenham seus valores trocados. Isso implica que a magnetização do sistema será constante<ref name = BARKEMA></ref>. Para calcular a probabilidade de aceitação dessa mudança, calcula-se a variação de energia entre os estados,<math>\Delta E= E_{\nu}-E_{\mu}</math>, e aplica-se o valor obtido na equação de probabilidade de aceitação de Metrópolis:<br />
<br />
<math>p(\mu\to\nu)=\left\{\begin{array}{rc} e^{\frac{-\Delta E}{k_BT}}, \quad \text{se}\quad \Delta E>0\\<br />
1, \quad \text{caso contrario}\end{array}\right.</math><br />
<br />
Para este trabalho, foram feitas algumas alterações no algoritmo de Kawasaki. Limita-se a troca de valores somente entre um sítio e seus quatro vizinhos principais (isto é, acima, abaixo, à direita e à esquerda). No estado <math>\mu</math>, seleciona-se aleatoriamente um sítio <math>i</math>. A partir dele, é sorteado um de seus vizinhos, digamos, <math>j</math>, com o qual haverá a troca de valor. Antes que ocorra a troca, são calculados os valores de dois Hamiltonianos: o que relaciona o sítio <math>i</math> com seus vizinhos e o que relaciona <math>j</math> com seus vizinhos. Somados, eles representam o valor de <math>E_{\mu}</math>. Após a troca, esses valores são recalculados, formando o valor de <math>E_{\nu}</math>. Com esses valores, segue-se o cálculo da probabilidade da forma usual. <br />
<br />
== Implementação ==<br />
<br />
== Resultados ==<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP<br />
</source><br />
<br />
onde o segundo termo é a temperatura do banho térmico, argumento dos programas. Os programas possuem uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP | gnuplot<br />
</source><br />
<br />
Entretanto com a visualização no gnuplot o programa pode demorar mais para executar, então é recomendado diminuir os tempos de transiente (''TRAN'') e medidas (''TMAX'').<br />
<br />
[[Ising com Campo]]<br />
<br />
[[Gás de Rede sem Densidade Constante]]<br />
<br />
[[Gás de Rede com Densidade Constante]]<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=G%C3%A1s_de_Rede_2D&diff=2903Gás de Rede 2D2020-08-18T22:35:39Z<p>Jcrodrigues: </p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
== Gás de Rede ==<br />
<br />
O Modelo do Gás de Rede 2D consiste em um sistema de <math>N</math> partículas da forma <math>\sigma = {\sigma_1, \sigma_1, \dotsc, \sigma_N}</math> onde cada sítio da rede pode assumir o valor <math>1</math>, ocupado por uma partícula, ou <math>0</math>, não ocupado por uma partícula. A energia total do sistema é dada pelo Hamiltoniano do Gás de Rede, descrito pela equação<br />
<br />
<math>\mathcal{H} = - \epsilon \sum_{\langle i,j \rangle} \sigma_i \sigma_j</math><br />
<br />
Onde o somatório é dado entre os quatro vizinhos mais próximos e <math>\epsilon</math> é a constante de interação entre as partículas, para <math>\epsilon \geq 0</math> a interação é atrativa. Por se tratar de uma rede quadrada com <math>L^2 = L \times L</math> sítios, apenas uma parcela da rede é ocupada por partículas, ou seja, possuímos uma densidade constante <math>\rho</math> de partículas. Podemos expressar a condição da densidade constante da forma<br />
<br />
<math>\sum_{i} \sigma_i = \rho L^2</math><br />
<br />
Fazendo uma mudança de variáveis da forma <math>s_i = 2 \sigma_1 - 1</math> saímos da situação de ocupação e não ocupação de sítios e obtemos variáveis do Modelo de Ising <ref name=ISING> https://fiscomp.if.ufrgs.br/index.php/Ising_2D</ref>, spins Up e Down. A variável <math>s_i</math> assume valor <math>+1</math> (up) quando o sítio esta ocupado por uma partícula e <math>-1</math> quando não está. Aplicando a mudança de variáveis no Hamiltoniano do Gás de Rede obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} (s_i + 1)(s_j + 1)</math><br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - \frac{1}{2} z \epsilon \sum_{\langle i,j \rangle} s_i - \frac{1}{2} z \epsilon L^2 </math><br />
<br />
Onde <math>z</math> é o número de coordenação, isto é, o número de vizinhos próximos, neste caso são quatro. Vemos que este Hamiltoniano possui a forma do Hamiltoniano de Ising com campo magnético, a menos de uma constante. Entretanto, com a densidade constante, fazendo a mesma mudança de variáveis, obtemos<br />
<br />
<math>\sum_{i} s_i = (2\rho - 1) L^2</math><br />
<br />
E aplicando no Hamiltoniano obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - z \epsilon L^2 \rho </math><br />
<br />
Como <math>z</math>, <math>\rho</math> e <math>L^2</math> são constantes, o segundo termo é constante. Definindo <math>J = \epsilon / 4</math> o Hamiltoniano se torna<br />
<br />
<math>\mathcal{H} = - J \sum_{\langle i,j \rangle} s_i s_j + \text{constante}</math><br />
<br />
A constante não influencia nos valores da medida, pois ela se cancela na equação de mudança de estado <ref name=BARKEMA>M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.</ref>. Vemos que, ao assumir a densidade constante, o modelo do Gás de Rede se torna o modelo de Ising sem a presença de um campo magnético. A condição da densidade constante é a magnetização total do modelo. <br />
<br />
É interessante notar que podemos tratar o modelo do gás de rede de duas formas: '''(a)''' assumir a densidade constante e utilizar o primeiro Hamiltoniano apresentado, ou '''(b)''' não assumir a densidade constante, aplicar a mudança de variáveis discutida e utilizar o Hamiltoniano que possuí a forma de Ising com campo magnético. <br />
<br />
<br />
==Método de Monte Carlo==<br />
===Princípios gerais===<br />
Para desenvolver a dinâmica do gás de rede, isto é, fazer com que ocorram alterações na posição das partículas, recorre-se ao método de Monte Carlo. Trata-se, em linhas gerais, de um método estatístico baseado em amostragem aleatória. É comum, ao introduzir-se o assunto, utilizar problemas de cálculo de áreas, como, por exemplo, a clássica história das crianças que desenharam, na areia, um círculo contido em um quadrado, de modo que o diâmetro do círculo seja igual ao lado do quadrado. Jogam, aleatoriamente, pedras no quadrado. Após uma grande quantidade de arremessos, compara-se o valor de pedras que estão dentro do círculo com o número total dentro do quadrado, fazendo a razão entre esses dois valores, encontra-se uma aproximação para a razão entre a área do círculo e a do quadrado, que equivale a <math>\pi/4</math>. Desse modo, pode ser encontrada uma aproximação do valor de <math>\pi</math> através do método de Monte Carlo, que simula uma aproximação experimental<ref name=KRAUTH>KRAUTH,W. ,"Statistical Mechanics: Algorithms and Computations". Oxford Master Series in Physics, Oxford University Press, 2006.</ref>. É possível propor um novo modelo, no qual o quadrado é grande e as pedras são atiradas aleatoriamente de dentro do quadrado, de modo que a posição de arremesso é atualizada para a posição da última pedra jogada. A principal alteração nesse método é a possibilidade de que uma pedra seja atirada para fora do quadrado. Nesse caso, a posição para o próximo arremesso não muda e as pedras que foram parar fora das bordas do quadrado são empilhadas naquela posição. Essas mudanças no método caracterizam a aplicação de Monte Carlo em uma cadeia de Markov, definida de modo que a configuração do próximo estado depende somente da configuração atual. Até aqui, vimos o método de Monte Carlo aplicado em situações nas quais a probabilidade de um evento ocorrer na configuração subsequente do sistema é zero ou um. Para novas distribuições de probabilidade, utiliza-se o algoritmo de Metrópolis.<br />
<br />
===Algoritmo de Metrópolis===<br />
Como mencionado, o método de Monte Carlo funciona através de atualizações em um sistema, fazendo com que ele passe de um estado para outro. Consideremos <math>\mu</math> como sendo o estado atual do sistema. O próximo estado será chamado <math>\nu</math>. Chamamos a probabilidade do sistema passar do estado <math>\mu</math> para o estado <math>\nu</math> de <math>p(\mu\to\nu)</math>. A ideia do algoritmo de Metrópolis é aplicar essa probabilidade no método de Monte Carlo. Para isso, um método muito utilizado é calcular a probabilidade <math>p(\mu\to\nu)</math> e compará-la a um número aleatório <math>r</math>, de modo que <math>0<r<1</math>. Se <math> p(\mu\to\nu)>r</math>, então o estado <math>\nu</math> é adotado pelo sistema. Para aplicar essas ideias ao problema do gás de rede, o método mais simples é utilizando o algoritmo de Kawasaki, que faz com que dois sítios, selecionados aleatoriamente, tenham seus valores trocados. Isso implica que a magnetização do sistema será constante<ref name = BARKEMA></ref>. Para calcular a probabilidade de aceitação dessa mudança, calcula-se a variação de energia entre os estados,<math>\Delta E= E_{\nu}-E_{\mu}</math>, e aplica-se o valor obtido na equação de probabilidade de aceitação de Metrópolis:<br />
<math>p(\mu\to\nu)=\left\{\begin{array}{rc} e^{\frac{-\Delta E}{k_BT}}\mbox{se}\quad \Delta E>0\\<br />
1\quad caso\quad contrário\end{array}\right.</math><br />
<br />
== Implementação ==<br />
<br />
== Resultados ==<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP<br />
</source><br />
<br />
onde o segundo termo é a temperatura do banho térmico, argumento dos programas. Os programas possuem uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP | gnuplot<br />
</source><br />
<br />
Entretanto com a visualização no gnuplot o programa pode demorar mais para executar, então é recomendado diminuir os tempos de transiente (''TRAN'') e medidas (''TMAX'').<br />
<br />
[[Ising com Campo]]<br />
<br />
[[Gás de Rede sem Densidade Constante]]<br />
<br />
[[Gás de Rede com Densidade Constante]]<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=G%C3%A1s_de_Rede_2D&diff=2902Gás de Rede 2D2020-08-18T20:37:18Z<p>Jcrodrigues: </p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
== Gás de Rede ==<br />
<br />
O Modelo do Gás de Rede 2D consiste em um sistema de <math>N</math> partículas da forma <math>\sigma = {\sigma_1, \sigma_1, \dotsc, \sigma_N}</math> onde cada sítio da rede pode assumir o valor <math>1</math>, ocupado por uma partícula, ou <math>0</math>, não ocupado por uma partícula. A energia total do sistema é dada pelo Hamiltoniano do Gás de Rede, descrito pela equação<br />
<br />
<math>\mathcal{H} = - \epsilon \sum_{\langle i,j \rangle} \sigma_i \sigma_j</math><br />
<br />
Onde o somatório é dado entre os quatro vizinhos mais próximos e <math>\epsilon</math> é a constante de interação entre as partículas, para <math>\epsilon \geq 0</math> a interação é atrativa. Por se tratar de uma rede quadrada com <math>L^2 = L \times L</math> sítios, apenas uma parcela da rede é ocupada por partículas, ou seja, possuímos uma densidade constante <math>\rho</math> de partículas. Podemos expressar a condição da densidade constante da forma<br />
<br />
<math>\sum_{i} \sigma_i = \rho L^2</math><br />
<br />
Fazendo uma mudança de variáveis da forma <math>s_i = 2 \sigma_1 - 1</math> saímos da situação de ocupação e não ocupação de sítios e obtemos variáveis do Modelo de Ising <ref name=ISING> https://fiscomp.if.ufrgs.br/index.php/Ising_2D</ref>, spins Up e Down. A variável <math>s_i</math> assume valor <math>+1</math> (up) quando o sítio esta ocupado por uma partícula e <math>-1</math> quando não está. Aplicando a mudança de variáveis no Hamiltoniano do Gás de Rede obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} (s_i + 1)(s_j + 1)</math><br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - \frac{1}{2} z \epsilon \sum_{\langle i,j \rangle} s_i - \frac{1}{2} z \epsilon L^2 </math><br />
<br />
Onde <math>z</math> é o número de coordenação, isto é, o número de vizinhos próximos, neste caso são quatro. Vemos que este Hamiltoniano possui a forma do Hamiltoniano de Ising com campo magnético, a menos de uma constante. Entretanto, com a densidade constante, fazendo a mesma mudança de variáveis, obtemos<br />
<br />
<math>\sum_{i} s_i = (2\rho - 1) L^2</math><br />
<br />
E aplicando no Hamiltoniano obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - z \epsilon L^2 \rho </math><br />
<br />
Como <math>z</math>, <math>\rho</math> e <math>L^2</math> são constantes, o segundo termo é constante. Definindo <math>J = \epsilon / 4</math> o Hamiltoniano se torna<br />
<br />
<math>\mathcal{H} = - J \sum_{\langle i,j \rangle} s_i s_j + \text{constante}</math><br />
<br />
A constante não influencia nos valores da medida, pois ela se cancela na equação de mudança de estado <ref name=BARKEMA>M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.</ref>. Vemos que, ao assumir a densidade constante, o modelo do Gás de Rede se torna o modelo de Ising sem a presença de um campo magnético. A condição da densidade constante é a magnetização total do modelo. <br />
<br />
É interessante notar que podemos tratar o modelo do gás de rede de duas formas: '''(a)''' assumir a densidade constante e utilizar o primeiro Hamiltoniano apresentado, ou '''(b)''' não assumir a densidade constante, aplicar a mudança de variáveis discutida e utilizar o Hamiltoniano que possuí a forma de Ising com campo magnético. <br />
<br />
<br />
==Método de Monte Carlo==<br />
===Princípios gerais===<br />
Para desenvolver a dinâmica do gás de rede, isto é, fazer com que ocorram alterações na posição das partículas, recorre-se ao método de Monte Carlo. Trata-se, em linhas gerais, de um método estatístico baseado em amostragem aleatória. É comum, ao introduzir-se o assunto, utilizar problemas de cálculo de áreas, como, por exemplo, a clássica história das crianças que desenharam, na areia, um círculo contido em um quadrado, de modo que o diâmetro do círculo seja igual ao lado do quadrado. Jogam, aleatoriamente, pedras no quadrado. Após uma grande quantidade de arremessos, compara-se o valor de pedras que estão dentro do círculo com o número total dentro do quadrado, fazendo a razão entre esses dois valores, encontra-se uma aproximação para a razão entre a área do círculo e a do quadrado, que equivale a <math>\pi/4</math>. Desse modo, pode ser encontrada uma aproximação do valor de <math>\pi</math> através do método de Monte Carlo, que simula uma aproximação experimental<ref name=KRAUTH>KRAUTH,W. ,"Statistical Mechanics: Algorithms and Computations". Oxford Master Series in Physics, Oxford University Press, 2006.</ref>. É possível propor um novo modelo, no qual o quadrado é grande e as pedras são atiradas aleatoriamente de dentro do quadrado, de modo que a posição de arremesso é atualizada para a posição da última pedra jogada. A principal alteração nesse método é a possibilidade de que uma pedra seja atirada para fora do quadrado. Nesse caso, a posição para o próximo arremesso não muda e as pedras que foram parar fora das bordas do quadrado são empilhadas naquela posição. Essas mudanças no método caracterizam a aplicação de Monte Carlo em uma cadeia de Markov, definida de modo que a configuração do próximo estado depende somente da configuração atual. Até aqui, vimos o método de Monte Carlo aplicado em situações nas quais a probabilidade de um evento ocorrer na configuração subsequente do sistema é zero ou um. Para novas distribuições de probabilidade, utiliza-se o algoritmo de Metrópolis.<br />
<br />
===Algoritmo de Metrópolis===<br />
<br />
== Implementação ==<br />
<br />
== Resultados ==<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP<br />
</source><br />
<br />
onde o segundo termo é a temperatura do banho térmico, argumento dos programas. Os programas possuem uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP | gnuplot<br />
</source><br />
<br />
Entretanto com a visualização no gnuplot o programa pode demorar mais para executar, então é recomendado diminuir os tempos de transiente (''TRAN'') e medidas (''TMAX'').<br />
<br />
[[Ising com Campo]]<br />
<br />
[[Gás de Rede sem Densidade Constante]]<br />
<br />
[[Gás de Rede com Densidade Constante]]<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=G%C3%A1s_de_Rede_2D&diff=2901Gás de Rede 2D2020-08-18T20:34:42Z<p>Jcrodrigues: </p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
== Gás de Rede ==<br />
<br />
O Modelo do Gás de Rede 2D consiste em um sistema de <math>N</math> partículas da forma <math>\sigma = {\sigma_1, \sigma_1, \dotsc, \sigma_N}</math> onde cada sítio da rede pode assumir o valor <math>1</math>, ocupado por uma partícula, ou <math>0</math>, não ocupado por uma partícula. A energia total do sistema é dada pelo Hamiltoniano do Gás de Rede, descrito pela equação<br />
<br />
<math>\mathcal{H} = - \epsilon \sum_{\langle i,j \rangle} \sigma_i \sigma_j</math><br />
<br />
Onde o somatório é dado entre os quatro vizinhos mais próximos e <math>\epsilon</math> é a constante de interação entre as partículas, para <math>\epsilon \geq 0</math> a interação é atrativa. Por se tratar de uma rede quadrada com <math>L^2 = L \times L</math> sítios, apenas uma parcela da rede é ocupada por partículas, ou seja, possuímos uma densidade constante <math>\rho</math> de partículas. Podemos expressar a condição da densidade constante da forma<br />
<br />
<math>\sum_{i} \sigma_i = \rho L^2</math><br />
<br />
Fazendo uma mudança de variáveis da forma <math>s_i = 2 \sigma_1 - 1</math> saímos da situação de ocupação e não ocupação de sítios e obtemos variáveis do Modelo de Ising <ref name=ISING> https://fiscomp.if.ufrgs.br/index.php/Ising_2D</ref>, spins Up e Down. A variável <math>s_i</math> assume valor <math>+1</math> (up) quando o sítio esta ocupado por uma partícula e <math>-1</math> quando não está. Aplicando a mudança de variáveis no Hamiltoniano do Gás de Rede obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} (s_i + 1)(s_j + 1)</math><br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - \frac{1}{2} z \epsilon \sum_{\langle i,j \rangle} s_i - \frac{1}{2} z \epsilon L^2 </math><br />
<br />
Onde <math>z</math> é o número de coordenação, isto é, o número de vizinhos próximos, neste caso são quatro. Vemos que este Hamiltoniano possui a forma do Hamiltoniano de Ising com campo magnético, a menos de uma constante. Entretanto, com a densidade constante, fazendo a mesma mudança de variáveis, obtemos<br />
<br />
<math>\sum_{i} s_i = (2\rho - 1) L^2</math><br />
<br />
E aplicando no Hamiltoniano obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - z \epsilon L^2 \rho </math><br />
<br />
Como <math>z</math>, <math>\rho</math> e <math>L^2</math> são constantes, o segundo termo é constante. Definindo <math>J = \epsilon / 4</math> o Hamiltoniano se torna<br />
<br />
<math>\mathcal{H} = - J \sum_{\langle i,j \rangle} s_i s_j + \text{constante}</math><br />
<br />
A constante não influencia nos valores da medida, pois ela se cancela na equação de mudança de estado <ref name=BARKEMA>M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.</ref>. Vemos que, ao assumir a densidade constante, o modelo do Gás de Rede se torna o modelo de Ising sem a presença de um campo magnético. A condição da densidade constante é a magnetização total do modelo. <br />
<br />
É interessante notar que podemos tratar o modelo do gás de rede de duas formas: '''(a)''' assumir a densidade constante e utilizar o primeiro Hamiltoniano apresentado, ou '''(b)''' não assumir a densidade constante, aplicar a mudança de variáveis discutida e utilizar o Hamiltoniano que possuí a forma de Ising com campo magnético. <br />
<br />
<br />
==Método de Monte Carlo==<br />
===Princípios gerais===<br />
Para desenvolver a dinâmica do gás de rede, isto é, fazer com que ocorram alterações na posição das partículas, recorre-se ao método de Monte Carlo. Trata-se, em linhas gerais, de um método estatístico baseado em amostragem aleatória. É comum, ao introduzir-se o assunto, utilizar problemas de cálculo de áreas, como, por exemplo, a clássica história das crianças que desenharam, na areia, um círculo contido em um quadrado, de modo que o diâmetro do círculo seja igual ao lado do quadrado. Jogam, aleatoriamente, pedras no quadrado. Após uma grande quantidade de arremessos, compara-se o valor de pedras que estão dentro do círculo com o número total dentro do quadrado, fazendo a razão entre esses dois valores, encontra-se uma aproximação para a razão entre a área do círculo e a do quadrado, que equivale a <math>\pi/4<math>. Desse modo, pode ser encontrada uma aproximação do valor de <math>\pi<math> através do método de Monte Carlo, que simula uma aproximação experimental<ref name=KRAUTH>KRAUTH,W. ,"Statistical Mechanics: Algorithms and Computations". Oxford Master Series in Physics, Oxford University Press, 2006.</ref>. É possível propor um novo modelo, no qual o quadrado é grande e as pedras são atiradas aleatoriamente de dentro do quadrado, de modo que a posição de arremesso é atualizada para a posição da última pedra jogada. A principal alteração nesse método é a possibilidade de que uma pedra seja atirada para fora do quadrado. Nesse caso, a posição para o próximo arremesso não muda e as pedras que foram parar fora das bordas do quadrado são empilhadas naquela posição. Essas mudanças no método caracterizam a aplicação de Monte Carlo em uma cadeia de Markov, definida de modo que a configuração do próximo estado depende somente da configuração atual. Até aqui, vimos o método de Monte Carlo aplicado em situações nas quais a probabilidade de um evento ocorrer na configuração subsequente do sistema é zero ou um. Para novas distribuições de probabilidade, utiliza-se o algoritmo de Metrópolis.<br />
<br />
===Algoritmo de Metrópolis===<br />
<br />
== Implementação ==<br />
<br />
== Resultados ==<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP<br />
</source><br />
<br />
onde o segundo termo é a temperatura do banho térmico, argumento dos programas. Os programas possuem uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP | gnuplot<br />
</source><br />
<br />
Entretanto com a visualização no gnuplot o programa pode demorar mais para executar, então é recomendado diminuir os tempos de transiente (''TRAN'') e medidas (''TMAX'').<br />
<br />
[[Ising com Campo]]<br />
<br />
[[Gás de Rede sem Densidade Constante]]<br />
<br />
[[Gás de Rede com Densidade Constante]]<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigueshttp://fiscomp.if.ufrgs.br/index.php?title=G%C3%A1s_de_Rede_2D&diff=2900Gás de Rede 2D2020-08-18T20:30:27Z<p>Jcrodrigues: </p>
<hr />
<div>'''EM CONSTRUÇÃO'''<br />
<br />
== Gás de Rede ==<br />
<br />
O Modelo do Gás de Rede 2D consiste em um sistema de <math>N</math> partículas da forma <math>\sigma = {\sigma_1, \sigma_1, \dotsc, \sigma_N}</math> onde cada sítio da rede pode assumir o valor <math>1</math>, ocupado por uma partícula, ou <math>0</math>, não ocupado por uma partícula. A energia total do sistema é dada pelo Hamiltoniano do Gás de Rede, descrito pela equação<br />
<br />
<math>\mathcal{H} = - \epsilon \sum_{\langle i,j \rangle} \sigma_i \sigma_j</math><br />
<br />
Onde o somatório é dado entre os quatro vizinhos mais próximos e <math>\epsilon</math> é a constante de interação entre as partículas, para <math>\epsilon \geq 0</math> a interação é atrativa. Por se tratar de uma rede quadrada com <math>L^2 = L \times L</math> sítios, apenas uma parcela da rede é ocupada por partículas, ou seja, possuímos uma densidade constante <math>\rho</math> de partículas. Podemos expressar a condição da densidade constante da forma<br />
<br />
<math>\sum_{i} \sigma_i = \rho L^2</math><br />
<br />
Fazendo uma mudança de variáveis da forma <math>s_i = 2 \sigma_1 - 1</math> saímos da situação de ocupação e não ocupação de sítios e obtemos variáveis do Modelo de Ising <ref name=ISING> https://fiscomp.if.ufrgs.br/index.php/Ising_2D</ref>, spins Up e Down. A variável <math>s_i</math> assume valor <math>+1</math> (up) quando o sítio esta ocupado por uma partícula e <math>-1</math> quando não está. Aplicando a mudança de variáveis no Hamiltoniano do Gás de Rede obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} (s_i + 1)(s_j + 1)</math><br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - \frac{1}{2} z \epsilon \sum_{\langle i,j \rangle} s_i - \frac{1}{2} z \epsilon L^2 </math><br />
<br />
Onde <math>z</math> é o número de coordenação, isto é, o número de vizinhos próximos, neste caso são quatro. Vemos que este Hamiltoniano possui a forma do Hamiltoniano de Ising com campo magnético, a menos de uma constante. Entretanto, com a densidade constante, fazendo a mesma mudança de variáveis, obtemos<br />
<br />
<math>\sum_{i} s_i = (2\rho - 1) L^2</math><br />
<br />
E aplicando no Hamiltoniano obtemos<br />
<br />
<math>\mathcal{H} = - \frac{1}{4} \epsilon \sum_{\langle i,j \rangle} s_i s_j - z \epsilon L^2 \rho </math><br />
<br />
Como <math>z</math>, <math>\rho</math> e <math>L^2</math> são constantes, o segundo termo é constante. Definindo <math>J = \epsilon / 4</math> o Hamiltoniano se torna<br />
<br />
<math>\mathcal{H} = - J \sum_{\langle i,j \rangle} s_i s_j + \text{constante}</math><br />
<br />
A constante não influencia nos valores da medida, pois ela se cancela na equação de mudança de estado <ref name=BARKEMA>M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.</ref>. Vemos que, ao assumir a densidade constante, o modelo do Gás de Rede se torna o modelo de Ising sem a presença de um campo magnético. A condição da densidade constante é a magnetização total do modelo. <br />
<br />
É interessante notar que podemos tratar o modelo do gás de rede de duas formas: '''(a)''' assumir a densidade constante e utilizar o primeiro Hamiltoniano apresentado, ou '''(b)''' não assumir a densidade constante, aplicar a mudança de variáveis discutida e utilizar o Hamiltoniano que possuí a forma de Ising com campo magnético. <br />
<br />
<br />
\section{Método de Monte Carlo}<br />
\subsection{Princípios gerais}<br />
Para desenvolver a dinâmica do gás de rede, isto é, fazer com que ocorram alterações na posição das partículas, recorre-se ao método de Monte Carlo. Trata-se, em linhas gerais, de um método estatístico baseado em amostragem aleatória. É comum, ao introduzir-se o assunto, utilizar problemas de cálculo de áreas, como, por exemplo, a clássica história das crianças que desenharam, na areia, um círculo contido em um quadrado, de modo que o diâmetro do círculo seja igual ao lado do quadrado. Jogam, aleatoriamente, pedras no quadrado. Após uma grande quantidade de arremessos, compara-se o valor de pedras que estão dentro do círculo com o número total dentro do quadrado, fazendo a razão entre esses dois valores, encontra-se uma aproximação para a razão entre a área do círculo e a do quadrado, que equivale a $\pi/4$. Desse modo, pode ser encontrada uma aproximação do valor de $\pi$ através do método de Monte Carlo, que simula uma aproximação experimental<ref name=KRAUTH>KRAUTH,W. ,''Statistical Mechanics: Algorithms and Computations''. Oxford Master Series in Physics, Oxford University Press, 2006.</ref>. É possível propor um novo modelo, no qual o quadrado é grande e as pedras são atiradas aleatoriamente de dentro do quadrado, de modo que a posição de arremesso é atualizada para a posição da última pedra jogada. A principal alteração nesse método é a possibilidade de que uma pedra seja atirada para fora do quadrado. Nesse caso, a posição para o próximo arremesso não muda e as pedras que foram parar fora das bordas do quadrado são empilhadas naquela posição. Essas mudanças no método caracterizam a aplicação de Monte Carlo em uma cadeia de Markov, definida de modo que a configuração do próximo estado depende somente da configuração atual. Até aqui, vimos o método de Monte Carlo aplicado em situações nas quais a probabilidade de um evento ocorrer na configuração subsequente do sistema é zero ou um. Para novas distribuições de probabilidade, utiliza-se o algoritmo de Metrópolis.<br />
<br />
\subsection{Algoritmo de Metrópolis}<br />
<br />
== Implementação ==<br />
<br />
== Resultados ==<br />
<br />
== Programas Utilizados ==<br />
<br />
Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma<br />
<br />
<source lang=sh><br />
$ gcc prog.c -lm<br />
</source><br />
<br />
Onde ''prog.c'' é o programa que deseja utilizar. E execute da seguinte maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP<br />
</source><br />
<br />
onde o segundo termo é a temperatura do banho térmico, argumento dos programas. Os programas possuem uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot <ref name=GNUPLOT>https://fiscomp.if.ufrgs.br/index.php/Gnuplot</ref> instalado e compilar da forma<br />
<br />
<source lang=sh><br />
$ gcc -DGNU prog.c -lm<br />
</source><br />
<br />
e então executar da maneira<br />
<br />
<source lang=sh><br />
$ ./a.out TEMP | gnuplot<br />
</source><br />
<br />
Entretanto com a visualização no gnuplot o programa pode demorar mais para executar, então é recomendado diminuir os tempos de transiente (''TRAN'') e medidas (''TMAX'').<br />
<br />
[[Ising com Campo]]<br />
<br />
[[Gás de Rede sem Densidade Constante]]<br />
<br />
[[Gás de Rede com Densidade Constante]]<br />
<br />
<br />
<br />
== Referências ==<br />
<br />
<references/></div>Jcrodrigues