Welcome to CELL's documentation!

A python package for building Cluster Expansion models of simple and complex alloys and performing thermodynamical analyses of materials.

Learn more


Learn how to use CELL through guided examples which can be downloaded as jupyter notebooks

Tutorials »


Complete documentation of the modules and classes of the CELL package automatically generated from the code

Modules »


Take a look at the various system types which can be treated with CELL in the image gallery

Gallery »


CELL is a python package which implements the cluster expansion method for alloy materials. CELL can be applied to a broad variety of cases, covering one, two and three dimensional materials, as well as multicomponent and multilattice systems. Most notably, it is capable of dealing with materials with complex primitive cells comprising several (>30) atoms.

The user interface consists of python modules and classes which allow to perform cluster expansions in a diversity of contexts. This is illustrated by a number of examples ranging from simple to more involved workflows built with the provided interface.

The most basic element in CELL is the parent lattice. Parent lattices are objects of the ParentLattice class. This basic class inherits from the Atoms object of the Atomic Simulation Environment (ASE). Thus, much of the usefulness of Atoms objects is available in CELL objects, as for instance the creation of JSON structure databases for visualization with ASE’s gui and the interfaces to different ab initio codes.

Indices and tables