castep_cell_io/cell_document/params/options/general/task.rs
1use std::fmt::Display;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
4pub enum CastepTask {
5 BandStructure, // calculates band structure properties.
6 GeometryOptimization, // searches for a minimum energy structure.
7 // TODO: Future
8 // SinglePoint, // performs a single-point energy calculation.
9 // MolecularDynamics, // performs a molecular dynamics calculation.
10 // Optics, // calculates optical properties.
11 // Phonon, // performs a linear response calculation to determine phonon frequencies and eigenvectors.
12 // Efield, // performs an electric field linear response calculation to determine dielectric permittivity and polarizability.
13 // PhononEfield, // performs a linear response calculation to determine phonon frequencies and eigenvectors, and an electric field linear response calculation to determine dielectric permittivity and polarizability.
14 // TransitionStateSearch, // performs a transition-state search.
15 // MagRes, // performs an NMR calculation.
16 // Elnes, // performs core level spectroscopy calculation.
17 // ElectronicSpectroscopy, // performs electronic spectroscopy calculation.
18 // Autosolvation, // performs a free energy of solvation calculation.
19}
20
21impl Display for CastepTask {
22 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
23 match self {
24 CastepTask::BandStructure => f.write_str("BandStructure"),
25 CastepTask::GeometryOptimization => f.write_str("GeometryOptimization"),
26 }
27 }
28}