Skip to content
First-principles statistical mechanical software for the study of multi-component crystalline solids
C++ Python M4 Shell Dockerfile Makefile
Branch: 0.3.X
Clone or download
Latest commit 1465dfe Jun 4, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
build-aux/m4 update with AX_CHECK_ZLIB Mar 9, 2018
conda-recipes casm-cpp conda packages are missing files. During 'conda build' on li… Sep 28, 2018
doc no latex docs [skip ci] Aug 10, 2018
docker travis tests using conda Jul 18, 2018
include Make C API calls to set PrimClex logging and call the capi using an e… Aug 20, 2018
man rename c++ executable 'casm'->'ccasm', to make way for python executa… Mar 1, 2018
python Fixed regex for removing brackets and quotes Jun 1, 2019
sample_input_files update test ZrO project monte carlo files Aug 13, 2016
src call signature caused assertion fail May 28, 2019
tests Touching the files, even if no changes, make git 'dirty… Aug 13, 2018
.gitignore add to .gitignore; reset .travis.yml Aug 13, 2018
.travis.yml add to .gitignore; reset .travis.yml Aug 13, 2018 avoid having to set some environment variables when they are not nece… Aug 24, 2018
LICENSE add apps, python packages, tests, sample input files, etc. Sep 21, 2015 remove old Aug 20, 2018 update documentation; add python pytest options control via build scr… Aug 9, 2018
astyle_options add apps, python packages, tests, sample input files, etc. Sep 21, 2015 Revert "remove automake" Sep 28, 2017 casm-cpp conda packages are missing files. During 'conda build' on li… Sep 27, 2018 save make output to file to avoid timeout; uncomment casm-python pack… Aug 9, 2018 force version update was not working Aug 21, 2018 force version update was not working Aug 21, 2018 update conda packaging scripts Aug 8, 2018 add -prune to clean up script to avoid 'no such file or directory' Aug 21, 2018 sort Makemodules Aug 13, 2018 Revert "remove automake" Sep 28, 2017 add rpath only where necessary Aug 23, 2018 Revert "remove automake" Sep 28, 2017 Revert "remove automake" Sep 28, 2017 add apps, python packages, tests, sample input files, etc. Sep 21, 2015 update conda packaging scripts Aug 8, 2018 working on travis osx tests and download a CASM test project from Mat… Jul 27, 2018

CASM: A Clusters Approach to Statistical Mechanics

CASM ( is an open source software package designed to perform first-principles statistical mechanical studies of multi-component crystalline solids. CASM interfaces with first-principles electronic structure codes, automates the construction and parameterization of effective Hamiltonians and subsequently builds highly optimized (kinetic) Monte Carlo codes to predict finite-temperature thermodynamic and kinetic properties. CASM uses group theoretic techniques that take full advantage of crystal symmetry in order to rigorously construct effective Hamiltonians for almost arbitrary degrees of freedom in crystalline solids. This includes cluster expansions for configurational disorder in multi-component solids and lattice-dynamical effective Hamiltonians for vibrational degrees of freedom involved in structural phase transitions.

This version of CASM supports:

  • Constructing, fitting, and evaluating cluster expansion effective Hamiltonians with:
    • Occupational degrees of freedom.
  • High-throughput calculations using:
  • Monte Carlo calculations using:
    • Semi-grand canonical ensemble
    • Canonical ensemble

CASM is updated frequently with support for new effective Hamiltonians, new interfaces for first-principles electronic structure codes, and new Monte Carlo methods. Collaboration is welcome and new features can be incorporated by forking the repository on GitHub, creating a new feature, and submitting pull requests. If you are interested in developing features that involve a significant time investment we encourage you to first contact the CASM development team at

CASM is currently beta software with very active development. Our goal is that the casm program interface, including file input and output formats, is mostly stable and backwards compatiblity will be taken into account as new features are added (though some breaking changes may occur as we learn from experience). The CASM library libcasm is much less stable and we anticipate significant changes will be incorporated in the near future.

Getting Started

Developers and Contributors:

CASM is developed by the Van der Ven group, originally at the University of Michigan and currently at the University of California Santa Barbara.

Lead developers: John C. Thomas and Brian Puchala

Developers: John Goiri and Anirudh Natarajan

Other contributors: Min-Hua Chen, Jonathon Bechtel, Max Radin, Elizabeth Decolvenaere, Anna Belak, Liang Tian, Naga Sri Harsha Gunda, Julija Vinckeviciute, Sanjeev Kolli


The development of CASM was made possible with support from:

  • The U.S. Department of Energy, Office of Basic Energy Sciences, Division of Materials Sciences and Engineering under Award #DE-SC0008637 that funds the PRedictive Integrated Structural Materials Science (PRISMS) Center at University of Michigan.

  • The National Science Foundation under Awards DMR-1410242, DMR-1105672 and DMR-1436154.


Contact the developers at

The CASM development team will periodically send email notifications regarding new releases, features, and bug fixes to the CASM users notification list. To join the list send an email to or visit to sign up.


GNU Lesser General Public License (LGPL). Please see the file LICENSE for details.

For Developers


You can’t perform that action at this time.