Skip to main content

A Pythonic approach to cluster expansions

Project description

icet is a tool for the construction and sampling of alloy cluster expansions. A detailed description of the functionality provided as well as an extensive tutorial can be found in the user guide.

icet is written in Python, which allows easy integration with countless first-principles codes and analysis tools accessible from Python, and allows for a simple and intuitive user interface. All computationally demanding parts are, however, written in C++ providing performance while maintaining portability. The following snippet illustrates how one can train a cluster expansion:

cs = ClusterSpace(primitive_cell, cutoffs, species)
sc = StructureContainer(cs)
for structure in training_structures:
    sc.add_structure(structure)
opt = Optimizer(sc.get_fit_data())
opt.train()
ce = ClusterExpansion(cs, opt.parameters)

Afterwards the cluster expansion can be used, e.g., for finding ground state structures, or sampled via Monte Carlo simulations.

Installation

icet can be installed using pip as follows:

pip3 install icet --user

or alternatively:

python3 -m pip install icet --user

Installation requires a C++11 compliant compiler. Please consult the installation section of the user guide for details.

icet is based on Python3 and invokes functionality from other Python libraries including ase, pandas, numpy, scipy, scitkit-learn, and spglib.

Credits

icet has been developed at Chalmers University of Technology in Gothenburg (Sweden) in the Materials and Surface Theory division at the Department of Physics, in collaboration with the Data Analysis group at the Data Management and Software Center of the European Spallation Source in Copenhagen (Denmark).

When using icet in your research please cite

M. Ångqvist, W. A. Muñoz, J. M. Rahm, E. Fransson, C. Durniak, P. Rozyczko, T. H. Rod, and P. Erhart
ICET – A Python Library for Constructing and Sampling Alloy Cluster Expansions
Adv. Theory. Sim., 1900015 (2019)

Also consult the Credits page of the documentation for additional references.

icet and its development are hosted on gitlab. Bugs and feature requests are ideally submitted via the gitlab issue tracker. The development team can also be reached by email via icet@materialsmodeling.org.

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

icet-1.3.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

icet-1.3-py3.6-linux-x86_64.egg (8.9 MB view details)

Uploaded Source

File details

Details for the file icet-1.3.tar.gz.

File metadata

  • Download URL: icet-1.3.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.2

File hashes

Hashes for icet-1.3.tar.gz
Algorithm Hash digest
SHA256 51bb1d7412beaebaf7bc7f80e801c573b53c04f90da9e8df254b633e491cd4ab
MD5 bf6c59001f68fb5169fdf06a927ef538
BLAKE2b-256 9b7eaad1eefda354478fc30bd452ba1fb536e909184a5a696c52056c33f66da5

See more details on using hashes here.

File details

Details for the file icet-1.3-py3.6-linux-x86_64.egg.

File metadata

  • Download URL: icet-1.3-py3.6-linux-x86_64.egg
  • Upload date:
  • Size: 8.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for icet-1.3-py3.6-linux-x86_64.egg
Algorithm Hash digest
SHA256 0708cf9dcc8572b045e9586616972f8565f41d53ea01fac49b6cc5a25d6cb5ae
MD5 ead7886032d8a316d836b07d85ee6fab
BLAKE2b-256 856a1ec764c1d84f040f9463578a45d2e786589e4d45f21cf6939e219cc58387

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