#include <AtomicOrbitalInverter.h>
Public Member Functions | |
AtomicOrbitalInverter () | |
Creates a new uninitialized instance of this class. | |
void | operator= (const AtomicOrbitalInverter &rhs) |
Copy the rhs oject into this current object. | |
void | set_npoints (int points_r, int points_theta, int points_phi) |
Set the number of grid points in each cooridnant. | |
void | initialize (int Xn, int Yn, int Zn, Array1D< double > B, Array1D< double > C) |
Initialize the total atomic orbital. | |
void | get_xyz (double &x, double &y, double &z) |
Initialize the total atomic orbital. | |
double | eval_gaussians (double r) |
Use the current b and c arrays to evaluate the gaussian part. | |
double | invert_gaussians () |
Invert the current gaussian part. | |
Private Attributes | |
Array1D< double > | b |
Array1D< double > | c |
Array1D< double > | x_inp |
Array1D< double > | y_inp |
int | xn |
int | yn |
int | zn |
double | cutoff1 |
double | cutoff2 |
double | cutoff3 |
int | npoints_r |
int | npoints_theta |
int | npoints_phi |
DistributionInverter | r_form |
DistributionInverter | theta_form |
DistributionInverter | phi_form |
Definition at line 33 of file AtomicOrbitalInverter.h.
AtomicOrbitalInverter::AtomicOrbitalInverter | ( | ) |
Creates a new uninitialized instance of this class.
Definition at line 15 of file AtomicOrbitalInverter.cpp.
References cutoff1, cutoff2, cutoff3, npoints_phi, npoints_r, and npoints_theta.
void AtomicOrbitalInverter::operator= | ( | const AtomicOrbitalInverter & | rhs | ) |
Copy the rhs oject into this current object.
rhs | object to set this equal to. |
Definition at line 25 of file AtomicOrbitalInverter.cpp.
References cutoff1, cutoff2, cutoff3, npoints_phi, npoints_r, npoints_theta, phi_form, r_form, theta_form, xn, yn, and zn.
void AtomicOrbitalInverter::set_npoints | ( | int | points_r, | |
int | points_theta, | |||
int | points_phi | |||
) |
Set the number of grid points in each cooridnant.
Definition at line 42 of file AtomicOrbitalInverter.cpp.
References npoints_phi, npoints_r, and npoints_theta.
void AtomicOrbitalInverter::initialize | ( | int | Xn, | |
int | Yn, | |||
int | Zn, | |||
Array1D< double > | B, | |||
Array1D< double > | C | |||
) |
Initialize the total atomic orbital.
coeff array c and exponents b in: Sum(ci*exp(-bi*x^2)exp(-bi*y^2)exp(-bi*z^2),i)
Xn | is the power on X | |
Yn | is the power on Y | |
Zn | is the power on Z | |
B | is the array of the exponents | |
C | is the array of the prefactors |
Definition at line 49 of file AtomicOrbitalInverter.cpp.
References Array1D< T >::allocate(), b, c, cutoff1, cutoff2, cutoff3, Array1D< T >::dim1(), eval_gaussians(), DistributionInverter::initialize(), npoints_phi, npoints_r, npoints_theta, phi_form, PI, r_form, theta_form, xn, yn, and zn.
void AtomicOrbitalInverter::get_xyz | ( | double & | x, | |
double & | y, | |||
double & | z | |||
) |
Initialize the total atomic orbital.
BSC | is the basis set coefficients given a uniform random number this will return the xyz coords |
Definition at line 164 of file AtomicOrbitalInverter.cpp.
References invert_gaussians(), phi_form, PI, r_form, ran, DistributionInverter::random(), theta_form, and Random::unidev().
double AtomicOrbitalInverter::eval_gaussians | ( | double | r | ) |
Use the current b and c arrays to evaluate the gaussian part.
Definition at line 196 of file AtomicOrbitalInverter.cpp.
References b, c, and Array1D< T >::dim1().
Referenced by initialize().
double AtomicOrbitalInverter::invert_gaussians | ( | ) |
Invert the current gaussian part.
Definition at line 208 of file AtomicOrbitalInverter.cpp.
References b, c, Array1D< T >::dim1(), Random::gasdev(), PI, ran, and Random::unidev().
Referenced by get_xyz().
Array1D<double> AtomicOrbitalInverter::b [private] |
Definition at line 93 of file AtomicOrbitalInverter.h.
Referenced by eval_gaussians(), initialize(), and invert_gaussians().
Array1D<double> AtomicOrbitalInverter::c [private] |
Definition at line 94 of file AtomicOrbitalInverter.h.
Referenced by eval_gaussians(), initialize(), and invert_gaussians().
Array1D<double> AtomicOrbitalInverter::x_inp [private] |
Definition at line 95 of file AtomicOrbitalInverter.h.
Array1D<double> AtomicOrbitalInverter::y_inp [private] |
Definition at line 96 of file AtomicOrbitalInverter.h.
int AtomicOrbitalInverter::xn [private] |
int AtomicOrbitalInverter::yn [private] |
int AtomicOrbitalInverter::zn [private] |
double AtomicOrbitalInverter::cutoff1 [private] |
Definition at line 98 of file AtomicOrbitalInverter.h.
Referenced by AtomicOrbitalInverter(), initialize(), and operator=().
double AtomicOrbitalInverter::cutoff2 [private] |
Definition at line 99 of file AtomicOrbitalInverter.h.
Referenced by AtomicOrbitalInverter(), initialize(), and operator=().
double AtomicOrbitalInverter::cutoff3 [private] |
Definition at line 100 of file AtomicOrbitalInverter.h.
Referenced by AtomicOrbitalInverter(), initialize(), and operator=().
int AtomicOrbitalInverter::npoints_r [private] |
Definition at line 101 of file AtomicOrbitalInverter.h.
Referenced by AtomicOrbitalInverter(), initialize(), operator=(), and set_npoints().
int AtomicOrbitalInverter::npoints_theta [private] |
Definition at line 102 of file AtomicOrbitalInverter.h.
Referenced by AtomicOrbitalInverter(), initialize(), operator=(), and set_npoints().
int AtomicOrbitalInverter::npoints_phi [private] |
Definition at line 103 of file AtomicOrbitalInverter.h.
Referenced by AtomicOrbitalInverter(), initialize(), operator=(), and set_npoints().
Definition at line 104 of file AtomicOrbitalInverter.h.
Referenced by get_xyz(), initialize(), and operator=().
Definition at line 105 of file AtomicOrbitalInverter.h.
Referenced by get_xyz(), initialize(), and operator=().
Definition at line 106 of file AtomicOrbitalInverter.h.
Referenced by get_xyz(), initialize(), and operator=().