KnyazevLOBPCG Class Reference

#include <KnyazevLOBPCG.h>

Inheritance diagram for KnyazevLOBPCG:

Inheritance graph
[legend]
Collaboration diagram for KnyazevLOBPCG:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 KnyazevLOBPCG (const Epetra_Comm &_Comm, const Epetra_Operator *KK, const Epetra_Operator *PP, double _tol=1.0e-08, int _maxIter=100, int _verb=0)
 KnyazevLOBPCG (const Epetra_Comm &_Comm, const Epetra_Operator *KK, const Epetra_Operator *MM, const Epetra_Operator *PP, Projector *YHCP, double _tol=1.0e-08, int _maxIter=100, int _verb=0, double *_weight=0)
 ~KnyazevLOBPCG ()
int solve (int numEigen, Epetra_MultiVector &Q, double *lambda)
int minimumSpaceDimension (int nev) const
void initializeCounters ()
void algorithmInfo () const
void historyInfo () const
void memoryInfo () const
void operationInfo () const
void timeInfo () const

Private Member Functions

void accuracyCheck (const Epetra_MultiVector *X, const Epetra_MultiVector *MX, const Epetra_MultiVector *R) const

Private Attributes

const CheckingTools myVerify
const Epetra_BLAS callBLAS
const FortranRoutines callFortran
ModalTools modalTool
const SortingTools mySort
const Epetra_Comm & MyComm
const Epetra_Operator * K
const Epetra_Operator * M
const Epetra_Operator * Prec
ProjectorYHC
const Epetra_Time MyWatch
double tolEigenSolve
int maxIterEigenSolve
int blockSize
double * normWeight
int verbose
int historyCount
double * resHistory
double memRequested
double highMem
int massOp
int numRestart
int outerIter
int precOp
int residual
int stifOp
double timeLocalProj
double timeLocalSolve
double timeLocalUpdate
double timeMassOp
double timeNorm
double timeOuterLoop
double timePostProce
double timePrecOp
double timeResidual
double timeStifOp

Detailed Description

Definition at line 47 of file KnyazevLOBPCG.h.


Constructor & Destructor Documentation

KnyazevLOBPCG::KnyazevLOBPCG ( const Epetra_Comm &  _Comm,
const Epetra_Operator *  KK,
const Epetra_Operator *  PP,
double  _tol = 1.0e-08,
int  _maxIter = 100,
int  _verb = 0 
)

Definition at line 32 of file KnyazevLOBPCG.cpp.

KnyazevLOBPCG::KnyazevLOBPCG ( const Epetra_Comm &  _Comm,
const Epetra_Operator *  KK,
const Epetra_Operator *  MM,
const Epetra_Operator *  PP,
Projector YHCP,
double  _tol = 1.0e-08,
int  _maxIter = 100,
int  _verb = 0,
double *  _weight = 0 
)

Definition at line 75 of file KnyazevLOBPCG.cpp.

KnyazevLOBPCG::~KnyazevLOBPCG (  ) 

Definition at line 121 of file KnyazevLOBPCG.cpp.

References resHistory.


Member Function Documentation

void KnyazevLOBPCG::accuracyCheck ( const Epetra_MultiVector *  X,
const Epetra_MultiVector *  MX,
const Epetra_MultiVector *  R 
) const [private]

Definition at line 725 of file KnyazevLOBPCG.cpp.

References CheckingTools::errorEquality(), CheckingTools::errorOrthogonality(), CheckingTools::errorOrthonormality(), M, MyComm, and myVerify.

Referenced by solve().

Here is the call graph for this function:

void KnyazevLOBPCG::algorithmInfo (  )  const [virtual]

Implements ModalAnalysisSolver.

Definition at line 794 of file KnyazevLOBPCG.cpp.

References blockSize, and MyComm.

