1use gosh_core::*;
5
6use gchemol::prelude::*;
7use gchemol::{Atom, Molecule};
8
9mod ckpts;
13mod gaussian;
14mod gulp;
15mod mopac;
16mod null;
17mod siesta;
18mod vasp;
19
20mod parquet;
21
22mod common {
25 pub use gosh_core::gut::prelude::*;
26 pub use std::path::{Path, PathBuf};
27}
28
29use gosh_core::gut::prelude::*;
33use gosh_model::ModelProperties;
34use std::path::Path;
35
36pub trait ModelAdaptor {
38 fn parse_last<P: AsRef<Path>>(&self, _outfile: P) -> Result<ModelProperties>;
44
45 fn parse_all<P: AsRef<Path>>(&self, _outfile: P) -> Result<Vec<ModelProperties>>;
52}
53
54pub use crate::ckpts::Ckpts;
58pub use crate::gaussian::Gaussian;
59pub use crate::gulp::Gulp;
60pub use crate::mopac::Mopac;
61pub use crate::null::Null;
62pub use crate::siesta::Siesta;
63pub use crate::vasp::Vasp;
64
65pub use crate::parquet::WriteParquet;
69
70#[cfg(feature = "adhoc")]
74pub mod docs {
76 macro_rules! export_doc {
77 ($l:ident) => {
78 pub mod $l {
79 pub use crate::$l::*;
80 }
81 };
82 }
83
84 export_doc!(vasp);
85}