Skip to main content

High Efficiency Configuration Space Sampler

Project description

HECSS

High Efficiency Configuration Space Sampler

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 the section Background in the Documentation. More detailed examples are included in the LAMMPS and VASP tutorials.

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.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'
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 will be shortly avaliable on pypi and conda. Installation is simple, but requires a number of other packages to be installed as well. Both package menagers handle these dependencies automatically. Just run:

pip install hecss

if you prefer pip as your package manager or:

conda install -c jochym hecss

if you prefer to use conda. The channel above will be changed to conda-forge at a later date.

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.3.7.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

hecss-0.3.7-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hecss-0.3.7.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for hecss-0.3.7.tar.gz
Algorithm Hash digest
SHA256 28373e08cf74aea4c32b3911c7a6d6ff152c8e748be825b0a7734c43d470ac61
MD5 29cbc146b21c08072d23596bcb1bc26e
BLAKE2b-256 5f147eb33303951ca0c84296391c06f5060c91832c7ece9b5f9f66df378f09ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hecss-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for hecss-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9296e4513df31cf7e11ae1cacc304e97ceb879813d61bc935f3680ed5179f0df
MD5 ec28da2c744d4f43d525d34d995aa665
BLAKE2b-256 570845e9bc23b0e479e8217da1da58f408ec253c7029265ae032e33d0bbacfae

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