pub struct BagelInterface {
pub command: String,
pub model_template: String,
}Expand description
BAGEL quantum chemistry program interface.
Provides support for BAGEL calculations including:
- CASSCF and MRCI methods
- JSON-based input files
- Parsing energies and forces from BAGEL output
§Examples
use omecp::qm_interface::BagelInterface;
// Create interface with BAGEL
let bagel = BagelInterface::new(
"bagel".to_string(),
"{\"job\":{\"method\":\"caspt2\"}}".to_string(),
);Fields§
§command: StringBAGEL executable command (e.g., “bagel”, “/path/to/bagel”)
model_template: StringJSON template for BAGEL input (geometry placeholder will be replaced)
Implementations§
Source§impl BagelInterface
impl BagelInterface
Sourcepub fn new(command: String, model_template: String) -> Self
pub fn new(command: String, model_template: String) -> Self
Creates a new BAGEL interface.
§Arguments
command- BAGEL executable command (e.g., “bagel”, “/path/to/bagel”)model_template- JSON string for BAGEL input, with “geometry” placeholder
§Examples
use omecp::qm_interface::BagelInterface;
let bagel = BagelInterface::new(
"bagel".to_string(),
"{\"job\":{\"method\":\"caspt2\"}}".to_string(),
);Trait Implementations§
Source§impl QMInterface for BagelInterface
impl QMInterface for BagelInterface
Source§fn write_input(
&self,
geom: &Geometry,
_header: &str,
_tail: &str,
path: &Path,
) -> Result<(), QMError>
fn write_input( &self, geom: &Geometry, _header: &str, _tail: &str, path: &Path, ) -> Result<(), QMError>
Writes a calculation input file for the quantum chemistry program. Read more
Auto Trait Implementations§
impl Freeze for BagelInterface
impl RefUnwindSafe for BagelInterface
impl Send for BagelInterface
impl Sync for BagelInterface
impl Unpin for BagelInterface
impl UnsafeUnpin for BagelInterface
impl UnwindSafe for BagelInterface
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.