<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://fiscomp.if.ufrgs.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gustavobopsin</id>
	<title>Física Computacional - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="http://fiscomp.if.ufrgs.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gustavobopsin"/>
	<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Especial:Contribui%C3%A7%C3%B5es/Gustavobopsin"/>
	<updated>2026-06-12T14:48:56Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Simula%C3%A7%C3%A3o_-_Lennard-Jones&amp;diff=9710</id>
		<title>Simulação - Lennard-Jones</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Simula%C3%A7%C3%A3o_-_Lennard-Jones&amp;diff=9710"/>
		<updated>2023-04-21T18:53:33Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;!--------------------------------------------------------------------!&lt;br /&gt;
       MODULE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: Lx,Ly,N,Nf,nhis&lt;br /&gt;
       REAL(8) :: pi,eps,sigma,sigma2,rho&lt;br /&gt;
       END MODULE &lt;br /&gt;
!--------------------------------------------------------------------       &lt;br /&gt;
       PROGRAM lennard_jones&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,t,k,j,m,ngr&lt;br /&gt;
       INTEGER :: q,semente,seed(8)&lt;br /&gt;
       INTEGER,ALLOCATABLE :: hist_g(:)&lt;br /&gt;
       REAL(4) :: t_inicial,t_final,tempo&lt;br /&gt;
       REAL(8) :: d,r,dt,tmax,p,delg,u&lt;br /&gt;
       REAL(8),ALLOCATABLE :: x(:),y(:),Vx(:),Vy(:),Fx(:),Fy(:),dist(:),g(:)&lt;br /&gt;
       REAL(8) :: e_cin,e_pot,Temp,pressao,sum_Temp,sum_pressao&lt;br /&gt;
