A shell of Gaussian basis functions of a given angular momentum, sharing the same exponential contraction.
More...
|
| GaussianShell () |
| Dummy constructor.
|
|
| GaussianShell (int am, bool lm, const std::vector< contr_t > &C) |
| Constructor, need also to set index of first function and nucleus (see below)
|
|
| ~GaussianShell () |
| Destructor.
|
|
void | set_first_ind (size_t ind) |
| Set index of first basis function.
|
|
void | set_center (const coords_t &cenv, size_t cenindv) |
| Set center.
|
|
void | sort () |
| Sort exponents in decreasing order.
|
|
void | convert_contraction () |
|
void | normalize (bool coeffs=true) |
| Normalize contractions.
|
|
void | coulomb_normalize () |
| Normalize contractions in Coulomb norm (for density fitting)
|
|
std::vector< contr_t > | get_contr () const |
| Get the exponential contraction.
|
|
std::vector< shellf_t > | get_cart () const |
| Get cartesians.
|
|
std::vector< contr_t > | get_contr_normalized () const |
|
size_t | get_Nbf () const |
| Number of functions on shell.
|
|
size_t | get_Ncart () const |
| Number of cartesians on shell.
|
|
size_t | get_Nlm () const |
| Number of spherical harmonics on shell.
|
|
double | range (double eps) const |
|
bool | lm_in_use () const |
| Are spherical harmonics in use?
|
|
void | set_lm (bool lm) |
| Toggle use of spherical harmonics.
|
|
arma::mat | get_trans () const |
| Get transformation matrix to spherical harmonics basis.
|
|
size_t | get_Ncontr () const |
| Get number of contractions.
|
|
int | get_am () const |
| Get angular momentum.
|
|
size_t | get_center_ind () const |
| Get nucleus index.
|
|
coords_t | get_center () const |
| Get coordinates.
|
|
bool | operator< (const GaussianShell &rhs) const |
| Comparison operator for angular momentum ordering.
|
|
bool | operator== (const GaussianShell &rhs) const |
| Are the two the same?
|
|
size_t | get_first_ind () const |
| Get index of first function on shell.
|
|
size_t | get_last_ind () const |
| Get index of last function on shell.
|
|
void | print () const |
| Print out information about shell.
|
|
arma::vec | eval_func (double x, double y, double z) const |
| Evaluate functions at (x,y,z)
|
|
arma::mat | eval_grad (double x, double y, double z) const |
| Evaluate gradients at (x,y,z)
|
|
arma::vec | eval_lapl (double x, double y, double z) const |
| Evaluate laplacian at (x,y,z)
|
|
arma::mat | eval_hess (double x, double y, double z) const |
| Evaluate Hessian at (x,y,z)
|
|
arma::mat | eval_laplgrad (double x, double y, double z) const |
| Evaluate gradient of laplacian at (x,y,z)
|
|
arma::mat | overlap (const GaussianShell &rhs) const |
| Calculate block overlap matrix between shells.
|
|
arma::mat | coulomb_overlap (const GaussianShell &rhs) const |
| Calculate block Coulomb overlap matrix between shells.
|
|
arma::mat | kinetic (const GaussianShell &rhs) const |
| Calculate kinetic energy matrix between shells.
|
|
arma::mat | nuclear (double cx, double cy, double cz, const GaussianShell &rhs) const |
| Calculate nuclear repulsion matrix between shells.
|
|
arma::vec | nuclear_pulay (double cx, double cy, double cz, const arma::mat &P, const GaussianShell &rhs) const |
| Calculate nuclear Pulay forces.
|
|
arma::vec | nuclear_der (double cx, double cy, double cz, const arma::mat &P, const GaussianShell &rhs) const |
| Calculate nuclear Hellman-Feynman force.
|
|
arma::vec | kinetic_pulay (const arma::mat &P, const GaussianShell &rhs) const |
| Calculate kinetic Pulay forces.
|
|
arma::vec | overlap_der (const arma::mat &W, const GaussianShell &rhs) const |
| Calculate overlap derivative.
|
|
arma::vec | integral () const |
| Calculate integral over function (used in xc-fitting)
|
|
std::vector< arma::mat > | moment (int mom, double x, double y, double z, const GaussianShell &rhs) const |
| Calculate moment integrals around (x,y,z) between shells.
|
|
A shell of Gaussian basis functions of a given angular momentum, sharing the same exponential contraction.
- Author
- Susi Lehtola
- Date
- 2011/05/05 20:17