icet — A Pythonic approach to cluster expansions¶
icet is a tool for the construction and sampling of alloy cluster expansions. It is written in Python, which enables easy integration with many 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++ ensuring performance while maintaining portability.
The following snippet provides a minimal example for its usage:
>>> cs = ClusterSpace(primitive_cell, cutoffs, species)
>>> sc = StructureContainer(cs)
>>> for structure, energy in zip(training_structures, energies):
... sc.add_structure(structure, properties={'energy': energy})
>>> opt = Optimizer(sc.get_fit_data())
>>> opt.train()
>>> ce = ClusterExpansion(cs, opt.parameters)
icet has been developed at the Department of Physics of Chalmers University of Technology (Gothenburg, Sweden) and the Data and Software Management Center at the European Spallation Source (Copenhagen, Denmark). Please consult the credits page for information on how to cite icet.
For questions and help please use the icet discussion forum on matsci.org. icet and its development are hosted on gitlab.
- Background
- Installation
- Tutorial
- FAQ
- Failing tests
- Does icet run on Linux/Mac/Windows?
- icet crashes with the error Failed to find site by position (findLatticeSiteByPosition)
- Does icet support 2D systems?
- Does icet support arbitrary point group symmetries?
- The SQS generator gives me a weird supercell
- The structure mapping function fails
- Credits