edip/lib.rs
1// [[file:../edip.note::c5791ec5][c5791ec5]]
2//! # Literature
3//!
4//! - <http://www-math.mit.edu/~bazant/EDIP>
5//!
6//! - M.Z. Bazant & E. Kaxiras: Modeling of Covalent Bonding in Solids by
7//! Inversion of Cohesive Energy Curves; Phys. Rev. Lett. 77, 4370 (1996)
8//!
9//! - M.Z. Bazant, E. Kaxiras and J.F. Justo: Environment-dependent interatomic
10//! potential for bulk silicon; Phys. Rev. B 56, 8542-8552 (1997)
11// c5791ec5 ends here
12
13// [[file:../edip.note::1141962a][1141962a]]
14//#![deny(warnings)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17
18use gut::prelude::*;
19
20type Array3 = [f64; 3];
21// 1141962a ends here
22
23// [[file:../edip.note::1ace2574][1ace2574]]
24mod edip;
25// 1ace2574 ends here
26
27// [[file:../edip.note::f46cb3ad][f46cb3ad]]
28/* EDIP Si PARAMETERS Justo et al., Phys. Rev. B 58, 2539 (1998).
29
30 5.6714030 2.0002804 1.2085196 3.1213820 0.5774108
31 1.4533108 1.1247945 3.1213820 2.5609104 78.7590539
32 0.6966326 312.1341346 1.4074424 0.0070975 3.1083847
33
34connection between these parameters and Justo et al., Phys. Rev. B 58, 2539 (1998):
35
36A((B/r)**rh-palp*exp(-bet*Z*Z)) = A'((B'/r)**rh-exp(-bet*Z*Z))
37
38so in the paper (')
39A' = A*palp
40B' = B * palp**(-1/rh)
41eta = detla/Qo
42*/
43
44// tau(Z) (Ismail & Kaxiras, 1993)
45const u1: f64 = -0.165799;
46const u2: f64 = 32.557;
47const u3: f64 = 0.286198;
48const u4: f64 = 0.66;
49
50/// Parameters for EDIP
51#[derive(Debug, Copy, Clone)]
52pub struct EdipParameters {
53 A: f64,
54 B: f64,
55 rh: f64,
56 a: f64,
57 sig: f64,
58 lam: f64,
59 gam: f64,
60 b: f64,
61 c: f64,
62 mu: f64,
63 Qo: f64,
64 bet: f64,
65 alp: f64,
66 /// cutoff for g(r)
67 bg: f64,
68 /// justo prefactor for bond order
69 palp: f64,
70 eta: f64,
71}
72
73impl EdipParameters {
74 /// EDIP-Si Parameters
75 pub fn silicon() -> Self {
76 let A = 5.6714030;
77 let B = 2.0002804;
78 let rh = 1.2085196;
79 let a = 3.1213820;
80 let sig = 0.5774108;
81 let lam = 1.4533108;
82 let gam = 1.1247945;
83 let b = 3.1213820;
84 let c = 2.5609104;
85 let delta = 78.7590539;
86 let mu = 0.6966326;
87 let Qo = 312.1341346;
88 let palp = 1.4074424;
89 let bet = 0.0070975;
90 let alp = 3.1083847;
91
92 Self {
93 A,
94 B,
95 rh,
96 a,
97 sig,
98 lam,
99 gam,
100 b,
101 c,
102 mu,
103 Qo,
104 palp,
105 bet,
106 alp,
107 bg: a,
108 eta: delta / Qo,
109 }
110 }
111}
112// f46cb3ad ends here
113
114// [[file:../edip.note::3d96dcdb][3d96dcdb]]
115pub use crate::edip::*;
116// 3d96dcdb ends here