molpack
Start here
Find the right page¶
This page is an index into the manual. Every surface lowers to the same model: molecule templates, copy counts, geometric restraints, then one packing run.
Workflows
Same packing model, four entry points¶
All entry points lower to the same target / count / restraint model. Pick the surface that matches how the rest of your workflow is written.
Run a .inp job¶
Use the CLI for reproducible packing jobs that already live as Packmol-style input files. See the CLI guide.
Pack from a notebook or pipeline¶
Load or build a frame, create immutable targets, and pass the packed frame to the writer or analysis code you already use. See the Python API.
Embed the engine in a crate¶
Use the native builder API for applications, services, and tests. See the Rust API.
Observe or stop a run¶
Handlers receive structured events from the packing loop. See Handlers and relaxers.
- Targets
- Molecule templates, copy counts, fixed placements, centering, and rotation bounds.
- Restraints
- Geometric boxes and spheres, planes, and collective distribution-matching terms.
- Packer
- GENCAN outer loop, pair-distance objective, optional rayon evaluation, seed control.
- Scripts
- Packmol-compatible `.inp` keywords, path resolution, and extra filetypes (SDF, LAMMPS).
- Python
- Frame-in / frame-out packing for notebooks and pipelines via molrs.
- Rust
- Native builders, handlers, relaxers, and feature-gated IO / FF / rayon.
Tutorial
Install, quickstart, concepts, examples, and Packmol parity notes.
Packmol Script
`.inp` overview, script notes, formats, and CLI examples.
Python
Installation, targets, restraints, packer options, PBC, and API reference.
Rust
Builders, restraints, PBC, handlers, relaxers, and example programs.
Development
Contributing, architecture, and extending the engine.
Surfaces