인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
생산성 및 협업 · SKILL.md

simulation-workflows

simulation-workflows

Set up and run practical OpenMM Python application-layer simulations from PDB, PDBx/mmCIF, Amber, GROMACS, CHARMM, and Tinker inputs, including Simulation setup, integrators, reporters, minimization, stepping, checkpoints, portable state restarts, and small validation smokes.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: simulation-workflows description: "Set up and run practical OpenMM Python application-layer simulations from PDB, PDBx/mmCIF, Amber, GROMACS, CHARMM, and Tinker inputs, including Simulation setup, integrators, reporters, minimization, stepping, checkpoints, portable state restarts, and small validation smokes." disable-model-invocation: true metadata: disco-role: operating license: MIT, GPL, LGPL

Simulation Workflows

Use this sub-skill when the task is to write, adapt, debug, or sanity-check an OpenMM Python application-layer simulation script. It owns the workflow that loads input files, creates or receives a System, creates a Simulation, initializes the Context, attaches reporters, minimizes, runs steps, and saves or resumes progress.

Route Here For

  • Creating short scripts around Simulation(topology, system, integrator, platform=None, platformProperties=None, state=None).
  • Loading coordinates/topologies from PDBFile, PDBxFile, Amber prmtop/inpcrd, GROMACS top/gro, CHARMM psf plus coordinate and parameter files, or Tinker xyz/parameter files.
  • Choosing ordinary application-layer integrators such as LangevinMiddleIntegrator, LangevinIntegrator, or VerletIntegrator for simple production or smoke runs.
  • Adding DCDReporter, StateDataReporter, CheckpointReporter, PDBReporter, or PDBxReporter output.
  • Using minimizeEnergy(), step(), runForClockTime(), saveCheckpoint(), loadCheckpoint(), saveState(), and loadState().
  • Writing quick Reference/CPU smoke checks that avoid long trajectories and verify positions, energy, step count, or reporter output.

Use Other Sub-skills For

  • Force-field XML choice, Modeller, solvation, ions, missing atoms, templates, and model editing: ../force-fields-modeling/SKILL.md.
  • Custom expression forces, custom reporters beyond basic app-layer reporting, advanced alchemical systems, or custom integrators: ../custom-forces-integrators/SKILL.md.
  • CUDA/OpenCL/HIP/CPU/Reference platform selection, precision, device properties, performance, and platform-specific errors: ../platforms-performance/SKILL.md.
  • C++ APIs, plugins, serialization internals, or source-level extension work: ../development-extensions/SKILL.md.

Working References

  • Start with references/simulation-recipes.md for PDB, Amber, GROMACS, CHARMM, Tinker, smoke, minimization, stepping, and restart recipes.
  • Use references/file-formats-and-reporters.md for loader pairing, reporter options, checkpoint/state differences, and validation snippets.
  • Use references/troubleshooting.md when a script fails to load files, builds a bad System, produces NaNs, writes no output, or cannot resume from a checkpoint.
  • Run scripts/minimal_reference_smoke.py to verify that OpenMM imports, units, Context, Simulation, minimization, stepping, and serialization work on the Reference platform without external data files.

Default Safe Pattern

  1. Import from openmm.app, openmm, and openmm.unit; use explicit unit-bearing quantities such as 300*kelvin, 1/picosecond, and 0.002*picoseconds.
  2. Load topology and positions from matching input files; pass periodic box vectors from the coordinate file when the topology format needs them.
  3. Create or receive a System before constructing Simulation; changes to System after Simulation creation do not affect the existing Context.
  4. Create an integrator, then Simulation(topology, system, integrator, ...); set positions and, for dynamics or restart-sensitive tests, set velocities explicitly.
  5. Minimize before dynamics unless the workflow is intentionally evaluating unminimized input.
  6. Attach reporters before step(); use short intervals and small step counts for smoke tests.
  7. Prefer saveState()/loadState() for portable restarts across hardware/platforms; use checkpoints only for same-system, same-platform, same-version continuation.

Acceptance Checks

  • The script imports openmm, openmm.app, and openmm.unit without relying on the OpenMM source checkout.
  • Every physical value has units or is intentionally unitless where OpenMM expects a count, boolean, or enum.
  • The topology, positions, and system particle count are consistent before the first step().
  • Reporters write to intentional paths or file-like objects, and progress reporters specify totalSteps.
  • Smoke runs are bounded, usually 0-10 steps on Reference or CPU, and check a concrete invariant such as currentStep, finite energy, positions present, or a restart restoring positions.
저장한 Skills