castep_param_io/param/density_mixing_params/
mixing_scheme.rs

1use castep_param_derive::KeywordDisplay;
2use serde::{Deserialize, Serialize};
3
4/// This keyword determines which mixing scheme will be used in the density mixing
5/// procedure.
6/// Available options are:
7/// - Kerker
8/// - Linear
9/// - Broyden
10/// - Pulay
11/// # Default
12/// `Broyden`
13/// # Example
14/// `MIXING_SCHEME : Pulay`
15#[derive(
16    Debug,
17    Clone,
18    Copy,
19    PartialEq,
20    Eq,
21    PartialOrd,
22    Ord,
23    Hash,
24    Serialize,
25    Deserialize,
26    Default,
27    KeywordDisplay,
28)]
29#[keyword_display(field = "MIXING_SCHEME")]
30pub enum MixingScheme {
31    Kerker,
32    Linear,
33    #[default]
34    Broyden,
35    Pulay,
36}