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

evaluation Gaussian-type orbitals, their derivatives etc. More...

Namespaces

namespace  basis_sets
 
namespace  io
 

Classes

class  AOBasis
 
struct  GTOValues
 
struct  Momenta
 
struct  MomentaSpherical
 
struct  Shell
 

Enumerations

enum  ShellOrder { Default , Gaussian , Molden }
 

Functions

std::string component_label (int i, int j, int k, int l)
 
template<bool Cartesian = true>
std::vector< std::string > shell_component_labels (int l)
 
constexpr unsigned int num_subshells (bool cartesian, unsigned int l)
 
double cartesian_normalization_factor (int l, int m, int n)
 
std::vector< Momentacartesian_subshell_ordering (int l)
 
std::vector< MomentaSphericalspherical_subshell_ordering (int l)
 
void evaluate_basis (const gto::AOBasis &basis, Mat3NConstRef grid_pts, GTOValues &gto_values, int max_derivative)
 
GTOValues evaluate_basis (const gto::AOBasis &basis, Mat3NConstRef grid_pts, int max_derivative)
 
void evaluate_basis_for_shells (const gto::AOBasis &basis, Mat3NConstRef grid_pts, GTOValues &gto_values, int max_derivative, const std::vector< size_t > &shell_indices)
 Evaluate basis functions for a subset of shells only shell_indices: list of shell indices to evaluate Output gto_values will have full nbf columns but only the specified shells populated.
 
Vec evaluate_decay_cutoff (const gto::AOBasis &basis, double threshold=1e-12)
 
template<int angular_momentum>
std::vector< std::array< int, angular_momentum > > cartesian_gaussian_power_index_arrays ()
 
Mat cartesian_to_spherical_transformation_matrix (int l)
 
Mat spherical_to_cartesian_transformation_matrix (int l)
 
Mat transform_density_matrix_spherical_to_cartesian (const gto::AOBasis &basis_sph, const Mat &D_sph)
 
Mat transform_density_matrix_cartesian_to_spherical (const gto::AOBasis &basis_cart, const Mat &D_cart)
 
std::vector< Matcartesian_gaussian_rotation_matrices (int lmax, const Mat3 &rotation)
 
std::vector< Matspherical_gaussian_rotation_matrices (int lmax, const Mat3 &rotation)
 
double gto_norm (int l, double alpha)
 
template<bool cartesian, ShellOrder order = Default, typename F >
void iterate_over_shell (F &&f, int l)
 
template<ShellOrder order = Default>
int shell_index_cartesian (int i, int j, int k, int l)=delete
 
template<>
int shell_index_cartesian< ShellOrder::Default > (int i, int j, int k, int l)
 
template<>
int shell_index_cartesian< ShellOrder::Gaussian > (int i, int j, int k, int l)
 
template<ShellOrder order = Default>
int shell_index_spherical (int l, int m)=delete
 
template<>
int shell_index_spherical< ShellOrder::Default > (int l, int m)
 
template<>
int shell_index_spherical< ShellOrder::Gaussian > (int l, int m)
 
template<>
int shell_index_spherical< ShellOrder::Molden > (int l, int m)
 
template<bool cartesian, occ::gto::ShellOrder order = occ::gto::ShellOrder::Default, typename F >
void iterate_over_shell_pair (F &&f, int l_i, int l_j)
 
void to_json (nlohmann::json &J, const Shell &shell)
 
void from_json (const nlohmann::json &J, Shell &shell)
 

Variables

constexpr char shell_labels [] = "SPDFGHIKMNOQRTUVWXYZ"
 
constexpr auto OCC_MINIMAL_BASIS = "sto-3g"
 

Detailed Description

evaluation Gaussian-type orbitals, their derivatives etc.

Enumeration Type Documentation

◆ ShellOrder

Enumerator
Default 
Gaussian 
Molden 

Function Documentation

◆ cartesian_gaussian_power_index_arrays()

template<int angular_momentum>
std::vector< std::array< int, angular_momentum > > occ::gto::cartesian_gaussian_power_index_arrays ( )

◆ cartesian_gaussian_rotation_matrices()

std::vector< Mat > occ::gto::cartesian_gaussian_rotation_matrices ( int  lmax,
const Mat3 rotation 
)

◆ cartesian_normalization_factor()

double occ::gto::cartesian_normalization_factor ( int  l,
int  m,
int  n 
)
inline

◆ cartesian_subshell_ordering()

std::vector< Momenta > occ::gto::cartesian_subshell_ordering ( int  l)
inline

◆ cartesian_to_spherical_transformation_matrix()

