Uma Implementação de Codificação para Construir e Analisar Estruturas Cristalinas Usando Pymatgen para Análise de Simetria, Diagramas de Fase, Geração de Superfícies e Integração com o Materials Project

Uma Implementação de Codificação para Construir e Analisar Estruturas Cristalinas Usando Pymatgen para Análise de Simetria, Diagramas de Fase, Geração de Superfícies e Integração com o Materials Project

Neste tutorial, exploramos as capacidades da biblioteca pymatgen para ciência computacional de materiais usando Python. Começamos construindo estruturas cristalinas como silício, cloreto de sódio e um material tipo LiFePO₄, e então investigamos suas propriedades de rede, densidades e composições. Além disso, analisamos a simetria usando detecção de grupo espacial, examinamos ambientes de coordenação atômica,

Neste tutorial, exploramos as capacidades da biblioteca pymatgen para a ciência computacional de materiais usando Python. Começamos construindo estruturas cristalinas como silício, cloreto de sódio e um material tipo LiFePO₄, e então investigamos suas propriedades de rede, densidades e composições. Além disso, analisamos a simetria usando detecção de grupo espacial, examinamos ambientes de coordenação atômica e aplicamos decorações de estado de oxidação para entender melhor a química das estruturas. Também geramos supercélulas, perturbamos posições atômicas e calculamos matrizes de distância para estudar relações estruturais em escalas maiores. Ao longo do caminho, simulamos padrões de difração de raios-X, construímos um diagrama de fases simples e demonstramos como estruturas de ligas desordenadas podem ser aproximadas por configurações ordenadas. Finalmente, estendemos o fluxo de trabalho para incluir análise de moléculas, exportação CIF e consulta opcional ao banco de dados Materials Project, ilustrando assim como o pymatgen pode servir como um poderoso conjunto de ferramentas para modelagem de materiais e análise de dados. Copiar Código Copiado Use um navegador diferente!pip -q install pymatgen mp-api spglib import os import json import warnings import sys warnings.filterwarnings("ignore") import numpy as np import pandas as pd import matplotlib.pyplot as plt from pymatgen.core import Lattice, Structure, Molecule from pymatgen.core.surface import SlabGenerator from pymatgen.core.composition import Composition from pymatgen.symmetry.analyzer import SpacegroupAnalyzer from pymatgen.analysis.local_env import CrystalNN from pymatgen.analysis.diffraction.xrd import XRDCalculator from pymatgen.analysis.phase_diagram import PDEntry, PhaseDiagram from pymatgen.transformations.standard_transformations import ( SupercellTransformation, OrderDisorderedStructureTransformation, OxidationStateDecorationTransformation, ) from pymatgen.io.cif import CifWriter print("Python:", sys.version.split()[0]) print("NumPy:", np.version) print("pandas:", pd.version) try: import pymatgen print("pymatgen:", pymatgen.version) except Exception: import importlib.metadata print("pymatgen:", importlib.metadata.version("pymatgen")) def line(): print("=" * 100) def header(title): line() print(title) line() header("1. CONSTRUIR ESTRUTURAS DE EXEMPLO") si = Structure( Lattice.cubic(5.431), ["Si", "Si"], [[0, 0, 0], [0.25, 0.25, 0.25]], ) nacl = Structure( Lattice.cubic(5.64), ["Na", "Cl"], [[0, 0, 0], [0.5, 0.5, 0.5]], ) li_fe_po4 = Structure( Lattice.ortho

PythonCiência de MateriaisPymatgen