pub struct CustomInterface {
config: CustomInterfaceConfig,
energy_regex: Regex,
forces_regex: Option<Regex>,
}Expand description
Custom QM interface that reads configuration from JSON
Fields§
§config: CustomInterfaceConfig§energy_regex: Regex§forces_regex: Option<Regex>Implementations§
Source§impl CustomInterface
impl CustomInterface
Sourcepub fn from_file(config_path: &Path) -> Result<Self, QMError>
pub fn from_file(config_path: &Path) -> Result<Self, QMError>
Creates a new CustomInterface by loading configuration from a JSON file.
This function reads a JSON configuration file that defines how to interact with a custom quantum chemistry program. The configuration includes:
- Program command
- Input file template with placeholders
- Output file extension
- Regular expressions for parsing energy and forces
§Arguments
config_path- Path to the JSON configuration file
§Returns
Returns a Result containing:
Ok(Self)- Successfully createdCustomInterfaceErr(QMError::Parse)- Failed to read or parse the configuration file
§Examples
use omecp::qm_interface::CustomInterface;
use std::path::Path;
let custom_interface = CustomInterface::from_file(Path::new("my_qm_config.json"))?;Trait Implementations§
Source§impl QMInterface for CustomInterface
impl QMInterface for CustomInterface
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 CustomInterface
impl RefUnwindSafe for CustomInterface
impl Send for CustomInterface
impl Sync for CustomInterface
impl Unpin for CustomInterface
impl UnsafeUnpin for CustomInterface
impl UnwindSafe for CustomInterface
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.