SEAMM Diffusivity Plug-in
A SEAMM plug-in for Diffusivity
Free software: BSD-3-Clause
Documentation: https://molssi-seamm.github.io/diffusivity_step/index.html
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.15.3 – The viscosity for the finite-size correction from a Viscosity step
The Yeh-Hummer correction for the size of the cell uses, by default, the viscosity from the Viscosity step run before this one, and says which value it used, noting if it is for a different temperature. “Viscosity from” chooses it or a given value. If there is no Viscosity step, the correction is skipped with a note.
The correction is now on by default. Flowcharts written before keep the viscosity they give, and the correction they asked for.
- 2026.10.15.2 – Analyze MD run earlier in the flowchart
New “MD to analyze” choice: run the MD in the sub-flowchart (as before), the last MD run earlier in the flowchart, the last MD run of each loop iteration, or md.h5md files, including other jobs’. One production run can now feed several analyses. A single run is divided into blocks to estimate the errors.
Before the job runs, the step checks that the MD will sample the positions and velocities it needs, and the job does not start if it does not. When it runs its own MD, it turns on any missing sampling and says so.
The dialog shows only the settings that apply, and hides the sub-flowchart when it is not used.
- 2026.10.15.1 – Reads the H5MD files; needs a periodic system
Reads the positions and velocities from the md.h5md files that the LAMMPS step now writes, and from the older text files for runs made before.
Stops before running any MD if the system is not periodic, since the diffusion coefficient of a molecule or cluster is not a bulk property.
Bugfix: atomic positions or velocities were used as if they were molecular when the centres of mass were not sampled, giving wrong results for molecules of more than one atom. The step now stops with a message asking for the centres of mass.
- 2026.10.15 – Bugfix: crash with Helfand moments; per-direction coefficients
The step stopped with KeyError: 'Dx' after the second run whenever it used Helfand moments (the “Helfand moments” or “both” approach), while printing the current estimates. It now prints them.
The diffusion coefficients in x, y and z (Dx, Dy and Dz) were a third of their correct values, and had only a third of the Yeh–Hummer correction: they were the contributions of each direction to D rather than diffusion coefficients. For an isotropic liquid they now equal D. The total D is unchanged by this.
With Helfand moments, the total D is now computed from the sum of the moments in x, y and z, as with the MSD, rather than from the summed velocities, whose cross terms added noise. The value changes within its error.
The analysis now uses the shared seamm_md_analysis library, also used by the Thermal Conductivity step, instead of its own copy. The Helfand moments and mean square displacements are computed much faster (by FFT), which matters for long runs and many molecules.
The MSD graphs now label their y units as Å^2 rather than Å.
- 2026.10.12 – Model chemistries
The results name the model chemistry (e.g. FF@oplsaa) when LAMMPS uses one, rather than requiring a Forcefield step.
- 2026.3.26 – Bugfix: Corrected handling of viscosity <= 0.0
Ignore the hydrostatic correction if the given viscosity is less than or equal to 0. This allows a flowchart to work more simply whether the viscosity os know or not.
- 2026.3.15 – Fixed an error with MLFFs and protected the viscosity correction.
Fixed and error with the name of the MLFF, which caused the code to crash after printing the results but before ending.
Protected the hydrodynamic correction using the viscosity if the viscosity given is zero or less, in which case the correction is ignored.
2026.3.1 – Internal: switching from deprecated library pkg_resources to importlib
- 2026.1.8 – Enhancement to use atomic position and velocity trajectories
Add support for the atomic position and velocity trajectories for forcefields/potentials such as EAM/MEAM where there are no bonds, and hence the center-of-mass trajectories used from molecules are not allowed by LAMMPS.
2025.9.23 – Bugfix: Fixed error storing diffusion constants as properties
- 2024.7.30.1 – Bugfix: Reinitialization of data in loops
Fixed a bug where the data was not being correctly initialized if the step was in a loop. This caused the timing results to be incorrect.
Added actual number of samples for the MSD and length of the Helfand integral to the results.
- 2024.7.30 – Added optional correction for cell size
Added an option to use the Yeh-Hummer hydrostatic correction for the effects of the finite cell size. The viscosity is required as an input, but the correction eliminates the need to extrapolate to 1/L = 0.
Added control parameters and timings to the available results.
- 2024.7.21 – Significant improvements!
Simplified error analysis to safe approach of analyzing the diffusion constants over runs.
Improved fitting of the curves to focus on the central linear portion. There are reasonable defaults but the user can adjust as needed.
Provided a combined average and error bars when both the MSF approach and Helfand moments are used.
Capture temperature, pressure, and cell size from the MD step, providing 1/L as a result since the true diffusion constants are found by extrapolating to 1/L = 0.
Provided control over the number of steps for the expensive numerical integration in the Helfand moments, providing a reasonable default of 1000.
- 2024.7.15 – Bugfix: Significant error in Helfand Moment approach
Now fixed and seems to be working.
- 2024.7.4 – Improved fitting of curves
Removed weighting of the fit by the stdev since it is too biased to the beginning
Added control over the portion of the data to fit in order to avoid the initial curvature and poor data towards the end.
- 2024.6.3 – Bugfix: handling of options for subflowchart
Fixed a bug where the options for the subflowchart were not being parsed correctly.
- 2024.5.26 – Updated for new task handling
The new handling of running tasks such as LAMMPS required a small change in the code.
- 2023.9.5 – Changed default to using only MSD
The Helfand moments approach seems give incorrect results if the sampling time is too long. It is not dramatic, but gives increasingly incorrect results as the sampling time is increased. Thus using the Helfand moments is dangerous because the results may be wrong, but not obviously so.
- 2023.8.30 – Initial working version
A working version that has been tested somewhat. Further testing and documentation will follow
- 2023.5.8 – Initial development version created
Plug-in created using the SEAMM plug-in cookiecutter.
Metadata
Release files for diffusivity-step 2026.10.15.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 | |
|---|---|---|---|
| diffusivity_step-2026.10.15.3.tar.gz | 328.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| diffusivity_step-2026.10.15.3-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 361.1 kB
Release files / diffusivity_step-2026.10.15.3.tar.gz
| Download URL | diffusivity_step-2026.10.15.3.tar.gz |
|---|---|
| Size | 328.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
abd11d6eeec6ffedd49ed3494862a2865ee15f5cf39c68baca0c67e3bcb2e07b
|
|
BLAKE2b-256 checksum How to use checksums |
2d8fc656cd58984fb95d6df8da2413d0ce5ce49c488951ff56c5b80e3d39bb22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / diffusivity_step-2026.10.15.3-py2.py3-none-any.whl
| Download URL | diffusivity_step-2026.10.15.3-py2.py3-none-any.whl |
|---|---|
| Size | 33.0 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
62652e072ce20b8133246b8439c0bd96b7aca5ac21d5bdd5d32630a6607324e3
|
|
BLAKE2b-256 checksum How to use checksums |
56df75f3844ce19bffdff2cf04123733cf2d1dc024d5216ad7314832312208f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|