void KnyazevLOBPCG::historyInfo (  )  const [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 806 of file KnyazevLOBPCG.cpp.

References blockSize, historyCount, and resHistory.

void KnyazevLOBPCG::initializeCounters (  )  [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 761 of file KnyazevLOBPCG.cpp.

References highMem, historyCount, massOp, memRequested, numRestart, outerIter, precOp, resHistory, residual, stifOp, timeLocalProj, timeLocalSolve, timeLocalUpdate, timeMassOp, timeNorm, timeOuterLoop, timePostProce, timePrecOp, timeResidual, and timeStifOp.

void KnyazevLOBPCG::memoryInfo (  )  const [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 825 of file KnyazevLOBPCG.cpp.

References highMem, memRequested, and MyComm.

int KnyazevLOBPCG::minimumSpaceDimension ( int  nev  )  const [inline, virtual]

Implements ModalAnalysisSolver.

Definition at line 119 of file KnyazevLOBPCG.h.

void KnyazevLOBPCG::operationInfo (  )  const [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 853 of file KnyazevLOBPCG.cpp.

References massOp, MyComm, numRestart, outerIter, precOp, residual, and stifOp.

int KnyazevLOBPCG::solve ( int  numEigen,
Epetra_MultiVector &  Q,
double *  lambda 
) [virtual]

Implements ModalAnalysisSolver.

Definition at line 131 of file KnyazevLOBPCG.cpp.

References accuracyCheck(), Projector::Apply(), blockSize, callBLAS, callFortran, currentSize(), ModalTools::directSolver(), highMem, historyCount, CheckingTools::inputArguments(), K, ModalTools::localProjection(), M, massOp, maxIterEigenSolve, memRequested, modalTool, MyComm, mySort, myVerify, MyWatch, normWeight, numRestart, outerIter, PI, Prec, precOp, resHistory, residual, SortingTools::sortScalars_Vectors(), stifOp, FortranRoutines::SWAP(), timeLocalProj, timeLocalSolve, timeLocalUpdate, timeMassOp, timeNorm, timeOuterLoop, timePostProce, timePrecOp, timeResidual, timeStifOp, tolEigenSolve, verbose, and YHC.

Here is the call graph for this function:

void KnyazevLOBPCG::timeInfo (  )  const [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 884 of file KnyazevLOBPCG.cpp.

References MyComm, timeLocalProj, timeLocalSolve, timeLocalUpdate, timeMassOp, timeNorm, timeOuterLoop, timePostProce, timePrecOp, timeResidual, and timeStifOp.


Member Data Documentation

int KnyazevLOBPCG::blockSize [private]

Definition at line 67 of file KnyazevLOBPCG.h.

Referenced by algorithmInfo(), historyInfo(), and solve().

const Epetra_BLAS KnyazevLOBPCG::callBLAS [private]

Definition at line 52 of file KnyazevLOBPCG.h.

Referenced by solve().

const FortranRoutines KnyazevLOBPCG::callFortran [private]

Definition at line 53 of file KnyazevLOBPCG.h.

Referenced by solve().

double KnyazevLOBPCG::highMem [private]

Definition at line 77 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), memoryInfo(), and solve().

int KnyazevLOBPCG::historyCount [private]

Definition at line 73 of file KnyazevLOBPCG.h.

Referenced by historyInfo(), initializeCounters(), and solve().

const Epetra_Operator* KnyazevLOBPCG::K [private]

Definition at line 58 of file KnyazevLOBPCG.h.

Referenced by solve().

const Epetra_Operator* KnyazevLOBPCG::M [private]

Definition at line 59 of file KnyazevLOBPCG.h.

Referenced by accuracyCheck(), and solve().

int KnyazevLOBPCG::massOp [private]

Definition at line 79 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), operationInfo(), and solve().

int KnyazevLOBPCG::maxIterEigenSolve [private]

Definition at line 65 of file KnyazevLOBPCG.h.

Referenced by solve().

double KnyazevLOBPCG::memRequested [private]

Definition at line 76 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), memoryInfo(), and solve().

ModalTools KnyazevLOBPCG::modalTool [private]

Definition at line 54 of file KnyazevLOBPCG.h.

Referenced by solve().

const Epetra_Comm& KnyazevLOBPCG::MyComm [private]

Definition at line 57 of file KnyazevLOBPCG.h.

Referenced by accuracyCheck(), algorithmInfo(), memoryInfo(), operationInfo(), solve(), and timeInfo().

const SortingTools KnyazevLOBPCG::mySort [private]

Definition at line 55 of file KnyazevLOBPCG.h.

Referenced by solve().

const CheckingTools KnyazevLOBPCG::myVerify [private]

Definition at line 51 of file KnyazevLOBPCG.h.

Referenced by accuracyCheck(), and solve().

const Epetra_Time KnyazevLOBPCG::MyWatch [private]

Definition at line 62 of file KnyazevLOBPCG.h.

Referenced by solve().

double* KnyazevLOBPCG::normWeight [private]

Definition at line 69 of file KnyazevLOBPCG.h.

Referenced by solve().

int KnyazevLOBPCG::numRestart [private]

Definition at line 80 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), operationInfo(), and solve().

int KnyazevLOBPCG::outerIter [private]

Definition at line 81 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), operationInfo(), and solve().

const Epetra_Operator* KnyazevLOBPCG::Prec [private]

Definition at line 60 of file KnyazevLOBPCG.h.

Referenced by solve().

int KnyazevLOBPCG::precOp [private]

Definition at line 82 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), operationInfo(), and solve().

double* KnyazevLOBPCG::resHistory [private]

Definition at line 74 of file KnyazevLOBPCG.h.

Referenced by historyInfo(), initializeCounters(), solve(), and ~KnyazevLOBPCG().

int KnyazevLOBPCG::residual [private]

Definition at line 83 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), operationInfo(), and solve().

int KnyazevLOBPCG::stifOp [private]

Definition at line 84 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), operationInfo(), and solve().

double KnyazevLOBPCG::timeLocalProj [private]

Definition at line 86 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timeLocalSolve [private]

Definition at line 87 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timeLocalUpdate [private]

Definition at line 88 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timeMassOp [private]

Definition at line 89 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timeNorm [private]

Definition at line 90 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timeOuterLoop [private]

Definition at line 91 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timePostProce [private]

Definition at line 92 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timePrecOp [private]

Definition at line 93 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timeResidual [private]

Definition at line 94 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::timeStifOp [private]

Definition at line 95 of file KnyazevLOBPCG.h.

Referenced by initializeCounters(), solve(), and timeInfo().

double KnyazevLOBPCG::tolEigenSolve [private]

Definition at line 64 of file KnyazevLOBPCG.h.

Referenced by solve().

int KnyazevLOBPCG::verbose [private]

Definition at line 71 of file KnyazevLOBPCG.h.

Referenced by solve().

Projector* KnyazevLOBPCG::YHC [private]

Definition at line 61 of file KnyazevLOBPCG.h.

Referenced by solve().


The documentation for this class was generated from the following files:
Generated on Fri Oct 26 13:35:16 2007 for FEMAXX (Finite Element Maxwell Eigensolver) by  doxygen 1.4.7