Skip to main content

Lighthweight but caffeinated Python implementation of computational methods for statistical mechanical calculations of configurational states in crystalline material systems.

Project description

Statistical Mechanics on Lattices

test Codacy Badge pre-commit.ci status pypi version Static Badge Binder status

Lightweight but caffeinated Python implementation of computational methods for statistical mechanical calculations of configurational states in crystalline materials.


smol is a minimal implementation of computational methods to calculate statistical mechanical and thermodynamic properties of crystalline material systems based on the cluster expansion method from alloy theory and related methods. Although smol is intentionally lightweight---in terms of dependencies and built-in functionality---it has a modular design that closely follows underlying mathematical formalism and provides useful abstractions to easily extend existing methods or implement and test new ones.

Functionality

smol currently includes the following functionality:

  • Defining cluster expansion functions for a given disordered structure using a variety of available site basis functions with and without explicit redundancy.

  • Option to include explicit electrostatics in expansions using the Ewald summation method.

  • Computing correlation vectors for a set of training structures with a variety of functionality to inspect the resulting feature matrix.

  • Defining fitted cluster expansions for subsequent property prediction.

  • Fast evaluation of correlation vectors and differences in correlation vectors from local updates in order to quickly compute properties and changes in properties for specified supercell sizes.

  • Flexible toolset to sample cluster expansions using Monte Carlo with canonical, semigrand canonical, and charge neutral semigrand canonical ensembles using a Metropolis or a Wang-Landau sampler.

  • Special quasi-random structure generation based on either correlation vectors or cluster interaction vectors.

  • Solving for periodic ground-states of any given cluster expansion with or without electrostatics over a given supercell.

smol is built on top of pymatgen so any pre/post structure analysis can be done seamlessly using the various functionality supported there.

Installation

From pypi:

pip install smol

From source:

Clone the repository. The latest tag in the main branch is the stable version of the code. The main branch has the newest tested features, but may have more lingering bugs. From the top level directory

pip install .

Although smol is not tested on Windows platforms, it should still run on Windows since there aren't any platform specific dependencies. The only known installation issue is building pymatgen dependencies. If simply running pip install smol fails, try installing pymatgen with conda first:

conda install -c conda-forge pymatgen
pip install smol

You can also simply use the environment.yml file in the repository to install smol:

conda env create -f environment.yml
source activate smol-env

Usage

Refer to the documentation for details on using smol. Going through the example notebooks will also help you get started. You can run the example notebooks interactively in binder.

Citing

If you use smol in your research, please give the repo a star :star: and refer to the citing page in the documentation for formal citation information.

Contributing

We welcome all your contributions with open arms! Please fork and pull request any contributions. See the developing page in the documentation for how to contribute.

Changes

The most recent changes are detailed in the change log.

Copyright Notice

Statistical Mechanics on Lattices (smol) Copyright (c) 2022, The Regents
of the University of California, through Lawrence Berkeley National
Laboratory (subject to receipt of any required approvals from the U.S.
Dept. of Energy) and the University of California, Berkeley. All rights reserved.

If you have questions about your rights to use or distribute this software,
please contact Berkeley Lab's Intellectual Property Office at
IPO@lbl.gov.

NOTICE.  This Software was developed under funding from the U.S. Department
of Energy and the U.S. Government consequently retains certain rights.  As
such, the U.S. Government has been granted for itself and others acting on
its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the
Software to reproduce, distribute copies to the public, prepare derivative
works, and perform publicly and display publicly, and to permit others to do so.

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

smol-0.5.3.tar.gz (10.2 MB view details)

Uploaded Source

Built Distributions

smol-0.5.3-cp312-cp312-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.12 Windows x86-64

smol-0.5.3-cp312-cp312-win32.whl (10.9 MB view details)

Uploaded CPython 3.12 Windows x86

smol-0.5.3-cp312-cp312-musllinux_1_1_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

smol-0.5.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

smol-0.5.3-cp311-cp311-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

smol-0.5.3-cp311-cp311-win32.whl (10.9 MB view details)

Uploaded CPython 3.11 Windows x86

smol-0.5.3-cp311-cp311-musllinux_1_1_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

smol-0.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

smol-0.5.3-cp311-cp311-macosx_12_0_arm64.whl (11.2 MB view details)

Uploaded CPython 3.11 macOS 12.0+ ARM64

smol-0.5.3-cp311-cp311-macosx_10_9_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

smol-0.5.3-cp310-cp310-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

