Você está na página 1de 191

ABC

da

Simulação
Computacional

;
ABC

da

Simulação Computacional
José Pedro Rino

Departamento de Física

Universidade Federal de São Carlos

Bismarck Vaz da Costa

Departamento de Física
Universidade Federal de Minas Gerais

EDITORIAL
Copyright O

Capa: Antonio Manuel Alves Morais

Agradecimer

ABC da simul ck Vaz da Costa. F

Queremos expressar nossos pr


tas pelo Dr. Paulo Sérgio Bram:
izaçã

a paralelização de um ódigo
códig sell

Bibliografia
Gostaríamos também de agradezs

ISBN 978-85-7861-203-0 FAPEMIG e FAPESP pelo recem

de nossa pesquisa.

13-04707 CDD-530.15

ISBN:

9.610, de 19 de fevereiro de 1998.

impresso no Brasil

LF Printed in Brazil

Tel./Fax: +55 11 3459-4327 / 3936-3413


EDRORIAL
Agradecimento

Queremos expressar profundos agradecimentos pelas valiosas contribuições fei-


nossos

tas pelo Dr. Paulo Sérgio Branício, principalmente no que se refere ao capítulo dedicado
a paralelizaçãode um código
serial.

Gostaríamos também de agradecer as agências de fomento brasileiras CNPq, CAPES,


FAPEMIG e FAPESP pelo recorrente suporte financeiro que permite o desenvolvimento

de nossa pesquisa.
Sumário

1 Experimentos Computacionais 11

1.1 Introdução. er rr 1

1.2 MonteCarlo......ccclsc 13

1.3 Dinâmica Molecular .....cccccccccccs ca 13

1.4 Propósito e Organização do Livro .....ccccccccccs 14

2 Breve Revisão da Mecânica Clássica 15

2.1 Formalismo Newtoniano .....cccccccicccscrr 16

2.1.1 Leisde Conservação .....ccccciccscc a 16

2.2 Formalismo Lagrangiano ......cccccscccsccc a 19

2.3 Formalismo Hamiltoniano ....i.ccccccccccccc 19

2.4 Equações de Movimento .....cccccccccccs 21

2.5 O Operador de Liouville ....ccccccccccc 21

3 Mecânica Estatística e o Cálculo de Propriedades Físicas 25

3.1 Introdução. ....ccccccclcc rena 25

3.1.1 Mecânica Estatística Clássica ....cccccccssssco. 26

3.1.2 Ensemble Micro-Canônico . ....cccccssicscras 27

3.1.3 Ensemble Canônico ....cccccccsscccc 28

3.2 Propriedades Termodinâmicas ......ccciccccccccc 31

3.3 Propriedades Estruturais .....cccccccccccccccre a 38

3.4 Propridades Dinâmicas ......cccccccccc a 44


8 SUMÁRIO SUMÁRIO

4 Potenciais de Interação. 51 6 Simulando Fora do Ensembix

4.1 Potenciais Descontínuos ....iciccccccccicl A, 52 6.1 Pressão constante corr

4.1.1 EsferaDura 52 6.2 Tensão


ma
..ccccccccc
constante com

4.1.2 PoçodePotencial ...iccccccccccl 53 6.2.1 Aplicação 20 =

4.1.3 Potencial de Sutherland 53


..lcccccccccc
6.2.2 Aplicação 20 zm

4.2 Potenciais Contínuos 54


....iiccccccccc
6.3 Temperatura constami= 2

4.2.1 PotencialdeBon 54
....iccccccicccc
6.4
7

Temperatura constante

4.2.2 Potencial de Lennard-Jones ...cccccccicc 55


7 Monte Carlo em Física Estuí
4.2.3 Potencialde Bom-Mayer ....ccccccccccc 56
71 Integrais multidimens
4.2.4 PotencialdeMorse .....ccccccc 56
72 Quadratura usando mé
4.2.5 Potencial de Buckingham .....ccccccccll 57

4.2.6 73 Cálculo de propriedad=


Potencial de Rahman-Vashishta ....cccccccccc. 58

4.2.7 Potencialde 74 Amostragem seletiva =


+

Tersoff ...iccicccccciccc 58

4.2.8 Potencial de 74.1 Exemplo: gês à


Stillinger-Weber ....ccccccicll 59

4.2.9 Potencial Embedded Atom 7.5 Modelo de Heisenberg


...cicccccccc 60

7.6
4.2.10 Aproximação de Segundo Momento Tight-Binding ....... 62 Algoritmo Wang-Lamiz

4.2.11 Reactive Force Field (ReaxFF) ...iccicccccccc. 63


8 Paralelizando a Simulação
4.3 Outros potenciais .....lccccccclc 63
8.1 Introdução ....

5 Dinâmica Molecular na Prática 65 8.2 Message Passing Interím

5.1 Modelo Físico. .


....ccccc 65 8.3 Conceitos Fundamerca

5.2 Condições de Contorno .....cccccccll 66 8.3.1 Decomposiçã


5.3 Convenção de Mínima Imagem .
...cccccccsccc 69 8.3.2 Identidade escalz

5.4 O Cálculo do Potencial de Interação e Força -

um exemplo ....... 70 8.3.3 Cópia de átom

5.5 Deslocamento do Potencial. ....cicccccccccl 73 8.4 Lista de células encad=al

5.6 Condições Iniciais. .


...cccccclc 74 8.5 Cálculo do potencial =
F

5.7 Juntando os pedaços ....ciccccccccc 79 8.6 Migração entre processa

5.8 Medida de observáveis 79 8.7 Lista de modificações


7

......cccccccccccs

5.9 Escolha do passo de integração .


...cccccccccc 80 8.8 Decomposição espac:
SUMÁRIO 9

6 Simulando Fora do Ensemble Microcanônico 83

6.1 Pressão constante com o método de Andersen ......ccccccc.. 84

6.2 Tensão constante com o método de Parrinello-Rahman ......... 86

6.2.1 Aplicação ao caso de pressão hidrostática . ......ccc.. 88

6.2.2 Aplicação ao caso de tensão geral ......ccccccco. 91

6.3 Temperatura constante usando Nosé-Hoover-Chain .......c... 93

6.4 Temperatura constante pela dinâmica de Langevin . . .....ccc.. 96

7 Monte Carlo em Física Estatística Clássica 99

7.1 Integrais multidimensionais . . ...ccccccccsc 100

7.2 Quadratura usando métodos de Monte Carlo +. ....ccccccc. 100

7.3 Cálculo de propriedades termodinâmicas . +... ..ccccccccc. 102

7.4 Amostragem seletiva e balanço detalhado .....cccccccccc. 103

7.4.1 Exemplo: gás de osciladores . . ....ccccccccc 106

7.5 Modelo de Heisenberg Clássico .....ccccccccccccc ni

7.6 Algoritmo Wang-Landau ....ciccicccccccc sa 124

8 Paralelizando a Simulação 131

8.1 Introdução. ....ccccccs rr aaa 131

8.2 Message Passing Interface (MPT)... . Lc cicccccccc 132

8.3 Conceitos Fundamentais ......ccccccccsccc 137

8.3.1 Decomposição espacial ...icccccciccs e 137

8.3.2 Identidade escalar e vetorial ....i.cccccccccc. 138

8.3.3 Cópia de átomos vizinhos ....cccccccccctcc.


140

8.4 Lista de células encadeadas . . LL ccccscsscc 145

8.5 Cálculo do potencial e Força de muitos corpos . . . . cc... cccc.. 147

8.6 Migração entre processadores. . . ....cccccccccc 148

8.7 Lista de modificações no código serial +... ciclos. 150

8.8 Decomposição espacial . .....cccccccsccc


152
10 SUMÁRIO

8.8.1 Balançodecarga ....cccccccc 152

8.8.2 Minimização da comunição entre os processos ......... 154

8.9 Cálculo de propriedades durante a simulação em paralelo . ....... 154

8.9.1 Distribuição depares ....cccciccc 155

quadrático médio
Capítulo
8.9.2 Deslocamento coeficiente de difusão 155
e ....

1
8.10 Termos utilizados ou traduzidos ....ccccccccccicc

A Programas exemploutilizando chamadas básicas de MPI

B Erros no cálculo das propriedades


Experimentos
B.1 Erros no cálculo das propriedades ....cciccccccicicci

B.2 Erro sobre as médias no


equilíbrio ....cicccccccicicc. 168

B.3 Erro sobre as flutuações... ccccccccl 169


“Nada existe excs

B.4 Erro nas quantidades estruturais ...cccccccccciccc

B.5 Erro nas funções de correlação temporal... ....ccccccc. 169

€ Um pouco da história dos computadores 171

€C.1 Advento do Linha do tempo


1.1 Introdução
computador -

.......ccccccc. 171

Os computadores têm influencixi


tá pelos idos de 1940. Atualme=s

a
ajuda dos computadores. Nm d.

como previsão meteorológica. zmils.

partículas em uma superfície comu


putacional?. Um
experimento zm
meno e a definição de um mod=z>
pode estar em qualquer área dz =»

sões como: física computacion=. qr

e muitas outras. Todas elas têm

cxever o fenômeno de interesse < nm

ss0 damos o nome de simulaçã


jo computador, ou em outras pazes
É=io consiste de um conjunto dz agp

comiorno. Como a aritmética de um

adas devem ser discretizadas


Capítulo 1

Experimentos Computacionais

“Nada existe exceto átomos e espaço vazio, todo o resto é opinião”

Democritus de Abdera

1.1 Introdução
Os computadores têm influenciado nossa vida diária praticamente desde seu nascimento
lá pelos idos de 1940. Atualmente é impossível pensar em ciência ou
tecnologia sem

a ajuda dos computadores. Muito do que se faz em áreas aparentemente tão diversas
como previsão meteorológica, análise de cinética de reações bioquímicas ou difusão de

partículas em uma superfície condutora é o que denominamos: “Um experimento Com-

putacional”. Um experimento computacional começa com a observação de um fenô-


meno e a definição de um modelo adequado para descrevê-lo. O fenômeno de interesse

pode estar em qualquer área da ciência. Atualmente ouve-se com frequência expres-
sões como: física computacional, química computacional, bioinformática, econo-física
e muitas outras. Todas elas têm sua origem no uso de um modelo matemático para des-
crever o fenômeno de interesse e o uso de computadores para sua solução numérica. A
isso damos o nome de simulação computacional -

representar com através


semelhança
do computador, ou em outras palavras, o experimento computacional. Em geral o mo-

delo consiste de um conjunto de equações sujeitas a condições iniciais e condições de


contorno. Como a aritmética de um computador é discreta, as equações a serem resol-
vidas devem ser discretizadas. As soluções do problema são dadas na forma de uma
CIETEA

12 Experimentos Computacionais ci + a

tabela de valores que descrevem a evolução do sistema ou alguma grandeza pertinente


ao fenômeno que procuramos estudar. As vantagens de uma simulação computacional
não só testar descrever fenômenos )
são inegáveis. modelos MR CBR
Ela permite propostos para ÃO
am

impossíveis de
DO

também são difíceis são obter aterro

dados ou ou se
naturais, como gerar que

experimentalmente. Simulações sob condições extremas de temperatura e pressão são É importante szb=ICE
ca

são muitas
que podem ser providos pela simulação
e vezes
exemplos de resultados que

impossíveis de serem obtidos em laboratório.


codeasaçã En ke

Grosso modo, podemos separar as propriedades de interesse de um dado fenômeno em

são do tempo, estados vibracionais, coeficiente de di-


grandezas que dependentes como
.
Fo
Nini
= sie

fusão e fator de estrutura dinâmico, daquelas que são independentes do tempo, como LO am Ê

métodos simulação Dinã-


pressão, propriedades elásticas do material, etc. Dois de -

mica Molecular (DM) e Monte Carlo (MC)


-

são métodos computacionais básicos para É de BE

descrever tais propriedades. Enquanto a DM consiste em integrar as equações de mo-


no 2 OR É e”

vimento o sistema em estudo, e, portanto, como resultado as variáveis dinâmicas


para )

como função do tempo, o MC consiste em resolver uma equação Master para o sistema.
de onde
Como resultado, obtêm-se possíveis configurações independentes do tempo,

obter propriedades desejadas. Ambas são técnicas poderosas dentro de CISPLEIÇA e


se podem as EuDo 2

difusão
suas áreas de competênciae em muitos casos de sistemas complexos, como em

superfícies,colisões de sistemas de muitos átomos, modelos magnéticos de spins e es-


tudos polímeros,
de as únicas são técnicas capazes de fornecer resultados quantitativos,
comparáveis a experimentos.

As técnicas de MC e DM remontam aos meados do século passado, coincidindo com

o desenvolvimento dos primeiros computadores. De lá para cá a velocidade dos com- a TE ET

aumentou de forma linear, mas o desenvolvimento de novos algoritmos fez é MOrRRÍNCS a)


putadores egTas

necessário se obter as propriedades físicas de interesse caísse de cao ou


com que o tempo para e

áreas se expandissem
forma exponencial. Este rápido crescimento fez com que muitas Espaço GE CONEM um

acelerada. Um grande exemplo é solução da equação de Navier-Stokes para


RO

de forma a CSPaço de i2se ii

antecedên-
simulação do tempo, que permite a previsão quase exata, com vários dias de caça À

cia.

há mais de meio século por Metro-


A primeira simulação computacional foi realizada “
> E

al.
13 Dinamica Da
polis, Rosenbluth, Rosenbluth, Teller, and Teller (Metropolis, Rosenbluth et 1953), ]

que desenvolveram um método que hoje é conhecido como algoritmo de Metropolis


=
O método

o
Ip

para o método Monte Carlo (Metropolis and Ulam 1949). permite explorar E pl
a

médias de
configurações do isto, calcular mens o
aleatoriamente o espaço das sistema e, com
a

método não cálculo Para um


quantidades termodinâmicas
tas
importantes. Infelizmente o permite o »

quantidades dependentes do tempo (apesar do método


ms

Kinectic Monte Carlo se DRÇÃãoO ie


de pro- à

tipo de cálculo). Quase simultaneamente ld


por a incorporar a dependênciatemporal
partie
neste ade

desenvolveram-se as primeiras simulações de DM., que abordaram o estudo de esferas


1.2 Monte Carlo 13

rígidas (Alder and Wainwright 1956), danos radiação no cobre


causado por (Gibson,
Goland et al. 1960) e o estudo do líquido argônio (Rahman 1964). A partir de então a

simulação computacional é parte importante e indispensável no estudo dos problemas


da Natureza.

E importante salientar que esses métodos são extremamente gerais, tendo sido aplicados
no estudo dos mais variados fenômenos, tais como sólidos, líquidos, meios granulares,
endentação,impacto, sistemas magnéticos,bolsa de valores, etc.

1.2 Monte Carlo

Métodos de Monte Carlo exploram o espaço de configurações de um sistema para deter-

minar a média de equilíbrio de uma quantidade A segundo a prescrição

<A> =

[aids
sendo a distribuição de probabilidade P(x) dada por

. e ElxhkBT
Pgj= O

e
E(x) representando a energia do sistema com configuração (x). Em geral, a média
não pode ser avaliada analiticamente. Uma alternativa é avaliá-la numericamente usando

algum procedimento de quadratura de diferenças finitas. No entanto, o número de in-

tegrais é normalmente proibitivo, tornando impossível qualquer tentativa nessa direção.


Os métodos de Monte Carlo procuram estimar as médias fazendo visitas aleatórias ao

espaço de configuraçõesdo sistema. Existem formas muito eficientes de fazer essa busca
no espaço de fases. Dois algoritmos, Metropolis e Wang-Landau, serão discutidos no

capítulo7.

1.3 Dinâmica Molecular

Essencialmente a técnica de DM consiste em integrar as equações de movimento para


o modelo, juntamente com as condições de contorno e condições iniciais do problema.
Para tanto, a evolução do sistema é feita em passos discretos de tempo. Conhecendo-
se a função energia potencial V(x) obtém-se as forças, FP(x) =
—VV(x), atuando em

cada partícula. De posse das forças, obtêm-se as velocidades e as posições em cada


instante de tempo. Apesar de todo o desenvolvimento tecnológico, de arquitetura de
14 Experimentos Computacionais

software e hardware, as simulações de DM ainda se restringem a tempos muito curtos

quando comparados com a realidade (sistemas não muito complexos contendo algumas
milhares de partículas podem ser simuladas ao longo de alguns microssegundos). No

entanto, alguns métodos relativamente recentes, tais como hiperdinâmica, dinâmica de

réplicas paralelas, dinâmica de temperatura acelerada e Monte Carlo Cinético, podem


alcançar tempos de simulação muitas ordens de magnitude mais longas do que os méto-

dos

al.
convencionais, com a vantagem de reter todo detalhe atômico (Voter,
técnicas.
Montalenti

Detalhes
et
Capítulo 2
2002). Resultados surpreendentes podem ser obtidos com essas

de algoritmos e usos em diferentes ensembles serão discutidos nos capítulos


5 e 6.

Breve Revisã
1.4 Propósito e Organização do Livro

Quando resolvemos escrever este livro, pensamos principalmente em um texto com o


Clássica
qual o leitor pudesse, imediatamente, “botar a mão na massa”, sem ter que se perder em

demonstrações exaustivas de existência ou de convergência de métodos. Os dois pri-


meiros capítulosformam uma revisão rápida e prática de alguns conceitos em mecânica,
mecânica estatística e termodinâmica. O leitor mais experiente pode saltar esses capítu-
los sem prejuízo do resto. No capítulo 4 introduzimos a ideia de potenciais de interação “Toda arte, Lis

e seu uso para simular alguns sistemas. No capítulo 5 usamos os conceitos introduzi-

dos anteriormente para, na prática, estudarmos alguns problemas clássicos em Dinâmica

Molecular, usando o ensemble micro-canônico. No capítulo 6 alguns métodos mais so-

fisticados são introduzidos, permitindo trabalhar em ensembles onde o sistema não está
mais isolado. Finalmente, no capítulo 7 o método de Monte Carlo é apresentado. No
“Mecânica analítica, dinâmicz
capítulo 8 são fornecidos os conceitos básicos para a paralelização da simulação. Exem- movimento de corpos materizs.
1

plos de uso de técnicas de Metropolis e Wang-Landau são dados. Os capítulos que se


formando a base outras im
para
referem às técnicas de simulação são recheados com exemplos e partes de programas
exística. Neste livro tratarermos «x

em FORTRAN, dos pontos chave. Os programas ou sub-rotinas são escritos de ma-


gue fenômenos quânticosnão subi

neira simples, às vezes não muito econômica para não prejudicar o entendimento do
força e trajetória no espaço dz zm

algoritmo. sica e a descrição do movimes

revistos em vários livros text:


sein, (Goldstein 1980), Simor
1995), dentre outros. Atuaim=mm

=ica, como proposta por Nev


d= problemas mais complex.
Eretamente de um formalismo LL

procedimento para estabelc==

fazer uma recapitulaçãode zm


Capítulo 2

Breve Revisão da Mecânica

Clássica

“Toda arte, toda educação,pode ser meramente um suplemento à

Natureza”

Aristóteles

Mecânica analítica, dinâmica ou simplesmente mecânica é o ramo dafísica que trata do


movimento de corpos materiais. Ela contém os conceitos mais fundamentais da física,
formando a base para outras áreas como eletrodinâmica, mecânica quântica e física es-

tatística. Neste livro trataremos exclusivamente da mecânica clássica, ficando entendido

que fenômenos quânticos não serão considerados. Conceitos básicos, tais como massa,

força trajetória
e no espaço de fase são necessários para a formulação da mecânica clás-
sica e a descrição do movimento de corpos e/ou partículas. Esses conceitos podem ser
revistos em vários livros textos, como por exemplo, A. Chaves, (Chaves 2001) H. Golds-
tein, (Goldstein 1980), Simon, (Simon 1971) Marion e Thornton, (Marion and Thornton
1995), dentre outros. Atualmente é consenso que a formulação matemática da mecã-

nica, como proposta por Newton, tornou-se não apropriada, principalmente ao tratarmos

de problemas mais complexos. Existem muitos livros que derivam a mecânica clássica

diretamente de um formalismo Lagrangiano (ou Hamiltoniano). No entanto, como um

procedimento para estabelecer uma melhor compreensão da mecânica, é interessante

fazer uma recapitulaçãode ambos os métodos. As próximas seções serão dedicadas a

isso.
Breve Revisão da Mecânica Clássica 2.1 Formalismo Newtoniams
16

2.1 Formalismo Newtoniano a força total no sistema serí

O formalismo newtoniano é baseado em três leis definidas como segue:

1. Lei de inércia -

Um corpo continua em seu estado de repouso ou em movimento


equações Eq. &.
+

estando as
força ex-
=

com velocidade constante e uniforme a menos que esteja sujeito a uma

terna; No
LA
proporcional à mag-
é i=
2. Lei de força -

A taxa de variação do momento de um corpo


nitude da força externa agindo sobre ele e ocorre na direção dessa força; (embora o

e=do P o momento linear 1-cat é

desde o século 19 físicos venham debatendo se esta é realmente uma lei ou uma

mera definição) (Hacyan 2006) Para um sistema isolado, =. zum

ooestante de movimento, 1.«

reação forças entre são


3. Lei de ação e As dois corpos iguais em magnitude e em
-

direções opostas. quantidade importari=


Petra

amgular em relação à origem À

Das leis de Newton, o movimento de um sistema de N partículas pode ser obtido da

solução de um conjunto de N equações vetoriais de movimento dadas por

dpi(t) ) -

Pl
.

=PB()=F, i=1,2,3,..N. (2.1) a


partir da Eq. (2.1) poder

Se a massa do corpo não variar com o tempo, então Ex E=ies

dpi(t) dFi(t) > D=mi;ã:


j
o sa equação relaciona a vz

1,2,3,....N. 2.2
(2.2)
miPilt)
e


Oi, ! =
=
Mi
dt a? sosição da partícula com a ior

oque. Em síntese, a taxa d= um

2
=
=
-
. ao tor que sobrere ela.
função
-

Se F for uma da posição somente, F'(x,y, Z), as equações acima representam


equações diferenciais cujas soluções resultam
de nas coordenadas
segunda ordem da D torque total sobre o sistem

partícula como função do tempo, dependendo das condições iniciais, sendo chamada de

equação de movimento. Para um sistema de N partículas são necessárias, portanto, 6N


do sistema.
condiçõesiniciais para se determinar completamente o movimento

seja, a variação do mom

interna exten=.
Conservação
29
2.1.1 Leis de esto quanto
caso anterior, quando discum
é
Em uma situação mais geral, podemosdizer que a força total agindo em cada partícula Para que isso ocorra nec

do sistema é composta de duas partes: uma devido à interação mútua entre os constituin- centrais, isto é, forças dirisaiz
tes do sistema (forças internas) e outra devido à interação com o meio externo (forças Supondo que as forças sejam es

externas), isto é:

E-1=F; Ftinteração)
(externa) J
-
F;

1
.
(2.3)
.
Newtoniano 17
2.1 Formalismo

sistema será, de acordo 2* Lei de Newton, dada


A força total no pois, com a por:

1 =
MI
=
m(externa)
F- i
.
(2.4)
II m | m

Juntando as equaçõesEg. 2.4 e Eq. 2.1, obtemos

(externa) Lap) dé do.

ye
e. — —

(2.5)
F, —

Pio) a
— .

di:

sendo P o momento linear total do sistema.

não qualquer força externa, P será uma


Para um sistema isolado, e, portanto, sujeito a

constante de movimento, i.e., o momento linear total do sistema é conservado.

Outra quantidade importante é o momento angular. Para cada partícula i o momento

é definido
angular em relação à origem do sistema de coordenadas por:

L; =
Fi X mi; FP. (2.6)

A partir da Eq. (2.1) podemos escrever

-
dit) d Jo
d;
tixfi=ixm—+
i i i i
dt
=—

dt
((Bxmri(t))=——
i il )) i
dt
( 2.1 )

Esta equação relaciona a variação do momento angular ao produto vetorial do vetor


quantidade, (F x F), damos o nome de
posição da partícula com a força sobre ela. A essa

de variação do de partícula, i, é igual


torque. Em síntese, a taxa momento angular uma

ao torque sobre ela.

O torque total sobre o sistema é obtido somando-se sobre todas as partículas


N
o dl al 2.
nxh (2.8)
dr “ar

Li
=

& «

é igual à dos torques,


variação do total soma
ou seja, a momento angular com o tempo
sobre sistema. Observe em contraste com o
tanto interna quanto externa, agindo o que
momento linear, forças internas não se cancelam.
caso anterior, quando discutimos o as

Para que isso ocorra é necessária uma condição mais restritiva: as forças devem ser

centrais, isto é, forças dirigidas ao longo da linha que une os centros das partículas.
Supondo que as forças sejam centrais a equação acima se reduz a

rna di
vas z x
(e o (2.9)
>

Breve Revisão da Mecânica Clássica 2.2 Formalismo Lagrargiur


18

sistema estiver isolado, não haverá forças externas e, portanto, a va- 2.2 Formalismo pr
Novamente, se o

riação do momento angular total com o tempo é nula, ou, L constante. O momento
=

do sistema é, de movimento. já
fes

angular total portanto, uma constante Como apontamos acim= z

geral dos sistemas físicos. Fast

Forças conservativas
.

forças conservativas.
:

fimo
partícula atue força F. trabalho reali- sistema
on

Podemos calcular um Qua


Suponha que sobre uma uma o
nsidere
zado por essa força como ca á e uma
função
deTndiada

potencial, isto é, £= E. —! ;
of
2. 2
dê; 1 nor
exemplo, A. Chaves
o

m— di
-[ mf
r

(2.10)
/ F. dy; =

1 1 dt 2 í 1095.

O trabalho feito sobre a partícula é dito estar armazenado no sistema como energia
cinética da partícula i, definida como Ec =
ami;rZ. Somando sobre todas as partículas . e

sesmlta nas equações de Lacres


do sistema, obtemos:

:2 io

2N 2 N q


dt; | 2) all)

/ L Firo dr;
DM) «df; ' Ti Ec! Ec", 2.141
2.11)
—-

L+
= é co
mi ,
g== são N equações de sezumôm;

em E? e ES são as energias cinéticas totais, respectivamente final e inicial, do ma propriedade surprecna-


que
diferencial mesma forma, qualquer
F?. | F; d7; pode uma
ue

como
a

sistema. Em certos casos o termo -


ser expresso
1980; Marion and Thornton 1995), sendo U (r;) uma sgzações e lembrando que
exata [dU] (Simon 1971; Goldstein
função somente das coordenadas (x;,y;,Z:). Neste caso, o trabalho realizado pela força F
é independente do caminho seguido pelas partículas, dependendo somente dos estados

inicial e final. Tais sistemas são ditos conservativos e, assim, podemos escrever:

f
umndo U((g;)) a energia pormd,
fo
w=
[ i
Far
| i
VU .dr edas.

Em tintos casos às equação


É —VU. integral pode ser imediatamente feita resultando em
U U;. Lem-

sendo = A A
. :

fã -

ra om

porque é muito mais té-

brando que W =
E,; E. y podemos escrever
-

coordenadas apropriado do cm

Esmo Lagrangiano está bases


vO ED =) + EP =
Erval, (2.12)
formulação de Newton está hsm

onde interpretamos Erorai como sendo a energia total do sistema, que é mais uma gran-

deza conservada.

3
Formalismo H==
e

2.3
A importância do conceito de energia está no fato de que todas as propriedades de um

sistema físico, em particular de um sistema mecânico, podem ser obtidas especificando-


cinética questão. No formalismo Lagrangiano.
funções correspondentes às energias potencial do modelo
e em :

se as

gas coordenadas generalizad=:


Este será o assunto das próximas seções.
2.2 Formalismo Lagrangiano 19

2.2 Formalismo Lagrangiano

Como já apontamos acima, o formalismo lagrangiano permite um tratamento muito mais

geral dos sistemas físicos. Faremos uma rápida revisão deste formalismo para o caso de

forças conservativas.

Considere um sistema físico qualquer com coordenadas e velocidades generalizadas


q e q e uma função definida como a energia cinética do sistema menos sua energia
potencial, isto é, £ =
Ec —

U. O princípio de mínima ação aplicado a essa função (ver,


por exemplo, A. Chaves, (Chaves 2001) Marion and Thornton (Marion and Thornton
1995))
1

of c(d,ãJár=o0,
,
8s =

resulta nas equações de Lagrange

4 o€ E,dai i=1,2,..,N
di ldã)
que são N equações de segunda ordem e correspondem às equações de movimento de

Newton.

Uma muito útil das equações de Lagrange é que ela têm


propriedade surpreendente e
a mesma forma, qualquer que seja o sistema de coordenadas utilizado. A partir dessas

equações e lembrando que


w=

£=55
O] lmdi-UMa))]
i Il
(2.13)

sendo U((q;!) a energia potencial de interação, as trajetóriaspodem, em princípio,ser


obtidas.

Em muitos casos as equações de Lagrange são mais úteis do que as equações de New-

ton porque é muito mais fácil escrever a expressão da energia potencial no sistema de

coordenadas apropriado do que conhecer todas as várias forças presentes. O forma-

lismo Lagrangiano está baseado nas energias do sistema (funções escalares), enquanto a

formulação de Newton está baseada nas forças (vetores) que atuam no sistema.

2.3 Formalismo Hamiltoniano

No formalismo Lagrangiano, função Lagrangiana


a é uma função explícita do tempo e

das coordenadas generalizadas. É possível introduzir uma outra formulação através de


o

20 Breve Revisão da Mecânica Clássica 4 Equações de Movimento

uma transformaçãode Legendre, em que a função de interesse seja uma função explícita 24 Equações de Movim
das coordenadas e momentos generalizados.
s

equações de movimento parz ms

Se definirmos os momentos generalizados, p;, conjugado às coordenadas generalizadas meme para alguns casos muito param.
gicomo E=vem ser feitas de forma aprox-zmi.
d£ gemimos de integração para as som.

p=>D" k=1,2,...,3N, (2.14) Tusõ


dák Lesher et al. 1969; Allen and

=s observados na escolha do alzores


a função Hamiltoniana, H =
H(g;, D;) característica do sistema é obtida como nos:

versibilidade no tempo. Às zm

H =
H(Gi,Di)
Ema E(gi, Gi,t). (2.15) 7==

acurácia
algoritmo

das
numérico

trajetóriaspara lomz
de integral.

Uma diferença importante entre a formulação Lagrangiana e a Hamiltoniana é que a

primeira é uma função das velocidades e generalizadas, enquanto a Ha-


coordenadas Garantia de conservação da enem

miltoniana é uma função dos momenta generalizados e das coordenadas conjugadas empos de simulação
;

canônicas.
Comservaçãodo volume no espa
== o volume do espaço de fase imn)us
Nos casos em que a energia cinética for uma função quadráticanas velocidades e a ener-
pemservam o espaço de fase e. poros
gia potencial uma função somente das coordenadas generalizadas o importante resultado

Esodos que respeitam os pré-r=27


H=E +U =
energia total 'T

=ckerman, Berne e Marthyna

Fm
=
1996; Landau and Krech 1595.
Lee e: al. 2005) que mostraram >om
pode ser demonstrado.
Liseville da mecânica clássica.
Se a Hamiltoniana não tiver uma dependência explícita do tempo, então SL = 0. Após
algumas manipulações matemáticas com a definição de H e com o fato Je H não ser

do tempo, equações de movimento do sistema são obtidas 25 O de Lim


explicitamente dependente as
Operador
como

s»dere um sistema clássico com

py k=1,2,...,3N. (2.16)
coordenadas
1

Espenda de todas as :

Espenda do tempo somente impli rms

A princípio estas equações representam uma vantagem na formulação, pois são equa- mmporal de f é dada por

ções de primeira ordem em contraste com as equações de Lagrange, que são de segunda a

ordem. Sob o ponto de vista de se obter as soluções numéricas das equações de movi- di
mento, isso é irrelevante. Estas são as chamadas equações de Hamilton, formando um

sistema de 6N equações diferenciais de primeira ordem acopladas (Simon 1971; Golds- D=$me-se operador de Liouville c

tein 1980; Marion and Thornton 1995). Os sistemas que satisfazem tais equações terão

sua energia total conservada.


2.4 Equações de Movimento 21

24 Equações de Movimento

As equações de movimento para um dado sistema só podem ser integradas analitica-


mente para alguns casos muito particulares. Na grande maioria dos casos as integrações
devem ser feitas de forma aproximada ou numérica. Apesar de existirem inúmeros al-

goritmos de integração para as equações de movimento veja por exemplo (Carnahan,


-

Luther et al. 1969; Allen and Tildesley 1987; DeVries 1994) -

alguns cuidados devem


ser observados na escolha do algoritmo de integração, que deve se basear nos seguintes
critérios:

Reversibilidade no tempo. As equações de Newton são reversíveis no tempo de modo

que o algoritmo numérico de integraçãotambém deve sê-lo;

Acurácia das trajetóriaspara longos tempos de simulação;


-

Garantia de conservação da energia e de outras quantidades conservadas após longos


tempos de simulação ;
-

Conservação do volume no espaço de fase. Uma dinâmica realmente Hamiltoniana


tem o volume do espaço de fase inalterado. Algoritmos temporalmente irreversíveis não

conservam o espaço de fase e, portanto, devem ser evitados (Tuckerman, Beme et al.

1992).

Métodos que respeitam os pré-requisitosacima foram desenvolvido por vários autores

(Tuckerman, Berne e Marthyna (Tuckerman, Berne et al. 1992; Martyna, Tuckerman et

al. 1996; Landau and Krech 1999; Frenkel and Smit 2002; Tsai, Krech et al. 2004; Tsai,
Lee et al. 2005) que mostraram como derivar um algoritmo partindo da formulação de
Liouville da mecânica clássica.

2.5 O Operador de Liouville

Considere um sistema clássico com N partículas interagentes. Seja f uma função que
dependa de todas as coordenadas e momenta das N partículas que compõem o sistema e

dependa do tempo somente implicitamente,f =


f(71,F2,...Fw,D1,D2...-Dn). À derivada
temporal de f é dada por

df a 4 90f 4 OFf
= (2.17)
a ETA+
Define-se operador de Liouville como

(2.18)

22 Breve Revisão da Mecânica Clássica 25 O Operador de Liouvills

Dessa forma, derivada temporal de f pode formalmente escrita como expià &

a ser

= af =iLf.
LS 2.1
(2.19)
f= = J&a prática, a expansão é truncada

Pelo menos formalmente podemosresolver a equação para obter


expiá E

FP (0,5 (0)] =
e fr" (0), 5" (0))). (2.20)
Usamos esta aproximação nz

A solução de f para qualquer tempo t só será conhecida se o lado direito da equação de


acima for conhecido, ou seja, após integrar todas as 3N equações clássicas de movi-
é conhecida
du]
mento. Somente em alguns casos simples a solução formal explicitamente.

Considere o caso em que o operador de Liouville é dado por toy

o ul
il, =
*(0)5= (2.21)
om A =1/é. Computacionsizus
Loowville. Sabendo-se
solução
as conca;
sendo que 7(0) é o valor de 7 em 1=0. Substituindo este operador de Liouville na

série de obtém-se pode-se calcular f para um ines


formal de f (Eq. 2.21) e expandindo a exponencial em Taylor

f(1) =
el f(P'(0), 5” (0))] = er f(0) fes
2
(iL,
=
f(0) +iL t f(0) +
Tof(O+..=
=
expfr(0)to/o7]f(0)
O) resultado de tal propagaçã
ce
(Ho) or
comhecimento de f no insiame 4

momentos com a aplicação do mms

rI(HO)+ HO)" 7" (O), (2.22)


LM A
Cs

ou seja, o efeito da aplicação de exp(iL,t) em f resulta simplesmente em uma translação Esse resultado é dz
seguido zm

das coordenadas. ar
ilrA

De forma análoga, ao considerar operador de Liouville seja dado



se um que por

Lp 50)
.
à
(2.23)
+ rirop',
(D(0) =

55»
propagação
ex

. Emalmente, a dz

ão do
sua aplicação em f resultará em uma translaçãodos momenta. Nocaso operador
geral, o novamente operador «

de Liouville é a soma de iL, + iL,. Neste ponto surgem algumas dificuldades, pois os
operadores iL, iL, e não comutam, não podendo, portanto, ser fatorados como o produto ;

4/2Der
go po
-

de duas exponenciais, isto é,

exp(A+B) £ exp(A).exp(B).

de Trotter
=fI(HO)-s
Esta dificuldade pode ser contornada considerando a identidade (Trotter 1959):
2.5 O Operador de Liouville 23

exp(A+B) = lim
p.,.. (418eB/5PE) 5, (2.24)

Naprática, a expansão é truncada em algum valor suficientemente grande de É, de modo

que
0B/€ E ONE),
exp(A+B) =

(es ARE)
Usamos esta aproximação na solução formal da equação de Liouville,
A iLpt t2nO am
O
,-—— = 2

D(0)== =
AD(0)-=,

é
B il
Lt 2 3
ds AS

com A =1/€. Computacionalmente procura-se por soluções discretas da equação de


Liouville. Sabendo-se as condições iniciais [7'(0),p”(0))|(e consequentemente f (0)),
pode-se calcular f para um incremento de tempo A =
1/É,isto é,

FIA), DM(A)] MA ir" (0). 5"(0))]


=

=
eiLp8/2 piLrApiLpA/2(0).

O resultado de tal propagação, nas coordenadas e momentos do sistema, resultará no

conhecimento de f no instante A posterior. Inicialmente fazemos uma translação nos


momentos com a aplicação do operador e'L»4/2em f (0), ou seja,

eilps/? FF (0), BM
(O) = FIO),
(50)5(0)) +

Esse resultado é seguido de uma translação das coordenadas com a aplicação do opera-
dor eilrá
N N

es ritop
(D+ 50)) 1 =

ri) + sam, (D10)+


350)|
e, finalmente, a propagação de f em um incremento de tempo se completa com a aplica-
ção novamente iLp 4/2
do operador e na expressão acima, ou seja,

ela fI(7(0) +aHA/2)",


(50)5(0))I= +

=
f
o + AFA, (200 +
24 Breve Revisão da Mecânica Clássica

Algumas observaçõesimportantes podem ser feitas quanto ao desenvolvimento acima.


O deslocamento em 7 é uma função somente de p, pois 7 P/m, enquanto um desloca- =

mento em p é uma função somente de 7, pois p F (FN)é a força sobre a partícula. O =

Jacobiano da transformaçãode
(7(0)”,p(0)" | em (F(A)”,(A) ) é simplesmente o
produto do Jacobiano das três transformaçõeselementares. Como o Jacobiano é unitá-
rio em cada caso, o Jacobiano total também é unitário, ou seja, o
algoritmo preserva o

volume do espaço de fase (Frenkel and Smit 2002).


Capítulo 3
Essa decomposiçãodo operador de Liouville, iL, como a soma deiL, e
iL, é comple-
tamente É possível fazer
arbitrária. outras decomposiçõesque levem a algoritmos mais

convenientes.(Tuckerman, Berne et al. 1992; Martyna, Tuckerman et al. 1996) Outro


fato importante é que o uso da expansão de Trotter permite obter o chamado algoritmo de Mecânica Est
passos de tempo múltiplo (multiple-time-step algorithm), o qual permite tratar de forma
eficiente sistemas com diferentes tempos de resposta, como, por exemplo,sistemas com

vínculos dinâmicos. Para simulação computacional um fato muito


a relevante é que o
de Propriedas
algoritmoresultante seja facilmente paralelizável (Martyna, Tuckerman et al. 1996).
Assim, a partir do conhecimento das condições
iniciais de posições e velocidades, (0),
DN(0))|, podemos aplicar o método acima para gerar um importante algoritmo capaz de
calcular a evoluçãotemporal dos momentos e coordenadas.

“Devo primeiramente izr=


(0)+ 550)SD(A) +
é minha intenção menos
pelo raciocínio por que
[F(0) +F(4)
«
uz!

(2.25)
E essa é a regra verdadera.

0) => H(4) =H0)+ 554)


=F(0) + AMA)+ SF(0), (2.26)

Esse é o algoritmo de velocidade de Verlet, (Verlet 1967; Swope, Andersen et al. 1982),
3.1 Introdução
que é temporalmente reversível volume do espaço de fase
e preserva o (Tuckerman,
Berne et al. 1992; Martyna, Tuckerman et al. 1996; Frenkel and Smit A mecânica estatística tem cor
2002).
sistema macroscópico diretames
mente de como ou quandoo sisz:

tica descrever o que é c


procura

Existem vários e excelentes 1:

volvimento da mecânica estarísum=

Huang,(Huang 1987) Reif,(Rei


remos somente o essencial parz x
Capítulo 3

Mecânica Estatística e o Cálculo


de Propriedades Físicas

“Devo primeiramente fazer alguns experimentos antes de prosseguir, pois


é minha intenção mencionar aexperiênciaprimeiro, e, então, demonstrar
pelo raciocínio por que tal experiência é obrigada a operar de tal maneira.
E essa é a regra verdadeira que aqueles que especulam sobre os efeitos da
Natureza devem seguir”

Leonardo da Vinci, c. 1513

3.1 Introdução
A mecânica estatística tem como objetivo equilíbrio de um
derivar as propriedades de

sistema macroscópico diretamente de suas propriedades microscópicas. Independente-


mente de como ou quando o sistema pode ser achado em equilíbrio, a mecânica estatís-
tica procura descrever o que é o estado de equilíbrio.

Existem vários e excelentes livros que discutem em aplicações e


detalhe as o desen-

volvimento da mecânica estatística. Veja, por exemplo, McQuarrie,(McQuarrie 1976)


Huang,(Huang 1987) Reif,(Reif 1965) dentre vários outros. Neste capítulo, apresenta-
remos somente o essencial para uso neste livro.
26 Mecânica Estatística e o Cálculo de Propriedades Físicas 57 Introdução

3.1.1 Mecânica Estatística Clássica mo um fluido incompressível. A der

esgenadas
generalizadas através dem

Considere um sistema composto por um número, N, muito grande de moléculas, ocu- micitamente do tempo, de modo
pando um volume 2 de modo que O — ce N — co
tal que
dp
ot
=jo =
V= constante

Dessa forma, o ensemble descrito 7

sendo v, o volume específico, um número finito. Consideramos que um sistema é


isolado quando sua energia é uma constante do movimento. O estado do sistema é
31.2 Ensemble Micro-Carim
definido de forma única por suas 3N coordenadas canônicas e 3N momentos canôni-
cos: (g1,92,-:-,93N; P1,P2,...,Pp3n). Sua dinâmica é completamente especificada pe- à
mecânica estatística clássica funizms
las equações de Hamilton conforme apresentado no cap. 2 (veja egs. 2.16), isto é

oH .
9H (mando um sistema macroscópicc
di
=
—Di (3.1)
E da à» são igualmente prováveis de ser =

=s

condiçõesmacroscópicasdo sist=mmm
Classicamente, o espaço formado por estas 6N variáveis define o espaço de fase, T, do
Esse postulado implica em
sistema. Cada ponto nesse espaço representa um estado microscópico do sistema, o qual
chamamos de ponto representativo. O lugar geométrico de todos os pontos no espaço
Ir, satisfazendo H(p,q) =
E, define uma superfície de energia E. Quando o estado do p(p,q) =

sistema evolui no tempo, de acordo com a


Eg. 3.1, o ponto representativo descreve um

caminho sobre a
superfície de energia constante. Macroscopicamente podemos carac-

terizar o sistema por seu volume 9, o número de partículas, N, que o compõe, e pelo Ea escolha de p define o ensemibu =

intervalo de
energia, E e E + AE, ao qual está restrito. Um número infinito de estados » ensemble é o mesmo em todo:
microscópicos irá satisfazer este critério. Uma maneira de contornar este problema é um

z ideia de equilíbrio.
pensar não em um único sistema, mas em um conjunto de todas as cópias que satis-
Pmando o sistema evolui no
tempo. ce
façam às restrições macroscópicas. Chamamos a este conjunto um “ensemble”. Ou
&= Desse modo, podemos esperar
está equilíbrio termodinâmico,
zu

dito de outra forma: se o sistema em existem infinitos


z=semble ou em um tempo sufic>mm
micro-estados acessíveis a ele. A este conjunto de estados damos o nome de ensemble.
Definido desta forma, o ensemble é caracterizado uma densidade de pontos
à
essa
suposição dá-se o nome de Ex
por repre-
sentativos, p(p, q; 1), no espaço de fase. Então p(p, q; DdºNgd*Nprepresenta o número Dis
tipos de média são mais comu

de estados representativos contidos no elemento de volume Ng dºNp,acessíveis ao smmemble. O valor mais provável de

sistema, no instante t. Se calcularmos a derivada total de p(p, q; t) como função do mms vezes aparece” no ensemble. +

tempo obtemos

dp <f(p.q
dp pi,
dt cp+E(5E
op; “Ja a. dt ot
mor mais provável e a média em

Como o sistema é conservativo,


dp =
0. Esse resultado para sistemas conservativos é milas quadráticasdo observável sz

conhecido como teorema de Liouville. Geometricamente, isso significa que, para um


<r
sistema conservativo, o volume p(p, q; )dNg dNp, no espaço de fase se comporta

96

3,1 Introdução 27

como um fluido incompressível. A densidade dos pontos representativos dependerádas


coordenadas generalizadas através de seu hamiltoniano e supõe-se que esta não dependa
explicitamente do tempo, de modo que

o
a =0, p(p9) =p (H(p,9)). (3.2)

Dessa forma, o ensemble descrito por p(p,q) é o mesmo em todos os instantes de tempo.

3.1.2 Ensemble Micro-Canônico

A mecânica estatística clássica fundamenta-se no postulado de iguais probabilidades "a

priori”.

Quando um sistema macroscópico se encontra em equilíbrio termodinâmico, seus esta-

dos são igualmente prováveis de ser encontrados em qualquer micro-estado satisfazendo


as condições macroscópicas do sistema.
Esse postulado implica em

1 (2,4)
E<H(p,g)<E+4E
p(na)=| o qualquer outro
(3.3)

Essa escolha de p define o ensemble micro-canônico. Devido ao fato de que dp/dt =

0, o ensemble é o mesmo em todos os instantes de tempo, sendo, portanto, consistente

com a ideia de equilíbrio.

Quandoo sistema evolui no tempo, ele percorre os pontos do espaço de fase permitidos a

ele. Desse modo, podemos esperar que o cálculo de médias termodinâmicas feitas sobre

o ensemble ou em um tempo suficientemente longo deve fornecer o mesmo resultado.

A essa suposição dá-se o nome de hipótese ergódica.

Dois tipos de média são mais comumente usados: o valor mais provável e a média no
ensemble. O valor mais provável de uma quantidade f(p, q) é o valor de f(p, q) “que
mais vezes aparece” no ensemble. A média de f(p, q) é definida como

f
"an daN
pf(pa)plpia)
.

< r(p,9) >= (3.4)


[ ENgd'Np p(p,a)
O valor mais provável e a média em ensemble são muito próximos se as flutuações
médias quadráticasdo observável são pequenas, isto é, (Reif 1965; McQuarrie 1976)

<fP>-<f> << 1.
<f>
-

28 Mecânica Estatística e o Cálculo de Propriedades Físicas EE

pci

ição não é satisfei ão há úni


macroscópicos,
mMACTOSCÓPICOem c
condição não
ira


edi

média ly E mas
Se esta é satisfeita, não uma maneira única de calcular a do ob- umas

NX. N. moléc
e
N2
mem

servável. provável e média


Es.
molécuiz
No limite N — oo, esperamos que o valor mais a coincidam. q). com
N; e

i
Wo mrEÊ<E+E<E+Aevam
Entropia a

Para fazer a conexão entre o ensemble micro-canônico, como definido acima, e a ter- at

modinâmica, a quantidade chave é a entropia (Reif 1965; Chandler 1987; Huang 1987).
Seja T(E) o volume do espaço de fase ocupado pelo ensemble micro-canônico

(E) =

/ E<H(p.g)<E+AE
dPNadNp,

e X(E) o volume contido no interior da superfície de energia E. 1 ibuibsica Estatística). Se o sistemz Ia

see do outro sistema grand gm

3 3
HE) =

[
JE<H(p.g)
(
d Pad Pp, mo

158
DE?
ee
E

em
El.
qualquer
7
Assim,
um
paraum
dos irsrm:
1

então
seja E. A probabilidade dz
sus

ME) =LE+4) -X(E) (3.5)


p:
-

Se A «E, podemos escrever

mulina que 1> E? =E-E)) é o nús

pão estado do sistema de inter=sa


FE)o(EjA, (3.6)
Esseso de microestados do reservz

=ibca menos energia disponível no»


sendo (E) a densidade de estados do sistema com energia E:
mos escrever o logaritmo de 7.

(E) =

2 nr

Convenientemente, define-se a entropia como: «5=


que C é uma constante e independh
adir InT>(E

E!) obtendo

S(E,W) =
kalogr(E), (3.7)
We =C+InT- E

=
C+InT. E
sendo kg uma constante universal identificada com a constante de Boltzmann.
- AS al
4 :
4 anã :
de fizemos uso das equações
quas 5./ €
A temperatura é definida através da variação da entropia

oS(E,O) 1 a
partir da equação 3.12 obtemos
38
(3.8)
dE T' |

1 En
As.
pi =—e xp (—
3.1.3 Ensemble Canônico Z kgT

Procuramos responder à seguinte questão: Qual



é o ensemble adequado quando o 4 normalização da probabilidade de =:
:
sistema sob consideração não se encontra isolado”. Para respondê-la vamos considerar getermina a função Z, função de paro?
29
3.1 Introdução

térmico, cujos hamiltonianos são H (py


dois sistemas macroscópicos, em contato q1)
e Hº(p»,q2), com N, e N> moléculas, respectivamente. As
energias dos sistemas são

tais que: E < E!+E? < E+A e vamos supor que É? >> É! (E é o valor médio de E). Para

um sistema suficientemente grande, somente a energias médias são importantes (Reif


1965).
O número de microestados do sistema composto será

T(E) =
TED) (EO) (3.9)

Todos os microestados do sistema composto são igualmente prováveis (hipótese básica


da Mecânica Estatística). Se o sistema (1) de interesse está em um microestado particular
Ej, a energia do outro sistema grande (que funciona como um reservatório de calor) terá
microestado do sistema 1, reservatório
energia EZ — E —

Ej. Assim, para um particular o

poderá estar em qualquer um dos inúmeros microestados tal que a energia do sistema

composto seja E. A probabilidade de se encontrar o sistema 1 no estado n será, portanto,

pf = THEE) (3.10)
La Pa(E —

En?)
Lembrar que T> (E? =
E —

El) é o número de microestados do sistema 2 (reservatório)


para dado estado do sistema de interesse. Veja que, quando Ej aumenta, 1>(E —

ES,
o número de microestados do reservatório decresce. Isto porque um valor grande de Ej
significa menos energia disponível no reservatório térmico.

Podemos escrever o logaritmo de Pj


mel =C+InTo(E -

ES). (3.11)

Veja que € é uma constante e independe de Ej. No caso em que El << E, podemos
expandir InT>(E —

EM) obtendo

InBf? = Cr mra(E) —

Eb? (Zen)
(RÉ
À

2 (3.12)
ED
=
C+InI(E) —

ET
onde fizemos uso das equações 3.7 e 3.8, sendo T a temperatura do reservatório.

A partir da equação 3.12 obtemos

(1)
1
Pi Z exp(- (distribuiçãode Boltzmann) (3.13)
KT)
=

A normalização da probabilidade de se encontrar o sistema 1 com energia EL Ya =1,


determina a função Z, função de partição,que é dada por
30 Mecânica Estatística e o Cálculo de Propriedades Físicas 22 Propriedades Termodinâmicas

evolução dosisizs
pel E,
mio to tempo de
Z=
(3.14) =» calcular valores médios: tomando

mi ia
temporal da evolução do sistem
O ensemble definido pela equação 3.13 é conhecido como ensemble canônico. “== médias são equivalentes se o si:

O volume total ocupado no espaço de fase pelo ensemble canônico é a


função partição “mp suficientemente longo, trajes a

=»s sistema.
Ng
3N
déN 20 Em geral, calcula-sx
Zn(V,T) =
P, —H(p.g)/kBT (3.15) ecular (DM) e médias no ensemid:
Nth3N

várias
m

Nesse caso, a conexão com a termodinâmica ocorre através da energia livre de Helmholtz:
esse procedimento propri
DM
pos

e MC. Mostraremos a seguir


F(O,T) =
—kgT nZ. derivadas.
mis Estudaremos o caso pa

=> mo ensemble, no caso das simu


O valor médio de física
uma grandeza pode ser calculado usando-se a
equação 3.15 mm ações por DM. Deduções mass «

como

EN
=
mcendas podem ser obtidas em -
'

gaN P fe-H(p.q)/kBT
!
Ng fe ==
=ção computacional, ver, por ex
<f>=
Zw(2,7) aile 1992) Frenkel e Smit Fm

É possível expressar o volume do espaço de fase em outros tipos de ensemble. Por ora

iremos nos restringir somente aos ensembles micro-canônico e canônico nos quais (E,N,
Me(N, T, 9) são as variáveis termodinâmicas relevantes para cada caso. Veremos a
32 Propriedades Terms
seguir como, com esses dois ensembles, podemos obter as propriedades termodinâmicas
do sistema.
Eguimslência entre ensembles: ca

Equilíbrio
apesar de estarmos discutindo o cólcai

Nesta seção discutiremos como grandezas macroscópicas podem ser calculadas a partir emirar
que as médias de qualquer qua

da trajetória do espaço de fase do sistema para um dado estado de equilíbrio. Como umedinâmico (sistema com númesmd
veremos, a condição de equilíbrio é uma condição essencial para o cálculo de grandezas === constante) são equivalentes. ul;

físicas. a

equivalência entre ensembles pus

Médias médias pexíãco no ensemble micro-canôrm:


no ensemble, temporais & ergodicidade
Para um sistema com N partículas clássicas, o espaço hiper-espaço de
de fase é um be comsiderarmos um ensemble com =

dimensão 6N, consistindo das posições e momenta de todas as partículas. O valor médio ==
vanével conjugada f fixa teremos

de uma grandeza, no ensemble canônico, é dado pela Eq. (3.4).


Um ponto do espaço defase representa um estado macroscópico
do sistema e vice-versa.
sistema
Quando o evolui no tempo, o ponto do espaço de fase trajetória
descreve uma

sobre uma superfície de energia constante. Assim propriedade macroscópica A função de partiçãe
m

uma Q sendo a

pode ser calculada, desde queo sistema esteja em equilíbrio, a partir da média temporal
de seu valor instantâneo A (T):
t
!
=(4(1) )tempo lim =
A(D(o)) dt, (3.16)
tim
0 F=Eef=B-
3.2 Propriedades Termodinâmicas 31

sendo 7 o tempo de evolução do sistema no espaço de fase. Temos, pois, duas maneiras
de calcular valores médios: tomando uma média sobre um ensemble ou tomando uma
média temporal da evolução do sistema É possível
no espaço defase. mostrar que essas
duas médias são equivalentes se o sistema em questão for ergódico, ou seja, se para um

tempo suficientemente longo, trajetória


a no
espaço defase visitar todos os estados aces-
síveis ao sistema. Em geral, calcula-se médias temporais nas
simulações por Dinâmica
Molecular médias
(DM) e no ensemble nas
simulaçõespor Monte Carlo (MC).
Com esse procedimento várias propriedades podem ser obtidas a partir de simulações
DM e MC. Mostraremos
por a seguir como expressões para essas quantidades podem
ser derivadas. Estudaremos o caso três dimensões médias indicadas
para e as serão mé-
dias no ensemble, no caso
simulações por MC, ou médias temporais, no
das caso das
simulaçõespor DM. Deduções mais elaboradas de algumas das expressões que serão
discutidas podem ser obtidas em vários textos sobre mecânica estatística ou sobre si-
mulação computacional, ver, por exemplo, Allen e Tildesley,(Allen and
Tildesley 1987)
Haile,(Haile 1992) Frenkel e Smit.(Frenkel and Smit 2002).

3.2 Propriedades Termodinâmicas

Equivalência entre ensembles: calor específico no ensemble micro canônico

Apesar de estarmos discutindo cálculo


grandezas no ensemble micro-canônico cabe
o de
lembrar que médias de
qualquer quantidade termodinâmica no equilíbrio e no limite
as

termodinâmico (sistema com número de partículas e volume infinitos, mas com densi-
dade constante) são equivalentes,
qualquer que seja o ensemble utilizado. Vamos usar
essa equivalência entre ensembles para deduzir a expressão para o cálculo do calor es-
pecífico no ensemble micro-canônico.

Se considerarmos um ensemble com uma variável extensiva F fixa e um ensemble com


sua variável conjugada f fixa teremos (Lebowitz, Percus al.
et 1967, Allen and Tildesley
1987)
“APP So.
Op= [dF e
!Op,
(3.17)
Pr=Pr+FF,
com Q sendo a
função de partição e “P f O potencial termodinâmico característico. Por
exemplo:
Onvr =
e HO) /kBT

BA =
br+BE, ,

(3.18)
“ks

sendoF=Eef=p=
32 Mecânica Estatística e o Cálculo de Propriedades Físicas (Dispriedades Termodinimiw

As médias de uma grandeza A nestes ensembles estão relacionadas por:


E 1
<Ap>= e“ fare *r TI
cADp. (3.19) 0 =—

miendo
A equivalência entre os ensembles vem do comportamento do integrando que para que

<N>-— oo tem um pico proeminente ao redor do valor médio F (=<F> f. No limite dE


termodinâmico temos oB
<AD;=<ADr. (3.20)

Para um número finito de partículas podemos fazer uma expansão em torno de F '=
F=<F> f

92 <A> Demsiderando agora (6K?)


<ôF?>p+.
<ADf=<ADr-<p>, +5>
2(e) oF
F=<F>y
(321)
< 5K? DE

Tomando
ay f gbendo
F>-=- 3.22
(3.22) que
<H>s
>?

27

temos
2
oNV Oo<F> OF
< 6p2s-2 lo Tolti 3.23
(6.23)
9P f 2f
sendo

ôF? =<F?>-<F>. (3.24)

Rearranjando o último termo e tratando-o como uma função de f, temos


smbemos calcular
<A
<ADp=<A >
73<0P?>s psi
=<AD>
HE <ADS
=<aspaidd <AD>y; (3.25) Tsgemos finalmente à expressão mis

=<ADy
tapardr <ADp.
=<Á
+5375F > <A >f
<6K?>:= Wa

Considerando agora duas quantidades À e B e usando o mesmo procedimento obtemos

< 846B>r= < 5458


(5 <4>5)
>,+(57) (57<B>1) < (3.26) < 6K-

Por exemplo, para


=. medindo-se as flutuações dz atua

<K?>-
A=B=F=Eef=B- pr (3.27)
cas 3.2 Propriedades Termodinâmicas 33

28 +SE(a,
(6E?)p=< 0E? e
(3.28)
19) »
0=<6Eº>p +S5;
ara sabendo que

nite dE oT dE

ST —kBT?C, (8.29)
56 *aa/7)or
20)
temos que

<ôEº>p=kpT?C,. (3.30)

Considerando agora (6K?)


21)
oB [9<K>
<0K
2
>p=<0KºK
2
>g
| ——

2B
B
- (3.31)
.

e sabendo que
22)

<K>p= B— NT Bt
=D

(3.32)
.

2 2 B'

23)
O<K>p -
3N
É3.33)
op CP

.24) oB 1
O
(3.34)
E TIC,

podemos calcular

3
<6K
>p=5N(ksT)?. (3.35)

25) Chegamosfinalmente à expressão usada para o cálculo de €, no ensemble micro canô-


nico

3
2
1 3?
<6 K DE >p= >

3N(kbT)
>

KETIC, (5) (=N| ka7 (3.36)

nos
ou

3 Nk
3.26) <6K? >=
5N(kT)?
1 2 CG, | (3.37)

Assim, medindo-se as flutuaçõesda energia cinética, ou da energia potencial, teremos

2 2
3 272
3k B
K —

K =—

—Nki1
I-5%,
.

3.27)
34 Mecânica Estatística e o Cálculo de Propriedades Físicas “2 Pespriedades Termodinâmicas

ou sememto, comg=reH=V

G=
9NºkZT?
(3.39)
6NkpT? —-4(<K2> —-<K>?) — —
L/eo.
Fi vo

3
Temperatura
A temperatura pode ser calculada diretamente através do teorema de equipartição de «ssêo que os
FT“representam as im

energia, que relaciona kpT /2 da energia média para cada grau de liberdade. mes e as forças externas.

Pelo teorema de equipartiçãogeneralizado (Huang 1987), temos: à ssliciando o efeito das forças exz=mi
< Pk >= ka”,
<Gk5,
dm
Sa >= kBT,
(3.40)

sendo kg a constante de Boltzmann, H o Hamiltoniano do sistema, T a temperatura e as


Dsfi=do o virial interno como
chaves indicando médias no ensemble. Se, agora, tivermos um sistema com N partículas,
para o qual os momentos são termos quadráticosno Hamiltoniano, resulta:
(75

N 3.2

(>a, =2/(K) =
3NkpT (3.41) g==] restringimos a atenção 20 3

e, portanto,

l Dil
=

3Nk (Et) (3.42)

No ensemble canônico a energia cinética média do sistema com N partículas é dada por:
Es s=escrevermos o virial interno. Es
N
f(p?/2m) B(p/2mdp 3
(Kn)canônico =

JestcBimas e alter 648)



Vc
3h

>

No ensemble micro-canônico a energia total é uma constante de movimento, mas a


i=1l ==

energia cinética flutua. Podemos definir uma temperatura instantânea T(t) tal que
3
BERRO
FF
Ky
5NksT(t). (3.44)
=

N
W= l N=1D:-
Assim, a
temperatura média do sistema em equilíbrio será
f
dada por =—5 Er 1E>
1.
T= (Tt) sempo T(t) dt. (3.45) j
=. lim o
um w(r)
,

=
pesto,
Pressão àssim, seguindo o mesmo racioci-

Novamente, do teorema de equipartição, Eq. (3.29), temos

dH
< >= kBT, (3.46) ainda deduzir a expressão po
CTA Fd=-se
icas 3.2 Propriedades Termodinâmicas 35

e, portanto, comg=reH =V

39) 1 l
o
= >
pTot

-3 VAViV)= 5 VAR) =-NkT; (3.47)


i=1

%
» de sendo que os
Fr representam as forçastotais atuando no sistema: as forças intermole-
culares e as forças externas.

Explicitando o efeito das forças externas e internas, temos que

40)
(3.48)

e as
Definindo o virial interno como
las,

ue -u(ga)- (3.49)

41) no qual restringimos a


atenção ao potencial intermolecular, podemos escrever

42)
or) lp (3.50)

ou

—NkgT =-PO+<Wo>. (3.51)


DO:
Se reescrevermos o virial interno, Eg. (3.48), comF; =

La E; ;»
teremos

43)
N N N N
1 Ss 1 5 Õ

w=55 Enf= 55 i= É t
Ca. i
É
L Ca
(n8cnh) (3.52)

e como
F;;=Fj;
44)
=
fi 407 =

"3
8h Ea
Li ss? FijVr;;d(ri)
Eru
1
ij
=

"3
Ju
Diiw(ri;)
(3.53)

45)
com
w(r)
=

dor) .

Assim, seguindo o mesmo raciocínio do tópico anterior, obtemos

PO=NkpT+<W>. (3.54)

46) Pode-se ainda deduzir a expressão para a pressão considerando P =


—(dF/98))7 sendo
|*

36 Mecânica Estatística e o Cálculo de Propriedades Físicas 3.2 Propriedades Termodinâmicas

F(T,9)a energia livre de Helmholtz. No ensemble canônico = da equivalência entre ensembles Tum

1987
*587), temos que
F(T,O) =
—kpTInZ º

(3.55)
Z=
an Je PBdndr..dindpidpo...dPn
em que Z é a função de partição do sistema.
Tensor Tensão
Assim ]

kBT/O0Z2) kT (90 Dutra grandeza muito importante é

p=
—Z (5 “01490
(3.56)
,

exemplo, na interface de crescim=rard

sendo Q a parte configuracional da função de partição, Se relembrarmos da definição forms &

remos
que ela é dada em termos à» mma
A
fe
.

0=9 Ndridro...drivdpidpo...dPn (3.57)


=plesmente, tensão (McQuarr:

Uma variação no volume de Q para €) é descrito escalando as coordenadas 7; =


(9,/09)1F
resultando em P-

07; Fi
=
= —

3.58
(3.58)
0 30

Desta forma o limite, quando a tensão for isomrími..


,
N
O
BYn
0=9)
/ e
(5) dry Do
(3.59)
:
tem a dependênciano volume somente no integrandoe então

dQ 1 moVwror N|I/ON*
|
N/ BYy
(58), fe =9 Holt am.0 3.60
(3.60) pressão hidrostática
o
<<) |

9%, DO "0
0 n a p sen Um E
ET E Do

Em termos da densidade de partículas, p =


N/2,
Furtanto, no caso geral, quand:
“BY consideramos deformação de
P-5/e Di ida dry
a um sum
=
pkBT — —

(3.61)
30 hi
Es (3.66). Levando-a em consider

=r como:
1

1 OVy 2K

(57e)
º

Pranônico pkBT = T
.

(3.62) p=

30 30 a .

Cc

que é a expressão do virial. Podemos também definir a pressão instantânea, P.(1) sela expressão tensorial

Í OVy
P()=pkpT-—) f->—. 3.63 =0

mn
Para o ensemble micro-canônico, -

Palt) =
T()-—)
1
F=—
AVy
3.64 y mviv; E
-
|

3.2 Propriedades Termodinâmicas 37

e da equivalência entre ensembles (Lebowitz, Percus et al. 1967; Allen and Tildesley
1987), temos que
P=(P()) =
(BPmlt)o- (3.65)

Tensor Tensão

Outra grandeza muito importante é a distribuição de tensões que podem surgir, por

exemplo, na interface de crescimento de super-redes, na superfície de nano fios, etc.

Se relembrarmos da definição formal de pressão da teoria de mecânica dos fluidos, ve-

remos que ela é dada em termos do tensor pressão, também chamado tensor tensão ou,

simplesmente, tensão (McQuarrie 1976) .


/3 Fo. Dow Po Px
P=| Dx Py Px l:
(3.66)
Px Po Pa

Nolimite, quando a tensão for isotrópica e não existir viscosidade

10 0

P=p| 0 10 (3.67)
0 01

com a pressão hidrostática p sendo definida por

1
(3.68)
p=
3 (Pa +Py+Pa)-

Portanto, no caso geral, quando temos viscosidade ou tensões presentes ou quando


consideramos a deformação de um corpo rígido, devemos utilizar a definição formal,
Eg.(3.66). Levando-a em consideração, devemos reescrever a pressão hidrostática esca-

lar como:

2K W 1 vd RR
pia (Emir) 6.69)

pela expressão tensorial

1 “s =

com

Dim Dim Di miVixViz


,

Somvvi= Domo Domo DimiviViz (3.71)


t
Demi Dimviy DimviViz
o

38 Mecânica Estatística e o Cálculo de Propriedades Físicas = *sugriedades Estruturais

,
SrixFix rixFiy DrixFiz à desde de jH— o] > o

y AF, =
Lrofix Droliy DLryfa |.
(3.72)
SricFix Dr izFiy ErizFiz ” a
Oq o
Aqui y; F
e são as transpostas de »; € F., respectivamente. Essas grandezas termodi-
nâmicas, K, V T, P são facilmente obtidas ao longo de toda a simulação. Seus valores
=» sistemas homogêneos
instantâneos, médio e flutuações são facilmente computáveis, possibilitando calcular

outras grandezas daí relacionadas, como é o caso do calor específico.

3.3 Propriedades Estruturais gif.”

Função de correlação de pares g(r)


p(ri.m
A função de correlação de pares ou função de distribuição radial é uma importante fer-
ramenta na descrição da estrutura de líquidos, amorfos e cristais. Ela fomece a proba-
v=0s zigumas manipulações, podem
bilidade de se encontrar umpartículas a uma dada distância r em relação àquela
par de
encontrada numa distribuição aleatória. A distribuição de probabilidade para encontrar
uma partícula na posição r; é definida por
Ng(P)p =

NL[T+
fe BY") dp... dry
( 3.73 )
p(A) =

distância
fe-BVO-radrdro...drn mmão
7; =7;—?y; a entre as pas

Va sistemas esfericamente simétrico


Integrando essa função sobre todo o volume, obteremos exatamente o número total de

partículas do sistema, 1,
2ô(n
+

(Fi ij) =

/ plrjdr=N. 1

distribuiçãopode após integração nos ângulos fzzem


e
A ser reescrita como == a

PVC) a(r mi jaridio...dPy


,
3 N
p(7)
o

nie PV
fe -rNardr,..dim
(3 74)|

fdidir aver BOIS e


tpw i=1 afp 7)
=

fe BVOiINidrdr.. dry

47N?
distribuição de densidade duas partículas que posições 74 72, 8; mA
=

A para se encontram nas e =

Q
respectivamente, será

a seja,
g(7) =
g(r)
N

play
( ij=l
y 56-66
=). (3.75) Defimndo

n(r) = —

Em geral, p(7.72) + p(Fi)p(7>), devido à interação entre as partículas. Define-se a

função de distribuição de pares, g(7), como

P(A, 72) =
p(f)p(o)elrh, Po). (3.76)
3.3 Propriedades Estruturais 39

Nolimite de IA —

Fo| — co

Para sistemas homogêneos

+ -

g(71,72) =g(f —

Po)

p(F, 72) =
p?g(r —

do).

Da- Após algumas manipulações, podemos reescrever a função de distribuição de pares


como
ela

rar

73)
Ng(Pp
( y se-"9)
iAj=1
(3.77)

sendo 7;; =
7; 7; a distância entre as partículasi e j.

de
Para sistemas esfericamente simétricos podemos usar a relação

59(n1 [F;|)ô(cos
, ,
(A —F)
2a a

=
6 — —

cos 65 —

q),
1

que após a integraçãonos ângulos e fazendo r; =


r obtemos

> N

74) =
[al y Ato
fasgetrmy iAj=1
=

Bualono -cmelato
49)
44N? 1/2
79,
O oa (E str-nj
itj=1
(3.78)

ou seja, g(7) =
g(r).
Definindo
N
1

teremos
no
( E
ifj=l sm-n). (3.79)

o
s)=a mr) (3.80)
40 Mecânica Estatística e o Cálculo de Propriedades Físicas -*Pespriedades Estruturais

Sendo n(r)Ar o número médio de partículas entre r e 7 + Ar, podemosusar a relação Cams mx

acima para computar g(r), obtendo um histograma com todas as separações de pares de

partículas do sistema.

partículas estarão restritas às posições de sua rede cris-


Para um sistema cristalino, as
att)
talina. Dessa forma a função de distribuição de pares deve refletir tal comportamento,
como é ilustrado na Fig. 3.1 abaixo.

Loto

4
= CRISTAL
Pevizi

“23.3: Função distribuição ra


=
de
e

g *s vizinhos al

Ps vizinhos
uimero de Coordenação N(r)
A 1

e
Sómero de coordenação N(R). cm
Bios, até uma distância R, de um
à vibra-
Figura 3.1: Função de distribuição radial típica de um sólido cristalino. Devido

equilíbrio,
=)
ção térmica dos átomos em torno de sua posição de os picos se alargam. por

A posição do primeiro pico função de distribuição radial


na define o comprimento de
ligação entre os átomos (diâmetro atômico). No caso de um sistema líquido, as partícu- -

*3 34 ilustra o comportamento
las são livres se mover e, então, para distâncias maiores do que alguns diâmetros >
para
atômicos, perda
a de ordem é verificada. Em um vidro, que é em geral obtido a partir
do resfriamento rápido de um líquido, sua estrutura é muito similar àquela do estado

líquido. A Fig. 3.2 ilustra esse fato.

LÍQUIDO -

VIDRO
Em
1a
o: primeiros vizinhnos
bem ordenados

gt)
perda da ordem para
x medos que algums
did:
moleculares

Figura 3.2: Função dedistribuição radial típica de um líquido ou vidro.

Um sistema apresenta um caos molecular muito grande, não apresentando qual-


gasoso
típica é mostrada Função de distribuição
Sigma
quer estrutura. Uma função de correlação de pares desse caso na Fig. 3.4:

33.
mimlino (painéis superiores) e líqu
3.3 Propriedades Estruturais 41

sem vrdenamento

gtr) diiribuição nto


do valor médio
em forme

Figura 3.3: Função de distribuiçãoradial típica de um gás, evidenciando o caos molecu-


lar.

Número de Coordenação N(r)

O número de coordenação N(R), que é a quantidade que fornece o número de átomos

vizinhos, até uma distância R, de um dado átomo do sistema pode ser calculado a partir
de g(r) por
R

N(R) 425 [ g(rnrdr. (3.81)

A Fig. 3.4 ilustra o comportamento dessas funções para os casos cristalino e líquido ou

vidro.

es

EQ) Nery

gt) Net)

jal-

Figura 3.4: Função de distribuição de pares e número de coordenaçãode um sistema


cristalino (painéis superiores) e líquido (painéis inferiores).
42 Mecânica Estatística e o Cálculo de Propriedades Físicas “= Estruturais
Propriedades

Fator de Estrutura Estático 2, seja, a radiação não espalhadas


ou

Além de g(r), o fator de estrutura estático é uma função muito usada na determina-
=
saisação espalhada pelos átomos ú
ção da estrutura de materiais. Experimentalmente, ele é proporcional à intensidade da
S(g) —1
radiação espalhada em experimentos de difração e pode ser obtido a partir dessa gran-
deza. Nos cálculos por DM é usada uma definição alternativa em termos da correlação
== de estrutura estático menos Em
densidade-densidade de partículas (ver, por exemplo, Hansen&M AcDonald(Hansen and
uu Jo dz pares menos um e vice-versa
McDonald 1976).

Se considerarmos a densidade de partículas na posição r, definida por


“umslações Estruturais de Três Corp

N s=eze informações entre a correlaçã

(>so-m)
7)

=
(3.82) =esesise obter dados sobre a correlaçã
i=1

Sstribuição angular permite-nos ot

sendo 7; é o vetor posição da partícula i, sua transformada de Fourier será


posição
7
=esícula i encontra-se na

Pos Nos
= uusirada na posição 7; dado que um

[e par posição de três parcial


à

pa =

Vet, (3.83) os vetores


i=1

sendo q o vetor de onda na caixa contendo o sistema. O fator de estrutura estático é


definido então como
=
1
S(D= N (Pab-a)- (3.84)

Nocaso desistemas isotrópicos, nos quais temos g(7) =


g(r) podemos
, obtê-lo também
a partir da transformada de Fourier de g(r). Partindo das egs. (3.83) e (3.84), temos

S(9) 7 ( ie eia Li esti)


=

4 (LNpe 7»)
-.

=P (NHL 1º
“a
ET) (3.85) Sigea 3.5: Representaçãoda posição É

1+HA 1€ o) (Dia susíruia A está no vértice do ângu!

Vala? aPo(r 5 -rpe


cuate
p(Jarare
l+s ar
DEE 4 5" -a)o(' —79)) Dsssidere o produto escalar

Rd
s(a)-1=p
[ste miar,
é mais

sendo p =
(p(7)). A equação acima comumente reescrita como
mquer;=f—Pprk=A-"er
DE=gulo formado essas três par
S(g-1=p
/ le) 1] ET dr + p (2x) 5(9). por

é é identicamente cos(v
A contribuição de 9(%), não importante, pois ela nula, exceto para
3.3 Propriedades Estruturais 43

q =0, ou seja, aradiação não espalhada pelo átomo. A expressão final para a intensidade
da radiação espalhada pelos átomos do sistema pode ser escrita como

S(g)—1 ear

[is()-1] (3.86)

O fator de estrutura estático menos um é a transformada de Fourier da função de corre-

lação de pares menos um e vice-versa.

Correlações Estruturais de Três Corpos Enquanto a função de correlação de pares

fornece informações entre a correlação de dois corpos, a função de distribuição angular


82) permite obter dados sobre a correlação de três corpos.
A distribuiçãoangular permite-nos obter informações condicionais, ou seja, se uma dada
partícula i encontra-se na posição 7;, qual a probabilidade de uma outra partícula j ser
encontrada na posição 7; dado que uma terceira partícula k se encontra em 7. Sejam 7,
83) F; e Fk Os vetores posição de três partículas i, j e k, respectivamente, Fig. 3.5.

.85) Figura 3.5: Representaçãoda posição de três partículase o ângulo formado por elas. A

partícula 4 está no vértice do ângulo.

Considere o produto escalar

Fiji Fik =
cos(Y;ik)
.

Fijlik

> — > o > > 5


em
que7;;=h-rjVik=h-—-V€ehj= Pi.
O ângulo formado por essas três partículaspode ser facilmente calculado através de

cos(Yjik) =
SE SST» (3.87)
[FE] Fil
44 Mecânica Estatística e o Cálculo de Propriedades Físicas 34 Propridades Dinâmicas

uma vez que as


partículas são conhecidas
coordenadas em das
todos os instantes da
Deficiente de difusão
simulação. distribuição angular nos fornece informaçõessobre a correlação entre as
A

três partículas. É importante salientar que as partículas devem ser primeiros vizinhos e a D coeficiente de difusão, assim cor

distribuição angular deve ser calculada como a média


temporal sobre todas as partículas E=êmica das partículas no sistema
satisfizerem condição partícula vértice smcentraçãoinicialmente não-uniform
que a de primeiros vizinhos da do ângulo em

estudo. meviza na ausência de qualquer agem «

issão é causada pelo movimento mca

ses descreve a difusão estabelece que


3.4 Propridades Dinâmicas sz) zo negativo do gradiente da conces

Deslocamento quadrático médio


Uma vantagem da técnica de dinâmica molecular é podermos calcular grandezas de- emên a constante de proporcionalidade!
pendentes do tempo e suas correlações. A mais
simples das quantidades dinâmicas que zécie se dá em um meio de partícc:s
podem ser calculadas é o deslocamento quadrático médio, definido por: =binando a lei de difusão com a ow

(Frenkel and Smit 2002)


:

samever

i
R(0) =

(ei) 0) =

5 ma 200) tm) (3.88) 9 (nr


dt
(1

sendo 7;(t) o vetor posição da partícula i no tempo 1, 7;(0) o vetor posição da partícula == n denota a dimensionalidad= À
que
i algum tempo
em de referência e as chaves (...)representam a média sobre todas as N
ssbeciona o coeficiente de difusão Z
partículas.
slzzão podemos chegar à relação cx

O deslocamento quadrático médio fornece, de maneira explícita, magnitude


a média do pusdrético médio:
deslocamento das partículas no sistema a partir de uma posição inicial de referência.
Através dele é possível distinguir as fases de um sistema.

Jeserve que o coeficiente de difusão «

puedrárico médio para longos temp:

demos também calcular o valor &

To
D=

spo=siderando que

A
tempo

Figura 3.6: Deslocamento quadrático médio função sólido


(n(g)—%
como do tempo para um e
0
um líquido.
DeS=indo uma função Z(t) tal que
Por exemplo, na fase sólida R?(t) tem valor praticamente constante para todot, ao passo
que, na fase líquida ele cresce uniformemente com o
tempo (veja Fig. 3.6 ). nZ;:
a

3.4 Propridades Dinâmicas 45

Coeficiente de difusão

O coeficiente de difusão, assim como o deslocamento quadrático médio, descrevem a

las dinâmica das partículas no sistema. Por definição, difusão é o processo em que uma

concentração inicialmente não-uniforme, por exemplo, uma pedra de sal na água, se

suaviza na ausência de qualquer agente externo, por exemplo, agitação mecânica. A di-

fusão é causada pelo movimento molecular


das partículas do meio. A lei macroscópica
que descreve a difusão estabelece que o fluxo J da difusão de uma espécie é proporcio-
nal ao negativo do gradiente da concentração c daquela espécie
(lei de Fick):

J=-—DVe, (3.89)

sendo a constante de proporcionalidade D o coeficiente de difusão. Se a difusão de uma

espéciese dá em um meio de partículas idênticas, tal difusão é chamada de autodifusão.


que
Combinando lei de difusão com a conservação do número total de partículas, podemos
escrever (Frenkel and Smit 2002) :

88) o (r2(1))
3
=
2(H(t) Tilt) =2nD, (3.90)

cula
em que n denota a dimensionalidade do sistema. A relação acima (relação de Einstein)
s N
relaciona o coeficiente de difusão D com a largura do perfil de concentração. Dessa

relação podemos chegar à relação direta do coeficiente de difusão com o deslocamento

a do quadráticomédio:
cia.
D lim
Ri(e)
= .
(3.91)
t-» Qin

Observe que o coeficiente de difusão é proporcional à tangente da curva do deslocamento

quadráticomédio para longos tempos.

Podemos também calcular o valor de D através das velocidades. Partindo da equação


acima
v ,
Li=a Pi(t) 7i(0)|

EA
3.92
;

p =
(6.92)
2mN
e considerando que
t

no) -0)=
[ dust),
0
(3.93)

temos
: ,

(mit)—7(0)P)
ido €

/ =

0
dty
/ 0
dito (V(tr)Dto) (3.94)

Definindo uma função Z(t) tal que:


yasso

nZ(lty to) —
=
(V(ty)-V(to)) (3.95)
46 Mecânica Estatística e o Cálculo de Propriedades Físicas *4 Dinâmicas
Propridades

obtém-se
Dsrelação de velocidades
(60)=7(0)P) fon fodZ(In 12) =n

Domo discutido acima, a constante dz ms

fodhfodbZ(ln —to))+ fil dnZ(fh —n1))


=n
(3.96)
aummelação
de velocidades, Z(t), veja Ex
fidty [-ao) +
fo" az :)|
-n

Dsmo consegiiência das propriedade


Como na integração temos t, variando de O a t, podemos escrever jmnlha da origem temporal, dependerá
Ê
=23o de velocidades normalizada é dis
tj nt T—ty

/ [
0
dn
0
dez (0) =

[ | 0
dn
0
diZ(t) (3.97)
EE ve
“=
pois Z(7) depende apenas do tempo decorrido. Desse modo, pros
= oz função é de grande interesse em sum

(Int)-5(0)P) =
2
[ [o diz). dh (3.98)
sia fornece informaçõesexplícitas
sul

Mudando a ordem das integrais


ses
integral no tempo está relaciorad»

sea transformada de Fourier forme

( r(t) (0) P) fodrz(o) =2n


fidn (3.99) emos ter uma idéia geral do comem
=
2n
fodiZ(o)(t 1) =2nt fpdiZ(o)(1 E) =
=

obtemos Gés ideal


D =

iy LX[2mt
fo dez (o) (1-5) Harmônicos
(3.100) 2. Osciladores idez:s nl

=D fbdziD)(1-D,
Nolimite
Dsciladores Harmônicos interzgss:
de tempo infinito,


(e

j
Dipmimeiro caso temos que v(1) =

5 f
D diz (1) (3.101)
lim
=

«Dsegundocaso as velocidades de =x um

nq== ox é a frequêncianatural dz cmd,


obtendo

(3.102)
Z(1) = —

Se lembrarmos que
Fselmente, no terceiro caso Z(t) dese,

im amortecido, mostrando que zs za.


(3.103)
siz02º com o passar do tempo.

então =

resumo desses comportamentos º m


[O

kBT
D =

Z(t) dt, (3.104)


m do

sendo m a massa da partícula que está difundindo. Essa última equação relaciona um Pemndade de estados vibracionais
coeficiente de transporte e uma integral sobre uma função de correlaçãotemporal é uma
smmmações sobre o movimento co
das relações de Green-Kubo.
Duê= de estados vibracionais dere-=mu
VÃO)
HO)
+"

as 3.4 Propridades Dinâmicas 47

Correlação de velocidades

Como discutido acima, a constante de autodifusão pode ser obtida através da função de
6)
correlaçãode velocidades, Z(t), veja Eq. 3.95.

Como consegiiência das propriedades equilíbrio do sistema, ela é invariante sob es-
de

colha da origem temporal, dependendo somente da diferença 1 -- 1”. A função de corre-

lação de velocidades normalizada é definida como

97) N Sn. N
1) -v(O (0) -vi(O) Vi(t) -

VilO
X, Dica
ep

Z(1) =
Boto
Li=1 V(0)-v(0)
Z(1) = Vi)

Di=1Vi(O)-vilO)
(3.105)

Esta função é de grandeinteresse em simulações por DM porque:

28)
i) ela fornece informações explícitas sobre a dinâmica das partículas no sistema;

ii) sua integral no tempo está relacionada ao coeficiente de difusão;

iii) sua transformada de Fourier fornece o espectro vibracional.

99) Podemos ter uma idéia geral do comportamento de Z(t) analisando três casos ideais:

1. Gás ideal

00) 2. Osciladores Harmônicos ideais não interagentes

3. Osciladores Harmônicos interagentes (sólidos)

No primeiro caso temos que v(1) =


v(0), e então Z(t) =1.
101)
Nosegundo caso as velocidades de um oscilador podem ser escritas como v(t) =
v(O)cos((ot),
em que «y é a fregiiência natural de oscilação dos osciladores. Dessa forma ,

102) (v(0)?)cos( ct) cos( mt). (3.106)


Zt)= 5
=

(v(0)?)

Finalmente, no terceiro caso Z(t) deverá apresentar um comportamento oscilatório, po-


rém amortecido, mostrando que as partículas se descorrelacionam de sua velocidade
103)
inicial com o passar do tempo.

Um resumo desses comportamentos é visto na Figura 3.7.

104)

a um Densidade de estados vibracionais

uma
através da den-
Informações sobre o movimento coletivo do sistema podem ser obtidas

sidade de estados vibracionais determinada pela transformada de Fourier temporal da


48 Mecânica Estatística e o Cálculo de Propriedades Físicas 24 Propridades Dinâmicas

Bju

Figura 3.7: Autocorrelaçãode velocidades para um gás ideal, um oscilador harmônico Fzora 3.8: Densidade de estados vibrac
e um oscilador harmônico amortecido. — Rarmô
E nico.
T

função de autocorrelaçãode velocidades Tmemsportede Carga


Fura sistemas iônicos, podemos calcuim
G(m)
-[ Z(ne“dr, (3.107) mas de carga no sistema. Utilizando z
2

sendo « a frequência de vibração das partículas.

Essa função podeser obtida através de experimentos de espalhamento, sendo de impor- elétrica, O é
5

& a condutividade c
tância na descrição dos modos de vibração de partículas no sistema. Em um sistema
ESmada por
harmônico, é
proporcional à densidade
puramente ela de modos normais de vibração.
Em sólidos e líquidos, ela geralmente é associada ao espectro vibracional.

Para os três casos discutidos anteriormente teremos


mm»
v;(*) a velocidade da partícula *
Caso A:
=

| mselaçãode velocidades, a condutividzl


s(o)=
[ Z(eitar= [5 (0-0) +5(0+ 00) (3.108)

Caso B: O comportamento deve refletir modos inteiramente vibracionais na região de


o(wm)=
altas frequências.
= mmmealexpressar 6 (() =
0) como à c

Caso C: O comportamento reflete modos inteiramente difusivos, na região de baixas Hegoência (relação de Nernst-Eistein
frequências. OkpT
D(o) =
ca o
G(o)=
| —ca
eitar-5(0) (3.109) goN

Em um líquido os modos difusivo e vibratório devem estar devem


mario de Haven é definida pela razão es
presentes. Portanto,
aparecer picos em
G(6) para baixas e altas frequências. Uma representação da transfor-
= Esmstein e aquele oriundo da relação à

mada de Fourier de Z(1) para os três casos anteriores juntamente com o caso do gás real, D.
fik

é mostrado na Fig. 3.8.

muzão de Haven foi introduzida por Ls


cas 3.4 Propridades Dinâmicas 49

ou
h
A
| Fog
a

“Bial
e
i

ode J x
f

a
Sp
% F

Ico Figura 3.8: Densidade de estados vibracionais de um gás ideal, um gás real e um oscila-
dor harmônico.

Transporte de Carga
Para sistemas iônicos, podemos calcular sua condutividade através da flutuação da cor-

07) rente de carga no sistema. Utilizando a relação de Kubo

1 Co/vm T

s(0)=
557 | e
(J0)Ja) ar. (3.110)

o é a condutividade elétrica, O é o volume do sistema e


J(t) é a corrente de carga

definida por
N

Ho) =

VSapij(t), GA
j=l

sendo v;(t) a velocidade da partículaj no instante 1. Utilizando a definição da função de


correlação de velocidades, a condutividade elétrica pode ser reescrita como

108)
(ros)
o de
(0) =

omT / 0
eo'z(rdr. (3.112)

É usual expressar o (6) =


0) como a constante de difusão. Generalizando para qualquer
ixas frequência(relação de Nernst-Eistein), temos

Lo "87
109)
D(0) =

q2N
(9) =

m [ 0
eoiz(ndr. (3.113)

vem
A razão de Haven é definida pela razão entre o coeficiente de difusão obtido pela relação
sfor-
de Einstein e aquele oriundo da relação de Nernst-Einstein, ou seja,
D
real, “= (3.114)
Dlo=0)
A razão de Haven foi introduzida por LeClaire (Eyring, Henderson et al. 1970) para
50 Mecânica Estatística e o Cálculo de Propriedades Físicas

identificar o mecanismo de difusão presente no material.

Condutividade Térmica

Na aproximação da resposta linear, a condutividade térmica é determinada por uma

expressão semelhante à fórmula de Kubo para a condutividade elétrica:

Capítulo4
po

o
cp
=

pr |, dt
(JE(JE(O)), (3.115)

sendo J*º o fluxo de calor, <>a média no ensemble, a e É, os índices cartesianos."


Para um sistema de partículas idênticas, o fluxo de calor (ou energia) é determinado por
Voltz e Chen (Volz, Saulnier et al. 2000; Volz, Saulnier et al. 2000; Volz and Chen 2000) Potenciais de In'
7Did + -

iJifj
DB) ro (3.116)

sendo d£; =:
£;

(£) o desvio da energia de uma partícula de seu valor médio, V; a ve-

locidade da partícula i e F,je Tij a força atuando na


partícula i devido à partícula j e

“Os matemáticos se divertem


o vetor direcional do átomo i para o átomo j, respectivamente. Para um sistema envol-
enquanto os físicos se diverte
espécies de partículas, não é
«

vendo diferentes o fluxo de calor equivalente ao fluxo de

energia devido ao efeito da difusão e a expressão para o fluxo de calor se torna muito

mais complicada. Porém, em um sólido a difusão é muito lenta e o uso da Eq. (3.116)
é aceitável. Essa aproximação pode ser implementada prontamente nas simulações de
médias so- é parte da ciência iraiz
função de correlação de fluxo
ca a que
DM. A pode ser calculada
de calor tomando dz

=D» matéria. A descrição des


equilíbrio gerado pelas simulações de DM. A maior
com a
bre o espaço de fase no estado de
entre átomos moléculas.
aproximação é
e dm
dificuldade calcular autocorrelação do fluxo de calor fas

nessa a para tem-

pos suficientemente longos, de modo que a integral da Eg. (3.115) convirja. Isso pode
s=b=ge com interações de Coulom «

tratamento
requerer um número grande de médias, i.e., a simulação de MD tem que ser executada -35 imeTentes em um comp

número de passos de tempo. smesações de Coulomb, várias aprox=m


para um grande à
-semção apropriada das propriedades de

seções diretas na equação de Schrocim

à= Oppenheimer, Hartree, Thomas-Fess

=m maneira alternativa para tratar o proê

Ssgíncos”. Potenciais empíricos são ex

“mes a interação de dois ou mais cor

—emerorrermos diretamente à equação dx

esses constituintes. As expressões paz


quantidades ajustáveis, sintonizadzs
“x
É

>
grandezas físicas. Esses potencizi

= «g== podem ser resolvidas usando-

aoz Carlo.
1a

Capítulo 4

or

0) Potenciais de Interação.
6)

“Os matemáticos se divertem com regras por eles mesmos inventadas,


enquanto os físicos se divertem com as regras fomecidas pela Natureza.”

Paul Dirac

A física é a parte da ciência que trata das forças que ocorrem na natureza e sua inte-

ração com a matéria. A descrição destes fenômenos requer o conhecimento detalhado


das forças entre átomos e moléculas, descritos essencialmente pela equação de Sch-

roedinger com interações de Coulomb entre elétrons e núcleos. Devido às dificulda-


des inerentes em um tratamento completo de um sistema de partículas quânticas com
interações de Coulomb, várias aproximações foram desenvolvidas para se obter uma

descrição apropriada das propriedades de interesse do sistema sob investigação. Apro-


ximações diretas na equação de Schroedinger levam a aproximações conhecidas como

Born-Oppenheimer, Hartree, Thomas-Fermi e Funcional de Densidade.

Uma maneira alternativa para tratar o problema é a introdução do conceito de “potenciais


empíricos”. Potenciais empíricos são expressões matemáticas analíticas capazes de des-

crever a interação de dois ou mais corpos (átomos, íons ou moléculas) sem necessidade
de recorrermos diretamente à equação de Schroedinger com interações de Coulomb en-

tre seus constituintes. As expressões para os potenciais de interação são parametrizadas


por quantidades ajustáveis, sintonizadas de modo a descrever resultados experimentais
de grandezas físicas. Esses potenciais são usados nas equações de movimento clássi-

cas que podem ser resolvidas usando-se técnicas de dinâmica molecular ou técnicas de
Monte Carlo.
52 Potenciais de Interação.
4,1 Potenciais Descontínuos

A expressão mais geral para a energia de coesão de um cristal formado por N íons com
. , .
pa
dr)
*

contribuições de interações de
. -

parâmetro de rede a pode ser escrita como uma soma de

um, dois, três corpos e assim por diante:


N N N

E(a) =

3 Ela) +), 6) + y 60 (FPF) +, (4.1)


i=l i<j i<j<k
:
onde usamos
r;j
=

|| =
|f—?;| para a separação entre os centros de massa dos áto-

mos ie j. Em geral, essa série converge rapidamente, o que nos permite truncá-la nos

termos de mais baixa ordem. Por exemplo, gases nobres são bem descritos por poten- Figura
ciais contendo somente os dois primeiros termos. No entanto, quando as ligações são

de três mais indispensáveis.


Poço de Potencial
direcionais, termos corpos ou tornam-se p
.

Ip 4.1.2
Abaixo apresentamos e discutimos alguns potenciais empíricos propostos na literatura,
divididos aqui em duas categorias: potenciais descontínuos e potenciais contínuos.
“ma
modificação natural do porra

=gumaestrutura é adicionada parz


ww

caso ainda tratamos os átomos como <a»

4.1 Potenciais Descontínuos em torno dos mesmos. Esse potenc-u de

completamente. Além do diâmetro ainsi,

Chamamos de potenciais descontínuos àqueles que descrevem interações muito loca- = o tamanho da região de atração. Pora
é: moléculas
é, só existe força estruturas mais
eles e
lizadas, isto uma entre dois corpos quando colidem, ou seja, a cori=mi

distância entre eles é menor ou igual a um valor especificado. Os exemplos mais impor-
são: esfera dura, poço de potencial potencial de Sutherland.
tantes
ó(r;)ij)
e o =

4.1.1 Esfera Dura

&tr) |
O potencial de esfera dura, Fig. 4.1, considera que doisobjetos interagem de forma
singular: se a distância entre eles é maior que um certo parâmetro G, a energia potencial
,

entre eles é zero; do contrário, é infinita. Esse é oexemplo, de um arranjo de


caso, por
bolas de bilhar espalhadas sobre uma mesa: elas só interagem quando a distância entre

é duas Microscopicamente podemos dizer que


=

seus centros de massa vezes seu raio.

6 representa o diâmetro clássico do átomo. Apesar desse tipo de potencial ser muito

simples, permite obter resultados bastante interessantes


ele e, em muitos casos, consegue —g

reproduzir com grande precisão sistemas físicos reais. A primeira simulação usando
esse tipo de potencial foi feita por B.J. Alder e T.E. Wainwright (Alder and Wainwright
Figura +=

1959), seguido de vários outros (Percus and Yevick 1958; Alder and Wainwright 1959;
Moita 1960; Alder, Hoover et al. 1963; Alder and Wainwrig.Te 1967; Alder, Gass et al.
1970) .
4.1.3 Potencial de Sutherlami

SnSO
| (4.2)
l

60) modificaçãoimportante
No)
=

Dutra do p
O,rj>6
Serherland (Hirschfelder, Curtiss er x
4.1 Potenciais Descontínuos 53

&n)]

Figura 4.1: Potencial de esfera dura.


são

4.1.2 Poço de Potencial


ra,
Uma modificação natural do potencial de esfera dura é o poço de potencial, em que
alguma estrutura é adicionada para tornar o potencial mais adequado ao modelo. Nesse
caso ainda tratamos os átomos como esferas rígidas, mas permitimos uma região atrativa
em torno dos mesmos. Esse potencial depende de três parâmetros para ser caracterizado

completamente. Além do diâmetro atômico, temos aprofundidade do poço de potencial


oca-
e o tamanho da região de atração. Por causa da região atrativa, ele permite a formação
de moléculas e estruturas mais complexas.
a, a

por- oa, Hj <o

d(rij) —€, O<r;j<Ro (4.3)


=

0, Fi; > Ro

de

rma
dr)
ncial

jo de
entre

r que
o Ro
»or
nuito

segue —

ando

vright
Figura 4.2: Poço de potencial.
1959;
et al.

4.1.3 Potencial de Sutherland

(4.2) Outra modificação importante do potencial de esferas duras é o potencial proposto por
Surherland (Hirschfelder, Curtiss et al. 1965), em que a parte atrativa é descrita por uma
o “mtemriais Contínuos
54 Potenciais de Interação. .

Em mem cxistal iônico os átom


lei de potência: O expoente n é em geral 5 ou 6.
bbesg e van der Waals) mes vaia

oo
, Fij <o
6 (rij)
/
=
(44
=
/ri, FHj>O

= =» És separação atômica
|]

e pol Iastices (Bom and Huezrs


cm

am

msm caso, usualmente n variz =

usados como pontos repulsivos. ml

gue depende da energia &

| =mnsação de vários outros pote

de Lennarê-)
- om

4.3: Potencial de Sutherland «227 Potencial


Figura

Cuidados extras devem ser tomados ao se usar qualquer tipo de potencial descontínuo
= uma variedade de potenc:
durante a integração das equações de movimento na simulação por dinâmica molecular.
ses 1924). A forma geral dess: cin

Para o caso específico do potencial de esferas duras ver Refs. (Alder and Wainwright ,
,

Egulsivo de Born com uma parse 2

1959; Alder and Wainwrig.Te 1967; Allen and Tildesley 1987; Rapaport 2004) .

4.2 Potenciais Contínuos


s=ão
a forma mãis usuál aquéia >oéy

Os potenciais chamados contínuos são expressões matemáticas analíticas, que podem ou

não sere justificadas através de uma teoria e que facilitam o tratamento dos problemas
partículas
(ri) =+

atômicos. Com isso, não há a indeterminação no cálculo das forças entre

causadas pelas descontinuidades nas derivadas dos potenciais tipo esfera dura. Há uma

E rande d quantidade de expressões


P P para os P potenciais propostos
Prop na literatura com o intuito R R epa

Esse potencial de interação é ut 172

de descrever os mais variados sistemas físicos. Nas seções seguintes discutiremos alguns
*2B»o pioneiro de Rahman (Rahmzr
deles. -=20e
O tornam um candidato natos

sespriedades de alguns gases nobrz

sesfícies, dentre outros. Veja, por =x:


4.2.1 Potencial de Born
3
1259: Brown and Clarke 1984:

1990; Kadau, German etal >


potencial proposto por Born(Born and Huang 1988) é análogo ao potencial de esfera 3)
O
bem modelos
dura, sem a impenetrabilidade do primeiro. É o chamado
muito em <
potencial de esfera “mole”. famciona
4.2 Potenciais Contínuos 55

Em um cristal iônico os átomos estão sujeitos não só a um termo atrativo (termos de


der Waals) também devem conter uma parte repulsiva devida à
Madelung e van mas

eletrônicas (princípio de exclusão Não existe


sobreposição das camadas de Pauli). ne-

nhuma expressão para esse termo repulsivo que possa ser obtido de considerações teóri-
cas. Uma possível simplificação para ele é representar essa interação como potência
uma

inversa da separação atômica. Ver, por exemplo, Born&Huang Dynamical theory of


-

crystal lattices (Born and Huang 1988).

d(rij) =
À /r;;7 (4.5)

Nesse caso, usualmente n varia entre 9 e 15. Note que apesar dos átomos serem con-

siderados como pontos repulsivos, altos valores de n e da constante À definem um raio

efetivo que depende da energia de interação. Esse potencial tem sido a base para a

construção de vários outros potenciais de interação.

42.2 Potencial de Lennard-Jones

ontínuo
Existe uma variedade de potenciais de Lennard-Jones (Lennard-Jones 1924; Lennard-
lecular.
Jones 1924). A forma geral dessa classe de potenciais é uma combinação do potencial
nwright atrativa
repulsivo de Born com uma parte

> n Am
O(rij) = —

(4.6)
|A rm>
S: J

sendo a forma mais usual aquela conhecida como 12-6,


ou
podem
problemas
partículas
a. Há uma
me e

intuito cálculos dinâmica


interação é
m o molecular desde tra-
Esse potencial de utilizado em por o

alguns
mos balho pioneiro de Rahman (Rahman 1964). Suasimplicidade, fácil diferenciação e curto

alcance o tornam um candidato natural a “potencialde teste”. Ele é usado para descrever

de nobres argônio, de super-redes, e da fusão de su-


propriedades alguns gases como o

perfícies, dentre outros. Veja, por exemplo, (Rahman 1964; Verlet 1964; Squire, Holt et

al. 1969; Brown and Clarke 1984; Vogelsang, Hoheisel et al. 1987; Parlinski, Denoyer
etal. 1990; Kadau, Germann et al. 2006). De modo geral, o potencial de Lennard-Jones
cial de esfera
funciona muito bem em modelos onde a simetria considerada é esférica.
sfera “mole”.
|

4.2 Potenciais Contínuos


56 Potenciais de Interação.

Lennaed-lones 12-6

ES

«AA

co 05 10 15 2D 25 30
a

Figura 4.4: Potencial 12-6 de Lennard-Jones.


'

Figura 4.5: Potencial de

4.2.3 Potencial de Born-Mayer


além do cálculo dos níveis de ===0 |

Este potencial foi introduzido por Born e Mayer (Born and Mayer 1932) para descrever é= metais com simetria cúbica “cru 1

parâmetros,cuja
[

cristais iônicos. Ele consiste de um termo exponencial com dois forma Weizer 1959). Os parâmetros a.

coesão
.

e emergia de do metal, a cormman ;

O(rij) = A exp(-Bri;). (4.8)


42.5 Potencial de Buckimgiz
Tal potencial pretende representar a repulsão entre as camadas fechadas dos íons. A

forma exponencial é sugerida por consideraçõesquânticas, o que o torna bastante apela- D potencial de Buckingham (Bucks
tivo. Esse potencial, juntamente com o potencial de van der Waals, reduz-se ao potencial
e a interação quaizmpau
E polo induzido
de Buckingham modificado, ou "exponencial-6". Várias modificações desse tipo de po-
sepulsãode curto alcance na form: «api

tencial de interação têm aparecido na literatura.


or “

4.2.4 Potencial de Morse azesar de ser um potencial mais r=2b.

mgem quando a separação entre £

Nadécada de 1920 Morse (Morse 1929), procurando calcular os níveis de energia de :


=
proposta por Buckingham-Cormes(
moléculas diatômicas, propôsum potencial baseado em três condições:
Url) =
(a) 6 (r;;) — O quando r;; — co mais rápido que uma lei de potência Ae
é
rij) =

(b) d(r;;) tem um mínimo para r;;


=
ro (definindo a separação intra-molecular) Ae Kri/P'

(c) ó(ri;) — oo
quando Hj 0;

Morse propôs a seguinte expressão para o potencial de pares satisfazendo essas condi-
As
ções: C=e

(4.9) D=f
O(rij) =
Dexp[-2o(r;;

ro)| —

2Dexp[- ari; —

ro)).
4.2 Potenciais Contínuos 57

204

184

18

Q 051]
Du

LES

44

Figura 4.5: Potencial de Morse. Note o potencial é finito


que na origem.

Além do cálculo dos níveis de moléculas


de energia diatômicas, propriedades elásticas
ver de metais com simetria cúbica foram bem descritos por esse potencial (Girifalco and
ma Weizer 1959). Os parâmetros a, D e ro são obtidos de dados experimentais através da
energia de coesão do metal, a compressibilidade e o parâmetrode rede.
4.8)
4.2.5 Potencial de Buckingham
ela- O potencial de Buckingham (Buckingham 1938) considera a interaçãodipolo induzido-
ncial
dipolo induzido e a
interaçãoquadrupolo-quadrupolo na forma de potência e o termo de
repulsão de
& po- curto alcance na forma exponencial:

d(ri)=A4e UP =. (4.10)

Apesar de ser um potencial mais realístico ele tem uma grave deficiência: ele
diverge na
origem quando a separação entre átomos é muito pequena. Uma variação desse potencial
sia de
foi proposta Buckingham-Corner
por (Buckingham 1961):

3
Ae ArulP)
(s 2) +
[-4(£ 1):

.exp
-

S q
9 (rij) =

» Nji<Pp (4.11)
KrijlP)
Ae —

(s+28) ij "ij
, r;>p

sendo
condi-
A
f -g+(1+B) (Cc
/ p$)) et
C=capº/(a(1+B)-6-86).
(4.9) D=Bp?c
olo
>

58 «2 Contínuos
Potenciais de Interação. Potenciais

Aqui £ é o mínimo da energia para r =


p. Nesse caso existem quatro parâmetrosinde- *g=elmente descrever
proposto para =

pendentes que devem ser ajustados com dados experimentais. Essa modificação elimina =emcial de interaçãodo tipo Morse. ces

a divergência na origem. Outra modificação importante consiste em desprezar o termo migo a partícula se encontra. A en:

de interação quadrupolar. Várias propriedades de materiais, em geral, têm sido muito


bem descritas por este tipo de potencial (Picinin, Silva et al. 2005; Picinin, Deshpande
et al. 2008).

4.2.6 Potencial de Rahman-Vashishta 6 (rij) =


felris) Ar om

O potencial de Rahman-Vashishta (Vashishta and Rahman 1978: Perram and North


Atlantic Treaty Organization. Scientific Affairs Division. 1983) foi construído usando B;=E
as ideias de Pauling acerca dos materiais iônicos. A derivação, baseada nos passos uti-
lizados por Pauling para a descrição doscristais iônicos, encontra-se na referência Rino
Ffelria)exp
= o
Zij/
e Studart
riométrica
(Rino and Studart
devida ao tamanho
2001).
dos íons,
O potencial
interaçãode
considera
Coulomb
quatro efeitos:
devida
repulsão este-
à transferência de
de fe(ri;) Exp

carga entre íons, interação carga-dipolo induzido devida a grande polarizabilidade ele- D==
r;; é a distância entre os átor
trônica dos íons e interaçãodipolo-induzido dipolo induzido (atração de é
van der Waals). z e fc uma função opcional pares
O potencial é expresso como:
Í

felrj=4
E

ZZe
1/2-sinlx/2:7-
Hi; 1 e Wi

mo — (062;+ 020) —ij


0
O(nij) =
+ (4.12)
ij
==es caso do Si, Tersoff supõe que =

sendo, H;; a intensidade da repulsão esteriométrica, n;; O expoente repulsão (que


da dês do conhecimento da energia d:
deve ser maior do que 6), Z; a carga efetiva dos íons, «; a polarizabilidade eletrônica Tso de coesão do dímero Siy e estam
dos mesmos e
W;; a intensidade da atração de van der Waals. Bim
vu e Cohen (Yin and Cohen 14:
E

Esse potencial tem sido ligeiramente modificado para que não seja necessário aplicar
o miados na literatura (Tersoff 10%%: Ts
o método da soma de Ewald para se tratar termos de longo alcance, como é o caso da

interaçãode Coulomb. É usual introduzir uma blindagem nos termos de Coulomb e da


= Potencial de
carga-dipolo da seguinte forma: Stillinger-Vis%
Hij
ZZje e? —

Srmssmação do potencial de
TGf—— exp(—r;;/A)
|
é

(02
muii
d(rij) = —

+
0522)
exp(- ri;/0)— 6, , (4.13)
sé conveniente e satisfatória em
n

ij ij
ligações q
7 mesemais nos quais as

sendo À e é parâmetros de blindagem. 1 mas de dois corpos torna-se inad=m.


=

Basimecondutores e isolantes do 1

7 pomemcial de três corpos é necess”


4.2.7 Potencial de Tersoff
mg=r and Weber 1985) originalmesm
= foacional é dada por:
O potencial de Tersoff foi especialmente proposto calcular
para energia a e as propri-
edades estruturais relacionados sistemas caráter (3 a
covalente.
-

a com predominantemente 6 (np ru) =


E
|

4.2 Potenciais Contínuos 59


ção.

inde- Originalmente proposto para descrever as propriedades do silício(Tersoff 1986), é um

mina potencial de interação do tipo Morse, com a intensidade da ligação dependente do meio

ermo
em
quea partícula se encontra. A energia potencial total do sistema é descrita por:

muito
N

ande
E=3 ori), (4.14)
icj

sendo

4 (ri;) =
fe(riz) [Aoexp(—Aori;) Bijexp(—Ari),

North
sando B;; =
Boexp(—z;;/b)
s uti-
Rino
|

= 0 ep(cdara)
felt
fo, exp-deost)]
este-
7; Lelriz)expl—dor)
cia de

le ele- em que r;; é a distância entre j, Ao, B;;, Ai € À» são todos positivos
os átomos i e com

/aals). 1; > À» e fc é uma função opcional para restringir o alcance do potencial dada por
1 r<R-D

fin) =
1/2-sinjz/2(r-R)/D|/2 R-D<r<R+D. (4.15)
0 r>R+D
(4.12)

Para os caso do Si, Tersoff supõe que À; =2A2 e os outros parâmetros são determinados
o (que através do conhecimento da energia de coesão, constante de rede, módulo volumétrico,
rônica energia de coesão do dímero Siz e estruturas hipotéticas cúbica simples e fcc propostas

por Yin e Cohen (Yin and Cohen 1980). Variações desse potencial de interação são
encontradas na literatura (Tersoff 1988; Tersoff 1988; Tersoff 1988).
aplicar
aso da

1b e da
4.2.8 Potencial de Stillinger-Weber

A aproximação do potencial de muitos corpos através de um potencial efetivo de dois


(4.13) é conveniente satisfatória muitos discutido até
corpos e em casos, como aqui. Entretanto,
em materiais nos quais as ligações químicas têm um grande caráter covalente, o uso de

potenciais de dois corpos torna-se inadequado. É o caso dos semicondutores elementares

= dos semicondutores e isolantes do tipo AX» (A=Si ou Ge, X=0,S, Se, Te). Nesse caso

zm potencial de três corpos é necessário. O potencial proposto por Stillinger-Weber


Stillinger and Weber 1985) originalmente para descrever o silício é um exemplo cuja
forma funcional é dada por:
propri-
valente. 6 (rip ru) =
Bj F(rij, ra) P(Ojuk,Oji), (4.16)
5

60 Potenciais de Interação. 4.2 Potenciais Contínuos

sendo Bi intensidade da interação de três corpos, f P representando efeitos de


1.0,——
a e os
qu

estiramento (stretching) e entortamento (bending) das ligações, respectivamente. No Modifi


específico do potencial de P são dados Stillinger

caso Stillinger-Weber f e por gg]

Flip ri) =
Bj O (ro —

ri;) O (ro —

ra), (4.17)
Pl o tao o!

P(Bja) =
(cos(B;x) —

cos(B;u))”, (4.18)

sendo O (ro —

r;;) a função degrau e ôix O ângulo de equilíbrio entre os átomos i, j e k.

Apesar do potencial de três corpos de Stillinger-Weber ter sido uma grande contribuição,
sendo capaz de descrever efeitos de estiramento e entortamento, ele apresenta algumas 10 -0.5
deficiências. Note que o termo angular é um termo harmônico em cos(8), tornando
extremamente grande qualquer desvio do ângulo de equilíbrio. É difícil, portanto, des-
crever a dissociação de arranjos de átomos. à
geme 4.6: Comparação entre o potencial
Ebbsjô para a parte angular do potenc
Sus

Uma modificação desse potencial foi recentemente proposta por Ebbsjo et al. (Ebbsjo,
Kalia et al. 2000) como

Domão foi desenvolvido na década de


1 (cos(Bjk)-cos(8Bu) 15;
Bim expliNitro | 14 2 "jk STO Daw and Baskes 1984; Foiles, Baskx
60 (ri, ra)
em ru

TIO
=
C(cos(6;)-cos(0x) (419)
Ds, Foiles et al. 1993).
0 Fiprk>To
Js=mão Kohn
Hohenberg e 56

Dessa forma, a variação de 9) com


9; é limitada. A Fig. 4.6 mostra uma comparação = pela
expressão do
(PRBIS
funcional de d

entre os potenciais.

Esse tipo de potencial de interação foi usado para descrever com sucesso diferentes ma-
am

Za
teriais, tais como, vidros (Vashishta, Kalia et al. 1990), semicondutores (Costa, Pizani et

al. 2002; Branicio, Kalia et al. 2003; Branicio, Rino et al. 2006), cerâmicas (Vashishta, im que Exom é a
energia coletiva dos áior

Kalia et al. 2007; Vashishta, Kalia et al. 2008), ferroelétricos (Costa, Pizani et al. 2005),
Ro

mícleo,
ero=A-?|.Gpéa
etc. smp conética, energia de correlação € ir

sp=sermos que G[p] possa ser descrirc

4.2.9 Potencial Embedded Atom ctol=


[e pr

Outro caso em que a interação de pares não é suficiente para uma representação ade- nd» g a eletrônica, suposta
s

densidade
é

quada do potencial interatômico é o caso dos metais. O método, ou potencial de átomo vem cmo de derivadas
suas mais baixas. €

embebido (Embedded Atom) (Daw and Baskes 1983; Daw and Baskes 1984; Foiles, já como a superposição linear É:

Baskes et al. 1986), é um potencial de muitos corpos, semi-empírico desenvolvido para 2) .


pode-se mostrar que a energ:
calcular especificamente a energia total de sistemas metálicos. É um potencial de muitos

corpos porque a
força que atua em um corpo não é simplesmente a soma da interação
de pares, mas depende da densidade eletrônica de todos os átomos do sistema. Esse
E =

x [Le J=1
4.2 Potenciais Contínuos 61

Modificaçeo
de Vashishta,
og!”

StillingerWeber /

(4.18)

jek.

uição,
gumas “40 05º 00º 05º 10
mando
cos(6)
o, des-

Figura 4.6: Comparação entre o potencial de Stillinger-Weber e a modificação proposta


por Ebbsjô para a parte angular do potencial de três corpos.
“bbsjo,

método foi desenvolvido na década de 80 por Daw, Foiles e Baskes (Daw and Baskes
1983; Daw and Baskes 1984; Foiles, Baskes et al. 1986). Um excelente artigo de revisão
(4.19)
é (Daw, Foiles et al. 1993).

Segundo Hohenberg e Kohn (PRB136, 864 (1964)) a energia de coesão de um sólido é

jaração dada pela do funcional de densidade


tes ma-
E =
-Gipj4
iz;
R
T/ Cam ; [La —

Ri
dr» —

Eaton, (4.20)
|
izani et

shishta, em
que Essom é à energia coletiva dos átomos isolados, Z; e R; as cargas e posições do
2005), i-ésimo núcleo, e r;2 =
|F| —?a|. G[p] é a parte do funcional de energia que engloba a

energia cinética, energia de correlação e troca dos elétrons.

Se supusermos que G|p] possa ser descrito por

Stp)=
| s(p(r), Vo(P), Polias (421)

ão ade- onde g é a densidade eletrônica, suposta ser uma função da densidade eletrônica local,
» átomo bem como de suas derivadas mais baixas, e que a densidade eletrônica dos sólidos possa
Foiles, ser descrita como superposição linear das
a densidades atômicas individuais, ps(7) =

do para Di pf (7 —

R;), pode-se mostrar que a energia de coesão dos metais é aproximada por
muitos

iteração
a. Esse
E
=3G;
i ) si Don,
[gera Jfi
ij
2
iz)
(4.22)
62 Potenciais de Interação. 4.3 Outros potenciais

sendo G a energia embutidora, p“a densidade eletrônica esférica de um átomoe f(r; D) 42.11 Reactive Force Fi
é interação eletrostática de pares [ver Daw(Daw, Foiles et al. 1993)]. Define-se
uma

a energia embutidora como a interação do átomo submerso em um gás de elétrons. A Os potenciais de interação discut
princípio função energia embebida
a
pode ser calculada de primeiros princípios, mas trutura, modos vibracionais e mz

na prática ela é calculada semi-empiricamente. Para metais de simetria cúbica veja, No entanto, tais potenciais de irm

por exemplo (Chantasiriwan and Milstein 1998). A parametrização desse potencial para químicos, como formação e que!
os mais variados metais pode encontrada, de simulação etc. Inicialmente méiod
ser
por exemplo, no programa cas, esse

desenvolvido pelo Laboratório SANDIA denominado LAMMEPS. Duin, Dasgupta et al. 2001), mz

de qualquer tipo de composto.

4.2.10 Aproximação de Segundo Momento Tight-Binding Como feito anteriormente, o Rez

termos:
O Modelo Tight-Binding de segundo momento, Second
(Tight-Binding Moment —

TB-
E =

Enigação
+ Esobre +

Eça
SMA) é um outro potencial de muitos corpos quefoi proposto inicialmente por Toma-
nek, Alígia e Balseiro (Tomanek, Aligia et al. 1985) para a
descrição de metais. Essa
é a energia
aproximação considera a característica especial de banda das ligações metálicas: a ener-
em que Erigação dz

deficiência de coordenação, E...


gia total do sistema consiste do termo de estrutura de banda, proporcional à largura
efetiva da banda eletrônica da raiz
energia penalidade necessár:
de
(e, portanto, quadrada do segundo momento da den-
sidade de estados local et al.
ligações duplas compartilhando
(Tomanek, Aligia
1985)) e de um potencial de dois corpos
êngulode torção, Econ; à energia
repulsivo, qual incorpora parte das contribuiçõesnão locais da estrutura
o de banda, tais
é a energia de van der Waals e E
como a interação eletrostática. Nessa aproximação
a energia total do sistema é dada por:
desses termos, com suas express
E=) (ER-EB), (4.23) ser encontrado em (van Duin, D:
i

sendo EBo potencial que representa a estrutura de banda

1/2
E; =D, |Vexp(-29[(ri;/r9)-1| (4.24)
jà 4.3 Outros potencia
e
ER o potencial de dois corpos repulsivo do tipo de Born-Mayer, dado por:
O estudo de moléculas, tais cor

Ef =D») expl-p(riy/ro) —

1). (4.25) trazem complicações adicionais


jãi
sistemas é a utilização do Reax
literatura imensa
Nas expressões acima, r;; é a separação entre os átomos i e j e ro é um parâmetro usual-
na uma gama

distância O somatório Uma boa discussão de mo


fixado interações
mente mas.
como a
primeiros vizinhos.
entre inclue
até um raio de corte pré-determinado. Em geral, soma-se até pode ser encontrada em "Molec
os primeiros cinquenta
referêr
vizinhos. Nessa aproximação para potencial
um de interação para sistemas metálicos Leach(Leach 1996) e nas

existem, em princípio, cinco parâmetros: D,, D», ro, p € q, os quais devem ser determi-
nados através das 4.23-4.25, ajustando-se resultados
egs. os para a energia total obtida
de Augmented-Plane-Wave como função da constante de rede do sistema. Exemplos
dautilização desse tipo de potencial de interaçãopodem ser encontrados em (Cleri and
Rosato 1993; Kallinteris, Papanicolaou et al. 1997; Coura, al.
Legoas et 2004).
4.3 Outros potenciais 63

4.2.11 Reactive Force Field (ReaxFF)

Os potenciais de interação discutidos até agora são bastante efetivos na descrição da es-

trutura, modos vibracionais e mesmo várias propriedades mecânicas e termodinâmicas.


No entanto, tais potenciais de interação são muito limitados na
descrição dos processos

químicos, como formação e quebra de ligações, ligações homopolares, reações quími-


cas, etc. Inicialmente esse método foi desenvolvido para descrever hidrocarbonetos (van
Duin, Dasgupta et al. 2001), mas ele pode ser estendido a qualquer sistema molecular

de qualquer tipo de composto.

Como feito anteriormente, o ReaxFF tem sua energia descrita pelo somatório de vários
termos:

E =

Eligação
+ Esobre + Lsub + Eval + Epen+ Esors + Econj+ Evaw + Ecoul- (4.26)

em
que EligaçãoÉ à energia de ligação, Esobre € Esub SãO as energias com excesso e

deficiência de coordenação, E,a; é


energia do ângulo de valência, E,en é a chamada
a

energia penalidadede necessária


para reproduzir a estabilidade do sistema com duas

ligações duplas compartilhando um átomo no ângulo de valência, E;ors é à energia do


ângulo de torção, Econ; à energia dos efeitos conjugados para a energia molecular, E,sw
é a energia de van der Waals e Ecoui é a energia de Coulomb. Uma discussão detalhada

desses termos, com suas expressões matemáticas e procedimentos de otimização, pode


ser encontrado em (van Duin, Dasgupta et al. 2001).

4.3 Outros potenciais

O estudo de moléculas, tais como líquidos moleculares, polímeros, proteínas e DNA,


irazem complicações adicionais às suas estruturas. Uma possibilidade para tratar tais
sistemas é a utilização do ReaxFF descrito acima. Certamente não é a única. Existe
na literatura uma gama imensa de potenciais de interação adequados a esses proble-
mas. Uma boa discussão de modelos empíricos para a descrição desse tipo de sistemas

pode ser encontrada em "Molecular Modelling: Principles and Applications" de AR.

Leach(Leach 1996) e nas referências ali citadas.


Capítulo 5

Dinâmica Molecular na Prática

“As ciências não tentam explicar, elas dificilmente tentam interpretar, elas

simplesmente fazem modelos. Por modelo entendemos uma construção


matemática que, com a adição de certas interpretaçõesverbais, descreve
um fenômeno observado. A justificativa de tal construção matemática é só
e precisamente que se espera que funcione.”

John von Neumann

Conceitualmente a Dinâmica Molecular é extremamente simples. Sua tarefa básica é

gerar o espaço de fase de um sistema de N partículas interagentes. Para tanto devemos

seguir os
passos já mencionados anteriormente, ou seja: desenvolver o modelo para o

fenômeno físico, o algoritmo numérico e a simulação propriamente dita. A análise da


o fenômeno físico
trajetória de fase permite-nos obter as grandezas que caracterizam em

estudo. Tal tarefa só é possível com a utilização da mecânica estatística, como já des-
crito anteriormente. Está, pois, subentendido nesses cálculos a escolha de um ensemble.

Neste capítulo procuramos fornecer ao leitor o básico da DM, bem como a estrutura do

algoritmo necessária ao desenvolvimento de um programa de dinâmica molecular.

5.1 Modelo Físico

Ossistemas em que estamos interessados consistem de N partículas (átomos ou molé-

culas) caracterizados por 3N coordenadas e 3N velocidades

h=()a) e = (MiinVa).
Dinâmica Molecular Prática
66 na 5.2 Condições de Contorno

O conhecimento destas 6N variáveis determina completamente o problema. Nos pro-

gramas que desenvolveremos abaixo, 6N variáveis de dupla precisão são definidas para
acomodar os valores de 7 e v.

Figura 5.2: Siste

A superfícierepresenta uma quebr


tema tridimensional contendo N p
+

aresta L haverá uma fração p


«
L?
diretamente por ela. Seja p a den:

a de partículas próximas às faces d

(N =
102) p será muito pequeno :

Figura 5.1: Representaçãodo sistema a ser estudado. do recipiente que as contem será «

partículas estará em contato com

Dado o potencial de interação entre partículas, as equações de movimento para o sis- interesse são as propriedades volu

tema físico podem ser obtidas das equações de Hamilton e integradas usando-se algum do recipiente que contém as partíc
esquema adequado de discretização (veja Cap. 2). Inicialmente, vamos trabalhar com
didas. Neste caso, usamos condiç
um potencial de dois corpos, considerar o sistema como um hi
N-—l N asfacesx=L,y=Lez=L fe
o e

vor) =Doln-ri=5) Doh-7l. (5.1) forma de visualizar a condição d


i<j i=1 j=i+1
as N partículascomo uma célula

abaixo, em duas dimensões, exerr


Antes de discutirmos em maior detalhe o cálculo dessa função e como implementá-la
computacionalmente, outras hipóteses são necessárias. Sob o ponto de vista de program:

dentro do programa. A cada pass

garantir que as coordenadas de cs

5.2 Condições de Contorno 0<x<

As condições de contorno a serem especificadas irão depender das propriedades físicas Se no instante 1 as coordenadas

em que se está interessado. Em um sistema termodinâmico as condições de contorno referência, para um pequeno incr
são irrelevantes para o resultado final. No entanto, em um sistema finito, como é aquele tará um ponto em uma imagem
tratado em uma simulação computacional, as condições de contorno terão ou poderão ter
enorme influência nos resultados obtidos e devem ser escolhidas com muito cuidado para Isso pode ser feito usando a funç
que tenhamos todo o controle sobre seus efeitos em nossos resultados. Considere, por
X— x;—Sl
exemplo, uma caixa bidimensional contendo somente 9 partículas. Se as partículasestão
uniformemente distribuídas na caixa, observamos que somente uma não se encontra

diretamente em contato com as paredes da caixa. yit yi—S]


5.2 Condições de Contorno 67

6 68
0608

MA,

Figura 5.2: Sistema bidimensional com 9 partículas.

À superfície representa uma quebra de simetria nas propriedades do volume. Em um sis-


tema tridimensional contendo N partículas distribuídas uniformemente em um cubo de
aresta L haverá uma fração p « L2 /L? muito próximada superfície que será influenciada
diretamente ela.
Seja p a densidade
por do número partículas, p
de =
N/I?. A fração
de partículas próximas às faces da caixa será, portanto, p N-1/3, « Se N for grande
(N =
1023)p será muito pequeno e a influência da interação das partículas com as faces
do recipiente que as contem será desprezível. No entanto, se N =
1000, quase 50% das

partículas estará contato


em com a superfície. Para o caso das simulações em que o
sis- interesse são as propriedades volumétricas, devemos ter o cuidado para que as fronteiras
do recipiente que contém as partículas influenciem o mínimo possível as grandezas me-
om
didas. Neste caso, usamos condições periódicas de contorno (CPC), que consistem em

considerar o sistema como um hiper-toro. No exemplo acima do cubo, seria considerar


as facesx =L, y=Lez=Lfechando-se sobre as facesx =0,y=0€ez=0. Outra
5.1) forma de visualizar a condição de contorno periódica é considerar o volume contendo
as N partículas como uma célula primitiva de uma rede periódica e infinita. A Fig. 5.3

á-la abaixo, em duas dimensões, exemplificam esta ideia.

Sob o ponto de vista de programação, necessitamos das CPC em somente dois lugares
dentro do programa. A cada passo de integração das equações de movimento devemos
garantir que as coordenadas de cada partícula estejam dentro da caixa central, isto é,

O<x<L,0<y<L,0<aus<L,
icas Se no instante t as coordenadas da partícula 7;(t) estão no interior da caixa central de
referência, para um pequeno incremento de tempo At, a coordenada 7; (1+ At) represen-
uele tará um ponto imagem vizinha, isto é, —L, < x; < 2L,, -L, <y<2Le
em uma

teí
D
—L; < z; < 2L,. Neste caso a partícula deve ser “puxada” de volta para a caixa central.
para Isso pode ser feito usando a função intrínseca do Fortran SIGN(a,b), ou seja:
por
stão x x—SIGN(L,/2,X;) -

SIGN(Ly/2,x; -

Ly)
ntra

yit— yi— SIGN(Ly/2,y;) SIGN(Ly/2,y; Ly)


- -
68 Dinâmica Molecular Prática
na 5.3 Convenção de Mínima Imag:

E importante ressaltar que a intro


elimina os efeitos de superfície «

técnicas de análise devido ao uso


d:

sistemas termodinâmicos deve ser

5.3 Convenção de Mi

Uma dada partícula (átomo) deve

sistema, incluídas aí aquelas dersr


mente oneroso e mesmo impossíwx
desimulação grande o suficiente ;

negligenciada. Com isso, cada par


Figura 5.3: Representaçãobidimensional das condições periódicas de contorno. por exemplo. Considere uma partic
uma esfera de raio r, centrada em

que esteja no máximo a um distânc


z;+- 2 SIGN(L,/2,2;) -

SIGN(L;/2,2; -

Lo)

pois
L fa Sex >0
>
2)
SIGN(S
=

—F
-

se x<0

A subrotina para a realização das condições periódicas de contorno fica:

Subroutine CPC
include
Lx2=Lx/2.0 dO

Ly2=Ly/2.0d0
Lz2=1Lz/2.0 dO
Do Figura 5.4: Representaçãobidimen
i=1, Np
imagens.
x=r(1,1)
y=r(1,2) Dessa forma, no cálculo das forças :

z=r(1,3)
r(i,1l)= r(i,1) -SIGN(Lx2,x)-SIGN(Lx2,x —

L)
r(i,2)= r(i,2) -SIGN(Ly2,y)-SIGN(Ly2,y —

L)
r(i,3)= r(1,3) -SIGN(Lz2,z)-SIGN(Lz2,z —

L)
end do serão consideradas. Computacional:
return das distâncias entre partículas:
end subroutine

Xijt— X;;— SIG)


5.3 Convenção de Mínima Imagem 69

É importante ressaltar que a


introduçãode condições periódicas de contorno somente
elimina os efeitos de superfície e, para um estudo completo do problema, o uso de
técnicas de análise devido usode sistemas finitos
ao
(Finite size scaling) para representar
sistemas termodinâmicos deve ser adotado.

5.3 Convenção de Mínima Imagem


Uma partícula (átomo) deve interagir, em princípio, com
dada todas as partículas do
sistema, incluídas aí aquelas dentro das células imagem. Isso torna o cálculo extrema-
mente oneroso e mesmo impossível de ser realizado. Na prática, tomamos uma caixa
de simulação grande o suficiente para que a interação à distâncias y > 1/2 possa ser

negligenciada. Com isso, cada partícula só interagirácom as imagens mais próximas,


por exemplo. Considere uma partícula k dentro da caixa central de simulação. Desenhe
uma esfera de raio rc centrada em k. Essa partícula só irá interagir com outra partícula
que esteja no máximo a um distância r, (ver Fig.5.4).

Figura 5.4: Representaçãobidimensional do sistema (caixa em cinza) e suas primeiras


imagens.

Dessa forma, no cálculo das forças somente as partículas cujas coordenadas satisfazem

<<

3
Z
<u<
<

rota
serão consideradas. Computacionalmente, usamos a mesma função SIGN para o cálculo
das distâncias entre partículas:

Xijt— x; —SIGN(L,/2,x;;) SIGN(L,/2,x;; L,) -


-
y

70 Dinâmica Molecular na Prática 5.4 O Cálculo do Potencial às

yij— SIGN(Ly/2,y;;) SIGN(Ly/2,y;; Ly)


- -

yijt

SIGN(Ly/2,2;;) SIGN(Lo/2,2;; Le)


- -

Zi; Z1j7 O cálculo da força é a paris do.

putacional. Em vista disso. ds


sendo, d x;; =
x; —

x; O mesmo para y
para e z.
esforço computacional.
CA
Para ca

uma vez que a força em cada 7

2 o tabelas abaixo mostram o esque


O Cálculo
.

5.4 do Potencial de Interação e Força -


um

exemplo Tabela 1: Me

Para ilustrar os procedimentos descritos na seção anterior vamos usar o potencial de


-

i/k l
seção 4-2.2:
-

Lennard-Jones definido na

1 (1,1)
12 6 —

o o 2 (2,1) 2

(2) (2)|
NDA

6tn)=4
(rj)=4e 52
6.2)
[2] (O

3 (8,1) E

A força que todos os átomos do sistema exercem no i-ésimo átomo é: Na (N-1,1)


N (N,1)
No
1 /48€ o! oNV.
n=-5(5)(E) (E) Ja 63
Contudo, usando a terceira lei

. . os - .
P artícula k é igual em intensida
Vamos considerar o sistema constituído por N partículas contidas em um volume 9. A . 15 o,

- :
4 . em i. A matriz acima é, portan
energia total do sistema é uma constante de movimento.

Para o argônio os parâmetrosdo potencial são:


Tabela Il: Matriz dos

“m=6,6x103g
“g=1,66x10-!erg ,
i/k 1

º“6=3,4x 10-fem REN

Uma vez que tais números são muito pequenos, é muito fácil ocorrerem underfiows -(1,2)
ou overflows flutuante no É conveniente trabalhar com grandezas
deponto programa. (1,3)
normalizadas, r
;, t', P que são adimensionais e definidas como

N-1 -(L,N-1)
7 Lg 9,
o
-

e”
o
Es
VYmo 0)
Dessa forma
Nesse caso, será necessário calc
o-4
(a a) piZo
o


Jo

rior desta matriz), reduzindo o :

. .
das componentes da força (ou d
Com essa normalização, as equações de Newton ficam simplesmente
tica 5.4 O Cálculo Interação
do Potencial de e Força -
um exemplo 71

r; = 48
y (ra! =

ra) Pi.
Ki)

O cálculo força é
da a parte do programa de simulação que mais demanda tempo com-

putacional. Em vista disso, devemos procurar maneiras venham minimizar este


que
esforço computacional. Para cada passo no tempo devemos calcular a força Nº vezes,
uma vez que a força em cada partícula i é devida a todas as outras N-1 partículas. As
tabelas abaixo mostram o esquema para o cálculo de forças.
um

Tabela I: Matriz com todos os pares de interação.

al de
i/k 1 2 3 ..
N1 N
1 (1,1) (1,2) (1,3) ..
(L,N-1) (LN)
2 (2,1) (2,2) (2,3) n
(2,N-1) (2,1)
3 (3,1) (3,2) (3,3) =
(3,N-1) (3,N)

Na (N-1,1) (N-1,2) (N-1,3) (N-1,N-1) (N-1,N)


N (N,1) (N,2) (N,3) (N, N-1) (N,N)

Contudo, usando a terceira lei de Newton, temos quea força que a partícula i faz na
partícula k é igual em intensidade e direção, mas de sentido contrário, à força que k faz
em i. A matriz acima é, portanto, simétrica, ou
seja,

Tabela II: Matriz dos pares de interaçãoe terceira lei de Newton.

Lita [2 [3 T.7 Ni
TN]
Lo | am Lay | a3 [o | aNa) [am |
flows [2 [| a» | e» | ey [| en | em |
dezas
L3 | an | e) Ley [. | en | em |
NA (L,N-1) QN | 3N- (N-1,N-1) (N-1,N)

Lv [o am | em | em | LAN | QN |
Nesse será necessário calcular
caso, somente uma parte (por exemplo triângulo supe-
o

rior desta matriz), reduzindo o


esforço computacional. Computacionalmente o cálculo
das componentes da força (ou da aceleração)pode ser realizado com a seguinte rotina:
72 Dinâmica Molecular na Prática 5.5 Deslocamento do Potenc

Subroutine Forca Subroutine Tabela


include include
do k=1,3 ! zera os componentes da forca c npot= numero de di

F(i,k)=0. dO dpot2=rcut *RCUT/npoi


end do do i=1, npot+l
do i=1, Np-1 !loop externo. Escolha de uma particula r=SQRT(ixdpot2)
xi=r(1i,1) r2=r*r

yvi=r(i,2) r6=r2x12xr2

zi=r(i,3) r61=1.0d0/r6
do k=i+1, Np !loop interno.Soma sobre todas as k Fi(i)=4.0d0xr6ix(r61
xik=xi-r(k,1) DFi(i)=48.0d0=(r6i —

yvik=yi—r(k,2) end do

zik=zi—r(k,3) return

*
aplicando convencao de minima imagem end subroutine
xik=xik —-SIGN (Lx/2, xik)-SIGN(Lx/2 , xik-—Lx)
yik=yik -SIGN (Ly/2, yik)-SIGN(Ly/2, yik-Ly) Aqui Fi é o potencial de inter

zik=zik —-SIGN(Lz/2,zik)-SIGN(Lz/2,zik-Lz) pela Eq. 5.2 e DFi é o negam


rik2=xikexik + yiksyik + zikszik a tabela para a força dessa Ir

* teste para ver se e maior ou menor do que raio de corte distâncias.


* calcula forca
As tabelas são calculadas um:
Fxik=Fikxsxik
sidade de calcular algum valc
Fyik=Fikxyik é feita
interpolação
linear parz
Fzik=Fikxzik

F(k,1)=F(k,1) —

Fxik
rik2=xikaxik + yik=5
F(k,2)=F(k,2) —

Fyik ss=rik2 /dpot2


F(k,3)=F(k,3) —

Fzij k=int(ss)
end do ! fim do loop interno
x2=ss—k
F(i,1)=F(i,1l) + Fxik ! aplicando 3a lei
x1=1.0d0-x2
F(i,2)=F(i,2) + Fyik Fik=x1*DFI(kK) + x2=I
F(i,3)=F(i,3) + Fzij Vpot=xixFI(k) + x2=F
end do ! fim do loop externo

return

A maneira mais utilizada para minimizar o tempo computacional é criar tabelas, tanto 5.5 Deslocamento
para o cálculo da energia potencial como para a força, e, durante a simulação, fazer uso

de tais tabelas ao invés de calcular tais grandezas a cada instante. Este procedimento Muitas vezes é necessário, err

ficará mais claro adiante.


forças atuando no sistema. Is

A geração de tabelas para a energia potencial e força pode ser escrita como: eventualmente quando o volu:

Em todo caso este corte caus:


ica 5.5 Deslocamento do Potencial 73

Subroutine Tabela
include
numero de divisoes (grade) ate rcut
c npot=
dpot2=rcut *RCUT/npot
do i=l, npot+l
r=SQRT(i*xdpot2)
r2=r*r

r6=r2x12xr2
r61=1.0d0/r6

Fi(i)=4.0d0xr6ix(r6i —1.0d0)
DFi(i)=48.0d0x+(r6i —1.0d0/2.0d0)xr6i/r2
end do
return

end subroutine

Fi é de interação que, do potencial de Lennard-Jones, é dado


Aqui o potencial no caso

pela Eg. 5.2 e DFi é o negativo do gradiente de Fi dividido por r. O objetivo de se criar
a tabela a força dessa maneira é para evitar ter de calcular raízes quadradas das
para
distâncias.

Astabelas são calculadas uma única vez no início do programa. Quando houver neces-

sidade de calcular algum valor de potencial, os valores mais próximos são lidos e uma

interpolaçãolinear é feita para se obter o valor desejado, como mostra o exemplo abaixo.

rik2=xik+xik + yiksyik + zikezik / distancia quadratica


ss=rik2 /dpot2
k=int(ss)
x2=ss—k
x1=1.0d0-x2

Fik=x1+DFI(kK) + x2+DFI(k+1)
Vpot=xixFI(k) + x2xFI(k+1)

tanto 5.5 Deslocamento do Potencial


r USO

ento
Muitas vezes é necessário, em um cálculo, truncar o alcance ("range") de interação das
forças atuando no sistema. Isto deve ser feito para reduzir o tempo computacional ou

eventualmente quando o volume da simulação é muito pequeno.

Em todo caso este corte causará uma descontinuidade significativa na função potencial
III
E
CLEO
TES
TT

74 Dinâmica Molecular na Prática 5.6 Condições Iniciais

e consequentemente a obtenção da força fica comprometida (derivada de uma função


descontínua) -

ver Fig.5.5.

Potencial descontiniso

tm
Figura 5.6: Modificação intro

potencial.

último caso, podemos, por ex:

Cada sistema tem sua rede cris

a rede cristalina mais estável


Figura 5.5: Potencial de interação até o raio decorte.
os vértices e o meio d
ocupam

Este problema pode ser contornado introduzindo-se um raio de corte r.y < Ly/2, (0
mesmo para as direções y e z) e modificando o potencial de interação de forma a que

funções à (r)e dó(r) / dy Sejam contínuas modificação pode


as em rc. Esta ser feita se

reescrevermos o potencial de interação como

do; (r)

ro( dit Du
,

(r—
-

(desloc) Oi; (7)


Oi; (re)

r<re
(1) — (5.4)
Piz 0 r>r

intensidade do mínimo do
Tal modificação causa em geral um pequeno deslocamento na

potencial, mas praticamente nenhuma mudança na sua posição. A figura 5.6 exemplifica
de L-J 2.5.
este procedimento para o potencial em que r.=
Figura 5.7: Célula unitária d:

descrever o cristal fcc comple

5.6 Condições Iniciais Devemos contar a participaç:


face do cubo é compartilhado
formalismo escolhido resolver o problema de interesse são é
Qualquer que seja o para compartilhado por oito cuix

necessárias 6N condições iniciais, que são as posições (x,y) e velocidades (vx, Vy, vz)
das N partículasque constituem o sistema. Existem várias maneiras possíveis de definir (1/8) x8
envolvido. Um procedimento
as condições iniciais dependendo do tipo de problema
consiste em posicionar as partículas em sítios pré estabelecidos (como em uma rede A densidade de partículas p=
daí evoluir sistema considerando-o ou isolado (ensemble micro- cubo da célula unitária. As «

cristalina) e a partir o

banho térmico, capítulo 6. Neste célula unitária são


canônico) ou em contato com algum como veremos no
5.6 Condições Iniciais 75

88

6,41)
-18H

Figura 5.6: Modificação introduzida no potencial de interação com o deslocamento do

potencial.

último caso, podemos, por exemplo, posicionar as partículas em alguma rede cristalina.

Cada sistema tem sua rede cristalina mais estável. No caso do sistema de Lennard-Jones,

a rede cristalina mais estável é a rede cúbica de face centrada (fcc) em que os átomos

ocupam os vértices e o meio das faces de um cubo denominado célula unitária.

ica ã

Figura 5.7: Célula unitária de uma rede fcc. São necessários somente 4 átomos para
descrever o cristal fcc completamente.

Devemos contar a participação de cada átomo em uma célula unitária. Um átomo na

face do cubo é compartilhado por dois cubos adjacentes, enquanto um átomo no vértice
são é Assim única célula unitária conterá:
compartilhado por oito cubos adjacentes. uma

Vz)
inir (1/8) x 8(vértices)+(1/2)x 6(faces)=4 átomos.
ento

rede A densidade de partículas py =


N/QQé dada por py =
4/4, sendo que a é a aresta do

cro- cubo da célula unitária. As coordenadas, em unidades de a, das quatro partículas na


este célula unitária são
76 Dinâmica Molecular na Prática 5.6 Condições Iniciais

return
(0,0,0);(0,1/2,1/2):;(1/2,0,1/2):(1/2,1/2,0) end subroutine

Para construir a rede cristalina, estas coordenadas são fornecidas em um comando DATA, Quanto às velocidades iniciais
e as demais posições das outras partículas são obtidas pela repetição (translação)das cé- iniciar a simulação com todas =

lulas unitárias ao longo das três direçõesx, y z. O número total de átomos na simulação uma inicial
temperatura e disir
é dado por tribuiçãoMaxweliana de veloc:
inicial para o sistema. Uma pes

Npartículas NpcuPxMy
=
Az,
REAL FUNCTION GAUSS
e a ae Dk Dk odeole ole je he oe odede odee ae e e e

em que peu É o número de partículas na célula unitária, n.,hy en; o número de repetições ** Randon variate fror
das células nas três direções, respectivamente. ** The distribution
Uma rotina todas coordenadas tendo base rede cristalina =*variance.
para gerar as como uma
pode
ser escrita como
** REFERENCE
** KNUIH D, THE ART O
Subroutine REDE FCC x Xe
(2ND EDITION ADDIS
include
*+* Retorna uma variás
parameter (nx=4,ny=4,nz=4) !nx,ny,nz=no de translacoes OM e he o Je Je e e he De De e e e

parameter (npcu=4,np=npcu+nx+ny+nz) /npcu part.cel. unitária


REAL AÍ, A3, AS, AT...
data px/0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.0,0.5,0.5,0.5,0.0/ PARAMETER ( Al =
3.94:
Elcio alx, aly, alz são os lados da célula unitária
PARAMETER ( AS =
0.07:
N=npcu PARAMETER ( A9 =
0.02:
Do ix=l,nx / Translação na direção x
REAL SUM, R, R2
xt=ix—l
REAL RANF, DUMMY
Do iy=l,ny ! Translação na direção y INTEGER I
yt=iy—l To oo ooo e eo a ola

Do iz=l,nz ! Translação na direção z


SUM =
0.0
zt=iz—l
DO 1 =
1,12
N=N+npcu SUM SUM RANF
=
+ ( DIA
Do k=1,npcu
End do
M=3+k
R =
( SUM- 6.0) / 4
mme=N+k
R2=R+=R
rx (mm)=( xt+px(M-2))* alx
c Distribuicao de Gau:
ry (mm)=(yt+px(M-1))*aly GAUSS =
((((A9 x R2 +

rz (mm)=(zt+px(M ))*alz RETURN


Enddo
END
Enddo ! fim loop iz
Enddo ! fim loop iy
Enddo ! fim loop ix
ca 5.6 Condições Iniciais 71

return

end subroutine

iniciais, podemos inicializá-las de várias é


Quanto às velocidades maneiras. Uma delas

iniciar a simulação com todas as partículas com velocidades nulas. Uma outra é escolher

uma temperatura inicial e distribuir as velocidades daspartículas de acordo com a dis-

tribuição Maxweliana de velocidades. Desta forma podemos escolher uma temperatura


inicial o sistema. Uma pequena subroutine para fazer tal tarefa é:
para

REAL FUNCTION GAUSS ( DUMMY )


e ok ok odee he ok ae oe adee e odeadeDk le Dk DMDe o oie Dk ale he oe nhoodele ok oe oheodeok Dk ak ole e ok Dk he ok nhoakeakeakeje afe oie akeodeje odehe oe ke ae ake

** Randon variate from the standart normal distribution.


** The distribution is Gaussian with zero mean and unit

*xvariance.
ode
*+ REFERENCE
** KNUIH D, THE ART OF COMPUTER PROGRAMMING,
** (2ND EDITION ADDISON-WESLEY), 1978
++ Retorna uma variável aleatória uniforme entre 0 e 1

ee odeoe ah ae adee de e Je odeole Je ok ahead he De oe ole ole ole oe odehe e e odeole ode oe abel abel ie o odeoe he oe ahe ofe oe odeoe ole he nhofe fe e ole odeo

ria REAL AÍ, A3, AS, A7, A9


PARAMETER ( Al =
3.949846138, A3 0.252408784 )
PARAMETER ( AS =
0.076542912, A7 = 0.008355968 )
PARAMETER ( A9 = 0.029899776 )
REAL SUM, R, R2

REAL RANF, DUMMY


INTEGER I

SUM = 0.0

DO 1 =
1, 12

SUM = SUM + RANF ( DUMMY ) ! gerador de números aleatórios

End do
R =
( SUM —

6.0 ) / 4.0

R2 =R +R

c Distribuicao de Gauss

GAUSS =
((((A9 «x R2 + A7) * R2 + AS) * R2 + A3) + R2 +A1)*R
RETURN
END
78 Dinâmica Molecular Prática
pedaços
na
5.7 Juntando os

SUBROUTINE VEL INICIAL( TEMP ) 5.7 Juntando os pes


** Velocidades translacionais com distribuição
++de Maxwell-Boltzmann
.
4
Devemos agora juntar todos os 1
distribuição
j

** A é determinada pela temperatura e

*x(unidade) massa.
1. Algoritmo para integração
INTEGER N / Numero de partículas do sistema
PARAMETER ( N =
108) 2. Condições iniciais

REAL VX(N), VY(N), VZ(N)


3. Criação da tabela de pois:
REAL TEMP, MASS ! T em unidades de constante de Boltzmann
REAL RTEMP, SUMX, SUMY, SUMZ 4. Condições de Contorno
REAL GAUSS, DUMMY
INTEGER I Um possível código de um prog
RTEMP =
SQRT ( TEMP/MASS )
DO 1 =
1,N 1. Program DM

VX(I) =
RIEMP * GAUSS ( DUMMY ) |

2. include
VY(I) =
RTEMP » GAUSS ( DUMMY )
VZ(I) = RTEMP * GAUSS ( DUMMY ) 3. call tabela ! gera as tabe
End do
4. call rede ! posiciona as 1
C ++ REMOVE NET MOMENIUM ++

SUMX = 0.0
!
5. callvel inicial define o

SUMY = 0.0
SUMZ = 0.0 6. do it=1, ntemp ! inicia a

DOT =1,N
7. call integra ! integrador
SUMX = SUMX + VX(I)
SUMY = SUMY + VY(I) 8. callcpc! aplica as cond

SUMZ =
SUMZ + VZ(I) .

9. call propri! calcula as p


End do
SUMX =
SUMX / REAL (CN) 10. end do
SUMY = SUMY / REAL ( N)
11. callmedias ! calcula as
SUMZ = SUMZ / REAL (N)
DO 1 =1,N 12. end program
VX(I) =
VX(I) —

SUMX

VY(I) =
VY(I) —

SUMY

VZCI) =
VZ(I) —

SUMZ 5.8 Medida de obse


End do

Após termos definido


algor um
END
ção das equações de movimentc
das trajetóriasde fase, várias qu

trajetórias
º
Como saber queas
ática 5.7 Juntando os pedaços 79

5.7 Juntando os pedaços


Devemos agora juntar todos os pedaços para formar nosso programa de simulação:

1. Algoritmo para integraçãodas equações de movimento

2. Condições iniciais

3. Criação da tabela de potencial e força


nn

4. Condições de Contorno

Um possível código de um programa de DM é mostrado abaixo.

1. Program DM

2. include

3. call tabela ! gera as tabelas do Potencial e Força

4. call rede ! posiciona as partículas em uma rede cristalina

5. call vel inicial ! define as velocidades iniciais

6. do it=1, ntemp ! inicia a propagação temporal

7. call integra ! integrador das equações de movimento

8. callcpc! aplica as
condiçõesperiódicas de contorno

9. call propri ! calcula as propriedades de interesse

10. end do

11. call medias ! calcula as medias

12. end program

5.8 Medida de observáveis

Após termos definido um algoritmo (Velocidade de Verlet, por exemplo) para a integra-
ção das equações de movimento e termos estipulado as condições iniciais para obtenção
das trajetóriasde fase, várias questões devem, ainda, ser respondidas:
º
Como saber que as trajetórias estão sendo obtidas corretamente”?
=

80 Dinâmica Molecular na Prática 5.9 Escolha do passo de integrz:

º
Quais grandezas físicas são passíveis de serem analisadas?

º
Quão longa, temporalmente, pode ser a simulação?
º
Como calcular grandezas macroscópicas? Para o Argônio, M =
6,63 >

Vejamos como responder tais questões e obter procedimentos úteis de análise dos fenô- 107!2s. At é tomado como uma fr

menos de interesse.
A escolha correta do passo de 17

pequeno, fazendo com que o sis

fase, e também não muito grande


5.9 Escolha do passo de integração das equações de movimento. A

maior possível, desde que a enerz


Conforme comentado acima, a escolha deAt, o passo de integração deve ser tal que tenas de milhares de passos de im

a energia total do sistema seja uma constante de movimento durante todo o tempo de são inte
equações de movimento
simulação. A escolha de At pode ser baseada no conhecimento prévio de algum tempo a energia total não será exatame:

característico do sistema. Por exemplo, a frequência de Einstein, frequência de vibração


flutuação deve sempre ser menor

dos átomos de um sólido em torno de sua posição de equilíbrio, supondo que todos os

átomos são descrito por osciladores harmônicos com a mesma frequência (Reif 1965),
pode ser calculada através de

1
mgE = —

(V2U
(VU)
35

O passo de integração deverá ser uma fração de oscilação, por exemplo, wg At = 0.1,
tal
o que significa que o movimento de uma partícula i (componente x, por exemplo) x;(1) =

Asin(wrAt) será dividido em 10 intervalos.

Figura 5.8: Representação da oscilação temporal de uma partícula e seu período de


oscilação característico.

Em geral At é da ordem de 10-!3s. O tempo característico (T =


1/wE) e, portanto, At

pode ser estimado através da equação de movimento. Se as grandezas característica do

sistema forem, M para a massa, R um comprimento, e Ey uma escala de energia, então

d2F(1)-SUsMmb=D .
R Eo
?2É2OR
m
d?
ou,
5.9 Escolha do passo de integração 81

Para o Argônio, M =
6,63 x 107% kg, R »
3Á, Eo-120 kp, resultando em 72 x

)- 107!2s. Az é tomado como uma fração conveniente deste tempo.

A escolha correta do passo de tempo deve ser feita de forma a


seja
que não demasiado

pequeno, fazendo com que o sistema não tenha uma evolução adequada no espaço de

fase, e também não muito grande que venha comprometer a estabilidade integração
da
das equações de movimento. A escolha do passo de tempo de integração deve ser o
maior possível, desde que a
energia total do sistema seja conservada, mesmo após cen-
tenas de milhares de passos de integração. É importante também observar que, como as

equações de movimento são integradas via discretização das equações de movimento,


a energia total não será exatamente constante, mas terá uma pequena flutuação. Esta
flutuação deve sempre ser menor ou da ordem de 1074 para todo tempo de simulação.
Capítulo 6

Simulando Fora do Ensemble

Microcanônico

“Não há problema em hesitar se depois prosseguir.”

Bertolt Brecht

Discutimos no capítulo anterior simulações por DM feitas no ensemble microcanônico

é gerado quando equações de Newton são integradas para um sistema


(NWE), que as

linear momento angular do sistema são constan-


isolado. A energia total, momento e

tes de movimento. No entanto muitas vezes é conveniente simularmos a dinâmica de

um sistema em ensembles diferentes, mais apropriados para as propriedades que se de-

seja estudar, tendo, por exemplo, a temperatura ou a pressão como constantes de movi-

mento. Os métodos que permitem a simulação em ensembles distintos do microcanô-

nico seguem a ideia original de Andersen (Andersen 1980) utilizando novas equações de
movimento, baseadas em Lagrangianas alternativas, gerando constantes de movimento

de Andersen é pro-
compatíveis com os ensembles de interesse. No trabalho original
posto um método para a simulação do ensemble isoentálpico-isobárico.O volume da

caixa de simulação passa a ser variável permitindo a simulação a pressão constante.


Parrinello e Rahman (PR) (Parrinello and Rahman 1980; Parrinello and Rahman 1981)
aperfeiçoaram o método de Andersen propondo uma nova Lagrangiana para a simula-

isoentálpico-isostress(HSN), caixa de simulação poderia,


ção do ensemble qual no a

tensão interna imposta pelas partículas, mudar sua forma e tamanho. J á para
segundo a

ter constante egeração do ensemble canônico


a vários métodos podem
se temperatura
ser utilizados. O método Nosé-Hoover-chain (Martyna, Klein et al. 1992), sendo um
84 Simulando Fora do Ensemble Microcanônico 6.1 Pressão constante co:

dos mais populares, é capaz de gerar o ensemble canônico de maneira precisa e estável manifestadas como pulsaç
para sistemas complexos. Além deste a dinâmica de Langevin mesmo tendo deficiên- ções periódicas de contom

cias é um método simples de fixar a temperatura e pode ser muito útil. Vários outros escalando as posições das
métodos foram propostos para a simulação em ensembles diferentes desses (Allen and das p; =
not . Sendo :

métodos P; será sempre númer


capítulo, discutiremos
um
Tildesley 1987), contudo, neste em detalhe apenas os

de Andersen, Parrinello-Rahman, Nosé-Hoover-chain e Langevin, que são os métodos condições periódicas de c

microcanônico. variáveis escaladas torr


simulação fora
as
mais populares de do ensemble

(PPS, O) =+0
6.1 Pressão constante com o método de Andersen
O momento conjugado dz

Em 1980 Hans C. Andersen (Andersen 1980) sugeriu novas formas de se fazer simula-

ções por dinâmica molecular. Essas formas inovadoras permitiram obter propriedades
em outros ensembles nos quais energia e volume não são fixos (microcanônico). Um
momento conjugado d
dos métodos introduzidos permitia ao sistema flutuar a energia, de modo a manter a
e o

temperatura constante. Andersen mostrou que as médias sobre a trajetóriano espaço de

fase durante uma simulação usando este método eram iguais à média no ensemble canô-

nico. Outro método introduzido permitia ao sistema apresentar flutuaçõesadiabáticas de

último método também Com isto a Hamiltoniana


volume durante a simulação. Para este Andersen mostrou que
os resultados obtidos através de médias temporais durante as simulações eram iguais à

média no ensemble isoentálpico-isobárico.


H(p",1,9,11) =

A ideia básica de Andersen neste último caso é tratar o volume £) do sistema como

variável dinâmica O método


As equações de movimen
uma (não mais uma quantidade fixa). baseia-se na seguinte
Lagrangiana
N

(PP ,0,0) =

to
Il m
=
14
LL joi
6 (Fi) + +Me PuD (6.1)

BA,
na qual M é uma medida da massa do pistão que permite ao sistema contrair e expandir
isotropicamente e P,,, é a pressão externa aplicada ao sistema (pressão do reservatório).
Os dois primeiros termos da Eq. (6.1) Lagrangiana clássica com o primeiro
formam a

termo fornecendo a energia cinética total e o segundo a energia potencial entre os pares

de partículas. O terceiro termo da Eq.(6.1) diz respeito a energia cinética associada a


dII 0H l
variação de volume (M tem unidade de massa x comprimento?) ao passo que o quarto
dl 9d 30
e último termo reflete a energia potencial associada ao volume.
A correspondência entre

Para que o sistema simulado corresponda fielmente ao sistema experimental espera-se reescalamento
que não apresente gradientes de velocidade e que responda instantaneamente e unifor-

memente a qualquer diferença entre a pressão externa e a interna. Cada uma das par-

tículas deve responder ao mesmo tempo, de modo que as flutuações de volume sejam
a

6.1 Pressão constante com o método de Andersen 85

manifestadas como pulsaçõesdo sistema. Além disso, em geral, deseja-se utilizar condi-
ções periódicas de contomo. Andersen
conseguiu impor comportamento aosistema esse

escalando as posições das partículas r; e fazendo a simulação com as variáveis escala-


tuita das p; = 13, Sendo a posição das partículas sempre dentro da caixa de simulação
ow P; será sempre um número adimensional entre zero e um o que permite utilização de

wo condições periódicas de contorno de maneira usual. A Lagrangiana para o sistema com

as variáveis escaladas torna-se

1
Pi LE o( (OP pi)
.

£(pND" ,9,9) =

528Empr +
MO Por. (6.2)
i==1 j>i
=

O momento conjugado de p; será

dE
mi
=D
-mO!a.
Mi Pi 6.3
(6.3)
E

e o momento conjugado de 92 será

d£ .

= — =
MO. 6.4
(6.4)
36

Com isto a Hamiltoniana do sistema se torna

1 Iê
H
(p",x,9,11) =

mon a+
i<j=1
> 0 (pj) +
7
*PaD. (65)

As equações de movimento podem ser obtidas como

dp; 9H Z;
(6.6)
di Om mo
di 0H “2 af Pij 134.
ao “do +t1?(o pi) , (6.7)

do 0oH HW
a on M (6.8)

ai 9H 1 [-25h,m +18
(91 sl)
.

“dr
=

“20
=

"30 E V pi 4 +30Pw. (6.9)

A correspondência entre o sistema escalado e o sistema original é obtida através do


reescalamento

=0/88, (6.10)

pi= 1/0128, (6.11)


86 Simulando Fora do Ensemble Microcanônico 6.2 Tensão constante com

Derivando a Eg. (6.10) em relação ao tempo obtemos

.
1 .

7; =
0124, + 52" Op;. (6.12)

Utilizando agora as egs. (6.6) e (6.11) temos

j
4 o

p=
m
+ 0805,
3
(6.13)

mostrando que, neste método, o momento das partículas não é dado diretamente em

termos da velocidade.

Finalmente podemos obter, das equações anteriores, Figura 6.1


as equações de Newton para as

partículas e para o volume.

Lp; d 2 dmQ
=
5 Lmolá? (22p;)50 o
x
(6.14)

!
dd
Ds rolo
541)

O)
[fasaem Loro (o (o,

)
=

(6.15)
=; od
.

oa

Esse método proposto cumpre fielmente a meta de simular o


isoentálpico-
ensemble
isobárico, pois se por um lado permite ao sistema apresentar flutuaçõesadiabáticas de
Figura 6.2: Vetor
volume, tratando este como uma variável dinâmica, não perturba o equilíbrio do sistema,
poisutiliza o conjunto de variáveis escaladas.

uma descrição alternativa d:

6.2 Tensão constante com o método de Parrinello- Rahman

No algoritmo de Andersen a pressão é controlada através de flutuaçõesdo volume da


caixa de simulação, mas a sua forma inicial é mantida. Parrinello e Rahman (PR) (Par-
Com isto o volume da caixa
rinello and Rahman 1980; Parrinello and Rahman 1981) generalizaram o método de
Andersen de modo a permitir a flutuaçãode volume e forma da caixa de simulação, veja
Fig. 6.1, de modo a manter a tensão controlada.

O método de PR simula o ensemble (HSN), conservando assim tensão


Novamente para que seja pc
a entalpia (H), a

(S) e o número de partículas (N) durante toda a simulação. A caixa de simulação com
das partículas devem ser de:

forma variável utilizada no método de PR é descrita de maneira usando três


uma geral
vetores à,b e €, como está mostrado na Fig 6.2.
31 H

es
Com estes vetores podemos construir uma matriz, que chamaremos de h e assim obter
6.2 Tensão constante com o método de Parrinello-Rahman 87

oo om
Pd Va

A) .
f

aa
?
| 7

f
f É
f
onto
raio
AE f
/

f
f
PA p
fo j ff

Figura 6.1: Caixa de simulação mudando sua forma.

Figura 6.2: Vetores arbitrários representando a caixa de simulação.

uma descrição alternativa do sistema:

o
ay by Cy

h= (à,5,0) =
dy b; Cy (6.16)
a b; cz

Com isto o volume da caixa de DM será dado pelo determinante

EA —

Q=|h/=ã-(bx0).
h (6.17)

ão
Novamente para que seja possível utilizar condições periódicas de contorno, as posição
++

om
das partículas devem ser definida em termos de h por

rês
o
ax by; Cx Ei
A-hã-|l o bo ni (6.18)
ter a b, c; Gi
88 Simulando Fora do Ensemble Microcanônico 6.2 Tensão constante com o:

H=ba-mb+gê (6.19) A matriz G, trazendo informa

sendoO<é,m, G<li=1,2,.,N
O quadrado da distância entre partículas será dado por

e» O tensor de tensão internc

=(n-5)" G(8-5)) (6.20)

sendo o tensor G definido por


o STes
G=h h (6.21) e fornece a pressão (tensão
termodinâmica
com o superescrito T denotando a matriz transposta.

Finalmente, a velocidade das partículas é definida por: considerando a definição dz

+45 2 07%
Vi=h Si vi=Ss, GS. (6.22)

teremos
6.2.1 Aplicação ao caso de pressão hidrostática

A Lagrangiana proposta por Parrinello-Rahman para evolução das partículas e


a da caixa sendo K a energia cinética €

de simulação é dada por (Parrinello and Rahman 1981)


Se relembrarmos a definiçã:
remos que ela é dada em te:
17
E=-5Lmia i=1
ELetp+ ur (o “P)-p0,
i=lj>i
(6.23) simplesmente tensão (McQt

sendo m; as massas das partículas, é (7;;)opotencial de interaçãoentre pares de partícu-


las, M a massa fictícia da caixa de simulação, tr denota o traço, p a pressão hidrostática
externa aplicada e & o volume da caixa de simulação. Os dois primeiros termos da

equação representam a Lagrangiana clássica, com o primeiro termo fornecendo a ener- Nolimite, quando a tensão

gia cinética e o segundo, a energia potencial total do sistema. Já o terceiro termo da

equação diz respeito a energia cinética associada à variação de volume, ao passo que o

quarto e último termo reflete a energia potencial associada ao volume em questão. Esta

Lagrangiana gera o ensemble isoentálpico-isobárico(HPN).


Da Eg. (6.23), as equações de movimento podem ser deduzidas com a pressão hidrostática ,

Ad
;
(ri;
Mi SIS.
Si=— (gs) 6 G5i, (6.24)
sã Minis

Portanto, no caso geral, qu:


é o
=(1-p)a- 6.25
(6.25) sideramos a deformação d
h=(1-Pa
6.2 Tensão constante com o método de Parrinello-Rahman 89

A matriz G, trazendo informação sobre o tamanho e orientação da caixa, é definida por

5 - TNT
o=(bxcoxaaxb)=0
(h) (6.26)

O tensor de tensão interno 7 é definido por


))

n=
EmisTXPCs, -

i=l j>i Fij


(6.27)

e fornece a pressão (tensão) interna do sistema. Lembrando da definição da pressão


termodinâmica

pO=NkgT+W, (6.28)

considerando a definição de temperatura

2K
2) (6.29)
sk;
t eremos
2K W
o. |
6 5)
P*30"0
xa sendo K a energia cinética e W o virial.

Se relembrarmos a definição formal de pressão da teoria de mecânica dos fluidos, ve-

remos que ela é dada em termos do tensor pressão, também chamado tensor tensão ou

simplesmente tensão (McQuarrie 1976).

Px Px Paz
o
cu-
P=| by Py Px |:
(6.31)
ica
Px Poy Pa
da
jer- Nolimite, quando a tensão é isotrópica e não existe viscosidade
da

e o 10 0
<>

sta P=p| 0 10 |, (6.32)


001

com a pressão hidrostática p sendo definida (sempre) por

l 1

Pe). (6.33)
24) p=
5 (Pat Py+

Portanto, no caso geral, quando temos viscosidade ou tensões presentes ou quando con-
25) sideramos a deformação de um corpo rígido, como é o caso da caixa de simulação,
dttisaD
da
rm

º
Microcanônico 6.2 Tensão constante com
90 Simulando Fora do Ensemble TOC

do tensor pressão di-


6.2.2 Aplicação ao ca
devemos utilizar a definição formal, Eq.(6.31). As componentes
às eixo ortonormal
forças exercidas face como
zem respeito em cada perpendicular a um

Para o caso de tensão exam


mostrado na Fig 6.3.
devendo ser consider
mais,
associada à caixa de simmulzç

de referência da caixa d= sm

and Lifshits 1986). 4 perum

àc05
partículadevido a umz

7a
Pex


Descrevendo o estado

tensão face perpendicular ao eixo x em um corpo


Figura 6.3: Componentes do tensor na

rígido.
escrevi
com isto podemos

Considerando então a definição formal, teremos:

Segundo a definição do 1cz

p= oo (mitopdf) (6.34)
Lifshi*t*s et al. 1986) com

Na nossa notação

p=T= a [Em Eat)


v;vT
i i
(6.35)
podemos então obter, usar

com

Demi Vida DimVady DimiViViz


55
>T + o

(6.36)
+ +

mv; =|
EimVpd Domo DimiViyViz Com aexpressãodo tenso
Cima Dimdidy DimViVi são para a energia potenci

DimifixFix FixFy
DXimi Dim Pix Fiz
a 1a
“ET a

SimiPiy Fx Jimifiy Fi DimiFiy Fiz (6.37) tensão externa


Vm ri F, =
sendo S a 2

f
Sami FiaFix Dim FizFi Limi FizFiz Eq.(6.43) e a propriedade

por PR não é única. Outras Lagrangianas foram


Salientamos que a Lagrangiana proposta
resultado final mostraram ser independes da forma
propostas (Wentzcovitch 1991) mas o

inicial da Lagrangiana.
6.2 Tensão constante com o método de Parrinello-Rahman 91
IS

i- 6.2.2 Aplicação ao caso de tensão geral


10

Para o caso de tensão externo não isotrópico, as equações de movimento não valem

mais, devendo ser considerada uma nova expressão para a energia potencial elástica
associada à caixa de simulação. Com o intuito de fazer isto, devemos definir um estado

de referência da caixa de simulação, assim como é feito na teoria da elasticidade (Landau


and Lifshits 1986). A partir desse
estado, podemos definir o deslocamento de uma dada

partículadevido a uma deformação da caixa

d=Ff—To. (6.38)

Descrevendo o estado de referência através da matriz ho, teremos

++
a

7o=hos, (6.39)

po tr eram
f=hs=hho Fo, (6.40)

com isto podemos escrever


el
i=(hho —Dr7o. (6.41)

4) Segundoa definição do tensor de tensão (deformação) £ de Landau e Lifshitz,(Landau,


et al. 1986) com de Po
Lifshi*t*s x, representando os componentes

a dus du duy duy

5)
Eau 3
(er Ee) (6.42)

podemos então obter, usando a Eq.(6.21)

1/8To ger
E=5 (ho) Gho
a). (6.43)

36)
Com a expressão do tensor de deformação em mãos, podemos agora redefinir a expres-
são para a energia potencial elástica

Va p(Q— O9) +
Ootr(S p) E, (6.44)

=

37)
sendo S a tensão externa aplicada. Esta expressão pode ser simplificada, considerando a

Eq.(6.43) e a propriedade dotraço tr (ABC) =


tr(BCA) =
tr(CAB)

ma
Va —
(O

Oo) + Dir
es—1
(Cho) -)]
(8-0) 45T
Gho ,

( 6.45 )
APM
“OQ
=

( o)+trlho
O
(S-pJho)”
s- G|—Pir(S—p),
s-
92 Simulando Fora do Ensemble Microcanônico 6.3 Temperatura constante

Cálculo fim
desconsiderando os termos constantes p9 e
Sotr(S —

p) teremos em temperatura

[el ST Para um sólido cristalino em


1 o

Va
=pR+5tr [ho (S-p)(ho) 20] G. (6.46) constantes elásticas são cale

al. (Ray, Moody et al

Com isto para o caso de tensão geral, a Lagrangiana ganha um novo termo: e rapidamente convergente «

em uma simulação por


Lo
£=£-
57"(EG) (6.47) calculadas por

sendo o tensor E definido o


por
Capcd mo me

S( Gabo
ET
o

m -
prol
E=ho(S-p)(h) Do. (6.48)

sendo 92 o volume da czixz


Com esta nova Lagrangiana teremos uma nova equação de movimento para a caixa de
componente a do vetor dc
DM
.
o nz a

h=(n—-p)— 6.49
(6.49) tensão diferente de
CD Para
——

zer
Mm
and Rahman 1980; Parrimel
Utilizando esta equação e a Eq.(6.24), a simulação gerará o ensemble isoentálpico-
tantes elásticas toma a form
isostress (HSN), permitindo que as transformações estruturais aconteçam livremente.
Além disto, é possível aplicar tensões uniaxiais (tanto compressão quanto tração) sobre ho
patogbhore
Qohg to.

a caixa de simulação, estimulando algumas transições estruturais específicas. T —

Vemos então que as


simulações nos ensembles isoentálpico-isostresse isoentálpico-
isobárico seguem uma mesma estrutura computacioal dividida em duas etapas: sendo h =
(ã,b,C) com d.5

denotam o estado de referêr


1. Na primeira etapa as equações de movimento nas coordenadas escaladas são in-
escalada dada por x;;p
=
>
tegradas, as condições periódicas de contorno aplicadas, isto é, realizamos uma

simulação no ensemble microcanônico para as coordenadas escaladas. O número


de partículas é fixo e o volume é unitário.
6.3 Temperatur:
2. Na segunda etapa as
trajetórias são transformadas para suas coordenadas reais
através da métrica Eg. 6.18 ou Eq.6.40 e as grandezas físicas, tais como força Assim como a tensão pode
entre as partículas, temperatura, deslocamento quadrático médio, etc, são daí de- também pode ser 1
peratura
terminados .
qual o sistema possa trocar

1984; Nose 1984) foi o prir


Propriedade Mecânica ado nesta ideia. O grau de 1

incluído através de um Ham


Cálculo utilizando deformações da caixa e variações na energia
ensemble canônico e a tem

As constantes elásticas podem também ser calculadas estaticamente através da expansão é dado
proposto por
da energia potencial com as deformações da caixa de simulação, ou ainda, para um

sistema cristalino equilíbrio, usando formulas de flutuaçãodo


em tensor tensão interno.

Veja por exemplo (Ray, Moody et al. 1985; Landau, Lifshi*t*s et al. 1986; Ray 1988).
6.3 Temperatura constante usando Nosé-Hoover-Chain
IS 93

Cálculo em temperatura finita.

Para um sólido cristalino em equilíbrio em uma dada diferente


temperatura de zero, as
5) constantes elásticas são calculadas médias
como no
tempo durante a
simulação. Ray et
al. (Ray, Moody et al. 1985; Ray 1988) derivaram expressões para o cálculo preciso
e
rapidamente convergente das constantes elásticas em termos de flutuaçõesda tensão
em uma
simulação por DM. Para a condição de tensão nula as constantes podem ser
7) calculadas por

o 2NkBT l
Ô(GapOc4)
(DF
R

Cabed = ——>

+ (dadObe+ Oacôba)
+
KT q (ri) Xipaxijpkijexija
ij
(6.50)
sendo 92 0 volume da caixa simulação, ô (G,p0.4) (GabOca) (Cab)(Gra) €
de = —

Xi ja O

componente a do vetor de ligação entre as partículas i e j.


Para tensão diferente de zero na notação do ensemble de Parrinelo-Rahman (Parrinello
and Rahman 1980; Parrinello and Rahman 1981) a
expressão para o cálculo das cons-
tantes elásticas toma a forma

oa»hop.hoiCubea
Qohgpa = —

pr S(MpaMrs) + 2NkBT (GpGg) + GGI)


F
+ (Lis (rip)XijpXijaMijskijr)
(6.51)
sendo h =
(ã,b,€) com a bez os vetores da caixa de simulação. O índice Oem he O
denotam o estado de referência a tensão zero, M =
—L2h-lo(hT)-!,
2 s;;,jp )
é a coordenada
+ To
escalada dada € G métrico
por x; jp =
hpaSija O tensor dado por G=h h.

6.3 Temperatura constante usando Nosé-Hoover-Chain

Assim como a tensão podeser fixada


acoplandoo sistema a um barostato externo a tem-

peratura também podeser fixada


acoplando ao sistema um reservatório de calor, com o

qual o sistema trocar energia de modo a manter


possa à
temperatura fixa. Nosé,(Nose
1984; Nose 1984) foi o primeiro a
propor um método de simulação determinístico base-
ado nesta ideia. O grau deliberdade adicional representado pelo reservatório de calor foi
incluído através de Hamiltoniano modificado
simulação possa
um de modo a
que gerar o

ensemble canônico e a temperatura seja uma constante de movimento. O Hamiltoniano


ão
proposto é dado por
um

no. N 2
p?
+ d(m)+
O +(3N-2)kpTIns, (6.52)
odo
O
Co

6.3 Temperatura constante


94 Simulando Fora do Ensemble Microcanônico ittpte

O algoritmo de Nosé
sendo Q um parâmetro de inércia térmica, equivalente a massa do pistão no método
de PR, é um grau de liberdade extra que pode ser interpretado como o fator temporal
bem. Um
pre funciona
cxc
do termostato. Na Eq. (6.52) os dois primeiros termos representam a energia cinética
e potencial do sistema ao
passo que os dois últimos a energia cinética e
potencial do oscilações periódicas na =

termostato. As variáveis Q e s descrevem o reservatório de calor com o qual o sistema equações de movimento pre

está Nosé-Hoover-Chain estas é


acoplado. As equações de movimento a partir deste Hamiltoniano são dadas por:
original de Nosé é que ci

p= ly UÊ mentos para sistemas mL


ms s
(6.53) Berne
—DkpT/s. Tuckerman, et a!
Q5=Timris-(3N
dadas por:
O parâmetro ajustável Q define a taxa de controle das flutuações da temperatura do
sistema e deve
ajustado por ser tentativa e erro para o sistema que se queira estudar. Um

parâmetro Q muito grande faz com que o fluxo de energia entre reservatório e sistema

seja lento e a termalização do sistema com o reservatório seja longa. Por outro lado se
p So
O é muito pequeno flutuaçõesrápidas de temperatura se desenvolvem no sistema e são Õ
lentamente atenuadas resultando também em uma termalização inadequada.
sendo É, pg e Q a posição

Hoover(Hoover 1985; Hoover 1989) desenvolveu uma representação alternativa da pro- da cadeia e N o número É

posta por Nosé em que as equações de movimento se tornam independentes da variável utilizando o algoritmo we)

temporal s. Nesta representação as novas equações de movimento são dadas por:

=
. (6.54) .

P=Í-SD

sendo o coeficiente de atrito É dado pela equação diferencial de primeira ordem:

“— mrZ
e 3
É -
—kpT (6.55)

Hoover mostrou que estas equações de movimento geram configuraçõesno ensemble


canônico e são equivalentes as equações de Nosé.

O método de Nosé e de Hoover para a geração do ensemble canônico foi aperfeiçoado


sendo
por Martyna et al. (Martyna, Klein et al. 1992) Neste novo método o sistema e seu reser-

vatório de calor são acoplados a um outro reservatório de calor e assim sucessivamente


formando uma cadeia de reservatórios. O hamiltoniano para este método conhecido
como Nosé-Hoover-chain é dado por
Uma vez que o valor de
N M
p2
Em calculam
H Tm:

i=l (E 2m,
(1)
+ L5 42 o;
+ NksTm +
TD i=2
ma (6.56)
no mesmo tempo

l
k
sendo M o número de termostatos acoplados e
n; e Q; respectivamente a massa e mo- VE
co (Ar) =
——
mento do i"ésimo termostato. pp
6.3 Temperatura constante usando Nosé-Hoover-Chain 95

do
O algoritmo de Nosé-Hoover-Chain pode ser utilizado para controlar com precisão a

temperatura em simulações complexas no qual o algoritmo original de Nosé nem sem-


ral
ica pre funciona exemplo bem. Um é o caso de simulações de proteínas,nas quais grandes
oscilações periódicas na energia cinética total podem se desenvolver. Além disto, as
do
equações de movimento propostas por Nosé não são sempre ergódicas. No método de
ma

Nosé-Hoover-Chain estas dificuldades são superadas. Outra vantagem sobre o método

original de Nosé é que ele fornece a correta distribuição canônica de posições e mo-

mentos para sistemas muito pequenos ou muito rígidos (Martyna, Klein et al. 1992;
Tuckerman, Berne et al. 1992). As equações que regem a evolução dos termostatos são

dadas por:

Ê Nha] o
N 2
z

De, Db; DE
é
.

2 (6.57)
= = —

dg 7 P&
i Pi
i=1

2 2
) SE
Pe, Dé Ps

E pT|-pr-É,
| [El
e,

kpT 6.58
(6.58)
=D
Pê; Pê; Pêu
=
Ê
são O ju Qua
sendo É, pg e Q a posição, o momento e a massa dos termostatos, M o comprimento
TO- da cadeia e N o número de partículas. A discretização das equações de movimento,

ível utilizando o algoritmo velocity-Verlet para estas equações, resulta em:

À
2

ri(AL) r;(0) + vi(O)At=


+
o —vi(O)ve
0)Ea (6.59)

54)
Ar
É(0) + VE(OJAr+ Gs (0)
.

E (Ar) =
(6.60)

55)
vi(41) =
vi(0) +
e wo) 0)> +
E —

(Ars
(an)
S (6.61)

nble
|

un q
At
velar) =

ve(O)+ (Ge(0)+ Ge(At), z (6.62)


ado
sendo
ser-

ente LIL —NhkeT


|.
0 i=lDmvi
Gr
=
(6.63)
cido

Uma vez que o valor de v; e (6.61) e (6.62) dependem diretamente de v; e


vs, egs. ,
vz
no mesmo tempo calculamos as velocidades através de um esquema iterativo:
5.56)
1 RO) Fi(4r) At]
tok(A =

[+ (Sta) |
UA
pu+| Em

vi(O
MODA +
Has 71)
(06.64
ND
E
To
TT
DD
DV

6.4 constant
Simulando Fora do Ensemble Microcanônico Temperatura
96

característico da dinâmica de

A
da dinâmica e determina a 12

vw(At) ve(0)+ [S: (0) + G;(49)| (6.65)


Quando 7 vai para o infimiso

com o valor inicial que quando 7 vai pa


passo
Ai) (0jAr. (6.66) é
v (41) =

vel +26; na velocidade. Este um ix

também como a densidade de estads


Em número de termostatos usados é da ordem de 2 ou 3. Vale salientar
geral o
vin é que ele efetivamente
que este processo iterativo para o calculo de v é bem rápido, bastando algumas poucas
por exemplo.
z
permitindo,
iterações.
gradientes de temperatura

6.4 Temperatura constante pela dinâmica de Langevin

é método conveniente de controlar fixar a temperatura


A dinâmica
e
de Langevin um

não gere configurações no ensemble canônico. Essencial-


durante a simulação, embora

mente, a dinâmica de Langevin soma uma componente dissipativa na força ao mesmo

aleatório cinético (movimento Browniano), mantendo


tempo em queadiciona um termo

a temperatura constante. Na prática durante a integração das equações de movimento,


fração da energia cinética de cada átomo é
removida do
a cada passo temporal, uma

e é substituída fração de uma velocidade aleatória seguindo uma dada


sistema por uma
exemplo, sobre uma temperatura
distribuição de velocidades, Maxwell-Boltzmann, por

definida.

Consideremos, exemplo, como


por é a equação de Langevin para uma partícula de massa

m sofrendo ação de uma força f


=
—-VQ

mi =
f+Ri-myh. (6.67)

Nesta equação, R é uma força aleatória que reproduz


as interações da partícula com o

fi —V$) e o último termo


(exceto as forças que podem ser reproduzidas
=
em
meio
sendo coeficiente de atrito efetivo com
representa as forças dissipativas do sistema, y o

padrão é
o meio. A força aleatória Gaussiana tem média nula,
(Ri(1) = Q e seu desvio

dado por

2mikaT 8 6(1— 1).


(Ri(DR;(1) =

O termo de velocidade toma a forma

At At
v' =

(1 5) —

T
v+—>vr
T
(6.68)

velocidade original, vz a velocidade aleatória da dis-


sendo v' a velocidade ajustada, v a

tribuição de velocidades ao redor da temperatura T, At o passo de integração e 7 o tempo


ico 6.4 Temperatura constante pela dinâmica de Langevin 97

característico da dinâmica de Langevin. Este tempo característico é um parâmetrochave


65) da dinâmica e determina a taxa com que o sistema tende para a temperatura definida 7.

Quando 7 vai para o infinito, o efeito da dinâmica desprezível,


de Langevin se torna ao

passo que quando 7 vai para 1, ela efetivamente destrói


qualquer correlação temporal
66)
na velocidade. Este é um fato importante pois interfere no cálculo de propriedades tais

ém como a densidade de estados vibracionais. A maior vantagem do método de Lange-

cas vin é que ele efetivamente impõe um termostato para cada partícula individualmente,
permitindo, por exemplo, a equalização rápida da energia cinética em um sistema com
gradientes de temperatura.

tura

mo

ndo

nto,
| do

ada
tura

assa

67)

m o

rmo

om

ão É

68)

dis-

mpo
Capítulo 7

Monte Carlo em Física


Estatística Clássica

"A teoria das probabilidades nada mais é do que o senso comum reduzido
em cálculos"

Laplace (1819)

O método de Monte Carlo apareceu pela primeira vez no artigo "The Monte Carlo

method, N. Metropolis, S. Ulam, Journal of American Statistical Association, vol 44


n. 247 (1949)335) (Metropolis and Ulam 1949). É um método numérico que permite
resolver uma gama muito grande de problemas fazendo uso de uma sequencia de nú-

meros aleatórios que permitem simular o problema de interesse. Importantes problemas


envolvendo muitos corpos implicam no cálculo de integrais como é o caso do cálculo
de uma função de partição. Em muitos casos estes cálculos são impossíveis de serem

feitos analiticamente, por isso várias técnicas numéricas foram desenvolvidas para se-

rem usadas em situações quando uma solução ou aproximação numérica é impossível.


Para sistemas com poucos graus de liberdade técnicas baseadas em diferenças finitas
fornecem resultados bastante satisfatórios. No entanto, quando o número de graus de

liberdade do problema é muito grande (como geralmente acontece em problemas de

mecânica estatística ) as técnicas mais adequadas fazem uso de métodos estocásticos,


em particular de métodos de Monte Carlo (MC). São nesses métodos que nos fixaremos
neste capítulo.
100 Monte Carlo em Física Estatística Clássica 7.2 Quadratura usando

método
7.1 Integrais multidimensionais de Monte Carlc
estimar a integral. Obser

do fornece uma estimativa


Em mecânica estatística é muito comum nos depararmos com integrais tipo
usando Monte Carlo mos
bn bz pb
du f(x1,ã2,..,XN),
I=
[ |
o ea / (7.1) 3 algarismossignificativr
que mede o tempo (em s

culo usando Simpson, o


sendo du =
dx dx> ...dxy. Para proceder à quadratura deste tipo de funções fixamos
Monte Carlo ele permar:
x>,..., Xy € integramos sobre x,, passando por todas as dimensões, sucessivamente.
é mero de integrais aumen
cálculo MN, sendo M
esforço computacional necessário
o
O para o proporcional a

cálculo dimensão. O método de Monte Carlo


número típico de operações necessárias da integral
o em uma
para
métodoé eficiente até uma dimensão N =
4, após
isto, integrações baseadas em métodos

estocásticos são muito mais eficientes.

72 Quadratura usando métodos de Monte Carlo

A integração de Monte Carlo é baseada no fato de que a integral é a média da função


integranda, f(x), sobre o intervalo de integração (teorema do valor médio).
+b
(7.2)
I=
/ flw)dx=(b-a)<f(%) >)

é área sob estimada tomando-se médias sobre


A quadratura, que a a curva, f(x), pode ser

aleatórias de pontos no intervalo [x, y] com x £ [a, bJey € [F(a), f(b)]. O valor
amostras

médio, < f(x) > é estimado como a média aritmética.

N
b—
<f0)>as *
a AC)
Fur
(7.3)

do do método vamos calcular, numericamente, a quadratura de


Como um exemplo uso

dimensão escolhida
uma função, para diversos valores de n, a

+eo n/ 2
(2 2
em dnd...dip= (7.4)
IM =

/ T

Nas tabelas abaixo mostramos os resultados obtidos usando os métodos de Simpson


e Monte Carlo. Nas mesmas tabelas é apresentado o tempo, em segundos, gasto na

integração foram numericamente considerados


computação das integrais. Os limites de

como sendo +/- 10. As quatro tabelas mostram os cálculos feitos para n =
1,2,3 e 4.

cálculo método
A coluna marcada L fornece o número de partiçõesusadas no usando o

de Simpson. Em uma dimensão, isto é, n =


1, usamos L partições, sen =2 a integral
cálculo usando
partiçõese Para o
é bi-dimensional e usamos L x L assim por diante. o
RA 7.2 Quadratura usando métodos de Monte Carlo 101

método de Monte Carlo, a coluna marcada M fornece o número de pontos usados para
estimar a integral. Observamos que para todas as dimensões, n, a partição com L =
32,
fornece uma estimativa da quadratura com 5
algarismos significativos. A estimativa

usando Monte Carlo mostra que usando 10º pontos sempre fornece uma estimativa com

3 algarismossignificativos, independente integral. da dimensão da Observando a tabela

que mede o tempo (em segundos) gasto em cada computação, observamos que no cál-

culo usando Simpson, o tempo cresce significativamente em n 4, enquanto =


no caso

Monte Carlo ele permanece praticamente constante. Fica claro que, à medida que o nú-

mero de integrais aumenta, o método de Simpson perde competitividade em relação ao

método de Monte Carlo.

DS

resultado

2)

re

resultado

on

2.8040
los
denaadã
3.1369
do
O
ral
oo
102 Monte Carlo em Física Estatística Clássica 7.4 Amostragem seletiva e É

em amostrar o espaço de com

forma que as médias estarís

configurações selecionadas
no

a ido forma.
Tempo (s) resultado

Vamos supor que a função !

0.003
E

16.000
uma distribuição de probabah
eo
valor médio de f (x)
0.021

Como discutido anteriormens

<f

- Monte Carlo
M Tempo(s) resultado Se nós amostramos a função
resultado
então o valor esperado de f
ESTÃO isto é
625.0 10º 0.003 0.0000

sell ec cell .

JD e 0025 96000
ucs É
co.
o

10º 21 5.5000 Este resultado pode ser facil

o O e osso seções serão dedicadas à disc

cálculo de quantidades termo:

Como conclusão, podemosafirmar que: Métodos de diferenças finitas sempre oferecem

melhores resultados que métodos de Monte Carlo, no entanto, o tempo de computa-


7.4 Amostragem :
ção pode se tornar proibitivo, de modo que a escolha deve ser feita, não pelo melhor

resultado, mas por aquele que é possível.


Em física estatística a distrib'

exponencial, e H(ix))/Tks da

7.3 Cálculo de propriedades termodinâmicas dade de que o sistema, em eg!

Has).
é técnica numérica usada mecânica Como ilustração,
simulação de mais considere
Carlo em
A Monte a importante u

estatística cálculo de termodinâmicas de um sistema físico. Uma vez


Suponha que partícula :
para o propriedades cm. a

que as propriedades termodinâmicas são obtidas de integrais de grandezas especificas C= 1,0 K/m? umaconstante.
no espaço de fase, o cálculo das mesmas é efetuado como descrito na seção anterior para alguns valores de temper
usando mais eficiente do espaço de fase. A forma de fazer a o termo no intervalo [0, 0,4] e
mas, uma amostragem
é conhecida como amostragem seletiva (importance sampling) que consiste Caso os números aleatórios ss
amostragem
a

103
7.4 Amostragem seletiva e balanço detalhado

em amostrar o espaço de configurações de acordo com distribuição de Boltzmann, de

forma as médias estatísticas são obtidas fazendo uma média aritmética sobre as
que
A idéia é muito pode descrita da seguinte
configurações selecionadas. simples e ser

forma.

é
Vamos supor que a função F(x) possa ser escrita como (x) p(x) f (x), onde p(x)
F =

uma distribuição de probabilidade arbitrária. A integral de F(x) no intervalo ja,blé o

valor médio de f(x)


b b

vm)=
[ regp6o,
Ja
1=
[6
Ja
(1.5)

Como discutido anteriormente a integral pode ser aproximada por uma soma

É
b—-a)
<Ff(%) > E N 1 i=l
flmp(a) (7.6)

Se nós amostramos função f (x) de acordo


a com distribuição de probabilidade p(x)
então média aritmética dos valores amostrados,
o valor esperado de f (x) torna-se uma

isto é

m
< f (x) >lab) =
Me
=| i=1 fl)
(7.7)

Este resultado pode ser facilmente generalizado para mais dimensões. As próximas
serão à discussão de como aplicar de forma eficiente estas ideias ao
seções dedicadas
cálculo de quantidades termodinâmicas.

7.4 Amostragem seletiva e balanço detalhado

Em física distribuição de probabilidade p(x) é proporcional a uma função


estatística a

isto é, a probabili-
exponencial, e (ixh/Tks, da configuração (x) de energia H((x)),
dade de que o sistema, em equilíbrio à temperatura 7, esteja em um estado com energia

H()).
partícula em uma
única dimensão de comprimento 1
Como ilustração, considere uma

cm. Suponha que a partícula esteja sujeita a um potencial V (x) =Cka(x— 0,5 Z, sendo
C= 1,0 K/m? uma constante. A Fig. 7.1 mostra o fator de Boltzmann exp(—V(x)/kBT)
0,001 K. Para a temperatura mais baixa,
para alguns valores de temperatura, 0,1, 0,01 e

o termo no intervalo [0, 0,4] e [0,6, 1] dará uma contribuiçãodesprezívelpara a integral.


números aleatórios uniformemente no intervalo [0,1], estaremos
Caso os sejam gerados
104 Monte Carlo em Física Estatística Clássica 7.4 Amostragem seletiva

desperdiçando80% do tempo computacional. Para um sistema com 100 partículas ainda número de passos de MC
em uma dimensão e sujeitas ao mesmo potencial, somente 0,210 =
1,27x1077ºdo cular. Assim, quando nos

total dos números aleatórios irão efetivamente contribuir para o valor da integral. Um número de passos (ou dz
algoritmo de MC eficiente deve gerar números aleatórios preferencialmente próximos
Médias em mecânica esta!
do mínimo, x =
0,5, do potencial. Neste exemplo fica claro que o sucesso do método de

MCencontra-se na técnica de amostragem seletiva, como será descrito abaixo.

(Íx))
12
onde peg representa
equação Master é zero
io

os & 0=Pwit:
“Ea (x)
E
08
&
x Esta equação pode ter di

04
vd
ooo
condição de balanço dera
22
0=w((x
t my t r s8
09 02 04 0.6 08 19 —

Como p (fx) =Z"te


x (cm)

Figura 7.1: Energia potencial e fator de Boltzmann para uma única partícula em uma

caixa unidimensional.
com 8 =1/Tkp. Além É

condição significa que É


A amostragem seletiva significa escolher configurações do sistema que satisfaçam a dis-
número finii
HC) Tha (xy) em um

tribuição p(fx)) = Z”7 1 , onde Z é a função partição do problema.


w(txo)

Este objetivo pode procedimento geral. Suponha que o sis-


ser atingido usando-se um

tema esteja em um estado cuja configuração pode ser escrita como (x7. Nós podemos Existem várias possibilic
construir detransição w([x+ — (x')) tal que não importa a configuração inicial es-
satisfaçam a condição d:
taxas

colhida, a configuração final do sistema após a aplicação de w um número suficiente de conhecido algoritmo de !
vezes nos leva ao estado que procuramos. Para mostrar como isto funciona começamos
com a equação Master

pls +) p(B =
E w(bi) EM) p(bého-
>

(7.8)
Nesta equação escreverr
vb LDP(b1)
escolha é muito simples |

Esta equação diz que a probabilidade de encontrar o sistema em uma dada configuração 1. Escolha uma confgur:
fx) aumenta devido a transições de diferentes estados (x') para (x) e diminui quando
2. Escolha uma nova cor
as transições são em sentido inverso. Um pouco de cuidado deve ser tomado quando
interpretamos t na equação Master, ele é simplesmente uma índice marcando o AE H
o tempo 3. Calcule =
((x
pat

7.4 Amostragem seletiva e balanço detalhado 105

número de passos de MC e não o tempo físico, como nas equações de dinâmica mole-

cular. Assim, quando nos referirmos a tempo em processo de MCestaremos falando do

número de passos ( ou de tentativas/ geração ) de MC.

Médias em mecânica estatística são tomadas com o sistema em equilíbrio, isto é,

pb (xy st) =
Peq (Lx) , (7.9)

onde pe (Lx) representa uma distribuição de equilíbrio. Neste caso o lado esquerdo da

equação Master é zero

0 = = ao (78) =

w
(Do > bo) púbo, O). (7.10)
Ertbd
x!)

Esta equação pode ter diversas soluções. Por razões práticas, é costume impor-se a

condição de balanço detalhado

0=w((xy> EP)plo) —w
(fx) = E) plo). (7.11)

—HUx)/Tka
Como p((x)) =Z"le obtemos

CID pinto) mtoo) (7.12)


w
(dx) + tx3)

com 8 =1/Tkp. Além desta condição devemos exigir que o sistema seja ergótico. Esta
condição significa que é possível transitar de um estado inicial (xo+ para um estado final

(xy) em um número finito de passos de MC

w
(Lob > Lab) way >
foDw(lny >
(xy) £0. (7.13)

Existem várias
possibilidades para a escolha das taxas de transição, bastando que elas

satisfaçam condição de balanço


a detalhado. A escolha mais difundida dá origem ao

conhecido algoritmo de Metropolis


1 se AE <0
w
(xy >
fx) = e (7.14)
eBlE se AE >0

Nesta equação escrevemos AE =


H((x) —

H(Íx)) . O algoritmo baseado nesta

escolha é muito simples e pode ser exemplificado da seguinte forma:

1. Escolha uma configuração inicial (x) =


(x1, X2, X3, ..., Xw)
2. Escolha uma nova configuração,por exemplo, (x = (x1, x 133 > XN)
3. Calcule AE = H ((x')) —

H((x>) e faça o teste:


106 Monte Carlo em Física Estatística Clássica 7.4 seletiva
Amostragem «

se AE <QOaceiteatroca fx! por fx) sendo

AE >0 aceite BSE


se atroca com probabilidade e

4. Continue o processo até que o sistema esteja em equilíbrio.

Este algoritmo pode ser entendido de uma forma simples. Começamos com uma con-

figuração (x) e a partir dela escolhemos uma nova configuração (x). Calculamos as

“fx
energias correspondendo a cada uma delas H((x)) e H ([x')). Comparamos as energias,
se a energia do novo estado é menor, a aceitamos como mais próxima da configuração
procurada. Se este processo for continuado, após um tempo suficientemente grandeter-
e sendo d o número de dx
minamos com uma configuração no estado fundamental (7 =
0). No entanto, o que
da média da energia p
procuramos é a configuração mais provável a uma temperatura T. Para isto devemos

permitir que o sistema flutue. O tamanho das é proporcional


flutuações ao fator e BE, harmônico) a integral p
pode

Permitimos então que o sistema flutue com esta probabilidade. Esta segunda parte do entanto, como um primeiro
é número aleatório O < 1 tV) usando nosso algoritm
algoritmo implementada sorteando-se um r < e o comparando
obtemos imediatamente
com a probabilidade e $2E, Ser < e-B2E aceitamos a nova configuração mesmo que
H ((xW> H((x)), caso contrário a rejeitamos. Isto pode ser visto introdução
como a

da entropia no sistema. Uma vez que o sistema está em equilíbrio, podemos iniciar o
processo do cálculo das médias. A partir deste momento qualquer configuração gerada
pelo processo acima será uma configuração de equilíbrio à temperatura T. Para obter- em que (V (x)),, represem

mos médias estatísticas configurações (xh,, (xh>, (xk,...,


geramos M (xy: O valor Carlo. Como configuração :

esperado de uma quantidade f(x) será simplesmente a média aritmética O próximo passo é fazer um

e calculamos V> (x) =

<f(W)>=
EMC ). (7.15) reiniciamos

paramos r com
o processo,
p= e
É"
cas

Muito cuidado deve ser dedicado ao uso de configurações correlacionadas. Veja, por xy € reiniciamos o

exemplo, D.P. Landau e Kurt Binger.


process
Detectamos neste procedim
ser o tamanho do incremens
Para responder a estas ques
7.4.1 Exemplo: gás de osciladores
peratura baixa (próxima ds

pequenos enquanto que a 1


Como um exemplo do uso do esquema descrito acima vamos calcular a energia e o calor
colher o incremento ôx pod
específico de um gás de osciladores à temperatura 7. A função de partição do conjunto ôx uma fração dessa ampli
pode ser escrita como
mero aleatório O < r< 1

V—
x pi
Pim
+ DiV (xi) podem ser positivos ou ng
Z-
fe hM, (7.16) o incremento como ôx =

razoável que nos permita d


sendo du =
II;idpidx;. A energia média é a soma das energias cinética média mais A melhor forma de fazer ist

potencial média calcular seu valor médio pz


de Monte Carlo é um proc:
7.4 Amostragem seletiva e balanço detalhado 107

sendo

fo Pi su +Evm), Pebdp a

om B
fe Bmap

2
PEV ei dx
gd
-B
|
EihZm + EV (xi)
lay JL;V(x;)e
j J
=
[Eres
o

MM)
.
o

fe BEVOddx

e sendo d o número de dimensões espaciais. Nosso problema se resume ao cálculo

da média da energia potencial. Se V(x;) é uma função simples (como um oscilador

harmônico) a integral pode ser feita analiticamente fornecendo (V) (K) = =

5 . No

entanto, como um primeiro exemplo, vamos supor que V (x;) =


mux /2e obter a média

algoritmo de Monte Carlo. Como osciladores são independentes


(V) usando nosso os

obtemos imediatamente
BY M
[Ve dx “a (7.17)
(V)
MD 6)
o

“feNoa
=

cada configuração obtida usando-se o método de Monte


em que (V (x)h, representa
Carlo. Como configuração inicial tomamos O calculamos Vi (x) V (x1) 0.
=
x =
x, =
e =

O próximo passo é fazer um incremento ôx em x, de modo que definimos x, =


x1 + 0x1
Vi, V> < Vi trocamos €
e calculamos V> (x) = V (x2). Comparamos V> com se x, por x2
reiniciamos o processo, caso contrário sorteamos um número aleatório O< 7 < 1 e com-

r com =
e BlW2- Vi) ser < p trocamos x, por x2 caso contrário mantemos
paramos p

x| € reiniciamos o processo. O procedimento é repetido até que o processo convirja.


Detectamos neste procedimento duas fontes de problemas, a primeira delas é: qual deve

ser o tamanho do incremento ôx e, a segunda é: o que queremos dizer por convergência?


Para responder a estas questões vamos entender fisicamente o problema. A uma tem-

baixa (próxima de zero) podemos esperar que os desvios de x = O serão muito


peratura
pequenos enquanto que a temperatura muito alta estes desvios serão maiores. Para es-

colher o incremento ôx podemosolhar para a amplitude do movimento Xmax e usar para


ôx uma fração dessa amplitude. A melhor forma de escolher esta fração é gerar um nú-

mero aleatório O < r < 1 e fazer ôx =


r.Xmaz. Lembramos, porém , que os incrementos

podem ser positivos ou negativos. Para que ôx possa ter ambos os sinais, redefinimos

ôx próximo problema é definir critério


o incremento como =
(1 —

2r)xmax.Nosso um

razoável que nos permita dizer que a sequencia convergiu para seu valor de equilíbrio.
is A melhor forma de fazer isto é escolher uma quantidade, digamos a energia do sistema,
calcular seu valor médio para longas sequencias (x, e compará-las. Como o
processo
de Monte Carlo é um processo estocástico, um bom critério de convergênciaé quando
108 Monte Carlo em Física Estatística Clássica 7.4 Amostragem seletiva e

As
as flutuações da energia forem da ordem de 1/ VM, para M suficientemente longo.
abaixo descritos acima.
Figs. 7.2-7.4 mostram os processos

ho
(V)
upo

Po
f En
DS

En f va

(7 TOO 200 300 400 500 600 700


Passos de Monte Caro

7.2: Amostragem típica da distensão da mola como função do número de passos


Figura
Carlo. A simulação
foi feita a alta temperatura. Figura 7.4:
: Energia poses
de Monte ?

calculada pelo método dz


independentes com 10 med
mentam à medida que a Les»
1

tracejada é o valor exato:


15

Integer i,N amostra:

ae= Data massa /1.0D0

Data N amostras /50


a)

iseed=73241
i=0

a ri Oo SG icont=0
Passos de Monie Caro
x
max=Dsgrt(T/(mass
x0=0.0DO
da sistema mola correspondente à
Figura 7.3: Amostra energia potencial para o massa
VO =
V(x0)
figura anterior.
Open(l, file=' conver

Write (1,'(16,1x,fIC
A mostramos de um FORTRAN para obter x V(x) seguindo Do i=2, N amostras
seguir uma parte programa
o critério descrito. O segmento de programa não está otimizado e tem apenas intuito r =
dble(rnd(iseed
xi x0 (1.0D0
pedagógico.
+ —

Vi V(xi)
oscilador If (Vi .le. VO)Then
Program mc
VO = Vi
Realx8 massa,nerg,V,r,T
Real*8 x max,x0,xi,VO, Vi x0 =
xi
7.4 Amostragem seletiva e balanço detalhado 109

1 T
f t
F
f
1
T

É
%
ê

$ —

0.8 X
-

o
pç f =
L

“a Ê

E 06H $ =

E
=

=
.

do
aE
04
pr
1
F
A -

dm

A
aa
Ro =

é A

*
A OD A O E
6
õ 0 i 15 2 Es
Temperatura (T)

Figura 7.4: : Energia potencial do oscilador harmônico, como função da temperatura,


calculada pelo método de Monte Carlo. Foram usadas 10 conjuntos de configurações
independentes com 10*medidas em cada conjunto. Observe que as barras de erro au-

mentam à medida que a temperatura aumenta por causa das flutuaçõestérmicas. A linha

tracejadaé o valor exato: (V) =


T/2.Por simplicidade fizemos kp=1.

Integer i,N amostras ,icont


Data massa /1.0DO/, nerg /1.0D0O/, T /1.0D0/

Data N amostras /500000/


isced=73241
i =0

icont=0
x max=Dsgrt(T/(massasomega+*+2))
x0=0.0DO

VO =
V(x0)
Open(1l, file='convergencia. dat”)
Write(1,'(16,1x,f10.6,1x,f10.6)")I,x0,VO
Do i=2, N amostras
r =
dble(rnd(iseed))
xi = x0 + (1.0D0 —

2.0D0xr)xx max

Vi =
V(xi)
If (Vi .le. VO)Then
vo = Vi
x0 = xi
110 Monte Carlo em Física Estatística Clássica 7.5 Modelo de Heisenher:

icont =
icont+1 dores. Uma forma mais m

Write(1,'(16,1x,f10.6,1x,f10.6)')I,x0,VO é gerar histogramas basead


Else 7 11
temperatura (ou 8 =

r =
dble(rnd(iseed))
Delt V = Vi —

VO

p =
Dexp(-Delt V/T)
Ao invés de trabalhar com
If(r .le. p)Then
VO = Vi
com a distribuiçãomicro-c
x0 = xi

Write(1,º(16,1x,f10.6,1x,f10.6)')I,x0,VO
Else
sendo p (E) a densidades d
Endif
necker. Em um sistema com

Endif
end do
Close
End

! qe em

Function V(x)
p
un
Realx8 massa ,omega,V,x do
Data massa /1.0D0/, nerg /1.0DO/
V

Return
=
0.5D0:«massaxnergx*2xx+*+2 N
End
1 ———

Uma vez que a sequencia tenha convergido, nosso próximo problemaé calcular a média
termodinâmica (V). Para fazer isto todos valores aceitos dex Figura 7.5: Histograma par
armazenamos os e
V(x) a
do ponto onde o sistema Os valores médios serão média
energia. O histograma foi o
partir convergiu. simplesmente a
dE 0,01.
=

aritmética de todos os valores obtidos (x) e


(V) do sistema em
equilíbrio. Como estes
valores foram obtidos de uma amostragem estatística, temos que estimar o erro cometido
Para dar continuidade ao nc
na medida. A forma de fazer isto é fazer K sequencias de medidas para as grandezas de
que permitirá explorar as p<
interesse, calcular os valores médios em cada sequencia e então calcular o desvio. Isto é,
obtemos as sequencias (x, e
(V), (k =
1,K). Calculamos (V), correspondendo a cada

grupo de medidas e o valor médio (V) =


(1/K)J (V),. O erro será dado pelo desvio
7.5 Modelo de H
(AV)= (1/K)S |V) (V),| de modo que V (V) + (AV). Simulações para vários

=

valores da temperatura podem ser feitas de modo que podemos obter o comportamento
de V (ou qualquer outra quantidade de interesse) como uma função de 7. O conhecido modelo de He
rede. Suponha que em cad
Histogramas
mento angular $ =
1/2. A

Os gráficos mostrando as sequencias para (x! e


(V) não são particularmente esclarece- matrizes de Pauli. O Hamil:
7.5 Modelo de Heisenberg Clássico 111

dores. Uma forma mais interessante de se olhar para o problemado cálculo das médias

é gerar sequencias para (xJ (V). Em simulação feita à


histogramas baseados nas e uma

temperatura T (ou 8 =
1/T) geramos configuraçõessegundo a distribuição canônica

BHQux)
=

p(t)) —
Ze

Ao invés de trabalhar com a distribuição no espaço de parâmetrosx, podemos trabalhar


com a distribuição micro-canônica

pHEy=2"p (Ee E,
€ dE,H((x)) O delta de Kro-
sendo p (E) a densidade de estados p (E) =
Dix, dE,H((x))
necker. Em um sistema contínuo as somas são substituídas por integrais.

t
t

estados
E
de f
i

Numero 5
À

Og 7 4
Energia

o oscilador harmônico mostrando o número de estados


Figura 7.5: Histograma para por
energia. O histograma foi obtido usando-se 10º configurações e um intervalo de energia
SE 0,01.
=

Para dar continuidade ao nosso programa vamos discutir um problema mais sofisticado

que permitirá explorar as potencialidade do método de Monte Carlo

7.5 Modelo de Heisenberg Clássico

O conhecido modelo de Heisenberg é um modelo para descrever magnetismo em uma

rede. Suponha que em cada sítio de uma rede d-dimensional existe um spin com mo-

A dinâmica é completamentedeterminada
mento angular $ =
1/2. do modelo pelas
matrizes de Pauli. O Hamiltoniano que descreve o modelo de Heisenberg é escrito como
IT
E
EEE
EG
ET

112 Monte Carlo em Física Estatística Clássica 7.5 Modelo de Heisenb

SS; , (7.18)

onde (i, j) representa uma soma sobre vizinhos próximos, N é o número de sítios da
rede e J é uma constante de acoplamento (Exchange constant) que determina a escala de

energia do sistema. O modelo acima é conhecido como o Modelo de Heisenberg. Um


modelo importante em mecânica estatística é definido se permitimos ao spin $ assumir
valores grandes. Neste caso podemos considerar uma versão clássica do modelo, onde $
superfície
pode ser considerado como um vetor definido na de uma espera de raio
clássico.
s:
Por uma liberdade de linguagem, usa-se chamar este modelo de Heisenberg Figura 7.7: Representaç

direção preferencial. €
magnético na direção -
preferencialmente na dir
desalinhado. Sabe-se q

gunda ordem, cujo pari:


este modelo vamos usar

Algoritmo

Por pedagógicc
motivos

simples possível. Algor


(Privman 1990), (Landa
conhecido como Metroz
Figura 7.6: A figura mostra um sítio central (branco) e seus vizinhos em uma rede cúbica
simples: Sítio central (branco), primeiros vizinhos (preto) e segundos vizinhos (cinza).
1. Ler dados: Ent

Definição do Problema
2. Tabela : Vetoriza
Como exemplo, vamos trabalhar o modelo de Heisenberg anisotrópico bi-dimensional.
definido 3. Config O: Criac
Este modelo pode ser pela seguinte hamiltoniana.

Ha =
JJ
(ij)
(Si $j+ ASS). (7.19) 4. Boltz : Faz o pros

5. xrand: Gerador c
O símbolo (i, j) significa vizinhos próximos. Os spins são definidos nos sítios de uma

rede quadrada bi-dimensional como se mostra pictoricamente na figura 7.7.


e usa uma definição mu
O efeito do
primeiro termo na soma é fazer com que os spins em sítios próximos se PLICIT DOUBLE PRE

alinhem direção para


na mesma abaixar a energia do sistema. Se J > 0 o modelo é variáveis cujasletras ini

ferromagnético e os spins se alinham no mesmos sentido, se J < O o modelo é anti- varáveis de dupla preci
ferromagnético e os spins tenderão a se alinhar em sentidos opostos. Observe que não precisão simples, por £

há direção preferencial de alinhamento. O segundo termo define redeclarada de pr


ASS z como uma como
7.5 Modelo de Heisenberg Clássico 113

HD
tw

Figura 7.7: Representaçãotridimensional de uma rede planar com spins de Heisenberg.

direção preferencial. Consideraremos A > O de modo que o alinhamento será ferro-

magnético direção na
temperatura z. A baixa pode-se esperar que o sistema se alinhe

preferencialmente na direção z, enquanto que a alta temperatura o sistema deve se tornar

desalinhado. Sabe-se que no modelo apresentado existe uma


transição de fase de se-

gunda ordem, cujo parâmetrode ordem é a magnetização na direção z, m,. Para estudar
este modelo vamos usar simulação de Monte Carlo.

Algoritmo

Por motivos pedagógicos o algoritmo de Monte Carlo usado nesta simulação é o mais

simples possível. Algoritmos mais sofisticados podem ser encontrados nas referências
(Privman 1990), (Landau and Binder 2009). Neste programa usamos somente o método
conhecido como Metropolis. O programa é composto por 5 sub-rotinas
ca
er

1. Ler dados : Entrada de dados

2. Tabela : Vetoriza programa


al.
3. Config O: Cria configuração inicial

19) 4. Boltz : Faz o processo de Monte Carlo

5. xrand : Gerador de números aleatórios


ma

e usa uma definição muito conveniente existente no FORTRAN que é a declaraçãoIM-


se PLICIT DOUBLE PRECISION. A função desta declaração é transformar TODAS as

o é variáveis cujas letras iniciais estiverem definidas dentro do parêntesesde declaração, em

nti- varáveis de dupla precisão, por default. No nosso caso somente a


função xrand é de

não precisão simples, por esta razão, toda vez que for usada dentro do programa deve ser

ima redeclarada como de precisão simples, ou REAL.


|

114 Monte Carlo em Física Estatística Clássica 7.5 Modelo de Heisenher:

A sub-rotina Ler Dados, como o


próprio nome indica, tem a função de receber os pará-
metros externos. Além disso define algumas constantes que serão usadas no programa e

evita que elas sejam calculadas a todo momento.

À sub-rotina Tabela merece uma explicação à parte. Atualmente, vários processadores


têm embutidos (em hardware ou software) funções que trabalham em modo vetorial.
Quando o programa a ser executado permite que partes ou o todo possam ser vetorizados,
isto podeacelerar muito a execução do programa. Assim, a sub-rotina Tabela vetoriza as

posições das variáveis de spin. Ao invés de usarmos índices duplos, triplos (2 dimensões
ou 3 dimensões) por exemplo, usamos um único índice. A transformação é feita dentro
da sub-rotina. Além disso, criamos 4 vetores com os índices dos vizinhos de cada sítio,
o que evita recalcularmos a
posição destes vizinhos a cada instante. É claro que este

procedimento ocupa mais memória, mas este é o compromisso para ter-se um programa
mais rápido. Cada compilador tem opções de otimização. No deste Figura 7:8: Rede quadrads
suas caso particular
a condição
periódica d= co
programa, usamos a opção -04. A tabela 1 abaixo mostra como fica uma tabela de
vizinhos para uma rede bidimensional de lados L x L com L = 4 e condições de contorno
periódicas. A tabela corresponde a Fig. 7.8. A sub-rotina boltz é o cora

Carlo. São feito n equilibr


[ Sítio [x+ [x- [34 [9- | cular as médias das funçõe
1 2 4 5 13 ser desprezadas, uma vez q

2 3 Í 6 14 Também,
equilibrar. dentt

3 4 2 7 15
de interesse: Magnetizaçõe
4 1 3 8 16
rotina, mesmo correndo o
5 6 8 9 1
economizar tempo de com
6 7 5 10 2
7 8 6 1 3 Finalmente temos a sub-ros
8 5 7 12) 4
usa dois algoritmos congrz
9 10 12/13 5
sua sequência, mantendo as
10 1119 14 6
11 12/10/1517 Programa principal
12 9 11/16 8
13 14 16 1 9 PROGRAM Heisen 2D
14 15/13/2110
IMPLICIT DOUBLE PREC
15 16/14 3 11
PARAMETER (L=4,L 2 =

16 13/15 4 12
COMMON/ spins/ Sx(LL
COMMON/ vizinhos /ipill
Tabela 7.1: Vizinhos de cada sítio de uma rede quadrada bidimensional.
COMMON/ constantes /pi
COMMON/ externl param
A sub-rotina Config O cria configuração inicial a ser
a usada no processo de Monte
COMMON/ nergyn. param:
Carlo. Neste exemplo a configuraçãoé criada aleatória, mas existem situações em que CHARACTER =40 arg con
as configuraçõesiniciais necessitam ser criadas de forma especial para agilizar a con- !
Comentários
vergência. Mudanças nesta sub-rotina podem ser feitas de forma trívial.
7.5 Modelo de Heisenberg Clássico 115

14 45 416

Ps o a o o

DS,

es

TO

10,
ste

na

Figura 7.8: Rede quadrada 4x4. Assetas indicam alguns vizinhos da sequencia devido
ste
a condição periódica de contorno.

no

A sub-rotina boltz é o coração do programa. Nela é implementado o processo de Monte

Carlo. São feito nequilibrio + n amostras MC. steps, passos de Monte Carlo. Ao cal-

cular as médias das funções de interesse as primeiras n equilibrio configurações devem


ser desprezadas, uma vez que este é o número de MC. steps necessário para o sistema se
são calculadas as funções termodinâmicas
equilibrar. Também, dentro desta sub-rotina
de interesse: Magnetizações (mx,my,mz) e a energia. O cálculo é feito dentro desta sub-
rotina, mesmo correndo o risco de tornar o programa um pouco mais complexo, para
economizar tempo de computação.

Finalmente temos a sub-rotina xrand que é um bom gerador de números aleatórios. Ela

usa dois algoritmos congruenciais entrelaçados, o que aumenta bastante o tamanho de

sua sequência, mantendo as outras qualidades.

Programa principal

PROGRAM Heisen 2D
IMPLICIT DOUBLE PRECISION (a-h,o-z)
PARAMETER (L=4,L 2 =
L/2,LL=L+L,LL 2=11/2)
COMMON/ spins/ Sx(LL),Sy(LL),Sz(LL)
COMMON/ vizinhos /ip (LL) ,im(LL),jp (LL) ,jm(LL)
COMMON/ constantes /pi,zpi,tempr, beta

COMMON/ externl param/iseed,n eqglibrio,n amostras


nte COMMON/ nergyn param/ax,ay,az,bx,by,bz
que CHARACTER+40 arq configs
on- ! Comentários
7.5 Modelo de Heisenh
Carlo em Física Estatística Clássica
Monte
116
ntot = n. eqglibrio
CALIL Boltz (isecd
com spins de Heisenberg
1 Monte Carlo para uma rede quadrada CLOSE
1
END
[====]=]D]55T2DDD—>—

3+bx2H 4+by*H 4+ bzzH 4


1 H/J = H 0+ax+H 1+ay*H 2+az*H SUBROUTINE Ler Dz
F

1 ] é tomado como J=1 IMPLICIT DOUBLE

! COMMON/ constantes

1 Implicit Double Precision (a-h,o-z) COMMON/ extern!. par

Este comando faz, por default, COMMON/ nergvn. para


1
constantantes € variáveis, CHARACTER=40 21
1 todas as

! cujo nome se iniciam pelas


| letras a-h e o-z como dupla precisão. 1! Ler dados

E:

dimensão linear da rede


uma
1 L corresponde a !

| LL é o volume da rede !

| Sx, Sy e Sz são vetores que guardam 1! Abre arquivo à

clássicas dos nerg 1


t as componentes
são vetores inteiros
E x ip(is), im(is), jp(lis) e jm(is) OPEN(1,File=' dai

coordenadas do vizinhos
| x o x que guardam as
READ(1,*)n. eqli5
e
i-negativo, j-positivo
1 x nas posições i-positivo, READ(1,*)n. amos

sítio is.
!j-negativo do spin no
READ(1 ,s)iseed
externa
1! tempr: contém a temperatura READ(1 ,*)tempr.º
! beta =
1/tempr READ(1,*x)ax,av.à
inicial do gerador de nergy nergyn
1 iseed: semente READ(1,*x)arg cor
de de monte carlo para
! n equilibrio: numero passos 1

! atingir o nergyn | Fecha arquivo


de amostras que serão geradas
! numero 1
n amostras:
! o cálculo de médias CLOSE
para
constantes que eventualmente
t ax,ay,az,bx,by,bz: 1

1! serão usadas no hamiltoniano 1 Define constar

conterá do
|! configs: variável que
o nome
1
arg
|! arquivo de configurações Pi = 4.0d0OsDATA
! Zpi = 2.0d0=Pi
| Sub-rotinas e funções usadas: beta = 1.0D0/ter
Entrada de dados
! Ler dados !

! Tabela Vetoriza programa ! Apenas para ne

Cria configuração inicial feita de


! Config 0 isendo
! Boltz Monte Carlo |

Gerador de números aleatórios


| xrand | Write(x,*)n.:
! | Write(x,*)n 2

CALL Ler Dados(arq. configs) 1 Write(*,*)ise


CALL Tabela | Write(*,*)tem
CALL Config. 0 1 Write(x,*)ax.
OPEN(3 ,FILE=arg configs )
7.5 Modelo de Heisenberg Clássico 117

ntot = n eqlibrio+n amostras


CALL Boltz(iseed,ntot)
CLOSE
END
[-==-=—>>>—==============EETFITITETTDISSECCDDHIDIDIDIDDTTD=

SUBROUTINE Ler Dados(arq configs)


IMPLICIT DOUBLE PRECISION (a-h,o-z)
COMMON/ constantes /pi,zpi,tempr,beta
COMMON/ externl param/iseed,n eglibrio,n amostras

COMMON/ nergyn param/ax,ay,az,bx,by,bz


CHARACTER+40 arq. configs

1! Ler dados —-

Entrada externa de dados


1

! Abre arquivo de leitura


!

OPEN(1,File=' dados heisen 2d.dat”, Status='old”)


READ(1,*)n eqglibrio
READ(1,*)n amostras

READ(1 ,“)Jiseed
READ(1,*)tempr,beta
READ(1,*)ax,ay,az,bx,by,bz
READ(1,*)arg configs
1

! Fecha arquivo de leitura


t

CLOSE
!

! Define constantes
1

Pi =
4.0d0sDATAN(1.0DO0)
Zpi = 2.0d0xPi
beta =
1.0D0/tempr
1

se a leitura do arquivo está


!Apenas para nergyn
!sendo feita de forma correta.

| Write(*x,*)n eglibrio
! Write(*,*)n amostras
| Write (+ ,*)iseed
| Write(x,*)tempr, beta

| Write(*x,*)ax,ay,az,bx,by,bz
118 Monte Carlo em Física Estatística Clássica 7.5 Modelo de Heis:

! Write(*,*)arq configs isitio = isitic

| Write(*,*)Pi,Zpi,beta iplisitio) =
ix

RETURN im(isitio) = ixz

END jp(isitio) = ix.

[=22]22==============[===========>=====>= ==

jm(isitio) = ix.

SUBROUTINE Tabela 100 CONTINUE


Parameter (L=4,L 2 =
L/2,LL=L+L,LL 2=11/2) 200 CONTINUE

COMMON/ vizinhos /ip(LL),im(LL),jp(LL),jm(LL) !

! Tabela Vetoriza a posição dos sítios da rede: ! Retire o come


[a(LD-I, (2,1)- 2 e assim por diante. ! a vetorização


! Cria duas redes como em um tabuleiro de xadrez !

! Os vetores iblack e iwhite contêm os índices ! OPEN(2,FILE=


! de cada rede e ip, im, jp, jm são vetores que
|! WRITE(2,110
!contêm os vizinhos de cada sítio. ! DO is =
1...
! | WRITE(2,111
! ! END DO
! ! 110 FORMAT(*
Lx jp(is) 1 111 FORMAT(O x

! ! CLOSE

! !

!im(is) x o (is) x ip(is) RETURN


! END

' l===============

! x jm(is) SUBROUTINE Conf:

! IMPLICIT DOUBLE
! Parameter (L=4.l
isitio = 0 COMMON/ spins/ Ssz

DO is =
1, IL COMMON/ constante

ip(lis) = 0 COMMON/ externl p


im(is) = 0 REAL xrand

ip(is) = 0 !

jm(is) =
0 ! Cria configura
END DO !

DO 200 iy =
1,L DO 1I=1,1IL
iyp=iy +11 z =
1.0D0 —

2.0

iym =
iy —

1 phi =
zpi*DBLE( =

IF(iyp .GT. L)iyp =


iyp —

L sxy =
DSQRT(1.0L
IF(iym .LT. liym =
iym + L Sx(i) =
sxy+DCOS
DO 100 ix =
1,L Sy(i) =
sxy*DSIN
ixp = ix + 1 Sz(i) =
2

ixm = ix —

1 END DO

IF(ixp .GT. L)ixp =


ixp —

L RETURN

IF(ixm .LT. 1)ixm = ixm +L END


7.5 Modelo de Heisenberg Clássico 119

isitio = isítio + 1

ip(lisitio) H
ixp+(iy —1)sL
im(isitio) H
ixm+(iy —1)*L
jp(isitio) ix+(iyp —DsL
jm(isitio) =
ix+(iym-—l)+L
100 CONTINUE

200 CONTINUE

! Retire o comentário das linhas abaixo para ver como funciona

! a vetorização e a tabela de vizinhos

! OPEN(2, FILE=" vizinhos. dat *)


! WRITE(2,110)
! DO is =
1, IL

| WRITE(2,111)is,ip(is),im(is).jp(is),jm(is)
! END DO

1 110 FORMAT(' sítio ",3x,” x+',3x,' x-*,3x,º y+',3x,º y-Ô


1! 111 FORMAT(2x,13,4(3x,13))
! CLOSE

RETURN

END
!

SUBROUTINE Config 0
IMPLICIT DOUBLE PRECISION (a--h,o-z)
Parameter (L=4,L 2 =
L/2,LL=L+L,LL 2=[1/2)
COMMON; spins/ Sx(LL),Sy(LL),Sz(LL)
COMMON/ constantes /pi,zpi,tempr,beta
COMMON/ externl param/iseed,n eqlibrio,n amostras

REAL xrand
1

! Cria configuração inicial aleatória de spins

DO 1 =
1, IL

z = 1.0D0 —

2.0d0+DBLE(xrand(iseed))
phi =
zpi*DBLE(xrand(iseed))
sxy =
DSQRT(1.0DO —

zxz)
Sx(i) =
sxy*DCOS(phi)
Sy(i) =
sxy*DSIN(phi)
Sz(i) = 2

END DO
RETURN
120 Monte Carlo em Física Estatística Clássica 7.5 Modelo de Heisenher

1 !!! Cria novos spins


SUBROUTINE Boltz(iseed,mc mt
steps)
IMPLICIT DOUBLE PRECISION Sz new = 1.0D0 —

7
(a-h,o-z)
PARAMETER (L=4,L 2 =
L/2,LL=L*L,LL 2=1L/2) phi =
zpixxrand(iscs
COMMON/ spins/ Sx(LL),Sy(LL),Sz(LL) sxy =
DSQRT(1.0DO —

COMMON/ vizinhos Sx new =


sxy*DCOS:
/ip (LL) ,im(LL),jp (LL) ,jm(LL) pi
COMMON/ /pi,zpi,tempr, nergyn beta Sy new =
sxy*DSIN( p)
'
COMMON/nergyn param/ax,ay,az,bx,by,bz
REAL xrand ! Calcula variação
1
!

! Usa o método de Metropolis para fazer mc


steps passos de MC kl =
ip(is)
! k2 =
im(is)
! k3 =
jp(is)
! Calcula magnetizações e
energia iniciais k4 =
jm(is)
vx =
Sx(k1l)+Sx(k2)+:
nergy =
0.0DO0 vy =
Sy(k1l)+Sy(k21-+!
amx = 0.0DO vz =
(1.0D0O + az)=

amy = 0.0DO0 dSx = Sx new-Sx(is

amz = 0.0D0O dSy =


Sy new-Sy(is
DO is =
1,1L dSz = Sz new-Sz(is

amx=amx+Sx(is) dE = dSxsvx + dSysv


amy=amy+Sy (is) !

amz=amz+Sz(is) ! Testa configuração


y
k1 =
iplis)
k2 =
im(is) p =
DEXP(betax=dE
k3 =
jp(is) IF (DBLE( xrand (isced
k4 =
jm(is) tua

!1!!! Recalcula
vx =
Sx(k1)+Sx(k2)+Sx(K3)+Sx(k4) magr

vy Sy (k1)+Sy(k2)+Sy(kK3)+Sy(k4) um

vz (1.0DO amx = amx + dSx


+ az)x(Sz(k1)+Sz(k2)+Sz(k3)+Sz(k4))
nergy =
nergy +
Sx(is)xvx+Sy(is)svy+vz+Sz(is) amy =
amy + dSy
END DO amz = amz + dSz

i step =
0 nergy =
nergy + dSz

WRITE(3,111)i step Sx(is) = Sx new


,amx,amy,amz,-energ
t!
Sy(is) =
Sy new
!! Faz mc steps de monte carlo Sz(is) = Sz new

1 ENDIF

DO 200 i step =
1, mc steps 100 CONTINUE

WRITE(3,111)i step
! Percorre rede 1 111 FORMAT(i5S ,4(1x
a em Mcstep
t 200 CONTINUE

DO 100 is =
1, IL RETURN
ta END
7.5 Modelo de Heisenberg Clássico 121

tt! Cria novos spins aleatoriamente


tm

Sz new = 1.0D0 —

2.0D0xzxrand(iseed)
phi =
zpixxrand(iseed)
sxy =
DSQRT(1.0DO ——

Sz newxSz new)
Sx new =
sxy+*DCOS(phi)
Sy new =
sxy+*DSIN(phi)
!

! Calcula variação na energia


1

k1 =
iplis)
k2 =
im(is)
k3 =
jp(is)
k4 =
jm(is)
vx =
Sx(k1)+Sx(k2)+Sx(k3)+Sx(kK4)
vy =
Sy(K1)+Sy(kK2)+Sy(k3)+Sy (k4)
vz =
(1.0D0 + az)+(Sz(k1)+Sz(k2)+Sz(k3)+Sz(K4))
dSx = Sx new-Sx(is)
dSy =
Sy new-Sy(is)
dSz = Sz new-Sz(is)
dE = dSxsvx + dSyxvy + dSzxvz
1

! Testa configuração local


1

p
=
DEXP(betaxdE)
IF (DBLE(xrand(iseed)) .LE. p)THEN
tt

!!!! Recalcula magnetizações e energia troca spins


um
amx H amx + dSx

amy amy + dSy


amz = amz + dSz

nergy =
nergy + dSxxvx + dSyxvy + dSzxvz

Sx(is) = Sx new

Sy(is) =
Sy new
Sz(is) = Sz new

ENDIF
100 CONTINUE

WRITE(3,111)i step ,amx,amy,amz,-energ


111 FORMAT(i5 ,4(1x,d12.6))
200 CONTINUE
RETURN
END
122 Monte Carlo em Física Estatística Clássica 7.5 Modelo de Heisenher

1 tanto o valor da energia qu


FUNCTION xrand (idum) Neste momento podemos «

função para
1
de cada obter
! Gerador de números aleatórios (Congruencial duplo) estes valores médios. Nas?
I
e magnetizaçãoe suas resz

PARAMETER (im1=2147483563,im2=2147483399,am=1./iml ,imml=iml —1)


PARAMETER( ial=40014,ia2=40692,iq1=53668,1q2=52774,irl=12211)
PARAMETER (ir2=3791,ntab=32, ndiv=l+imml/ntab ,eps=1.2e-7,rnmx=1.-eps)
INTEGER idum2,),k,iv(ntab),iy
SAVE iv,iy ,idum2
DATA idum2/123456789/, iv/ntabx0/, iy/0/
IF (idum .LE. 0)THEN
idum =
MAX(-idum,1)
idum2= idum
DO j =
ntab+8,1-1
k =
idum/igl
idum = ial *«(idum-kxiqgl)-kxirl
IF (idum.LT.0) idum=idum+iml

IF(j.LE.ntab)iv (j)=idum
END DO

iy=iv(j)
ENDIF

k=idum/iqgl Figura 7.9: Magnetização


idum=ial «(idum-kxiql)-kxirl peraturas.
IF (idum.LT.0) idum=idum+iml

k=idum/iq2 À medida que aumentam


idum2=ia2 «(idum2-kxig2)—-kxir2 seu valor no limite termod
IF (idum2. 1t.0)idum2=idum2+im2 de fase, este efeito se tom

j=l+iy/ndiv sistema consul


podem ser
iy=iv (j)-idum2
por exemplo V. Privman
iv (j)=idum
IF (iy.LT.l)iy=iy+rimml
xrand=MIN(amxiy ,rnmx)
RETURN
END
1 =——

Análise dos resultados da simulação

Executamos o programa Heisen-2D para diversos valores da temperatura, T, com a rede


de tamanhos L = 10. A figura 7.9 mostra a magnetização como função do número de

passos de Monte Carlo, Mcstep, para algumas temperaturas típicas. Observa-se que no
Figura
início da simulação o sistema não está em equilíbrio. Após certo número de Mcsteps,
ataca

7.5 Modelo de Heisenberg Clássico 123

valor da das magnetizaçõesflutuam em torno de um valor médio.


tanto o energia quanto
o sistema convergiu e começamos a medir os valores
Neste momento podemos dizer que
de cada função para obter o valor médio. Os erros são obtidos como as flutuaçõessobre
estes valores médios. Nas figuras 7.10 e 7.11 são mostrados os valores médios da energia

e magnetização e suas respectivas flutuações.

Magnetização
80
|

o 2000 4000 6000 8000 10000 12000

Magnetização em função de MC calculado diferentes


7.9: dos passos para tem-
Figura
peraturas.

À medida que aumentamos o tamanho do sistema, as funções medidas tendem para

seu valor no limite termodinâmico. Quando o sistema em estudo tem algumatransição


mais O estudo dos efeitos devidos a finitude do
de fase, este efeito se torna agudo.
diversas referências não serão tratados aqui. (ver
sistema podem ser consultados em e

por exemplo V. Privman).


«Se

+ Ee doi Titço hs
Enregres
436

Eid

ah cenio
e í
icms
Sins
a
tese

ge
:
* *
E &
«Sad et E k
&
£o&
$
«iss
“va q 04 40 143 tá 14 14 5

Figura 7.10: Energia como função da temperatura.


124 Monte Carlo em Física Estatística Clássica 7.6 Algoritmo Wang-L a»

mais adiante. Tomamos H


Nope fgrarras : :

(Ha
so dos Eiras .

histogramas. O algoritmo
60
Inicializamos com g (E
ar a

Magnetização 2 como Escolhemos uma configur:


zo função da temperatura

o
Geramos uma configuraçã

20 A nova configuração é ace

=
02 04 06 08 10 42 14 Esta escolha implica que «
um número pseudo-aleaté
Figura 7.11: Magnetização como função da temperatura. r< p. Fazemos a troca: E

rejeitada e reiniciamos o px

7.6 gência é testada do seguin!


Algoritmo Wang-Landau
multiplicamos g (E1) por u

somamos Í ao histograma
O método de amostragem conhecido como Wang-Landau foi desenvolvido na última
sidade de estados antiga. «
década. E um algoritmo muito poderoso que permite calcular, de forma alternativa, a
continua até que H (E) se
densidade de estados do sistema em consideração. (Wang and Landau 2001; Wang and
cer, trocamos f < fe:
Landau 2001)
parte de um programa que
dimensional. O programa
Em mecânica estatística o conhecimento da função de partição, soma sobre todos os

da clareza necessária.
estados (eg. 3.14), permite-nos obter todos os valores médios das grandezas deinteresse.
Uma vez que diferentes microestados podem ter a mesma energia E;, podemos agrupar
. .
f==========D[D=2=>>>
todos microestados
.

estes com mesma energia e escrever

Subroutine Wang.
Implicit Double ?
PEto)
Z=
De =

Ve(E)e PE, Parameter (L=10,1I


bi Ei
Parameter (N bin=:
,
, . . . .
Common/SPINS /mz(L.
função de
.

sendo g(E;) o número de microestados do sistema com energia E;. Assim a -


Common/ External Pa
partição será dada não por uma soma sobre todos os estados possíveis, mas sobre todas
Common/ Monte
.

Carlo
as P possíveis
! energias
8 do sistema.
! Uma
m vez estimada a densidade de estados, médias
Common/ WangLandau
dependentes da energia podem ser calculadas como antes. Uma vantagem muito grande
Dimension AlnG(N +
deste método é que a densidade de estados é independente da temperatura. Assim uma
Integer H(N bin)
vez
determinadog(E), saberemos a resposta do sistema para qualquer T.
Real xrand

O algoritmo é capaz de determinar, de forma iterativa, a densidade de estados g(E) a f =


DExp(1.0DO)
partir de aleatória espaço de energia. A simulação começa dE bin =
(E max

uma amostragem no com

a inicialização de g(E) com qualquer conjunto razoável de valores, o mais simples é Alnf =
DLog(f)
escolher g(E)=1 para todo valor de E. Um histograma H(E) serve como controle, deter- Do i =
1, Nbin
minando o número de visitas que se faz a cada valor de energia. Isto se tornará claro AlnG(i) 0.0DO
=
7.6 Algoritmo Wang-Landau 125
[td

mais adiante. Tomamos H(E) = 0 inicialmente. Observe que tanto g(E) quanto H(E) são

histogramas. O algoritmo funciona da seguinte maneira.

Inicializamos com g(E)=1 e H(E)=0


Escolhemos uma configuração inicial: (xJy com energia Eo

Geramos uma configuração tentativa (x), com energia E;


E
A nova configuração é aceita com probabilidade p (Eo — Ei) =
min
(1 8(E1)
*
Gm)
Esta escolha implica que se g(Eo) > g(E1) a nova configuração é aceita, do contrário,
um número pseudo-aleatório,O < r < 1, é gerado e a nova configuração é aceita se

r< p. Fazemos a troca: Ey <- E, e


(xhy < (x). Caso contrário a nova configuração é
rejeitada e reiniciamos o processo até obtermos convergência. Neste algoritmo a conver-
gência é testada do seguinte modo. Se uma configuraçãocom energia E, é aceita, então
multiplicamos g (E1) por um fator f (f é normalmente tomado como e 2.71828...)e =

somamos 1 ao histograma H (E,), e se a configuração não é aceita multiplicamos a den-

sidade de estados antiga, g (Eo) por f e somamos 1 ao histograma H (E9). O processo

continua até que H (E) seja uma distribuição razoavelmente lisa. Quando isto aconte-

cer, trocamos f <- «/f e repetimos o processo até que f = 1. Abaixo reproduzimos
parte de um programa que calcula a densidade de estados para o modelo de Ising bi-

dimensional. O programa sacrifica quaisquer procedimentos de otimização em função


da clareza necessária.

Subroutine Wang Landau


Implicit Double Precision (a-h,o-z)
Parameter (L=10,LL=Lx+L)
Parameter (N bin=2000)
Common/SPINS /mz(L,L)
de
Common/ External Parameter/T O,T F,dT
Common/ Monte Carlo/iseed,N eq, N sample
as
Common/ WangLandau/E min,E max
de
Dimension AlnG(N bin)
na
Integer H(N bin)
Real xrand

ja £f =
DExp(1.0DO)
jm d E bin =
(E max
—-

E min)/DBle(N bin)
Alnf =
DLog(f)
ET- Do i =
1, N bin

TO AlnG(i) = 0.0D0
126 Monte Carlo em Física Estatística Clássica 7.6 Algoritmo Wang

0 ! Define new ss
H(i) =

|
End Do
! Store total in E old r=(1.0D0 -—

2
energy
1 mz new =
sign
E 0.0DO ! Calculate th
old =

1
Do i=1,L
im = i —

1 DE =
(mz(i,j)-
1 E new = E old
ip=i+
If(E .GE.
if(i .eqg. Í)im NH [um new

1 (
if (i o O (o Ne?
pao
"mo H pr knew = +

Do k old = 1 ++
j=1,L
jm=j-1 p =
AlnG(k old
If(p .GE. 0)Th
jp=)+1
if(j eg. Dim =L AlnG(k new) =.

if(j .eq. L)jp = 1 H(k new) =


H(k
E old = E new
E old = E old + mz(i,j)*=(mz(im,j)+mz(ip,j) +

mz(i,jm)+mz(i,jp)) mz(i,]j) = mz mn

End Do Else !!

teste =
Dlog(D
End Do

-0.5D0xE If(teste .LT.


E old =
old
! Do Wang-Landau sampling until f 1 AlnG(k new) =

1 H(k new) =
Hí(k
Ikont = O E old = E new

Do 1000 While(DAbs(Alnf) .GT. 1.0D-8) mz(i,j)=mzn


! Inicio do W--L Else |!

1 AlnG(k old) =

Ikont = ikont + 1 H(k old) =


Hí(k

! Choose the site at random Endif !

! Endif !!

Else !!!
i =
L+«xrand(iseed) + 1

im = i-—1 Endif !!!


! Calculate th
ip=i+i
1 |
j =
Lexrand(iseed) +

If (Mod(Ikont .1
jm=)-1
Call H Flatnes
jp=j+1
If(H eps .LE.
if(i ceg. Dim
Alnf = 0.5D0 =

amo
if(i ceg. Lip NH

Do i =
1, Nbi:
if(j .eqg. Djm
H(i) = 0
if(j .eg. L)jp
127
sica
7.6 Algoritmo Wang-Landau

! Define new spin at (i,j)


!
r =
(1.0DO —

2.0d0xDble(xrand(iseed)))
mz new =
sign (1.1DO,r)
! Calculate the increment in energy
1

DE =
(mz(i,j)-mz new)+*(mz(im,j)+mz(ip,j) + mz(i,jm)+mz(i,jp))
E new = E old + DE

If(E new .GE. E min .AND. E new .LE. E max)Then !!!

knew =1+ (Enew-Emin)/d E bin


k old =1 + (E old —-

Emin)/d E bin
p =
AlnG(k old))-DLog(AlnG(k new)
If(p .GE. 0)Then !!

AlmnG(k new) =
AlnG(k new) + Alnf

H(k new) =
H(k new) + 1

E old = E new

mz(i,j) = mz new

Else !!
teste =
Dlog(Dble(xrand(iseed)))
If(teste .LT. p)Then !

AlnG(k new) =
AlnG(k new) + Alnf

H(k new) =
H(k new) + 1

E.old = E new

mz(i,)]) = mz new

Else !

AlnG(k old) =
AlnG(k old) + Alnf

H(k old) =
H(k old) + 1

Endif !

Endif !!

Else !!!

Endif !!!

! Calculate the flatness of H(E)


1

If (Mod(Ikont,100000) .EQ. 0)Then


Call H Flatness(H eps,H)
If(H eps .LE. 0.40D0)Then
Alnf = 0.5D0O « Alnf

Do i =
1, Nbin
H(i) H 0
128 Monte Carlo em Física Estatística Clássica 7.6 Algoritmo Wang-L
ams

A figura 7.12 mostra o resu


End Do

Endif
desenhamos no eixo “y” ix

Endif
1000 Continue ! Fim do WL
e
dt
E, g(E) e H(E) finais
IGrava Energia,
1

Do i bin =
1,N.bin
(AlnG(i
If bin) .gt. 1.0D-8)Then in (HE

Write(*,*)i binxd E bin+E min ,AlnG(i bin),H(i bin)


Endif
End Do

Return

End
!
Subroutine H Flatness(H eps,H)
Figura 7.12: Logaritmo dz

Implicit Double Precision (a-h,o-z)


Parameter (N bin=200, DN =
1.0DO/(1.0D0O*N bin))

Integer H(N bin)


Aver H = 0.0DO

Cont = 0.0DO
Do i=1, Nbin
If (H(i) .ne. 0)Then
Cont = Cont + 1.0DO

Aver H = Aver H + 1.0DOx=H(i)


Endif
End Do

Aver H =
Aver H/Cont

XH = 0.0D0
Do i=1, Nbin
If(H(i) .ne. O0)Then
XH =XH + (Aver H —

1.0DO+H(i))+*2
Endif
End Do

XH =
DSgrt(X H)/Cont
H eps =
X H/Aver H
Return

End
!
ica 7.6 Algoritmo Wang-Landau 129

A figura 7.12 mostra o resultado obtido para G(E) usando nosso programa. Por clareza
desenhamos no eixo “y” In G(E).

L5e+0s pr

A
1405 f & -

É &
En GE) é
he

t
a

HR:
seooa
— 4

: +
n

F 4 A

S60
iai
54
L 1 Ea 50
de

& Ho
Energia

Figura 7.12: Logaritmo da densidade de estados obtida pelo método de Wang-Landau.


Capítulo 8

Paralelizando a Simulação

"Divida e conquiste”.

Napoleão Bonaparte

8.1 Introdução

Neste capítulo discutiremos conceitos e ferramentas necessárias à paralelização de um

código serial.(Allen and Tildesley 1987) Nos exemplos usaremos idéias básicas de Di-

nâmica Molecular (DM) para salientar os conceitos de paralelização e não uma imple-
mentação ou método de DM em particular. Iremos supor que o leitor tem conhecimento

da técnica e dos métodos utilizados no código de DM serial. Embora a paralelização


de uma simulação possa ser utilizada para otimizar simulações de sistemas pequenos
o enfoque será dado a simulações de larga escala, com milhões de átomos e não fac-

tíveis em um computador isolado. Para tanto utilizaremos a implementaçãoproposta


por Rapaport.(Rapaport 1991; Rapaport 1991). Veja também Griebe, Knapek e Zum-

busch.(Griebel, Knapek et al. 2007). A intenção final desta implementação é obter um

código simples, portável, com boa escalabilidade e pronto para ser utilizado em um nú-
mero arbitrário de processadores. Desta forma o código paralelizado pode ser utilizado
!
eficientemente tanto em computadores isolados ou formando clusters com dezenas a

milhares de processadores. No texto suporemos que as simulações serão efetuadas em

um cluster homogêneo de processadores.

!
Verificar na seção Termos utilizados ou traduzidos.
|
T
TITS
ESSTTTOTTOTOTOTOTOTOO
EEE
EE

Paralelizando a Simulação 8.2 Message Passing Im


132

(MPT exemplo
8.2 Message Passing Interface program
!disponibiliza a

necessária utilização de include “mpif.h


código serial de simulação é
a uma
Na paralelizaçãode um
! variáve
vários processos rodando paralelamente em diferentes define
interface de interconexão entre os

processadores ou em um mesmo processador. À implementação integer proc id


máquinas, diferentes
Interface, desenvolvida
que utilizaremos
é o popular MPI,(Snir 1998) Message Passing
Chamadas de MPI são feitas ! Avisa ao comp
em um consórcio entre a indústria e várias universidades.
c. call MPI INIT
dentro do código. As implementaçõesde MPI estão disponíveisem Fortran e em

chamadas em Fortran, que serão utilizadas


no processo de paralelização ! Recebe a identi
Discutiremos as

discutido.
do código
serial previamente call MPL COMM R:
três são chamadas uma única vez. São elas,
Dentre as chamadas de MPI que se utilizam,

MPI INIT, MPL COMM RANK e MPI FINALIZE.

ambiente MPI: ! Finaliza o amb


Inicialização do

Call MPI INIT(ierr)


call MPI FINALL
vem à seguir são comandos do
Call MPI INIT diz ao sistema que o que
A chamada

MEI (ou disponibilizar o sistema para O MPL. end exe:


program
de MPI e tam-
“err” está presente todas as chamadas precisa ser
código de erro em
O
chamadas de MPI: Integer ierr. A chamada As outras chamadas nec
bém definido em todas as unidades com

é invocada uma vez, geralmente no começo do código,e inicializa O


envio, recebimento, avis
MPI INIT apenas

processamento em paralelo do código conectando os processos.


Enviar dados a
ponto 7
contém todas as bibliotecas PMI.
Include "mpi.h':
MPI.
Finalização do ambiente

Call MPI FINALIZE(ierr)


Esta chamada envia dad
é também invocada uma única vez durante a execução do código em
Esta chamada ros, reais, dupla precisãc
em
cálculos, finaliza processamento
paralelo, geralmente antes da finalização
dos e o

Os parâmetrosde input
paralelo desconectando os processos.
da identidade escalar do processo: buf é o endereço inici:
Definição do comunicador
-

elemento de um vetor
Call MPL COMM RANK (MPLCOMMWORLD, myid,ierr)
vetor;
de processos a ser conectados e qual a identidade (ID)
Esta chamada define o conjunto count -
número de elem
são conectados e O

que cada um dos processos terá. Na simulação todos os processos


WORLD.
de processadores usados é identificado pela variável MPI COMM MEI datatype - tipo de
conjunto
cada processo é retornado na variável inteira aqui batizada de “proc.id”. MPI DOUBLE PRECI
O ID assinalado a

dest identidade, ID, do


Exemplo:
-
ão 8.2 Message Passing Interface (MPI) 133

program exemplo
!disponibiliza a biblioteca MPI
ima include “mpif.h'
ntes ! define variáveis usadas

ção integer proc id, ierr


ida
itas ! Avisa comandos MPI serão
ao compilador que usados,
1 €. call MPI INIT (ierr)
ção ! Recebe a identificação do processo

call MPL COMM RANK(MPI COMM WORLD, proc id, ierr)


Jas,

! Finaliza o ambiente MPI

call MPI FINALIZE (ierr)


s do

end program exemplo


tam-

nada
Za o
As outras chamadas necessárias são aquelas de comunicação entre os processos, para
envio, recebimento, aviso de espera (semáforo) e operações. Vejamos:

Enviar dados ponto a ponto:

Esta chamada envia dados, que pode ser qualquer um dos usados pelo Fortran, i.e. intei-
» em

» em
ros, reais, dupla precisão, etc, do processo local para um outro processo.
Os parâmetrosde input da chamada são:

buf -

é o
endereçoinicial na memória da variável a ser enviada. No Fortran o primeiro
elemento de um vetor “buf” dado por buf(1) define a posição inicial na memória deste

vetor;
(ID)
s € o count -

número de elementos a enviar;

um
cid”.
MPL
MPI
datatype
DOUBLE
- tipo
PRECISION,
de dado a enviar, pode
etc;
ser MPI INTEGER, MPI REAL,

dest -

identidade, ID, do processo destinatário;


134 Paralelizando a Simulação 8.2 Message Passing Iz

tag
-

etiqueta da mensagem, pode ser um inteiro arbitrário e deve ser igual à etiqueta MPI de opera
Op tipo
usada na recepção da mensagem; MPI MIN, etc;

MPI COMM WORLD -

Comunicador, no caso usaremos o conjunto com todos os pro- MPI COMM WORLD
cessos, definido pela variável MPL COMM WORLD.
O único parâmetro ds ox

Receber dados ponto a ponto:


recvbuf -

é o endereço 1

O algoritmoutilizado pe
os pontos algorimo é o

Esta chamada recebe dados enviados do processo definido pela variável source. log2p operações para p

Os parâmetrosde output da chamada são:

[e to ú
buf -é o endereçoinicial na memória da variável a ser recebida; ba

MPI Status -

informações sobre o objeto recebido, que pode ser utilizado para checar
se o recebimento apresenta erros;

Os parâmetros de input da chamada são: o

count -

número de elementos a receber;

MPI datatype -

tipo de dado a receber;

source -

ID do processo destinatário ou pode ser definido como any. source, para receber
de qualquer
mensagem processo; Semáforo- Bloquear o p:

tag
-

etiqueta da mensagem que deve ser igual à etiqueta usada no envio da mensagem;
Call MPI Barrier
MPI COMM WORLD -

Comunicador do conjunto de todos os


processos.

Combinar valores de todos os e distribuir o resultado de volta a todos os


Esta chamada é utilizad
processos
liberados para prossegui
processos:
input é o comunicador »

Disseminação (Broadcz

Esta chamada combina valores calculados em cada um dos processos em um tipo defi-
nido de operação. As operações predefinidas pelo MPI são: Soma, multiplicação, menor
valor e maior valor.
Esta chamada envia dad
Os parâmetros de input da chamada são: recebe dados se for quak
sendbuf -

endereçoinicial na memória da variável a ser enviada; Os parâmetros de input


número é
count de elementos a receber; buf endereçoinicia
-

MPI datatype tipo de dado a enviar; número de elem


-

count —
ão 8.2 Message Passing Interface (MPI) 135

eta MPI Op -

tipo de operação a ser executada, i.e. MPI SUM, MPL MULTIPLY, MPL MAX,
MPL MIN, etc;

O- MPI COMM WORLD -

Comunicador do conjunto de todos os processos.

O único parâmetrode output é:

recvbuf -
é o endereço inicial na memória da variável a ser recebida.

O algoritmoutilizado pela operação de redução All reduce com a comunicação de todos

os pontos é o algoritmo hypercube com comunicação indireta entre pontos através de

log2p operações para p processos, como mostrado na Fig. 8.1.

ecar

od 001 oio 011 100 101 alo 111

node ID

Figura 8.1: Algoritmo hipercubo.


ceber

Semáforo- Bloquear o processo até que todos os outros processos façam a chamada:

sem; .

Call MPI Barrier (MP COMM WORLD)

los Os
Esta chamada é utilizada para a sincronização todos os processos. Os processos são

liberados para prosseguir quando todos eles fizerem à chamada. O único parâmetrode
input é o comunicador MPL COMM WORLD.

Disseminação (Broadcast) Envia dados de um dos processos a todos os outros:

Esta chamada envia dados quando chamada pelo processo de identidade ID source ou

recebe dados se for qualquer outro processo.

Os parâmetrosde input/output da chamada são:

buf —

é o endereçoinicial na memória da variável a ser enviada ou recebida;

count —

número de elementos a enviar ou receber;


136 Paralelizando a Simulação 8.3 Conceitos Fundam

MPL datatype —

tipo de dado a enviar ou receber; enddo


endif
source —ID do processo remetente da mensagem;
call MPI FINALIZE

MPI COMM WORLD -

Comunicador do conjunto de todos os processos. END PROGRAM Gres

MPI Status —

informações sobre o
objeto recebido, que pode ser utilizado para checar
se o recebimento apresenta erros;

8.3 Conceitos
time=MPI WTIMEQ

Esta chamada do MPI fornece o tempo de processamento desde um ponto arbitrário até
8.3.1 Decomposig
o resultado da chamada, em segundos, é salvo na variável aqui nomeada time.

Um O interesse em se paral
exemplo:
tempos relativamente cx
Como exemplo, vamos supor que nosso computador tenha quatro processadores e quere- res para cada um realiz:
mos que eles escrevam a mensagem "eu sou o processador: ?proc”, onde Fproc identifica
realizado uma
por cpu
o processador. Abaixo vai escrito o programa que executa esta tarefa:
que seguiremosé feita r

O código completo, auto explicativo, a seguir ilustra as unidades básicas de um código subsistemas. Cada um

Fortran 90 com chamadas MPI. Exemplos adicionais de códigos Fortran/MPI utilizando simulação com o códigr
os comandos apresentados nesta seção foram agrupados no apêndice. de partículas do sistem

passará a ser inversames


program saudacao
decomposiçãoespacial
include “mpif.h' mesmo volume. Os pro
integer proc id, ierr, nproc dos £
logia subsistemas
integer desti, sender, ntag, status (MPI STATUS SIZE) número N de átomos co
c—Set up MPI environment.
em um dado subsistema
This must be done before any other MPI calls

call MPI INIT (ierr) Sistema P


c-—Get ID of the process.
MPI COMM WORLD identifica os processadores usados

call MPL COMM RANK(MPI COMM WORLD, proc id, ierr)


c—Get number of processes
call MPI COMM SIZE(MPI COMM WORLD, nproc, ierr)
proc home = O

ntag = 1001

if(proc id .ne. 0) then


call MPI SEND(proc id, 1, MPI integer, proc home, ntag,
& MPI COMM WORLD, ierr)
else
do sender =
1, 1 Figura 8.2: Decomposiçã

nproc
call MPL RECV(i proc, 1, MPI integer, mpi any source, ntag,
& MPI COMM WORLD, status, ierr) Se cada lado do volume :

print '*,eu,,sou,,o, processador: fproc:,,', i proc


*, e z, respectivamente, tere
8.3 Conceitos Fundamentais 137

enddo
endif
call MPI FINALIZE (ierr)
END PROGRAM Greeting

8.3 Conceitos Fundamentais

8.3.1 Decomposição espacial

O interesse em se paralelizar um código está em simular sistemas muito grandes em

tempos relativamente curtos. Daí a juntar várias máquinas e ou processado-


ideia de se

res para cada um realizar uma parte dos cálculos desejados. Um processo é o trabalho
realizado por uma cpu. A divisão do processamento da simulação na implementação

que seguiremos é feita pela divisão espacial do sistema físico a ser simulado em vários

subsistemas. Cada um destes subsistemas é simulado por um processo. O tempo de

simulação com o código serial que utiliza a lista encadeada é proporcional ao número

de partículas do sistema, O(N). Idealmente, com a decomposição espacial este tempo


passará a ser inversamente proporcional O(N/P). A
ao número de processos utilizados

decomposição espacial consiste em particionar o sistema físico em subsistemas com

mesmo volume. Os processadores são arranjados logicamente de acordo com a topo-


logia dos subsistemas físicos. Como exemplo considere um sistema composto por um
número N de átomos contidos em uma caixa de lados L,, Ly, Le. Átomos localizados
em um dado subsistema são assinalados para o processador correspondente.

Sistema Físico
Compuiação Paralela

Figura 8.2: Decomposição espacial na simulação por Dinâmica Molecular em paralelo.

Se cada lado do volume for dividido por um certo valor, P«, P,, e P; nas direções x, y
€ z, respectivamente, teremos subsistemas de lados L,, L,, L., contendo cada um uma
138
Paralelizando a Simulação 8.3 Conceitos Fundams

fração do número total de partículas.Aqui Ly=La/Px, L,=Ly/P,,


L,=Le/P.. Desta forma ou

o sistema original fica subdividido em M=P,. P,. P, subsistemas de volumes iguais.


de cada destes subsistemas a
A decomposição espacial é justamente
um
o mapeamento
espaço malha 3D
um dado decomposição deve ser expressa por uma
processo. Esta
no
Exemplo (P,, P,. P.)=
subsistemas são
(ou toróide no caso de se usar condições periódicas de contorno). Os
dimensões
arranjados (e logicamente os processadores também)
em uma matriz 3D de

P; xP, x P;. Para ilustrar as ideias vamos desenvolver um código que paralelize um

programa de dinâmica molecular.

8.3.2 Identidade escalar e vetorial

Identidade -
ID escalar

Px
ID vetorial

Para cada processador, c

de acordo
Figura 8.3: Identidade escalar e vetorial na distribuição logica dos processos identificados por um fr
aa

Físico À
.
.
o

com a decomposição espacial do sistema deslocamento, = (4,

própria posição. A tabe!


cada é definido um ID escalar, p, com valor entre os limites [0, P-1] =

(8x. 8y,Oy, 8,),


Oz), especifc:
Para processador =

Ox,
Cuica

número total de processadores. É definido também


um ID vetorial
sendo P = Px Py Pz o

sendo 0..., Px-1; py=0.., Py-1;epz=0..., Pz-l.


B= (px, py p2),
=
px

vetorial é dada
A relação entre o ID escalar e por:

Px =pKP,P,;)

=
(p/P;) mod P;
py

p:=p mod P;
8.3 Conceitos Fundamentais 139

ou

p=paXP;P, +pyxP; + po.

Exemplo (P;., P,, P;) =


(4,3,2)

Sequential processor

ID.p Pe E P

õ 6 õ õ

i g 9 I

2 o 1 G

3 0 1 í

4 & z q

5 g z f

ã t º õ

7
t q t

8 t 1 g

5 f 1 f

16 t z D

1 f 3 E

ID vetorial

Para cada seis vizinhos correspondentes as seis faces compartilhadas são


processador, os

identificados por um índice sequencial (k 0, 5). =


...,
Para cada vizinho, k, o vetor de

deslocamento, À =
(Ay, Ay, A:), denota a posição do subsistema vizinho em relação a

própria posição. A tabela seguinte lista os seis vizinhos, sendo que um vetor inteiro, ô
=
(0x, Ôy,ô:), especifica a posição
relativa de cada vizinho.

A= Tdi Po Digb

ID do vizinho, 4

à flestes t-1,8.0 Ele 2,0)

1 (oeste) e tLm. 8 05

à (uostes £O,1, (Ly

3 isuly (8. E. 8 €D.Lo 6)

à jarima) E, 8. -d5 (8,0, -L3

5 (abaixo) (0.6, 1 $2,6,.L5


8.3 Conceitos Funda:
140
Paralelizando a Simulação

Usando as condições ;

O ID escalar é obtido através de, p'(k)


nhos que compartilhz
temas vizinhos comps

p'a (k) =
[pa + da (k) + Pa] mod Pa (a =X, y, 2)
tema são expressas cm

z). Qualquer subsisizz

Estrutura de Dados

p'(&=p'z (0)xP;P,+p'y ()xP: + p': (o) de átomos


n: número

ID
tão;
MPI, cada sabe seu
Em um programa de simulação em paralelo usando processo
nb: número de átom
escalar através da chamada MPL COMM-Rank.
RINEMAX][3]: coor:

8.3.3 Cópia de átomos vizinhos r[Í:n][] guarda os éios

atômi-
r[n+1:n+nb][] guarda
das interações interatômicas até raio de corte as coordenadas
Para o cálculo o rc,
do limite do subsistema Isb[6][INBMAX]: 1sb
cas dos 26 subsistemas vizinhos localizados dentro de rç a partir
é feito copy(. vizinho ku;
precisam ser copiadas. Este processo pela sub-rotina atom.

Isb[kul[k]: ID do E-<s

tidOs (048) IM function bbd:r


º
o
logical
o
2 corte rc a partir da fa:
a

As coordenadas dos
é
&
& lhando as seis faces z
& esta
o
»
& Peisiste mt tilham faces é feita im

(100)
o


& % & 4

E but dt 0,14) Cod 6)

cálculo da força nos átomos


Figura 8.4: Cópia de átomos para O da energia potencial e

residentes.

é mantida posições dos átomos de


A coerência das coordenadas copiadas copiando as
Figura 8.5: Processo
vizinhos todo antes das acelerações atômicas serem
não dividem lad«
superfície dos subsistemas a passo que
calculadas. processo de cópia.

| 4 Algoritmo
a Co Lil se Iniln Lecelhimal
Inicializa o número «
Dee em
n residentes Ph cópias Dopara as direções
8.3 Conceitos Fundamentais 141

Usando as condições periódicas de contorno, cada subsistema tem 26 subsistemas vizi-

nhos compartilham borda, uma uma extremidade ou uma face. Existem seis subsis-
que
temas vizinhos compartilhando as seis faces. As coordenadas atômicas de cada subsis-

tema são expressas em relação a origem de cada subsistema, i.e., 0 < x, < Ly (a=X,Y,
z). Qualquer subsistema pode ser considerado como o centro do todo.

Estrutura de Dados

n: número de átomos residentes os quais residem internamente no subsistema em ques-

tão;

nb: número de átomos de superfície copiados dos vizinhos;

RINEMAX][3]: coordenadas atômicas relativo à origem de subsistema;

r[1:n][] guarda os átomos residentes do subsistema, enquanto

r[n+1:n+nb][] guarda os átomos copiados dos vizinhos.

Isb[6]INBMAX]: Isb[ku][0] número total de átomos fronteiriços a ser ser enviado ao

vizinho ku;

Isb[kul[k]: ID do k-ésimo átomo a ser enviado ao vizinho ku;

function bbd(r,ku): é verdade vetor de coordenadas r está dentro do raio de


logical se o

corte rc a partir da face do subsistema compartilhado com o ku-ésimo subsistema.

As coordenadas dos átomos fronteiriços são enviadas para os seis vizinhos comparti-
lhando as seis faces através de seis passos. As cópias para Os vizinhos que não compar-
tilham faces é feita indiretamente como ilustrado na Fig. 8.5.

paes à

passa à
DSY

MO
paeso É

DEDE VADA
Y
s quo 3

Figura 8.5: Processo de cópia dos átomos pelos subsistemas vizinhos. Os subsistemas
não dividem lados têm os átomos copiados indiretamente durante os três passos do
que
processo de cópia.

Algoritmo
Inicializa o número de átomos copiados, nbnew = O

Do para as direções x, y e z
a

142 Paralelizando a Simulação 8.3 Conceitos Funde=

Faça lista de átomos fronteiriços,Isb, para as direções abaixo


e acima incluindo ambos átomos residentes (n) e copiados (nbnew)
Do para as direções abaixo e acima

Envia e recebe as coordenadas dos átomos fronteiriços do vizinho correspondente

Incremente nbnew
Enddo
Enddo
nb = nbnew

Condição para cópia


logical function bbd(ril[],ku) ak

kd =ku/2(=012)
kdd = mod (ku / 2) (= 0 1)
Figura 8.6: Prepara
if (kdd ==
0) aos processos vizinhos :
bbd =
ri[kd] RCUT
else if (kdd ==
1)
Com um buffer de tamzr
bbd =
al[kd] —

RCUT rilkd]
endif bloqueia o envio da me:

no
exemplo acima, cadz

Transmissão de mensagens em três passos envio seja finalizada


1. Preparação da mensagem: dbuf <— r

2. Transmissão da mensagem: dbufr — dbuf

Envia dbuf

Recebe dbufr

3. Stocagem da mensagem: r < dbufr, no mesmo vetor depois dos átomos residentes
Figura 8.7: Troca de m
A variável nsd é o número de átomos a ser copiados ao vizinho sendo considerado. As
3*nsd coordenadas são mantidas no vetor 1D, dbuf. Para evitar este tipo de p

Prevenção de paralisação do código dos em pares e


ímpares:
Uma combinação de chamadas para enviar e receber pode causar a paralisação do código Estrutura de Dados
durante a simulação. No código seguinte, suponha que o processo de destino, inode, é
definido 8.7.
myparity[O112]: Paridad:
como na Fig.
myparity[a]: é Oll se o

direção, myparity[a] = 2

Algoritmo
1. Preparaçãoda mensag
8.3 Conceitos Fundamentais 143

/
Lex
0123 4
rUEI | x
XY Y

adumbilazlti Iii]

Figura 8.6: Preparação do vetor buffer com os átomos fronteiriços para a transmissão
aos processos vizinhos correspondentes durante o processo de cópia.

Com um buffer de tamanho finito no sistema de comunicação do destinatário o remetente

bloqueia o envio da mensagem até que o buffer do destinatário esteja vazio. Entretanto
no exemplo acima, cada processador não pode começar a receber até que a
operação de
envio seja finalizada.

mio Do credo mito 6

ntes

Figura 8.7: Troca de mensagens diretas pelos processos podendo causar paralização.

Para evitar este tipo de paralização os processos sãoclassificados por paridadee dividi-
dos em pares e ímpares em cada uma das direçõesx, y, € Z.

digo Estrutura de Dados

le, É
myparity[0!112]: Paridade do processador com ID vetorial na direção [ xlylz];

myparity[a]: é Oll se o ID escalar, a, é par/ímpar. Se existe apenas um na


processo
direção, myparity[a] = 2. Neste caso nenhuma troca de mensagens é necessária.

Algoritmo

1. Preparaçãoda mensagem: dbuf — r


8.4 Lista de células
144 Paralelizando a Simulação encz

8.4 Lista de cél

No cálculo da força um
2d

O(Nº).
mos

calem com De fz

com um número limitad

de células encadeadas cai

O primeiro passo é did

células pequenas de mess

deve ser pelo menos


7

em uma cela interage soc

Incluindo os átomos copsa

Y, Z). O número de celas p

sendo L.a =
Lo/rco (E =

=(coCyc)(O<c<L
Figura 8.8: Troca de mensagens pelos processos seguindo ordem de paridade não cau-

sando paralização. c=cLy+2Lc:+2) +

ou

2. Transmissão da mensagem: dbufr <- dbuf


Cy =
M(Loy+2)Lco+2)]
Cy
=
[cLc:+2)] mod (1. -

cz; =c mod (Lc. +2).


fa Processo Par: envia & recebe, se não estiver vazio x/
if
Um átomo com coordena
(myparity [kd] ==
0) (
MPI Send(dbuf,3+nsd,MPI DOUBLE, inode ,120,MPLCOMM WORLD); Ca =(Vatrearea (4 =5

MPI Recv(dbufr ,3+nrc,MPI DOUBLE, MPI ANY SOURCE,120,


Os átomos pertencentes 2
MPI COMM WORLD, & status );
) Estrutura de dados
Z

/x Processo Ímpar: recebe & envia, se não estiver vazio x/


Iscl[NEMAX]: Uma imph:
else if (myparity [kd] ==
1) f do átomo que o i-ésimo és
MPI Recv(dbufr ,3+nrc,MPI DOUBLE,MPI ANY SOURCE,120,

MPI COMM WORLD, & status ); head[NCLMAX]: headíc


MPI Send (dbuf,3+nsd ,MPI DOUBLE, inode ,120,MPI COMM WORLD); head[c] =
VAZIO (= -1
) Algoritmo 1: Fazendo 2 h

/* Camada única: Troca de informação no mesmo processo x*/


else /*x Inicialização
para (1=0; i3+xnrc; i++) dbufr[i] =
dbuf[i]; Do c=1l,lcxyz2:; hea
/x Scaneie átomos
/x "head" e de enc

3. Stocagem da mensagem: r <— dbufr, no mesmo vetor depois dos átomosresidentes Do i=l,n+nb
a

8.4 Lista de células encadeadas 145

8.4 Lista de células encadeadas

No cálculo da força um looping duplo simples faz com que as interações de pares es-

calem com O(N?). De fato, com um raio de corte finito, r., um átomo interage apenas
(4p/3) rê (NIV).

com um número limitado de átomos vizinhos O algoritmo de lista


de células encadeadas calcula todas estas interações com O(N) operações.

O primeiro passo é dividir o sistema consistindo de átomos residentes e copiados em

células pequenas de mesmo tamanho. O tamanho de cada lado da célula, (rx, rcy» rcz),
deve ser pelo menos rc; nós usamos r.q =
La/Lca, sendo Ly =
Lotre. Um átomo
em uma cela interage somente com os átomos na mesma cela e suas 26 celulas vizinhas.

Incluindo os átomos copiados, as coordenadas atômicas ficam entre [-r., La + rl(a =x,

y, 2). O número de celas para acomodar todos estes átomos é (Lc, +2) x(Lcy+2)x(Lc:+2),
sendo Lea =
Lalrca (O =X, Y, 2). As células são identificadas com um índice vetorial, &

=(Co Cc) (O<c<Ly+;0<c,< Ly+1;0<c;< L+1), e um índice escalar,

c =
c(Lo+2XLc:+2) +
cLez+2) + cz

ou

Cx =
M(Loy+2)(Lc:+2)]
cy
=
[cLe:+2)] mod (Ly+2)
c; = c mod (Lc;+2).

Um átomo com coordenada Y pertence a célula com índice vetorial,

Ca =(Patrearea (O =X, y, 2).

Os átomos pertencentes a uma dada célula são organizados como uma lista encadeada.

Estrutura de dados

IsclI[NEMAX]: Uma implementação matricial da lista encadeada. Iscl[i] guarda o índice

do átomoque o i-ésimo átomo aponta;

head[NCLMAX]: head[c] guarda o índice do primeiro átomo da c-ésima célula, ou

head[c] = VAZIO (= -1) se a célula não tem nenhum átomo

Algoritmo 1: Fazendo lista encadeada

/x Inicialização da lista dos cabeças “head” x/


Do c=1,lcxyz2; head[c] =
EMPTY; Enddo

/x Scaneie átomos para construir a lista dos cabeças /x

/x "head" e de encadeamento “Iscl" x/


Do i=l,n+nb
++

8.5 Cálculo do potencia!


146 Paralelizando a Simulação

head[c] = ii;
Enddo

8.5 Cálculo do;

Após a preparação da lisx


vando em conta a interaçã
atamente vizinhas. São c

r-seguindo o algoritmo

Algoritmo 2: Calculandc

Figura 8.9: Distribuição de um subsistema físico em células


encadeadas. O conjunto
/x Escaneie
figura, que comportam os áto-

total de células possui células internas, sombreadas na
as

mos residentes e células copiadas, comportando os átomos copiados dos subssitemas Do mc[0]=1,1c[0]
vizinhos. Do mc[1]=1;lc[1]
Do mc[2]=1;lc[2]
cedh d cell
à /* Calcule o índi:

& c =
mc[0]*lcyz2+-m
a
/x Escaneie as cé
et Q cell 2
a o /x (incluindo ela
o
O O Do mcl[0]=mc[0]-1
Do mcl[1]=mc[1]-1
GA 2. A D o met 1[2]= 2]-—1
ieas Ca DEDS TO]
/*
tBiomeio!r
Calcule o índic
O LS 44 sh

rabelelolilalglsial cl =
mcl[0]*lcyz2-
/x Escaneie os

Dies OG D+ Empty i = head [cl];


Do while (i != EM.

Figura 8.10: Esquema de produção da lista de células encadeadas. Com os vetores de /x Escaneie os ár

cabeças das células e de encadeamento.


j =
head[cl];
Do while (j != EM

/x índice vetorial da célula ao qual o átomo pertence x/


Enddo if (r r) Processe
Do a=0,3; mc[a] =
(r[il[lal+rc[a])/rc[a];
/* Converta o índice vetorial para o índice escalar “mc” x/ ne

c =
me[0]*Icyz2+mc[1]*1c2 [2]+me[2]+1; j =
Iscll[j];
anterior /x Enddo
/* Aponte para o ocupante
for x/ i =
Iscl[il:
/x (ou vazio "EMPTY" se o primeiro
Enddo
Iscl[i] =
head[c];
Enddo; Enddo; Endc
/x O último ocupante se transforma no cabeça x*/
a

8.5 Cálculo do potencial e Força de muitos corpos 147

head[c] =
à;
Enddo

8.5 Cálculo do potencial e Força de muitos corpos

Após a preparação da lista encadeada o potencial e a força nos átomos é calculado le-
vando em conta a interaçãoentre átomos em uma dada célula e todas as células imedi-
atamente vizinhas. São considerados todo os pares de átomos dentro do raio de corte

r-seguindo o algoritmo.

Algoritmo 2: Calculando as interações com lista encadeada

/x Escaneie as células residentes x/


Do mc[0]=1,1c[0]
Do mc[1]=1;lc[1]
Do mc[2]=1;1c[2]
/x Calcule o índice escalar da célula x/
c =
mc[0]*lcyz2+mc[1]*1c2[2]+mc[2]+1;
/* Escaneie as células vizinhas da célula "c" /x
/* (incluindo ela própria )x/
Do mcl[0]=mc[0] -1,mc[0]+1
Do mcl[1]=mc[1] -1,mc[1]+1
Do mcl[2]=mc[2] -1,mc[2]+1
/* Calcule o índice escalar da célula vizinha x/
cl =
mcl[0]+lcyz2+mcl[1]+1c2[2]+mcl[2]+1;
/* Escaneie os átomos "i" na célula "Cc" x/
i =
head[c];
Do while (i != EMPTY)
/* Escaneie os átomos "j" na célula "cl" x/

j =
head[cl];
Do while (j != EMPTY) f

if (r r) Processe o par de átomos (i, j)

j =
Iscl[jl;
Enddo
i =
Isclfi]l;
Enddo

Enddo; Enddo; Enddo


148 Paralelizando a Simulação 8.6 Migração entre pros

Enddo; Enddo; Enddo

8.6 Migração entre processadores

Após a atualização das coordenadas atômicas de acordo com o algoritmo velocity Ver-
let alguns átomos podem ter ultrapassado as fronteiras do subsistema. Estes átomos

migrantes?precisam então ser transferidos para os processadores apropriados.

CLEO) (010) UI 8.12: Processo ds


Figura

Algoritmo

Inicializar o número de é

ELO D) úLm
Do para as direções x. v «

Façaas listas de átomos «

incluindo ambos os átom


Ciriih (tri EO ld
já transferidos

Figura 8.11: Transferência de átomos entre subsistema.


direções acim:
os
Do para as

Estrutura de dados Envia/Recebe coordenad:


cia marcar átomos, r[][0]
myque[6]INBMAX]: mvque[ku][0]: é o número de átomos a ser movidos para o pro-
cesso vizinho ku; MVQUE[ku][k>0] é o ID do átomo usado em r, do k-ésimo átomo a
-

Incremente newim
ser movido; Enddo

function Enddo
logical bmv(r,ku): .true. se o vetor de coordenadas r esta fora da fronteira do
subsistema com o ku-ésimo processo vizinho. !Comprima o vetor

!transferidos
O algoritmo é basicamente idêntico aquele da sub-rotina atom copy. Durante o loop de
!Condição de Iran
seis passos a variável newim mantém o número de novos migrantes. Este átomos são
logical function
adicionados ao final do vetor r após as coordenadas dos átomosresidentes. Suponha que kd = ku / 2 (=
o átomo i tenha saido do subsistema. Quandor[i] é enviado ao processo apropriado, r[i] kdd =
mod (ku
é marcado como átomotirante” colocando uma constante (valor positivo ou negativo if (kdd ==
0)
grande) em r[i][0]. Após os seis passos de transferência de átomos entre os processos os
bmyv 0.0
=
rilkd]
n+newim átomos residentes são escaneados para comprimir o vetor de posição r[i][0] e
else if (kdd == 1

os átomos transferidos são eliminados.


bmv =
al[kd] rifi
2Verificar secção Termos utilizados ou traduzidos endif
3Verificar secção Termos utilizados ou traduzidos
O 8.6 Migração entre processadores 149

o a É q

096

et

a BuRrA

er
nei comprime
Jos

Updated n

Figura 8.12: Processo de compressão dos vetores após a transferência de átomos tirantes.

Algoritmo

Inicializar o número de átomos migrantes, newim = O

Do para as direções x, y e z

Faça as listas de átomos a serem transferidos "mvque”, para as direções abaixo e acima
incluindo ambos os átomos residentes e migrantes “newim”, mas excluindo os átomos

já transferidos

Do para as direções acima e abaixo

Envia/Recebe coordenadas do átomo migrante para/do processo vizinho (na transferên-


cia marcar átomos, r[][0] 10)
pro-
à
-

no Incremente newim
Enddo
Enddo
a do
!Comprima o vetor de coordenadas "r" para eliminar os átomos

!transferidos
p de !Condição de transferência
são function
logical bmv(ri[],ku)
- que kd =ku/2(=012)
, li] kdd = mod (ku / 2) (= 0 1)
ativo if (kdd ==
0)
Ds OS bmv 0.0
=
rilkd]
[0] e else if (kdd ==
1)
bmv =
al[kd] ri[lkd]
endif
150 Paralelizando a Simulação 8.7 Lista de modificz

Transmissão de mensagens em três passos 2. Temperatura e


;

1. Preparação da mensagem: dbuf <— r & rv


3. Função de disir

Marcar r como transferido


4. Deslocamento «

2. Transmissão da mensagem: dbufr <— dbuf


Precisaremos fazer as
Envia dbuf
1. Mudar os arquivos
Recebe dbufr
1) incluir o número
3. Estocagem da mensagem: r & rv — dbufr, ,
no mesmo vetor depois dos átomos

residentes. ii) as variáveis de p

iii) incluir os novos

NT & Za cipal
iv) Adicionar as

de
ch:
e o arquivo cz

nl A Z 2. Calcular os IDs esc

a
tum
Za
CLILILL
Dl aa
ILILLILLIILIILIS
3. Fazer

ção;
uma tabela co

4. Fazer uma tabela co

Figura 8.13: Preparação dos buffers de coordenadas e velocidades com os átomos ti-
5. Fazer uma tabela de
rantes para a transmissão aos processos vizinhos correspondentes durante o processo de
e atom move();
imigração.
6. Definir unidades re

qual o processo é resp«

modificações no código serial


7. Direcionar entrad:
8.7 Lista de a

8. Refazer a leitura e

Partindo do código serial de DM discutido nos capítulos anteriores para simular o bulk sobre a distribuição es;
4
no ensemble microcanônico para uma estrutura cristalina FCC utilizando:
9. Implementar a sub-
interaçãoatom copy()
1. Potencial de interação de Lennard Jones;
10. Refazer a sub-rotir
2. Algoritmo de propagação temporal Velocity-Verlet;
11. Refazer a sub-rot

3. Lista de células encadeadas; encadeadas e para calo

12. Eliminar as sub-rot


E calculando quantidades básicas como:

13. Fazer a sub-rotina «

1. Energia cinética e potencial; 14. Refazer o cálculo d

“Verificar secção Termos utilizados ou traduzidos. SVerificar secção Termos


8.7 Lista de modificações no código serial 151

2. Temperatura e pressão;

3. Função de distribuição de pares;

4. Deslocamento quadráticomédio.

Precisaremos fazer as seguintes mudanças para paralelizá-lo:


1. Mudar os arquivos de entrada e de cabeçalhopara:

i) incluir o número de processos que vão ser utilizados na simulação;

ii) as variáveis de posição e velocidade para acomadar os átomos copiados;

iii) incluir os novos nomes dos mútliplos arquivos de posição e velocidade inicial;

iv) Adicionar as chamadas para inicializar e finalizar o ambiente MPI na rotina prin-
cipal e o arquivo de cabeçalho mpif.h em todas as rotinas que usarão chamadas do mpi.

2. Calcular os IDsescalar e vetorial;

3. Fazer uma tabela com os IDs dos processos vizinhos para ser usada durante a simula-

ção;

4. Fazer uma tabela com os vetores de deslocamento entre processos;

5. Fazer uma tabela de paridade dos processos para ser usada nas surotinas atom copy()
e atom move();

6. Definir unidades reduzidas de comprimento e a origem espacial do subsistema pelo


qual o processo é responsável;
7. Direcionar a entrada e saida de dados apenas pelo processo mestre;

8. Refazer a leitura e escrita dos arquivos de posição pelos processos para salvar dados

sobre a distribuição espacial e sobre o sistema;

9. Implementar a sub-rotina para copiar átomos nos processos vizinhos até o limite de

interação atom copy();


10. Refazer a sub-rotina e a implementação da lista de células encadeadas;

11. Refazer a sub-rotina da força para usar a nova implementação da lista de células

encadeadas e para calcular corretamente a força nos átomos residentes nos processos;

12. Eliminar as sub-rotinas de CPC e de mínima imagem;

13. Fazer a sub-rotina de migrar átomos entre os processos atom move();

14. Refazer o cálculo de energia cinética kinet();


Verificar secção Termos utilizados ou traduzidos.
a

152 Paralelizando a Simulação 8.8 Decomposiçã

15. Definir sub-rotinas auxiliares para a cópia e transferência de átomos e informações em um processo
entre os processos: de carga eficientes

1) bbd =
verifica se um dado átomo está na região de interação e deve ser copiado Exemplo 1: Deco
ao processo vizinho; processos.

ii) bmv = verifica se um dado átomo saiu dos limites do subsistema; Na Fig. 8.14(a) a

núindentadomeros inteiros
») deixa os subsis
iii) mespasi = transfere entre processos vizinhos;
passo que na Fig. £
iv) mespasd = transfere números reais entre processos vizinhos.

16. Refazer a sub-rotina para o cálculo da função de correlação de pares g(r) e dos

deslocamento quadrático médio e coeficiente de difusão.

8.8 Decomposição espacial

Para um dado número de processos qual a melhor decomposição espacial a seguir?


Embora se ganhe computacionalmente adicionando mais processos e de-
quase sempre Figura 8.14: Decor
compondoo sistema original em vários subsistemas decomposiçãoespacial
escolhas de tro susbsistemas.
arbitrárias podem resultar em tempo de processamento computacional ordens de gran-
deza distintos. Dois pontos devem ser levados em consideração na escolha eficiente Exemplo 2: Decom

da decomposição espacial. Em ordem de importância: i) o balanço de carga; e a ii) Ao contrário do ca:

minimização de comunicação entre os processos. desbalanceados. Me

15(b) a
decomposiç
subsistemas.
8.8.1 Balanço de carga

Para fazer a simulação de forma eficiente durante o processamento em paralelo o balanço


da carga deve ser otimizado de modo a garantir a distribuição homogêneado cálculo en-

tre os processadores. Como a simulação é sincronizada a cada passo durante o processo


de cópia de átomos fronteiriços, na sub-rotina atom copy, e transmissão de átomos tiran-

tes, na sub-rotina atom move, o processo mais lento dita o ritmo da simulação. O tempo
de processamento de cada passo temporal depende de vários fatores sendo o principal

o número de átomos de cada subsistema. Se o sistema a ser simulado é o bulk de um

dado material com densidade constante o número de átomos é balanceado automatica-

mente pois o volume espacial em cada subsistema é idêntico. Se o sistema não é o bulk Figura 8.15: Decom
em quatro susbsistem
nem sempre uma distribuição balanceada de carga pode ser conseguida. Em todo caso

o número de processos em cada direção deve ser escolhido de modo tornar a distribui-

ção de átomos entre os processos a mais homogênea possível evitando a sobrecarga de Exemplo 3: Decomp
processo específico. A regra básica a seguir é minimizar o número máximo de átomos Diferente dos dois c:
8.8 Decomposição espacial 153

em um processo. Exemplos, em duas dimensões para melhor clareza, de distribuições


de carga eficientes e não eficientes para um dado número de processos:

Exemplo 1: Decomposição de pedaço de material em forma circular utilizando quatro


processos.

Na Fig. 8.14(a) a decomposição 4 x 1 (quatro processos na direção x e um na direção


») deixa os subsistemas desbalançeados,com mais átomos nos subsistemas centrais; ao

passo que na Fig. 8.14(b) a decomposição2 x 2 leva a sistemas balançeados.

Figura 8.14: Decomposiçõesbidimensionais de um pedaço circular de material em qua-


tro susbsistemas.

Exemplo 2: Decomposição de bloco de material sendo endentado.

Ao contrário do caso anterior na Fig. 8.15(a) a decomposição 2 x 2 leva a sistemas


desbalanceados. Mesmo sendo impossível o balanceamento perfeito do sistema na Fig.
15(b) a
decomposição 4 x 1 apresenta muito melhor balanceamento das partículas nso

subsistemas.

Figura 8.15: Decomposições bidimensionais de um bloco de material sendo endentado


em quatro susbsistemas.

Exemplo 3: Decomposição de material granulado utilizando quatro processos.

Diferente dos dois casos anteriores as Figs. 8.16 (a)-(b) com decomposições2 x 2 e
154 Paralelizando a Simulação 8.9 Cálculo de propri

escolha simulação ou
1

4 x 1 mostram sistemas igualmente balanceados. Neste caso tanto uma quanto em um

outra leva a subsistemas com aproximadamente o mesmo número de partículas. e as médias no sistem

decomposiçãoespacial
Como exemplo do cálc
da função de distribux

8.9.1 Distribuiç:

Estrutura de dados

NNHISTI] é o histogr:
bulk de material granular quatro
Figura 8.16: Decomposições bidimensionais de um em

susbsistemas. NNHISTG(] é o histos

Algoritmo
Inicializar os histograr
8.8.2 Minimização da comunição entre os processos
/x Durante o
Para duas dadas
Tomando as decomposições mostradas na Fig. 8.16 vem a pergunta: Do cada ri
para
decomposições espaciais com mesmo balanço de carga qual decomposição a seguir? k= / dr?
rij2
recordar o tempo total de um simulação
Para respondera esta pergunta precisamos que
nnhist(k)=nnhis
por DM em paralelo é composto pelo tempo de processamento doalgoritmo de evolução
Enddo
número de átomos
pelo tempo de comunicação entre os processos. Como o
temporal e
/x Após finaliz:
é aproximadamente o mesmo o tempo de processamento ficará equilibrado
por processo /* o histograma
então de modo
entre todos os susbsistemas. A escolha da decomposiçãodeve ser feita a
call MPL ALLRED
reduzir o tempo de comunicação entre os processos. Este tempo pode alcançar de 5% a
MPL COMM WORLD
80% do tempo total de uma simulaçãoparalelo, em dependendo do tamanho do sistema e
Calcule g(r) us

da decomposiçãoespacial utilizada. O tempo gasto na comunicação entre os processos


de átomos transferidos durante
proporcional ao número devem copiados ou
é que ser

cada passo temporal. Como este número de átomos depende superfície


do tamanho da
8.9.2 Deslocame
é minimiza a superfície dos
de cada subsistema a escolha maisadequada aquela que
anteriormente, a primeira escolha é a Estrutura de dados
subsistemas. Claramente no Exemplo 3, dado
mais adequada, r0[I[]: coordenadas 21

u2: é o deslocamento

8.9 Cálculo de propriedades durante a simulação em pa- u2g: é o deslocamenic

uvt: é o coeficiente de
ralelo
uvtg é o coeficiente ds

de médias estatísticas
O cálculo qualquer quantidadefísica do sistema através
de precisa Algoritmo
média nos subsistemas. Em
adaptado no cálculo em paralelo pra levar em
conta as
ser
Inicializar as variáveis
vetor local e no final da
geral cada processo acumula os valores das quantidades
em um
8.9 Cálculo de propriedades durante a simulação em paralelo 155

simulação ou em um momento arbitrário estes vetores locais são agrupados globalmente


e as médias no sistema físico total são obtidas. Desta forma independentemente da

decomposição espacial quantidades as


permanecem inalteradas, físicas como deveriam.

Como exemplo do cálculo de quantidades físicas em paralelo, demonstraremos o cálculo

da função de distribuição radial e do deslocamento médio e coeficiente de difusão.

8.9.1 Distribuição de pares

Estrutura de dados

NNHISTI] é o histograma local usado para acumular os dados em cada subsistema


atro

NNHISTG|[] é o histograma global usado no cálculo de g(r)

Algoritmo
Inicializar os histogramas, NNHIST[]=NNHISTG([]=0

/* Durante o loop do cálculo da força para cada par (i,j) */


adas
Do para cada rij
suir? / NHIST elementos de
k= rij2 / dr2 ,
sendo dr2 = rc (& de NNHIST)
ação
nnhist(k)=nnhist (k)+2
ução
Enddo
mos
/x Após finalizado o looping calcule /x+
rado
/x o histograma global e g(r) x/
ndo à
call MPL ALLREDUCE(NNHIST, NNHISTG, NHIST, MPI INTEGER, MPI SUM,
5% a
MPI COMM WORLD, ierr)
ma €
Calcule g(r) usando NNHISTG
essos

rante

rfície de difusão
8.9.2 Deslocamento quadrático médio e coeficiente
e dos

aéa Estrutura de dados

r0[][]: coordenadas atômicas iniciais;

u2: é o deslocamento quadrático médio local de cada subsistema;

u2g: é o deslocamento quadráticomédio global;


uvt: é o coeficiente de difusão local em cada subsistema;

uvtg é o coeficiente de difusão global.


recisa
Algoritmo
s. Em
Inicializar as variáveis locais e globais, u2,u2g,uvtuvtg=0
nal da
a=

Paralelizando a Simulação 8.10 Termos utiliza:


156

médio Buffer Sem


quadrático */ equivz
-

/4 Acumular localmente o deslocamento


auxiliar
1

mente para
DO 1=1,N
SLX R[IJ[1]

RO[IT[1] Bulk -

Sem equivale:
SLY R[I][2] —

RO[I][2] fazendo a simulação


SLZ =
R[11[3]

RO[1][3] que as contem, o que

U2 = U2 + SLX*SLX + SLY«SLY + SLZ*SLZ


Célula residente -

E
UVI= UVI + SLX*V[1][1] + SLY+V[I]JIZ] + SLZ*VZ[1][3]
átomos internos z um

ENDDO
*/ Célula
/x calcule as variáveis globais uZg e uvtg copiada -

call ALLREDUCE(u2
MPL ,u2g,1 MPI ,
DOUBLE PRECISION, átomos copiados par

& MPI SUM,MPLCOMM WORLD, ierr)


Cluster de computz
,uvtg,1 MPI DOUBLE. PRECISION,
call MPL ALLREDUCE(uvt ,

gação de dois ou ms

& MPL SUM,MPIL COMM WORLD, ierr)


através de uma mas

Cópia de átomos -

átomos dos process


8.10 Termos utilizados ou traduzidos átomos residentes. 7x

passo temporal ara!

capítulonão equivalente em
Vários técnicos científicos utilizados neste possuem
termos
Decomposição Esp:
então tradução não é muito precisa e difundida. Alguns destes termos
português ou a
iguais entre processo
são discutidos abaixo:
direções cartesianas
inglês include file. Arquivo usado para a definição de sendo px,pyepror
de cabeçalho Do
-

Arquivo
variáveis várias unidades do código de simulaçãoe a fixação de valores destas
comuns a Dinâmica Moleculz

quantidades. goritmo de Dinâmic:

de entrada Do inglês inpui file. Arquivo usado para a entrada de parâmetros computadores com u

Arquivo
-

do sistema, número de átomos, número de


utilizados durante a simulação,i.e. tamanho Identidades (IDs) E
passos a simular, etc. processos recebe um

Átomofronteiriço -

Do inglês boundary atom. Átomos próximos a divisão entre dois rodando. Na defini

pela distância partir da superfície ID vetorial defn


parâmetrode proximidade é dado a que
subsistemas. O
de corte do potencial de interação sendo
divisória e deve ser menor ou igual ao raio Lista de células en:

utilizado. cálculo das interaçõ


barreira delimi- curto alcance. O cá
Átomo atravessa a
Átomo migrante
-

Do inglês immigrant atom. que


fazer escala linearmente c
tadora entre dois processos entrando no subsistema em questão e passando parte
direto se escala quad
do conjunto de átomos residentes.
Lista de células
Átomos que delimita- enc
atravessa a barreira
Átomo
tirante -

Do inglês moved out atom.


da lista de encadeadas discutido
dora entre dois processos saindo do subsitema em questão e sendo retirado
considerar os átomo:
átomos residentes.
8.10 Termos utilizados ou traduzidos 157

Buffer -

Sem equivalente em portugões.Variável escalar ou vetorial usada temporaria-


mente para auxiliar na transferência de quantidades entre os processos.

Bulk -
Sem equivalente em português. Quando simulamos o material em bulk estamos

fazendo a simulação no qual as partículas não interagem com as superfícies do recipiente


que as contem, o que é conseguido utilizando condições periódicas de contorno.

Célula residente -

Do inglês resident cell. Célula da lista de células encadeadas com

átomos internos a um dado subsistema pelo qual é responsável um dado processo.

Célula copiada -

Do inglês cached cell. Célula da lista de células encadeadas com

átomos copiados para um dado subsistema pelo qual é responsável um dado processo.

Cluster de computadores -

Do inglês parallel computer ou Computer cluster. Agre-


gação de dois ou mais computadores, com uma ou mais unidades de processamento,

através de uma malha de comunição formada por switches, roteadores, etc.

Cópia de átomos -

Do inglês Atoms caching. O processo de copiar as coordenadas dos

átomos dos processos vizinhos, necessários ao cálculo do potencial e a força para os

átomos residentes, para a memória do processo em questão para uso imediato dentro do

passo temporal atual.

Decomposição Espacial -

É a divisão do sistema físico a ser estudado em volumes

iguais entre processos de acordo com uma dada distribuição espacial dos processos nas

direções cartesianas x,y,e z. O número total de processos é dado por p ==


pxx py* pz,
sendo px, py € pz O número de processos nas direções x,y e z.

Dinâmica Molecular emparalelo Do inglês Parallel Molecular


-

Dynamics. O al-

goritmo de Dinâmica Molecular adaptado ao processamento distribuído em clusters de

computadores com uma ou várias unidades de processamento.


e
Identidades (IDs) Escalar e Vetorial -

No começo de cada simulação cada um dos

processos recebe um ID escalar que vai de O até p —

1, sendo p o número de processos

a rodando. Na definição da distribuição espacial dos processos cada um deles recebe um

o ID vetorial que define a região espacial do sistema físico que este será responsável.

Lista de células encadeadas -

Do inglês linked cell list. Algoritmo para otimizar o

cálculo das interações entre pares de partículas usando um potencial de interação de


curto alcance. O cálculo das interações utilizando as listas de células encadeadas se

escala linearmente com o número de partículas O(N) ao passo que um looping duplo
direto se escala quadraticamente com o número de partículas O(N?).

Lista de células encadeadas em paralelo -

O algoritmo para preparar a lista de células

encadeadas discutido para o código


serial precisa ser revisado na versão em paralelo para
considerar os átomos adicionais dos processos vizinhos. Deste modo além das células
158 Paralelizando a Simulação

com átomos do processo em questão (células residentes) o algoritmo deve considerar


ainda as células com átomos copiados dos processos vizinhos (células copiadas).

Migração de átomos -

O conceito de condição periódica de contorno é diferente no

cálculo em paralelo quando a decomposiçãoespacial é estabelecida. Quando um átomo

deixa o processo atravessando a fronteira do subsistema ele é transferido ao processo


vizinho responsávelpelo subsistema correpondente. Este de imigração pode
Apêndice.
processo
fazer com que o número total de átomos em cada um dos processos não seja exatamente
fixo durante a simulação, mesmo que o número de átomos no sistema total seja.

Program
chamad:

C=ZD]DZHZHTTIDIDD—:

program sample!
c two processes
c master proces:
c 1 try to gues:

include 'mpif
integer myid.
integer ntag,i
real try, numb

c——— Set MP
up
call MPI INIT
c-——— Get ID of
call MPL COMM R
c Set arbiir

ntag = 500
c Set exit
iexit=0
Pick a ranc

call random ses

if (myid.eq.C
call random nur
Apêndice A

Programas exemplo utilizando

chamadas básicas de MPI

c c

program samplel
c two processes version
c master process pick a number (1-9) and process
c 1 try to guess what it is

c c

include "mpif.h'
integer myid, ierr

integer ntag,itry ,itryrecv, status (MPL STATUS SIZE)


real try, number

c Set up MPI environment

call MPL INIT (ierr)


Cem Get ID of the process
call MPL COMM RANK(MPI COMM WORLD, myid, ierr)
c Set arbitrary flag
ntag = 500
c Set exit flag
iexit=0
c Pick a random number (1-9)
call random seed()
if (myid.eq.0) then
call random number (number)
160 Programas exemplo utilizando chamadas básicas de MPI

inumber=numberx10 c Set uj

printx,"master number to guess ",inumber call MPI T:


endif c— Ger II
Slave
|

c
process try to guess the master number call MPL CO
do 1i=1,100 C— Get
if(myid .ne. O) then call MPL CO
call random number (number) [o Set aj

itry=10+number ntag = 500


call MPI SEND(itry , 1, MPI integer, O, ntag, c Set es

& MPL COMM WORLD, ierr) iexit=0


else c—— Pick
call MPI RECV(itryrecv, 1, MPI integer, 1, ntag, call random
& MPI COMM WORLD, status, ierr) if
(myid.eg
if (itryrecv.eq.inumber) then call random
printx, “got it, master number is =",itryrecv inumber=nurm
iexit=] printx,"mas
else printx," Pr

printx,"bad try, master number is not =",itryrecv endif


endif c—— Slave
endif do i=1,100
CALL MPI ALLREDUCE(iexit iexitg ,1,MPI INTEGER, do
,
j=1,nproc
& MPI SUM,MPI COMM WORLD, ierr) if(myid .eg
if(iexitg.ne.0) exit call random.
enddo itry=10+num
call MpPI SEN
c Finalize MPI environment & MPL COMM Wa
call MPI FINALIZE (ierr) else if(myid
END PROGRAM samplel call MPI REC
Cc & MPI COMM W
printx,j, itrs
c Cc
if (itryrecv
program sample2
printx*," got
cn Ppprocesses version .
NR .

lexit=iexit-+
c master process pick a number (1-9) and processes
endif
C try to guess what it is
endif
e c
c Exit at the
include “mpif.h' CALL
c MPI ALL
integer myid, ierr
c & MP SUM1
integer ntag,itry ,itryrecv, status (MPI STATUS SIZE)
real
c
if(iexitg nº
try, number
161

c Set up MPI environment


call MPI INIT (ierr)
c Get ID of the process
call MPL COMM RANK(MPI COMM WORLD, myid, ierr)
c--— Get number of processes
call MPI COMM SIZE(MPI COMM WORLD, nproc, ierr)
c Set arbitrary flag
ntag = 500
c Set exit flag
iexit=0
c———— Pick a random number (1-9)
call random seed()
if (myid.eq.0) then
call random number (number)
inumber=numberx10

printx,"master number to guess ",inumber


printx,” Process * Guess &”
endif
Cc—m Slave to the master number
processes try guess
do i=1,100
do j=1l,nproc-l
if(myid .eq. j) then
call random number (number)
itry=10+number
call MPI SEND(itry, 1, MPI integer, O, ntag,
& MPI COMM WORLD, ierr)
else if(myid.eq.0) then
call MPI RECV(itryrecv, 1, MPI integer, j, ntag,
& MPL COMM WORLD, status, ierr)
printx,),itryrecv
if (itryrecv.eq.inumber) then

printx,"got it"

iexit=iexit+l
endif
endif
Exit at the first good try

ooo CALL

& MPL SUM,MPI


MPI ALLREDUCE(iexit
COMM WORLD,
exit
,iexitg
ierr)
,1,MPI INTEGER,

o if(iexitg.ne.0)
162 Programas exemplo utilizando chamadas básicas de MPI

enddo endif

To make call MPI BARRIE


c every process get a try
CALL MPI ALLREDUCE(iexit ,iexitg ,1,MPI INTEGER, enddo

& MPI SUM,MPIL COMM WORLD, ierr) c Who have

if then Call MPL ALILREDS


(myid.eq.0)
& MPI MIN .MPL CC
printx,"iexitg =",iexitg
endif if (inumber. eg

if(iexitg.ne.0) exit printx,"process


enddo endif

Cc Finalize MPI environment c Who have

call MPI FINALIZE(ierr) Call MPL ALLREDI

END PROGRAM & MPI MAX,MPI CT


sample2
c if (inumber .eg ir

printx," process
e e
endif
program sample3 c- What is th:

cn processes version Call MPL ALLREDI


c processes pick a number (1-9) and data is compared, & MPI SUM. MPL CO
c summed and multiplied if(myid.eg.0) 1

e c
c What is the

include “mpif.h” Call MPL ALIREDI


integer myid, ierr & MPI PROD.MEI O
integer ntag,itry ,itryrecv, status (MPI STATUS SIZE) if (myid.eg.0 s
real number
try, c Finalize M
c Set up MPI environment call MPI FINALIZ
call MPI INIT (ierr) END PROGRAM sam:

c Get ID of the process


C=========>=>>>==-
call MPL COMM RANK(MPI COMM WORLD, myid, ierr)
c Get number of processes program sample:
call MPI COMM SIZE(MPI COMM WORLD, nproc, ierr) cn processes ver

c— Set arbitrary flag c master node sei

500 c is transferred
ntag =

c Pick a random number (1-9) and print C======2==[D[2==>==

if(myid.eg.0) prints," Process É random number” include 'mpif.h


do i=0,nproc-l integer myid. ie

if(myid.eg.i) then integer ntag, si

call random seed() real number, matr

call random number (number) c—Set up MPI en

inumber=number +10 call MPI INIT

inumber c——Get ID of the


print+,myid,
163

endif
call MPI BARRIER(MPI COMM WORLD, ierr)
enddo
c Who have the smallest number

Call MPL ALLREDUCE(inumber ,


inumbermin ,1 ,MPI INTEGER,
& MPI MIN,MPI COMM WORLD, ierr )
if (inumber. eq. inumbermin) then

printx," process É ",myid," have the smallest number”

endif

c Who have the largest number

Call MPL ALLREDUCE(inumber , inumbermax ,1 ,MPI INTEGER,


& MPL MAX,MPI COMM WORLD, ierr)
if (inumber .
eq. inumbermax) then

printx,"process * ",myid," have the largest number”

endif

c--What is the sum of all the numbers?

Call MPL ALLREDUCE(inumber , inumbersum ,1 ,MPI INTEGER,


& MPI SUM,MPI COMM WORLD, ierr)
if(myid.eg.0) printx,"sum of all numbers =
",inumbersum
c What is the product of all the numbers?

Call MPL ALLREDUCE(inumber , inumberprod ,1,MPI INTEGER,


& MPI PROD,MPL COMM WORLD, ierr)
if(myid.eg.0) printx,"product of all numbers =
“,inumberprod
Cc Finalize MPI environment
call MPI FINALIZE(ierr)
END PROGRAM sample3

c c

program sample4
oO n processes version
master node sets a random 3x3 matrix and upper haf data

ooo is

include
transferred

"mpif.h'
between processes

integer myid, ierr

integer ntag, status (MPI STATUS SIZE)


real number, matrix (3,3)
c—Set up MPI environment
call MPL INIT (ierr)
c—Get ID of the process
164 Programas exemplo utilizando chamadas básicas de MPI

call MPL COMM RANK(MPI COMM WORLD, myid, ierr) if(myid.eg.;


c——Get number of processes & MPL COMM
call MPI COMM SIZE(MPI COMM WORLD, nproc, ierr) enddo
c—Set arbitrary flag enddo
ntag = 500 endif
c— Initialize matrix do m=0,nproc-
do i=1,3 if(myid.eg.m
do j=1,3 write (x,'(AS
matrix(i,)j)=0d0 write (x,
2
'(

enddo write '(


(x,
enddo
write(x,'(3
c—Master process fill matrix with random real numbers (1-9) endif

if(myid.eq.0) then call MPI BARE


call random seed() enddo
do i=1,3 if(myid.eqg.l
do j=1,3 enddo
call random number (number) c-——Finalize M
matrix(i,))=10d0+number call MPI FINAI
enddo END PROGRAM sa

enddo Cc
endif
C===2]2TDDDD]2DDD=
do i=0,nproc-—l
if(myid.eq.i) then program samples
cn
write(x,'(A8,i4)')" process *",myid processes
c
write(x,'(3f6.2)")(matrix(1,]),j=1,3) processes ser

write(x,'(3f6.2)')(matrix(2,]),)=1,3)
c
histogram
write(x,'(3f6.2)')(matrix(3,]),]J=1,3)
endif
call MPI BARRIER (MPL COMM WORLD, ierr) integer myid
enddo integer ntag .i

if (myid.eq.0) pause integer hist.h


real number.
c—Upper data is propagated process by process
rh

c Set ME
do i=0,nproc-—2 up
call MPI INIT
j=i+1
then
c Get ID
if(myid.eq.i.or.myid.eq.j)
do call MPL COMM E
k=1,3
Cc— Get numbes
do 1=k,3
call MPI call MPI COMM.
if(myid.eq.i) SEND(matrix (k,1),1,MPI REAL,j.,ntag,
& MPI COMM ierr
Cc Set arbitr
WORLD, )
ntag =
500
165

if(myid.eg.j) call MPI RECV(matrix (k,1),1,MPI REAL,i,ntag,


& MPL COMM WORLD, status ,ierr)
enddo
enddo
endif
do m=0,nproc-—l
if (myid.eq.m) then

write(x,'(A8,14)')," process*%",myid
write(*,'(3f6.2)')(matrix(1,n),n=1,3)
write(x,'(3f6.2)')(matrix(2,n),n=1,3)
write(x,'(3f6.2)')(matrix(3,n),n=1,3)
-9) endif

call MPI BARRIER(MPI COMM WORLD, ierr)


enddo

if(myid.eq.0) pause
enddo
c-—--Finalize MPI environment

call MPI FINALIZE (ierr)


END PROGRAM sample4
c

program samples
cn processes version
c processes set random 10 elements integer histogram
c histogram is averaged among processes
c

include "mpif.h'
integer myid, ierr

integer ntag,inumber, status (MPI STATUS SIZE)


integer hist, histg
real number, rhistg
c Set up MPI environment
call MPL INIT (ierr)
c Get ID of the process
call MPL COMM RANK(MPI COMM WORLD, myid, ierr)
c——Get number of processes
call MPI COMM SIZE(MPI COMM WORLD, nproc, ierr)
Cc Set arbitrary flag
ntag = 500
chamadas básicas de MPI
166 Programas exemplo utilizando

c Initialize histogram
call random seed()
do 1=1,10
call random number (number)
inumber=10:number
hist (i)=inumber
enddo

do i=0,nproc
1 Apêndice ]
if (myid.eq.i) then

write (x,'(A8,13,1016)')" process &",myid,( hist(5),]=1,10)


endif
call MPI BARRIER (MPL COMM WORLD, ierr )
enddo Erros no
Cc Sum
histogram globally
call MPL ALLREDUCE(hist (1), histg ,10,MPI INTEGER, .

& MPI SUM,MPL COMM WORLD, ierr) propried


if (myid.eqg.0) then

write (x,'(A11,1016)')" global” Chistg (5),]=1,10)


endif
c Calculate global average

do 1=1,10
B.l Errosno:
rhistg (i)=real(histg (i))/nproc
enddo
if (myid.eg.0) then

write (x,'(Al1,10f6.2)")" average" ,(rhistg(j),)=1,10) Uma questão relevanse


endif confiáveis. Como regr:

Finalize MPI environment


c médias temporais das £

call MPI FINALIZE (ierr) A quantificação deste «

END PROGRAM samples temporal. Como em


x

ções por DM/MC estzc

zação incompleta, uso d

1998), (Ferrenberg. Lar

se possível. Os erros

um tempo finito de sim

finito estes erros estão 5

estatística dos resultado


uma distribuição gaussi
distribuição.
Apêndice B

Erros no cálculo das

propriedades

B.1 Erros no cálculo das propriedades

Uma questão relevante é saber quão longa deve ser a simulação para se obter médias
confiáveis. Como regra geral, a
simulação deve ser suficientemente longa para que as

médias temporais das grandezas de interesse tenham uma média estatística satisfatória.
A quantificação deste critério se dá
pelo cálculo do erro estatístico associado à média
temporal. Como em todo experimento, as quantidades calculadas através de simula-
ções por DM/MC estão sujeitas a erros sistemáticos e estatísticos. Erros sistemáticos
podem surgir da dependênciados resultados com o tamanho finito do sistema, termali-
zação incompleta, uso de geradores de números aleatórios ruins, etc (Resende and Costa
1998), (Ferrenberg, Landau et al. 1992). Estes erros devem ser estimados e eliminados
se possível. Os erros estatísticos são gerados pela média temporal que é feita durante
um tempofinito de simulação. Como as médias são sempre realizadas em um tempo
finito estes erros estão sempre presentes. É, portanto, essencial estimar qual a relevância
estatística dos resultados calculados. Supondo de interesse
que a quantidade A(t) siga
uma
distribuiçãogaussiana precisamos apenas calcular o valor médio e a variância da
distribuição.
168 Erros no cálculo das propriedades B.3 Erro sobre as!

B.2 Erro sobre as médias no equilíbrio O tempo de correla

Para uma simulação executada por um total de Tora; passos de propagação, a média de
uma propriedade A qualquer do sistema durante a simulação será dada por

Total
1
(A) =

V4(t) (B.1)
B.3
Total 4-1 Erro so

considerando que em cada passo a quantidade seja medida.

Se supusermos que a quantidade A(7) é estatisticamente independente de qualquer A(7') uma


distribuiçãogs
a variância da média será dada por correlação são pare

2
= (4)
(A) (B.2)
Total

para a variância
com

Total
62 (A) =:
DVA(o) (A)? =
(AD) (AJ. =

(B.3)
Total q=1
Para uma função de |

O sobre valor médio calculado é dado então Infelizmente


o erro nas
flutuações
erro o por o ((A)). as quan-
tidades medidas geralmente não são independentes. As medidas geralmente são feitas

muito próximas umas das outras e a quantidade está altamente correlacionada. Se o nú-
B.4 Erro na
mero de passos necessários para descorrelacionar a quantidade medida for conhecido e

dado por ty a variância pode ser corrigida para


O erro em quantidac
ser calculado através

ção gaussiana é aplic


6º (A) cada ponto da função
S ((A)) =
214 (B.4)
Total maioria dos casos o c

Pode ser mostrado (Allen and Tildesley 1987) que para médias sobre tempos muito
menores que o tempo de correlação TA a variância é dada por B.5 Erro nas

Assim como as médi

correlação temporal «

S
((A)
rec) GTA
=
SUA). (B.5) temporal
B.3 Erro sobre as flutuações 169

O tempode correlação para a quantidade medida pode ser calculado por

2ta
lim1652((4),) /62 (4)
=
(B.6)

B.3 Erro sobre as flutuações


Erros flutuaçãodo valor médio ( 042) também podem
sobre a ser calculados supondo
uma distribuição gaussiana. As expressões para o cálculo da variância e o tempo de
correlação são parecidas

o? (64º) ral) 214(84?)[ora =


(B.7)

para a variância e

t= 2
[ arçõa(oaj?
(04º? (B.8)

Para uma função de correlação com decaimento exponencial tá =


ty e a
expressão para
o erro nas
flutuaçõesé idêntica a dos erros nas médias.

B.4 Erro nas quantidades estruturais

O erro em quantidades estruturais como a função de correlação de pares, g(r), pode


ser calculado através da análise dos dados acumulados
histogramas. nos A aproxima-
ção gaussiana é aplicada a cada um dos elementos
histograma e o erro do associado a

cada ponto da função. Como o procedimento é dispendioso e geralmente irrelevante na

maioria dos casos o cálculo do erro sobre os primeirospicos é suficiente.

B.5 Erro nas funções de correlação temporal


Assim como as médias de quantidades no equilíbrio e suas flutuaçõesas funções de
correlação temporal estão sujeitas a erros estatísticos. Para uma função de correlação
temporal
170 Erros no cálculo das propriedades

1 Gotal .
.
, ,

CEO) =
(ADÃO) a
o | AAA. 9

O erro a ser estimado é tal que

Apêndice
SC() =
Cyi(t) -Cas(t)
=
ora (A(A(O))—

(B.10)
(ADAO
=

ah ar
tota
(AGOA(!1) =

MA(A(E +10) Um pou


sendo (...) a média no ensemble. A variância é dada por
comput

Absoral) (A?)2x (2h /trorar)P.


/ (B.11)
"Considere pe
as forças pela |

elas foram cx

analisar todos
dos maiores cx

nada seria inc


olhos

C.1 Advent

-
1839 -

Charles Bab
desenharam e desem
como
“máquina difer
máquina nunca ter su

que vieram a ser desc

1930 -

Já existiam a

lhos específicos po :

-
1941 -

23, primeiro
em dez/1943 por bom
))

Apêndice €

Um pouco da história dos

computadores
11)
“Considere por um instante uma inteligência que possa compreender todas
as forças pela qual a natureza é animada e as situaçõesrespectivas nas quais
elas foram compostas
-

uma inteligência suficientemente vasta capaz de


analisar todos estes dados -

colocaria em uma mesma fórmula o movimento


dos maiores corpos do universo e aqueles dos átomos mais leves; para isso,
nada seria incerto e o futuro, como o passado, estaria presente para seus
"
olhos

Marques Pierre Simon de Laplace (1749-1827)

C.1 Advento do computador -


Linha do tempo

-
1839 -

Charles Babbage, com a colaboração da matemática Ada Countess Lovelace,


desenharam e desenvolveram o primeiro computador mecânico digital o qual foi descrito

"máquina diferencial resolução de problemas matemáticos.


"
como para a Apesar desta

máquina nunca ter sido construída ela contém muitos dos princípios dos computadores
que vieram a ser descobertos e construídos até hoje.
-
1930 -

Já existiam aparelhos eletrônicos os quais utilizavam válvulas, mas eram apare-


lhos específicos tipo contadores de radiação.
-
1941 -

Z3, primeiro computador eletromecânico, alemão,construido em 1941 destruído


em dez/1943 por bombardeio. Continha 2000 reles sendo 1400 somente para memória.
172 Um pouco da história dos computadores €C.1 Advento de cs

Operava em 5.3 Hz. Consumia 4000W. Uma operação de adição demorava 0.8 s e uma *
1956 -

Primeira s

multiplicação 3s. Foi usado no projeto de fuselagems de aviões. Alder e


Wainwrigh
*
1942 -

Colossus, máquina eletrônica de larga escala desenvolvida para quebrar mensa- 1960 W
George
- -

gens de códigos (somente operações lógicas) utilizadas pelas máquinas de codificação danos por radiação «

alemãs chamadas Enigma, durante a segunda grande guerra. -


1964 -

Primeira sim
-
1942 -

Inicia-se um projeto patrocinado pelas forças armadas americanas e a Univer- se de um


potencial
sidade da Pensilvânia para a construção de uma máquina para a realização de qualquer Laboratory.
tipo de cálculo -

chamada ENIAC -

Electronic Numerical Integrator And Computer.


Delá para cé os cx
O objetivo de tal máquina seria realizar cálculo de trajetórias balísticas. O ENIAC na
indo dos estudos fim
verdade nunca realizou nenhum cálculo a que foi originalmente proposto. O ENIAC

construído
ção de naves espac
foi por Presper Eckert (na época com 22 anos de idade) e John Mauchly
área
ciências, que é o ob
na Universidade da Pensilvânia. Pesava 30 toneladas e ocupava uma de 167 m?,
consumindo 150 kW. 1. Teste do caos mc

-
1944 -

John von Neumann junta-se ao projeto ENIAC. Propõe um programa de arma- 2. Equilíbrio
zenamento para os computadores.
3. Teoria cinética
-

1946 -

Apresentação do ENTAC público quando


ao então é usado no desenvolvimento
4. Difusão
de armas atômicas e em criptografia. Media aproximadamente S0m de largura, com

17.480 válvulas a uma taxa de 100.000 pulsos por segundo. Continha 20 fileiras de 5. Propriedades de w

luzes para indicar os resultados computados. Era capaz de adicionar 5.000 números
6. Dependência cu x
ou multiplicar dígitos segundo. 14 números idéia, de 10 em um Só para se ter uma

7. Teste de modelos
hoje um Pentium realiza 33.786.699 operações de ponto flutuante por segundos (ver por
exemplo: http://performance.netlib.org/ performance/html/flops 4.data.colO.html ). 8. Fenômenos crítico

Nos anos seguintes uma série de outras máquinas AC surgiriam. 9. Comportamento €


*
1949 -

EDSAC, BINAC.
10. Decaimento no &

-
1950 -

SEAC,
11. Acoplamento da

-
1950 -

As força armadas americanas liberam o uso dos computadores para uso não
12. Propriedades vihs
militar.
13. Medidas espectro
-
1951 -

EDVAC, UNIVAC, MULTIVAC, MANIAC - este últimos em várias versões-

MANIAC LI,MANIAC II e MANIAC TI. 14. Ordem orientacio

-
1953 -

É feita a primeira simulação de um líquido por Monte Carlo, programa desen- 15. Propriedades die)

volvido por Metropolis, Rosenbluth, Rosenbluth, Teller e Teller.


16. Fluidos complexo
-
1954 -

É criada a primeira linguagem dealto nível, FORTRAN -

FORmula TRANsla-
17. Estrutura e dinâm:
tion.

Ulan estudam dinâmica de cadeia


18. Líquidos molecu!
-

1955 -

Enrico Fermi, John Pasta e Stanislaw a uma

unidimensional de partículasacopladas por molas anarmônicas utilizando o MANIAC. 19. Águae solução ag

q DE
C.1 Advento do computador -
Linha do tempo 173

-
1956 -

Primeira simulação da dinâmica de esferas rígidas (bolas de bilhar) é feita por


Alder e Wainwright no Lawrence Livermore National Laboratory.
-
1960 -

George Vineyard e seu grupo no Brookhaven National Laboratory simulam

danos por radiação em cristais de Cu.

-
1964 -

Primeira simulação por dinâmica molecular de um líquido argônio - -

utilizando-
se de um potencial de interação, realizada por Aneesur Rahman no Argonne National

Laboratory.
De lá para cá os computadores ajudaram a explorar o mundo nas mais diversas áreas,
tm
indo dos estudos fundamentais em Física, Química, Matemática e Biologia, até a produ-
va
ção de naves espaciais, aviões invisíveis e, não podendo esquecer, as redes sociais. Em

ciências, que é o objetivo deste livro, podemossitar:

fredTeste
. do caos molecular

2 .
Equilíbrio
wo Teoria
. cinética

o
Bo Difusão
.

boda
o ta .
Propriedades de transporte

a A
OS Dependênciaou
. influência do sistema

1 . Teste de modelos e potenciais de interação

8. Fenômenos críticos

9. Comportamento Coletivo

10. Decaimento no espaço e tempo de funções de correlação

11. Acoplamento da translação e rotação

12. Propriedades vibracionais

13. Medidas espectroscópicas

14. Ordem orientacional

en- 15. Propriedades dielétricas

16. Fluidos complexos


sla-
17. Estrutura e dinâmica de vidros

18. Líguidos moleculares


jeia
C. 19. Água
e solução aquosa
174 Um pouco dahistória dos computadores C.1 Advento do cem

Monte Carlo clássa


20. Cristais líquidos
passo que o Moniz €
21. Líquidos iônicos
Nadinâmica moleca

22. Filmes e monocamadas simulação com esfera

líquido real,
rod

um =
23. Interfaces líquidas
esquecendo de Nosé
24. Polímeros
man, para citar os ma

25. Processos de transporte e relaxação sem, no entanto esc

contribuições para z

26. Sólidos
grange.
27. Formação e migração de defeitos
Atualmente (janeiro «

28. Fratura XK7 com 560640 rm

de 710144 GB. O Z:
29. Contorno de grãos

30. Transformação estrutural

31. Danos por radiação

32. Propriedades elásticas e plásticas


33. Atrito

34. Ondas de choque

35. Cristais moleculares

36. Biomoléculas

37. Estrutura e dinâmica de proteínas


38. Miscelas

39. Dinâmica de fluidos

40. Fluxo laminar

41. Contorno de camadas

42. Reologia de fluidos não Newtonianos

43. Meios granulares


44. Segregação de fases

45. Dependênciasde tamanho

e muito mais...

Todo o desenvolvimento das técnicas atuais de simulação, tanto por dinâmica molecular

como por Monte Carlo deve-se a umas poucas pessoas. Com respeito a simulação de
C.1 Advento do computador -
Linha do tempo 175

Monte Carlo clássico, até hoje os códigos são baseados nas ideais de Metropolis, ao

passo que o Monte Carlo quântico deve-se em grande parte aos trabalhos de Ceperley.
Na dinâmica molecular o número de pessoas é bem maior. Desde o trabalho pioneiro da

simulação com esferas duras, devido a B.J. Alder, A. Rahman e a


primeira simulação de
um líquido real, e toda a parceria Parrinello, J. Ray. Não
contribuição posterior em com

esquecendo de Nosé, Hoover, Carr, Parrinello, Andersen, Rychaert, Martyna e Thucker-


man, para citar os mais famosos do ponto de vista de suas contribuiçõescomputacionais,
“sem,no entanto esquecer que tudo isso seria de menor importância se não existissem as

contribuições para a mecânica analítica fornecidas por Euler, Newton, Hamilton e La-

grange.

Atualmente (janeiro de 2013) o computador mais rápido do mundo é o TITAN-CRAY

XK7 com 560640 núcleos e performance de


pico de 27112.5 TFLOPS e uma memória
de 710144 GB. O Z3 alemão tinha um performance de 1 FLOP!
Referências Bibliográficas

[1] Alder, B Alder, B. J., D. M. Gass, et al. (1970). "Studies in Molecular Dynamics
-8.Transport Coefficients for a Hard-Sphere Fluid." Journal of Chemical Physics
53(10): 3813-&.

2] Alder, B. J., W. G. Hoover, et al. (1963). "Cooperative Motion of Hard Disks

Leading to Melting." Physical Review Letters 11(6): 241-&.

[3] Alder, B. J. and Wainwrig.Te (1967). "Velocity Autocorrelations for Hard Sphe-
res." Physical Review Letters 18(23): 988-&.

[4] Alder, B. J. and T. E. Wainwright (1956). Procedings of the International

Symposium on Statistical Mechanical Theory of Transport Processes, Brussels,


Interscience, Wliley.

[5] Alder, B. J. and T. E. Wainwright (1959). "Studies in Molecular Dynamics .1.


General Method." Journal of Chemical Physics31(2): 459-466.

[6] Allen, M. P. and D. J. Tildesley (1987). Computer simulation of liquids. Oxford

[England] New York, Clarendon Press ; Oxford University Press.

[7] Andersen, H. C. (1980). "Molecular-Dynamics Simulations at Constant Pressure


and-or Temperature." Journal of Chemical Physics 72(4): 2384-2393.

[8] Born, M. and K. u. Huang (1988). Dynamical theory of crystal lattices. Oxford,
New York, Clarendon Press ; Oxford University Press.

[9] Bom, M. and J. E. Mayer (1932). Z. Phys. 75: 1.

[10] Branicio, P. S., R. K. Kalia, et al. (2003). "Structural, mechanical, and vibrational

properties of Gal-xInxAs alloys: A molecular dynamicsstudy." Applied Physics


Letters 82(7): 1057-1059.

[11] Branicio, P.S.,J.P. Rino, et al. (2006). "High-pressure phases of InP: An ab initio
and molecular-dynamics study." Applied Physics Letters 88(16): -.
178 REFERÊNCIAS BIBLIOGRÁFICAS REFERÊNCIAS ETE

[12] Brown, D. andJ. H. R. Clarke (1984). "A Comparison of Constant Energy, Cons-
[26] DeVries.PL
tant Temperature and Constant Pressure Ensembles in Molecular-Dynamics Si-
mulations of Atomic Liquids." Molecular Physics 51(5): 1243-1252. [27] Ebbsjo, L. E
on intermedime
[13] Buckingham, R. A. (1938). Proc. Roy Soc. A 168: 264.
Physics 87/1

[14] Buckingham, R. A. (1961). J. Plan. Space Sci. 3: 205.


[28] Eyring. E. I
New York. Aces
[15] Carnahan, B., H. A. Luther, et al. (1969). Applied numerical methods. New York,,
Wiley. [29] Foiles, S. M
for the Fcc Nem
[16] Chandler, D. (1987). Introduction to Modern Statistical Mechanics. Oxford, Ox-
33(12): 798378
ford University Press.

[30] Frenkel, D. amí


[17] Chantasiriwan, S. and F. Milstein (1998). "Embedded-atom models of 12 cu-
algorithms 10 a

bic metals incorporating second- and third-order elastic-moduli data." Physical


Review B 58(10): 5996-6005. [31] Gibson, 1. B. 4

Physical Reviz
[18] Chaves, A. (2001). Física -Volume I Mecânica. Rio de Janeiro, Reich-
mann& Affonso Editores, Brasil. [32] Girifalco, L a

Function to Cuk
[19] Cleri, F. and V. Rosato (1993). "Tight-Binding Potentials for Transition-Metals
and Alloys." Physical Review B 48(1): 22-33. [83] Goldstein, E
Co.
[20] Costa, S. €., P.S. Pizani, et al. (2002). "Structural phase transformation in InSb:
A molecular dynamics simulation.” Physical Review B 66(21): -. [34] Griebel, M. &
dynamics : num

21) Costa, S. €C., PS. Pizani, et al. (2005). "Structural phase transition and dy-
namical properties of PbTiO3 simulated by molecular dynamics." Journal of [35] Hacyan, S. (2006

Matter 17(37): 5771-5783. American Jourma


Physics-Condensed

[22] Coura, P. Z., S. B. Legoas, et al. (2004). "On the structural and stability features [36] Haile, J. M. (190

of linear atomic suspended chains formed from gold nanowires stretching." Nano York, Wiley.
Letters 4(7): 1187-1191.
[37] Hansen, JT. P am

Academic Press
[23] Daw, M. S. and M. I. Baskes (1983). "Semiempirical, Quantum-Mechanical Cal-
culation of Hydrogen Embrittlement in Metals." Physical Review Letters 50(17): [38] Hirschfelder. 1
1285-1288.
liquids. [New os

24] Daw, M. S. and M. I. Baskes (1984). "Embedded-Atom Method -

Derivation
[39] Hoover, W. G
and Application to Impurities, Surfaces, and Other Defects in Metals." Physical butions.” Physical
Review B 29(12): 6443-6453.
[40] Hoover, W. G
[25] Daw, M.S., S.M. Foiles, et al. (1993). "The Embedded-Atom Method -

a Review -

Non-Hamiltoniz
of Theory and Applications." Materials Science Reports 9(7-8): 251-310.
40(5): 2814-2815
REFERÊNCIAS BIBLIOGRÁFICAS 179

[26] DeVries, P L. (1994). A first course in computational physics. New York, Wiley.

[27] Ebbsjo, I., R. K. Kalia, et al. (2000). "Topology amorphous gallium arsenide
of

on intermediate length scales: A molecular dynamics study.” Journal of Applied


Physics 87(11): 7708-7711.

[28] Eyring, H., D. Henderson, et al., Eds. (1970). Treatise on


Physical Chemistry.
New York, Academic Press.
Ls

[29] Foiles, S. M., M. I. Baskes, et al. (1986). "Embedded-Atom-Method Functions

for the Fcc Metals Cu, Ag, Au, Ni, Pd, Pt, and Their Alloys." Physical Review B

33(12): 7983-7991.

[30] Frenkel, D. and B. Smit (2002). Understanding molecular simulation : from


U-
to San Diego, Academic Press.
algorithms applications.
IE
[31] Gibson, J. B., A. N. Goland, et al. (1960). "Dynamics of Radiation Damage."
Physical Review 120(4): 1229-1253.
"

[32] Girifalco, L. A. and V. G. Weizer (1959). Application of the Morse Potential

Function to Cubic Metals." Physical Review 114(3): 687-690.


als
[33] Goldstein, H. (1980). Classical mechanics. Reading, Mass., Addison-Wesley Pub.

Co.

[34] Griebel, M., S. Knapek, et al. (2007). Numerical simulation in molecular

dynamics : numerics, algorithms, parallelization, applications. Berlin, Springer.

[35] Hacyan, S. (2006). "What does it mean to modify or test Newtons”s second law"

American Journal of Physics 77(7): 607-609.

[36] Haile, J. M. (1992). Molecular dynamics simulation : elementary methods. New


res
York, Wiley.
ano

[37] Hansen, J. P and I. R. McDonald (1976). Theory of Simple Liquids. London,


Academic Press.
'al-

7): [38] Hirschfelder, J. O., C. F. Curtiss, et al. (1965). Molecular theory of gases and

liquids. [New York], Wiley.


on [39] Hoover, W. G. (1985). "Canonical Dynamics -

Equilibrium Phase-Space Distri-

ical butions." Physical Review A 31(3): 1695-1697.

[40] Hoover, W. G. (1989). "Generalization of Noses Isothermal Molecular-Dynamics


iew -

Non-Hamiltonian Dynamics for the Canonical Ensemble." Physical Review A

40(5): 2814-2815.
180 REFERÊNCIAS BIBLIOGRÁFICAS REFERÊNCIAS E

[41] Huang, K. (1987). Statistical mechanics. New York, Wiley. [56] Morta, T

tion .3. A Mg
[42] Kadau, K., T. C. Germann, et al. (2006). "Molecular dynamics comes of age: 320 F
Theoretical
billion atom simulation on BlueGene/L." International Journal of Modem Physics
CIT): 1755-1761. [57] Morse. P M

Vibrational L
[43] Kallinteris, G. C., N. I. Papanicolaou, et al. (1997). "Tight-binding interatomic
potentials based calculation: [58] Nose. S. «1%
on total-energy Application to noble metals using
molecular-dynamics simulation." Review B cal Ensemide
Physical 55(4): 2150-2156.

[44] Landau, D. P and M. Krech (1999). "Spin dynamics simulations of classical [59] Nose. S. (198

ferro- and model Dynamics Ms


antiferromagnetic systems: comparison with theory and experi-
ment.” Journal of Physics-Condensed Matter 11(18): R179-R213. [60] Parlinski. K

Phase-Transm
[45] Landau, L. D., E. M. Lifshi*t*s, et al. (1986). Theory of Oxford
elasticity. [Ox-
1796.
fordshire] ; New York, Pergamon Press.
[61] Parrinello. »4
[46] Leach, A. R. (1996). Molecular Modeling -

Principles and Applications. Singa-


Molecular-D»
pore, Longman Singapore Publisher.

[62] Parrinello
[47] Lebowitz, J. L.,J. K. Percus, et al. (1967). "Ensemble Dependence of Fluctuations
Crystals -

a
with Application to Machine Computations." Physical Review 153(1): 250-254. 52(12): 7182-

[48] Lennard-Jones, J. E. (1924). Proc. Roy. Soc. A 106: 463.


[63] Percus,]. EK =

by Means cf €
[49] Lennard-Jones, L. E. (1924). Proc. Roy. Soc. A 106: 441.
W

[64] Perram, 1].


[50] Marion, J. B. and S. T. Thornton (1995). Classical dynamics of particles and
(1983). The pá

systems. Fort Worth, Saunders College Pub.


Plenum Press

[51] Martyna, G. J., M. L. Klein, et al. (1992). "Nose-Hoover Chains -

the Canonical
[65] Picinin, A. E
Ensemble Via Continuous Dynamics." Journal of Chemical 2635-
Physics 97(4): alloys: 4 com

2643.
Chemical Ph:

[52] Martyna, G. J., M. E. Tuckerman, et al. (1996). ""Expliciat reversible integrators [66] Picinin, 4.4
for extended systems dynamics." Molecular Physics 87: 1117. F-x(2) phase d

1770-775.
[53] McQuarrie, D. A. (1976). Statistical Mechanics. New York, HArper Colins.
[67] Rahman, &
[54] Metropolis, N., A. W. Rosenbluth, et al. (1953). "Equation of State Calculations Rev. 136(24
by Fast Computing Machines." Journal of Chemical 1087-1092.
Physics 21(6):
[68] Rapaport. D
[55] Metropolis, N. and S. Ulam (1949). "The Monte Carlo Method." Journal of the Consideratioms
American Statistical Association 44(247): 335-341. 3): 198-216
REFERÊNCIAS BIBLIOGRÁFICAS 181

[56] Morita, T. (1960). “Theory of Classical Fluids -

Hyper-Netted Chain Approxima-


tion .3. A New Integral Equation for the Pair Distribution Function." Progress of
Theoretical Physics 23(5): 829-845.

[57] Morse, P.M. (1929). "Diatomic Molecules According to the Wave Mechanics. IL.
Vibrational Levels." Phys. Rev. 34: 57-64.

[58] Nose, S. (1984). "A Molecular-Dynamics Method for Simulations in the Canoni-
cal Ensemble." Molecular Physics 52(2): 255-268.

[59] Nose, S. (1984). "A Unified Formulation of the Constant Temperature Molecular-
Dynamics Methods." Journal of Chemical Physics 81(1): 511-519.

[60] Parlinski, K., F. Denoyer, et al. (1990). "On the Molecular-Dynamics Study of a

Phase-Transition in a Quasi-Crystal Model." Journal De Physique 51(17): 1791-


1796.

[61] Parrinello, M. and A. Rahman (1980). "Crystal-Structure and Pair Potentials -

Molecular-Dynamics Study." Physical Review Letters 45(14): 1196-1199.

[62] Parrinello, M. and A. Rahman (1981). "Polymorphic Transitions in Single-


Crystals -

a New Molecular-Dynamics Method." Journal of Applied Physics


52(12): 7182-7190.
"

[63] Percus, J. K. and G. J. Yevick (1958). Analysis of Classical Statistical Mechanics

by Means of Collective Coordinates." Physical Review 110(1): 1-13.

[64] Perram, J. W. and North Atlantic Treaty Organization. Scientific Affairs Division.

(1983). The physics of superionic conductors and electrode materials. New York,
Plenum Press.

[65] Picinin, A., R. R. Deshpande, et al. (2008). "Structural ordering in CdxPb1-xF2

alloys: A combined molecular dynamics and solid state NMR study." Journal of
Chemical Physics 128(22): -.

ta [66] Picinin, A., M. A. P. Silva, et al. (2005). "The eutectic composition on CdxPb1-
F-x(2) phase diagram: A molecular-dynamics study." Europhysics Letters 71(5):
7170-775.

[67] Rahman, A. (1964). "Correlations in the motion of atoms in liquid argon." Phys.
th Rev. 405-411.
136(24):

[68] Rapaport, D. C. (1991). "Multimillion Particle Molecular-Dynamics .1. Design


Lev Considerations for Vector Processing." Computer Physics Communications 62(2-
3): 198-216.
182 REFERÊNCIAS BIBLIOGRÁFICAS REFERÊNCI

[69] Rapaport, D. C. (1991). "Multimillion Particle Molecular-Dynamics .2. Design [83] Tersoi
Considerations for Distributed-Processing." Computer Physics Communications Elasric F

62(2-3): 217-228.
[84] Tersof

[70] Rapaport, D. C. (2004). The Art of Molecular Dynamics Simulation. Cambridge, Covales

Cambridge University Press.


[85] Tomar
[71] Ray, J. R. (1988). "Elastic-Constants and Statistical Ensembles in Molecular- tronic Ef
Dynamics." Computer Physics Reports 8(3): 111-151.
|
[86] Troner.
[72] Ray, J. R., M. C. Moody, et al. (1985). "Molecular-Dynamics Calculation of
Elastic-Constants for a Crystalline System in Equilibrium." Physical Review B [87] Tsa.S.E
32(2): 733-735. and spis

[73] Reif, F. (1965). Fundamentals of Statistical and Thermal Physics. Singapore, [88] Tsa. 8.1
McGraw-Hill. using
me

[74] Rino, J. P., Y. M. M. Hornos, et al. (1988). "Structural and Dynamical Correlati- [89] Tuckerm
ons in Ag2se -

a Molecular-Dynamics Study of Superionic and Molten Phases." Molecuk


Journal of Chemical Physics 8912): 7542-7555.
[90] van Dum
[75] Rino, J. P. and N. Studart (2001). "An interaction potential for materials and mo-
hydrocari
lecular dynamics simulations." Quimica Nova 24(6): 838-845.
[91] Vashishez
[76] Simon, K. R. (1971). Mechanics. London, Addison-Wesley Publishing Company. A molea

4
[7N Snir, M. (1998). MPL-the reference.
complete Cambridge, Mass., MIT Press.
no
[78] Squire, D. R., A. €. Holt, et al. (1969). "Isothermal Elastic Constants for Argon. o

and Monte Carlo Calculations." 388-&. [22] -

Theory Physica 42(3):


molecula
sao
[79] Stillinger, F. H. and T. A. Weber (1985). "Computer-Simulation of Local Order Applied F
in Condensed Phases of Silicon." Physical Review B 31(8): 5262-5271.
[93] Vashishea
[80] Swope, W. C., H. C. Andersen, et al. (1982). "A Computer-Simulation Method for a Moleca
the Calculation of Equilibrium-Constants for the Formation of Physical Clusters 41(17
of Molecules Application to Small Water Clusters." Journal of Chemical Physics
-

76(1): 637-649. [94] Vashisha


Revieu L

[81] Tersoff, J. (1986). "New Empirical-Model for the Structural-Properties of Sili-


con.” Physical Review Letters 56(6): 632-635. [95] Verler L

[82] Tersoff, J. (1988). "Empirical Interatomic Potential for Carbon, with Applications [96] Verler L

to Amorphous-Carbon." Physical Review Letters 61(25): 2879-2882. cal Proper


REFERÊNCIAS BIBLIOGRÁFICAS 183

[83] Tersoff, J. (1988). "Empirical Interatomic Potential for Silicon with Improved
Elastic Properties." Physical Review B 38(14): 9902-9905.

[84] Tersoff, J. (1988). "New Empirical- Approach for the Structure and Energy of
Covalent Systems." Physical Review B 37(12): 6991-7000.

[85] Tomanek, D., A. A. Aligia, et al. (1985). "Calculation of Elastic Strain and Elec-

tronic Effects on Surface Segregation." Physical Review B 32(8): 5051-5056.

[86] Trotter, H. F. (1959). Proc. Amer. Math. Soc. 10: 545.

[87] Tsai, S. H., M. Krech, et al. (2004). "Symplectic integration methods in molecular

and spin dynamics simulations.” Brazilian Journal of Physics 34(24): 384-391.

[88] Tsai, S. H., H. K. Lee, et al. (2005). "Molecular and spin dynamics simulations

using modem integration methods." American Journal of Physics 73(7): 615-624.

[89] Tuckerman, M., B. J. Berne, et al. (1992). "Reversible Multiple Time Scale

Molecular-Dynamics." Journal of Chemical Physics 97(3): 1990-2001.

[90] van Duin, A. C. T., S. Dasgupta, et al. (2001). "ReaxFF: A reactive force field for

hydrocarbons." Journal of Physical Chemistry A 105(41): 9396-9409.

[91] Vashishta, P., R. K. Kalia, et al. (2007). "Interaction potential for silicon carbide:

A molecular dynamics study of elastic constants and vibrational density of sta-

tes for crystalline and amorphous silicon carbide." Journal of Applied Physics
101(10): -.

[92] Vashishta, P, R. K. Kalia, et al. (2008). "Interaction potentials for alumina and

molecular dynamics simulations of amorphous and liquid alumina.” Journal of

Applied Physics 103(8): -.

[93] Vashishta, P, R. K. Kalia, et al. (1990). "Interaction Potential for Sio2 -

a Molecular-Dynamics Study of Structural Correlations." Physical Review B

41(17): 12197-12209.

[94] Vashishta, P. and A. Rahman (1978). "Ionic Motion in Alpha-Agi." Physical


Review Letters 40(20): 1337-1340.

[95] Verlet, L. (1964). "On Theory of Classical Fluids-3." Physica 30(1): 95-&.

[96] Verlet, L. (1967). "Computer Experiments on Classical Fluids .I. Thermodynami-


cal Properties of Lennard-Jones Molecules." Physical Review 159(1): 98-103.
184 REFERÊNCIAS BIBLIOGRÁFICAS REFERÊNCO

[97] Vogelsang, R., C. Hoheisel, et al. (1987). “Thermal-Conductivityof the Lennard- [110] Anders
Jones Liquid by Molecular-Dynamics Calculations." Journal of Chemical Physics and-or

86(11): 6371-6375.
1

[111] Bom

[98] Volz, S. G. and C. G. (2000). "Molecular-dynamics simulation of thermal con- A,


INE

ductivity of silicon crystals." Phys. Rev. B 61(4): 2651-2656.


[112] Bom. M

[99] Voter, A. F, F. Montalenti, et al. (2002). "Extending the time scale in atomistic
simulation of materials.” Annual Review of Materials Research 32: 321-346.
[113] Bram
properts
[100] Wang, E. G. and D. P. Landau (2001). "Determining the density of states for clas- euers &

sical statistical models: A random walk algorithm to produce a flat histogram."


Review E
[114] Branic
Physical 64(5).
and mok

[101] Wang, F. G. and D. P. Landau (2001). "Efficient, multiple-range random walk al-
to calculate the of states."
[115] Brown. T
gorithm density Physical Review Letters 86(10): 2050-
2053.

[102] Wentzcovitch, R. M. (1991). "Invariant Molecular-Dynamics Approach to Struc-


tural
[116] Buckingk
Phase-Transitions." Physical Review B 44(5): 2358-2361.

[117] Buckingk
[103] Yin, M. T. and M. L. Cohen (1980). "Microscopic Theory of the Phase-
Transformation and Lattice-Dynamics of Si.” Physical Review Letters 45(12):
1004-1007.

[104] .
J., D. M. Gass, et al. (1970). "Studies in Molecular Dynamics .8. Transport [119] Chandler
Coefficients for a
Hard-Sphere Fluid." Journal of Chemical Physics 53(10): 3813- ford Um
&.
[120] Chantasir
[105] Alder, B. J., W. G. Hoover, et al. (1963). "Cooperative Motion of Hard Disks

Leading to Melting." Physical Review Letters 11(6): 241-&.

[106] Alder, B. J. and Wainwrig.Te (1967). "Velocity Autocorrelations for Hard Sphe-
res." Physical Review Letters 18(23): 988-&.

[107] Alder, B. J. and T. E. Wainwright (1956). Procedings of the International [122] Clen. F a

Symposium on Statistical Mechanical Theory of Transport Processes, Brussels, and Alloys


Interscience, Wiiley.
[123] Costa, S
[108] Alder, B. J. and T. E. Wainwright (1959). "Studies in Molecular Dynamics .1. A molecol
General Method." Journal of Chemical Physics 31(2): 459-466.
[124] Costa, S
[109] Allen, M. P. and D. J. Tildesley (1987). Computer simulation of liquids. Oxford namical pr
[England] New York, Clarendon Press ; Oxford University Press. Physics-Co
REFERÊNCIAS BIBLIOGRÁFICAS 185

[110] Andersen, H. C. (1980). "Molecular-Dynamics Simulations at Constant Pressure

and-or Temperature." Journal of Chemical Physics 72(4): 2384-2393,

[111] Born, M. and K. u. Huang (1988). Dynamical theory of crystal lattices. Oxford,
New York, Clarendon Press ; Oxford University Press.

[112] Born, M. and J. E. Mayer (1932). Z. Phys. 75: 1.

[113] Branício, P.S., R. K. Kalia, et al. (2003). "Structural, mechanical, and vibrational

properties of Gal-xInxAs alloys: A molecular dynamics study." Applied Physics


Letters 82(7): 1057-1059.

[114] Branicio, P.S.,J. P Rino, et al. (2006). "High-pressure phases of InP: An ab initio
and molecular-dynamics study." Applied Physics Letters 88(16): -.

[115] Brown, D. and J.H. R. Clarke (1984). "A Comparison of ConstantEnergy, Cons-
tant Temperature and Constant Pressure Ensembles in Molecular-Dynamics Si-
mulations of Atomic Liquids." Molecular Physics 51(5): 1243-1252.

[116] Buckingham, R. A. (1938). Proc. Roy Soc. A 168: 264.

[117] Buckingham, R. A. (1961). J. Plan. Space Sci. 3: 205.

[118] Carnahan, B., H. A. Luther, et al. (1969). Applied numerical methods. New York,,
Wiley.

[119] Chandler, D. (1987). Introduction to Modem Statistical Mechanics. Oxford, Ox-

ford University Press.

[120] Chantasiriwan, S. and F. Milstein (1998). "Embedded-atom models of 12 cu-

bic metals incorporating second- and third-order elastic-moduli data." Physical


Review B 58(10): 5996-6005.

[121] Chaves, A. (2001). Física -Volume I Mecânica. Rio de Janeiro, Reich-

mann& Affonso Editores, Brasil.

[122] Cleri, F. and V. Rosato (1993). "Tight-Binding Potentials for Transition-Metals

and Alloys." Physical Review B 48(1): 22-33.

[123] Costa, S. C., P.S. Pizani, et al. (2002). "Structural phase transformation in InSb:

A molecular dynamics simulation." Physical Review B 66(21): -.

[124] Costa, S. C., P. S. Pizani, et al. (2005). "Structural phase transition and dy-
namical properties of PbTIO3 simulated by molecular dynamics." Journal of

Physics-Condensed Maiter 17(37): 5771-5783.


186 REFERÊNCIAS BIBLIOGRÁFICAS

[139] Haile, J. »
et al. "On the structural and stability features
[125] Coura, P. Z., S. B. Legoas, (2004).
Nano York. Wile
of linear atomic suspended chains formed from gold nanowires stretching."
Letters 4(7): 1187-1191. [140] Hansen 11
R
Cal- Academx
[126] Daw, M.S. and M. I. Baskes (1983). "Semiempirical, Quantum-Mechanical
culation of Hydrogen Embrittlement in Metals." Physical Review Letters 50(17):
[141] Hirschíeides
1285-1288. ?

liquids.
Method Derivation
(1984). "Embedded-Atom
-

[127] Daw, M. S. and M. I. Baskes W


and Other Defects in Metals." Physical [142] Hoover.
and Application to Impurities, Surfaces,
butions
Review B 29(12): 6443-6453.

et al. “The Embedded- Atom Method -

a Review [143] Hoover.


[128] Daw,M.S.,S.M. Foiles, (1993).
251-310. Non-Ham
Theory and Applications.”Materials Science Reports 9(7-8):
-

of
40(5): 2814
P. L. (1994). A first course in computational physics. New York, Wiley.
[129] DeVries,
[144] Kadau, KT
[130] Ebbsjo, L, R. K. Kalia, et al. (2000). "Topology amorphous gallium arsenide
of
billion atom

on intermediate length scales: A molecular dynamics study.” J ournal of Applied 17


Cir(ilr
Physics 87(11): 7708-7711.
[145] Kallintens
[131] Eyring, H., D. Henderson, et al., Eds. (1970). Treatise on Physical Chemistry.
potentials bx
New York, Academic Press.
molecular-d:
Functions
[132] Foiles, S. M., M. I. Baskes, et al. (1986). "Embedded-Atom-Method
for the Fcc Metals Cu, Ag, Au, Ni, Pd, Pt, and Their Alloys." Physical Review B [146] Landau, D

ferro- and ==»


33(12): 7983-7991.
ment.” Joum
molecular simulation : from
[133] Frenkel, D. and B. (2002). Understanding
Smit

applications. San Diego, Academic Press. [147] Landau, LT


algorithms to
fordshire]
J. B., A. N. Goland, et al. (1960). "Dynamics of Radiation Damage."
[134] Gibson,
Physical Review 120(4): 1229-1253. [148] Leach, 4 E

pore, Longm
the Morse Potential
[135] Girifalco, L. A. and V. G. Weizer (1959). "Application of
Function to Cubic Metals." Physical Review 114(3): 687-690. [149] Lebowitz, 1.1

Pub. with Applica


[136] Goldstein, H. (1980). Classical mechanics. Reading, Mass., Addison-Wesley
Co.
[150] Lennard-Joms
simulation in molecular
[137] Griebel, M., S. Knapek, et al. (2007). Numerical
[151] Lennard-Joms
dynamics : numerics, algorithms, parallelization, applications. Berlin, Springer.

does it to modify or test Newtons's second law?” [152] Marion. J. B


[138] Hacyan, S. (2006). "What
mean

607-609. systems. For


American Journal of Physics 77(7):
REFERÊNCIAS BIBLIOGRÁFICAS 187

[139] Haile, J. M. (1992). Molecular dynamics simulation : elementary methods. New

York, Wiley.

[140] Hansen, J. P. and L R. McDonald (1976). Theory of Simple Liquids. London,


Academic Press.

[141] Hirschfelder, J. O., C. F. Curtiss, et al. (1965). Molecular theory of gases and

liquids. [New York], Wiley.

[142] Hoover, W. G. (1985). "Canonical Dynamics -

Equilibrium Phase-Space Distri-

butions." Physical Review A 31(3): 1695-1697.

[143] Hoover, W. G. (1989). "Generalization of Noses Isothermal Molecular-Dynamics


-

Non-Hamiltonian Dynamics for the Canonical Ensemble." Physical Review A

40(5): 2814-2815. Huang, K. (1987). Statistical mechanics. New York, Wiley.

[144] Kadau, K., T. C. Germann, et al. (2006). "Molecular dynamics comes of age: 320
tu
billion atom simulation on BlueGene/L." International Journal of Modem Physics
Vida 1755-1761.
C17(12):

[145] Kallinteris, G. C., N. I. Papanicolaou, et al. (1997). “Tight-binding interatomic

potentials based on total-energy calculation: Application to noble metals using


molecular-dynamics simulation." Physical Review B 55(4): 2150-2156.
tn

[146] Landau, D. P and M. Krech (1999). "Spin dynamics simulations of classical


[OO
ferro- and antiferromagnetic model systems: comparison with theory and experi-
ment." Journal of Physics-Condensed Matter 11(18): R179-R213.
3
[147] Landau, L. D., E. M. Lifshits, et al. (1986). Theory of elasticity. Oxford [Ox-
fordshire] ; New York, Pergamon Press.

[148] Leach, A. R. (1996). Molecular Modeling


-

Principles and Applications. Singa-


pore, Longman Singapore Publisher.

[149] Lebowitz, J. L., J. K. Percus, et al. (1967). "Ensemble Dependence of Fluctuations

1b.
with Application to Machine Computations." Physical Review 153(1): 250-254.

[150] Lennard-Jones, J. E. (1924). Proc. Roy. Soc. A 106: 463.

[151] Lennard-Jones, L. E. (1924). Proc. Roy. Soc. A 106: 441.

[152] Marion, J. B. and S. T. Thornton (1995). Classical dynamics of particles and

systems. Fort Worth, Saunders College Pub.


188 REFERÊNCIAS BIBLIOGRÁFICAS REFERÊNCIA:

[153] Martyna, G. J., M. L. Klein, et al. (1992). "Nose-Hoover Chains -

the Canonical [167] Picinin. &

Ensemble Via Continuous Dynamics." Journal of Chemical Physics 97(4): 2635- alloys: 44

2643. Chemical

[154] Martyna, G. J., M. E. Tuckerman, et al. (1996). ""Expliciat reversible integrators [168] Picinin. 4

for extended systems dynamics.” Molecular Physics 87: 1117. F-x(2) pha
770-775
[155] McQuarrie, D. A. (1976). Statistical Mechanics. New York, HArper Colins.
[169] Rahman 4

[156] Metropolis, N., A. W. Rosenbluth, et al. (1953). "Equation of State Calculations


Rev. 1367
by Fast Computing Machines." Journal of Chemical Physics 21(6): 1087-1092.

[170] Rapaport. |
[157] Metropolis, N. and S. Ulam (1949). "The Monte Carlo Method." Journal of the
Consid
American Statistical Association 44(247): 335-341.
3): 1598-774
[158] Morita, T. (1960). "Theory of Classical Fluids -

Hyper-Netted Chain Approxima-


[171] Rapapor. |
tion .3. A New Integral Equation for the Pair Distribution Function." Progress of
Considerzm
Theoretical Physics 23(5): 829-845.

[159] Morse, P. M. (1929). "Diatomic Molecules According to the Wave Mechanics. II.
[172] Rapapom. I
Vibrational Levels." Phys. Rev. 34: 57-64.
Cambridge
[160] Nose, S. (1984). "A Molecular-Dynamics Method for Simulations in the Canoni-
[173] Ray. JT. E
cal Ensemble." Molecular Physics 52(2): 255-268.
Dynamics
[161] Nose, S. (1984). "A Unified Formulation of the Constant Temperature Molecular-
[174] Ray, 1. E
Dynamics Methods." Journal of Chemical Physics 81(1): 511-519.
Elastic-Com

[162] Parlinski, K., F. Denoyer, et al.


(1990). "On the Molecular-Dynamics Study of a 322): 735

Phase-Transition in a Quasi-Crystal Model." Journal De Physique 51(17): 1791-


[175] Reif, F
1796.
McGraw-Hh

[163] Parrinello, M. and A. Rahman (1980). “Crystal-Structure and Pair Potentials -

a
[176] Rino, JP,
Molecular-Dynamics Study." Physical Review Letters 45(14): 1196-1199.
onsin AÁgs

[164] Parrinello, M. and A. Rahman (1981). "Polymorphic Transitions in Single- Journal of €

Crystals -

a New Molecular-Dynamics Method." Journal of Applied Physics


[177] Rino, 1. P =
52(12): 7182-7190.
lecular dvna
"

[165] Percus, J. K. and G. J. Yevick (1958). Analysis of Classical Statistical Mechanics


[178] Simon. K BR
by Means of Collective Coordinates." Physical Review 110(1): 1-13.
[179] Snir, M. 119
[166] Perram, J. W. and North Atlantic Treaty Organization. Scientific Affairs Division.

(1983). The physics of superionic conductors and electrode materials. New York, [180] Squire. D. E
Plenum Press. and!
Theory
REFERÊNCIAS BIBLIOGRÁFICAS 189

R. al. (2008). "Structural ordering in CdxPb1-xF2


[167] Picinin, A., R. Deshpande, et
molecular and solid state NMR study." Journal of
alloys: A combined dynamics
Chemical Physics 128(22): -.

A., M. A. P. Silva, et al. (2005). "The eutectic composition on CdxPbl1-


[168] Picinin,
study." Europhysics Letters 71(5):
F-x(2) phase diagram: A molecular-dynamics
770-775.

(1964). "Correlations in the motion of atoms in liquid argon." Phys.


[169] Rahman, A.
Rev. 136(2A): 405-411.

[170] Rapaport, D. €. (1991). "Multimillion Particle Molecular-Dynamics .1. Design


Considerations for Vector Processing." Computer Physics Communications 62(2-
3): 198-216.

[171] Rapaport, D. C. (1991). "Multimillion Particle Molecular-Dynamics .2. Design


Considerations for Distributed-Processing." Computer Physics Communications
62(2-3): 217-228.

D. €. (2004). The Art of Molecular Dynamics Simulation. Cambridge,


[172] Rapaport,
Cambridge UNiversity Press.

and Statistical Ensembles in Molecular-


[173] Ray, J. R. (1988). "Elastic-Constants
111-151.
Dynamics." Computer Physics Reports 8(3):

al. (1985). "Molecular-Dynamics Calculation of


[174] Ray, J. R., M. C. Moody, et

in Equilibrium." Physical Review B


Elastic-Constants for a Crystalline System
322): 1733-735.

F. (1965). Fundamentals of Statistical and Thermal Physics. Singapore,


[175] Reif,
McGraw-Hill.

Y. M. M. Hornos, (1988). "Structural


et and Dynamical
al. Correlati-
[176] Rino, J. P,
of Superionic and Molten Phases.”
ons in Ag2se -

a Molecular-Dynamics Study
Journal of Chemical Physics 89(12): 7542-7555.

(2001). "An interaction potential for materials and mo-


[177] Rino, J. P. and N. Studart
lecular dynamics simulations." Quimica Nova 24(6): 83 8-845.

[178] Simon, K. R. (1971). Mechanics. London, Addison-Wesley Publishing Company.

reference. Cambridge, Mass., MIT Press.


[179] Snir, M. (1998). MPL-the complete

Holt, et al. (1969). "Isothermal Elastic Constants for Argon


[180] Squire, D. R., A.C.
.

Theory and Monte Carlo Calculations.” Physica 42(3): 388-&.


190 REFERÊNCIAS BIBLIOGRÁFICAS REFERÊNCIAS E

[181] Stillinger, F. H. and T. A. Weber (1985). "Computer-Simulation of Local Order [195] Vashishta E

in Condensed Phases Silicon." Review B 31(8): 5262-5271.


of
Physical a Molecolar-

[182] Swope, W.C., H. C. Andersen, et al. 41(17): 1019


(1982). "A Computer-Simulation Method for
the Calculation of Equilibrium-Constants for the Formation of Physical Clusters
[196] Vashishra E
of Molecules -

Application to Small Water Clusters." Journal of Chemical Physics Review Less:


76(1): 637-649.
[197] Verler,L 19

[183] Tersoff, J. (1986). "New Empirical-Model for the Structural-Properties of Sili-


con." Physical Review Letters 56(6): 632-635. [198] Verlet. Lu
cal Properme
[184] Tersoff, J. (1988). "Empirical Interatomic Potential for Carbon, with Applications
to Amorphous-Carbon." Physical Review Letters 61(25): 2879-2882. [199] Vogelsang E
Jones Liquid +

[185] Tersoff, J. (1988). "Empirical Interatomic Potential for Silicon with Improved
86(11): 6371.
Elastic Properties." Physical Review B 38(14): 9902-9905.
[200] Volz, S. G a

[186] Tersoff, J. (1988). "New Empirical-Approach for the Structure and Energy of
Covalent ductivity of sã

Systems." Physical Review B 37(12): 6991-7000.


201] Voter, 4 E
[187] Tomanek, D., A. A. Alígia, et al. (1985). "Calculation of Elastic Strain and Elec-
cf
simulation 5

tronic Effects on Surface Segregation." Physical Review B 32(8): 5051-5056.

[188] Trotter, H. F. Proc. [202] Wang. F G as


(1959). Amer. Math. Soc. 10: 545.
sical statisnc

[189] Tsai, S. H., M. Krech, et al. (2004). "Symplectic integration methods in molecular
and spin dynamics simulations." Brazilian Journal of 384-391.
Physics 34(2A):
[203] Wang. F G =
[190] Tsaí, S. H., H. K. Lee, et al. (2005). "Molecular and spin dynamics simulations gorithm 10 cak
using modem integration methods." American Journal of 615-624.
Physics 73(7): 2053.

[191] Tuckerman, M., B. J. Beme, et al. (1992). "Reversible Multiple Time Scale [204] Wentzcovitch |

Molecular-Dynamics." Journal of Chemical Physics 97(3): 1990-2001. tural Phase-Tr

[192] van Duin, A.C. T., S. Dasgupta, et al. (2001). "ReaxFF: A reactive force field for
205] Yin. M T
hydrocarbons." Journal of Physical Chemistry A 105(41): 9396-9409. Transformar
[193] Vashishta, P., R. K. Kalia, et al. (2007). "Interaction for silicon 1004-1007
potential carbide:
A molecular dynamics study of elastic constants and vibrational of sta-
density
tes for crystalline and amorphous silicon carbide." Journal of Applied Physics
101(10): -.

[194] Vashishta, P., R. K.


Kalia, et al. (2008). "Interaction potential for silicon carbide:
A molecular dynamics study of elastic constants and vibrational density of sta-
tes for crystalline and amorphous silicon carbide." Journal of Applied Physics
101(10): -.
REFERÊNCIAS BIBLIOGRÁFICAS 191

[195] Vashishta, P, R. K. Kalia, et al. (1990). "Interaction Potential for Sio2 -

a Molecular-Dynamics Study of Structural Correlations." Physical Review B

41(17): 12197-12209.

[196] Vashishta, P and A. Rahman (1978). "Ionic Motion in Alpha-Agi." Physical


Review Letters 40(20): 1337-1340.

[197] Verlet, L. (1964). "On Theory of Classical Fluids-3." Physica 30(1): 95-&.

[198] Verlet, L. (1967). "Computer Experiments on Classical Fluids .I. Thermodynami-


cal Properties of Lennard-Jones Molecules." Physical Review 159(1): 98-103.

[199] Vogelsang, R., C. Hoheisel, et al. (1987). “Thermal-Conductivity of the Lennard-

Jones Liquid by Molecular-Dynamics Calculations." Journal of Chemical Physics


86(11): 6371-6375.

[200] Volz, S. G. and C. G. (2000). "Molecular-dynamics simulation of thermal con-

ductivity of silicon crystals." Phys. Rev. B 61(4): 2651-2656.

[201] Voter, A. EF, F Montalenti, et al. (2002). "Extending the time scale in atomistic

simulation of materials." Annual Review of Materials Research 32: 321-346.

[202] Wang, F. G. and D. P Landau (2001). "Determining the density of states for clas-

sical statistical models: A random walk algorithm to produce a flat histogram."


Physical Review E 64(5).

[203] Wang, F. G. and D. P Landau (2001). "Efficient, multiple-range random walk al-

to calculate the density of states." Physical Review Letters 86(10): 2050-


gorithm
2053.

R. M. (1991). "Invariant Molecular-Dynamics Approach to Struc-


[204] Wentzcovitch,
tural Phase-Transitions." Physical Review B 44(5): 2358-2361.

[205] Yin, M. T. and M. L. Cohen (1980). "Microscopic Theory of the Phase-

Transformation and Lattice-Dynamics of Si." Physical Review Letters 45(12):


1004-1007.
Wwww.renovagraf.com.br
Par

Os computadores têm influenciado nossa vida diária praticamente desde seu nasci-
mento lá pelos idos de 1940. Atualmente, é impossível pensar em ciência ou tecnolo-
gia sem a ajuda dos computadores. Muito do que se faz em áreas tão aparentemente
diversas como previsão meteorológica, análise de cinética de reações bioquímicas ou
difusão de partículas em uma superfície condutora é o que denominamos: “Um expe-
rimento Computacional”. Um experimento computacional começa com a observação
de um fenômeno e a definição de um modelo adequado.
Quando resolvemos escrever este livro, pensamos principalmente em um texto com o
qual o leitor pudesse, imediatamente, “botar a mão na massa”, sem ter que se perder
em demonstrações exaustivas de existência ou de convergência de métodos.
Os capítulos que se referem às técnicas de simulação são recheados com exemplos e
partes de programas em FORTRAN, dos pontos chave. Os programas ou sub-rotinas
são escritos de maneira simples, às vezes não muito econômicas para não prejudicar
o entendimento do algoritmo.para descrevê-lo. O fenômeno de interesse pode estar
em qualquer área da ciência.

SBN 978-85-7861-203-0

a
[on po (

jP: o.
1,

f ER ARE

Você também pode gostar