Skip to main content

High Efficiency Configuration Space Sampler

Project description

HECSS

High Efficiency Configuration Space Sampler

PVersion Badge PDownloads Badge CVersion Badge Downloads Badge License Badge

HECSS is a Markow chain Monte-Carlo, configuration space sampler using Metropolis-Hastings algorithm for probablity distribution sampling. It provides an alternative way to create representations of systems at thermal equilibrium without running a very expensive molecular dynamics simulation. The theoretical foundation of the code are presented in SciPost Phys. 10, 129 (2021) (short excerpt in Background in the Documentation). More detailed examples are included in the LAMMPS and VASP tutorials.

If you use this software in published research please cite the above paper (BibTeX) in your publication.

A very short example

Minimal example using LAMMPS potential from the asap3 package and OpenKIM database. Here we will sample the thermodynamic distribution of 3C-SiC crystal at 300K. We start by importing required modules, define the crystal and energy/forces calculator, run the sampler and finally plot the energy distribution.

#asap
from ase.build import bulk
import asap3
from hecss.core import HECSS, select_asap_model
from hecss.monitor import plot_stats

Then we define the crystal and interaction model used in the calculation. In this case we use 3x3x3 supercell of the SiC crystal in zincblende structure and describe the interaction using LAMMPS potential from the OpenKIM database and ASAP3 implementation of the calculator.

#asap
# model = 'Tersoff_LAMMPS_ErhartAlbe_2005_SiC__MO_903987585848_003'
model = select_asap_model('SiC')
cryst = bulk('SiC', crystalstructure='zincblende', a=4.38120844, cubic=True).repeat((3,3,3))
cryst.set_calculator(asap3.OpenKIMcalculator(model))

Then we define the sampler parameters (N -- number of samples, T -- temperature) and run it.

#asap
T = 300
N = 1_000
samples = HECSS(cryst, asap3.OpenKIMcalculator(model), T).generate(N)

And finally we plot the histogram of the resulting energy distribution which corresponds to the thermal equilibrium distribution.

#asap
plot_stats(samples, T)

png

Install

The HECSS package is avaliable on pypi and conda-forge additionally the package is present also in my personal anaconda channel (jochym). Installation is simple, but requires a number of other packages to be installed as well. Package menagers handle these dependencies automatically.

Install with pip

It is advisable to install in a dedicated virtual environment e.g.:

python3 -m venv venv
. venv/bin/activate

then install with pip:

pip install hecss

Install with conda

Also installation with conda should be performed for dedicated or some other non-base environment. To create dedicated environment you can invoke conda create:

conda create -n hecss -c conda-forge hecss

or you can install in some working environment venv:

conda install -n venv -c conda-forge hecss

Example data archive

The example subdirectory from the source may be downloaded directly from the source repository: hecss-examples.zip

The source code

The source is published at the Gitlab hecss repository. You can access it with git (recommended, particularly if you want to contribute to the development):

git clone https://gitlab.com/jochym/hecss.git

or you can download the whole distribution as a zip archive: hecss.zip

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hecss-0.5.0.2.tar.gz (34.5 kB view details)

Uploaded Source

Built Distribution

hecss-0.5.0.2-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file hecss-0.5.0.2.tar.gz.

File metadata

  • Download URL: hecss-0.5.0.2.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 CPython/3.9.12

File hashes

Hashes for hecss-0.5.0.2.tar.gz
Algorithm Hash digest
SHA256 a42749a5a0c9f3297b4f94abf8c924deec46672c0376e4a04efe4d0e36cec60d
MD5 3ab20e8579630e0b9dd6e53411210864
BLAKE2b-256 fb67a3a62e85a70be58d9a0a8090792a164ab5dcd7b7bca085b100e22acd90a8

See more details on using hashes here.

File details

Details for the file hecss-0.5.0.2-py3-none-any.whl.

File metadata

  • Download URL: hecss-0.5.0.2-py3-none-any.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 CPython/3.9.12

File hashes

Hashes for hecss-0.5.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 078ca1117c710cdcd51dfe5b731c7b966a286e4c7616e8a8fb6e1d0679986c9e
MD5 95f8b2dfd2c26a4a7e71f184ed59a7c5
BLAKE2b-256 55f2ae2225186aef7c53d8449e20278af050bbd85de64d57f753126f9c6f1a5a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page