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
- other information (provided by
- atomic number
- cartesian coordinate
- fractional coordinate
- id
- element symbol
- Bond (optional)
- Concrete
msi
cell
The crate now supports reading from:
.msi
: the Cerius 2 format
The crate now supports writing to:
.cell
: the seed input file, containing the description of the lattice, atoms and necessary settings for running acastep
task.msi
Generic programming is leveraged to handle the interactions and conversions between different formats.
- I/O of existing
.msi
format model files. However the format for atom parsing is strict for the moment. - Edit atoms and lattice information in the model.
- Edit the element information, atom ID, xyz coordinates of target atom.
- Read/Write the lattice vectors.
- Geometry transformation of the model:
- Translation to desired positions
- Rotate by axis-angle definition.
- Export the seedfiles for
CASTEP
task, including:*.cell
- necessary file forCASTEP
task. Can be visualized in many simple and lightweight model viewing software. E.g.VESTA
.*.trjaux
,*.kptaux
*.param
*.msi
- can be visualized inMaterials 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 theMaterials Studio
to generate.xsd
from.msi
.