ergo
Molecule Class Reference

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 clear ()
 
void setNetCharge (ergo_real netCharge_)
 
void replaceAtom (int i, const Atom &atom)
 
void setAtomList (const std::vector< Atom > atomList)
 
const AtomgetAtomListPtr () const
 
const AtomgetAtom (int i) const
 
int getNoOfAtoms () const
 
ergo_real getNetCharge () const
 
void getExtremeInternuclearDistances (ergo_real &minDist, ergo_real &maxDist) const
 Compute smallest and largest internuclear distances. More...
 
ergo_real getNuclearRepulsionEnergy () const
 Compute nuclear repulsion energy. More...
 
ergo_real getNuclearElectricFieldEnergy (const Vector3D &electricField) const
 Compute nuclear energy in given electric field. More...
 
int getNumberOfElectrons () const
 Compute total number of electrons. More...
 
int setFromMoleculeFile (const char *fileName, int netCharge, char **basissetFile)
 Loads molecule from a given file name, assuming given net charge. More...
 

Private Attributes

std::vector< Atomatoms
 
ergo_real netCharge
 
int noOfAtoms
 

Detailed Description

Representation of a molecule as a set of nuclei and total charge.

It provides I/O methods and basic manipulation routines.

Constructor & Destructor Documentation

Molecule::Molecule ( )
inline

Member Function Documentation

void Molecule::addAtom ( ergo_real  c,
ergo_real  x,
ergo_real  y,
ergo_real  z 
)
inline
void Molecule::clear ( )
inline

Referenced by es_mol_begin().

void Molecule::getExtremeInternuclearDistances ( ergo_real minDist,
ergo_real maxDist 
) const

Compute smallest and largest internuclear distances.

References A, atoms, B, get_distance_between_atoms(), and noOfAtoms.

Referenced by SCF_general::SCF_general().

ergo_real Molecule::getNetCharge ( ) const
inline

References netCharge.

ergo_real Molecule::getNuclearElectricFieldEnergy ( const Vector3D electricField) const

Compute nuclear energy in given electric field.

References A, atoms, Atom::charge, Atom::coords, do_output(), LOG_AREA_MAIN, LOG_CAT_INFO, noOfAtoms, and Vector3D::v.

Referenced by SCF_general::do_SCF_iterations().

ergo_real Molecule::getNuclearRepulsionEnergy ( ) const
int Molecule::getNumberOfElectrons ( ) const

Compute total number of electrons.

The result is sum of atomic charges plus netCharge.

References atoms, charge, netCharge, and noOfAtoms.

Referenced by calculation_shared(), dft_get_uxc_mt(), dft_get_xc(), dft_get_xc_mt(), dft_lin_resp_mt(), dft_lin_respao(), es_get_polarisability(), es_getexc(), es_run(), SCF_general::SCF_general(), and test_mol().

void Molecule::replaceAtom ( int  i,
const Atom atom 
)
inline
void Molecule::setAtomList ( const std::vector< Atom atomList)
inline
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().

void Molecule::setNetCharge ( ergo_real  netCharge_)
inline

Member Data Documentation

ergo_real Molecule::netCharge
private

The documentation for this class was generated from the following files: