Metadata-Version: 2.4
Name: viscosity_step
Version: 2026.10.17
Summary: A SEAMM plug-in for Viscosity
Home-page: https://github.com/molssi-seamm/viscosity_step
Author: Paul Saxe
Author-email: psaxe@molssi.org
License: BSD-3-Clause
Keywords: SEAMM,SEAMMplugin,flowchart
Platform: Linux
Platform: Mac OS-X
Platform: Unix
Platform: Windows
Classifier: Environment :: Plugins
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.12
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: numpy
Requires-Dist: seamm>=2026.10.17.1
Requires-Dist: seamm-md-analysis>=2026.10.17.4
Requires-Dist: seamm-util
Requires-Dist: seamm-widgets
Requires-Dist: tabulate
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: platform
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

=======================
SEAMM Viscosity Plug-in
=======================

.. image:: https://img.shields.io/github/issues-pr-raw/molssi-seamm/viscosity_step
   :target: https://github.com/molssi-seamm/viscosity_step/pulls
   :alt: GitHub pull requests

.. image:: https://github.com/molssi-seamm/viscosity_step/workflows/CI/badge.svg
   :target: https://github.com/molssi-seamm/viscosity_step/actions
   :alt: Build Status

.. image:: https://codecov.io/gh/molssi-seamm/viscosity_step/branch/main/graph/badge.svg
   :target: https://codecov.io/gh/molssi-seamm/viscosity_step
   :alt: Code Coverage

.. image:: https://github.com/molssi-seamm/viscosity_step/workflows/CodeQL/badge.svg
   :target: https://github.com/molssi-seamm/viscosity_step/security/code-scanning
   :alt: Code Quality

.. image:: https://github.com/molssi-seamm/viscosity_step/workflows/Release/badge.svg
   :target: https://molssi-seamm.github.io/viscosity_step/index.html
   :alt: Documentation Status

.. image:: https://img.shields.io/pypi/v/viscosity_step.svg
   :target: https://pypi.python.org/pypi/viscosity_step
   :alt: PyPi VERSION

A SEAMM plug-in for the shear viscosity of liquids from equilibrium molecular
dynamics.

* Free software: BSD-3-Clause
* Documentation: https://molssi-seamm.github.io/viscosity_step/index.html
* Code: https://github.com/molssi-seamm/viscosity_step

Features
--------

* The shear viscosity by Green-Kubo and from the Helfand moments, averaging the
  five independent shear components of the pressure tensor.
* Analyzes MD run earlier in the flowchart -- independent runs in a Loop -- or in
  other jobs, from the ``md.h5md`` files the LAMMPS step writes.
* Gives the 95% confidence interval from Student's t, checks that the components
  agree, and reports the state (temperature, pressure, volume and density).
* Checks before the job runs that the MD samples the pressure tensor often enough.
* Passes its result to a later Diffusivity step for the Yeh-Hummer correction.

Acknowledgements
----------------

This package was created with the `molssi-seamm/cookiecutter-seamm-plugin`_ tool, which
is based on the excellent Cookiecutter_.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`molssi-seamm/cookiecutter-seamm-plugin`: https://github.com/molssi-seamm/cookiecutter-seamm-plugin

Developed by the Molecular Sciences Software Institute (MolSSI_),
which receives funding from the `National Science Foundation`_ under
award CHE-2136142.

.. _MolSSI: https://molssi.org
.. _`National Science Foundation`: https://www.nsf.gov


=======
History
=======
2026.10.17 -- Analyze MD run before the step; labelled errors and a component check
    * The step analyzes MD run before it in the flowchart -- the runs of a Loop around
      the MD, as independent replicas ("the last MD run of each loop iteration", the
      default) -- or md.h5md files; it no longer runs its own MD in a sub-flowchart.
      Older flowcharts that stored its settings for that can still be read; the check
      before the job runs says what replaces them.
    * The check before the job runs also warns when the analysis is inside the loop
      holding its MD, when the loop changes the temperature or pressure, and when the
      thermostat does not suit the analysis, with fixes; the step warns before the MD
      when the system is small.
    * Errors are the 95% confidence interval, Student's t for the number of runs or
      blocks, and the output says so; stored errors are standard errors.
    * The state of the runs -- temperature, pressure, volume and density with their
      errors, and the equilibrium density where an NPT run before them gives the bulk
      modulus -- is reported and stored. The values of each run or block are in
      step.out.
    * The 95% interval was 2 × the standard error, too small for few runs; the
      viscosity passed to later steps, e.g. for Diffusivity's box-size correction,
      carries the standard error, labelled as such.
    * One line checks that the five shear components agree; the components are given
      in full for a run that is not isotropic.

2026.10.15.1 -- Internal: a regression test against SPC/E water
    * ``regression/spce`` holds a flowchart computing the viscosity and diffusion
      coefficient of rigid SPC/E water, and a script checking them against published
      values. It is run by hand after changes that could affect the results; the new
      "Regression" page in the developer guide describes it and records its results.

2026.10.15 -- First release: the shear viscosity from MD
    * Calculates the shear viscosity of a liquid from equilibrium MD by Green-Kubo
      and from the Helfand moments, averaging the five independent shear components
      of the pressure tensor.
    * Runs its own MD several times, or analyzes MD run earlier in the flowchart, in
      each iteration of a loop, or in other jobs, from the md.h5md files the LAMMPS
      step writes. A single run is divided into blocks to estimate the errors.
    * Checks before the job runs that the MD samples the pressure tensor at least
      every 5 fs, and turns it on when it runs its own MD.
    * The result is stored as a property, can be saved in variables and tables, and
      is used by a following Diffusivity step for its finite-size correction.

