occ
Loading...
Searching...
No Matches
occ::driver Namespace Reference

Classes

struct  AssignedEnergy
 
class  CEModelCrystalGrowthCalculator
 
class  CrystalGrowthCalculator
 
struct  CrystalGrowthCalculatorOptions
 
struct  DMAConfig
 
class  DMADriver
 
class  DummyCrystalGrowthCalculator
 
struct  VibrationalAnalysisConfig
 Configuration options for vibrational frequency analysis. More...
 
class  XTBCrystalGrowthCalculator
 

Typedefs

using WavefunctionList = std::vector< Wavefunction >
 
using SolventNeighborContributionList = std::vector< cg::SolvationContribution >
 

Enumerations

enum class  WavefunctionChoice { GasPhase , Solvated }
 
enum class  MethodKind { HF , DFT , MP2 }
 

Functions

std::vector< AssignedEnergyassign_interaction_terms_to_nearest_neighbours (const crystal::CrystalDimers::MoleculeNeighbors &neighbors, const std::vector< double > &dimer_energies, double cg_radius)
 
std::vector< occ::Vec3calculate_net_dipole (const WavefunctionList &wavefunctions, const crystal::CrystalDimers &crystal_dimers)
 
qm::Wavefunction geometry_optimization (const io::OccInput &config)
 Perform geometry optimization.
 
std::pair< qm::Wavefunction, core::VibrationalModesgeometry_optimization_with_frequencies (const io::OccInput &config, bool run_frequencies=true)
 Perform geometry optimization with optional vibrational analysis.
 
qm::SpinorbitalKind determine_spinorbital_kind (const std::string &name, int multiplicity, MethodKind method_kind)
 
MethodKind method_kind_from_string (const std::string &name)
 
qm::Wavefunction single_point (const io::OccInput &)
 
qm::Wavefunction single_point (const io::OccInput &, const qm::Wavefunction &)
 
core::VibrationalModes vibrational_analysis (const io::OccInput &config, const qm::Wavefunction &wfn, const VibrationalAnalysisConfig &vib_config={})
 Perform vibrational frequency analysis on an optimized geometry.
 
core::VibrationalModes vibrational_analysis (const io::OccInput &config, const qm::Wavefunction &wfn)
 Convenience function for standard frequency analysis.
 

Typedef Documentation

◆ SolventNeighborContributionList

◆ WavefunctionList

using occ::driver::WavefunctionList = typedef std::vector<Wavefunction>

Enumeration Type Documentation

◆ MethodKind

enum class occ::driver::MethodKind
strong
Enumerator
HF 
DFT 
MP2 

◆ WavefunctionChoice

Enumerator
GasPhase 
Solvated 

Function Documentation

◆ assign_interaction_terms_to_nearest_neighbours()

std::vector< AssignedEnergy > occ::driver::assign_interaction_terms_to_nearest_neighbours ( const crystal::CrystalDimers::MoleculeNeighbors neighbors,
const std::vector< double > &  dimer_energies,
double  cg_radius 
)

◆ calculate_net_dipole()

std::vector< occ::Vec3 > occ::driver::calculate_net_dipole ( const WavefunctionList wavefunctions,
const crystal::CrystalDimers crystal_dimers 
)

◆ determine_spinorbital_kind()

qm::SpinorbitalKind occ::driver::determine_spinorbital_kind ( const std::string &  name,
int  multiplicity,
MethodKind  method_kind 
)
inline

◆ geometry_optimization()

qm::Wavefunction occ::driver::geometry_optimization ( const io::OccInput config)

Perform geometry optimization.

Parameters
configInput configuration
Returns
Optimized wavefunction

◆ geometry_optimization_with_frequencies()

std::pair< qm::Wavefunction, core::VibrationalModes > occ::driver::geometry_optimization_with_frequencies ( const io::OccInput config,
bool  run_frequencies = true 
)

Perform geometry optimization with optional vibrational analysis.

Parameters
configInput configuration
run_frequenciesIf true, compute vibrational frequencies after optimization
Returns
Pair of optimized wavefunction and vibrational modes (empty if not computed)

◆ method_kind_from_string()

MethodKind occ::driver::method_kind_from_string ( const std::string &  name)
inline

◆ single_point() [1/2]

qm::Wavefunction occ::driver::single_point ( const io::OccInput )

◆ single_point() [2/2]

qm::Wavefunction occ::driver::single_point ( const io::OccInput ,
const qm::Wavefunction  
)

◆ vibrational_analysis() [1/2]

core::VibrationalModes occ::driver::vibrational_analysis ( const io::OccInput config,
const qm::Wavefunction wfn 
)

Convenience function for standard frequency analysis.

Uses default settings optimized for most common use cases:

  • Finite differences with acoustic sum rule
  • Step size: 0.005 Bohr
  • No projection of translational/rotational modes
Parameters
configInput configuration from OCC input file
wfnConverged wavefunction from optimization or single point
Returns
VibrationalModes Complete vibrational analysis results

◆ vibrational_analysis() [2/2]

core::VibrationalModes occ::driver::vibrational_analysis ( const io::OccInput config,
const qm::Wavefunction wfn,
const VibrationalAnalysisConfig vib_config = {} 
)

Perform vibrational frequency analysis on an optimized geometry.

This function computes the molecular Hessian using finite differences and performs normal mode analysis to obtain vibrational frequencies. It can be called after geometry optimization to characterize the stationary point.

Parameters
configInput configuration from OCC input file
wfnConverged wavefunction from optimization or single point
vib_configConfiguration options for vibrational analysis
Returns
VibrationalModes Complete vibrational analysis results