!&lt;br /&gt;
       CALL CPU_time(t_inicial)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Semente para números aleatórios!&lt;br /&gt;
       semente = 1234&lt;br /&gt;
       DO q=0,7&lt;br /&gt;
           seed(q+1) = semente + q*50 &lt;br /&gt;
       END DO&lt;br /&gt;
       CALL random_seed(put = seed)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
       pi = 4.0*atan(1.0)&lt;br /&gt;
       Lx = 25&lt;br /&gt;
       Ly = 25&lt;br /&gt;
       N = 144                    !Número de partículas!&lt;br /&gt;
       Nf = 2*N-2                 !Nuúmero de graus de liberdade!&lt;br /&gt;
       nhis = 200                 !Número de bins!&lt;br /&gt;
       d = 2.0                    !Distância entre as partículas!&lt;br /&gt;
       r = d*0.5                  !Raio das partículas!      &lt;br /&gt;
       eps = 1.0&lt;br /&gt;
       sigma = 1.0&lt;br /&gt;
       sigma2 = sigma*sigma&lt;br /&gt;
       rho = 1.0*N/(Lx*Ly)   !Densidade numérica!&lt;br /&gt;
       Temp = 1.0                 !Temperatura desejada, usada para!&lt;br /&gt;
                                  !reescalar as velocidades!      &lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Aloca os vetores&lt;br /&gt;
       ALLOCATE(x(N),y(N),Vx(N),Vy(N),Fx(N),Fy(N))&lt;br /&gt;
       ALLOCATE(g(nhis),dist(nhis),hist_g(nhis))&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Zera variáveis&lt;br /&gt;
       Fx(:) = 0.0&lt;br /&gt;
       Fy(:) = 0.0&lt;br /&gt;
       x(:) = 0.0&lt;br /&gt;
       y(:) = 0.0&lt;br /&gt;
       Vx(:) = 0.0&lt;br /&gt;
       Vy(:) = 0.0&lt;br /&gt;
       g(:) = 0.0&lt;br /&gt;
       hist_g(:) = 0&lt;br /&gt;
       dist(:) = 0.0&lt;br /&gt;
       sum_Temp = 0.0&lt;br /&gt;
       sum_pressao = 0.0&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Inicializa posições, velocidades, forças e fdr&lt;br /&gt;
       CALL inicializacao(x,y,Vx,Vy,r,Temp,e_cin)&lt;br /&gt;
       CALL posicoes(x,y,r)&lt;br /&gt;
       CALL forcas(x,y,Fx,Fy,e_pot,p)&lt;br /&gt;
       CALL fdr(0,x,y,ngr,delg,dist,g)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Loop para integrar as equações de movimento&lt;br /&gt;
       dt = 0.01&lt;br /&gt;
       tmax = 100.0/dt&lt;br /&gt;
       OPEN(10,FILE=&#039;dados_particulas.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       OPEN(100,FILE=&#039;dados_termo.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       OPEN(200,FILE=&#039;dados_fdr.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       DO t=0,int(tmax)&lt;br /&gt;
           Temp = e_cin/Nf&lt;br /&gt;
           pressao = rho*Temp + 0.5/(Lx*Ly)*p&lt;br /&gt;
!        Retira o valor inicial da T e p do cálculo da média, pois é muito diferente   &lt;br /&gt;
           IF (t == 0) THEN&lt;br /&gt;
                sum_Temp = -Temp&lt;br /&gt;
                sum_pressao = -pressao&lt;br /&gt;
                GO TO 20&lt;br /&gt;
           ELSE&lt;br /&gt;
                GO TO 20&lt;br /&gt;
           END IF&lt;br /&gt;
20         sum_Temp = sum_Temp + Temp&lt;br /&gt;
           sum_pressao = sum_pressao + pressao&lt;br /&gt;
!       Escreve os dados nos arquivos&lt;br /&gt;
           DO i=1,N&lt;br /&gt;
               WRITE(10,200) t,i,x(i),y(i),Vx(i),Vy(i),Fx(i),Fy(i)&lt;br /&gt;
           END DO&lt;br /&gt;
           WRITE(10,*) &#039;&#039;&lt;br /&gt;
           WRITE(10,*) &#039;&#039;&lt;br /&gt;
200        FORMAT(i5,2x,i3,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5)&lt;br /&gt;
           WRITE(100,300) t,e_cin,e_pot,Temp,pressao&lt;br /&gt;
300        FORMAT(i5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5)&lt;br /&gt;
!       Algoritmo Velocity-Verlet&lt;br /&gt;
           DO k=1,10 &lt;br /&gt;
               CALL verlet(x,y,Vx,Vy,Fx,Fy,dt,e_cin,e_pot,p)&lt;br /&gt;
           END DO&lt;br /&gt;
           CALL fdr(1,x,y,ngr,delg,dist,g)&lt;br /&gt;
       END DO &lt;br /&gt;
       CALL fdr(2,x,y,ngr,delg,dist,g)&lt;br /&gt;
!    Imprime a fdr&lt;br /&gt;
       DO m=1,nhis&lt;br /&gt;
           WRITE(200,400) dist(m),g(m) &lt;br /&gt;
       END DO&lt;br /&gt;
400    FORMAT(f10.5,2x,f10.5)&lt;br /&gt;
       CLOSE(10) &lt;br /&gt;
       CLOSE(100)&lt;br /&gt;
       CLOSE(200)&lt;br /&gt;
!    Calcula a temperatura média e a pressão média&lt;br /&gt;
       sum_Temp = sum_Temp/tmax&lt;br /&gt;
       sum_pressao = sum_pressao/tmax&lt;br /&gt;
       WRITE(*,600) &#039;Densidade:&#039;,rho&lt;br /&gt;
       WRITE(*,700) &#039;Temperatura média:&#039;,sum_Temp&lt;br /&gt;
       WRITE(*,800) &#039;Pressão média:&#039;,sum_pressao&lt;br /&gt;
600    FORMAT(a11,1x,f7.4)&lt;br /&gt;
700    FORMAT(a19,1x,f7.4)&lt;br /&gt;
800    FORMAT(a16,1x,f7.4)&lt;br /&gt;
!&lt;br /&gt;
       CALL CPU_time(t_final)&lt;br /&gt;
       tempo = t_final - t_inicial&lt;br /&gt;
       WRITE(*,900) &#039;Tempo de execução:&#039;,tempo,&#039;s&#039;&lt;br /&gt;
900    FORMAT(a20,1x,f6.2,1x,a1)&lt;br /&gt;
! &lt;br /&gt;
       END PROGRAM&lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Inicialização&lt;br /&gt;
       SUBROUTINE inicializacao(rx,ry,vx,vy,r,Temp,e_cin)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: num,i &lt;br /&gt;
       REAL(8) :: d,r,x,y,Temp,e_cin,rand1,rand2&lt;br /&gt;
       REAL(8) :: sumv2,sum_vx,sum_vy,fs&lt;br /&gt;
       REAL(8) :: rx(N),ry(N),vx(N),vy(N)&lt;br /&gt;
!    Inicializa as posições&lt;br /&gt;
       num = 1&lt;br /&gt;
       x = r&lt;br /&gt;
       y = r&lt;br /&gt;
       DO WHILE (y .lt. Ly-r+0.05)&lt;br /&gt;
           DO WHILE (x .lt. Lx-r+0.05)&lt;br /&gt;
               IF (num .le. N) THEN&lt;br /&gt;
                   rx(num) = x&lt;br /&gt;
                   ry(num) = y&lt;br /&gt;
                   num = num + 1&lt;br /&gt;
               END IF&lt;br /&gt;
               x = x + 2*r&lt;br /&gt;
           END DO&lt;br /&gt;
           x = r&lt;br /&gt;
           y = y + 2*r&lt;br /&gt;
       END DO&lt;br /&gt;
!    Inicializa as velocidades&lt;br /&gt;
       sumv2 = 0.0&lt;br /&gt;
       sum_vx = 0.0  ; sum_vy = 0.0&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           CALL random_number(rand1)&lt;br /&gt;
           CALL random_number(rand2)&lt;br /&gt;
           vx(i) = rand1 - 0.5&lt;br /&gt;
           vy(i) = rand2 - 0.5&lt;br /&gt;
           sumv2 = sumv2 + vx(i)*vx(i) + vy(i)*vy(i)    !energia cinética!&lt;br /&gt;
           sum_vx = sum_vx + vx(i)                      !veloc x do CM!&lt;br /&gt;
           sum_vy = sum_vy + vy(i)                      !veloc y do CM!&lt;br /&gt;
       END DO&lt;br /&gt;
       e_cin = 0.5*sumv2&lt;br /&gt;
       sumv2 = sumv2/N&lt;br /&gt;
       fs = sqrt(2.0*Temp/sumv2)           !Reescala as velocidades!&lt;br /&gt;
       sum_vx = sum_vx/N                   !veloc x do CM!&lt;br /&gt;
       sum_vy = sum_vy/N                   !veloc y do CM!&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = (vx(i) - sum_vx)*fs&lt;br /&gt;
           vy(i) = (vy(i) - sum_vy)*fs&lt;br /&gt;
       END DO&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    Implime a configuração inicial do sistema&lt;br /&gt;
       SUBROUTINE posicoes(x,y,r)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: k&lt;br /&gt;
       REAL(8) :: r&lt;br /&gt;
       REAL(8) :: x(N),y(N)&lt;br /&gt;
       OPEN(9,FILE=&#039;posicoes.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       DO k=1,N&lt;br /&gt;
           WRITE(9,*) x(k),y(k),r&lt;br /&gt;
           END DO&lt;br /&gt;
           CLOSE(9)&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    Calcula as forças em um instante de tempo&lt;br /&gt;
       SUBROUTINE forcas(x,y,fx,fy,e_pot,p)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,j&lt;br /&gt;
       REAL(8) :: a,r2,dx,dy,e_pot,p&lt;br /&gt;
       REAL(8) :: x(N),y(N),fx(N),fy(N)&lt;br /&gt;
       fx(:) = 0.0&lt;br /&gt;
       fy(:) = 0.0&lt;br /&gt;
       e_pot = 0.0&lt;br /&gt;
       p = 0.0&lt;br /&gt;
       DO i=1,N-1&lt;br /&gt;
           DO j=i+1,N&lt;br /&gt;
!            Convenção da imagem mínima&lt;br /&gt;
               dx = x(i)-x(j)&lt;br /&gt;
               dy = y(i)-y(j)&lt;br /&gt;
               dx = dx - Lx*nint(dx/Lx)&lt;br /&gt;
               dy = dy - Ly*nint(dy/Ly)&lt;br /&gt;
               r2 = dx*dx + dy*dy&lt;br /&gt;
               a = 48*eps/sigma2*(sigma2/r2)**4*((sigma2/r2)**3 - 0.5)&lt;br /&gt;
               fx(i) = fx(i) + a*dx&lt;br /&gt;
               fy(i) = fy(i) + a*dy&lt;br /&gt;
               fx(j) = fx(j) - a*dx&lt;br /&gt;
               fy(j) = fy(j) - a*dy&lt;br /&gt;
               e_pot = e_pot + 4.0*eps*(sigma2/r2)**3*((sigma2/r2)**3-1.0) !Energia potencial!&lt;br /&gt;
               p = p + a*(dx*dx + dy*dy)                                   !Pressão!&lt;br /&gt;
           END DO&lt;br /&gt;
       END DO&lt;br /&gt;
       END SUBROUTINE      &lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Implementa a condição de contorno&lt;br /&gt;
       SUBROUTINE condicao_contorno(x,y)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i&lt;br /&gt;
       REAL(8) :: x(N),y(N)&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           IF (x(i) .gt. Lx) THEN&lt;br /&gt;
               x(i) = x(i) - Lx&lt;br /&gt;
           ELSE IF (x(i) .lt. 0) THEN&lt;br /&gt;
               x(i) = x(i) + Lx&lt;br /&gt;
           END IF  &lt;br /&gt;
           IF (y(i) .gt. Ly) THEN&lt;br /&gt;
               y(i) = y(i) - Ly&lt;br /&gt;
           ELSE IF (y(i) .lt. 0) THEN&lt;br /&gt;
               y(i) = y(i) + Ly&lt;br /&gt;
           END IF&lt;br /&gt;
       END DO  &lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    ALgoritmo Velocity-Verlet&lt;br /&gt;
       SUBROUTINE verlet(rx,ry,vx,vy,fx,fy,deltat,e_cin,e_pot,p)&lt;br /&gt;
       USE globais &lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i&lt;br /&gt;
       REAL(8) :: deltat,e_cin,e_pot,p&lt;br /&gt;
       REAL(8) :: rx(N),ry(N),vx(N),vy(N),fx(N),fy(N),g(nhis)&lt;br /&gt;
       e_cin = 0.0&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = vx(i) + 0.5*fx(i)*deltat &lt;br /&gt;
           vy(i) = vy(i) + 0.5*fy(i)*deltat&lt;br /&gt;
           rx(i) = rx(i) + vx(i)*deltat &lt;br /&gt;
           ry(i) = ry(i) + vy(i)*deltat&lt;br /&gt;
       END DO                                    &lt;br /&gt;
       CALL condicao_contorno(rx,ry)            &lt;br /&gt;
       CALL forcas(rx,ry,fx,fy,e_pot,p)               &lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = vx(i) + 0.5*fx(i)*deltat &lt;br /&gt;
           vy(i) = vy(i) + 0.5*fy(i)*deltat&lt;br /&gt;
           e_cin = e_cin + vx(i)*vx(i) + vy(i)*vy(i)&lt;br /&gt;
       END DO&lt;br /&gt;
       e_cin = 0.5*e_cin        !Energia cinética!&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Calcula a função distribuição radial&lt;br /&gt;
       SUBROUTINE fdr(switch,x,y,ngr,delg,dist,g)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,j,k,ig,ngr,switch&lt;br /&gt;
     !  INTEGER :: hist_g(nhis)&lt;br /&gt;
       REAL(8) :: dx,dy,r,r2,delg,vb,nid&lt;br /&gt;
       REAL(8) :: x(N),y(N),dist(nhis),g(nhis)&lt;br /&gt;
       IF (switch == 0) THEN                  !Inicializa!&lt;br /&gt;
           ngr = 0&lt;br /&gt;
           delg = Lx/(2.0*nhis)               !Tamanho do bin!&lt;br /&gt;
           dist(:) = 0.0&lt;br /&gt;
         !  hist_g(:) = 0&lt;br /&gt;
           g(:) = 0.0&lt;br /&gt;
       ELSE IF (switch == 1) THEN             !amostra!&lt;br /&gt;
           ngr = ngr + 1&lt;br /&gt;
           DO i=1,N-1&lt;br /&gt;
               DO j=i+1,N&lt;br /&gt;
               ! Convenção da imagem mínima&lt;br /&gt;
                   dx = x(i)-x(j)&lt;br /&gt;
                   dy = y(i)-y(j)&lt;br /&gt;
                   dx = dx - Lx*nint(dx/Lx)&lt;br /&gt;
                   dy = dy - Ly*nint(dy/Ly)&lt;br /&gt;
                   r2 = dx*dx + dy*dy&lt;br /&gt;
                   r = sqrt(r2)&lt;br /&gt;
                   ig = int(r/delg) &lt;br /&gt;
                   g(ig) = g(ig) + 2&lt;br /&gt;
               END DO&lt;br /&gt;
           END DO&lt;br /&gt;
       ELSE IF (switch == 2) THEN             !calcula g(r)!&lt;br /&gt;
           DO k=1,nhis &lt;br /&gt;
               dist(k) = delg*(k + 0.5)&lt;br /&gt;
               vb = (2*k+1)*delg*delg&lt;br /&gt;
               nid = pi*vb*rho&lt;br /&gt;
               g(k) = g(k)/(ngr*N*nid)   !Normaliza g(r)!&lt;br /&gt;
           END DO &lt;br /&gt;
       END IF&lt;br /&gt;
       END SUBROUTINE&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Simula%C3%A7%C3%A3o_-_Lennard-Jones&amp;diff=9709</id>
		<title>Simulação - Lennard-Jones</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Simula%C3%A7%C3%A3o_-_Lennard-Jones&amp;diff=9709"/>
		<updated>2023-04-21T18:53:19Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;!--------------------------------------------------------------------!&lt;br /&gt;
       MODULE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: Lx,Ly,N,Nf,nhis&lt;br /&gt;
       REAL(8) :: pi,eps,sigma,sigma2,rho&lt;br /&gt;
       END MODULE &lt;br /&gt;
!--------------------------------------------------------------------       &lt;br /&gt;
       PROGRAM lennard_jones&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,t,k,j,m,ngr&lt;br /&gt;
       INTEGER :: q,semente,seed(8)&lt;br /&gt;
       INTEGER,ALLOCATABLE :: hist_g(:)&lt;br /&gt;
       REAL(4) :: t_inicial,t_final,tempo&lt;br /&gt;
       REAL(8) :: d,r,dt,tmax,p,delg,u&lt;br /&gt;
       REAL(8),ALLOCATABLE :: x(:),y(:),Vx(:),Vy(:),Fx(:),Fy(:),dist(:),g(:)&lt;br /&gt;
       REAL(8) :: e_cin,e_pot,Temp,pressao,sum_Temp,sum_pressao&lt;br /&gt;
!&lt;br /&gt;
       CALL CPU_time(t_inicial)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Semente para números aleatórios&lt;br /&gt;
       semente = 1234&lt;br /&gt;
       DO q=0,7&lt;br /&gt;
           seed(q+1) = semente + q*50 &lt;br /&gt;
       END DO&lt;br /&gt;
       CALL random_seed(put = seed)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
       pi = 4.0*atan(1.0)&lt;br /&gt;
       Lx = 25&lt;br /&gt;
       Ly = 25&lt;br /&gt;
       N = 144                    !Número de partículas!&lt;br /&gt;
       Nf = 2*N-2                 !Nuúmero de graus de liberdade!&lt;br /&gt;
       nhis = 200                 !Número de bins!&lt;br /&gt;
       d = 2.0                    !Distância entre as partículas!&lt;br /&gt;
       r = d*0.5                  !Raio das partículas!      &lt;br /&gt;
       eps = 1.0&lt;br /&gt;
       sigma = 1.0&lt;br /&gt;
       sigma2 = sigma*sigma&lt;br /&gt;
       rho = 1.0*N/(Lx*Ly)   !Densidade numérica!&lt;br /&gt;
       Temp = 1.0                 !Temperatura desejada, usada para!&lt;br /&gt;
                                  !reescalar as velocidades!      &lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Aloca os vetores&lt;br /&gt;
       ALLOCATE(x(N),y(N),Vx(N),Vy(N),Fx(N),Fy(N))&lt;br /&gt;
       ALLOCATE(g(nhis),dist(nhis),hist_g(nhis))&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Zera variáveis&lt;br /&gt;
       Fx(:) = 0.0&lt;br /&gt;
       Fy(:) = 0.0&lt;br /&gt;
       x(:) = 0.0&lt;br /&gt;
       y(:) = 0.0&lt;br /&gt;
       Vx(:) = 0.0&lt;br /&gt;
       Vy(:) = 0.0&lt;br /&gt;
       g(:) = 0.0&lt;br /&gt;
       hist_g(:) = 0&lt;br /&gt;
       dist(:) = 0.0&lt;br /&gt;
       sum_Temp = 0.0&lt;br /&gt;
       sum_pressao = 0.0&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Inicializa posições, velocidades, forças e fdr&lt;br /&gt;
       CALL inicializacao(x,y,Vx,Vy,r,Temp,e_cin)&lt;br /&gt;
       CALL posicoes(x,y,r)&lt;br /&gt;
       CALL forcas(x,y,Fx,Fy,e_pot,p)&lt;br /&gt;
       CALL fdr(0,x,y,ngr,delg,dist,g)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Loop para integrar as equações de movimento&lt;br /&gt;
       dt = 0.01&lt;br /&gt;
       tmax = 100.0/dt&lt;br /&gt;
       OPEN(10,FILE=&#039;dados_particulas.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       OPEN(100,FILE=&#039;dados_termo.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       OPEN(200,FILE=&#039;dados_fdr.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       DO t=0,int(tmax)&lt;br /&gt;
           Temp = e_cin/Nf&lt;br /&gt;
           pressao = rho*Temp + 0.5/(Lx*Ly)*p&lt;br /&gt;
!        Retira o valor inicial da T e p do cálculo da média, pois é muito diferente   &lt;br /&gt;
           IF (t == 0) THEN&lt;br /&gt;
                sum_Temp = -Temp&lt;br /&gt;
                sum_pressao = -pressao&lt;br /&gt;
                GO TO 20&lt;br /&gt;
           ELSE&lt;br /&gt;
                GO TO 20&lt;br /&gt;
           END IF&lt;br /&gt;
20         sum_Temp = sum_Temp + Temp&lt;br /&gt;
           sum_pressao = sum_pressao + pressao&lt;br /&gt;
!       Escreve os dados nos arquivos&lt;br /&gt;
           DO i=1,N&lt;br /&gt;
               WRITE(10,200) t,i,x(i),y(i),Vx(i),Vy(i),Fx(i),Fy(i)&lt;br /&gt;
           END DO&lt;br /&gt;
           WRITE(10,*) &#039;&#039;&lt;br /&gt;
           WRITE(10,*) &#039;&#039;&lt;br /&gt;
200        FORMAT(i5,2x,i3,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5)&lt;br /&gt;
           WRITE(100,300) t,e_cin,e_pot,Temp,pressao&lt;br /&gt;
300        FORMAT(i5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5)&lt;br /&gt;
!       Algoritmo Velocity-Verlet&lt;br /&gt;
           DO k=1,10 &lt;br /&gt;
               CALL verlet(x,y,Vx,Vy,Fx,Fy,dt,e_cin,e_pot,p)&lt;br /&gt;
           END DO&lt;br /&gt;
           CALL fdr(1,x,y,ngr,delg,dist,g)&lt;br /&gt;
       END DO &lt;br /&gt;
       CALL fdr(2,x,y,ngr,delg,dist,g)&lt;br /&gt;
!    Imprime a fdr&lt;br /&gt;
       DO m=1,nhis&lt;br /&gt;
           WRITE(200,400) dist(m),g(m) &lt;br /&gt;
       END DO&lt;br /&gt;
400    FORMAT(f10.5,2x,f10.5)&lt;br /&gt;
       CLOSE(10) &lt;br /&gt;
       CLOSE(100)&lt;br /&gt;
       CLOSE(200)&lt;br /&gt;
!    Calcula a temperatura média e a pressão média&lt;br /&gt;
       sum_Temp = sum_Temp/tmax&lt;br /&gt;
       sum_pressao = sum_pressao/tmax&lt;br /&gt;
       WRITE(*,600) &#039;Densidade:&#039;,rho&lt;br /&gt;
       WRITE(*,700) &#039;Temperatura média:&#039;,sum_Temp&lt;br /&gt;
       WRITE(*,800) &#039;Pressão média:&#039;,sum_pressao&lt;br /&gt;
600    FORMAT(a11,1x,f7.4)&lt;br /&gt;
700    FORMAT(a19,1x,f7.4)&lt;br /&gt;
800    FORMAT(a16,1x,f7.4)&lt;br /&gt;
!&lt;br /&gt;
       CALL CPU_time(t_final)&lt;br /&gt;
       tempo = t_final - t_inicial&lt;br /&gt;
       WRITE(*,900) &#039;Tempo de execução:&#039;,tempo,&#039;s&#039;&lt;br /&gt;
900    FORMAT(a20,1x,f6.2,1x,a1)&lt;br /&gt;
! &lt;br /&gt;
       END PROGRAM&lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Inicialização&lt;br /&gt;
       SUBROUTINE inicializacao(rx,ry,vx,vy,r,Temp,e_cin)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: num,i &lt;br /&gt;
       REAL(8) :: d,r,x,y,Temp,e_cin,rand1,rand2&lt;br /&gt;
       REAL(8) :: sumv2,sum_vx,sum_vy,fs&lt;br /&gt;
       REAL(8) :: rx(N),ry(N),vx(N),vy(N)&lt;br /&gt;
!    Inicializa as posições&lt;br /&gt;
       num = 1&lt;br /&gt;
       x = r&lt;br /&gt;
       y = r&lt;br /&gt;
       DO WHILE (y .lt. Ly-r+0.05)&lt;br /&gt;
           DO WHILE (x .lt. Lx-r+0.05)&lt;br /&gt;
               IF (num .le. N) THEN&lt;br /&gt;
                   rx(num) = x&lt;br /&gt;
                   ry(num) = y&lt;br /&gt;
                   num = num + 1&lt;br /&gt;
               END IF&lt;br /&gt;
               x = x + 2*r&lt;br /&gt;
           END DO&lt;br /&gt;
           x = r&lt;br /&gt;
           y = y + 2*r&lt;br /&gt;
       END DO&lt;br /&gt;
!    Inicializa as velocidades&lt;br /&gt;
       sumv2 = 0.0&lt;br /&gt;
       sum_vx = 0.0  ; sum_vy = 0.0&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           CALL random_number(rand1)&lt;br /&gt;
           CALL random_number(rand2)&lt;br /&gt;
           vx(i) = rand1 - 0.5&lt;br /&gt;
           vy(i) = rand2 - 0.5&lt;br /&gt;
           sumv2 = sumv2 + vx(i)*vx(i) + vy(i)*vy(i)    !energia cinética!&lt;br /&gt;
           sum_vx = sum_vx + vx(i)                      !veloc x do CM!&lt;br /&gt;
           sum_vy = sum_vy + vy(i)                      !veloc y do CM!&lt;br /&gt;
       END DO&lt;br /&gt;
       e_cin = 0.5*sumv2&lt;br /&gt;
       sumv2 = sumv2/N&lt;br /&gt;
       fs = sqrt(2.0*Temp/sumv2)           !Reescala as velocidades!&lt;br /&gt;
       sum_vx = sum_vx/N                   !veloc x do CM!&lt;br /&gt;
       sum_vy = sum_vy/N                   !veloc y do CM!&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = (vx(i) - sum_vx)*fs&lt;br /&gt;
           vy(i) = (vy(i) - sum_vy)*fs&lt;br /&gt;
       END DO&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    Implime a configuração inicial do sistema&lt;br /&gt;
       SUBROUTINE posicoes(x,y,r)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: k&lt;br /&gt;
       REAL(8) :: r&lt;br /&gt;
       REAL(8) :: x(N),y(N)&lt;br /&gt;
       OPEN(9,FILE=&#039;posicoes.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       DO k=1,N&lt;br /&gt;
           WRITE(9,*) x(k),y(k),r&lt;br /&gt;
           END DO&lt;br /&gt;
           CLOSE(9)&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    Calcula as forças em um instante de tempo&lt;br /&gt;
       SUBROUTINE forcas(x,y,fx,fy,e_pot,p)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,j&lt;br /&gt;
       REAL(8) :: a,r2,dx,dy,e_pot,p&lt;br /&gt;
       REAL(8) :: x(N),y(N),fx(N),fy(N)&lt;br /&gt;
       fx(:) = 0.0&lt;br /&gt;
       fy(:) = 0.0&lt;br /&gt;
       e_pot = 0.0&lt;br /&gt;
       p = 0.0&lt;br /&gt;
       DO i=1,N-1&lt;br /&gt;
           DO j=i+1,N&lt;br /&gt;
!            Convenção da imagem mínima&lt;br /&gt;
               dx = x(i)-x(j)&lt;br /&gt;
               dy = y(i)-y(j)&lt;br /&gt;
               dx = dx - Lx*nint(dx/Lx)&lt;br /&gt;
               dy = dy - Ly*nint(dy/Ly)&lt;br /&gt;
               r2 = dx*dx + dy*dy&lt;br /&gt;
               a = 48*eps/sigma2*(sigma2/r2)**4*((sigma2/r2)**3 - 0.5)&lt;br /&gt;
               fx(i) = fx(i) + a*dx&lt;br /&gt;
               fy(i) = fy(i) + a*dy&lt;br /&gt;
               fx(j) = fx(j) - a*dx&lt;br /&gt;
               fy(j) = fy(j) - a*dy&lt;br /&gt;
               e_pot = e_pot + 4.0*eps*(sigma2/r2)**3*((sigma2/r2)**3-1.0) !Energia potencial!&lt;br /&gt;
               p = p + a*(dx*dx + dy*dy)                                   !Pressão!&lt;br /&gt;
           END DO&lt;br /&gt;
       END DO&lt;br /&gt;
       END SUBROUTINE      &lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Implementa a condição de contorno&lt;br /&gt;
       SUBROUTINE condicao_contorno(x,y)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i&lt;br /&gt;
       REAL(8) :: x(N),y(N)&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           IF (x(i) .gt. Lx) THEN&lt;br /&gt;
               x(i) = x(i) - Lx&lt;br /&gt;
           ELSE IF (x(i) .lt. 0) THEN&lt;br /&gt;
               x(i) = x(i) + Lx&lt;br /&gt;
           END IF  &lt;br /&gt;
           IF (y(i) .gt. Ly) THEN&lt;br /&gt;
               y(i) = y(i) - Ly&lt;br /&gt;
           ELSE IF (y(i) .lt. 0) THEN&lt;br /&gt;
               y(i) = y(i) + Ly&lt;br /&gt;
           END IF&lt;br /&gt;
       END DO  &lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    ALgoritmo Velocity-Verlet&lt;br /&gt;
       SUBROUTINE verlet(rx,ry,vx,vy,fx,fy,deltat,e_cin,e_pot,p)&lt;br /&gt;
       USE globais &lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i&lt;br /&gt;
       REAL(8) :: deltat,e_cin,e_pot,p&lt;br /&gt;
       REAL(8) :: rx(N),ry(N),vx(N),vy(N),fx(N),fy(N),g(nhis)&lt;br /&gt;
       e_cin = 0.0&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = vx(i) + 0.5*fx(i)*deltat &lt;br /&gt;
           vy(i) = vy(i) + 0.5*fy(i)*deltat&lt;br /&gt;
           rx(i) = rx(i) + vx(i)*deltat &lt;br /&gt;
           ry(i) = ry(i) + vy(i)*deltat&lt;br /&gt;
       END DO                                    &lt;br /&gt;
       CALL condicao_contorno(rx,ry)            &lt;br /&gt;
       CALL forcas(rx,ry,fx,fy,e_pot,p)               &lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = vx(i) + 0.5*fx(i)*deltat &lt;br /&gt;
           vy(i) = vy(i) + 0.5*fy(i)*deltat&lt;br /&gt;
           e_cin = e_cin + vx(i)*vx(i) + vy(i)*vy(i)&lt;br /&gt;
       END DO&lt;br /&gt;
       e_cin = 0.5*e_cin        !Energia cinética!&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Calcula a função distribuição radial&lt;br /&gt;
       SUBROUTINE fdr(switch,x,y,ngr,delg,dist,g)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,j,k,ig,ngr,switch&lt;br /&gt;
     !  INTEGER :: hist_g(nhis)&lt;br /&gt;
       REAL(8) :: dx,dy,r,r2,delg,vb,nid&lt;br /&gt;
       REAL(8) :: x(N),y(N),dist(nhis),g(nhis)&lt;br /&gt;
       IF (switch == 0) THEN                  !Inicializa!&lt;br /&gt;
           ngr = 0&lt;br /&gt;
           delg = Lx/(2.0*nhis)               !Tamanho do bin!&lt;br /&gt;
           dist(:) = 0.0&lt;br /&gt;
         !  hist_g(:) = 0&lt;br /&gt;
           g(:) = 0.0&lt;br /&gt;
       ELSE IF (switch == 1) THEN             !amostra!&lt;br /&gt;
           ngr = ngr + 1&lt;br /&gt;
           DO i=1,N-1&lt;br /&gt;
               DO j=i+1,N&lt;br /&gt;
               ! Convenção da imagem mínima&lt;br /&gt;
                   dx = x(i)-x(j)&lt;br /&gt;
                   dy = y(i)-y(j)&lt;br /&gt;
                   dx = dx - Lx*nint(dx/Lx)&lt;br /&gt;
                   dy = dy - Ly*nint(dy/Ly)&lt;br /&gt;
                   r2 = dx*dx + dy*dy&lt;br /&gt;
                   r = sqrt(r2)&lt;br /&gt;
                   ig = int(r/delg) &lt;br /&gt;
                   g(ig) = g(ig) + 2&lt;br /&gt;
               END DO&lt;br /&gt;
           END DO&lt;br /&gt;
       ELSE IF (switch == 2) THEN             !calcula g(r)!&lt;br /&gt;
           DO k=1,nhis &lt;br /&gt;
               dist(k) = delg*(k + 0.5)&lt;br /&gt;
               vb = (2*k+1)*delg*delg&lt;br /&gt;
               nid = pi*vb*rho&lt;br /&gt;
               g(k) = g(k)/(ngr*N*nid)   !Normaliza g(r)!&lt;br /&gt;
           END DO &lt;br /&gt;
       END IF&lt;br /&gt;
       END SUBROUTINE&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9708</id>
		<title>Arquivo:Fdr.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9708"/>
		<updated>2023-04-19T01:17:41Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Fdr.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9705</id>
		<title>Arquivo:Fdr.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9705"/>
		<updated>2023-04-19T00:56:23Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Fdr.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao2.gif&amp;diff=9704</id>
		<title>Arquivo:Animacao2.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao2.gif&amp;diff=9704"/>
		<updated>2023-04-19T00:56:04Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Animacao2.gif&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao1.gif&amp;diff=9703</id>
		<title>Arquivo:Animacao1.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao1.gif&amp;diff=9703"/>
		<updated>2023-04-19T00:55:38Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Animacao1.gif&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9702</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9702"/>
		<updated>2023-04-19T00:53:09Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|500px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 144, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.2304&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. A temperatura desejada que utilizamos foi de T=1.0. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os últimos 100 instantes de tempo, passo à passo e os últimos 100 instantes de tempo, de 5 em 5 passos de tempo. Quando vemos a simulação passo à passo, estamos olhando para uma visão mais microscópica (mecânica estatística), enquanto estamos vendo a simulação de 5 em 5 passo, estamos observando um comportamento mais macroscópico (termodinâmica).&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo, passo a passo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo, de 5 em 5 passos.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 300 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Vemos que como o sistema já está equilibrado para uma quantidade de menos de 300 passos, plotamos à direita a série temporal contendo as 300 primeiras medidas para conseguirmos ver o começo da simulação que claramente está fora do equilíbrio.&lt;br /&gt;
&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 300 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema também já se equilibrou nos primeiros 300 passos e por isso queremos ver o comportamento do sistema fora do equilíbrio no começo da simulação. A partir do equilíbrio, poderíamos utilizar a simulação para calcular propriedades termodinâmicas.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá. Novamente, a pressão equilibra muito cedo e podemos ver que para um tempo menor que 300.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação - Lennard-Jones]]&lt;br /&gt;
&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Figuras_e_anima%C3%A7%C3%B5es&amp;diff=9701</id>
		<title>Figuras e animações</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Figuras_e_anima%C3%A7%C3%B5es&amp;diff=9701"/>
		<updated>2023-04-19T00:51:38Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &#039;gnuplot&#039;&amp;gt;&lt;br /&gt;
reset&lt;br /&gt;
set grid&lt;br /&gt;
set xlabel &#039;x&#039;&lt;br /&gt;
set ylabel &#039;y&#039;&lt;br /&gt;
set xrange[0:25]&lt;br /&gt;
set yrange[0:25]&lt;br /&gt;
set size ratio 1&lt;br /&gt;
&lt;br /&gt;
#Inicio das posições&lt;br /&gt;
set term png&lt;br /&gt;
set output &#039;inicializacao.png&#039;&lt;br /&gt;
plot &#039;posicoes.dat&#039; w circles fill solid 0.6 border 1 lc 1 t &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Animações&lt;br /&gt;
set key out&lt;br /&gt;
set term gif animate delay 10&lt;br /&gt;
set output &#039;animacao1.gif&#039;&lt;br /&gt;
do for [i=9900:10000] {plot &#039;dados_particulas.dat&#039; index i u 3:4:(1.0) w circles fill solid 0.6 border 1 t &#039;tempo=&#039;.i}&lt;br /&gt;
&lt;br /&gt;
set term gif animate delay 50&lt;br /&gt;
set output &#039;animacao2.gif&#039;&lt;br /&gt;
do for [i=9900:10000:5] {plot &#039;dados_particulas.dat&#039; index i u 3:4:(1.0) w circles fill solid 0.6 border 1 t &#039;tempo=&#039;.i}&lt;br /&gt;
reset&lt;br /&gt;
&lt;br /&gt;
set grid&lt;br /&gt;
set xlabel &#039;t&#039;&lt;br /&gt;
set ylabel &#039;E&#039;&lt;br /&gt;
set key out&lt;br /&gt;
set term png size 800,500&lt;br /&gt;
set title &#039;Energia mecânica: 124.138&#039;&lt;br /&gt;
set output &#039;energia_tempo.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:2 w l lc 6 t &#039;Energia cinética&#039; , \&lt;br /&gt;
     &#039;dados_termo.dat&#039; u 1:3 w l lc 7 t &#039;Energia potencial&#039; , \&lt;br /&gt;
     &#039;dados_termo.dat&#039; u 1:($2+$3) w l lc 1 t &#039;Energia mecânica&#039; &lt;br /&gt;
&lt;br /&gt;
unset title     &lt;br /&gt;
set xrange [0:300]     &lt;br /&gt;
set output &#039;energia_tempo_zoom.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:2 w l lc 6 t &#039;Energia cinética&#039; , \&lt;br /&gt;
     &#039;dados_termo.dat&#039; u 1:3 w l lc 7 t &#039;Energia potencial&#039; , \&lt;br /&gt;
     &#039;dados_termo.dat&#039; u 1:($2+$3) w l lc 1 t &#039;Energia mecânica&#039; &lt;br /&gt;
&lt;br /&gt;
unset xrange&lt;br /&gt;
set title &#039;Temperatura média: 0.7237&#039;&lt;br /&gt;
set ylabel &#039;T&#039;&lt;br /&gt;
set output &#039;temperatura_tempo.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:4 w l lc 7 t &#039;&#039;&lt;br /&gt;
unset title&lt;br /&gt;
set xrange [0:300]&lt;br /&gt;
set yrange [0.1:0.8]&lt;br /&gt;
set output &#039;temperatura_tempo_zoom.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:4 w l lc 7 t &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
unset yrange&lt;br /&gt;
unset xrange&lt;br /&gt;
set title &#039;Pressão média: 0.1877&#039;&lt;br /&gt;
set ylabel &#039;P&#039;&lt;br /&gt;
set output &#039;pressao_tempo.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:5 w l lc 6 t &#039;&#039;&lt;br /&gt;
unset title&lt;br /&gt;
set xrange [0:300]&lt;br /&gt;
set output &#039;pressao_tempo_zoom.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:5 w l lc 6 t &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
unset xrange&lt;br /&gt;
unset yrange&lt;br /&gt;
set title &#039;Número de bins = 200&#039;&lt;br /&gt;
set ylabel &#039;g(r)&#039;&lt;br /&gt;
set xlabel &#039;r&#039;&lt;br /&gt;
set output &#039;fdr.png&#039;&lt;br /&gt;
plot &#039;dados_fdr.dat&#039; u 1:2 w l lw 2 lc 8 t &#039;&#039;&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Figuras_e_anima%C3%A7%C3%B5es&amp;diff=9700</id>
		<title>Figuras e animações</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Figuras_e_anima%C3%A7%C3%B5es&amp;diff=9700"/>
		<updated>2023-04-19T00:50:20Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Criou página com &amp;#039;reset set grid set xlabel &amp;#039;x&amp;#039; set ylabel &amp;#039;y&amp;#039; set xrange[0:25] set yrange[0:25] set size ratio 1  #Inicio das posições set term png set output &amp;#039;inicializacao.png&amp;#039; plot &amp;#039;posic...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;reset&lt;br /&gt;
set grid&lt;br /&gt;
set xlabel &#039;x&#039;&lt;br /&gt;
set ylabel &#039;y&#039;&lt;br /&gt;
set xrange[0:25]&lt;br /&gt;
set yrange[0:25]&lt;br /&gt;
set size ratio 1&lt;br /&gt;
&lt;br /&gt;
#Inicio das posições&lt;br /&gt;
set term png&lt;br /&gt;
set output &#039;inicializacao.png&#039;&lt;br /&gt;
plot &#039;posicoes.dat&#039; w circles fill solid 0.6 border 1 lc 1 t &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Animações&lt;br /&gt;
set key out&lt;br /&gt;
set term gif animate delay 10&lt;br /&gt;
set output &#039;animacao1.gif&#039;&lt;br /&gt;
do for [i=9900:10000] {plot &#039;dados_particulas.dat&#039; index i u 3:4:(1.0) w circles fill solid 0.6 border 1 t &#039;tempo=&#039;.i}&lt;br /&gt;
&lt;br /&gt;
set term gif animate delay 50&lt;br /&gt;
set output &#039;animacao2.gif&#039;&lt;br /&gt;
do for [i=9900:10000:5] {plot &#039;dados_particulas.dat&#039; index i u 3:4:(1.0) w circles fill solid 0.6 border 1 t &#039;tempo=&#039;.i}&lt;br /&gt;
reset&lt;br /&gt;
&lt;br /&gt;
set grid&lt;br /&gt;
set xlabel &#039;t&#039;&lt;br /&gt;
set ylabel &#039;E&#039;&lt;br /&gt;
set key out&lt;br /&gt;
set term png size 800,500&lt;br /&gt;
set title &#039;Energia mecânica: 124.138&#039;&lt;br /&gt;
set output &#039;energia_tempo.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:2 w l lc 6 t &#039;Energia cinética&#039; , \&lt;br /&gt;
     &#039;dados_termo.dat&#039; u 1:3 w l lc 7 t &#039;Energia potencial&#039; , \&lt;br /&gt;
     &#039;dados_termo.dat&#039; u 1:($2+$3) w l lc 1 t &#039;Energia mecânica&#039; &lt;br /&gt;
&lt;br /&gt;
unset title     &lt;br /&gt;
set xrange [0:300]     &lt;br /&gt;
set output &#039;energia_tempo_zoom.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:2 w l lc 6 t &#039;Energia cinética&#039; , \&lt;br /&gt;
     &#039;dados_termo.dat&#039; u 1:3 w l lc 7 t &#039;Energia potencial&#039; , \&lt;br /&gt;
     &#039;dados_termo.dat&#039; u 1:($2+$3) w l lc 1 t &#039;Energia mecânica&#039; &lt;br /&gt;
&lt;br /&gt;
unset xrange&lt;br /&gt;
set title &#039;Temperatura média: 0.7237&#039;&lt;br /&gt;
set ylabel &#039;T&#039;&lt;br /&gt;
set output &#039;temperatura_tempo.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:4 w l lc 7 t &#039;&#039;&lt;br /&gt;
unset title&lt;br /&gt;
set xrange [0:300]&lt;br /&gt;
set yrange [0.1:0.8]&lt;br /&gt;
set output &#039;temperatura_tempo_zoom.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:4 w l lc 7 t &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
unset yrange&lt;br /&gt;
unset xrange&lt;br /&gt;
set title &#039;Pressão média: 0.1877&#039;&lt;br /&gt;
set ylabel &#039;P&#039;&lt;br /&gt;
set output &#039;pressao_tempo.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:5 w l lc 6 t &#039;&#039;&lt;br /&gt;
unset title&lt;br /&gt;
set xrange [0:300]&lt;br /&gt;
set output &#039;pressao_tempo_zoom.png&#039;&lt;br /&gt;
plot &#039;dados_termo.dat&#039; u 1:5 w l lc 6 t &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
unset xrange&lt;br /&gt;
unset yrange&lt;br /&gt;
set title &#039;Número de bins = 200&#039;&lt;br /&gt;
set ylabel &#039;g(r)&#039;&lt;br /&gt;
set xlabel &#039;r&#039;&lt;br /&gt;
set output &#039;fdr.png&#039;&lt;br /&gt;
plot &#039;dados_fdr.dat&#039; u 1:2 w l lw 2 lc 8 t &#039;&#039;&lt;br /&gt;
reset&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao2.gif&amp;diff=9699</id>
		<title>Arquivo:Animacao2.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao2.gif&amp;diff=9699"/>
		<updated>2023-04-19T00:47:47Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Animacao2.gif&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao1.gif&amp;diff=9698</id>
		<title>Arquivo:Animacao1.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao1.gif&amp;diff=9698"/>
		<updated>2023-04-19T00:47:19Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Animacao1.gif&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9697</id>
		<title>Arquivo:Fdr.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9697"/>
		<updated>2023-04-19T00:46:49Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Fdr.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Simula%C3%A7%C3%A3o_-_Lennard-Jones&amp;diff=9696</id>
		<title>Simulação - Lennard-Jones</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Simula%C3%A7%C3%A3o_-_Lennard-Jones&amp;diff=9696"/>
		<updated>2023-04-19T00:45:44Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Criou página com &amp;#039;!--------------------------------------------------------------------        MODULE globais        IMPLICIT NONE        INTEGER :: Lx,Ly,N,Nf,nhis        REAL(8) :: pi,eps,sig...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;!--------------------------------------------------------------------&lt;br /&gt;
       MODULE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: Lx,Ly,N,Nf,nhis&lt;br /&gt;
       REAL(8) :: pi,eps,sigma,sigma2,rho&lt;br /&gt;
       END MODULE &lt;br /&gt;
!--------------------------------------------------------------------       &lt;br /&gt;
       PROGRAM lennard_jones&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,t,k,j,m,ngr&lt;br /&gt;
       INTEGER :: q,semente,seed(8)&lt;br /&gt;
       INTEGER,ALLOCATABLE :: hist_g(:)&lt;br /&gt;
       REAL(4) :: t_inicial,t_final,tempo&lt;br /&gt;
       REAL(8) :: d,r,dt,tmax,p,delg,u&lt;br /&gt;
       REAL(8),ALLOCATABLE :: x(:),y(:),Vx(:),Vy(:),Fx(:),Fy(:),dist(:),g(:)&lt;br /&gt;
       REAL(8) :: e_cin,e_pot,Temp,pressao,sum_Temp,sum_pressao&lt;br /&gt;
!&lt;br /&gt;
       CALL CPU_time(t_inicial)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Semente para números aleatórios&lt;br /&gt;
       semente = 1234&lt;br /&gt;
       DO q=0,7&lt;br /&gt;
           seed(q+1) = semente + q*50 &lt;br /&gt;
       END DO&lt;br /&gt;
       CALL random_seed(put = seed)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
       pi = 4.0*atan(1.0)&lt;br /&gt;
       Lx = 25&lt;br /&gt;
       Ly = 25&lt;br /&gt;
       N = 144                    !Número de partículas!&lt;br /&gt;
       Nf = 2*N-2                 !Nuúmero de graus de liberdade!&lt;br /&gt;
       nhis = 200                 !Número de bins!&lt;br /&gt;
       d = 2.0                    !Distância entre as partículas!&lt;br /&gt;
       r = d*0.5                  !Raio das partículas!      &lt;br /&gt;
       eps = 1.0&lt;br /&gt;
       sigma = 1.0&lt;br /&gt;
       sigma2 = sigma*sigma&lt;br /&gt;
       rho = 1.0*N/(Lx*Ly)   !Densidade numérica!&lt;br /&gt;
       Temp = 1.0                 !Temperatura desejada, usada para!&lt;br /&gt;
                                  !reescalar as velocidades!      &lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Aloca os vetores&lt;br /&gt;
       ALLOCATE(x(N),y(N),Vx(N),Vy(N),Fx(N),Fy(N))&lt;br /&gt;
       ALLOCATE(g(nhis),dist(nhis),hist_g(nhis))&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Zera variáveis&lt;br /&gt;
       Fx(:) = 0.0&lt;br /&gt;
       Fy(:) = 0.0&lt;br /&gt;
       x(:) = 0.0&lt;br /&gt;
       y(:) = 0.0&lt;br /&gt;
       Vx(:) = 0.0&lt;br /&gt;
       Vy(:) = 0.0&lt;br /&gt;
       g(:) = 0.0&lt;br /&gt;
       hist_g(:) = 0&lt;br /&gt;
       dist(:) = 0.0&lt;br /&gt;
       sum_Temp = 0.0&lt;br /&gt;
       sum_pressao = 0.0&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Inicializa posições, velocidades, forças e fdr&lt;br /&gt;
       CALL inicializacao(x,y,Vx,Vy,r,Temp,e_cin)&lt;br /&gt;
       CALL posicoes(x,y,r)&lt;br /&gt;
       CALL forcas(x,y,Fx,Fy,e_pot,p)&lt;br /&gt;
       CALL fdr(0,x,y,ngr,delg,dist,g)&lt;br /&gt;
!--------------------------------------------------------------------&lt;br /&gt;
!    Loop para integrar as equações de movimento&lt;br /&gt;
       dt = 0.01&lt;br /&gt;
       tmax = 100.0/dt&lt;br /&gt;
       OPEN(10,FILE=&#039;dados_particulas.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       OPEN(100,FILE=&#039;dados_termo.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       OPEN(200,FILE=&#039;dados_fdr.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       DO t=0,int(tmax)&lt;br /&gt;
           Temp = e_cin/Nf&lt;br /&gt;
           pressao = rho*Temp + 0.5/(Lx*Ly)*p&lt;br /&gt;
!        Retira o valor inicial da T e p do cálculo da média, pois é muito diferente   &lt;br /&gt;
           IF (t == 0) THEN&lt;br /&gt;
                sum_Temp = -Temp&lt;br /&gt;
                sum_pressao = -pressao&lt;br /&gt;
                GO TO 20&lt;br /&gt;
           ELSE&lt;br /&gt;
                GO TO 20&lt;br /&gt;
           END IF&lt;br /&gt;
20         sum_Temp = sum_Temp + Temp&lt;br /&gt;
           sum_pressao = sum_pressao + pressao&lt;br /&gt;
!       Escreve os dados nos arquivos&lt;br /&gt;
           DO i=1,N&lt;br /&gt;
               WRITE(10,200) t,i,x(i),y(i),Vx(i),Vy(i),Fx(i),Fy(i)&lt;br /&gt;
           END DO&lt;br /&gt;
           WRITE(10,*) &#039;&#039;&lt;br /&gt;
           WRITE(10,*) &#039;&#039;&lt;br /&gt;
200        FORMAT(i5,2x,i3,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5)&lt;br /&gt;
           WRITE(100,300) t,e_cin,e_pot,Temp,pressao&lt;br /&gt;
300        FORMAT(i5,2x,f10.5,2x,f10.5,2x,f10.5,2x,f10.5)&lt;br /&gt;
!       Algoritmo Velocity-Verlet&lt;br /&gt;
           DO k=1,10 &lt;br /&gt;
               CALL verlet(x,y,Vx,Vy,Fx,Fy,dt,e_cin,e_pot,p)&lt;br /&gt;
           END DO&lt;br /&gt;
           CALL fdr(1,x,y,ngr,delg,dist,g)&lt;br /&gt;
       END DO &lt;br /&gt;
       CALL fdr(2,x,y,ngr,delg,dist,g)&lt;br /&gt;
!    Imprime a fdr&lt;br /&gt;
       DO m=1,nhis&lt;br /&gt;
           WRITE(200,400) dist(m),g(m) &lt;br /&gt;
       END DO&lt;br /&gt;
400    FORMAT(f10.5,2x,f10.5)&lt;br /&gt;
       CLOSE(10) &lt;br /&gt;
       CLOSE(100)&lt;br /&gt;
       CLOSE(200)&lt;br /&gt;
!    Calcula a temperatura média e a pressão média&lt;br /&gt;
       sum_Temp = sum_Temp/tmax&lt;br /&gt;
       sum_pressao = sum_pressao/tmax&lt;br /&gt;
       WRITE(*,600) &#039;Densidade:&#039;,rho&lt;br /&gt;
       WRITE(*,700) &#039;Temperatura média:&#039;,sum_Temp&lt;br /&gt;
       WRITE(*,800) &#039;Pressão média:&#039;,sum_pressao&lt;br /&gt;
600    FORMAT(a11,1x,f7.4)&lt;br /&gt;
700    FORMAT(a19,1x,f7.4)&lt;br /&gt;
800    FORMAT(a16,1x,f7.4)&lt;br /&gt;
!&lt;br /&gt;
       CALL CPU_time(t_final)&lt;br /&gt;
       tempo = t_final - t_inicial&lt;br /&gt;
       WRITE(*,900) &#039;Tempo de execução:&#039;,tempo,&#039;s&#039;&lt;br /&gt;
900    FORMAT(a20,1x,f6.2,1x,a1)&lt;br /&gt;
! &lt;br /&gt;
       END PROGRAM&lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Inicialização&lt;br /&gt;
       SUBROUTINE inicializacao(rx,ry,vx,vy,r,Temp,e_cin)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: num,i &lt;br /&gt;
       REAL(8) :: d,r,x,y,Temp,e_cin,rand1,rand2&lt;br /&gt;
       REAL(8) :: sumv2,sum_vx,sum_vy,fs&lt;br /&gt;
       REAL(8) :: rx(N),ry(N),vx(N),vy(N)&lt;br /&gt;
!    Inicializa as posições&lt;br /&gt;
       num = 1&lt;br /&gt;
       x = r&lt;br /&gt;
       y = r&lt;br /&gt;
       DO WHILE (y .lt. Ly-r+0.05)&lt;br /&gt;
           DO WHILE (x .lt. Lx-r+0.05)&lt;br /&gt;
               IF (num .le. N) THEN&lt;br /&gt;
                   rx(num) = x&lt;br /&gt;
                   ry(num) = y&lt;br /&gt;
                   num = num + 1&lt;br /&gt;
               END IF&lt;br /&gt;
               x = x + 2*r&lt;br /&gt;
           END DO&lt;br /&gt;
           x = r&lt;br /&gt;
           y = y + 2*r&lt;br /&gt;
       END DO&lt;br /&gt;
!    Inicializa as velocidades&lt;br /&gt;
       sumv2 = 0.0&lt;br /&gt;
       sum_vx = 0.0  ; sum_vy = 0.0&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           CALL random_number(rand1)&lt;br /&gt;
           CALL random_number(rand2)&lt;br /&gt;
           vx(i) = rand1 - 0.5&lt;br /&gt;
           vy(i) = rand2 - 0.5&lt;br /&gt;
           sumv2 = sumv2 + vx(i)*vx(i) + vy(i)*vy(i)    !energia cinética!&lt;br /&gt;
           sum_vx = sum_vx + vx(i)                      !veloc x do CM!&lt;br /&gt;
           sum_vy = sum_vy + vy(i)                      !veloc y do CM!&lt;br /&gt;
       END DO&lt;br /&gt;
       e_cin = 0.5*sumv2&lt;br /&gt;
       sumv2 = sumv2/N&lt;br /&gt;
       fs = sqrt(2.0*Temp/sumv2)           !Reescala as velocidades!&lt;br /&gt;
       sum_vx = sum_vx/N                   !veloc x do CM!&lt;br /&gt;
       sum_vy = sum_vy/N                   !veloc y do CM!&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = (vx(i) - sum_vx)*fs&lt;br /&gt;
           vy(i) = (vy(i) - sum_vy)*fs&lt;br /&gt;
       END DO&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    Implime a configuração inicial do sistema&lt;br /&gt;
       SUBROUTINE posicoes(x,y,r)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: k&lt;br /&gt;
       REAL(8) :: r&lt;br /&gt;
       REAL(8) :: x(N),y(N)&lt;br /&gt;
       OPEN(9,FILE=&#039;posicoes.dat&#039;,ACTION=&#039;write&#039;,STATUS=&#039;unknown&#039;)&lt;br /&gt;
       DO k=1,N&lt;br /&gt;
           WRITE(9,*) x(k),y(k),r&lt;br /&gt;
           END DO&lt;br /&gt;
           CLOSE(9)&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    Calcula as forças em um instante de tempo&lt;br /&gt;
       SUBROUTINE forcas(x,y,fx,fy,e_pot,p)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,j&lt;br /&gt;
       REAL(8) :: a,r2,dx,dy,e_pot,p&lt;br /&gt;
       REAL(8) :: x(N),y(N),fx(N),fy(N)&lt;br /&gt;
       fx(:) = 0.0&lt;br /&gt;
       fy(:) = 0.0&lt;br /&gt;
       e_pot = 0.0&lt;br /&gt;
       p = 0.0&lt;br /&gt;
       DO i=1,N-1&lt;br /&gt;
           DO j=i+1,N&lt;br /&gt;
!            Convenção da imagem mínima&lt;br /&gt;
               dx = x(i)-x(j)&lt;br /&gt;
               dy = y(i)-y(j)&lt;br /&gt;
               dx = dx - Lx*nint(dx/Lx)&lt;br /&gt;
               dy = dy - Ly*nint(dy/Ly)&lt;br /&gt;
               r2 = dx*dx + dy*dy&lt;br /&gt;
               a = 48*eps/sigma2*(sigma2/r2)**4*((sigma2/r2)**3 - 0.5)&lt;br /&gt;
               fx(i) = fx(i) + a*dx&lt;br /&gt;
               fy(i) = fy(i) + a*dy&lt;br /&gt;
               fx(j) = fx(j) - a*dx&lt;br /&gt;
               fy(j) = fy(j) - a*dy&lt;br /&gt;
               e_pot = e_pot + 4.0*eps*(sigma2/r2)**3*((sigma2/r2)**3-1.0) !Energia potencial!&lt;br /&gt;
               p = p + a*(dx*dx + dy*dy)                                   !Pressão!&lt;br /&gt;
           END DO&lt;br /&gt;
       END DO&lt;br /&gt;
       END SUBROUTINE      &lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Implementa a condição de contorno&lt;br /&gt;
       SUBROUTINE condicao_contorno(x,y)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i&lt;br /&gt;
       REAL(8) :: x(N),y(N)&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           IF (x(i) .gt. Lx) THEN&lt;br /&gt;
               x(i) = x(i) - Lx&lt;br /&gt;
           ELSE IF (x(i) .lt. 0) THEN&lt;br /&gt;
               x(i) = x(i) + Lx&lt;br /&gt;
           END IF  &lt;br /&gt;
           IF (y(i) .gt. Ly) THEN&lt;br /&gt;
               y(i) = y(i) - Ly&lt;br /&gt;
           ELSE IF (y(i) .lt. 0) THEN&lt;br /&gt;
               y(i) = y(i) + Ly&lt;br /&gt;
           END IF&lt;br /&gt;
       END DO  &lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!----------------------------------------------------------------------&lt;br /&gt;
!    ALgoritmo Velocity-Verlet&lt;br /&gt;
       SUBROUTINE verlet(rx,ry,vx,vy,fx,fy,deltat,e_cin,e_pot,p)&lt;br /&gt;
       USE globais &lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i&lt;br /&gt;
       REAL(8) :: deltat,e_cin,e_pot,p&lt;br /&gt;
       REAL(8) :: rx(N),ry(N),vx(N),vy(N),fx(N),fy(N),g(nhis)&lt;br /&gt;
       e_cin = 0.0&lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = vx(i) + 0.5*fx(i)*deltat &lt;br /&gt;
           vy(i) = vy(i) + 0.5*fy(i)*deltat&lt;br /&gt;
           rx(i) = rx(i) + vx(i)*deltat &lt;br /&gt;
           ry(i) = ry(i) + vy(i)*deltat&lt;br /&gt;
       END DO                                    &lt;br /&gt;
       CALL condicao_contorno(rx,ry)            &lt;br /&gt;
       CALL forcas(rx,ry,fx,fy,e_pot,p)               &lt;br /&gt;
       DO i=1,N&lt;br /&gt;
           vx(i) = vx(i) + 0.5*fx(i)*deltat &lt;br /&gt;
           vy(i) = vy(i) + 0.5*fy(i)*deltat&lt;br /&gt;
           e_cin = e_cin + vx(i)*vx(i) + vy(i)*vy(i)&lt;br /&gt;
       END DO&lt;br /&gt;
       e_cin = 0.5*e_cin        !Energia cinética!&lt;br /&gt;
       END SUBROUTINE&lt;br /&gt;
!---------------------------------------------------------------------&lt;br /&gt;
!    Calcula a função distribuição radial&lt;br /&gt;
       SUBROUTINE fdr(switch,x,y,ngr,delg,dist,g)&lt;br /&gt;
       USE globais&lt;br /&gt;
       IMPLICIT NONE&lt;br /&gt;
       INTEGER :: i,j,k,ig,ngr,switch&lt;br /&gt;
     !  INTEGER :: hist_g(nhis)&lt;br /&gt;
       REAL(8) :: dx,dy,r,r2,delg,vb,nid&lt;br /&gt;
       REAL(8) :: x(N),y(N),dist(nhis),g(nhis)&lt;br /&gt;
       IF (switch == 0) THEN                  !Inicializa!&lt;br /&gt;
           ngr = 0&lt;br /&gt;
           delg = Lx/(2.0*nhis)               !Tamanho do bin!&lt;br /&gt;
           dist(:) = 0.0&lt;br /&gt;
         !  hist_g(:) = 0&lt;br /&gt;
           g(:) = 0.0&lt;br /&gt;
       ELSE IF (switch == 1) THEN             !amostra!&lt;br /&gt;
           ngr = ngr + 1&lt;br /&gt;
           DO i=1,N-1&lt;br /&gt;
               DO j=i+1,N&lt;br /&gt;
               ! Convenção da imagem mínima&lt;br /&gt;
                   dx = x(i)-x(j)&lt;br /&gt;
                   dy = y(i)-y(j)&lt;br /&gt;
                   dx = dx - Lx*nint(dx/Lx)&lt;br /&gt;
                   dy = dy - Ly*nint(dy/Ly)&lt;br /&gt;
                   r2 = dx*dx + dy*dy&lt;br /&gt;
                   r = sqrt(r2)&lt;br /&gt;
                   ig = int(r/delg) &lt;br /&gt;
                   g(ig) = g(ig) + 2&lt;br /&gt;
               END DO&lt;br /&gt;
           END DO&lt;br /&gt;
       ELSE IF (switch == 2) THEN             !calcula g(r)!&lt;br /&gt;
           DO k=1,nhis &lt;br /&gt;
               dist(k) = delg*(k + 0.5)&lt;br /&gt;
               vb = (2*k+1)*delg*delg&lt;br /&gt;
               nid = pi*vb*rho&lt;br /&gt;
               g(k) = g(k)/(ngr*N*nid)   !Normaliza g(r)!&lt;br /&gt;
           END DO &lt;br /&gt;
       END IF&lt;br /&gt;
       END SUBROUTINE&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo_zoom.png&amp;diff=9695</id>
		<title>Arquivo:Pressao tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo_zoom.png&amp;diff=9695"/>
		<updated>2023-04-19T00:44:27Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Pressao tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo.png&amp;diff=9694</id>
		<title>Arquivo:Pressao tempo.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo.png&amp;diff=9694"/>
		<updated>2023-04-19T00:44:07Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Pressao tempo.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Temperatura_tempo_zoom.png&amp;diff=9693</id>
		<title>Arquivo:Temperatura tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Temperatura_tempo_zoom.png&amp;diff=9693"/>
		<updated>2023-04-19T00:43:51Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Temperatura tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Temperatura_tempo.png&amp;diff=9692</id>
		<title>Arquivo:Temperatura tempo.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Temperatura_tempo.png&amp;diff=9692"/>
		<updated>2023-04-19T00:43:31Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Temperatura tempo.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo_zoom.png&amp;diff=9691</id>
		<title>Arquivo:Energia tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo_zoom.png&amp;diff=9691"/>
		<updated>2023-04-19T00:43:12Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Energia tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo_zoom.png&amp;diff=9690</id>
		<title>Arquivo:Energia tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo_zoom.png&amp;diff=9690"/>
		<updated>2023-04-19T00:43:11Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Energia tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo.png&amp;diff=9689</id>
		<title>Arquivo:Energia tempo.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo.png&amp;diff=9689"/>
		<updated>2023-04-19T00:42:48Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Energia tempo.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9688</id>
		<title>Arquivo:Fdr.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9688"/>
		<updated>2023-04-19T00:39:33Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Fdr.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9687</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9687"/>
		<updated>2023-04-19T00:30:39Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|500px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 144, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.2304&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. A temperatura desejada que utilizamos foi de T=1.0. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os últimos 100 instantes de tempo, passo à passo e os últimos 100 instantes de tempo, de 5 em 5 passos de tempo. Quando vemos a simulação passo à passo, estamos olhando para uma visão mais microscópica (mecânica estatística), enquanto estamos vendo a simulação de 5 em 5 passo, estamos observando um comportamento mais macroscópico (termodinâmica).&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo, passo a passo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo, de 5 em 5 passos.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 300 passos da simulação.|500px]]&lt;br /&gt;
Vemos que como o sistema já está equilibrado para uma quantidade de menos de 300 passos, plotamos à direita a série temporal contendo as 300 primeiras medidas para conseguirmos ver o começo da simulação que claramente está fora do equilíbrio.&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 300 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema também já se equilibrou nos primeiros 300 passos e por isso queremos ver o comportamento do sistema fora do equilíbrio no começo da simulação. A partir do equilíbrio, poderíamos utilizar a simulação para calcular propriedades termodinâmicas.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá. Novamente, a pressão equilibra muito cedo e podemos ver que para um tempo menor que 300.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação - Lennard-Jones]]&lt;br /&gt;
&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9676</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9676"/>
		<updated>2023-04-18T23:54:56Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|500px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 144, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. A temperatura desejada que utilizamos foi de T=1.0. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os últimos 100 instantes de tempo, passo à passo e os últimos 100 instantes de tempo, de 5 em 5 passos de tempo. Quando vemos a simulação passo à passo, estamos olhando para uma visão mais microscópica (mecânica estatística), enquanto estamos vendo a simulação de 5 em 5 passo, estamos observando um comportamento mais macroscópico (termodinâmica).&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo, passo a passo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo, de 5 em 5 passos.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 300 passos da simulação.|500px]]&lt;br /&gt;
Vemos que como o sistema já está equilibrado para uma quantidade de menos de 300 passos, plotamos à direita a série temporal contendo as 300 primeiras medidas para conseguirmos ver o começo da simulação que claramente está fora do equilíbrio.&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 300 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema também já se equilibrou nos primeiros 300 passos e por isso queremos ver o comportamento do sistema fora do equilíbrio no começo da simulação. A partir do equilíbrio, poderíamos utilizar a simulação para calcular propriedades termodinâmicas.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá. Novamente, a pressão equilibra muito cedo e podemos ver que para um tempo menor que 300.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação - Lennard-Jones]]&lt;br /&gt;
&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9675</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9675"/>
		<updated>2023-04-18T23:42:33Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|500px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 144, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. A temperatura desejada que utilizamos foi de T=1.0. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os últimos 100 instantes de tempo, passo à passo e os últimos 100 instantes de tempo, de 5 em 5 passos de tempo. Quando vemos a simulação passo à passo, estamos olhando para uma visão mais microscópica (mecânica estatística), enquanto estamos vendo a simulação de 5 em 5 passo, estamos observando um comportamento mais macroscópico (termodinâmica).&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo, passo a passo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo, de 5 em 5 passos.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação - Lennard-Jones]]&lt;br /&gt;