Mat occ::gto::cartesian_to_spherical_transformation_matrix ( int  l)

◆ component_label()

std::string occ::gto::component_label ( int  i,
int  j,
int  k,
int  l 
)
inline

◆ evaluate_basis() [1/2]

void occ::gto::evaluate_basis ( const gto::AOBasis basis,
Mat3NConstRef  grid_pts,
GTOValues gto_values,
int  max_derivative 
)

◆ evaluate_basis() [2/2]

GTOValues occ::gto::evaluate_basis ( const gto::AOBasis basis,
Mat3NConstRef  grid_pts,
int  max_derivative 
)
inline

◆ evaluate_basis_for_shells()

void occ::gto::evaluate_basis_for_shells ( const gto::AOBasis basis,
Mat3NConstRef  grid_pts,
GTOValues gto_values,
int  max_derivative,
const std::vector< size_t > &  shell_indices 
)

Evaluate basis functions for a subset of shells only shell_indices: list of shell indices to evaluate Output gto_values will have full nbf columns but only the specified shells populated.

◆ evaluate_decay_cutoff()

Vec occ::gto::evaluate_decay_cutoff ( const gto::AOBasis basis,
double  threshold = 1e-12 
)

◆ from_json()

void occ::gto::from_json ( const nlohmann::json &  J,
Shell shell 
)

◆ gto_norm()

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

◆ iterate_over_shell()

template<bool cartesian, ShellOrder order = Default, typename F >
void occ::gto::iterate_over_shell ( F &&  f,
int  l 
)
inline

◆ iterate_over_shell_pair()

template<bool cartesian, occ::gto::ShellOrder order = occ::gto::ShellOrder::Default, typename F >
void occ::gto::iterate_over_shell_pair ( F &&  f,
int  l_i,
int  l_j 
)
inline

◆ num_subshells()

constexpr unsigned int occ::gto::num_subshells ( bool  cartesian,
unsigned int  l 
)
constexpr

◆ shell_component_labels()

template<bool Cartesian = true>
std::vector< std::string > occ::gto::shell_component_labels ( int  l)
inline

◆ shell_index_cartesian()

template<ShellOrder order = Default>
int occ::gto::shell_index_cartesian ( int  i,
int  j,
int  k,
int  l 
)
inlinedelete

◆ shell_index_cartesian< ShellOrder::Default >()

template<>
int occ::gto::shell_index_cartesian< ShellOrder::Default > ( int  i,
int  j,
int  k,
int  l 
)
inline

◆ shell_index_cartesian< ShellOrder::Gaussian >()

template<>
int occ::gto::shell_index_cartesian< ShellOrder::Gaussian > ( int  i,
int  j,
int  k,
int  l 
)
inline

◆ shell_index_spherical()

template<ShellOrder order = Default>
int occ::gto::shell_index_spherical ( int  l,
int  m 
)
inlinedelete

◆ shell_index_spherical< ShellOrder::Default >()

template<>
int occ::gto::shell_index_spherical< ShellOrder::Default > ( int  l,
int  m 
)
inline

◆ shell_index_spherical< ShellOrder::Gaussian >()

template<>
int occ::gto::shell_index_spherical< ShellOrder::Gaussian > ( int  l,
int  m 
)
inline

◆ shell_index_spherical< ShellOrder::Molden >()

template<>
int occ::gto::shell_index_spherical< ShellOrder::Molden > ( int  l,
int  m 
)
inline

◆ spherical_gaussian_rotation_matrices()

std::vector< Mat > occ::gto::spherical_gaussian_rotation_matrices ( int  lmax,
const Mat3 rotation 
)

◆ spherical_subshell_ordering()

std::vector< MomentaSpherical > occ::gto::spherical_subshell_ordering ( int  l)
inline

◆ spherical_to_cartesian_transformation_matrix()

Mat occ::gto::spherical_to_cartesian_transformation_matrix ( int  l)

◆ to_json()

void occ::gto::to_json ( nlohmann::json &  J,
const Shell shell 
)

◆ transform_density_matrix_cartesian_to_spherical()

Mat occ::gto::transform_density_matrix_cartesian_to_spherical ( const gto::AOBasis basis_cart,
const Mat D_cart 
)

◆ transform_density_matrix_spherical_to_cartesian()

Mat occ::gto::transform_density_matrix_spherical_to_cartesian ( const gto::AOBasis basis_sph,
const Mat D_sph 
)

Variable Documentation

◆ OCC_MINIMAL_BASIS

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

◆ shell_labels

constexpr char occ::gto::shell_labels[] = "SPDFGHIKMNOQRTUVWXYZ"
inlineconstexpr