castep_param_io/param/electro_min/
smearing_scheme.rs

1use castep_param_derive::KeywordDisplay;
2use serde::{Deserialize, Serialize};
3
4/// This keyword determines the Fermi-surface smearing scheme to be used if the system is being treated as a metal.
5/// Available options are:
6/// - Gaussian
7/// - GaussianSplines
8/// - FermiDirac
9/// - HermitePolynomials
10/// - ColdSmearing
11/// # Note
12/// This parameter is used only if FIX_OCCUPANCY : FALSE.
13/// # Default
14/// Gaussian
15/// # Example
16/// `SMEARING_SCHEME : ColdSmearing`
17#[derive(
18    Debug,
19    Clone,
20    Copy,
21    Hash,
22    PartialEq,
23    Eq,
24    PartialOrd,
25    Ord,
26    Serialize,
27    Deserialize,
28    Default,
29    KeywordDisplay,
30)]
31#[keyword_display(field = "SMEARING_SCHEME")]
32pub enum SmearingScheme {
33    #[default]
34    Gaussian,
35    GaussianSplines,
36    FermiDirac,
37    HermitePolynomials,
38    ColdSmearing,
39}