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}