&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao2.gif&amp;diff=9674</id>
		<title>Arquivo:Animacao2.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao2.gif&amp;diff=9674"/>
		<updated>2023-04-18T23:37:55Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Animacao2.gif&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao1.gif&amp;diff=9673</id>
		<title>Arquivo:Animacao1.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Animacao1.gif&amp;diff=9673"/>
		<updated>2023-04-18T23:37:08Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Animacao1.gif&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9672</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9672"/>
		<updated>2023-04-18T23:02:37Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Potencial de Lennard Jones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|500px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 144, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação - Lennard-Jones]]&lt;br /&gt;
&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo_zoom.png&amp;diff=9671</id>
		<title>Arquivo:Energia tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo_zoom.png&amp;diff=9671"/>
		<updated>2023-04-18T22:18:44Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Energia tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Temperatura_tempo_zoom.png&amp;diff=9670</id>
		<title>Arquivo:Temperatura tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Temperatura_tempo_zoom.png&amp;diff=9670"/>
		<updated>2023-04-18T22:15:48Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Temperatura tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo_zoom.png&amp;diff=9669</id>
		<title>Arquivo:Pressao tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo_zoom.png&amp;diff=9669"/>
		<updated>2023-04-18T22:14:36Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Pressao tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo_zoom.png&amp;diff=9668</id>
		<title>Arquivo:Pressao tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo_zoom.png&amp;diff=9668"/>
		<updated>2023-04-18T22:14:12Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Pressao tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo_zoom.png&amp;diff=9667</id>
		<title>Arquivo:Pressao tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pressao_tempo_zoom.png&amp;diff=9667"/>
		<updated>2023-04-18T22:13:15Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Pressao tempo zoom.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9613</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9613"/>
		<updated>2023-04-18T19:29:47Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 144, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação - Lennard-Jones]]&lt;br /&gt;
