packmol-step 2026.1.7
A SEAMM plug-in for building periodic boxes of fluid using Packmol
License: BSD-3-Clause
Keywords: SEAMM, plug-in, flowchart, Packmol, fluid, molecules

=====================
SEAMM Packmol Plug-in
=====================

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

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

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

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

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

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

A SEAMM plug-in for building periodic boxes of fluid using Packmol_

This plug-in takes the molecule in the current system and creates a
periodic box containing many copies of the molecule in order to
simulate a fluid.

* Free software: BSD license
* Documentation: https://molssi-seamm.github.io/packmol_step/index.html
* Code: https://github.com/molssi-seamm/packmol_step

.. _Packmol: http://m3g.iqm.unicamp.br/packmol/home.shtml

Features
--------

* Multiple ways to specify final cell:

  - Size of the cubic cell *and* density *or* number of molecules *or*
    number of atoms.
  - Volume *and* density *or* number of molecules *or* number of atoms.
  - density *and* size of the cubic cell *or* volume *or* number of
    molecules *or* of atoms.

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

This package was created with Cookiecutter_ and the `molssi-seamm/cookiecutter-seamm-plugin`_ project template.

.. _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
awards OAC-1547580 and CHE-2136142

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


=======
History
=======
2026.1.7 -- Enhancement: using periodic packing now in Packmol
    * Added support for the PBC boundary conditions now that they are implemented in
      Packmol. This seems to lead to considerably better packing, particulalrly with
      periodic solutes like MOF's and zeolites.

2025.12.19 -- Bugfix: initialization of random numbers
    * Added the command to the Packmol input to set the random seed using the system clock
      so that each run is different.

2025.9.6 -- Bugfixes: centering of solute and using variables for compounds
    * Fixed a problem centering a solute in a cubic cell.
    * Fixed problems using variables for the compounds, counts, etc. in the input.
    * Fixed a problem if the number of molecules of a compound is zero. Now it is just
      ignored.

2025.6.20 -- Added support for MACE PyTorch potentials

2025.3.9 -- Update for new installer
    * Changes in the installer required changes for codes that installed background
      codes, like PACKMOL. This update allows PACKMOL to be automatically installed.
      
2025.1.29 -- Bugfixes: executable and SMILES
    * The configuration for the executable was not set up correctly.
    * There was a bug due to change in the SMILES interface for configurations.
      
2024.7.25 -- Bugfix: initial setup of packmol.ini file
    * The initial setup of the packmol.ini file did not add the information for
      Conda. This release fixes that problem.
      
2024.6.29 -- Bugfix: bonding incorrect in some cases.
    * The use of PDB with Packmol could in some cases lead to multiple bonds in the
      wrong place. This release fixes that problem.
      
2024.6.21.2 -- Another internal release for Docker.

2024.6.21.1 -- Internal release for Docker
    * There was an internal issue creating the Docker image.
      
2024.6.21 -- Switching to RDKit for SMILES
    * Using RDKit for SMILES since we found some issues with OpenBabel, and also the
      atom typing uses RDKit, so this is more compatible.
      
2024.3.19 -- Updated installer for new scheme
    * packmol-step-installer now uses the new scheme, which supports both Conda and
      Docker installation.
    * Added seamm-packmol Docker image

2024.1.16 -- Adding support for containers
    * Added the ability to work in Docker containers.
      
2023.9.6 -- Using fractional coordinates for periodic systems.
    * By convention, SEAMM is using fractional coordinates for periodic systems. The
      PACKMOL step was creating periodic structures with Cartesian coordinates, which
      can be a bit confusing, though it did not affect any reauls. This change fixes the
      issue. 
      
2023.2.15 -- Restructured documentation and moved to new theme.

2022.5.31 -- Substantial enhancements
    Added ability to solvate molecules and increased the options to include

    * spherical regions
    * cubic and rectangular regions
    * cubic and rectangular unit cells for periodic systems
    * input molecules from any combination of system/configurations and SMILES
    * reworked GUI to be more intuitive.

2021.11.27 -- Fixed bug with atom types.

2021.10.25 -- Bugfix for problems with ideal gas approach.

2021.8.29 -- Multiple different molecules available via SMILES
   This release adds

   * the ability to directly generate multiple different molecules from SMILES, giving
     the stoichiometry for packing into the fluid box.
   * specifying the desired cell with the temperature and pressure, along with one of
     the volume, length of the box side, number of molecules or number of atoms. This
     uses the ideal gas law, so will only be reasonable at higher temperatures and lower
     densities. 

   Additionally, internally the release adds integration tests to check whether the module works properly in the SEAMM environment.

2021.6.3 -- internal change for improvements in parsing the commandline

2021.5.25 -- Added installer for Packmol executable.

2021.2.11 (11 February 2021)
----------------------------

* Updated the README file to give a better description.
* Updated the short description in setup.py to work with the new installer.
* Added keywords for better searchability.

2021.2.4 (4 February 2021)
--------------------------

* Updated for compatibility with the new system classes in MolSystem
  2021.2.2 release.

2020.12.5 (5 December 2020)
---------------------------

* Internal: switching CI from TravisCI to GitHub Actions, and in the
  process moving documentation from ReadTheDocs to GitHub Pages where
  it is consolidated with the main SEAMM documentation.

2020.11.2 (2 November 2020)
---------------------------

* Updated to be compatible with the new command-line argument
  handling.

2020.10.7 (7 October 2020)
----------------------------

* Added citations to be printed and stored.

2020.9.29 (29 September 2020)
-----------------------------

* Updated to be compatible with the new system classes in MolSystem.

2020.8.1 (1 August 2020)
------------------------

* Fixed bugs in the edit dialog.

0.9 (15 April 2020)
-------------------

* General bug fixing and code cleanup.
* Part of release of all modules.

0.7.0 (17 December 2019)
------------------------

* General clean-up of code and output.
* Part of release of all modules.

v0.3.0 (27 August 2019)
-----------------------

* First running version with reasonable output.

0.2.0 (13 August 2019)
----------------------

* First release on PyPI.