Public Methods |
|
| Molecule () |
|
| Molecule (const Molecule &) |
|
| Molecule (StateIn &) |
|
| Molecule (const Ref< KeyVal > &input) |
| | The KeyVal constructor.
|
|
virtual | ~Molecule () |
|
Molecule & | operator= (const Molecule &) |
|
void | add_atom (int Z, double x, double y, double z, const char *=0, double mass=0.0, int have_charge=0, double charge=0.0) |
| | Add an AtomicCenter to the Molecule.
|
|
virtual void | print (std::ostream &=ExEnv::out0()) const |
| | Print information about the molecule.
|
|
virtual void | print_parsedkeyval (std::ostream &=ExEnv::out0(), int print_pg=1, int print_unit=1, int number_atoms=1) const |
|
int | natom () const |
| | Returns the number of atoms in the molcule.
|
|
int | Z (int atom) const |
|
double & | r (int atom, int xyz) |
|
const double & | r (int atom, int xyz) const |
|
double * | r (int atom) |
|
const double * | r (int atom) const |
|
double | mass (int atom) const |
| const char * | label (int atom) const |
| | Returns the label explicitly assigned to atom. More...
|
| int | atom_at_position (double *, double tol=0.05) const |
| | Takes an (x, y, z) postion and finds an atom within the given tolerance distance. More...
|
| int | atom_label_to_index (const char *label) const |
| | Returns the index of the atom with the given label. More...
|
| double * | charges () const |
| | Returns a double* containing the nuclear charges of the atoms. More...
|
|
double | charge (int iatom) const |
| | Return the charge of the atom.
|
|
double | nuclear_charge () const |
| | Returns the total nuclear charge.
|
|
void | set_point_group (const Ref< PointGroup > &, double tol=1.0e-7) |
| | Sets the PointGroup of the molecule.
|
|
Ref< PointGroup > | point_group () const |
| | Returns the PointGroup of the molecule.
|
| Ref< PointGroup > | highest_point_group (double tol=1.0e-8) const |
| | Find this molecules true point group (limited to abelian groups). More...
|
| int | is_axis (SCVector3 &origin, SCVector3 &udirection, int order, double tol=1.0e-8) const |
| | Return 1 if this given axis is a symmetry element for the molecule. More...
|
| int | is_plane (SCVector3 &origin, SCVector3 &uperp, double tol=1.0e-8) const |
| | Return 1 if the given plane is a symmetry element for the molecule. More...
|
|
int | has_inversion (SCVector3 &origin, double tol=1.0e-8) const |
| | Return 1 if the molecule has an inversion center.
|
|
int | is_linear (double tolerance=1.0e-5) const |
| | Returns 1 if the molecule is linear, 0 otherwise.
|
|
int | is_planar (double tolerance=1.0e-5) const |
| | Returns 1 if the molecule is planar, 0 otherwise.
|
| void | is_linear_planar (int &linear, int &planar, double tol=1.0e-5) const |
| | Sets linear to 1 if the molecular is linear, 0 otherwise. More...
|
|
SCVector3 | center_of_mass () const |
| | Returns a SCVector3 containing the cartesian coordinates of the center of mass for the molecule.
|
|
double | nuclear_repulsion_energy () |
| | Returns the nuclear repulsion energy for the molecule.
|
|
void | nuclear_repulsion_1der (int center, double xyz[3]) |
| | Compute the nuclear repulsion energy first derivative with respect to the given center.
|
|
void | nuclear_efield (const double *position, double *efield) |
| | Compute the electric field due to the nuclei at the given point.
|
|
void | nuclear_charge_efield (const double *charges, const double *position, double *efield) |
| | Compute the electric field due to the given charges at the positions of the nuclei at the given point.
|
| void | symmetrize (double tol=0.5) |
| | If the molecule contains only symmetry unique atoms, this function will generate the other, redundant atoms. More...
|
|
void | symmetrize (const Ref< PointGroup > &pg, double tol=0.5) |
| | Set the point group and then symmetrize.
|
| void | cleanup_molecule (double tol=0.1) |
| | This will try to carefully correct symmetry errors in molecules. More...
|
|
void | translate (const double *r) |
|
void | move_to_com () |
|
void | transform_to_principal_axes (int trans_frame=1) |
|
void | transform_to_symmetry_frame () |
|
void | print_pdb (std::ostream &=ExEnv::out0(), char *title=0) const |
|
void | read_pdb (const char *filename) |
|
void | principal_moments_of_inertia (double *evals, double **evecs=0) const |
| | Compute the principal moments of inertia and, possibly, the principal axes.
|
|
int | nunique () const |
| | Return information about symmetry unique and equivalent atoms.
|
|
int | unique (int iuniq) const |
| | Returns the overall number of the iuniq'th unique atom.
|
|
int | nequivalent (int iuniq) const |
| | Returns the number of atoms equivalent to iuniq.
|
|
int | equivalent (int iuniq, int j) const |
| | Returns the j'th atom equivalent to iuniq.
|
| int | atom_to_unique (int iatom) const |
| | Converts an atom number to the number of its generating unique atom. More...
|
| int | atom_to_unique_offset (int iatom) const |
| | Converts an atom number to the offset of this atom in the list of generated atoms. More...
|
|
int | n_core_electrons () |
| | Return the number of core electrons.
|
|
int | max_z () |
| | Return the maximum atomic number.
|
|
Ref< AtomInfo > | atominfo () const |
| | Return the molecules AtomInfo object.
|
| void | save_data_state (StateOut &) |
| | Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More...
|
Protected Methods |
|
void | init_symmetry_info (double tol=0.5) |
|
void | clear_symmetry_info () |
|
void | clear () |
Protected Attributes |
|
int | natoms_ |
|
Ref< AtomInfo > | atominfo_ |
|
Ref< PointGroup > | pg_ |
|
Ref< Units > | geometry_units_ |
|
double ** | r_ |
|
int * | Z_ |
|
double * | charges_ |
|
int | nuniq_ |
|
int * | nequiv_ |
|
int ** | equiv_ |
|
int * | atom_to_uniq_ |
|
double * | mass_ |
|
char ** | labels_ |