castep_param_io/param/geom_opt/
geom_modulus_est.rs

1use castep_param_derive::KeywordDisplayStruct;
2use derive_builder::Builder;
3use serde::{Deserialize, Serialize};
4
5use crate::param::PressureUnit;
6
7#[derive(
8    Debug, Clone, Copy, PartialEq, PartialOrd, Serialize, Deserialize, KeywordDisplayStruct, Builder,
9)]
10#[builder(setter(into, strip_option), default)]
11#[keyword_display(field = "GEOM_MODULUS_EST", display_format = "{:20.15} {}", from=f64,default_value=500.0)]
12/// This keyword provides an estimate of the bulk modulus of the system.
13/// It is used to initialize the Hessian for BFGS geometry optimization with
14/// cell relaxation.
15/// # Default
16/// 500.0 GPa
17/// # Example
18/// `GEOM_MODULUS_EST : 125.4 GPa`
19pub struct GeomModulusEst {
20    tol: f64,
21    #[keyword_display(is_option = true)]
22    unit: Option<PressureUnit>,
23}