Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

HaQCMod Class Reference

Class to perform quantum chemical calculations on the molecule. More...

#include <haqchem.h>

Inheritance diagram for HaQCMod:

HaCompMod List of all members.

Public Types

enum  {
  CNDO_2 = 1, INDO_2, ZINDO_1, ZINDO_S,
  HUCKEL
}

Public Member Functions

 HaQCMod (HaMolSet *new_phost_mset)
void SetStdParams ()
bool operator== (const HaQCMod &rhs) const
bool operator< (const HaQCMod &rhs) const
bool Print_info (ostream &sout, const int level) const
int GetNumCnt () const
 Get Number of Centers (atoms and point charges).

bool GetCntCoord (HaMat_double &coord)
 Get Array of Coordinates of Centers.

bool GetCntCharges (HaVec_double &charges) const
void SetCharge (int NewCharge)
 Set Total charge of the molecule.

void SetMult (int NewMult)
 Set Multiplicity of the molecule.

int GetCharge () const
 return Charge of the molecule

int GetMult () const
 return the molecule multiplicity

int GetNelectr () const
 return the number of electrons in the molecule

int GetNalphel () const
 return the number of alpha electrons in the molecule

int GetNbetel () const
 return the number of beta electrons in the molecule

int GetNumOccMO () const
 Get the number of occupied MOs.

int GetNumVacMO () const
 Get the number of unoccupied MOs.

int GetNumMO () const
 Get the number of MOs.

bool SetWaveFunType (HaString str_wf_type)
 Set Wave Function type.

bool InitBasis (GauFile &gfile)
 load Basis set to gbas from Gaussian rwf file

bool InitBasis (const char *bname)
 Initiate Basis set with a given name on all atoms.

int FBasFunPos (const HaAtom *ref_aptr) const
 get the position of the first basis function of the Atom

const HaAtomGetAtomOfAO (const int idx_AO) const
 Get the atom of the basis function.

int GetNBfunc () const
 Return the number of basis functions.

const char * GetBasName () const
 get the basis set name

bool UsePseudoPot () const
 Check if Pseudo Potential is Used.

bool InitLocOrb (const char *setid)
 Initiate Local(Active) Orbitals with a method given by setid idenfificator.

int GetNActiveOrb () const
 Get the number of active orbitals.

bool IsLocOrbFullBasis ()
 Check if Local Orbital basis coincide with Full Basis set.

const HaLocOrb & GetLocOrbAO_by_idx (const int index) const
 Get active local orbital by sequence number.

const HaLocOrb * GetLocOrbByRef (const char *ref_str_ch) const
 Get active local orbital by text reference.

int GetLocOrbIdx (const HaLocOrb *lorb)
 Get Index (based 1) of a local orbital.

int GetLocOrbIdxOfGrp (const HaString &gid, HaVec_int &ilgr) const
 get the list of indexes of local orbitals of the group

bool ExtractLocOrbSubMat (const HaString &gid1, const HaString &gid2, const HaMat_double &ActOrbMat, HaMat_double &ActOrbSubMat) const
bool InsertLocOrbSubMat (const HaString &gid1, const HaString &gid2, HaMat_double &ActOrbMat, const HaMat_double &ActOrbSubMat) const
const char * GetLocOrbSetID () const
int ProjMatToLocOrb (HaMat_double &fmat_loc, const HaMat_double &fmat_full)
bool BuildMOgrid (const HaVec_double &orb_coef, HaField3D &mo_grid)
 Build a grid of MO values.

bool CreateOrbContour (const HaVec_double &orb_coef, const double mo_isolvl=0.1, const int ngrid=11)
bool CreateMOcontour (const int imo, const double mo_isolvl=0.1, const int ngrid=11)
bool BuildFockMatFromMOs (HaMat_double &fock_matrix, double cut_ene=-100000.0)
 Build Fockian matrix from Molecular orbitals and their energies.