&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9604</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9604"/>
		<updated>2023-04-18T15:53:30Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Códigos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação - Lennard-Jones]]&lt;br /&gt;
&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9603</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9603"/>
		<updated>2023-04-18T15:53:09Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Códigos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação]]&lt;br /&gt;
&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9602</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9602"/>
		<updated>2023-04-18T15:53:00Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Códigos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
[[Simulação]]&lt;br /&gt;
[[Figuras e animações]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9601</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9601"/>
		<updated>2023-04-18T15:52:41Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
===[[Simulação]]===&lt;br /&gt;
===[[Figuras e animações]]===&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9600</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9600"/>
		<updated>2023-04-18T15:52:02Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
=[[Simulação]]=&lt;br /&gt;
=[[Figuras e animações]]=&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9599</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9599"/>
		<updated>2023-04-18T15:51:38Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Códigos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
==[[Simulação]]==&lt;br /&gt;
==[[Figuras e animações]]==&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9598</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9598"/>
		<updated>2023-04-18T15:50:37Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Códigos ==&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo.png&amp;diff=9597</id>
		<title>Arquivo:Energia tempo.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo.png&amp;diff=9597"/>
		<updated>2023-04-18T15:45:05Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: Gustavobopsin enviou uma nova versão de &amp;amp;quot;Arquivo:Energia tempo.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9596</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9596"/>
		<updated>2023-04-18T15:34:16Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9595</id>
		<title>Arquivo:Fdr.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Fdr.png&amp;diff=9595"/>
		<updated>2023-04-18T15:33:46Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9594</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9594"/>
		<updated>2023-04-18T15:33:28Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ainda calcular a função distribuição radial &amp;lt;math&amp;gt;g(\boldsymbol{r})&amp;lt;/math&amp;gt; para esta simulação.&lt;br /&gt;
|[[Arquivo:fdr.png|thumb|upright=1.0|center|Função distribuição radial.|500px]]&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9593</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9593"/>
		<updated>2023-04-18T15:25:06Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9592</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9592"/>
		<updated>2023-04-18T15:24:43Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|500px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|500px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|400px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|400px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9591</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9591"/>
		<updated>2023-04-18T15:23:07Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: /* Simulação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|400px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|400px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|400px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9590</id>
		<title>Lennard-Jones e propriedades termodinâmicas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Lennard-Jones_e_propriedades_termodin%C3%A2micas&amp;diff=9590"/>
		<updated>2023-04-18T15:20:42Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página apresentamos uma simulação de Dinâmica Molecular utilizando o potencial de Lennard-Jones como potencial de interação entre as partículas.&lt;br /&gt;
&lt;br /&gt;
== Potencial de Lennard Jones ==&lt;br /&gt;
&lt;br /&gt;
O potencial de Lennard Jones representa a interação entre os àtomos ou moléculas. Possui dois termos distintos: um repulsivo devido às forças de troca do princípio de exclusão de Pauli (origem quântica) e um atrativo devido às forças de van der Walls. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; V(r) = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right]. &amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{6}}&amp;lt;/math&amp;gt; é o termo atrativo, enquanto o termo proporcional à &amp;lt;math&amp;gt;\frac{1}{r^{12}}&amp;lt;/math&amp;gt; é o termo repulsivo, muito mais intenso à curtas distâncias. A constante &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; descreve a profundidade do poço deste potencial, enquanto  &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; descreve a posição do ponto de equilíbrio estável. Nas imagens abaixo, podemos ver o comportamento do potencial para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:figura_pot2.png|thumb|upright=0.0|center|Potencial de Lennard-Jones.|400px]]&lt;br /&gt;
|[[Arquivo:figura_pot.gif|thumb|upright=0.0|center|Comportamento do potencial de Lennard-Jones para diferentes valores de &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A força que uma partícula sofre, quando sujeita a este potencial é dada por &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = -\nabla V(\boldsymbol{r}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{F}(\boldsymbol{r}) = 4\epsilon\left[12\frac{\sigma^{12}}{r^{13}} - 6\frac{\sigma^6}{r^7}\right]\hat{\boldsymbol{r}}.&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinâmica Molecular ==&lt;br /&gt;
&lt;br /&gt;
A abordagem da dinâmica molecular se baseia em integrar as equações de movimento newtonianas para todas as partículas do sistema. Abaixo, podemos sintetizar um resumo dos passos para realizar uma simulação de dinâmica molecular.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Inicializar a posição e velocidade das partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Calcular as forças de interação entre todas as partículas do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Integrar as equações de movimento utilizando algum algoritmo integrador.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Medir grandezas físicas, como energia cinética, energia potencial, temperatura e pressão.&lt;br /&gt;
&lt;br /&gt;
A seguir, vamos explicitar cada um dos passos.&lt;br /&gt;
&lt;br /&gt;
=== Inicialização ===&lt;br /&gt;
O primeiro passo é inicializar a posição inicial das partículas. Podemos iniciar a simulação com as partículas distribuídas em qualquer forma que desejarmos, entretanto a forma mais comum de arranjar as partículas é em um formato cúbico ou em um formato triangular. O formato triangular é mais denso do que o formato cúbico. Além disso, a densidade calculada em uma simulação é a densidade numérica, ou seja, quanto de área, ou volume se for em três dimensões, da caixa está ocupada. Esta densidade é calculada como a soma da área ocupada por cada partícula dividida pela area total da caixa. É importante mencionar que as partículas são pontuais, entretanto como o Potencial de Lennard-Jones tende à infinito quanto a distância entre as partículas diminui, cada partícula é como se tivesse um raio efetivo, na qual outra partícula não consegue atravessar. É como se partículas fossem esferas que sofrem colisões umas com as outras.&lt;br /&gt;
Além disso, podemos inicializar a velocidade das partículas de diferentes formas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a)&#039;&#039;&#039; Velocidade nula:&lt;br /&gt;
&lt;br /&gt;
Se dermos velocidade nula para todas as partículas, a simulação vai demorar mais, uma vez que elas começarão o movimento somente devido à distância de interação entre elas. Se elas estiverem muito afastadas, a força entre elas será muito pequena e demorará muito para que o sistema comece a evoluir e equilibrar, que é o nosso objetivo.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b)&#039;&#039;&#039; Velocidade aleatória:&lt;br /&gt;
&lt;br /&gt;
A opção mais utilizada. Ao iniciarmos as velocidades de forma aleatória, as partículas não demoram tanto para interagir e conseguimos identificar a parte não-equilibrada e a equilibrada do sistema.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;c)&#039;&#039;&#039; Distribuição de Maxwell-Boltzmann de velocidades:&lt;br /&gt;
&lt;br /&gt;
Já esperamos que quando o sistema for equilibrar, a distribuição de velocidades das partículas seja a distribuição de Maxwell-Boltzman. Iniciar as velocidades desta forma acelera a simulação de forma significativa, entretanto se você tem algum interesse no sistema antes dele entrar em equilíbrio, você perderá informações sobre.&lt;br /&gt;
&lt;br /&gt;
Conforme veremos a seguir, gostaríamos que o nosso sistema tivesse uma determinada temperatura e como ela é calculada utilizando a energia cinética, podemos reescalar as velocidades para obtermos a temperatura desejada. Isto não é um problema uma vez que a temperaturá vai variar durante a simulação.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo das forças ===&lt;br /&gt;
Esta etapa é a mais custosa do ponto de vista computacional, uma vez que temos que calcular a força sofrida por cada partícula do sistema devido à todas as outras N-1 partículas, e com isso precisamos computar N(N-1) forças. Entretanto, se a interação exercida em i por j for a mesma que a exercida em j por i, então este número cai pela metade. Ainda é possível reduzir o tempo e o gasto computacional se considerarmos apenas as partículas dentro de um &amp;quot;raio crítico&amp;quot; &amp;lt;math&amp;gt;r_c&amp;lt;/math&amp;gt;. Este raio crítico é geralmente tomado como metade do tamanho da caixa. Em nossa simulação, contabilizamos todas as interações pois o número de partículas não é muito grande.&lt;br /&gt;
&lt;br /&gt;
=== Integração das equações de movimento ===&lt;br /&gt;
Uma vez que nós obtemos a força sofrida por cada partícula, estamos preparados para integrar as equações de movimento. Para isso, precisamos escolher algum integrador que atenda à nossas necessidades. O integrador mais adequado aos nossos propósitos é um algoritmo do tipo Verlet. Em particular, utilizamos em nossa simulação o algoritmo de Velocity-Verlet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)=\boldsymbol{v}(t)+\frac{1}{2}\boldsymbol{f}(t)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right)=\boldsymbol{r}(t)+\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{r}\left(t+\Delta t\right) \to \boldsymbol{f}(t+\Delta t)&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\boldsymbol{v}\left(t+\Delta t\right)=\boldsymbol{v}\left(t+\frac{\Delta t}{2}\right)\frac{1}{2} \boldsymbol{f}\left(t+\Delta t\right)\Delta t&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As vantagens desse algoritmo são que ele preserva a área do espaço de fase, é reversível temporalmente, como são as euqações de Newton, conserva a energia para alcances curtos, é de fácil implementação e é rápido. A desvantagem é que ele não é um dos métodos mais precisos. Devemos nos lembrar que a precisão está diretamente relacionada ao tempo e gasto computacional, além é claro, da escolha adequada do algoritmo.&lt;br /&gt;
&lt;br /&gt;
=== Medidas ===&lt;br /&gt;
Nesta etapa, calculamos as grandezas termodinâmicas de interesse. A primeira grandeza relevante é a energia mecânica do sistema, uma vez que gostaríamos de saber se ela está sendo conservada. Para isso, precisamos calcular a energia cinética e a energia potencial do sistema. Naturalmente, a energia mecânica deste sistema será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;E = \frac{1}{2}m(v_x^2+v_y^2) + \sum_{i&amp;lt;J} 4\epsilon \left[ \left(\frac{\sigma}{r_{ij}}\right)^{12} - \left(\frac{\sigma}{r_{ij}}\right)^6 \right].&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra grandeza importante é a temperatura. Podemos calcular a temperatura através da energia cinética utilizando o teorema da equipartição da energia da seguinte forma&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\left\langle \frac{1}{2}mv_\alpha^2\right\rangle=k_BT,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde estamos considerando nosso sistema com 2 dimensões. Como a energia cinética flutua durante a simulação, a temperatura também o fará.A temperatura será&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;T(t)=\sum_{i=1}^N\frac{1}{2}\frac{m_iv_i^2(t)}{k_BN_f},&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;N_f=2N-2&amp;lt;/math&amp;gt; é o número de graus de liberdade para um número fixo de partículas com momento total fixo.&lt;br /&gt;
&lt;br /&gt;
Por último, gostaríamos de medir a pressão do nosso sistema, que será dada por&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;p=\rho k_BT+\frac{1}{dA}\left\langle \sum_{i&amp;lt;j}\boldsymbol{f}(\boldsymbol{r}_{ij})\cdot\boldsymbol{r}_{ij} \right\rangle,&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde &amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; é a densidade numérica, &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; é a constante de Boltzmann, &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a temperatura, &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; é a dimensionalidade do sistema (em nosso caso 2) e &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a aŕea da caixa. Devemos nos lembrar que estamos considerando em nossa simulação &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como sendo 1, pois como ela é uma constante muito pequena, poderia acumular erros numéricos. Setamos &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt; como 1 e todas as unidades das grandezas ficam em termos de &amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Por último, devemos nos lembrar que todas estas grandezas estão flutuando no tempo. Para obter, por exemplo, a temperatura média do sistema, deveríamos fazer uma média sobre todas essas flutuações.&lt;br /&gt;
&lt;br /&gt;
=== Convenção da imagem mímina e PBC ===&lt;br /&gt;
[[Arquivo:imagem_minima.png|thumb|upright=1.1|right|Convenção da imagem mínima.|300px]]&lt;br /&gt;
Existem algumas características que devem ser levadas em consideração quando fazemos uma simulação de dinâmica molecular. Como integrar as equações de movimento requer um poder computacional elevado para muitas partículas, fazemos uma simulação de um &amp;quot;pedaço&amp;quot; do sistema de interesse. Construímos este &amp;quot;pedaço&amp;quot; como uma caixa de lado L e confinamos nossas partículas neste espaço. O número de partículas permanecesse constante e quando uma partícula atravessa a fronteira da caixa, ela retorna do outro lado. Isso simula um sistema infinito. Esta condição de contorno é chamada de condição de contorno periódica (Periodic Boundary Condition - PBC).&lt;br /&gt;
&lt;br /&gt;
Outra característica importante é a convenção da imagem mínima. Esta característica diz respeito à interação entre as partículas. Como cada partícula interage com todas as outras, se a distância entre as partículas for maior do que a metade da caixa, ou seja, L/2, então devemos imaginar que ela vai interagir com a partícula correspondente na caixa &amp;quot;ao lado&amp;quot;. Isso é uma extensão do conceito de sistema infinito discutido anteriormente. Ao lado temos uma figura que esquematiza este conceito.&lt;br /&gt;
&lt;br /&gt;
=== Função Distribuição Radial ===&lt;br /&gt;
Outra grandeza importante é a função distribuição radial (FDR), que nos diz como é a organização local ao redor de um átomo. A FDR é um histograma e pode ser calculada como&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;g(\boldsymbol{r})=\frac{2A}{N^2}\sum_{i&amp;lt;j}\delta(\boldsymbol{r}-\boldsymbol{r}_{ij}),&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
onde A é a área da caixa e N é o número de partículas.&lt;br /&gt;
&lt;br /&gt;
== Simulação ==&lt;br /&gt;
&lt;br /&gt;
Nesta simulação, utilizamos L = 25 e N = 108, onde N é o número de partículas. Neste contexto, obtemos &amp;lt;math&amp;gt;\rho = 0.724&amp;lt;/math&amp;gt; e consideramos a massa das partículas como 1. Inicializamos as partículas em uma rede quadrada e utilizamos um tempo igual à 10000 para que o sistema equilibrasse. Abaixo, mostramos a configuração inicial, os primeiros 100 instantes de tempo e os últimos 100 instantes de tempo. Na primeira animação o sistema ainda não está em equilíbrio, mas na segunda animação sim.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:inicializacao.png|thumb|upright=1.0|center|Inicialização do sistema.|340px]]&lt;br /&gt;
|[[Arquivo:animacao1.gif|thumb|upright=1.0|center|Primeiros 100 instantes de tempo.|340px]]&lt;br /&gt;
|[[Arquivo:animacao2.gif|thumb|upright=1.0|center|Últimos 100 instantes de tempo.|340px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que nos instantes iniciais, as partículas tem mais velocidade&lt;br /&gt;
&lt;br /&gt;
A primeira grandeza importante que devemos calcular utilizando nossa simulação é a energia mecânica e verificar se ela está sendo conservada. Para isso, vamos precisar também calcular a energia cinética e a energia potencial do sistema.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:energia_tempo.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica durante todos os 10000 passos da simulação.|400px]]&lt;br /&gt;
|[[Arquivo:energia_tempo_zoom.png|thumb|upright=1.0|center|Evolução da energia cinética, potencial e mecânica nos primeiros 1000 passos da simulação.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
A seguir mostramos como a temperatura, calculada na seção 2.4, evolui com tempo.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:temperatura_tempo.png|thumb|upright=1.0|center|Evolução da temperatura durante todos os 10000 passos da simulação.|400px]]&lt;br /&gt;
|[[Arquivo:temperatura_tempo_zoom.png|thumb|upright=1.0|center|Evolução da temperatura nos primeiros 1000 passos da simulação.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
Podemos ver que a temperatura do sistema já se equilibrou nos primeiros 1000 passos. Poderíamos, a partir daí, já utilizar a simulação para calcular propriedades termodinâmicas no equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Da mesma forma, podemos calcular a pressão do sistema utilizando a expressão da seção 2.4. Esta expressão depende da temperatura, e como a temperatura flutua no tempo, então a pressão também irá.&lt;br /&gt;
{|&lt;br /&gt;
|[[Arquivo:pressao_tempo.png|thumb|upright=1.0|center|Evolução da pressão durante todos os 10000 passos da simulação.|400px]]&lt;br /&gt;
|[[Arquivo:pressao_tempo_zoom.png|thumb|upright=1.0|center|Evolução da pressão nos primeiros 1000 passos da simulação.|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bibliografia==&lt;br /&gt;
&lt;br /&gt;
D. Frenkel, B. Smit. &#039;&#039;&#039;Understanding Molecular Simulation&#039;&#039;&#039;: From Algorithms to Applications. Academic Press. 2002.&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo_zoom.png&amp;diff=9589</id>
		<title>Arquivo:Energia tempo zoom.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo_zoom.png&amp;diff=9589"/>
		<updated>2023-04-18T15:19:17Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo.png&amp;diff=9588</id>
		<title>Arquivo:Energia tempo.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energia_tempo.png&amp;diff=9588"/>
		<updated>2023-04-18T15:18:50Z</updated>

		<summary type="html">&lt;p&gt;Gustavobopsin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gustavobopsin</name></author>
	</entry>
</feed>