Derretimentos e fluidos são vetores onipresentes do transporte em massa em sistemas naturais. Desenvolvemos um pacote de código aberto para analisar simulações de dinâmica molecular ab initio de tais sistemas. Calculamos propriedades estruturais (ligação, clusterização, especiação química), transporte (difusão, viscosidade) e propriedades termodinâmicas (espectro vibracional).
Desenvolvemos um pacote de código aberto baseado em Python para analisar os resultados decorrentes de simulações de dinâmica molecular ab initio de fluidos. O pacote é mais adequado para aplicações em sistemas naturais, como derretimento de silicato e óxido, fluidos à base de água e vários fluidos supercríticos. O pacote é uma coleção de scripts Python que incluem duas grandes bibliotecas que lidam com formatos de arquivo e com cristalografia. Todos os scripts são executados na linha de comando. Propomos um formato simplificado para armazenar as trajetórias atômicas e informações termodinâmicas relevantes das simulações, que são salvas em arquivos UMD, em posição de Universal Molecular Dynamics. O pacote UMD permite a computação de uma série de propriedades estruturais, de transporte e termodinâmicas. A partir da função de distribuição de pares, ele define os comprimentos dos títulos, constrói uma matriz de conectividade interatômica e, eventualmente, determina a especiação química. Determinar a vida útil das espécies químicas permite executar uma análise estatística completa. Em seguida, scripts dedicados computam os deslocamentos médios quadrados para os átomos, bem como para as espécies químicas. A análise de auto correlação implementada das velocidades atômicas produz os coeficientes de difusão e o espectro vibracional. A mesma análise aplicada nos estresses rende a viscosidade. O pacote está disponível através do site do GitHub e através de sua própria página dedicada do projeto ERC IMPACT como pacote de acesso aberto.
Fluidos e derretimentos são vetores ativos de transporte químico e físico em ambientes naturais. As taxas elevadas de difusão atômica favorecem trocas químicas e reações, a baixa viscosidade aliada à flutuação variada favorece uma grande transferência de massa, e as relações de densidade cristalina favorecem camadas dentro de corpos planetários. A ausência de uma rede periódica, temperaturas típicas de alta temperatura necessárias para atingir o estado derretido, e a dificuldade para saciar tornam a determinação experimental de uma série de propriedades óbvias, como densidade, difusão e viscosidade, extremamente desafiadoras. Essas dificuldades tornam os métodos computacionais alternativos ferramentas fortes e úteis para investigar essa classe de materiais.
Com o advento do poder computacional e a disponibilidade de supercomputadores, duas grandes técnicas numéricas de simulações atomísticas são atualmente empregadas para estudar o estado dinâmico de um sistema atomista não cristalino, Monte Carlo1 e dinâmica molecular (MD)1,2. Em Monte Carlo, o espaço configuracional é amostrado aleatoriamente; Os métodos de Monte Carlo mostram escala linear na paraleloização se todas as observações amostrais forem independentes umas das outras. A qualidade dos resultados depende da qualidade do gerador de números aleatórios e da representatividade da amostragem. Os métodos de Monte Carlo mostram escala linear na paraleloização se a amostragem for independente uma da outra. Na dinâmica molecular (MD) o espaço configuracional é amostrado por trajetórias atômicas dependentes do tempo. A partir de uma determinada configuração, as trajetórias atômicas são computadas pela integração das equações newtonianas de movimento. As forças interatômicas podem ser computadas usando potenciais interatômicos de modelo (em MD clássico) ou usando métodos de princípios iniciais (em ab initio, ou primeiros princípios, MD). A qualidade dos resultados depende do comprimento da trajetória e sua capacidade de não ser atraído para a minima local.
Simulações de dinâmica molecular contêm uma infinidade de informações, todas relacionadas ao comportamento dinâmico do sistema. Propriedades médias termodinâmicas, como energia interna, temperatura e pressão, são bastante padrão para calcular. Eles podem ser extraídos dos arquivos de saída das simulações e mediados, enquanto as quantidades relacionadas diretamente ao movimento dos átomos, bem como à sua relação mútua precisam ser computadas após a extração das posições atômicas e velocidades.
Consequentemente, muito esforço tem sido dedicado para visualizar os resultados, e vários pacotes estão disponíveis hoje, em diferentes plataformas, código aberto ou não [Ovito3, VMD4, Vesta5, Travis6, etc.]. Todas essas ferramentas de visualização lidam eficientemente com distâncias interatômicas e, como tal, permitem a computação eficiente de funções de distribuição de pares e coeficientes de difusão. Vários grupos que realizam simulações de dinâmica molecular em larga escala têm software proprietário para analisar várias outras propriedades resultantes das simulações, às vezes em shareware ou outras formas de acesso limitado à comunidade, e às vezes limitados em escopo e uso para alguns pacotes específicos. Algoritmos sofisticados para extrair informações sobre ligação interatômica, padrões geométricos e termodinâmica são desenvolvidos e implementados em alguns desses pacotes3,4,5,6,7, etc.
Aqui propomos o pacote UMD - um pacote de código aberto escrito em Python para analisar a saída de simulações de dinâmica molecular. O pacote UMD permite a computação de uma ampla gama de propriedades estruturais, dinâmicas e termodinâmicas (Figura 1). O pacote está disponível através do site do GitHub (https://github.com/rcaracas/UMD_package) e através de uma página dedicada (http://moonimpact.eu/umd-package/) do projeto ERC IMPACT como um pacote de acesso aberto.
Para torná-lo universal e mais fácil de manusear, nossa abordagem é primeiro extrair todas as informações relacionadas ao estado termodinâmico e as trajetórias atômicas do arquivo de saída da dinâmica molecular real. Essas informações são armazenadas em um arquivo dedicado, cujo formato é independente do pacote MD original onde a simulação foi executada. Nós nomeamos esses arquivos "umd", que significa Universal Molecular Dynamics. Desta forma, nosso pacote UMD pode ser facilmente usado por qualquer grupo ab initio com qualquer software, tudo com um esforço mínimo de adaptação. O único requisito para usar o pacote atual é escrever o analisador apropriado da saída do software MD em particular para o formato de arquivo umd, se isso ainda não existir. Por enquanto, fornecemos tais analisadores para os pacotes VASP8 e QBox9 .
Figura 1: Fluxograma da biblioteca umd.
As propriedades físicas estão em azul, e os principais scripts python e suas opções estão em vermelho. Clique aqui para ver uma versão maior desta figura.
Os arquivos umd são arquivos ASCII; extensão típica é "umd.dat", mas não obrigatória. Todos os componentes de análise podem ler arquivos ASCII do formato umd, independentemente da extensão real do nome. No entanto, alguns dos scripts automáticos projetados para executar estatísticas rápidas em grande escala ao longo de várias simulações procuram especificamente arquivos com a extensão umd.dat. Cada propriedade física é expressa em uma linha. Cada linha começa com uma palavra-chave. Desta forma, o formato é altamente adaptável e permite que novas propriedades sejam adicionadas ao arquivo umd, preservando toda a sua legibilidade ao longo das versões. As primeiras 30 linhas do arquivo umd da simulação de pirolito a 4,6 GPa e 3000 K, usadas abaixo na discussão, são mostradas na Figura 2.
Figura 2: O início do arquivo umd descrevendo a simulação de pirolito líquido a 4,6 GPa e 3000 K.
O cabeçalho é seguido pela descrição de cada instantâneo. Cada imóvel está escrito em uma linha, contendo o nome da propriedade física, o valor(s) e as unidades, todas separadas por espaços. Clique aqui para ver uma versão maior desta figura.
Todos os arquivos de umd contêm um cabeçalho descrevendo o conteúdo da célula de simulação: o número de átomos, elétrons e tipos atômicos, bem como detalhes para cada átomo, como seu tipo, símbolo químico, número de elétrons de valência, e sua massa. Uma linha vazia marca a extremidade do cabeçalho e a separa da parte principal do arquivo umd.
Em seguida, cada passo da simulação é detalhado. Primeiro, são dados os parâmetros termodinâmicos instantâneos, cada um em uma linha diferente, especificando (i) o nome do parâmetro, como energia, tensões, pressão hidrostática equivalente, densidade, volume, parâmetros de rede, etc., (ii) seu valor(s) e (iii) suas unidades. Uma tabela descrevendo os átomos vem em seguida. Uma linha de cabeçalho dá as diferentes medidas, como posições cartesianas, velocidades, cargas, etc., e suas unidades. Então cada átomo é detalhado em uma linha. Por grupos de três, correspondentes aos eixos três x, y, z , as entradas são: as posições reduzidas, as posições cartesianas dobradas na célula de simulação, as posições cartesianas (que levam em conta o fato de que os átomos podem atravessar várias células unitárias durante uma simulação), as velocidades atômicas e as forças atômicas. As duas últimas entradas são escalares: carga e momento magnético.
Duas grandes bibliotecas garantem o bom funcionamento de todo o pacote. A biblioteca umd_process.py lida com os arquivos umd, como leitura e impressão. A biblioteca crystallography.py trata de todas as informações relacionadas à estrutura atômica real. A filosofia subjacente da biblioteca crystallography.py é tratar a rede como um espaço vetorial. Os parâmetros da célula unitária, juntamente com sua orientação, representam os vetores de base. O "Espaço" tem uma série de atributos escalares (volume específico, densidade, temperatura e número específico de átomos), propriedades termodinâmicas (energia interna, pressão, capacidade térmica, etc.), e uma série de propriedades tensores (estresse e elasticidade). Átomos povoam este espaço. A classe "Rede" define este conjunto, ao lado de vários poucos cálculos curtos, como volume específico, densidade, obtenção da rede recíproca do direto, etc. A classe "Átomos" define os átomos. Caracterizam-se por uma série de propriedades escalares (nome, símbolo, massa, número de elétrons, etc.) e uma série de propriedades vetoriais (a posição no espaço, seja em relação à base vectorial descrita na classe Rettice, ou relativa às coordenadas cartesianas universais, velocidades, forças, etc.). Além dessas duas classes, a biblioteca crystallography.py contém uma série de funções para realizar uma variedade de testes e cálculos, como distâncias atômicas ou multiplicação celular. A tabela periódica dos elementos também é incluída como dicionário.
Os vários componentes do pacote umd escrevem vários arquivos de saída. Como regra geral, são todos arquivos ASCII, todas as suas entradas são separadas por guias, e são feitas o mais autoexplicativo possível. Por exemplo, eles sempre indicam claramente a propriedade física e suas unidades. Os arquivos umd.dat cumprem totalmente esta regra.
1. A análise da dinâmica molecular corre
NOTA: O pacote está disponível através do site do GitHub (https://github.com/rcaracas/UMD_package) e através de uma página dedicada (http://moonimpact.eu/umd-package/) do projeto ERC IMPACT como um pacote de acesso aberto.
Bandeira | Significado | Script usando-o | Valor padrão |
-h | Ajuda curta | todo | |
-f | Nome do arquivo UMD | todo | |
-i | Etapas de termoqueização a serem descartadas | todo | 0 |
-i | Arquivo de entrada contendo as ligações interatômicas | especiação | bonds.input |
-s | Amostragem da frequência | msd, especiação | 1 (cada passo é considerado) |
-a | Lista de átomos ou ânions | especiação | |
-c | Lista de cations | especiação | |
-l | Comprimento do vínculo | especiação | 2 |
-t | Temperatura | vibrações, reologia | |
-v | Discretização da largura da janela amostral da trajetória para a análise de deslocamento médio-quadrado | Msd | 20 |
-z | Discretização do início da janela amostral da trajetória para a análise de deslocamento médio-quadrado | Msd | 20 |
Tabela 1: Bandeiras mais comuns usadas no pacote UMD e seu significado mais comum.
2. Realizar a análise estrutural
Figura 3: Determinação da função de distribuição do par.
a Para cada átomo de uma espécie (por exemplo vermelho), todos os átomos das espécies coordenadoras (por exemplo cinza e/ou vermelho) são contados em função da distância. (b) O gráfico de distribuição de distância resultante para cada instantâneo, que nesta fase é apenas uma coleção de funções delta, é então mediado sobre todos os átomos e todos os instantâneos e ponderados pela distribuição ideal de gás para gerar (c) a função de distribuição do par que é contínua. O primeiro mínimo do g(r) é o raio da primeira esfera de coordenação, utilizado posteriormente na análise de especiação. Clique aqui para ver uma versão maior desta figura.
3. Realize a análise de especiação
Figura 4: Identificação dos aglomerados atômicos.
A coordenação poliedra é definida utilizando distâncias interatômicas. Todos os átomos a uma distância menor do que um raio especificado são considerados ligados. Aqui o limiar corresponde à primeira esfera de coordenação (os círculos vermelhos claros), definido na Figura 1. A polimerização e, portanto, espécies químicas são obtidas das redes dos átomos ligados. Observe o aglomerado central Red1Grey2, que está isolado dos outros átomos, que formam um polímero infinito. Clique aqui para ver uma versão maior desta figura.
4. Coeficientes de difusão computacional
5. Funções de correlação de tempo
6. Parâmetros termodinâmicos decorrentes das simulações.
Pirolite é um modelo de derretimento de silicato multicomponimento (0,5Na2O 2CaO 1.5Al2O3 4FeO 30MgO 24SiO2) que melhor aproxima a composição do silicato a granel da Terra — a média geoquímica ou todo o nosso planeta, exceto por seu núcleo baseado em ferro19. O início da Terra foi dominado por uma série de eventos de fusão em larga escala20, o último pode ter engolido todo o planeta, após sua condensação para o disco protolunar21. A pirolite representa a melhor aproximação à composição de tais oceanos de magma em escala planetária. Consequentemente, estudamos extensivamente as propriedades físicas do fusão pirolito na faixa de temperatura de 3.000\u20125.000 K e 0\u2012150 GPa de simulações de dinâmica molecular ab initio na implementação do VASP. Estas condições termodinâmicas caracterizam inteiramente as condições mais extremas do oceano magma da Terra. Nosso estudo é um excelente exemplo de um uso bem sucedido do pacote UMD para toda a análise aprofundada dos derretimentos22. Calculamos a distribuição e os comprimentos médios dos títulos, traçamos as mudanças na coordenação de cátion-oxigênio, e comparamos nossos resultados com estudos experimentais e computacionais anteriores sobre silicatos amorfos de várias composições. Nossa análise aprofundada ajudou a decompor os números de coordenação padrão em seus constituintes básicos, delinear a presença de poliedra de coordenação exótica no derretimento, e extrair vidas para toda a coordenação poliedra. Também destacou a importância da amostragem em simulações em termos tanto de duração da trajetória quanto do número de átomos presentes no sistema modelado. Quanto ao pós-processamento, a análise umd é independente desses fatores, no entanto, eles devem ser levados em conta ao interpretar os resultados fornecidos pelo pacote UMD. Aqui, mostramos alguns exemplos de como o pacote UMD pode ser usado para extrair várias características características dos derretimentos, com uma aplicação para pirolito derretido.
A função de distribuição do par Si-O obtida a partir do script gofrs_umd.py mostra que o raio da primeira esfera de coordenação, que é o primeiro mínimo da função g(r), fica em torno de 2,5 angstroms em T = 3000 K e P = 4,6 GPa. O máximo do g(r) está em 1.635 Å — esta é a melhor aproximação ao comprimento da curva. A cauda longa é devido à temperatura. Usando esse limite como distância de ligação Si-O, a análise de especiação mostra que as unidades SiO4, que podem durar até alguns picosegundos, dominam o derretimento (Figura 5). Há uma parte importante do derretimento que mostra polimerização parcial, como refletido pela presença de dimers como Si2O7, e aparadores como unidades Si3Ox. Sua vida correspondente é na ordem do picosegundo. Polímeros de ordem superior têm uma vida útil consideravelmente menor.
Figura 5: Vida útil da espécie química Si-O.
A especiação é identificada em um derretimento multicomponimento a 4,6 GPa e 3000 K. Os rótulos marcam os monômeros SiO3, SiO4 e SiO5 e os vários polímeros SixOy. Clique aqui para ver uma versão maior desta figura.
Os diferentes valores das etapas verticais e horizontais, definidos pelas bandeiras –z e v acima, produzem várias amostras do MSD (Figura 6). Mesmo grandes valores de z e v são suficientes para definir as encostas e, assim, os coeficientes de difusão dos diferentes átomos. O ganho de tempo para o pós-processamento é notável quando se vai a grandes valores de z e v. O MSD oferece um critério de validação muito forte para a qualidade das simulações. Se a parte de difusão do MSD não for suficientemente longa, isso é um sinal de que a simulação é muito curta, e não consegue atingir o estado fluido em um sentido estatístico. O requisito mínimo para a parte difusa do MSD depende muito do sistema. Pode-se exigir que todos os átomos mudem seu local pelo menos uma vez na estrutura do derretimento para que ele seja considerado como um fluido10. Um excelente exemplo com aplicações em ciências planetárias é o complexo derretimento do silicato em altas pressões próximas ou mesmo abaixo de sua linha liquidus11. Os átomos de Si, os principais cations formadores de rede, trocam de local após mais de duas dúzias de picosegundos. Simulações mais curtas que esse limiar seriam consideravelmente menos amostrais do possível espaço configuracional. No entanto, como os ânions coordenadores, ou seja, os átomos O, movem-se mais rápido que os átomos centrais do Si, eles podem compensar parte da mobilidade lenta de Si. Como tal, todo o sistema poderia de fato cobrir uma melhor amostra do espaço configuracional do que assumido apenas a partir dos deslocamentos si.
Figura 6: Deslocamentos quadrados médios (MSD).
O MSD é ilustrado para alguns tipos atômicos de um derretimento de silicato multicompontado. A amostragem com várias etapas horizontais e verticais, z e v, produz resultados consistentes. Círculos sólidos: -z 50 –v 50. Círculos abertos: -z 250 –v 500. Clique aqui para ver uma versão maior desta figura.
Finalmente, as funções atômicas de VAC produzem o espectro vibracional do derretimento. A Figura 7 mostra o espectro nas mesmas condições de pressão e temperatura acima. Representamos as contribuições dos átomos de Mg, Si e O, bem como o valor total. Em frequência zero há um valor finito do espectro, que corresponde ao caráter de difusão do derretimento. A extração das propriedades termodinâmicas do espectro vibracional precisa remover esse caráter difusivo semelhante ao gás de zero, mas também levar em conta adequadamente sua decadência em frequências mais altas.
Figura 7: O espectro vibracional do pirolito derrete.
A parte real da transformação fourier da função de auto-correlação velocidade atômica produz o espectro vibracional. Aqui o espectro é computado para um derretimento de silicato multicompontado. Os fluidos têm um caráter difusivo não-zero em termos de gás em zero frequência. Clique aqui para ver uma versão maior desta figura.
O pacote UMD foi projetado para funcionar melhor com simulações ab initio, onde o número de instantâneos é tipicamente limitado a dezenas a centenas de milhares de instantâneos, com algumas centenas de átomos por célula de unidade. Simulações maiores também são tratáveis desde que a máquina na qual a pós-processamento seja executada tenha recursos de memória ativos suficientes. O código distingue-se pela variedade de propriedades que pode calcular e por sua licença de código aberto.
Os arquivos umd.dat são apropriados para os conjuntos que preservam o número de partículas inalteradas ao longo da simulação. O pacote UMD pode ler arquivos decorrentes de cálculos onde a forma e o volume da caixa de simulação variam. Estes cobrem os cálculos mais comuns, como NVT e NPT, onde o número de partículas, N, temperatura T, volume, V e/ou pressão, P, são mantidos constantes.
Para o tempo começam a função de distribuição de pares, bem como todos os scripts que precisam estimar as distâncias interatômicas, como os scripts de especiação, funcionam apenas para células unitárias ortogonais, ou seja, para células cúbicas, tetragonais e ortotómicas, onde os ângulos entre os eixos são de 90°.
As principais linhas de desenvolvimento para a versão 2.0 são a remoção da restrição de ortogonalidade para distâncias e a adição de mais recursos para os scripts de especiação: analisar ligações químicas individuais, analisar os ângulos interatômicos e implementar a segunda esfera de coordenação. Com a ajuda da colaboração externa, estamos trabalhando na portabilidade do código em uma GPU para análise mais rápida em sistemas maiores.
Os autores não têm nada a revelar.
Este trabalho foi apoiado pelo Conselho Europeu de Pesquisa (ERC) no âmbito do programa de pesquisa e inovação da União Europeia Horizon 2020 (número de subvenção 681818 IMPACT ao RC), pela Diretoria de Física Extrema e Química do Observatório de Carbono Profundo, e pelo Conselho de Pesquisa da Noruega através de seu programa de financiamento centros de excelência, número do projeto 223272. Reconhecemos o acesso aos supercomputadores GENCI através da série stl2816 de bolsas de computação eDARI, ao supercomputador Irene AMD através do projeto PRACE RA4947, e ao supercomputador Fram através do UNINETT Sigma2 NN9697K. A FS foi apoiada por um projeto marie skłodowska-curie (contrato de concessão ABISSE No.750901).
Name | Company | Catalog Number | Comments |
getopt library | open-source | ||
glob library | open-source | ||
matplotlib library | open-source | ||
numpy library | open-source | ||
os library | open-source | ||
Python software | The Python Software Foundation | Version 2 and 3 | open-source |
random library | open-source | ||
re library | open-source | ||
scipy library | open-source | ||
subprocess library | open-source | ||
sys library | open-source |
Solicitar permissão para reutilizar o texto ou figuras deste artigo JoVE
Solicitar PermissãoThis article has been published
Video Coming Soon
Copyright © 2025 MyJoVE Corporation. Todos os direitos reservados