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

quantum mechanics/quantum chemistry functionality including Hartree-Fock and more More...

Namespaces

namespace  block
 
namespace  cint
 
namespace  guess
 
namespace  impl
 
namespace  orb
 

Classes

class  AOBasis
 
class  CDIIS
 
class  EDIIS
 
struct  Energy
 
class  GradientEvaluator
 
class  HartreeFock
 
class  IntegralEngine
 
class  IntegralEngineDF
 
struct  JKPair
 
struct  JKTriple
 
struct  MolecularOrbitals
 
struct  Oniom
 
struct  OrbitalSmearing
 
struct  SCF
 
struct  SCFContext
 
struct  SCFConvergenceSettings
 
class  SCFMethodBase
 
struct  Shell
 
struct  Wavefunction
 

Concepts

concept  SCFMethod
 
concept  DensityFittingMethod
 
concept  PointChargeMethod
 

Typedefs

using PointChargeList = std::vector< occ::core::PointCharge >
 

Enumerations

enum  SpinorbitalKind { Restricted , Unrestricted , General }
 

Functions

void from_json (const nlohmann::json &J, Energy &energy)
 
void to_json (nlohmann::json &J, const Energy &energy)
 
Vec chelpg_charges (const Wavefunction &wfn)
 
template<SpinorbitalKind kind, typename TA >
TA::Scalar expectation (const TA &left, const TA &right)
 
template<typename TA >
TA::Scalar expectation (SpinorbitalKind sk, const TA &left, const TA &right)
 
std::pair< Mat, Vec > merge_molecular_orbitals (const Mat &, const Mat &, const Vec &, const Vec &, bool sort_by_energy=false)
 
AOBasis merge_basis_sets (const AOBasis &, const AOBasis &)
 
std::vector< occ::core::Atommerge_atoms (const std::vector< occ::core::Atom > &, const std::vector< occ::core::Atom > &)
 
Vec mulliken_partition (const AOBasis &basis, const MolecularOrbitals &mo, Eigen::Ref< const Mat > op)
 
void override_basis_set_directory (const std::string &s)
 
double gto_norm (int l, double alpha)
 
template<SpinorbitalKind sk, Shell::Kind kind>
Mat shellblock_norm (const AOBasis &basis, const Mat &matrix) noexcept
 
bool get_spinorbital_kind_from_string (const std::string &s, SpinorbitalKind &sk)
 
constexpr const char * spinorbital_kind_to_string (const SpinorbitalKind &sk)
 
template<SpinorbitalKind kind>
constexpr std::pair< size_t, size_t > matrix_dimensions (size_t nbf)
 
constexpr std::pair< size_t, size_t > matrix_dimensions (SpinorbitalKind kind, size_t nbf)
 

Variables

constexpr auto OCC_MINIMAL_BASIS = "sto-3g"
 
template<typename T >
constexpr bool is_scf_method_v = SCFMethod<T>
 
template<typename T >
constexpr bool supports_density_fitting_v = DensityFittingMethod<T>
 
template<typename T >
constexpr bool supports_point_charges_v = PointChargeMethod<T>
 

Detailed Description

quantum mechanics/quantum chemistry functionality including Hartree-Fock and more

Typedef Documentation

◆ PointChargeList

Enumeration Type Documentation

◆ SpinorbitalKind

Enumerator
Restricted 
Unrestricted 
General 

Function Documentation

◆ chelpg_charges()

Vec occ::qm::chelpg_charges ( const Wavefunction wfn)

◆ expectation() [1/2]

template<SpinorbitalKind kind, typename TA >
TA::Scalar occ::qm::expectation ( const TA &  left,
const TA &  right 
)

◆ expectation() [2/2]

template<typename TA >
TA::Scalar occ::qm::expectation ( SpinorbitalKind  sk,
const TA &  left,
const TA &  right 
)

◆ from_json()

void occ::qm::from_json ( const nlohmann::json &  J,
Energy energy 
)

◆ get_spinorbital_kind_from_string()

bool occ::qm::get_spinorbital_kind_from_string ( const std::string &  s,
SpinorbitalKind sk 
)
inline

◆ gto_norm()

double occ::qm::gto_norm ( int  l,
double  alpha 
)

◆ matrix_dimensions() [1/2]

template<SpinorbitalKind kind>
constexpr std::pair< size_t, size_t > occ::qm::matrix_dimensions ( size_t  nbf)
constexpr

◆ matrix_dimensions() [2/2]

constexpr std::pair< size_t, size_t > occ::qm::matrix_dimensions ( SpinorbitalKind  kind,
size_t  nbf 
)
inlineconstexpr

◆ merge_atoms()

std::vector< occ::core::Atom > occ::qm::merge_atoms ( const std::vector< occ::core::Atom > &  ,
const std::vector< occ::core::Atom > &   
)

◆ merge_basis_sets()

AOBasis occ::qm::merge_basis_sets ( const AOBasis ,
const AOBasis  
)

◆ merge_molecular_orbitals()

std::pair< Mat, Vec > occ::qm::merge_molecular_orbitals ( const Mat ,
const Mat ,
const Vec &  ,
const Vec &  ,
bool  sort_by_energy = false 
)

◆ mulliken_partition()

Vec occ::qm::mulliken_partition ( const AOBasis basis,
const MolecularOrbitals mo,
Eigen::Ref< const Mat op 
)

◆ override_basis_set_directory()

void occ::qm::override_basis_set_directory ( const std::string &  s)

◆ shellblock_norm()

template<SpinorbitalKind sk, Shell::Kind kind>
Mat occ::qm::shellblock_norm ( const AOBasis basis,
const Mat matrix 
)
inlinenoexcept

◆ spinorbital_kind_to_string()

constexpr const char * occ::qm::spinorbital_kind_to_string ( const SpinorbitalKind sk)
constexpr

◆ to_json()

void occ::qm::to_json ( nlohmann::json &  J,
const Energy energy 
)

Variable Documentation

◆ is_scf_method_v

template<typename T >
constexpr bool occ::qm::is_scf_method_v = SCFMethod<T>
constexpr

◆ OCC_MINIMAL_BASIS

constexpr auto occ::qm::OCC_MINIMAL_BASIS = "sto-3g"
constexpr

◆ supports_density_fitting_v

template<typename T >
constexpr bool occ::qm::supports_density_fitting_v = DensityFittingMethod<T>
constexpr

◆ supports_point_charges_v

template<typename T >
constexpr bool occ::qm::supports_point_charges_v = PointChargeMethod<T>
constexpr