GQCP
|
#include <Molecule.hpp>
Public Member Functions | |
Molecule (const NuclearFramework &nuclear_framework, const int charge=0) | |
Molecule (const std::vector< Nucleus > &nuclei, const int charge=0) | |
double | calculateInternuclearDistanceBetween (const size_t index1, const size_t index2) const |
int | charge () const |
std::string | description () const |
const NuclearFramework & | nuclearFramework () const |
size_t | numberOfAtoms () const |
size_t | numberOfElectronPairs () const |
size_t | numberOfElectrons () const |
size_t | totalNucleicCharge () const |
Static Public Member Functions | |
static Molecule | HChain (const size_t n, const double spacing, const int charge=0, const CartesianDirection axis=CartesianDirection::z) |
static Molecule | H2Chain (const size_t n, const double a, const double b, const int charge=0, const CartesianDirection axis=CartesianDirection::z) |
static Molecule | HRingFromDistance (const size_t n, const double distance, const int charge=0) |
static Molecule | HRingFromRadius (const size_t n, const double radius, const int charge=0) |
static Molecule | ReadXYZ (const std::string &xyz_filename, const int charge=0) |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Molecule &molecule) |
A molecule: a number of electrons and a collection of nuclei arranged in a nuclear framework.
GQCP::Molecule::Molecule | ( | const NuclearFramework & | nuclear_framework, |
const int | charge = 0 |
||
) |
nuclear_framework | the nuclear framework that makes up the molecule, with coordinates in bohr |
charge | the charge of the molecule: +1 -> cation (one electron less than the neutral molecule) 0 -> neutral molecule -1 -> anion (one electron more than the neutral molecule) |
GQCP::Molecule::Molecule | ( | const std::vector< Nucleus > & | nuclei, |
const int | charge = 0 |
||
) |
nuclei | the nuclei that make up the molecule, with coordinates in bohr |
charge | the charge of the molecule: +1 -> cation (one electron less than the neutral molecule) 0 -> neutral molecule -1 -> anion (one electron more than the neutral molecule) |
|
inline |
index1 | the index of the first nucleus |
index2 | the index of the second nucleus |
int GQCP::Molecule::charge | ( | ) | const |
|
inline |
|
static |
n | the number of H2-molecules |
a | the internuclear distance in bohr |
b | the intermolecular distance in bohr |
charge | the total charge |
|
static |
n | the number of H nuclei |
spacing | the internuclear spacing in bohr |
charge | the total charge |
n | the number of H nuclei |
spacing | the internuclear spacing in bohr |
charge | the total charge |
|
static |
n | the number of hydrogens |
distance | the distance (in bohr) between neighbouring hydrogen atoms |
|
static |
n | the number of hydrogens |
radius | the radius (in bohr) of the circumscribed circle |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Construct a molecule based on the content of a given .xyz-file. In an .xyz-file, the molecular coordinates are in Angstrom
xyz_filename | the .xyz-file that contains the molecular coordinates in Angstrom |
charge | the charge of the molecule: +1 -> cation (one electron less than the neutral molecule) 0 -> neutral molecule -1 -> anion (one electron more than the neutral molecule) |
|
inline |
|
friend |
os | the output stream which the molecule should be concatenated to |
molecule | the molecule that should be concatenated to the output stream |