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}