LOBPCG Class Reference

#include <LOBPCG.h>

Inheritance diagram for LOBPCG:

Inheritance graph
[legend]
Collaboration diagram for LOBPCG:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LOBPCG (const Epetra_Comm &_Comm, const Epetra_Operator *KK, const Epetra_Operator *PP, Projector *YHCP, int _blk, double _tol=1.0e-08, int _maxIter=100, int _verb=0)
 LOBPCG (const Epetra_Comm &_Comm, const Epetra_Operator *KK, const Epetra_Operator *MM, const Epetra_Operator *PP, Projector *YHCP, int _blk, double _tol=1.0e-08, int _maxIter=100, int _verb=0, double *_weight=0)
 ~LOBPCG ()
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 Epetra_MultiVector *Q, const Epetra_MultiVector *H, const Epetra_MultiVector *P) const
 LOBPCG (const LOBPCG &ref)
LOBPCGoperator= (const LOBPCG &ref)

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 timeOrtho
double timeOuterLoop
double timePostProce
double timePrecOp
double timeResidual
double timeRestart
double timeStifOp

Detailed Description

Definition at line 47 of file LOBPCG.h.


Constructor & Destructor Documentation

LOBPCG::LOBPCG ( const LOBPCG ref  )  [private]

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

Definition at line 32 of file LOBPCG.cpp.

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

Definition at line 78 of file LOBPCG.cpp.

LOBPCG::~LOBPCG (  ) 

Definition at line 125 of file LOBPCG.cpp.

References resHistory.


Member Function Documentation

void LOBPCG::accuracyCheck ( const Epetra_MultiVector *  X,
const Epetra_MultiVector *  MX,
const Epetra_MultiVector *  R,
const Epetra_MultiVector *  Q,
const Epetra_MultiVector *  H,
const Epetra_MultiVector *  P 
) const [private]

Definition at line 820 of file LOBPCG.cpp.

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

Referenced by solve().

Here is the call graph for this function:

void LOBPCG::algorithmInfo (  )  const [virtual]

Implements ModalAnalysisSolver.

Definition at line 936 of file LOBPCG.cpp.

References blockSize, and MyComm.

