# NNP and NNP/MM Classical force fields approximate the potential-energy surface with fixed functional forms (harmonic bonds, Lennard-Jones, point charges). They are fast but lose accuracy when the chemistry departs from what the parameters were fitted to — non-canonical residues, transition states, polarisable species, halogens, charged groups. Neural-network potentials (NNPs) replace the analytical functional form with a neural network trained on quantum-mechanical reference data. The result is much closer to the true ab-initio surface, at a fraction of the cost of running QM inline [^galvelis2023]. ACEMD supports two ways of using NNPs. ## Pure NNP Every atom in the system is described by the NNP. There is no classical force field — no need for a PSF or PRMTOP, no need for partial charges, no need to parameterise residues. ACEMD only needs the atom positions and elements (PDB, CIF, BCIF, SDF, MOL2 are all fine). This is the right mode when: - The system is small (single molecule, small cluster). - You want the highest fidelity available from the chosen NNP for every atom. - You don't need to span timescales that classical force fields handle better (large-protein-in-water at microsecond scale). ## NNP/MM (hybrid) A subset of atoms is described by the NNP; the rest is described by a classical force field. The split is controlled by the `nnp.sel` atom selection. Non-bonded interactions across the boundary (a ligand-on-NNP interacting with water-on-MM) are computed classically. This is the right mode when: - You care about the chemistry of one part of the system (the ligand, the cofactor, the reactive group), but the rest is canonical protein and water. - You want NNP-quality forces on the interesting subsystem without paying for NNP forces on the bulk. The boundary in NNP/MM must **not** cross a covalent bond — ACEMD does not currently support QM/MM-style link atoms. The atoms in `nnp.sel` must form complete molecule(s). ## AceFF vs. ANI ACEMD works with two NNP families: - **[AceFF 2.0][aceff]** — Acellera's current NNP, built on the TensorNet v2 architecture and trained on curated small-molecule quantum-mechanical data. Open weights on HuggingFace under Apache 2.0; ACEMD auto-downloads and caches the checkpoint the first time a run references `nnp.name: AceFF-2.0`. See [Obtain AceFF NNP models](../how-to/obtain-aceff-models.md) for the manual download path. - **ANI** [^smith2020] [^devereux2020] — an earlier and widely cited NNP family. The `torchani` package fetches the weights on first use and caches them, so there's no checkpoint file to manage. Useful as a benchmark or fallback. [aceff]: https://huggingface.co/Acellera/AceFF-2.0 The two families differ in important ways: | Property | AceFF 2.0 | ANI | |-------------------------|--------------------------------------------|--------------------------------| | Total-charge support | -2 to +2 | 0 only | | Supported elements | H, B, C, N, O, F, Si, P, S, Cl, Br, I | depends on variant | | Training scope | small molecules only | small molecules only | | Distribution | HuggingFace (Apache 2.0), auto-downloaded | auto-downloaded by `torchani` | | Stability with timestep | ≤ 2 fs (with HMR) | ≤ 2 fs | Choose AceFF 2.0 when the molecule has any net charge or contains heavy halogens, sulfur, or silicon; ANI cannot describe charged species correctly and has narrower element coverage. Neither family covers proteins, nucleic acids, or water — those species belong on the classical-MM side of an NNP/MM run. ## Stability and the 2-fs ceiling NNPs are numerically less stable than classical force fields because they can extrapolate poorly outside their training distribution. Forces in extrapolation regimes are not bounded the way analytical force fields are. To stay safe: - Cap `timestep` at 2 fs. The default 4 fs that's safe for pure MM is **not** safe with NNPs. - If you see crashes despite 2 fs, drop further to 1 fs. - If you see chemistry-dependent crashes (always on the same residue, always at certain geometries), the NNP is extrapolating — try a different NNP variant or, for AceFF, a newer release. See [Integrator and constraints](integrator-and-constraints.md) for the constraint/timestep rules in general. ## See also - [Run an NNP/MM simulation](../how-to/run-an-nnp-mm-simulation.md) - [Run a pure NNP simulation](../how-to/run-a-pure-nnp-simulation.md) - [NNP options reference](../reference/nnp-options.md) - [Obtain AceFF NNP models](../how-to/obtain-aceff-models.md) - [Use ANI potentials](../how-to/use-ani-potentials.md) [^galvelis2023]: R. Galvelis et al., *J. Chem. Inf. Model.* **63**(18), 5701–5708 (2023). [doi:10.1021/acs.jcim.3c00773](https://doi.org/10.1021/acs.jcim.3c00773) [^smith2020]: J. S. Smith et al., *Sci. Data* **7**, 134 (2020). [doi:10.1038/s41597-020-0473-z](https://doi.org/10.1038/s41597-020-0473-z) [^devereux2020]: C. Devereux et al., *J. Chem. Theory Comput.* **16**(7), 4192–4202 (2020). [doi:10.1021/acs.jctc.0c00121](https://doi.org/10.1021/acs.jctc.0c00121)