QCOverlapGtr< TPMatrix > Class Template Reference

#include <QCOverlapGtr.hpp>

Inheritance diagram for QCOverlapGtr< TPMatrix >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class TPMatrix>
class QCOverlapGtr< TPMatrix >

class QCOverlapGtr

Definition at line 39 of file QCOverlapGtr.hpp.

Public Member Functions

template<class TPManager>
void computeDerivatives (TPManager &manager, typename TPManager::TSystem::QCIterator &workingSystem, const QCPoint3D &shift, const QCFloat &QCRestrict inv2DeltaQ)
template<class TPManager>
void computeDerivatives (TPManager &managerInst, typename TPManager::TSystem::QCIterator &workingSystem, const QCPoint3D &shift, const QCFloat &__restrict__ inv2DeltaQ=QC_ZERO)
template<class TPParam>
void computeElems (const TPParam *QCRestrict parameters, const QCSystem &QCRestrict system, QCMatrix &QCRestrict overlapSAB, int nbMaxOrbTypes, const QCPoint3D &QCRestrict shift)
template<class TPParam>
void computeElems (const TPParam *__restrict__ parameters, const QCSystem &__restrict__ system, QCMatrix &__restrict__ overlapSAB, int nbMaxOrbTypes, const QCPoint3D &__restrict__ shift=QC_ORIGIN3D)
template<class TPManager>
void computeElems (TPManager &manager, typename TPManager::TSystem::QCIterator &workingSystem, const QCPoint3D &shift=QC_ORIGIN3D)
template<class TPParam>
void computeElemsAux (const QCPoint3D &QCRestrict coordsA, const TPParam &QCRestrict paramA, int expHalfIndexA, const QCPoint3D &QCRestrict coordsB, const TPParam &QCRestrict paramB, int expHalfIndexB, QCMatrix &QCRestrict overlapSAB, const QCPoint3D &shift)
template<class TPParam>
void computeElemsAux (const QCPoint3D &__restrict__ coordsA, const TPParam &__restrict__ paramA, int expHalfIndexA, const QCPoint3D &__restrict__ coordsB, const TPParam &__restrict__ paramB, int expHalfIndexB, QCMatrix &__restrict__ overlapSAB, const QCPoint3D &shift=QC_ORIGIN3D)
template<class TPParam>
void FillDzetaVector (const TPParam *QCRestrict params, const int &nbParameters, const int &nbMaxOrbTypes, QCFloat *QCRestrict dzetaVector)
template<class TPParam>
void FillQuantNumNVector (const TPParam *QCRestrict params, const int &nbParameters, int *QCRestrict quantNumNVector)
 QCOverlapGtr (const int &dim)
 QCOverlapGtr (void)
virtual ~QCOverlapGtr (void)

Static Public Member Functions

static void DestroyExpHalfVector (void)
template<class TPManager>
static void FillExpHalfVector (TPManager &manager)

Static Private Member Functions

template<class TPParam>
static void FillDzetaVector (const TPParam *__restrict__ params, const int &nbParameters, const int &nbMaxOrbTypes, QCFloat *__restrict__ dzetaVector)
template<class TPParam>
static void FillQuantNumNVector (const TPParam *__restrict__ params, const int &nbParameter, int *__restrict__ quantNumNVectors)

Static Private Attributes

static QCFloatExpHalfVector = NULL


Constructor & Destructor Documentation

template<class TPMatrix>
QCOverlapGtr< TPMatrix >::QCOverlapGtr void   ) 
 

Basic constructor

Definition at line 55 of file QCOverlapGtr.cpp.

template<class TPMatrix>
QCOverlapGtr< TPMatrix >::QCOverlapGtr const int &  dim  ) 
 

Definition at line 66 of file QCOverlapGtr.cpp.

template<class TPMatrix>
QCOverlapGtr< TPMatrix >::~QCOverlapGtr void   )  [virtual]
 

destructor

Definition at line 77 of file QCOverlapGtr.cpp.


Member Function Documentation