bool InitBasOvlp ()
 Load AO basis Overlap Matrix.

bool Init1eDens (GauFile &gfile)
 Load 1e Density from Gaussian rwf file.

bool InitMOs (GauFile &gfile)
 Load MO coeffcients and energies.

bool LoadGauCom_B () const
 Initiate Gaussian Common /B/ from the atomic basis set of the molecule.

bool LoadGauCom_B_2 () const
 Initiate Gaussian Common /B/ from the the copy read from Gaussian file gbas.

bool LoadDataFromFChk (const char *fname)
 Load data from Gaussian Formatted Checkpoint File.

int ProjMatToActBas (HaMat_double &fmat, HaMat_double &fmat_lb)
 transform matrix from the full basis to the active basis set

int CalcEPfromMO (HaMat_double &gm, double ene)
 Compute electron propagator matrix from MO.

HaMat_doubleGetOvlpMat ()
 Get Reference to the overlap matrix of the main basis recomputing if needed.

int PrepGauss ()
 Prepare execution of Gaussian subroutines.

int RunCNDO ()
 Run CNDO/2 or INDO/2 calculations.

int RunCNDO2 ()
 Run CNDO/2 or INDO/2 or ZINDO/S calculations as a thread if possible.

int RunCNDOThread ()
 Run CNDO/2 or INDO/2 or ZINDO/S calculations.

int StopCalc ()
 Stop running caclulations.

int FormDenMat (const HaMat_double &cmo, double *pa, int nel)
 Form density matrix in pa.

double ZIndoGInt (double r, double k1, double k2)
int NDOExp (int ia, int l, int method, int ovlp, int &n, HaVec_double &cf, HaVec_double &exp)
int CNDOInteg (int iprint, int method, int iatom, int natoms, const HaVec_integer &ian, const HaMat_double &c, double *ss, double *gamma1, double *p_gamma2, double *gamma3, const HaVec_integer &ilst_bf_at, const HaVec_integer &ifst_bf_at, HaVec_double &yy, HaVec_double &zz)

Static Public Member Functions

bool LoadGauCom_IO ()
 Initiate Gaussian Common /IO/.

void set_max_gauss_mem (int new_max_mem)
 Set Maximum memory to allocate for Gaussian functions.

int InitIPack ()
 initialize timer and other objects needed for IPACK


Public Attributes

int m_grid_size
bool load_mo_flag
 flag to load molecular orbitals from Gaussian Formatted Checkpoint File

integer max_it_avg
 Number of SCF iteration with averaging of density matrix.

integer max_it_noavg
 Number of SCF iteration without averaging of density matrix.

int iuhf
 UHF flag.

double conv_dm
 SCF convergence on density matrix.

int nae_act
 the number of active alpha electrons

int nbe_act
 the number of active beta electrons

int guess_only
 compute only guess

int set_guess_from_mos
 Set init SCF guess from current MOs.

int stop_calc_flag
 flag to stop running calculations

enum HaQCMod:: { ... }  ndo_method
 method for NDO calculations = 1 CNDO/2)

HaMat_double ovlp_mat
HaMat_double MO_coef
HaVec_double MOene
b_type gbas
WaveFunType wave_fun_type
GauBasisSet AtBasis
 Active Gaussian Basis set.

vector< HaLocOrb > ActiveOrb

Static Public Attributes

int int_engine = INT_ENGINE_GAUSS
 integral engine IPACK, GAUSSIAN if available or Otheres

int max_gauss_mem = 8000000
 Maximum memory to allocate for Gaussian functions.


Protected Attributes

HaString m_bas_name
HaString m_loc_orb_set_id
int charge
int mult
double m_solv_chrg
int m_save_solv_chrg_flag

Friends

class HaGaussian
class QChemParDlg

Detailed Description

Class to perform quantum chemical calculations on the molecule.


The documentation for this class was generated from the following files:
Generated on Tue Feb 17 02:03:20 2004 for harlem by doxygen 1.3.6