Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

QMTimestep Class Reference

Timesteps store coordinates, energies, etc. for one trajectory timestep. More...

#include <QMTimestep.h>

List of all members.

Public Methods

 QMTimestep (int natoms)
 constructor:. More...

 QMTimestep (const QMTimestep &ts)
 copy constructor. More...

 ~QMTimestep (void)
 destructor. More...

int add_wavefunction (QMData *qmdata, int numcoeffs, int numorbitals, const float *coeffs, const float *energies, float *occupancies, const int *orbids, double energy, int type, int spin, int excitation, int multiplicity, const char *info, wavef_signa_t *(&signa_ts), int &num_signa_ts)
 Add a new wavefunction object to the timestep. More...

void set_scfenergies (const double *energies, int numscfiter)
void set_wavefunction (const float *wfn, int numorbitals, int num_gauss_basis_funcs)
void set_orbitalenergies (const float *energies, int numorbitals)
void set_gradients (const float *grad, int numatoms)
void set_charges (const double *q, const int *qtype, int numatoms, int numqsets)
void set_wavef_idtag (int iwave, int idtag)
 Set timestep independent IDtag for a wavefunction. More...

Wavefunctionget_wavefunction (int iwave)
 Get pointer to a wavefunction object. More...

const float * get_wavecoeffs (int iwave)
 Get array of wavefunction coefficients. More...

const float * get_orbitalenergy (int iwave)
 Get array of orbital energies. More...

const float * get_occupancies (int iwave)
 Get array of orbital occupancies. More...

const int * get_orbitalids (int iwave)
 Get array of orbital IDs. More...

const float * get_gradients ()
 Get energy gradient for each atom. More...

const double * get_scfenergies ()
 Get array of SCF energies. More...

const double * get_charge_set (int set)
 Get array of charges from specified charge set. More...

int get_charge_type (int iset)
 Get charge type of given charge set. More...

const char * get_charge_type_str (int iset)
 Get charge type of given charge set. More...

int get_num_scfiter ()
 Get # SCF iterations. More...

int get_num_charge_sets ()
 Get # SCF iterations. More...

int get_num_wavef ()
 Get # wavefunctions. More...

int get_num_coeffs (int iwave)
 Get # coefficients for a wavefunction. More...

int get_num_orbitals (int iwave)
 Get # orbitals for a wavefunction. More...

int get_wavef_index (int idtag)
 Get wavefunction index used in this timstep from timestep independent IDtag. More...

int get_waveid (int iwave)
 Get timestep independent wavefunction ID from wavefunction index used in this timestep. More...

int get_spin (int iwave)
 Get spin for a wavefunction (alpha=0, beta=1). More...

int get_excitation (int iwave)
 Get electronic excitation level for a wavefunction (groundstate=0). More...

int get_multiplicity (int iwave)
 Get spin multiplicity for a wavefunction. More...

double get_wave_energy (int iwave)
 Get the total energy of the electronic configuration of this wavefunction. More...

int get_homo (int iwave)
 Find the HOMO, based on the orbital occupancies. iwave is the wavefunction index, not the ID. More...

int get_lumo (int iwave)
 Find the LUMO, i.e. the orbital with the smallest positive or zero energy value. Note that for pathological systems this way of identifying the the LUMO might give wrong results, since higher energy orbitals could be occupied as well. More...

void get_orbital_occ_energy (int iwave, int orb, float &occ, float &energy)
 Return occupancy and energy eigenvalue for a given orbital. More...

void get_wavef_typestr (int iwave, char *&typestr)
void sort_orbitals (QMTimestep *prev_qmts)
int get_orbital_id_from_index (int iwave, int index)
 Return the orbital ID for the orbital with the given index in the specified wavefunction. Returns -1 if requested wavefunction or orbital doesn't exist. More...

int get_orbital_index_from_id (int iwave, int id)
 Return the orbital index for the orbital with the given ID in the specified wavefunction. Returns -1 if requested wavefunction or orbital doesn't exist. More...


Detailed Description

Timesteps store coordinates, energies, etc. for one trajectory timestep.

Definition at line 191 of file QMTimestep.h.


Constructor & Destructor Documentation

QMTimestep::QMTimestep int    natoms
 

constructor:.

Definition at line 609 of file QMTimestep.C.

References NULL.

QMTimestep::QMTimestep const QMTimestep &    ts
 

copy constructor.

Definition at line 626 of file QMTimestep.C.

References charges, chargetypes, gradients, NULL, num_atoms, num_charge_sets, num_idtags, num_scfiter, num_wavef, scfenergies, wavef, and wavef_id_map.

