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

Wavefunction * get_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 Fri Jan 23 01:53:05 2026 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002