void LOBPCG::historyInfo (  )  const [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 948 of file LOBPCG.cpp.

References blockSize, historyCount, and resHistory.

void LOBPCG::initializeCounters (  )  [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 901 of file LOBPCG.cpp.

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

void LOBPCG::memoryInfo (  )  const [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 969 of file LOBPCG.cpp.

References highMem, memRequested, and MyComm.

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

Implements ModalAnalysisSolver.

Definition at line 122 of file LOBPCG.h.

References blockSize.

Referenced by solve().

void LOBPCG::operationInfo (  )  const [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 997 of file LOBPCG.cpp.

References ModalTools::getNumNorm_MassMult(), ModalTools::getNumProj_MassMult(), massOp, modalTool, MyComm, numRestart, outerIter, precOp, residual, and stifOp.

Here is the call graph for this function:

LOBPCG& LOBPCG::operator= ( const LOBPCG ref  )  [private]

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

Implements ModalAnalysisSolver.

Definition at line 135 of file LOBPCG.cpp.

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

Here is the call graph for this function:

void LOBPCG::timeInfo (  )  const [virtual]

Reimplemented from ModalAnalysisSolver.

Definition at line 1037 of file LOBPCG.cpp.

References ModalTools::getTimeNorm(), ModalTools::getTimeNorm_MassMult(), ModalTools::getTimeProj(), ModalTools::getTimeProj_MassMult(), ModalTools::getTimeProj_QMult(), ModalTools::getTimeProj_QtMult(), modalTool, MyComm, timeLocalProj, timeLocalSolve, timeLocalUpdate, timeMassOp, timeNorm, timeOrtho, timeOuterLoop, timePostProce, timePrecOp, timeResidual, timeRestart, and timeStifOp.

Here is the call graph for this function:


Member Data Documentation

int LOBPCG::blockSize [private]

Definition at line 67 of file LOBPCG.h.

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

const Epetra_BLAS LOBPCG::callBLAS [private]

Definition at line 52 of file LOBPCG.h.

Referenced by solve().

const FortranRoutines LOBPCG::callFortran [private]

Definition at line 53 of file LOBPCG.h.

Referenced by solve().

double LOBPCG::highMem [private]

Definition at line 77 of file LOBPCG.h.

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

int LOBPCG::historyCount [private]

Definition at line 73 of file LOBPCG.h.

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

const Epetra_Operator* LOBPCG::K [private]

Definition at line 58 of file LOBPCG.h.

Referenced by solve().

const Epetra_Operator* LOBPCG::M [private]

Definition at line 59 of file LOBPCG.h.

Referenced by accuracyCheck(), and solve().

int LOBPCG::massOp [private]

Definition at line 79 of file LOBPCG.h.

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

int LOBPCG::maxIterEigenSolve [private]

Definition at line 65 of file LOBPCG.h.

Referenced by solve().

double LOBPCG::memRequested [private]

Definition at line 76 of file LOBPCG.h.

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

ModalTools LOBPCG::modalTool [private]

Definition at line 54 of file LOBPCG.h.

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

const Epetra_Comm& LOBPCG::MyComm [private]

Definition at line 57 of file LOBPCG.h.

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

const SortingTools LOBPCG::mySort [private]

Definition at line 55 of file LOBPCG.h.

Referenced by solve().

const CheckingTools LOBPCG::myVerify [private]

Definition at line 51 of file LOBPCG.h.

Referenced by accuracyCheck(), and solve().

const Epetra_Time LOBPCG::MyWatch [private]

Definition at line 62 of file LOBPCG.h.

Referenced by solve().

double* LOBPCG::normWeight [private]

Definition at line 69 of file LOBPCG.h.

Referenced by solve().

int LOBPCG::numRestart [private]

Definition at line 80 of file LOBPCG.h.

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

int LOBPCG::outerIter [private]

Definition at line 81 of file LOBPCG.h.

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

const Epetra_Operator* LOBPCG::Prec [private]

Definition at line 60 of file LOBPCG.h.

Referenced by solve().

int LOBPCG::precOp [private]

Definition at line 82 of file LOBPCG.h.

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

double* LOBPCG::resHistory [private]

Definition at line 74 of file LOBPCG.h.

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

int LOBPCG::residual [private]

Definition at line 83 of file LOBPCG.h.

Referenced by initializeCounters(), and operationInfo().

int LOBPCG::stifOp [private]

Definition at line 84 of file LOBPCG.h.

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

double LOBPCG::timeLocalProj [private]

Definition at line 86 of file LOBPCG.h.

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

double LOBPCG::timeLocalSolve [private]

Definition at line 87 of file LOBPCG.h.

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

double LOBPCG::timeLocalUpdate [private]

Definition at line 88 of file LOBPCG.h.

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

double LOBPCG::timeMassOp [private]

Definition at line 89 of file LOBPCG.h.

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

double LOBPCG::timeNorm [private]

Definition at line 90 of file LOBPCG.h.

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

double LOBPCG::timeOrtho [private]

Definition at line 91 of file LOBPCG.h.

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

double LOBPCG::timeOuterLoop [private]

Definition at line 92 of file LOBPCG.h.

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

double LOBPCG::timePostProce [private]

Definition at line 93 of file LOBPCG.h.

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

double LOBPCG::timePrecOp [private]

Definition at line 94 of file LOBPCG.h.

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

double LOBPCG::timeResidual [private]

Definition at line 95 of file LOBPCG.h.

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

double LOBPCG::timeRestart [private]

Definition at line 96 of file LOBPCG.h.

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

double LOBPCG::timeStifOp [private]

Definition at line 97 of file LOBPCG.h.

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

double LOBPCG::tolEigenSolve [private]

Definition at line 64 of file LOBPCG.h.

Referenced by solve().

int LOBPCG::verbose [private]

Definition at line 71 of file LOBPCG.h.

Referenced by solve().

Projector* LOBPCG::YHC [private]

Definition at line 61 of file LOBPCG.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