#chemistry #castep #linear-algebra #3d-model #model-generator #computational-chem


The core module to parse, read, edit, and write 3D lattice models for castep and compatible with Materials Studio

16 releases

0.2.9 Jul 17, 2023
0.2.8 Jun 5, 2023
0.2.7 May 17, 2023
0.2.6 Feb 3, 2023
0.1.6 Nov 29, 2022

#22 in Data formats

Used in castep_model_generator_ba…

MIT license



This crate serves for the fundamentals of parsing/edit/exporting a 3D atomistic model for performing tasks in castep and compatible with Materials Studio. This is my project to study writing rust to handle practical problems and how the 3d atomistic data flows through castep and Materials Studio. The status of development is dependent on the needs and challenges I meet in my daily routine.



  • Abstract
    • Lattice vectors
    • Atom
      • element symbol
        • other information (provided by castep-periodic-table)
          • spin
          • lcao
          • used potential
          • mass
      • atomic number
      • cartesian coordinate
      • fractional coordinate
      • id
    • Bond (optional)
  • Concrete


The crate now supports reading from:

  1. .msi: the Cerius 2 format

The crate now supports writing to:

  1. .cell: the seed input file, containing the description of the lattice, atoms and necessary settings for running a castep task
  2. .msi

Generic programming is leveraged to handle the interactions and conversions between different formats.


  1. I/O of existing .msi format model files. However the format for atom parsing is strict for the moment.
  2. Edit atoms and lattice information in the model.
    1. Edit the element information, atom ID, xyz coordinates of target atom.
    2. Read/Write the lattice vectors.
  3. Geometry transformation of the model:
    1. Translation to desired positions
    2. Rotate by axis-angle definition.
  4. Export the seedfiles for CASTEP task, including:
    • *.cell - necessary file for CASTEP task. Can be visualized in many simple and lightweight model viewing software. E.g. VESTA.
    • *.trjaux, *.kptaux
    • *.param
    • *.msi - can be visualized in Materials Studio.
    • Copy potential files used for CASTEP standalone mode. (Potential files are not provided and included in this repository and library)
    • Miscellaneous files.
    • Auto-generation of a perl script to instruct the Materials Studio to generate .xsd from .msi.


~189K SLoC