QMTimestep::~QMTimestep void   
 

destructor.

Definition at line 678 of file QMTimestep.C.


Member Function Documentation

int QMTimestep::add_wavefunction QMData   qmdata,
int    numcoeffs,
int    numorbitals,
const float *    coeffs,
const float *    energies,
float *    occupancies,
const int *    orbids,
double    energy,
int    type,
int    spin,
int    excitation,
int    multiplicity,
const char *    info,
wavef_signa_t *&    signa_ts,
int &    num_signa_ts
 

Add a new wavefunction object to the timestep.

Definition at line 812 of file QMTimestep.C.

References QMData::assign_wavef_id, Wavefunction::energy, Wavefunction::excitation, get_occupancies, get_orbitalids, Wavefunction::info, Wavefunction::movefrom, Wavefunction::multiplicity, QMData::num_electrons, QMDATA_BUFSIZ, QMData::scftype, Wavefunction::set_coeffs, Wavefunction::set_occupancies, Wavefunction::set_orbenergies, Wavefunction::set_orbids, set_wavef_idtag, Wavefunction::sort_wave_coefficients, Wavefunction::spin, Wavefunction::type, QMData::update_avail_orbs, and vmd_set_default_occ.

Referenced by MolFilePlugin::next, and QMData::orblocalize.

const double * QMTimestep::get_charge_set int    set
 

Get array of charges from specified charge set.

Definition at line 724 of file QMTimestep.C.

References NULL.

Referenced by molinfo_get.

int QMTimestep::get_charge_type int    iset
 

Get charge type of given charge set.

Definition at line 731 of file QMTimestep.C.

const char * QMTimestep::get_charge_type_str int    iset
 

Get charge type of given charge set.

Definition at line 738 of file QMTimestep.C.

References QMCHARGE_ESP, QMCHARGE_LOWDIN, QMCHARGE_MULLIKEN, and QMCHARGE_NPA.

Referenced by molinfo_get.

int QMTimestep::get_excitation int    iwave
 

Get electronic excitation level for a wavefunction (groundstate=0).

Definition at line 785 of file QMTimestep.C.

References Wavefunction::excitation.

Referenced by molinfo_get.

const float* QMTimestep::get_gradients   [inline]
 

Get energy gradient for each atom.

Definition at line 268 of file QMTimestep.h.

int QMTimestep::get_homo int    iwave
 

Find the HOMO, based on the orbital occupancies. iwave is the wavefunction index, not the ID.

Definition at line 940 of file QMTimestep.C.

References Wavefunction::get_homo.

Referenced by get_lumo, molinfo_get, and GraphicsFltkRepOrbital::regen_orbitallist.

int QMTimestep::get_lumo int    iwave
 

Find the LUMO, i.e. the orbital with the smallest positive or zero energy value. Note that for pathological systems this way of identifying the the LUMO might give wrong results, since higher energy orbitals could be occupied as well.

Definition at line 951 of file QMTimestep.C.

References get_homo, and Wavefunction::get_occupancies.

int QMTimestep::get_multiplicity int    iwave
 

Get spin multiplicity for a wavefunction.

Definition at line 791 of file QMTimestep.C.

References Wavefunction::multiplicity.

int QMTimestep::get_num_charge_sets   [inline]
 

Get # SCF iterations.

Definition at line 286 of file QMTimestep.h.

Referenced by molinfo_get.

int QMTimestep::get_num_coeffs int    iwave
 

Get # coefficients for a wavefunction.

Definition at line 761 of file QMTimestep.C.

References Wavefunction::num_coeffs.

Referenced by molinfo_get.

int QMTimestep::get_num_orbitals int    iwave
 

Get # orbitals for a wavefunction.

Definition at line 767 of file QMTimestep.C.

References Wavefunction::num_orbitals.

Referenced by molinfo_get.

int QMTimestep::get_num_scfiter   [inline]
 

Get # SCF iterations.

Definition at line 283 of file QMTimestep.h.

Referenced by molinfo_get.

int QMTimestep::get_num_wavef   [inline]
 

Get # wavefunctions.

Definition at line 289 of file QMTimestep.h.

Referenced by molinfo_get, and GraphicsFltkRepOrbital::regen_orbitallist.

const float * QMTimestep::get_occupancies int    iwave
 

Get array of orbital occupancies.

Definition at line 710 of file QMTimestep.C.

References NULL, and Wavefunction::occupancies.

Referenced by add_wavefunction, and molinfo_get.

int QMTimestep::get_orbital_id_from_index int    iwave,
int    index
 

