Basis set library class. More...
#include <basislibrary.h>
Public Member Functions | |
BasisSetLibrary () | |
Constructor. | |
~BasisSetLibrary () | |
Destructor. | |
void | load_basis (const std::string &filename, bool verbose=true) |
Load basis set from file in Gaussian'94 format. Handles parsing for special Pople sets. | |
void | load_gaussian94 (const std::string &filename, bool verbose=true) |
Load basis set from file in Gaussian'94 format. | |
void | save_gaussian94 (const std::string &filename, bool append=false) const |
Save basis set to file in Gaussian'94 format. | |
void | save_cfour (const std::string &filename, const std::string &basisname, bool newformat=true, bool append=false) const |
Save basis set to file in CFOUR format. | |
void | save_dalton (const std::string &filename, bool append=false) const |
Save basis set to file in Dalton format. | |
void | save_molpro (const std::string &filename, bool append=false) const |
Save basis set to file in Molpro format. | |
void | add_element (const ElementBasisSet &el) |
Add element to basis set. | |
void | sort () |
Sort library. | |
size_t | get_Nel () const |
Get number of elements. | |
std::string | get_symbol (size_t ind) const |
Get symbol of ind'th element. | |
std::vector< ElementBasisSet > | get_elements () const |
Get elements. | |
int | get_max_am () const |
Get maximum angular momentum used in basis set. | |
ElementBasisSet | get_element (std::string el, size_t number=0) const |
Get basis set for wanted element. | |
void | normalize () |
Normalize coefficients. | |
void | orthonormalize () |
Orthonormalize generally contracted functions. NB! This can screw up your computational efficiency! | |
void | decontract () |
Decontract basis set. | |
BasisSetLibrary | density_fitting (int lvalinc, double fsam) const |
Generate density fitting set. | |
BasisSetLibrary | product_set (int lvalinc, double fsam) const |
Generate product set. | |
BasisSetLibrary | cholesky_set (double thr, int maxam, double ovlthr) const |
Generate compact Cholesky set. | |
void | P_orthogonalize (double cutoff=1e-8, double Cortho=1e-4) |
void | merge (double cutoff=0.9, bool verbose=true) |
Merge primitives with large overlap (also decontracts basis) | |
void | augment (int naug) |
Augment the basis. | |
void | print () const |
Print out library. | |
Private Attributes | |
std::string | name |
Name of basis set. | |
std::vector< ElementBasisSet > | elements |
List of elements included in basis set. | |
Basis set library class.
This class defines a basis set library class that can be used e.g. to read in basis sets from files, or to save basis sets to files.
void BasisSetLibrary::P_orthogonalize | ( | double | cutoff = 1e-8 , |
double | Cortho = 1e-4 |
||
) |
P-orthogonalization [F. Jensen, JCTC 10, 1074 (2014)].
The cutoff drops out primitives with coefficients smaller than the threshold in the intermediate normalization (largest coefficient is set to unity).