ergo
|
Representation of a molecule as a set of nuclei and total charge. More...
#include <molecule.h>
Public Member Functions | |
Molecule () | |
void | addAtom (ergo_real c, ergo_real x, ergo_real y, ergo_real z) |
void | getExtremeInternuclearDistances (ergo_real &minDist, ergo_real &maxDist) const |
Compute smallest and largest internuclear distances. | |
ergo_real | getNuclearRepulsionEnergy () const |
Compute nuclear repulsion energy. | |
ergo_real | getNuclearElectricFieldEnergy (const Vector3D &electricField) const |
Compute nuclear energy in given electric field. | |
int | getNumberOfElectrons () const |
Compute total number of electrons. | |
int | setFromMoleculeFile (const char *fileName, int netCharge, char **basissetFile) |
Loads molecule from a given file name, assuming given net charge. | |
Public Attributes | |
Atom | atoms [MAX_NO_OF_ATOMS] |
ergo_real | netCharge |
int | noOfAtoms |
Static Public Attributes | |
static const int | MAX_NO_OF_ATOMS = 200000 |
Representation of a molecule as a set of nuclei and total charge.
It provides I/O methods and basic manipulation routines.
Molecule::Molecule | ( | ) | [inline] |
References noOfAtoms, MAX_NO_OF_ATOMS, atoms, Atom::charge, and Atom::coords.
Referenced by main(), and test_small().
Compute smallest and largest internuclear distances.
References A, noOfAtoms, B, atoms, and get_distance_between_atoms().
Referenced by SCF_general::SCF_general().
Compute nuclear energy in given electric field.
References noOfAtoms, do_output(), LOG_CAT_INFO, LOG_AREA_MAIN, A, atoms, Atom::charge, Atom::coords, and Vector3D::v.
Referenced by SCF_general::do_SCF_iterations().
ergo_real Molecule::getNuclearRepulsionEnergy | ( | ) | const |
Compute nuclear repulsion energy.
References A, B, noOfAtoms, do_output(), LOG_CAT_INFO, LOG_AREA_MAIN, atoms, Atom::charge, and get_distance_between_atoms().
Referenced by SCF_general::do_SCF_iterations().
int Molecule::getNumberOfElectrons | ( | ) | const |
Compute total number of electrons.
The result is sum of atomic charges plus netCharge.
References noOfAtoms, atoms, charge, and netCharge.
Referenced by dft_lin_respao(), dft_lin_resp_mt(), dft_get_xc(), dft_get_xc_mt(), dft_get_uxc_mt(), es_run(), es_getexc(), es_get_polarisability(), SCF_general::SCF_general(), calculation_shared(), and test_mol().
int Molecule::setFromMoleculeFile | ( | const char * | fileName, |
int | netCharge, | ||
char ** | basissetFile | ||
) |
Loads molecule from a given file name, assuming given net charge.
basissetFile will be set if the file contains basis set and basissetFile is NULL.
References readMoleculeFileInMolFormat(), and readMoleculeFileInXyzFormat().
Referenced by es_mol_read_molecule(), main(), mol_calculation(), and test_mol().
Referenced by setup_shells_multi_basis_getcount(), setup_shells_multi_basis(), ErgoMolInfo::getAtom(), ErgoMolInfo::getExps(), es_add_atom(), es_run(), main(), getSafeMaxDistance(), compute_V_linear(), SCF_restricted::create_gabedit_file(), SCF_unrestricted::output_density_images(), SCF_unrestricted::do_spin_flip(), compute_h_core_matrix_simple_dense(), compute_h_core_matrix_sparse(), compute_dipole_moment_onecoord(), get_mulliken_charges(), do_mulliken_atomic_charges(), do_tdhf_dynamics(), savePotential(), compute_V_sparse(), getExtremeInternuclearDistances(), getNuclearRepulsionEnergy(), getNuclearElectricFieldEnergy(), getNumberOfElectrons(), readMoleculeFileInMolFormat(), addAtom(), and readMoleculeFileInXyzFormat().
const int Molecule::MAX_NO_OF_ATOMS = 200000 [static] |
Referenced by es_add_atom(), readMoleculeFileInMolFormat(), addAtom(), and readMoleculeFileInXyzFormat().
Referenced by es_run(), getNumberOfElectrons(), readMoleculeFileInMolFormat(), and readMoleculeFileInXyzFormat().
Referenced by setup_shells_multi_basis_getcount(), setup_shells_multi_basis(), ErgoMolInfo::getExps(), es_mol_begin(), es_add_atom(), es_mol_commit(), es_run(), main(), getSafeMaxDistance(), compute_V_linear(), SCF_general::SCF_general(), SCF_restricted::create_gabedit_file(), SCF_unrestricted::output_density_images(), SCF_unrestricted::do_spin_flip(), compute_h_core_matrix_simple_dense(), compute_h_core_matrix_sparse(), compute_dipole_moment_onecoord(), get_mulliken_charges(), do_mulliken_atomic_charges(), do_mulliken_spin_densities(), do_tdhf_dynamics(), savePotential(), compute_V_sparse(), getExtremeInternuclearDistances(), getNuclearRepulsionEnergy(), getNuclearElectricFieldEnergy(), getNumberOfElectrons(), readMoleculeFileInMolFormat(), addAtom(), and readMoleculeFileInXyzFormat().