Return the orbital ID for the orbital with the given index in the specified wavefunction. Returns -1 if requested wavefunction or orbital doesn't exist.

Definition at line 975 of file QMTimestep.C.

References Wavefunction::num_orbitals, and Wavefunction::orb_ids.

Referenced by GraphicsFltkRepOrbital::regen_orbitallist.

int QMTimestep::get_orbital_index_from_id int    iwave,
int    id
 

Return the orbital index for the orbital with the given ID in the specified wavefunction. Returns -1 if requested wavefunction or orbital doesn't exist.

Definition at line 986 of file QMTimestep.C.

References Wavefunction::num_orbitals, and Wavefunction::orb_id2index.

void QMTimestep::get_orbital_occ_energy int    iwave,
int    orb,
float &    occ,
float &    energy
 

Return occupancy and energy eigenvalue for a given orbital.

Definition at line 958 of file QMTimestep.C.

References Wavefunction::get_num_orbitals, Wavefunction::get_occupancies, and Wavefunction::get_orbenergies.

const float * QMTimestep::get_orbitalenergy int    iwave
 

Get array of orbital energies.

Definition at line 703 of file QMTimestep.C.

References Wavefunction::get_orbenergies, and NULL.

Referenced by molinfo_get.

const int * QMTimestep::get_orbitalids int    iwave
 

Get array of orbital IDs.

Definition at line 717 of file QMTimestep.C.

References NULL, and Wavefunction::orb_ids.

Referenced by add_wavefunction.

const double* QMTimestep::get_scfenergies   [inline]
 

Get array of SCF energies.

Definition at line 271 of file QMTimestep.h.

int QMTimestep::get_spin int    iwave
 

Get spin for a wavefunction (alpha=0, beta=1).

Definition at line 779 of file QMTimestep.C.

References Wavefunction::spin.

Referenced by molinfo_get.

double QMTimestep::get_wave_energy int    iwave
 

Get the total energy of the electronic configuration of this wavefunction.

Definition at line 799 of file QMTimestep.C.

References Wavefunction::energy.

Referenced by molinfo_get.

const float * QMTimestep::get_wavecoeffs int    iwave
 

Get array of wavefunction coefficients.

Definition at line 696 of file QMTimestep.C.

References Wavefunction::get_coeffs, and NULL.

Referenced by QMData::create_orbital, and molinfo_get.

int QMTimestep::get_wavef_index int    idtag
 

Get wavefunction index used in this timstep from timestep independent IDtag.

Definition at line 806 of file QMTimestep.C.

Referenced by QMData::mullikenpop, QMData::orblocalize, and sort_orbitals.

void QMTimestep::get_wavef_typestr int    iwave,
char *&    typestr
[inline]
 

Definition at line 327 of file QMTimestep.h.

References Wavefunction::get_typestr.

Referenced by molinfo_get.

Wavefunction * QMTimestep::get_wavefunction int    iwave
 

Get pointer to a wavefunction object.

Definition at line 689 of file QMTimestep.C.

References NULL.

Referenced by QMData::mullikenpop, and QMData::orblocalize.

int QMTimestep::get_waveid int    iwave
 

Get timestep independent wavefunction ID from wavefunction index used in this timestep.

Definition at line 773 of file QMTimestep.C.

References Wavefunction::idtag.

void QMTimestep::set_charges const double *    q,
const int *    qtype,
int    numatoms,
int    numqsets
 

Definition at line 925 of file QMTimestep.C.

Referenced by MolFilePlugin::next.

void QMTimestep::set_gradients const float *    grad,
int    numatoms
 

Definition at line 917 of file QMTimestep.C.

Referenced by MolFilePlugin::next.

void QMTimestep::set_orbitalenergies const float *    energies,
int    numorbitals
 

void QMTimestep::set_scfenergies const double *    energies,
int    numscfiter
 

Definition at line 907 of file QMTimestep.C.

Referenced by MolFilePlugin::next.

void QMTimestep::set_wavef_idtag int    iwave,
int    idtag
 

Set timestep independent IDtag for a wavefunction.

Definition at line 891 of file QMTimestep.C.

References Wavefunction::idtag.

Referenced by add_wavefunction.

void QMTimestep::set_wavefunction const float *    wfn,
int    numorbitals,
int    num_gauss_basis_funcs
 

void QMTimestep::sort_orbitals QMTimestep *    prev_qmts
 

Definition at line 1061 of file QMTimestep.C.

References get_wavef_index, Wavefunction::sort_orbitals, and wavef.

Referenced by MolFilePlugin::next.


The documentation for this class was generated from the following files:
Generated on Thu Apr 25 02:45:21 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002