17 #ifndef ERKALE_HIRSHFELD
18 #define ERKALE_HIRSHFELD
24 #include <gsl/gsl_spline.h>
32 std::vector<double>
rho;
45 double get(
double r)
const;
50 std::vector<double>
get_rho()
const;
62 std::vector<HirshfeldAtom>
atoms;
64 std::vector<coords_t>
cen;
73 void set(
const std::vector<coords_t> &
cen,
double dr,
const std::vector< std::vector<double> > & rho);
75 std::vector< std::vector<double> >
get_rho()
const;
double get_range(size_t inuc) const
Get range of atom.
Definition: hirshfeld.cpp:242
std::vector< HirshfeldAtom > atoms
List of atoms.
Definition: hirshfeld.h:62
std::vector< coords_t > cen
Centers.
Definition: hirshfeld.h:64
std::vector< double > get_rho() const
Get densities.
Definition: hirshfeld.cpp:103
double dr
Grid spacing.
Definition: hirshfeld.h:30
Hirshfeld()
Dummy constructor.
Definition: hirshfeld.cpp:122
~HirshfeldAtom()
Destructor.
Definition: hirshfeld.cpp:79
double compute_moment(size_t inuc, int n) const
Calculate expectation values of radius (already includes r^2 factor)
Definition: hirshfeld.cpp:246
~Hirshfeld()
Destructor.
Definition: hirshfeld.cpp:205
double compute_moment(int n) const
Calculate expectation values of radius (already includes r^2 factor)
Definition: hirshfeld.cpp:114
void load(const BasisSet &basis)
Load from checkpoints.
Definition: hirshfeld.cpp:155
double get_density(size_t inuc, const coords_t &r) const
Evaluate density at r.
Definition: hirshfeld.cpp:208
HirshfeldAtom()
Dummy constructor.
Definition: hirshfeld.cpp:24
void print_densities() const
Print densities.
Definition: hirshfeld.cpp:250
void set(const std::vector< coords_t > &cen, double dr, const std::vector< std::vector< double > > &rho)
Set atoms.
Definition: hirshfeld.cpp:267
double get_range() const
Get the range of the atom.
Definition: hirshfeld.cpp:107
void compute(const BasisSet &basis, std::string method)
Compute.
Definition: hirshfeld.cpp:125
std::vector< std::vector< double > > get_rho() const
Get atomic densities.
Definition: hirshfeld.cpp:283
Basis set.
Definition: basis.h:187
Coordinates structure.
Definition: basis.h:50
double get_spacing() const
Get grid spacing.
Definition: hirshfeld.cpp:99
Hirshfeld atomic densities.
Definition: hirshfeld.h:59
Hirshfeld atomic density.
Definition: hirshfeld.h:28
std::vector< double > rho
Densities.
Definition: hirshfeld.h:32
double get_weight(size_t inuc, const coords_t &r) const
Evaluate weight at r.
Definition: hirshfeld.cpp:214