castep_param_io/param/electro_min/
max_cg_steps.rs1use castep_param_derive::KeywordDisplay;
2use serde::{Deserialize, Serialize};
3
4use super::ElectronicMinimizer;
5
6#[derive(
16 Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize, KeywordDisplay,
17)]
18#[keyword_display(field="MAX_CG_STEPS", from=u32,value=u32, default_value=4)]
19pub struct MaxCgSteps(u32);
20
21impl MaxCgSteps {
22 pub fn default_value(electronic_minimizer: ElectronicMinimizer) -> Self {
23 match electronic_minimizer {
24 ElectronicMinimizer::SD => Self(0),
25 ElectronicMinimizer::CG => Self(4),
26 }
27 }
28}