QCFockGtr.hpp

Go to the documentation of this file.
00001 //*****************************************************************************//
00002 //                                                                             //
00003 //   Copyright (c) 2001                                                        //
00004 //      INRIA                                                                  //
00005 //      54600 VILLERS LES NANCY                                                //
00006 //      France                                                                 //
00007 //                                                                             //
00008 //*****************************************************************************//
00009 //                                                                             //
00010 //               *** NOTICE OF PROPRIETARY INFORMATION ***                     //
00011 //                                                                             //
00012 // The information contained in this file is considered proprietary and the    //
00013 // exclusive property of  INRIA. This information may not be disclosed,        //
00014 // duplicated or used, in whole or in part, for  any purpose  whatsoever       //
00015 // without express written authorization from INRIA                            //
00016 //                                                                             //
00017 //*****************************************************************************//
00018 
00019 
00020 #ifndef QC_FOCK_GTR_H_
00021 #define QC_FOCK_GTR_H_
00022 
00023 
00024 #include "QCMatElemGtr.hpp"
00025 #include "QCHamiltonGtr.hpp"
00026 
00027 
00033 template <class TPMatrix>
00034 class QCFockGtr :
00035   public QCMatElemGtr<TPMatrix>
00036 {
00037 
00039 public:
00040 
00041 
00045   QCFockGtr (void);
00046 
00047 
00048 
00052   QCFockGtr (int dimMatrix);
00053 
00054   
00055   
00059   virtual ~QCFockGtr (void);
00060 
00061 
00062 
00067   template <class TPManager>
00068   void completeElems (TPManager& manager,
00069                       typename TPManager::TSystem::QCIterator& workingSystem,
00070                       const bool& isItfirstCall);
00071 
00072 
00073 
00074   
00078   template <class TPParam>
00079   void completeElems (const TPParam *    QCRestrict params,
00080                       const QCSubDomain& QCRestrict workingDomain,
00081                       const QCSubDomain& QCRestrict remoteDomain,
00082                       const QCFloat *    QCRestrict remoteDensity,
00083                       QCRepInterElec&    QCRestrict repInterElecIntegrals,
00084                       QCSymMatrix&       QCRestrict fockFAA,
00085                       const QCGeneralData&          data,
00086                       int                           step,
00087                       int                           nbDomains,
00088                       QCIntgAcquisitionMethod       intgAcquisitionMethod,
00089                       bool                          isFirstCall);
00090 
00091 
00092 
00093   
00099   template <class TPManager>
00100   void diagonalize (TPManager& manager,
00101                     typename TPManager::TSystem::QCIterator& workingSystem,
00102                     const int& nbIter);
00103 
00104 
00105   
00106 
00111   template <class TPIterator>
00112   void levelShifting (TPIterator& workingSystem,
00113                       const QCFloat& doubleGapShift);
00114 
00115 
00116 
00123   template <class TPMatrix2>
00124   inline void   copyMatrix (QCHamiltonGtr<TPMatrix2>& hamiltonH);
00125 
00126 
00127 
00131   template <class TPMatrix2>
00132   inline void   copyMatrix (QCFockGtr<TPMatrix2>& fockF);
00133 
00134   
00136 protected:
00137 
00138 
00140 private:
00141 
00142 
00143 
00144 
00147 public:
00148 protected:
00149 private:
00150 
00151 };
00152 
00153 
00154 
00155 
00156 
00163 template <class TPMatrix>
00164 template <class TPMatrix2>
00165 inline void     
00166 QCFockGtr<TPMatrix>::copyMatrix (QCHamiltonGtr<TPMatrix2>& hamiltonH) {
00167   this->matrix.copy (hamiltonH.getMatrix() );
00168 }
00169 
00170 
00171 
00175 template <class TPMatrix>
00176 template <class TPMatrix2>
00177 inline void     
00178 QCFockGtr<TPMatrix>::copyMatrix (QCFockGtr<TPMatrix2>& fockF) {
00179   this->matrix.copy (fockF.getMatrix() );
00180 }  
00181 
00182 
00183 
00184 
00185 
00186 
00187 #endif // QC_FOCK_GTR_H_

Generated on Sat Jan 28 21:07:26 2006 for QC++ by  doxygen 1.4.4