template<class TPMatrix>
template<class TPManager>
void QCOverlapGtr< TPMatrix >::computeDerivatives TPManager &  manager,
typename TPManager::TSystem::QCIterator &  workingSystem,
const QCPoint3D shift,
const QCFloat &QCRestrict  inv2DeltaQ
 

Calcul de la matrice des derivees des integrales de recouvrement.

Definition at line 340 of file QCOverlapGtr.cpp.

References QCOverlapGtr< TPMatrix >::computeElems(), QCMatElemGtr< TPMatrix >::getMatrix(), QCMatElemGtr< TPMatrix >::matrix, QCSymMatrix::printInFile(), QC_NUMERICAL_DERIVATION, and QCRestrict.

Here is the call graph for this function:

template<class TPMatrix>
template<class TPManager>
void QCOverlapGtr< TPMatrix >::computeDerivatives TPManager &  managerInst,
typename TPManager::TSystem::QCIterator &  workingSystem,
const QCPoint3D shift,
const QCFloat &__restrict__  inv2DeltaQ = QC_ZERO
 

Calculation of the derivatives of the overlap integrals.

Referenced by QCGlobalSystem< TPSolver >::computeEnergyDerivatives().

template<class TPMatrix>
template<class TPParam>
void QCOverlapGtr< TPMatrix >::computeElems const TPParam *QCRestrict  parameters,
const QCSystem &QCRestrict  system,
QCMatrix &QCRestrict  overlapSAB,
int  nbMaxOrbTypes,
const QCPoint3D &QCRestrict  shift
 

Computation of the elements of the overlap matrix.

Les premiers indexes d'orbitales de A et B dans la matrice complete du systeme.

On recupere les parametres avec des restrict

La double boucle sur les atomes. je prends i < j.

On remet la sous-matrice a sa place dans la matrice globale.

On insere overlapSab dans la matrice generale. Attention, la matrice renvoyee n est pas symetrique, c est normal.

Definition at line 197 of file QCOverlapGtr.cpp.

References QCOverlapGtr< TPMatrix >::computeElemsAux(), QCMatElemGtr< TPMatrix >::matrix, QC_ONE, and QCRestrict.

Here is the call graph for this function:

template<class TPMatrix>
template<class TPParam>
void QCOverlapGtr< TPMatrix >::computeElems const TPParam *__restrict__  parameters,
const QCSystem &__restrict__  system,
QCMatrix &__restrict__  overlapSAB,
int  nbMaxOrbTypes,
const QCPoint3D &__restrict__  shift = QC_ORIGIN3D
 

Computation of the elements of the overlap matrix.

template<class TPMatrix>
template<class TPManager>
void QCOverlapGtr< TPMatrix >::computeElems TPManager &  manager,
typename TPManager::TSystem::QCIterator &  workingSystem,
const QCPoint3D shift = QC_ORIGIN3D
 

Computation of the elements of the overlap matrix.

Definition at line 155 of file QCOverlapGtr.cpp.

References QCRestrict.

Referenced by QCModelMatrices::buildMatrices(), and QCOverlapGtr< TPMatrix >::computeDerivatives().

template<class TPMatrix>
template<class TPParam>
void QCOverlapGtr< TPMatrix >::computeElemsAux const QCPoint3D &QCRestrict  coordsA,
const TPParam &QCRestrict  paramA,
int  expHalfIndexA,
const QCPoint3D &QCRestrict  coordsB,
const TPParam &QCRestrict  paramB,
int  expHalfIndexB,
QCMatrix &QCRestrict  overlapSAB,
const QCPoint3D shift
 

Definition at line 279 of file QCOverlapGtr.cpp.

References COORDX, COORDY, COORDZ, QCOverlapGtr< TPMatrix >::ExpHalfVector, and QCFortran.

