dftd3/lib.rs
1/*!
2
3# DFTD3 API specification document entrance
4
5For API users, the most important part of this crate is the [`interface`]
6module. The commonly used functions and structs can be
7
8- [`DFTD3Model`](interface::DFTD3Model): serve as main driver struct for DFTD3.
9- [`dftd3_load_param`](interface::dftd3_load_param): load parameters with xc-functional and DFT-D3 version specified.
10
11To specify custom DFT-D3 parameters, some structs you may interest.
12
13- [`DFTD3RationalDampingParam`](interface::DFTD3RationalDampingParam) for rational damping;
14- [`DFTD3ZeroDampingParam`](interface::DFTD3ZeroDampingParam) for zero damping;
15- [`DFTD3ModifiedRationalDampingParam`](interface::DFTD3ModifiedRationalDampingParam) for modified rational damping;
16- [`DFTD3ModifiedZeroDampingParam`](interface::DFTD3ModifiedZeroDampingParam) for modified zero damping;
17- [`DFTD3OptimizedPowerDampingParam`](interface::DFTD3OptimizedPowerDampingParam) for optimized power damping.
18
19You may also check [`DFTD3Param`](interface::DFTD3Param), but note that this struct is somehow low-level API, so use it with more care.
20
21*/
22#![doc = include_str!("../readme.md")]
23
24pub mod ffi;
25pub mod interface;
26
27#[cfg(feature = "gcp")]
28pub mod interface_gcp;
29
30pub mod prelude {
31 //! Use `dftd3::prelude::*` to import all the commonly used structs and
32 //! functions.
33 pub use crate::interface::*;
34
35 #[cfg(feature = "gcp")]
36 pub use crate::interface_gcp::*;
37}