occ
Loading...
Searching...
No Matches
occ::driver::Wavefunction Struct Reference

#include <wavefunction.h>

Collaboration diagram for occ::driver::Wavefunction:
[legend]

Public Member Functions

 Wavefunction ()
 Wavefunction (const FchkReader &)
 Wavefunction (const MoldenReader &)
 Wavefunction (const OrcaJSONReader &)
 Wavefunction (const Wavefunction &wfn_a, const Wavefunction &wfn_b)
int multiplicity () const
int charge () const
Vec nuclear_charges () const
Vec nuclear_charges (const IVec &nums) const
int n_alpha () const
int n_beta () const
bool is_restricted () const
void set_molecular_orbitals (const FchkReader &fchk)
void compute_density_matrix ()
void symmetric_orthonormalize_molecular_orbitals (const Mat &overlap)
void apply_transformation (const occ::Mat3 &, const occ::Vec3 &)
void apply_rotation (const occ::Mat3 &)
void apply_translation (const occ::Vec3 &)
occ::Mat3N positions () const
occ::IVec atomic_numbers () const
Vec mulliken_charges () const
Vec lowdin_charges () const
 Löwdin charges, from the diagonal of S^½ P S^½.
Mat mayer_bond_orders () const
 Mayer bond orders B_AB = 2 Σ_{μ∈A,ν∈B} Σ_σ (P^σ S)_μν (P^σ S)_νμ, atoms × atoms with a zero diagonal.
Mat overlap_matrix () const
Vec electron_density (const Mat3N &points, SpinComponent spin=SpinComponent::Total) const
Mat3N electron_density_gradient (const Mat3N &points) const
Vec electron_density_mo (const Mat3N &points, int mo_index) const
Vec mo_amplitude (const Mat3N &points, int mo_index, SpinComponent spin=SpinComponent::Total) const
 Signed amplitude psi_i(r) of MO i (0-based) at each point, in bohr^-3/2.
Mat3N electron_density_mo_gradient (const Mat3N &points, int mo_index) const
Vec electric_potential (const Mat3N &points) const
 ESP at points (bohr).
Vec xtb_electric_potential (const Mat3N &points) const
 Point-multipole ESP from the xTB atomic charges and, when present, the CAMM dipoles and quadrupoles, with GFN2's damping of the dipole and quadrupole terms when the radii are stored.
Mat3N electric_field (const Mat3N &points) const
void save (FchkWriter &)
bool save (const std::string &filename)

Static Public Member Functions

static Wavefunction load (const std::string &)
static bool is_likely_wavefunction_filename (const std::string &)

Public Attributes

std::string method {"SCF"}
int num_electrons {0}
int num_frozen_electrons {0}
AOBasis basis
size_t nbf {0}
std::vector< occ::core::Atom > atoms
MolecularOrbitals mo
Mat T
Mat V
Mat H
Mat J
Mat K
Mat Vecp
Energy energy
bool have_energies {false}
bool have_xdm_parameters {false}
Vec xdm_polarizabilities
Mat xdm_moments
Vec xdm_volumes
Vec xdm_free_volumes
double xdm_energy {0.0}
bool have_xtb_data {false}
double xtb_scc_energy {0.0}
double xtb_repulsion_energy {0.0}
double xtb_dispersion_energy {0.0}
Vec xtb_atomic_charges
Mat3N xtb_atomic_dipoles
Mat xtb_atomic_quadrupoles
Vec xtb_multipole_radii
std::array< double, 2 > xtb_multipole_damping_exponents {3.0, 4.0}
bool xtb_converged {false}
int xtb_n_iterations {0}
bool have_correlation_data {false}
double scf_reference_energy {0.0}
double correlation_energy {0.0}
double mp2_same_spin_energy {0.0}
double mp2_opposite_spin_energy {0.0}
double ccsd_correlation_energy {0.0}
double triples_correction {0.0}
bool converged {true}
 Whether the SCF that produced these orbitals converged.

Constructor & Destructor Documentation

◆ Wavefunction() [1/5]

◆ Wavefunction() [2/5]

◆ Wavefunction() [3/5]

◆ Wavefunction() [4/5]

◆ Wavefunction() [5/5]

