occ
|
functionality related to Kohn-Sham density functional theory More...
Namespaces | |
namespace | cosx |
namespace | grid |
namespace | impl |
namespace | kernels |
Classes | |
struct | AtomGrid |
class | DensityFunctional |
class | DFT |
struct | Functionals |
class | HirshfeldPartition |
Class implementing Hirshfeld atomic charge analysis. More... | |
class | MolecularGrid |
class | NonLocalCorrelationFunctional |
struct | RadialGrid |
struct | RangeSeparatedParameters |
Typedefs | |
using | PointChargeList = std::vector< occ::core::PointCharge > |
Enumerations | |
enum class | PartitionFunction { Becke , StratmannScuseria } |
Functions | |
Functionals | parse_dft_method (const std::string &method_string) |
Mat | calculate_atomic_grid_weights (PartitionFunction func, const Mat &grid_points, const Mat &atomic_positions, const IVec &atomic_numbers, const Mat &interatomic_distances) |
IVec | prune_nwchem_scheme (size_t nuclear_charge, size_t max_angular, size_t num_radial, const occ::Vec &radii) |
IVec | prune_numgrid_scheme (size_t nuclear_charge, size_t max_angular, size_t min_angular, const occ::Vec &radii) |
RadialGrid | generate_becke_radial_grid (size_t num_points, double rm=1.0) |
RadialGrid | generate_mura_knowles_radial_grid (size_t num_points, size_t charge) |
RadialGrid | generate_treutler_alrichs_radial_grid (size_t num_points) |
RadialGrid | generate_gauss_chebyshev_radial_grid (size_t num_points) |
RadialGrid | generate_lmg_radial_grid (double radial_precision, double alpha_max, const occ::Vec &alpha_min) |
AtomGrid | generate_atom_grid (size_t atomic_number, size_t max_angular_points=302, size_t radial_points=50) |
Vec | calculate_hirshfeld_charges (const occ::qm::AOBasis &basis, const occ::qm::MolecularOrbitals &mo, int charge=0) |
Calculate Hirshfeld charges for a molecule. | |
std::vector< occ::core::Multipole< 4 > > | calculate_hirshfeld_multipoles (const occ::qm::AOBasis &basis, const occ::qm::MolecularOrbitals &mo, int max_multipole_order=4, int charge=0) |
Calculate Hirshfeld multipoles for a molecule. | |
template<occ::qm::SpinorbitalKind spinorbital_kind, int derivative_order> | |
void | xc_potential_matrix (const DensityFunctional::Result &res, MatConstRef rho, const occ::gto::GTOValues >o_vals, MatRef KK, double &energy)=delete |
template<> | |
void | xc_potential_matrix< Restricted, 0 > (const DensityFunctional::Result &res, MatConstRef rho, const occ::gto::GTOValues >o_vals, MatRef KK, double &energy) |
template<> | |
void | xc_potential_matrix< Restricted, 1 > (const DensityFunctional::Result &res, MatConstRef rho, const occ::gto::GTOValues >o_vals, MatRef KK, double &energy) |
template<> | |
void | xc_potential_matrix< Restricted, 2 > (const DensityFunctional::Result &res, MatConstRef rho, const occ::gto::GTOValues >o_vals, MatRef KK, double &energy) |
template<> | |
void | xc_potential_matrix< Unrestricted, 0 > (const DensityFunctional::Result &res, MatConstRef rho, const occ::gto::GTOValues >o_vals, MatRef KK, double &energy) |
template<> | |
void | xc_potential_matrix< Unrestricted, 1 > (const DensityFunctional::Result &res, MatConstRef rho, const occ::gto::GTOValues >o_vals, MatRef KK, double &energy) |
template<> | |
void | xc_potential_matrix< Unrestricted, 2 > (const DensityFunctional::Result &res, MatConstRef rho, const occ::gto::GTOValues >o_vals, MatRef KK, double &energy) |
functionality related to Kohn-Sham density functional theory
part of the occ::qm, occ:gto, occ:io module
using occ::dft::PointChargeList = typedef std::vector<occ::core::PointCharge> |
|
strong |
Mat occ::dft::calculate_atomic_grid_weights | ( | PartitionFunction | func, |
const Mat & | grid_points, | ||
const Mat & | atomic_positions, | ||
const IVec & | atomic_numbers, | ||
const Mat & | interatomic_distances | ||
) |
Vec occ::dft::calculate_hirshfeld_charges | ( | const occ::qm::AOBasis & | basis, |
const occ::qm::MolecularOrbitals & | mo, | ||
int | charge = 0 |
||
) |
Calculate Hirshfeld charges for a molecule.
Convenience function to compute Hirshfeld charges in a single call.
basis | Basis set for the molecule |
mo | Molecular orbitals containing the density matrix |
charge | Total molecular charge |
std::vector< occ::core::Multipole< 4 > > occ::dft::calculate_hirshfeld_multipoles | ( | const occ::qm::AOBasis & | basis, |
const occ::qm::MolecularOrbitals & | mo, | ||
int | max_multipole_order = 4 , |
||
int | charge = 0 |
||
) |
Calculate Hirshfeld multipoles for a molecule.
Convenience function to compute Hirshfeld multipoles in a single call.
basis | Basis set for the molecule |
mo | Molecular orbitals containing the density matrix |
max_multipole_order | Maximum order of multipoles to compute (0-4) |
charge | Total molecular charge |
AtomGrid occ::dft::generate_atom_grid | ( | size_t | atomic_number, |
size_t | max_angular_points = 302 , |
||
size_t | radial_points = 50 |
||
) |
RadialGrid occ::dft::generate_becke_radial_grid | ( | size_t | num_points, |
double | rm = 1.0 |
||
) |
RadialGrid occ::dft::generate_gauss_chebyshev_radial_grid | ( | size_t | num_points | ) |
RadialGrid occ::dft::generate_lmg_radial_grid | ( | double | radial_precision, |
double | alpha_max, | ||
const occ::Vec & | alpha_min | ||
) |
RadialGrid occ::dft::generate_mura_knowles_radial_grid | ( | size_t | num_points, |
size_t | charge | ||
) |
RadialGrid occ::dft::generate_treutler_alrichs_radial_grid | ( | size_t | num_points | ) |
Functionals occ::dft::parse_dft_method | ( | const std::string & | method_string | ) |
IVec occ::dft::prune_numgrid_scheme | ( | size_t | nuclear_charge, |
size_t | max_angular, | ||
size_t | min_angular, | ||
const occ::Vec & | radii | ||
) |
IVec occ::dft::prune_nwchem_scheme | ( | size_t | nuclear_charge, |
size_t | max_angular, | ||
size_t | num_radial, | ||
const occ::Vec & | radii | ||
) |
|
delete |
void occ::dft::xc_potential_matrix< Restricted, 0 > | ( | const DensityFunctional::Result & | res, |
MatConstRef | rho, | ||
const occ::gto::GTOValues & | gto_vals, | ||
MatRef | KK, | ||
double & | energy | ||
) |
void occ::dft::xc_potential_matrix< Restricted, 1 > | ( | const DensityFunctional::Result & | res, |
MatConstRef | rho, | ||
const occ::gto::GTOValues & | gto_vals, | ||
MatRef | KK, | ||
double & | energy | ||
) |
void occ::dft::xc_potential_matrix< Restricted, 2 > | ( | const DensityFunctional::Result & | res, |
MatConstRef | rho, | ||
const occ::gto::GTOValues & | gto_vals, | ||
MatRef | KK, | ||
double & | energy | ||
) |
void occ::dft::xc_potential_matrix< Unrestricted, 0 > | ( | const DensityFunctional::Result & | res, |
MatConstRef | rho, | ||
const occ::gto::GTOValues & | gto_vals, | ||
MatRef | KK, | ||
double & | energy | ||
) |
void occ::dft::xc_potential_matrix< Unrestricted, 1 > | ( | const DensityFunctional::Result & | res, |
MatConstRef | rho, | ||
const occ::gto::GTOValues & | gto_vals, | ||
MatRef | KK, | ||
double & | energy | ||
) |
void occ::dft::xc_potential_matrix< Unrestricted, 2 > | ( | const DensityFunctional::Result & | res, |
MatConstRef | rho, | ||
const occ::gto::GTOValues & | gto_vals, | ||
MatRef | KK, | ||
double & | energy | ||
) |