smol-0.5.3-cp310-cp310-win32.whl (10.9 MB view details)

Uploaded CPython 3.10 Windows x86

smol-0.5.3-cp310-cp310-musllinux_1_1_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

smol-0.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

smol-0.5.3-cp310-cp310-macosx_12_0_arm64.whl (11.2 MB view details)

Uploaded CPython 3.10 macOS 12.0+ ARM64

smol-0.5.3-cp310-cp310-macosx_10_9_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

smol-0.5.3-cp39-cp39-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

smol-0.5.3-cp39-cp39-win32.whl (10.9 MB view details)

Uploaded CPython 3.9 Windows x86

smol-0.5.3-cp39-cp39-musllinux_1_1_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

smol-0.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

smol-0.5.3-cp39-cp39-macosx_12_0_arm64.whl (11.2 MB view details)

Uploaded CPython 3.9 macOS 12.0+ ARM64

smol-0.5.3-cp39-cp39-macosx_10_9_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file smol-0.5.3.tar.gz.

File metadata

  • Download URL: smol-0.5.3.tar.gz
  • Upload date:
  • Size: 10.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3.tar.gz
Algorithm Hash digest
SHA256 d563e10cdc0a1c619d55d4d121a6b7a552d15ad8b1baa68437f511a3b236cac1
MD5 85c66654e0bad3c50d4666052f3ff457
BLAKE2b-256 9846b2e7890900f6007da8690561e892ecb162d1fb362db2555f907c234f37ee

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: smol-0.5.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ba85ec2eefc95c17062dd7c01b0f0a90af3027dfd677863ee8b494954326af98
MD5 56f527681385b78fd75f2135b3e39507
BLAKE2b-256 ae44dce2f5dc9835c7f5dbc1390747ad5a52cf81a4e3790b8c1f0e321a0d9d2f

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp312-cp312-win32.whl.

File metadata

  • Download URL: smol-0.5.3-cp312-cp312-win32.whl
  • Upload date:
  • Size: 10.9 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 31a11a500685eac041adb9f52a75e8c218602f6e06a4c0d51ab43f29901237f7
