# Run a pure NNP simulation **You will learn:** how to simulate a system in which **every** atom is described by a neural-network potential, with no classical force field involved. **Prerequisites:** - ACEMD installed with NNP support. - A structure file in any of: PDB, CIF, BCIF, SDF, MOL2. **No** classical topology is needed. ## Setup Worked example: benzamidine in vacuum, all-AceFF. Download {download}`benzamidine_nnp.zip <../benzamidine_nnp.zip>` for the input file. ```{code-block} yaml :caption: input.yaml thermostat: true thermostattemperature: 300 velocities: 300 structure: BEN_pH7_4.cif coordinates: BEN_pH7_4.cif minimize: 500 timestep: 2 run: 2ns nnp: name: AceFF-2.0 type: torch ``` The `nnp` block has **no `sel`** — that's what makes it a pure NNP simulation. ACEMD applies the NNP to every atom. ACEMD auto-downloads AceFF-2.0 from HuggingFace on first use and caches it under `~/.cache/acemd/nnp/`. See [Obtain AceFF NNP models](obtain-aceff-models.md) if you need to manage the checkpoint manually. ## Run ```bash acemd ``` ## Why no classical topology? In NNP/MM mode you need a PSF / PRMTOP because the rest of the system has to be parameterised classically. In pure-NNP mode there is no "rest of the system" — the NNP supplies all forces — so any file that gives atom positions and elements is enough. Use PDB / CIF / SDF / MOL2 directly. ## Parameters that matter - **`timestep`** — 2 fs is the recommended maximum. NNPs are less numerically stable than classical force fields. - **`nnp.name`** — model identifier. Use `"AceFF-2.0"` to auto-download the latest AceFF, or `"TorchMD-Net"` if you're providing a checkpoint path via `nnp.file`. - **`nnp.file`** — optional. Only set when supplying a TorchMD-Net checkpoint manually. See [NNP options](../reference/nnp-options.md) for the full reference. ## Gotchas - **AceFF 2.0 is small-molecule only.** Don't pure-NNP a protein, nucleic acid, or solvent box — those species are outside the training distribution. For mixed systems, use [NNP/MM](run-an-nnp-mm-simulation.md) and keep `nnp.sel` on the small molecule. - **AceFF 2.0 supports total charges of -2 to +2.** Other charges produce wrong forces. - **If the simulation crashes, drop `timestep` to 1 fs.** Either that, or wrap the species in classical solvent and switch to [NNP/MM](run-an-nnp-mm-simulation.md). ## See also - [Run an NNP/MM simulation](run-an-nnp-mm-simulation.md) - [Obtain AceFF NNP models](obtain-aceff-models.md) - [NNP options reference](../reference/nnp-options.md) - [NNP and NNP/MM concepts](../explanation/nnp-and-nnp-mm.md)