mpqc::Atom Class Reference

Documentation

A class which holds the basic information for an atom.

@{

Atom has a position in Bohr, an atomic number, and a mass. By default the position is an Eigen::Vector3d.

Public Member Functions

 Atom ()=default
 
 Atom (const Atom &atom)=default
 
Atomoperator= (const Atom &atom)=default
 
 Atom (Atom &&atom)=default
 
Atomoperator= (Atom &&atom)=default
 
 Atom (const KeyVal &kv)
 The KeyVal constructor. More...
 
 Atom (Vector3d const &center, double mass, int64_t Z, double charge=NAN)
 Constructs the atom with the center, mass and atomic number provided. More...
 
 Atom (int64_t Z, Vector3d const &center)
 Constructs the atom using the atomic number and the center. The mass is assigned to the mass of the most abundant isotope. More...
 
Vector3d const & center () const
 
int64_t atomic_number () const
 
double charge () const
 
double mass () const
 
std::string xyz_string (bool convert_to_angstroms=true) const
 Returns the atom in xyz format. More...
 

Constructor & Destructor Documentation

◆ Atom() [1/6]

mpqc::Atom::Atom ( )
default

◆ Atom() [2/6]

mpqc::Atom::Atom ( const Atom atom)
default

◆ Atom() [3/6]

mpqc::Atom::Atom ( Atom &&  atom)
default

◆ Atom() [4/6]

mpqc::Atom::Atom ( const KeyVal kv)

The KeyVal constructor.

Parameters
kvThe KeyVal object. The following keywords will be queried:
Keyword Type Default Description
element string none the element symbol (e.g., H, He, etc.).
xyz array none a 3-element array of xyz coordinates.
mass real mass of the most common isotope the mass in amu.
charge real the atomic number nuclear charge

◆ Atom() [5/6]

mpqc::Atom::Atom ( Vector3d const &  center,
double  mass,
int64_t  Z,
double  charge = NAN 
)
inline

Constructs the atom with the center, mass and atomic number provided.

◆ Atom() [6/6]

mpqc::Atom::Atom ( int64_t  Z,
Vector3d const &  center 
)

Constructs the atom using the atomic number and the center. The mass is assigned to the mass of the most abundant isotope.

Constructs the atom using the atomic number and.

Exceptions
InputErrorif the mass cannot be determined due the lack of the most abundant isotope.

Member Function Documentation

◆ atomic_number()

int64_t mpqc::Atom::atomic_number ( ) const
inline
Returns
the atomic number.

◆ center()

Vector3d const& mpqc::Atom::center ( ) const
inline
Returns
the Cartesian coordinates (in atomic units).

◆ charge()

double mpqc::Atom::charge ( ) const
inline
Returns
the nuclear charge

◆ mass()

double mpqc::Atom::mass ( ) const
inline

Returns the mass of the atom in atomic units.

◆ operator=() [1/2]

Atom& mpqc::Atom::operator= ( Atom &&  atom)
default

◆ operator=() [2/2]

Atom& mpqc::Atom::operator= ( const Atom atom)
default

◆ xyz_string()

std::string mpqc::Atom::xyz_string ( bool  convert_to_angstroms = true) const

Returns the atom in xyz format.

By default the function assumes the units are in Bohr, so it will convert to ang, but by passing false to the function it will not convert the position.


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