CASM file formats
These are quick links to descriptions of the most commonly used CASM project input and output files.
Note: A complete description of the CASM project directory structure with file locations is available here.
Name | Description | Format |
---|---|---|
basis.json |
Basis set information | Basis Set |
bspecs.json |
Basis set specifications | Basis Set Specs |
chemical_reference.json |
Chemical reference states | Chemical Reference |
clust.json |
Cluster orbits information | Cluster Orbits |
composition_axes.json |
Composition axes definitions | Composition Axes |
config.json |
Configuration DoF values | Configuration |
crystal_point_group.json |
Crystal point group information | Symmetry Group |
dof_space_<dof_type>.json |
DoF-space analysis information | DoF Space |
eci.json |
Basis set with effective cluster interaction (ECI) values | Basis Set |
factor_group.json |
Prim factor group information | Symmetry Group |
lattice_point_group.json |
Lattice point group information | Symmetry Group |
prim.json |
Primitive crystal structure and allowed degrees of freedom (DoF) | Prim |
project_settings.json |
Project settings | Project Settings |
properties.calc.json |
Structure information with calculated properties | Structure |
structure.json |
Structure information | Structure |
Additional documentation links
- CASM project directory structure
- JSON data formats
- Degrees of freedom (DoF) and properties
- Lattice canonical form
CASM Python packages
CASM v2+ transition
For CASM v2+, the large existing distributions CASMcode (for C++ code) and CASMpython (for Python code) are split into smaller distributions focused on particular topics. They are organized into two namespaces: libcasm
, for packages that include C++ implementations, and casm
, for pure Python packages.
Python namespace packages allow distributing subpackages seperately so a project may be split into smaller more focused efforts. For example, the CASM structure mapping package (libcasm.mapping) and the CASM cluster expansion Monte Carlo package (libcasm.clexmonte) can be developed and distributed separately. Each distribution package installs one or more Python namespace packages into the particular namespace.