#include <ModalTools.h>
Collaboration diagram for ModalTools:
Public Member Functions | |
ModalTools (const Epetra_Comm &_Comm) | |
int | makeSimpleLumpedMass (const Epetra_Operator *M, double *weight) const |
int | massOrthonormalize (Epetra_MultiVector &X, Epetra_MultiVector &MX, const Epetra_Operator *M, const Epetra_MultiVector &Q, int howMany, int type=0, double *WS=0, double kappa=1.5625) |
void | localProjection (int numRow, int numCol, int length, double *U, int ldU, double *MatV, int ldV, double *UtMatV, int ldUtMatV, double *work) const |
int | directSolver (int, double *, int, double *, int, int &, double *, int, double *, int, int=0) const |
double | getTimeProj () const |
double | getTimeProj_QtMult () const |
double | getTimeProj_QMult () const |
double | getTimeProj_MassMult () const |
int | getNumProj_MassMult () const |
double | getTimeNorm () const |
double | getTimeNorm_MassMult () const |
int | getNumNorm_MassMult () const |
Private Attributes | |
const FortranRoutines | callFortran |
const Epetra_BLAS | callBLAS |
const Epetra_LAPACK | callLAPACK |
const Epetra_Comm & | MyComm |
const Epetra_Time | MyWatch |
double | eps |
double | timeQtMult |
double | timeQMult |
double | timeProj_MassMult |
double | timeNorm_MassMult |
double | timeProj |
double | timeNorm |
int | numProj_MassMult |
int | numNorm_MassMult |
Definition at line 46 of file ModalTools.h.
ModalTools::ModalTools | ( | const Epetra_Comm & | _Comm | ) |
int ModalTools::directSolver | ( | int | , | |
double * | , | |||
int | , | |||
double * | , | |||
int | , | |||
int & | , | |||
double * | , | |||
int | , | |||
double * | , | |||
int | , | |||
int | = 0 | |||
) | const |
Definition at line 487 of file ModalTools.cpp.
References callBLAS, callFortran, eps, FortranRoutines::LAENV(), FortranRoutines::SYEV(), FortranRoutines::SYGV(), and tol.
Referenced by JDBSYM::jdbsym(), LOBPCG::solve(), and KnyazevLOBPCG::solve().
Here is the call graph for this function:
int ModalTools::getNumNorm_MassMult | ( | ) | const [inline] |
Definition at line 94 of file ModalTools.h.
References numNorm_MassMult.
Referenced by LOBPCG::operationInfo().
int ModalTools::getNumProj_MassMult | ( | ) | const [inline] |
Definition at line 90 of file ModalTools.h.
References numProj_MassMult.
Referenced by LOBPCG::operationInfo().
double ModalTools::getTimeNorm | ( | ) | const [inline] |
double ModalTools::getTimeNorm_MassMult | ( | ) | const [inline] |
Definition at line 93 of file ModalTools.h.
References timeNorm_MassMult.
Referenced by LOBPCG::timeInfo().
double ModalTools::getTimeProj | ( | ) | const [inline] |
double ModalTools::getTimeProj_MassMult | ( | ) | const [inline] |
Definition at line 89 of file ModalTools.h.
References timeProj_MassMult.
Referenced by LOBPCG::timeInfo().
double ModalTools::getTimeProj_QMult | ( | ) | const [inline] |
double ModalTools::getTimeProj_QtMult | ( | ) | const [inline] |
Definition at line 87 of file ModalTools.h.
References timeQtMult.
Referenced by LOBPCG::timeInfo().
void ModalTools::localProjection | ( | int | numRow, | |
int | numCol, | |||
int | length, | |||
double * | U, | |||
int | ldU, | |||
double * | MatV, | |||
int | ldV, | |||
double * | UtMatV, | |||
int | ldUtMatV, | |||
double * | work | |||
) | const |
Definition at line 439 of file ModalTools.cpp.
References callBLAS, and MyComm.
Referenced by LOBPCG::solve(), and KnyazevLOBPCG::solve().
int ModalTools::makeSimpleLumpedMass | ( | const Epetra_Operator * | M, | |
double * | weight | |||
) | const |
int ModalTools::massOrthonormalize | ( | Epetra_MultiVector & | X, | |
Epetra_MultiVector & | MX, | |||
const Epetra_Operator * | M, | |||
const Epetra_MultiVector & | Q, | |||
int | howMany, | |||
int | type = 0 , |
|||
double * | WS = 0 , |
|||
double | kappa = 1.5625 | |||
) |
Definition at line 114 of file ModalTools.cpp.
References callBLAS, blas::dot(), eps, MyComm, MyWatch, numNorm_MassMult, numProj_MassMult, timeNorm, timeNorm_MassMult, timeProj, timeProj_MassMult, timeQMult, and timeQtMult.
Referenced by LOBPCG::solve().
Here is the call graph for this function:
const Epetra_BLAS ModalTools::callBLAS [private] |
Definition at line 51 of file ModalTools.h.
Referenced by directSolver(), localProjection(), and massOrthonormalize().
const FortranRoutines ModalTools::callFortran [private] |
const Epetra_LAPACK ModalTools::callLAPACK [private] |
double ModalTools::eps [private] |
Definition at line 57 of file ModalTools.h.
Referenced by directSolver(), massOrthonormalize(), and ModalTools().
const Epetra_Comm& ModalTools::MyComm [private] |
Definition at line 54 of file ModalTools.h.
Referenced by localProjection(), makeSimpleLumpedMass(), and massOrthonormalize().
const Epetra_Time ModalTools::MyWatch [private] |
int ModalTools::numNorm_MassMult [private] |
Definition at line 67 of file ModalTools.h.
Referenced by getNumNorm_MassMult(), and massOrthonormalize().
int ModalTools::numProj_MassMult [private] |
Definition at line 66 of file ModalTools.h.
Referenced by getNumProj_MassMult(), and massOrthonormalize().
double ModalTools::timeNorm [private] |
double ModalTools::timeNorm_MassMult [private] |
Definition at line 62 of file ModalTools.h.
Referenced by getTimeNorm_MassMult(), and massOrthonormalize().
double ModalTools::timeProj [private] |
double ModalTools::timeProj_MassMult [private] |
Definition at line 61 of file ModalTools.h.
Referenced by getTimeProj_MassMult(), and massOrthonormalize().
double ModalTools::timeQMult [private] |
Definition at line 60 of file ModalTools.h.
Referenced by getTimeProj_QMult(), and massOrthonormalize().
double ModalTools::timeQtMult [private] |
Definition at line 59 of file ModalTools.h.
Referenced by getTimeProj_QtMult(), and massOrthonormalize().