SEAMM Normal Mode Sampling Plug-in
A SEAMM plug-in for Wigner/thermal normal-mode sampling of the Hessian to generate displaced structures (e.g. for MLFF training sets)
Free software: BSD-3-Clause
Documentation: https://molssi-seamm.github.io/normal_mode_sampling_step/index.html
Code: https://github.com/molssi-seamm/normal_mode_sampling_step
Features
Please edit this section!
Acknowledgements
This package was created with the molssi-seamm/cookiecutter-seamm-plugin tool, which is based on the excellent Cookiecutter.
Developed by the Molecular Sciences Software Institute (MolSSI), which receives funding from the National Science Foundation under award CHE-2136142.
History
- 2026.10.3 – Bugfix: the Hessian used the program’s method name and default basis
The MDI engine for the Hessian was launched with the model chemistry’s method name alone, so ORCA ran def2-SVP whatever basis was chosen, and a functional whose name the Model Chemistry step had to alter was not recognized. It now gets the program’s own keyword and the chosen basis (with model_chemistry_step 2026.10.3).
The shared CI now runs on uv: devtools/conda-envs/test_env.yaml is removed, so requirements.txt is the one dependency list.
- 2026.7.15 – Initial release
Generates an ensemble of displaced structures by normal-mode sampling of a molecule’s Hessian, for building machine-learned-force-field training sets and similar uses.
Amplitudes follow the quantum (Wigner) distribution by default, so stiff modes such as O-H stretches get the real zero-point spread that classical 300 K sampling misses; classical-thermal and ground-state (0 K) distributions are also available.
The Hessian is obtained from the Model Chemistry defined earlier in the flowchart, over MDI: the analytic Hessian when the engine provides one, otherwise a finite-difference of the forces over the resident engine.
A temperature, per-mode selection, amplitude cap, and harmonic-energy outlier rejection are all controllable, and the random seed can be fixed for reproducible ensembles.
Off-minimum geometries are allowed with a warning, so a transition state is sampled along its real modes while its imaginary reaction coordinate is left alone.
Each generated structure records its predicted harmonic energy and the per-mode normal-coordinate displacement as properties, for downstream filtering and analysis.
Metadata
Release files for normal-mode-sampling-step 2026.10.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| normal_mode_sampling_step-2026.10.3.tar.gz | 322.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| normal_mode_sampling_step-2026.10.3-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 347.1 kB
Release files / normal_mode_sampling_step-2026.10.3.tar.gz
| Download URL | normal_mode_sampling_step-2026.10.3.tar.gz |
|---|---|
| Size | 322.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1afb394909a36c2ba008b18aec93f7b2de58d4321662a865643dea1868606399
|
|
BLAKE2b-256 checksum How to use checksums |
acaa796ec3fccec35b03ae764fbb5c3ee408555a79e268862d795ed1bd6378ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / normal_mode_sampling_step-2026.10.3-py2.py3-none-any.whl
| Download URL | normal_mode_sampling_step-2026.10.3-py2.py3-none-any.whl |
|---|---|
| Size | 24.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
341fa2c7a4d4719a3993b52d93b3f1cbf7106042b166ec2153701da702577014
|
|
BLAKE2b-256 checksum How to use checksums |
542b87829d9f13fbdc867bb309bee10e4ebbc9d814a01afe1604e298639b5a2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|