Inteligência artificial, sem ruído.
Tutoriais5 min

Tutorial FAIRChem v2: simulação atomística unificada para moléculas, catálise e materiais

Aprenda a usar o FAIRChem v2 com o potencial universal UMA para simular moléculas, superfícies catalíticas e cristais com um único modelo.

Tutorial FAIRChem v2: simulação atomística unificada para moléculas, catálise e materiais

FAIRChem v2 e UMA: simulação atomística unificada com um único modelo de machine learning

Simular moléculas, catalisadores e materiais cristalinos geralmente exige modelos diferentes para cada domínio — um para química orgânica, outro para superfícies, outro para sólidos. O time do FAIRChem v2 (Meta) está mudando esse paradigma com o UMA (Universal Machine-Learning Interatomic Potential), um potencial interatômico pré-treinado que cobre os três domínios com um único modelo, e este tutorial mostra como usar na prática.

O que o UMA unifica

O UMA é um modelo de aprendizado de máquina para prever energias e forças atômicas em três domínios quimicamente distintos:

  • omol (Open Molecular): química molecular — energias, otimização de geometria, gaps de spin, energias de reação, modos vibracionais
  • oc20 (Open Catalyst 2020): catálise heterogênea — adsorção de moléculas em superfícies metálicas
  • omat (Open Materials): materiais inorgânicos — relaxação de célula cristalina, equação de estado, bulk modulus

Em vez de treinar três modelos separados, você carrega um único checkpoint e seleciona o domínio com task_name. O tutorial integra o FAIRChem com o ASE (Atomic Simulation Environment) para gerenciar estruturas atômicas, otimizadores, restrições, cálculos termodinâmicos e análise de trajetórias.

Configuração e autenticação

Os pesos do UMA são gated no Hugging Face — você precisa de um token de acesso. O tutorial cobre a instalação via pip install fairchem-core ase matplotlib huggingface_hub e fornece código para autenticação automática usando variáveis de ambiente ou Google Colab secrets:

from fairchem.core import pretrained_mlip, FAIRChemCalculator

MODEL = "uma-s-1p2"
predictor = pretrained_mlip.get_predict_unit(MODEL, device="cuda")
calc_mol = FAIRChemCalculator(predictor, task_name="omol")
calc_cat = FAIRChemCalculator(predictor, task_name="oc20")
calc_mat = FAIRChemCalculator(predictor, task_name="omat")

Fluxos de trabalho cobertos

O tutorial percorre 10 seções, cada uma demonstrando um tipo de cálculo diferente com o mesmo modelo:

  1. Energia de ponto único da água: cálculo de energia potencial, forças atômicas e energia de atomização comparada com referência experimental (~9,5 eV)
  2. Otimização de geometria: relaxação de uma molécula de H₂O distorcida com LBFGS, recuperando comprimento de ligação O-H (~0,958 Å) e ângulo H-O-H (~104,5°)
  3. Gap singleto-tripleto do CH₂: o UMA é spin-aware — compara estados eletrônicos definindo spin=1 ou spin=3 no dicionário info
  4. Energia de reação de combustão: CH₄ + 2O₂ → CO₂ + 2H₂O, com relaxação de cada espécie antes de calcular ΔE eletrônico
  5. Frequências vibracionais: análise de diferenças finitas com Vibrations do ASE, obtendo modos normais e energia de ponto zero
  6. Adsorção CO/Cu(100): construção de slab periódico com fcc100, adsorção de CO em ponte, relaxação com restrições FixAtoms e cálculo de energia de adsorção
  7. Relaxação de célula do ferro BCC: otimização simultânea de posições atômicas e parâmetros de rede com FrechetCellFilter + FIRE
  8. Equação de estado: fitting Birch-Murnaghan em 9 volumes, extraindo bulk modulus (~170 GPa para Fe, próximo do experimental)
  9. Dinâmica molecular Langevin: simulação de 0,5 ps a 300K para H₂O, rastreando temperatura, energia potencial e distância de ligação ao longo do tempo
  10. Scan de superfície de energia potencial: perfil de dissociação da ligação O-H variando distância de 0,7 a 2,5 Å

Comparação de modos de operação

ModoDomínioExemploComplexidade
Energia estáticaomolSingle-point H₂OBaixa
Otimização de geometriaomolRelaxação com LBFGSMédia
Superfície + adsorbatooc20CO/Cu(100) ponteAlta
Célula cristalinaomatBCC Fe + equação de estadoAlta
Dinâmica molecularomolLangevin 300KMuito alta
Os modos de operação do FAIRChem v2 com UMA, do mais simples ao mais avançado.

Requisitos de hardware

ComponenteMínimoRecomendado
GPUNenhuma (CPU)NVIDIA com 8+ GB VRAM
RAM8 GB16+ GB
Armazenamento2 GB (modelo)5+ GB
Python3.10+3.11+
Pacotesfairchem-core, ase+ matplotlib, huggingface_hub
O modelo uma-s-1p2 é leve; para maior precisão use uma-m-1p1 (requer mais VRAM).

Casos de uso reais

  • Descoberta de fármacos: triagem de candidatos por energia de ligação e otimização de geometria molecular em lote
  • Design de catalisadores: predição de energia de adsorção em diferentes superfícies metálicas e sítios (topo, ponte, hollow)
  • Ciência de materiais: screening de novas ligas e cerâmicas por bulk modulus e estabilidade de fase
  • Educação em química computacional: ambiente completo para ensino de química quântica sem licenças caras de software
  • Baterias e armazenamento de energia: simulação de difusão iônica em eletrólitos sólidos com dinâmica molecular

Prós e contras

✅ O que você ganha:

  • Um único modelo para três domínios químicos, eliminando a necessidade de trocar de ferramenta
  • Integração nativa com ASE — todos os builders, otimizadores, filtros e analisadores funcionam
  • Código aberto (MIT), pesos disponíveis no Hugging Face (gated)
  • Aceleração GPU transparente via PyTorch
  • Precisão competitiva com DFT em várias ordens de magnitude mais rápido

⚠️ Limitações:

  • Pesos são gated — requer token Hugging Face e aceitação de termos de uso
  • Não substitui DFT para propriedades que dependem explicitamente da densidade eletrônica (ex: espectroscopia UV-vis, NMR)
  • Sistemas muito grandes (>10.000 átomos) podem exigir a variante multi-GPU (fairchem-core[extras])
  • A documentação ainda está evoluindo, com alguns edge cases não cobertos

Próximos passos

O tutorial fecha com extensões naturais: trocar para o modelo maior uma-m-1p1 (mais preciso, mais pesado), explorar domínios adicionais como odac (MOFs) e omc (cristais moleculares), e escalar para múltiplas GPUs com workers=N. O código completo está disponível no GitHub dos autores.

Para quem trabalha na interseção de IA e química, o FAIRChem v2 com UMA representa um avanço significativo: um potencial universal que cobre domínios historicamente separados, com uma API limpa e integração ao ecossistema ASE. É a direção que a química computacional está tomando — menos barreiras entre especialidades, mais reutilização de modelos.


Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.