template<class TPMatrix>
template<class TPParam>
void QCOverlapGtr< TPMatrix >::computeElemsAux const QCPoint3D &__restrict__  coordsA,
const TPParam &__restrict__  paramA,
int  expHalfIndexA,
const QCPoint3D &__restrict__  coordsB,
const TPParam &__restrict__  paramB,
int  expHalfIndexB,
QCMatrix &__restrict__  overlapSAB,
const QCPoint3D shift = QC_ORIGIN3D
 

Partial computation of the elements of the overlap matrix.

Referenced by QCOverlapGtr< TPMatrix >::computeElems().

template<class TPMatrix>
void QCOverlapGtr< TPMatrix >::DestroyExpHalfVector void   )  [static]
 

Delete the ExpHalf array.

Definition at line 138 of file QCOverlapGtr.cpp.

References QCOverlapGtr< TPMatrix >::ExpHalfVector.

template<class TPMatrix>
template<class TPParam>
void QCOverlapGtr< TPMatrix >::FillDzetaVector const TPParam *QCRestrict  params,
const int &  nbParameters,
const int &  nbMaxOrbTypes,
QCFloat *QCRestrict  dzetaVector
 

Remplissage du tableau d exposants de Slater avec les exposant recuperes dans le tableau des parametres effectivement connus, (<=> lus dans le fichier de parametres)

Attention, remplissage du tableau par rapport a l'indicage fortran.

Definition at line 424 of file QCOverlapGtr.cpp.

template<class TPMatrix>
template<class TPParam>
static void QCOverlapGtr< TPMatrix >::FillDzetaVector const TPParam *__restrict__  params,
const int &  nbParameters,
const int &  nbMaxOrbTypes,
QCFloat *__restrict__  dzetaVector
[static, private]
 

Filling of the array of Slater exponents with the values recovered from the array of known parameters(<=> read in the parameter file).

Referenced by QCOverlapGtr< TPMatrix >::FillExpHalfVector().

template<class TPMatrix>
template<class TPManager>
void QCOverlapGtr< TPMatrix >::FillExpHalfVector TPManager &  manager  )  [static]
 

Fill the ExpHalf array which is used in computeElems.

Definition at line 89 of file QCOverlapGtr.cpp.

References QCOverlapGtr< TPMatrix >::ExpHalfVector, QCOverlapGtr< TPMatrix >::FillDzetaVector(), QCOverlapGtr< TPMatrix >::FillQuantNumNVector(), QCFortran, and QCRestrict.

Referenced by QCManager< TPModel, TPSystem >::init().

Here is the call graph for this function:

template<class TPMatrix>
template<class TPParam>
void QCOverlapGtr< TPMatrix >::FillQuantNumNVector const TPParam *QCRestrict  params,
const int &  nbParameters,
int *QCRestrict  quantNumNVector
 

Remplissage du tableau de nombres quantiques n avec les nombre quantiques recuperes dans le tableau des parametres effectivement connus, (<=> lus dans le fichier de parametres).

Definition at line 404 of file QCOverlapGtr.cpp.

template<class TPMatrix>
template<class TPParam>
static void QCOverlapGtr< TPMatrix >::FillQuantNumNVector const TPParam *__restrict__  params,
const int &  nbParameter,
int *__restrict__  quantNumNVectors
[static, private]
 

Filling of the array of quantum numbers n with the values recovered from the array of known parameters(<=> read in the parameter file).

Referenced by QCOverlapGtr< TPMatrix >::FillExpHalfVector().


Member Data Documentation

template<class TPMatrix>
QCFloat * QCOverlapGtr< TPMatrix >::ExpHalfVector = NULL [static, private]
 

An utility array of intermediate value used in the overlap calculations calculations. The array is static since each overlap instance uses the same quantum model.

Definition at line 173 of file QCOverlapGtr.hpp.

Referenced by QCOverlapGtr< TPMatrix >::computeElemsAux(), QCOverlapGtr< TPMatrix >::DestroyExpHalfVector(), and QCOverlapGtr< TPMatrix >::FillExpHalfVector().


The documentation for this class was generated from the following files:
Generated on Sat Jan 28 21:07:34 2006 for QC++ by  doxygen 1.4.4