#include <QMData.h>
Definition at line 281 of file QMData.h.
constructor:.
Definition at line 49 of file QMData.C.
References NULL, num_wavef_signa, QMSTATUS_UNKNOWN, runtype, RUNTYPE_UNKNOWN, scftype, SCFTYPE_UNKNOWN, and status.
destructor.
Definition at line 79 of file QMData.C.
References basis_string, delete_basis_set, and num_wavef_signa.
Determines and returns a unique ID for each wavefuntion based on it's signature (type, spin, excitation, info).
Definition at line 864 of file QMData.C.
References wavef_signa_t::exci, wavef_signa_t::info, NULL, num_wavef_signa, QMDATA_BUFSIZ, wavef_signa_t::spin, and wavef_signa_t::type.
Referenced by QMTimestep::add_wavefunction.
Return 1 if the wavefunction type from the GUI matches the given type.
Definition at line 974 of file QMData.C.
References GUI_WAVEF_TYPE_CANON, GUI_WAVEF_TYPE_CINAT, GUI_WAVEF_TYPE_GEMINAL, GUI_WAVEF_TYPE_LOCAL, GUI_WAVEF_TYPE_MCSCFNAT, GUI_WAVEF_TYPE_MCSCFOPT, GUI_WAVEF_TYPE_OTHER, WAVE_BOYS, WAVE_CANON, WAVE_CINATUR, WAVE_GEMINAL, WAVE_MCSCFNAT, WAVE_MCSCFOPT, WAVE_PIPEK, WAVE_RUEDEN, and WAVE_UNKNOWN.
Referenced by find_wavef_id_from_gui_specs, get_highest_excitation, and has_wavef_guitype.
Compute electronic overlap integrals Sij. Memory for overlap_matrix will be allocated.
Definition at line 1463 of file QMData.C.
References expand_atompos, get_overlap_matrix, NULL, num_wave_f, and Timestep::pos.
Referenced by molinfo_get, mullikenpop, and orblocalize.
Create a new Orbital and return the pointer. User is responsible for deleting.
Definition at line 1911 of file QMData.C.
References QMTimestep::get_wavecoeffs, num_basis, and num_wave_f.
Collapse basis set so that we have one atomic basis set per atom type.
Definition at line 384 of file QMData.C.
References BaseMolecule::atom, basis_atom_t::atomicnum, MolAtom::atomicnumber, shell_t::basis, prim_t::coeff, compare_atomic_basis, copy_atomic_basis, delete_basis_set, prim_t::expon, get_shell_type_str, num_basis, shell_t::num_cart_func, shell_t::numprims, basis_atom_t::numshells, shell_t::prim, basis_atom_t::shell, and shell_t::type.
Referenced by init_basis.
Free memory of the basis set.
Definition at line 112 of file QMData.C.
References NULL, basis_atom_t::numshells, shell_t::prim, and basis_atom_t::shell.
Referenced by create_unique_basis, and ~QMData.
Definition at line 1148 of file QMData.C.
References n, num_wave_f, basis_atom_t::numshells, basis_atom_t::shell, shell_t::type, and z.
Referenced by compute_overlap_integrals.
Definition at line 1183 of file QMData.C.
References shell_t::basis, prim_t::expon, n, shell_t::norm_fac, shell_t::num_cart_func, num_wave_f, shell_t::numprims, basis_atom_t::numshells, shell_t::prim, basis_atom_t::shell, and shell_t::type.
Referenced by VMDApp::molecule_orblocalize, and molinfo_get.
Matches the wavefunction selected from the GUI buttons (type, spin, excitation) with a wavefunction IDtag. Returns -1 if no such wavefunction exists.
Definition at line 947 of file QMData.C.
References compare_wavef_guitype_to_type, wavef_signa_t::exci, num_wavef_signa, and wavef_signa_t::spin.
Referenced by GraphicsFltkRepOrbital::regen_excitationlist, and GraphicsFltkRepOrbital::regen_orbitallist.
Definition at line 732 of file QMData.C.
References get_wave_offset, and NULL.
Referenced by molinfo_get.
[inline]
Get the occupancies of all available orbitals for the given wavefunction.
Definition at line 1112 of file QMData.C.
References wavef_signa_t::max_avail_orbs, num_wavef_signa, and wavef_signa_t::orbocc.
Get IDs of all orbitals available for the given wavefunction. iwavesig is the index of the wavefunction signature. Returns 1 upon success, 0 otherwise.
Definition at line 1098 of file QMData.C.
References wavef_signa_t::max_avail_orbs, num_wavef_signa, and wavef_signa_t::orbids.
Get basis set for an atom.
Definition at line 603 of file QMData.C.
References NULL.
Referenced by get_angular_momentum, molinfo_get, and Wavefunction::sort_wave_coefficients.
[inline]
Get the highest excitation for any wavefunction with the given type.
Definition at line 1024 of file QMData.C.
References compare_wavef_guitype_to_type, wavef_signa_t::exci, and num_wavef_signa.
Referenced by GraphicsFltkRepOrbital::regen_excitationlist.
[inline]
[inline]
[inline]
Return the maximum number of available orbitals for the given wavefunction over all frames Can be used to determine the number of orbitals to be displayed in the GUI. Returns -1 if requested wavefunction doesn't exist.
Definition at line 1089 of file QMData.C.
References wavef_signa_t::max_avail_orbs, and num_wavef_signa.
Referenced by molinfo_get, and GraphicsFltkRepOrbital::regen_orbitallist.
[inline]
[inline]
[inline]
[inline]
[inline]
[inline]
[inline]
[inline]
Definition at line 619 of file QMData.C.
References shell_t::num_cart_func, basis_atom_t::numshells, and basis_atom_t::shell.
Referenced by Wavefunction::density_matrix, gross_atom_mulliken_pop, mullikenpop, orb_pair_gross_atom_mulliken_pop, and Wavefunction::population_matrix.
For the given wavefunction signature return the iorb-th orbital label. Used to translate from the GUI list of available orbitals the unique orbital label.
Definition at line 1128 of file QMData.C.
References wavef_signa_t::max_avail_orbs, num_wavef_signa, and wavef_signa_t::orbids.
Translate the runtype constant into a string.
Definition at line 800 of file QMData.C.
References RUNTYPE_DYNAMICS, RUNTYPE_ENERGY, RUNTYPE_GRADIENT, RUNTYPE_HESSIAN, RUNTYPE_MEX, RUNTYPE_OPTIMIZE, RUNTYPE_PROPERTIES, RUNTYPE_SADPOINT, and RUNTYPE_SURFACE.
Translate the scftype constant into a string.
Definition at line 818 of file QMData.C.
References SCFTYPE_FF, SCFTYPE_GVB, SCFTYPE_MCSCF, SCFTYPE_NONE, SCFTYPE_RHF, SCFTYPE_ROHF, and SCFTYPE_UHF.
Get shell type letter (S, P, D, F, ...) followed by '0円'.
Definition at line 655 of file QMData.C.
References shell_t::type.
Referenced by create_unique_basis, and molinfo_get.
Get status of SCF and optimization convergence.
Definition at line 834 of file QMData.C.
References QMSTATUS_FILE_TRUNCATED, QMSTATUS_OPT_CONV, QMSTATUS_OPT_NOT_CONV, QMSTATUS_SCF_NOT_CONV, and status.
Get the offset in the wavefunction array for given shell.
Definition at line 635 of file QMData.C.
Referenced by Wavefunction::density_matrix, get_angular_momentum, get_angular_momentum_str, gross_atom_mulliken_pop, molinfo_get, orb_pair_gross_atom_mulliken_pop, Wavefunction::population_matrix, set_angular_momentum, and set_angular_momentum_str.
[inline]
Return the gross Mulliken population of orbital i on atom A.
Definition at line 1846 of file QMData.C.
References get_num_wavecoeff_per_atom, get_wave_offset, and num_wave_f.
Referenced by localization_orbital_change, localization_rotation_angle, mean_localization_measure, and pair_localization_measure.
Return 1 if the given wavefunction has an orbital with ID orbid in any frame.
Definition at line 1137 of file QMData.C.
References wavef_signa_t::max_avail_orbs, num_wavef_signa, and wavef_signa_t::orbids.
Referenced by GraphicsFltkRepOrbital::regen_orbitallist.
Return 1 if we have any wavefunction with the given excitation.
Definition at line 1000 of file QMData.C.
References wavef_signa_t::exci, and num_wavef_signa.
Return 1 if we have a wavefunction with the given GUI_WAVEF_TYPE_*.
Definition at line 964 of file QMData.C.
References compare_wavef_guitype_to_type, and num_wavef_signa.
Referenced by GraphicsFltkRepOrbital::regen_excitationlist, and GraphicsFltkRepOrbital::regen_wavefunctypes.
Return 1 if we have any wavefunction with the given signature (type, spin, and excitation).
Definition at line 1011 of file QMData.C.
References wavef_signa_t::exci, num_wavef_signa, wavef_signa_t::spin, and wavef_signa_t::type.
Return 1 if we have any wavefunction with the given spin.
Definition at line 990 of file QMData.C.
References num_wavef_signa, and wavef_signa_t::spin.
Referenced by GraphicsFltkRepOrbital::regen_wavefunctypes.
Initialize table of normalization factors containing different factors for each shell and its cartesian functions.
Definition at line 570 of file QMData.C.
References fac.
Referenced by init_basis.
Populate basis set data and organize them into hierarcical data structures.
Definition at line 171 of file QMData.C.
References basis_atom_t::atomicnum, shell_t::basis, basis_string, prim_t::coeff, shell_t::combo, create_unique_basis, prim_t::expon, init_angular_norm_factors, shell_t::norm_fac, normalize_basis, num_basis, shell_t::num_cart_func, shell_t::numprims, basis_atom_t::numshells, shell_t::prim, basis_atom_t::shell, SP_P_SHELL, SP_S_SHELL, SPD_D_SHELL, SPD_P_SHELL, SPD_S_SHELL, and shell_t::type.
Referenced by MolFilePlugin::read_qm_data.
Initialize total charge, multiplicity and everything that can be derived from that.
Definition at line 130 of file QMData.C.
References BaseMolecule::atom, MolAtom::atomicnumber, num_electrons, scftype, SCFTYPE_RHF, SCFTYPE_ROHF, SCFTYPE_UHF, and totalcharge.
Referenced by MolFilePlugin::read_qm_data.
Definition at line 1713 of file QMData.C.
References gross_atom_mulliken_pop, and orb_pair_gross_atom_mulliken_pop.
Referenced by orblocalize.
Rotation angle gamma for the 2 by 2 orbital rotations Equation (9) in Boughton & Pulay (1993).
Definition at line 1803 of file QMData.C.
References gross_atom_mulliken_pop, orb_pair_gross_atom_mulliken_pop, and VMD_PI.
Referenced by orblocalize.
Definition at line 1756 of file QMData.C.
References gross_atom_mulliken_pop.
Referenced by orblocalize.
Definition at line 1500 of file QMData.C.
References compute_overlap_integrals, Wavefunction::density_matrix, Wavefunction::get_num_coeffs, get_num_wavecoeff_per_atom, QMTimestep::get_wavef_index, QMTimestep::get_wavefunction, mm_mul, num_wavef_signa, Wavefunction::population_matrix, and Timestep::qm_timestep.
Multiply contraction coefficients with the shell dependent part of the normalization factor.
Definition at line 533 of file QMData.C.
References shell_t::basis, prim_t::coeff, prim_t::expon, shell_t::numprims, basis_atom_t::numshells, shell_t::prim, basis_atom_t::shell, shell_t::type, and VMD_PI.
Referenced by init_basis.
Definition at line 1870 of file QMData.C.
References get_num_wavecoeff_per_atom, get_wave_offset, and num_wave_f.
Referenced by localization_orbital_change, and localization_rotation_angle.
Create a new wavefunction object based on existing wavefunction "waveid" with orbitals localized using the Pipek-Mezey algorithm.
Definition at line 1601 of file QMData.C.
References QMTimestep::add_wavefunction, compute_overlap_integrals, Wavefunction::get_coeffs, Wavefunction::get_excitation, Wavefunction::get_multiplicity, Wavefunction::get_num_occupied_double, Wavefunction::get_spin, QMTimestep::get_wavef_index, QMTimestep::get_wavefunction, localization_orbital_change, localization_rotation_angle, mean_localization_measure, NULL, num_wave_f, num_wavef_signa, pair_localization_measure, Timestep::qm_timestep, rotate_2x2_orbitals, and WAVE_PIPEK.
Referenced by VMDApp::molecule_orblocalize.
Definition at line 1732 of file QMData.C.
References gross_atom_mulliken_pop.
Referenced by orblocalize.
Perform 2x2 rotation of orbital pair. Equations (10a) and (10b) in Pipek & Mezey (1989).
Definition at line 1782 of file QMData.C.
References num_wave_f.
Referenced by orblocalize.
Definition at line 664 of file QMData.C.
References num_wave_f.
Referenced by MolFilePlugin::read_qm_data.
Update the list of available orbitals.
Definition at line 1046 of file QMData.C.
References wavef_signa_t::max_avail_orbs, wavef_signa_t::orbids, and wavef_signa_t::orbocc.
Referenced by QMTimestep::add_wavefunction.
basis name as "nice" string.
Definition at line 395 of file QMData.h.
Referenced by init_basis, and ~QMData.
type of provided geometry, e.g. UNIQUE, ZMT, CART, ...
Definition at line 397 of file QMData.h.
Referenced by MolFilePlugin::read_qm_data.
amount of memory used in MByte.
Definition at line 389 of file QMData.h.
Referenced by MolFilePlugin::read_qm_data.
number of processors used.
Definition at line 388 of file QMData.h.
Referenced by MolFilePlugin::read_qm_data.
Number of the {exp, coeff) pairs in basis array. This is NOT the same as above since each (P, D, F, ...) shell consists of (3, 6, 10, ...) cartesian functions!
Definition at line 292 of file QMData.h.
Referenced by create_orbital, create_unique_basis, init_basis, and Wavefunction::sort_wave_coefficients.
number of electrons.
Definition at line 390 of file QMData.h.
Referenced by QMTimestep::add_wavefunction, and init_electrons.
max. size of the wave_function array (stored in QMTimestep). The actual number of MOs present can be different for each frame but this is the maximum number of possible occupied and virtual orbitals, i.e. this is the number of contracted cartesian gaussian basis functions or the size of the secular equation.
Definition at line 284 of file QMData.h.
Referenced by compute_overlap_integrals, create_orbital, expand_atompos, expand_basis_array, gross_atom_mulliken_pop, molinfo_get, orb_pair_gross_atom_mulliken_pop, orblocalize, rotate_2x2_orbitals, set_angular_momenta, and Wavefunction::sort_wave_coefficients.
total number of wavefunctions with different signatures (over all frames).
Definition at line 296 of file QMData.h.
Referenced by assign_wavef_id, find_wavef_id_from_gui_specs, get_avail_occupancies, get_avail_orbitals, get_highest_excitation, get_max_avail_orbitals, get_orbital_label_from_gui_index, has_orbital, has_wavef_exci, has_wavef_guitype, has_wavef_signa, has_wavef_spin, molinfo_get, mullikenpop, orblocalize, QMData, and ~QMData.
title of run. (large for Gaussian).
Definition at line 396 of file QMData.h.
Referenced by MolFilePlugin::read_qm_data.
runtype for internal use.
Definition at line 385 of file QMData.h.
Referenced by QMData, and MolFilePlugin::read_qm_data.
scftype for internal use.
Definition at line 386 of file QMData.h.
Referenced by QMTimestep::add_wavefunction, init_electrons, QMData, and MolFilePlugin::read_qm_data.
SCF and optimization status.
Definition at line 387 of file QMData.h.
Referenced by get_status_string, QMData, and MolFilePlugin::read_qm_data.
QM code version information.
Definition at line 399 of file QMData.h.
Referenced by MolFilePlugin::read_qm_data.