Skip to content
Back to skills

Force Fields

ASecurity

Use when working with molecular mechanics force fields for MD simulations. Covers force field theory (AMBER/CHARMM/OPLS/SMIRNOFF), OpenMM simulation setup, OpenFF/SMIRNOFF parameterization of small molecules, GAFF2/antechamber, partial charge methods (AM1-BCC, RESP), energy decomposition, and water models.

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 4, 2026
ai-agentspythonbash

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 6 files and shows the line behind each finding

Scanned June 4, 2026

npx -y skills add Kdevos12/ALKYL --skill force-fields --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Force Fields?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Force Fields
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kdevos12-force-fields/badge)](https://www.skillsdirectory.com/skills/kdevos12-force-fields)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: force-fields
description: Use when working with molecular mechanics force fields for MD simulations. Covers force field theory (AMBER/CHARMM/OPLS/SMIRNOFF), OpenMM simulation setup, OpenFF/SMIRNOFF parameterization of small molecules, GAFF2/antechamber, partial charge methods (AM1-BCC, RESP), energy decomposition, and water models.
---

# Force Fields — Molecular Mechanics for MD Simulations

Classical force fields define the potential energy of a molecular system as a sum of bonded and non-bonded terms. The parameters (k, r0, θ0, ε, σ, q) define how molecules move and interact. Python-first stack: **OpenMM** (engine) + **OpenFF toolkit** (SMIRNOFF small molecule parameterization).

## When to Use This Skill

- Setting up MD simulations with AMBER, CHARMM, or OpenFF force fields
- Parameterizing drug-like small molecules (GAFF2, SMIRNOFF Sage)
- Running energy minimization and MD with OpenMM
- Assigning partial charges (AM1-BCC, RESP)
- Understanding energy terms: bonds, angles, torsions, vdW, electrostatics
- Choosing water model (TIP3P, OPC, TIP4P-Ew)
- Analyzing energy decomposition by force group

## Quick Start

```python
# Protein-ligand simulation with OpenMM + OpenFF (SMIRNOFF Sage)
from openff.toolkit import Molecule, ForceField
from openff.toolkit.utils.exceptions import ParameterLookupError
from openmmforcefields.generators import SystemGenerator
import openmm.app as app
import openmm as mm
import openmm.unit as unit

# 1. Load protein topology
pdb = app.PDBFile('protein.pdb')

# 2. Parameterize ligand with OpenFF Sage
ligand = Molecule.from_smiles('c1ccc(cc1)CN')
ligand.generate_conformers(n_conformers=1)

# 3. Build system
system_generator = SystemGenerator(
    forcefields=['amber/ff14SB.xml', 'amber/tip3p_standard.xml'],
    small_molecule_forcefield='openff-2.2.0',
    molecules=[ligand],
    forcefield_kwargs={'nonbondedMethod': app.PME, 'constraints': app.HBonds},
)
system = system_generator.create_system(pdb.topology, molecules=[ligand])

# 4. Run with Langevin integrator
integrator = mm.LangevinMiddleIntegrator(
    300 * unit.kelvin, 1.0 / unit.picosecond, 2.0 * unit.femtoseconds
)
simulation = app.Simulation(pdb.topology, system, integrator)
simulation.context.setPositions(pdb.positions)
simulation.minimizeEnergy(maxIterations=500)
simulation.reporters.append(app.DCDReporter('traj.dcd', 1000))
simulation.step(50000)  # 100 ps
```

## Router — What to Read

| Task | Reference |
|------|-----------|
| Force field theory: energy terms, AMBER/CHARMM/OPLS/GROMOS families | `references/ff-fundamentals.md` |
| OpenMM: System, Simulation, integrators, reporters, NPT, restart | `references/openmm-basics.md` |
| OpenFF SMIRNOFF toolkit: Molecule, parameterization, Sage 2.2 | `references/openff-smirnoff.md` |
| GAFF2/antechamber, acpype, CGenFF, AM1-BCC, RESP charges | `references/parameterization.md` |
| Energy decomposition, PME, cutoffs, water models, troubleshooting | `references/energy-analysis.md` |

## Force Field Families at a Glance

| Family | Protein FF | Small Molecule FF | Engine |
|--------|-----------|-------------------|--------|
| AMBER | ff14SB, ff19SB | GAFF2 | OpenMM, AMBER |
| CHARMM | CHARMM36m | CGenFF | OpenMM, NAMD, GROMACS |
| OPLS | OPLS-AA/M | OPLS3e | GROMACS, Schrödinger |
| OpenFF | — | Sage 2.2, Parsley | OpenMM |
| GROMOS | 54A7 | GROMOS-compat | GROMACS (united-atom) |

## Installation

```bash
# OpenMM (engine)
conda install -c conda-forge openmm

# OpenFF toolkit + Sage FF
pip install openff-toolkit
pip install openmmforcefields  # bridges OpenFF → OpenMM + GAFF2

# AMBER Tools (antechamber / tleap)
conda install -c conda-forge ambertools

# acpype (antechamber wrapper → GROMACS/AMBER topology)
conda install -c conda-forge acpype

# ParmEd (topology manipulation)
pip install parmed

# Verify
python -c "import openmm; print(openmm.__version__)"
python -c "from openff.toolkit import Molecule; print('OpenFF OK')"
```

## Related Skills

- `ase` — geometry optimization with QM calculators (ORCA, xTB, GPAW)
- `mdanalysis` — trajectory analysis after MD runs
- `docking` — pre-docking protein prep; post-MD ensemble docking
- `scientific-skills:pymatgen` — periodic materials, materials force fields (ReaxFF)
- scripts: `chem_3d.py` — RDKit 3D conformer generation (pre-MD structure)

Files in this skill

  • SKILL.md4.2 KB
  • references/energy-analysis.md8.3 KB
  • references/ff-fundamentals.md4.5 KB
  • references/openff-smirnoff.md6.1 KB
  • references/openmm-basics.md7.1 KB
  • references/parameterization.md6.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.