pub struct GaussianInterface {
pub command: String,
pub mp2: bool,
}Expand description
Gaussian quantum chemistry program interface.
Provides support for Gaussian calculations including:
- DFT, TD-DFT, MP2, and post-HF methods
- Excited state calculations via TD-DFT
- Checkpoint files for wavefunction continuity
- Both energy-only and gradient calculations
§Examples
use omecp::qm_interface::GaussianInterface;
use std::path::Path;
// Create interface with Gaussian 16
let gaussian = GaussianInterface::new("g16".to_string(), false);
// Create interface with MP2 enabled
let gaussian_mp2 = GaussianInterface::new("g16".to_string(), true);Fields§
§command: StringGaussian command to execute (e.g., “g16”, “g09”, “gview”)
mp2: boolEnable MP2 energy extraction from checkpoint archive
Implementations§
Source§impl GaussianInterface
impl GaussianInterface
Sourcepub fn new(command: String, mp2: bool) -> Self
pub fn new(command: String, mp2: bool) -> Self
Creates a new Gaussian interface.
§Arguments
command- Gaussian executable command (e.g., “g16”, “/path/to/g16”)mp2- If true, extracts MP2 energy from checkpoint archive instead of SCF
§Examples
use omecp::qm_interface::GaussianInterface;
// Standard DFT calculation
let g16 = GaussianInterface::new("g16".to_string(), false);
// MP2 calculation
let g16_mp2 = GaussianInterface::new("g16".to_string(), true);Trait Implementations§
Source§impl QMInterface for GaussianInterface
impl QMInterface for GaussianInterface
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 GaussianInterface
impl RefUnwindSafe for GaussianInterface
impl Send for GaussianInterface
impl Sync for GaussianInterface
impl Unpin for GaussianInterface
impl UnsafeUnpin for GaussianInterface
impl UnwindSafe for GaussianInterface
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.