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}