ergo
Molecule Class Reference

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

#include <molecule.h>

List of all members.

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

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

References atoms, Atom::charge, Atom::coords, MAX_NO_OF_ATOMS, and noOfAtoms.

Referenced by main(), and test_small().

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::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

Compute nuclear repulsion energy.

References A, atoms, B, Atom::charge, do_output(), get_distance_between_atoms(), LOG_AREA_MAIN, LOG_CAT_INFO, and noOfAtoms.

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 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().

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().


Member Data Documentation

const int Molecule::MAX_NO_OF_ATOMS = 200000
static

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