MADNESS
version 0.9
|
#include <molecule.h>
Public Member Functions | |
Molecule () | |
Makes a molecule with zero atoms. More... | |
Molecule (const std::string &filename, const std::string &geomname="") | |
Read coordinates from a file. More... | |
void | read_file (const std::string &filename) |
void | read_file (const std::string &filename, const std::string &geomname) |
void | read_core_file (const std::string &filename) |
std::string | guess_file () const |
unsigned int | n_core_orb_all () const |
unsigned int | n_core_orb (unsigned int atn) const |
unsigned int | get_core_l (unsigned int atn, unsigned int c) const |
double | get_core_bc (unsigned int atn, unsigned int c) const |
double | core_eval (int atom, unsigned int core, int m, double x, double y, double z) const |
double | core_derivative (int atom, int axis, unsigned int core, int m, double x, double y, double z) const |
bool | is_potential_defined (unsigned int atn) const |
bool | is_potential_defined_atom (int i) const |
void | add_atom (double x, double y, double z, double q, int atn) |
int | natom () const |
void | set_atom_coords (unsigned int i, double x, double y, double z) |
madness::Tensor< double > | get_all_coords () const |
std::vector< madness::Vector < double, 3 > > | get_all_coords_vec () const |
void | set_all_coords (const madness::Tensor< double > &newcoords) |
void | set_eprec (double value) |
updates rcuts with given eprec More... | |
void | set_rcut (double value) |
void | set_core_eprec (double value) |
void | set_core_rcut (double value) |
double | get_eprec () const |
double | bounding_cube () const |
Returns the half width of the bounding cube. More... | |
const Atom & | get_atom (unsigned int i) const |
void | print () const |
double | inter_atomic_distance (unsigned int i, unsigned int j) const |
double | nuclear_repulsion_energy () const |
double | nuclear_repulsion_derivative (int i, int j) const |
double | nuclear_dipole (int axis) const |
double | nuclear_charge_density (double x, double y, double z) const |
double | smallest_length_scale () const |
void | identify_point_group () |
void | center () |
Moves the center of nuclear charge to the origin. More... | |
void | orient () |
Centers and orients the molecule in a standard manner. More... | |
double | total_nuclear_charge () const |
double | nuclear_attraction_potential (double x, double y, double z) const |
double | molecular_core_potential (double x, double y, double z) const |
double | core_potential_derivative (int atom, int axis, double x, double y, double z) const |
double | nuclear_attraction_potential_derivative (int atom, int axis, double x, double y, double z) const |
template<typename Archive > | |
void | serialize (Archive &ar) |
Molecule () | |
Makes a molecule with zero atoms. More... | |
void | read_file (const std::string &filename) |
void | read_core_file (const std::string &filename) |
std::string | guess_file () const |
unsigned int | n_core_orb_all () const |
unsigned int | n_core_orb (unsigned int atn) const |
unsigned int | get_core_l (unsigned int atn, unsigned int c) const |
double | get_core_bc (unsigned int atn, unsigned int c) const |
double | core_eval (int atom, unsigned int core, int m, double x, double y, double z) const |
double | core_derivative (int atom, int axis, unsigned int core, int m, double x, double y, double z) const |
bool | is_potential_defined (unsigned int atn) const |
bool | is_potential_defined_atom (int i) const |
void | add_atom (double x, double y, double z, double q, int atn) |
int | natom () const |
void | set_atom_coords (unsigned int i, double x, double y, double z) |
madness::Tensor< double > | get_all_coords () const |
std::vector< madness::Vector < double, 3 > > | get_all_coords_vec () const |
std::vector< double > | charge_center () |
get the coordinates of the nuclear charge center More... | |
void | set_all_coords (const madness::Tensor< double > &newcoords) |
void | set_eprec (double value) |
void | set_rcut (double value) |
void | set_core_eprec (double value) |
void | set_core_rcut (double value) |
double | get_eprec () const |
double | bounding_cube () const |
const Atom & | get_atom (unsigned int i) const |
void | print () const |
double | inter_atomic_distance (unsigned int i, unsigned int j) const |
double | nuclear_repulsion_energy () const |
double | nuclear_repulsion_derivative (int i, int j) const |
double | nuclear_dipole (int axis) const |
double | nuclear_charge_density (double x, double y, double z) const |
double | smallest_length_scale () const |
void | identify_point_group () |
void | center () |
void | orient () |
double | Qnxx () const |
double | Qnyy () const |
double | Qnzz () const |
double | Qnxz () const |
double | Qnxy () const |
double | Qnyz () const |
double | total_nuclear_charge () const |
double | nuclear_attraction_potential (double x, double y, double z) const |
double | molecular_core_potential (double x, double y, double z) const |
double | core_potential_derivative (int atom, int axis, double x, double y, double z) const |
double | nuclear_attraction_potential_derivative (int atom, int axis, double x, double y, double z) const |
template<typename Archive > | |
void | serialize (Archive &ar) |
Public Attributes | |
std::vector< double > | atomic_radii |
|
inline |
Makes a molecule with zero atoms.
References L.
Molecule::Molecule | ( | const std::string & | filename, |
const std::string & | geomname = "" |
||
) |
Read coordinates from a file.
Scans the file for the first geometry block in the format
The charge q
is inferred from the tag which is assumed to be the standard symbol for an element. Same as the simplest NWChem format. For ghost atoms (bq
) the charge is read as a fifth field on the line.
This code is just for the examples ... don't trust it!
References read_file().
|
inline |
Makes a molecule with zero atoms.
References L.
void Molecule::add_atom | ( | double | x, |
double | y, | ||
double | z, | ||
double | q, | ||
int | atn | ||
) |
void Molecule::add_atom | ( | double | x, |
double | y, | ||
double | z, | ||
double | q, | ||
int | atn | ||
) |
References c, and madness::smoothing_parameter().
Referenced by read_file().
double Molecule::bounding_cube | ( | ) | const |
double Molecule::bounding_cube | ( | ) | const |
Returns the half width of the bounding cube.
The molecule will be contained in the cube [-L,+L].
References mpfr::fabs(), L, and max.
Referenced by SCFParameters::set_molecular_info().
void Molecule::center | ( | ) |
void Molecule::center | ( | ) |
Moves the center of nuclear charge to the origin.
Referenced by orient().
std::vector< double > Molecule::charge_center | ( | ) |
get the coordinates of the nuclear charge center
References c.
double Molecule::core_derivative | ( | int | atom, |
int | axis, | ||
unsigned int | core, | ||
int | m, | ||
double | x, | ||
double | y, | ||
double | z | ||
) | const |
double Molecule::core_derivative | ( | int | atom, |
int | axis, | ||
unsigned int | core, | ||
int | m, | ||
double | x, | ||
double | y, | ||
double | z | ||
) | const |
References CorePotentialManager::core_derivative().
double Molecule::core_eval | ( | int | atom, |
unsigned int | core, | ||
int | m, | ||
double | x, | ||
double | y, | ||
double | z | ||
) | const |
double Molecule::core_eval | ( | int | atom, |
unsigned int | core, | ||
int | m, | ||
double | x, | ||
double | y, | ||
double | z | ||
) | const |
References CorePotentialManager::core_eval().
double Molecule::core_potential_derivative | ( | int | atom, |
int | axis, | ||
double | x, | ||
double | y, | ||
double | z | ||
) | const |
References distance(), natom(), and CorePotentialManager::potential_derivative().
double Molecule::core_potential_derivative | ( | int | atom, |
int | axis, | ||
double | x, | ||
double | y, | ||
double | z | ||
) | const |
madness::Tensor<double> Molecule::get_all_coords | ( | ) | const |
madness::Tensor< double > Molecule::get_all_coords | ( | ) | const |
std::vector< madness::Vector<double,3> > Molecule::get_all_coords_vec | ( | ) | const |
std::vector< madness::Vector< double, 3 > > Molecule::get_all_coords_vec | ( | ) | const |
const Atom& Molecule::get_atom | ( | unsigned int | i | ) | const |
const Atom & Molecule::get_atom | ( | unsigned int | i | ) | const |
Referenced by get_all_coords(), and get_all_coords_vec().
|
inline |
References CorePotentialManager::get_core_bc().
|
inline |
References CorePotentialManager::get_core_bc().
|
inline |
References CorePotentialManager::get_core_l().
|
inline |
References CorePotentialManager::get_core_l().
|
inline |
|
inline |
|
inline |
References CorePotentialManager::guess_file().
|
inline |
References CorePotentialManager::guess_file().
void Molecule::identify_point_group | ( | ) |
void Molecule::identify_point_group | ( | ) |
References madness::print().
Referenced by orient().
double Molecule::inter_atomic_distance | ( | unsigned int | i, |
unsigned int | j | ||
) | const |
double Molecule::inter_atomic_distance | ( | unsigned int | i, |
unsigned int | j | ||
) | const |
References distance().
Referenced by nuclear_repulsion_derivative(), and nuclear_repulsion_energy().
|
inline |
References CorePotentialManager::is_defined().
|
inline |
References CorePotentialManager::is_defined().
|
inline |
References CorePotentialManager::is_defined().
|
inline |
References CorePotentialManager::is_defined().
double Molecule::molecular_core_potential | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
References distance(), CorePotentialManager::is_defined(), natom(), CorePotentialManager::potential(), and mpfr::sum().
double Molecule::molecular_core_potential | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
|
inline |
|
inline |
unsigned int Molecule::n_core_orb_all | ( | ) | const |
unsigned int Molecule::n_core_orb_all | ( | ) | const |
References CorePotentialManager::is_defined(), CorePotentialManager::n_core_orb(), natom(), and mpfr::sum().
|
inline |
|
inline |
double Molecule::nuclear_attraction_potential | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
References distance(), madness::smoothed_potential(), and mpfr::sum().
double Molecule::nuclear_attraction_potential | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
double Molecule::nuclear_attraction_potential_derivative | ( | int | atom, |
int | axis, | ||
double | x, | ||
double | y, | ||
double | z | ||
) | const |
References distance(), and madness::dsmoothed_potential().
double Molecule::nuclear_attraction_potential_derivative | ( | int | atom, |
int | axis, | ||
double | x, | ||
double | y, | ||
double | z | ||
) | const |
double Molecule::nuclear_charge_density | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
double Molecule::nuclear_charge_density | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
References madness::smoothed_density(), and sqrt().
double Molecule::nuclear_dipole | ( | int | axis | ) | const |
double Molecule::nuclear_dipole | ( | int | axis | ) | const |
double Molecule::nuclear_repulsion_derivative | ( | int | i, |
int | j | ||
) | const |
double Molecule::nuclear_repulsion_derivative | ( | int | i, |
int | j | ||
) | const |
double Molecule::nuclear_repulsion_energy | ( | ) | const |
double Molecule::nuclear_repulsion_energy | ( | ) | const |
void Molecule::orient | ( | ) |
void Molecule::orient | ( | ) |
Centers and orients the molecule in a standard manner.
References center(), mpfr::fabs(), I(), identify_point_group(), madness::inner(), k, L, madness::print(), and madness::syev().
void Molecule::print | ( | ) | const |
void Molecule::print | ( | ) | const |
References madness::get_atomic_data(), and natom().
double Molecule::Qnxx | ( | ) | const |
References mpfr::sum().
double Molecule::Qnxy | ( | ) | const |
References mpfr::sum().
double Molecule::Qnxz | ( | ) | const |
References mpfr::sum().
double Molecule::Qnyy | ( | ) | const |
References mpfr::sum().
double Molecule::Qnyz | ( | ) | const |
References mpfr::sum().
double Molecule::Qnzz | ( | ) | const |
References mpfr::sum().
void Molecule::read_core_file | ( | const std::string & | filename | ) |
void Molecule::read_core_file | ( | const std::string & | filename | ) |
void Molecule::read_file | ( | const std::string & | filename | ) |
void Molecule::read_file | ( | const std::string & | filename | ) |
Referenced by Molecule().
void Molecule::read_file | ( | const std::string & | filename, |
const std::string & | geomname | ||
) |
|
inline |
|
inline |
References atomic_radii.
void Molecule::set_all_coords | ( | const madness::Tensor< double > & | newcoords | ) |
void Molecule::set_all_coords | ( | const madness::Tensor< double > & | newcoords | ) |
void Molecule::set_atom_coords | ( | unsigned int | i, |
double | x, | ||
double | y, | ||
double | z | ||
) |
void Molecule::set_atom_coords | ( | unsigned int | i, |
double | x, | ||
double | y, | ||
double | z | ||
) |
|
inline |
References CorePotentialManager::set_eprec().
|
inline |
References CorePotentialManager::set_eprec().
|
inline |
References CorePotentialManager::set_rcut().
|
inline |
References CorePotentialManager::set_rcut().
void Molecule::set_eprec | ( | double | value | ) |
void Molecule::set_eprec | ( | double | value | ) |
updates rcuts with given eprec
References CorePotentialManager::set_eprec(), and madness::smoothing_parameter().
void Molecule::set_rcut | ( | double | value | ) |
void Molecule::set_rcut | ( | double | value | ) |
double Molecule::smallest_length_scale | ( | ) | const |
double Molecule::smallest_length_scale | ( | ) | const |
References max.
Referenced by SCFParameters::set_molecular_info().
double Molecule::total_nuclear_charge | ( | ) | const |
References mpfr::sum().
Referenced by SCFParameters::set_molecular_info().
double Molecule::total_nuclear_charge | ( | ) | const |
std::vector<double> Molecule::atomic_radii |
Referenced by serialize().