Paralelização do cálculo da entropia configuracional
View/ Open
Date
2019-06-24Author
Scalon, Henrique Luís
Orientador
Martinotto, André Luis
Perottoni, Cláudio Antônio
Metadata
Show full item recordAbstract
Em sistemas amorfos a rede de ligações entre os átomos permite uma vasta quantidade de topologias, sendo denominada de entropia configuracional o número de diferentes topologias que um material pode ter. Neste trabalho, foi desenvolvida uma implementação para o cálculo da entropia configuracional baseada no método proposto por Vink e Barkema e publicado no periódico Physical Review Letters, volume 89 de julho de 2002. Esse método baseia-se na utilização da teoria da informação, onde somente as posições dos átomos e as ligações entre eles são utilizadas. Para o cálculo da entropia configuracional, são geradas posições aleatórias e são gerados os grafos formados com os vizinhos mais próximos de cada uma dessas posições. Além disso, é utilizada a técnica de isomorfismo de grafos para compará-los e a entropia de Shannon é calculada com as probabilidades de cada topologia ocorrer. A implementação foi desenvolvida utilizando as linguagens de programação Python e C++. Foram utilizados os pacotes na linguagem Python: ASE, para manipulação de estruturas atômicas; Matplotlib, para criação de gráficos e NumPy, para realização de cálculos matriciais e vetoriais. Já na linguagem C++ foram utilizadas as bibliotecas: PyBind11, para realizar a comunicação entre as linguagens Python e C++; Aboria, para o tratamento de partículas; BGL, para o tratamento de grafos; e Nauty, para as verificações de isomorfismo. A paralelização foi feita utilizando a API OpenMP. Para a validação da implementação, foi utilizada a estrutura cristalina do Cobre e uma estrutura amorfa de Silício e Oxigênio disponibilizada por Vink. Para a estrutura do Cobre foi obtido o resultado de 0 kb, o que é condizente com a entropia configuracional esperada em materiais cristalinos. Já para a estrutura amorfa, foi encontrado o resultado de 0,88 kb, que é um valor idêntico ao apresentado por Vink e Barkema no artigo publicado no Physical Review Letters. Já a paralelização resultou em um Speedup de 3,1x utilizando 12 cores (sic).