MADNESS 0.10.1
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
AtomicBasisSet Class Reference

Contracted Gaussian basis. More...

#include <molecularbasis.h>

Collaboration diagram for AtomicBasisSet:
Collaboration graph
[legend]

Classes

class  AnalysisSorter
 

Public Member Functions

 AtomicBasisSet ()
 
 AtomicBasisSet (std::string filename)
 
void atoms_to_bfn (const MolecularEntity &mentity, std::vector< int > &at_to_bf, std::vector< int > &at_nbf)
 Makes map from atoms to first basis function on atom and number of basis functions on atom.
 
int basisfn_to_atom (const MolecularEntity &mentity, int ibf) const
 Returns the number of the atom the ibf'th basis function is on.
 
void eval (const MolecularEntity &mentity, double x, double y, double z, double *bf) const
 Evaluates the basis functions.
 
double eval_guess_density (const MolecularEntity &mentity, double x, double y, double z) const
 Evaluates the guess density.
 
AtomicBasisFunction get_atomic_basis_function (const MolecularEntity &mentity, int ibf) const
 Returns the ibf'th atomic basis function.
 
bool is_supported (int atomic_number) const
 
int nbf (const MolecularEntity &mentity) const
 Given a molecule count the number of basis functions.
 
void print (const MolecularEntity &mentity) const
 Print basis info for atoms in the molecule (once for each unique atom type)
 
void print_all () const
 Print basis info for all supported atoms.
 
template<typename T >
void print_anal (const MolecularEntity &mentity, const Tensor< T > &v)
 Given a vector of AO coefficients prints an analysis.
 
void read_file (std::string filename)
 
template<typename Archive >
void serialize (Archive &ar)
 

Private Member Functions

template<typename T >
Tensor< Tload_tixml_matrix (TiXmlElement *node, int n, int m, const char *name)
 
template<typename T >
std::vector< Tload_tixml_vector (TiXmlElement *node, int n, const char *name)
 

Private Attributes

std::vector< AtomicBasisag
 
std::string name
 

Detailed Description

Contracted Gaussian basis.

Constructor & Destructor Documentation

◆ AtomicBasisSet() [1/2]

AtomicBasisSet::AtomicBasisSet ( )
inline

◆ AtomicBasisSet() [2/2]

AtomicBasisSet::AtomicBasisSet ( std::string  filename)
inline

References read_file().

Member Function Documentation

◆ atoms_to_bfn()

void AtomicBasisSet::atoms_to_bfn ( const MolecularEntity mentity,
std::vector< int > &  at_to_bf,
std::vector< int > &  at_nbf 
)
inline

Makes map from atoms to first basis function on atom and number of basis functions on atom.

References ag, at_nbf, at_to_bf, Atom::atomic_number, MolecularEntity::get_atom(), is_supported(), MADNESS_ASSERT, and MolecularEntity::natom().

◆ basisfn_to_atom()

int AtomicBasisSet::basisfn_to_atom ( const MolecularEntity mentity,
int  ibf 
) const
inline

Returns the number of the atom the ibf'th basis function is on.

References ag, Atom::atomic_number, MolecularEntity::get_atom(), is_supported(), MADNESS_ASSERT, MADNESS_EXCEPTION, and MolecularEntity::natom().

Referenced by print_anal().

◆ eval()

void AtomicBasisSet::eval ( const MolecularEntity mentity,
double  x,
double  y,
double  z,
double *  bf 
) const
inline

◆ eval_guess_density()

double AtomicBasisSet::eval_guess_density ( const MolecularEntity mentity,
double  x,
double  y,
double  z 
) const
inline

◆ get_atomic_basis_function()

AtomicBasisFunction AtomicBasisSet::get_atomic_basis_function ( const MolecularEntity mentity,
int  ibf 
) const
inline

◆ is_supported()

bool AtomicBasisSet::is_supported ( int  atomic_number) const
inline

◆ load_tixml_matrix()

template<typename T >
Tensor< T > AtomicBasisSet::load_tixml_matrix ( TiXmlElement *  node,
int  n,
int  m,
const char *  name 
)
inlineprivate

References m, MADNESS_ASSERT, and name.

◆ load_tixml_vector()

template<typename T >
std::vector< T > AtomicBasisSet::load_tixml_vector ( TiXmlElement *  node,
int  n,
const char *  name 
)
inlineprivate

References MADNESS_ASSERT, and name.

◆ nbf()

int AtomicBasisSet::nbf ( const MolecularEntity mentity) const
inline

Given a molecule count the number of basis functions.

References ag, Atom::atomic_number, MolecularEntity::get_atom(), is_supported(), MADNESS_ASSERT, and MolecularEntity::natom().

Referenced by makeao(), makeao_slow(), print_all(), print_anal(), and read_file().

◆ print()

void AtomicBasisSet::print ( const MolecularEntity mentity) const
inline

Print basis info for atoms in the molecule (once for each unique atom type)

References ag, Atom::atomic_number, MolecularEntity::get_atom(), get_atomic_data(), name, MolecularEntity::natom(), and AtomicData::symbol.

◆ print_all()

void AtomicBasisSet::print_all ( ) const
inline

Print basis info for all supported atoms.

References ag, get_atomic_data(), name, nbf(), and AtomicData::symbol.

◆ print_anal()

template<typename T >
void AtomicBasisSet::print_anal ( const MolecularEntity mentity,
const Tensor< T > &  v 
)
inline

Given a vector of AO coefficients prints an analysis.

For each significant coeff it prints

  • atomic symbol
  • atom number
  • basis function type (e.g., dxy)
  • basis function number
  • MO coeff

References std::abs(), Atom::atomic_number, basisfn_to_atom(), MolecularEntity::get_atom(), get_atomic_basis_function(), get_atomic_data(), AtomicBasisFunction::get_desc(), MolecularEntity::natom(), nbf(), AtomicData::symbol, thresh, and v.

◆ read_file()

void AtomicBasisSet::read_file ( std::string  filename)
inline

◆ serialize()

template<typename Archive >
void AtomicBasisSet::serialize ( Archive &  ar)
inline

References ag, and name.

Member Data Documentation

◆ ag

std::vector<AtomicBasis> AtomicBasisSet::ag
private

◆ name

std::string AtomicBasisSet::name
private

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