pyMolDyn

pyMolDyn is a viewer for atomic clusters, crystalline and amorphous materials in a unit cell corresponding to one of the seven 3D Bravais lattices. The program calculates cavities (vacancies, voids) according to three definitions.

pyMolDyn GUI

Features

  • Interactive viewer based on GR3
  • Computation of cavities in all seven 3D Bravais lattice systems
  • Creation of high resolution images appropriate for publications
  • Video creation from a set of input frames to analyze cavity changes in materials over time
  • Statistics including
    • Surfaces, volumes and surface/volume ratios of cavities and domains
    • Pair distribution functions (including cavities), bonds, bond (dihedral) angles
    • Gyration tensor, asphericity, acylindricity
  • Filter for atoms and cavities
  • Batch mode for simultaneous processing of multiple files

Documentation

Further information on supported input formats and the Bravais lattice systems can be found on the pyMolDyn documentation page.

Short introductions to the gui version and the command line interface are also available.

Download

At PGI/JCNS pyMolDyn is installed centrally on all Linux machines and Macs. For other users, we offer a macOS pkg installer, packages for several Linux distributions and a GitHub source code repository.

macOS

Current version: 0.9.9, package release 2

We provide an Apple pkg installer (file size: 434 MiB).

The pkg installer contains all needed pyMolDyn dependencies, so no additional libraries need to be installed.

By default, macOS blocks downloaded foreign pkg files from being executed. In this case, please go to System Settings, switch to Privacy & Security in the sidebar and click on the Open Anyway button next to the pyMolDyn installer.

After the installation, pyMolDyn can be started from a terminal window with

pymoldyn

for the GUI version or

pymoldyn --batch

to invoke the batch CLI mode.

It is compatible with macOS 10.15 Catalina or newer (tested on Catalina and Ventura). The package was compiled for Intel Macs but can also be run on M1/2 Macs with the Rosetta emulation layer.

Linux

Current version 0.9.9

We provide universal deb and rpm packages which can be used on any recent Linux distribution with either a deb or rpm package manager. On Arch Linux and its derivates, pyMolDyn can be installed from the AUR.

  • For Debian-based distributions (e.g. Debian, Ubuntu, Linux Mint):

    deb package (file size: 512 MiB)

    After the download is finished, run

    sudo apt install ./pymoldyn_0.9.9-1_amd64.deb
    

    to install the package.

    The package was tested on Ubuntu 18.04 LTS, 20.04 LTS and 22.04 LTS.

  • For distributions with rpm packaging (e.g. RHEL, CentOS, Rocky Linux, Fedora, openSUSE):

    rpm package (file size: 514 MiB)

    After the download is finished, run

    sudo dnf install ./pymoldyn_0.9.9-1.x86_64.rpm  # or `zypper install` on openSUSE
    

    to install the package.

    The package was tested on Rocky 8/9 and Fedora 37.

  • On Arch Linux or Arch-based distributions (like Manjaro), you can use our AUR package:

    yay -S pymoldyn-bin
    

    or if you prefer to build packages from source (requires Podman):

    yay -S pymoldyn
    

After the package installation, pyMolDyn can be started from a terminal window with

pymoldyn

for the GUI version or

pymoldyn --batch

to invoke the batch CLI mode.

Note:

On current Linux distribution versions (for example Rocky 9, Fedora 37, Ubuntu 22.04) the statistics tab in the graphical user interface does not show any information due to compatibility problems with the QtWebEngine component.

Ubuntu 22.04 or newer shows a System program problem detected dialog (which is triggered by the non-functional statistics view). Click on Report problem... and tick both Relaunch this application and Remember this in the future check boxes. Confirm your choice with Don't send.

This problem will be fixed in a future pyMolDyn release.

Source Code

For obtaining source code tarballs, please visit our public git repository at https://github.com/sciapp/pyMolDyn.

Running the development version on Linux

  • Install python2 with header files and pip (e.g. python2-dev, python-pip on Debian/Ubuntu)

  • Install the virtualenv utility for Python 2:

    sudo python2 -m pip install virtualenv
    
  • Install the gr framework, prebuilt packages can be found at https://gr-framework.org/c.html#linux-packages

  • Install PyQt5 for Python 2 (e.g. python-pyqt5 on Debian/Ubuntu)

  • Clone pyMolDyn source code:

    git clone https://github.com/sciapp/pyMolDyn.git
    cd pyMolDyn
    git checkout develop
    
  • Install pyMolDyn dependencies:

    cd src
    python2 -m virtualenv --system-site-packages env
    source env/bin/activate
    pip install pyqt5 gr h5py jinja2 pyopengl python-dateutil
    
  • Compile pyMolDyn C extensions:

    make
    
  • Start pyMolDyn:

    python startGUI.py
    

Running the development version on macOS

  • Install XCode (and start XCode once to accept the license)

  • Install Miniconda2

  • Install the gr framework:

    curl -O -L https://gr-framework.org/downloads/gr-latest-Darwin-x86_64.tar.gz
    tar -xvf gr-latest-Darwin-x86_64.tar.gz
    sudo cp -rv gr /usr/local/
    
  • Install pyMolDyn dependencies:

    /opt/miniconda2/bin/conda install pyqt h5py pyopengl jinja2
    /opt/miniconda2/bin/pip install python-dateutil gr
    
  • Clone pyMolDyn source code:

    git clone https://github.com/sciapp/pyMolDyn.git
    cd pyMolDyn
    git checkout develop
    
  • Compile pyMolDyn C extensions:

    cd src
    export CONDA_PREFIX=/opt/miniconda2
    make
    
  • Start pyMolDyn:

    /opt/miniconda2/bin/python startGUI.py
    

How to cite

I. Meyer, F. Rhiem, F. Beule, D. Knodt, J. Heinen, R. O. Jones: pyMolDyn: Identification, structure, and properties of cavities/vacancies in condensed matter (J. Comput. Chem. 2017, 38, 389–394. DOI: 10.1002/jcc.24697)

pyMolDyn at EuroScipy 2016

A poster about the implemented pyMolDyn algorithms was presented at the EuroScipy 2016.

Contact

For questions please contact Ingo Meyer (software maintainer).

Please use the GitHub issue tracker for bug reports and feature requests.