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 optimizers.
- 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, in-loop optimizers, 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, in-loop optimizers, and example programs.
Development
Contributing, architecture, and extending the engine.
Surfaces