occ::qm::Wavefunction::Wavefunction ( const Wavefunction & wfn_a,
const Wavefunction & wfn_b )

Member Function Documentation

◆ apply_rotation()

◆ apply_transformation()

◆ apply_translation()

◆ atomic_numbers()

◆ charge()

int occ::qm::Wavefunction::charge ( ) const
inline

◆ compute_density_matrix()

◆ electric_field()

◆ electric_potential()

ESP at points (bohr).

For a GFN2-xTB wavefunction this is GFN2's own electrostatic model, see xtb_electric_potential.

◆ electron_density()

◆ electron_density_gradient()

◆ electron_density_mo()

Vec occ::qm::Wavefunction::electron_density_mo ( const Mat3N & points,
int mo_index ) const

◆ electron_density_mo_gradient()

Mat3N occ::qm::Wavefunction::electron_density_mo_gradient ( const Mat3N & points,
int mo_index ) const

◆ is_likely_wavefunction_filename()

bool occ::qm::Wavefunction::is_likely_wavefunction_filename ( const std::string & )
static

◆ is_restricted()

bool occ::qm::Wavefunction::is_restricted ( ) const
inline

◆ load()

Wavefunction occ::qm::Wavefunction::load ( const std::string & )
static

◆ lowdin_charges()

Löwdin charges, from the diagonal of S^½ P S^½.

◆ mayer_bond_orders()

Mayer bond orders B_AB = 2 Σ_{μ∈A,ν∈B} Σ_σ (P^σ S)_μν (P^σ S)_νμ, atoms × atoms with a zero diagonal.

Restricted and unrestricted only.

◆ mo_amplitude()

Vec occ::qm::Wavefunction::mo_amplitude ( const Mat3N & points,
int mo_index,
SpinComponent spin = SpinComponent::Total ) const

Signed amplitude psi_i(r) of MO i (0-based) at each point, in bohr^-3/2.

The overall sign of an orbital is arbitrary. For unrestricted wavefunctions spin must be Alpha or Beta.

◆ mulliken_charges()

◆ multiplicity()

◆ n_alpha()

int occ::qm::Wavefunction::n_alpha ( ) const
inline

◆ n_beta()

int occ::qm::Wavefunction::n_beta ( ) const
inline

◆ nuclear_charges() [1/2]

◆ nuclear_charges() [2/2]

Vec occ::qm::Wavefunction::nuclear_charges ( const IVec & nums) const
inline

◆ overlap_matrix()

◆ positions()

◆ save() [1/2]

bool occ::qm::Wavefunction::save ( const std::string & filename)

◆ save() [2/2]

◆ set_molecular_orbitals()

◆ symmetric_orthonormalize_molecular_orbitals()

◆ xtb_electric_potential()

Point-multipole ESP from the xTB atomic charges and, when present, the CAMM dipoles and quadrupoles, with GFN2's damping of the dipole and quadrupole terms when the radii are stored.

Requires have_xtb_data.

Member Data Documentation

◆ atoms

◆ basis

◆ ccsd_correlation_energy

◆ converged

Whether the SCF that produced these orbitals converged.

Anything derived from an unconverged density is meaningless.

◆ correlation_energy

◆ energy

◆ H

◆ have_correlation_data

◆ have_energies

◆ have_xdm_parameters

◆ have_xtb_data

◆ J

◆ K

◆ method

std::string occ::qm::Wavefunction::method {"SCF"}

◆ mo

MolecularOrbitals occ::qm::Wavefunction::mo

◆ mp2_opposite_spin_energy

◆ mp2_same_spin_energy

◆ nbf

◆ num_electrons

◆ num_frozen_electrons

◆ scf_reference_energy

◆ T

◆ triples_correction

◆ V

◆ Vecp

◆ xdm_energy

◆ xdm_free_volumes

◆ xdm_moments

◆ xdm_polarizabilities

◆ xdm_volumes

◆ xtb_atomic_charges

◆ xtb_atomic_dipoles

◆ xtb_atomic_quadrupoles

◆ xtb_converged

◆ xtb_dispersion_energy

◆ xtb_multipole_damping_exponents

◆ xtb_multipole_radii

◆ xtb_n_iterations

◆ xtb_repulsion_energy

◆ xtb_scc_energy


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