occ
Loading...
Searching...
No Matches
occ::xtb::ExternalXtbCalculator Class Reference

External-process GFN1/GFN2 driver: shells out to an xtb binary and exchanges geometry/energy via fixed-name files in the current working directory. More...

#include <xtb_wrapper.h>

Public Types

enum class  Method { GFN1 , GFN2 }
 

Public Member Functions

 ExternalXtbCalculator (const occ::core::Molecule &mol)
 
 ExternalXtbCalculator (const occ::core::Dimer &dimer)
 
 ExternalXtbCalculator (const occ::core::Molecule &mol, Method method)
 
 ExternalXtbCalculator (const occ::core::Dimer &dimer, Method method)
 
 ExternalXtbCalculator (const occ::crystal::Crystal &crystal)
 
 ExternalXtbCalculator (const occ::crystal::Crystal &crystal, Method method)
 
double single_point_energy ()
 
const auto & positions () const
 
const auto & lattice_vectors () const
 
const auto & virial () const
 
const auto & gradients () const
 
const auto & partial_charges () const
 
void set_charge (double c)
 
void set_num_unpaired_electrons (int n)
 
void set_accuracy (double accuracy)
 
void set_max_iterations (int iterations)
 
void set_temperature (double temp)
 
void set_mixer_damping (double damping_factor)
 
Vec charges () const
 
Mat bond_orders () const
 
int num_atoms () const
 
void update_structure (const Mat3N &positions)
 
void update_structure (const Mat3N &positions, const Mat3 &lattice)
 
void set_solvent (const std::string &solvent_name)
 
void set_solvation_model (const std::string &)
 
occ::crystal::Crystal to_crystal () const
 
occ::core::Molecule to_molecule () const
 

Detailed Description

External-process GFN1/GFN2 driver: shells out to an xtb binary and exchanges geometry/energy via fixed-name files in the current working directory.

Warning
Not safe for parallel use (the fixed file names race across threads) and requires xtb on PATH. Prefer the in-process XtbCalculator (xtb_calculator.h); this class is retained for validation against a reference xtb binary.

Member Enumeration Documentation

◆ Method

Enumerator
GFN1 
GFN2 

Constructor & Destructor Documentation

◆ ExternalXtbCalculator() [1/6]

occ::xtb::ExternalXtbCalculator::ExternalXtbCalculator ( const occ::core::Molecule mol)

◆ ExternalXtbCalculator() [2/6]

occ::xtb::ExternalXtbCalculator::ExternalXtbCalculator ( const occ::core::Dimer dimer)

◆ ExternalXtbCalculator() [3/6]

occ::xtb::ExternalXtbCalculator::ExternalXtbCalculator ( const occ::core::Molecule mol,
Method  method 
)

◆ ExternalXtbCalculator() [4/6]

occ::xtb::ExternalXtbCalculator::ExternalXtbCalculator ( const occ::core::Dimer dimer,
Method  method 
)

◆ ExternalXtbCalculator() [5/6]

occ::xtb::ExternalXtbCalculator::ExternalXtbCalculator ( const occ::crystal::Crystal crystal)

◆ ExternalXtbCalculator() [6/6]

occ::xtb::ExternalXtbCalculator::ExternalXtbCalculator ( const occ::crystal::Crystal crystal,
Method  method 
)

Member Function Documentation

◆ bond_orders()

Mat occ::xtb::ExternalXtbCalculator::bond_orders ( ) const

◆ charges()

Vec occ::xtb::ExternalXtbCalculator::charges ( ) const

◆ gradients()

const auto & occ::xtb::ExternalXtbCalculator::gradients ( ) const
inline

◆ lattice_vectors()

const auto & occ::xtb::ExternalXtbCalculator::lattice_vectors ( ) const
inline

◆ num_atoms()

int occ::xtb::ExternalXtbCalculator::num_atoms ( ) const
inline

◆ partial_charges()

const auto & occ::xtb::ExternalXtbCalculator::partial_charges ( ) const
inline

◆ positions()

const auto & occ::xtb::ExternalXtbCalculator::positions ( ) const
inline

◆ set_accuracy()

void occ::xtb::ExternalXtbCalculator::set_accuracy ( double  accuracy)

◆ set_charge()

void occ::xtb::ExternalXtbCalculator::set_charge ( double  c)

◆ set_max_iterations()

void occ::xtb::ExternalXtbCalculator::set_max_iterations ( int  iterations)

◆ set_mixer_damping()

void occ::xtb::ExternalXtbCalculator::set_mixer_damping ( double  damping_factor)

◆ set_num_unpaired_electrons()

void occ::xtb::ExternalXtbCalculator::set_num_unpaired_electrons ( int  n)

◆ set_solvation_model()

void occ::xtb::ExternalXtbCalculator::set_solvation_model ( const std::string &  )

◆ set_solvent()

void occ::xtb::ExternalXtbCalculator::set_solvent ( const std::string &  solvent_name)

◆ set_temperature()

void occ::xtb::ExternalXtbCalculator::set_temperature ( double  temp)

◆ single_point_energy()

double occ::xtb::ExternalXtbCalculator::single_point_energy ( )

◆ to_crystal()

occ::crystal::Crystal occ::xtb::ExternalXtbCalculator::to_crystal ( ) const

◆ to_molecule()

occ::core::Molecule occ::xtb::ExternalXtbCalculator::to_molecule ( ) const

◆ update_structure() [1/2]

void occ::xtb::ExternalXtbCalculator::update_structure ( const Mat3N positions)

◆ update_structure() [2/2]

void occ::xtb::ExternalXtbCalculator::update_structure ( const Mat3N positions,
const Mat3 lattice 
)

◆ virial()

const auto & occ::xtb::ExternalXtbCalculator::virial ( ) const
inline

The documentation for this class was generated from the following file: