Machine Learning Potentials
MAPLE uses machine learning interatomic potentials (MLIPs) to compute energies and forces instead of traditional quantum mechanical methods. This approach provides near-DFT accuracy at a fraction of the computational cost, enabling rapid geometry optimizations, frequency calculations, and molecular dynamics simulations. The #model command in the settings block selects which potential to use.
Available Models
The table below lists the primary user-facing machine learning potentials in MAPLE, along with their keyword, element coverage, and accuracy characteristics. For periodic, charge/spin, Hessian, solvent, D4, HVP, and development backends such as MACE-Polar, see the calculator backend capability matrix.
| Model Name | Keyword | Supported Elements | Accuracy |
|---|---|---|---|
| ANI-2x | ani2x |
H, C, N, O, F, S, Cl | Trained on wB97X/6-31G(d); good general-purpose accuracy for organic molecules. Details → |
| ANI-1x | ani1x |
H, C, N, O | Trained on wB97X/6-31G(d); limited to four elements but well-validated |
| ANI-1ccx | ani1ccx |
H, C, N, O | Transfer-learned to CCSD(T)/CBS; high accuracy for small organic molecules |
| ANI-1xnr | ani1xnr |
H, C, N, O | Non-reactive variant of ANI-1x; trained without bond-breaking data |
| AIMNet2 | aimnet2 |
H, B, C, N, O, F, Si, P, S, Cl, As, Se, Br, I | Broad element coverage with wB97M-D3BJ accuracy; supports charged species. Details → |
| AIMNet2-NSE | aimnet2nse |
H, B, C, N, O, F, Si, P, S, Cl, As, Se, Br, I | AIMNet2 variant with nuclear spin-orbit effects; useful for heavy-element systems |
| MACE-OFF23 (Small) | maceoff23s |
H, C, N, O, F, S, Cl | Fast equivariant model; suitable for quick screening of organic molecules. Details → |
| MACE-OFF23 (Medium) | maceoff23m |
H, C, N, O, F, S, Cl | Balanced speed and accuracy for organic chemistry applications |
| MACE-OFF23 (Large) | maceoff23l |
H, C, N, O, F, S, Cl | Highest accuracy MACE-OFF variant; recommended for publication-quality results |
| MACE-OMol | maceomol |
H, Li, B, C, N, O, F, Na, Mg, Si, P, S, Cl, K, Ca, Br, I | Extended organic-molecular MACE model; broader element support than OFF23 |
| EGRET | egret |
H, C, N, O, F, S, Cl | Graph-based equivariant model; competitive accuracy for drug-like molecules |
| UMA | uma |
Broad periodic table coverage (83+ elements) | Universal model from Meta FAIR; supports 7 task domains, 3 model sizes, and inference=default|turbo. Details → |
| Your own model | module=... |
Whatever your model supports | Plug in your own TorchScript or PyTorch checkpoint (.pt/.jpt/.model) with no source edits. Tutorial → |
Model Selection Guide
Choosing the right model depends on your molecular system, required accuracy, and available computational resources. Here are general recommendations:
- Organic molecules (H, C, N, O only): Start with
ani2xfor general use orani1ccxwhen coupled-cluster accuracy is needed for small molecules. - Organic molecules with halogens (F, S, Cl): Use
ani2x,maceoff23m, oregret. For the highest accuracy, trymaceoff23l. - Systems with heavier elements (Br, I, P, Si, etc.): Use
aimnet2ormaceomol, which support a broader range of elements. - Diverse or unknown systems: Use
umaas a reliable general-purpose potential with the widest element coverage. Specify a task domain for best accuracy. - Periodic materials / catalysis: Use
umawith an explicit periodic-capable task such asomat,oc20,oc22,oc25,omc, orodac. Stress and virial output are not yet validated. - Charged or open-shell molecules: Use
aimnet2orumawith theomoltask. Molecular wrappers such as ANI and MACE-OFF do not honor charge or multiplicity. - Speed-critical workflows: Use
maceoff23sorani2xfor the fastest evaluation times. The ANI models are particularly fast on GPUs. - Publication-quality results: Use
maceoff23lorani1ccxfor the highest available accuracy within their element ranges.
Physical Corrections
ML potentials can be augmented with physical corrections to improve accuracy for specific interactions that are challenging for neural network models. Support is backend-specific; do not assume a correction is available for every model.
DFT-D4 Dispersion Correction
The D4 dispersion correction adds London dispersion interactions (van der Waals forces) to the ML potential energy. In the current MAPLE calculator layer, D4 is supported for ANI backends only.
#model = ani2x
#d4
#opt
Experimental Implicit Solvation
MAPLE's current implicit solvent path is an experimental GB-polar/QEq correction for single-point energies. It is configured through the #solv command with method=gbsa, an implicit solvent name, and experimental=true. See the Solvation page for details.
#model = uma
#solv(method=gbsa, implicit=water, experimental=true)
#sp
QEq Charges
The charge equilibration (QEq) method computes atomic partial charges used internally by the experimental implicit solvent correction. QEq charges are computed automatically when implicit solvation is enabled and do not require a separate command.
Important
Large models such as maceoff23l and maceomol require significantly more GPU memory than smaller models. If you encounter out-of-memory errors, try switching to a smaller model variant (e.g., maceoff23s) or use #device = cpu for systems that exceed your GPU memory.
Usage Examples
Below are complete input file examples demonstrating model selection for various scenarios.
General-purpose optimization with UMA (default: small v1.1 checkpoint, omol task)
# Uses uma-s-1p1 checkpoint and default inference interface
#model=uma
#device=gpu0
#opt(method=lbfgs, level=tight)
0 1
C 0.000000 0.000000 0.000000
O 1.200000 0.000000 0.000000
H -0.540000 0.940000 0.000000
H -0.540000 -0.940000 0.000000
UMA for inorganic materials (omat task)
#model=uma(task=omat)
#device=gpu0
#opt(method=lbfgs)
XYZ /path/to/material.xyz
UMA with CUDA turbo inference
# Opt in to the FAIR Chemistry turbo inference interface for repeated GPU evaluations
#model=uma(inference=turbo)
#device=gpu0
#ts(method=neb)
XYZ /path/to/reactant.xyz
XYZ /path/to/product.xyz
Charged-molecule calculation with AIMNet2
#model = aimnet2
#device = gpu0
#opt(method=lbfgs, level=extratight)
-1 1
C 0.000000 0.000000 0.000000
O 1.250000 0.000000 0.000000
O -1.250000 0.000000 0.000000
Frequency calculation with MACE-OFF23
#model = maceoff23m
#device = gpu0
#freq
XYZ /path/to/optimized_geometry.xyz
CPU-based calculation for large systems
#model = maceoff23s
#device = cpu
#opt(level=loose)
XYZ /path/to/large_molecule.xyz