MD5 ad0be1efd631acd912a10ca0f2ac2613
BLAKE2b-256 762b29b74a985980bcb3e002344e23a8f6ebc8b7daa645dc57131d9136866a06

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6356b2bf991a6113d9a743a3932f1a994f9fc6a1b5e06de5a4d7cefc43b45103
MD5 2231bb5427d60801ca298925b68def68
BLAKE2b-256 450b0d6cf56ceb5e5d168e8d5f64de52896834c48334d5ccdef41ce88ca7bb86

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d36d524c5e8698916e0752ded20573e214333a96873a2f81ed301b255d96a095
MD5 58c25ab2df4e614453f6f4db90ab6cbd
BLAKE2b-256 512ccc10dfc3877f14bc27a23b82ff2b0750357937750478a1609751306380ac

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: smol-0.5.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 543431a7ff2a1eeed87f23ae2163e667578c79d99ade4c87e80bb859df1b0550
MD5 f7509f28fbd5301c8ed116740587c7b1
BLAKE2b-256 284e80f0f73c5bf324a959a22b015c171bc1b3700a7b777d1e395f9e5022fe71

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: smol-0.5.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 10.9 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 b80193c2d0d5cb808873ce69e2657174790bba603d01925a9fe93991ec071206
MD5 c4e660cf89480cbb8c9f56c06d7ff42e
BLAKE2b-256 772de96643ad3918e03d383ee02344c1feb40dfd7b0836b93aa4a685992fb471

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8929f555342bec327da69941a16a8aefb3697f23e2bd01ef5eac1aacd9f17505
MD5 83721c7074dfb4b52a7abb0a5deeeaab
BLAKE2b-256 39540f8a3966fcba2b800dfa18606ad3c45a0fea1980fdf1cadea0fa729f71e4

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f4a2839d466076724e4786f887e061f09ef12efc1c4a3554e71491d64517ffb
MD5 df75b88abed401982121ddcdb65791f4
BLAKE2b-256 b0d0a5ed9ee72b573e0469bfcca65b7edd1639fa7495efab925a31687b32fe00

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp311-cp311-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 6cdca23396267bb25747ee79757a4369ae4aef558e196c1c308ef4de4bb9ff55
MD5 be2e05cea0201e79f3e1743a7d48ee13
BLAKE2b-256 6799694be7ef1a2218e2102a72796a1d0094eb045e7404c4d7ec195715f05950

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e6613e58783b283e16d9d5a6585cd911aa6a0f3af67b3a62ecc70023718d3668
MD5 12d0dc866c98d736e3f5cb87aeb480c0
BLAKE2b-256 1a9cf41a904b2ab9181ca817814dafe2dbd4c1b62dd98d4faeaf8157f785effc

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: smol-0.5.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 85a51cfce6d21d4e613f591b3fec37a70510fe53ccdf4452bd75978d3b72aae4
MD5 aab091f7b8eccbc2f91a2bd3e6d68cf3
BLAKE2b-256 caf6fe0a76bdc5143a65600aecc025bafe8134371c9c843fac9e28b24f1dccac

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: smol-0.5.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 10.9 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2232aa5c764246fba97d02a139d530b68f1183447d769e6620f640822166fa9f
MD5 1a196a2e95d78703376f4b3aa62e64a0
BLAKE2b-256 42ecadf3c047defd69762972fcaf0bd42296739af82fc74c3c6fc730f42dfca2

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5ec6a6ee001fd772ac677d76231d6da6be761b2acfc90f98286c032f1d09f465
MD5 de145af09af5d74c1abe304c7f796b7e
BLAKE2b-256 91a5db5b6acff0b63374dee52613c17d9fa77749cb6191735021911b844fc404

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 526403e39785af1dfc1242ff7543bef28fccb84231d1b7aff8932da21a27914c
MD5 7ac1650bfa2fa96b624d576f1ddb0145
BLAKE2b-256 67b8256017932e2362c626ecd79973aa2f025ce1025458b0e08741e1d108257c

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp310-cp310-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 5c23bb021a152044744e998a291ecb6f15c6d8bd12ea421c14ce376c61461508
MD5 12fd0697426e304cc47667a9fe530b22
BLAKE2b-256 732ad125fd9ef6987e8f6cc7317fe069dce9c787cf0f492c091fb5a91eaefc1f

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ed74d166dadd241067351443365fadf0c2f3836c1b8d263309efd438b2338834
MD5 c5230acd66d9ed264b5f4e1731f86c36
BLAKE2b-256 6befbbfe49f8f0aad1d90a63335b778a8fbee785ca85345be4d39a3da2c3f10c

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: smol-0.5.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 766060ac6ff3647fb5ec53922053b1ebbf0b0a0ae98490375414b4ae25ed237d
MD5 7f95e7366f06a40fa06185aaad267a47
BLAKE2b-256 8fc13330945884637983b862012d46d19d3b6e69ef5e9038d257927f3af79688

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp39-cp39-win32.whl.

File metadata

  • Download URL: smol-0.5.3-cp39-cp39-win32.whl
  • Upload date:
  • Size: 10.9 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for smol-0.5.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 01bf20b24c21c3cea51cc88566cf2bac5f94a945b22aa983911b4652ce25cc01
MD5 d33c5f1a3635fd886a67ea51699d5df1
BLAKE2b-256 5e8d7834ce0f4bc52a38c38db179d3d8b7e26527a4a9880322bba2ae6aaf1415

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3daccf3a4e3bcda110a4c954e82cacbaf89af8bfe84cb808936350727886ee8e
MD5 d291878601281b5373c9c27302c27169
BLAKE2b-256 58775d4cc1ec6068c82c3827388d04dbb41f1bc27f3d58b7c8b592e5d136e7b2

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 238a2e927412e49056974b093625587327d1d792e3e7ce384353e7fbd4f7cec2
MD5 ad0cc4f9acdfa512ec4611a3f91cf956
BLAKE2b-256 689cfa1a004efa746e6644d01c392ddf34d54a12f9eba4c4c2c53b738819a6b1

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 0557e2c82e3226857b5e714b408e199a804f661ef78f4ed5778d720febf04be7
MD5 f6719b543903f5db7e4305e848f5d772
BLAKE2b-256 277ba4b73d31b2c4f3ae9a0505d6b511a4befa49e861a3ba60f357564c89060c

See more details on using hashes here.

File details

Details for the file smol-0.5.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for smol-0.5.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8d3db626d99123864e21e821aca6fabb0d516966c232c6b98abb96eaf20fd4f3
MD5 360524b4c0cc7be3303473813bdc1ef8
BLAKE2b-256 f2f2c8e773324cb52847ee4d8b396422b9c0d34b6092f909fc386e95a0db7baa

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