#include <JDBSYM.h>
Inheritance diagram for JDBSYM:
Public Member Functions | |
JDBSYM (const Epetra_Comm &_Comm, const Epetra_Operator *KK, const Epetra_Operator *MM, const Epetra_Operator *PP, const Epetra_Operator *YHCP, Teuchos::ParameterList ¶ms) | |
~JDBSYM () | |
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 |
Static Public Member Functions | |
static void | set_defaults (Teuchos::ParameterList ¶m, int kmax) |
Protected Member Functions | |
int | jdbsym (double tau, double jdtol, int kmax, int jmax, int jmin, int blockSize, int blkwise, int V0dim, double *V0, opType _optype, double eps_tr, double toldecay, int strategy, int max_it, int max_inner_it, int clvl, int &k_conv, double *Q, double *lambda, int &it) |
void | validate (Epetra_MultiVector *Q, Epetra_MultiVector *MQ, Epetra_MultiVector *Y, Epetra_MultiVector *V, double *H, int ldh, opType _optype, double *work1) |
void | print_status (int clvl, int it, int k, int j, int kmax, int _blkSize, int actblkSize, double *s, double *resnrm, int *actcorrits) |
void | sorteig (int j, double S[], double U[], int ldu, double tau, double dtemp[], int idx1[], int idx2[], int strategy) |
void | quicksort (int n, double arr[], int idx[]) |
Private Types | |
OP_UNSYM1 = 1 | |
OP_UNSYM2 = 2 | |
OP_SYM = 3 | |
enum | opType { OP_UNSYM1 = 1, OP_UNSYM2 = 2, OP_SYM = 3 } |
Private Member Functions | |
JDBSYM (const JDBSYM &ref) | |
JDBSYM & | operator= (const JDBSYM &ref) |
Private Attributes | |
const CheckingTools | myVerify |
const Epetra_BLAS | callBLAS |
const Epetra_LAPACK | callLAPACK |
OrthoPack | ortho |
ModalTools | modalTool |
const SortingTools | mySort |
const Epetra_Comm & | MyComm |
const Epetra_Operator * | K |
const Epetra_Operator * | M |
const Epetra_Operator * | Prec |
const Epetra_Time | MyWatch |
const Epetra_Operator * | YHC |
LinSolvers * | linSolver |
Projectors * | projK |
Projectors * | projP |
int | historyCount |
double * | resHistory |
int | maxSpaceSize |
int | sumSpaceSize |
int * | spaceSizeHistory |
int | maxIterPCG |
int | sumIterPCG |
int * | iterPCGHistory |
double | memRequested |
double | highMem |
int | numCorrectionSolve |
int | numOrtho |
int | outerIter |
int | precOp |
int | residual |
int | stifOp |
double | timeBuildG |
double | timeBuildH |
double | timeCorrectionRHS |
double | timeCorrectionSolve |
double | timeLocalProj |
double | timeLocalSolve |
double | timeLocalUpdate |
double | timeNorm |
double | timeOrtho |
double | timeOuterLoop |
double | timePostProce |
double | timePrecOp |
double | timeResidual |
double | timeRestart |
double | timeStifOp |
Teuchos::ParameterList & | params_ |
Definition at line 75 of file JDBSYM.h.
enum JDBSYM::opType [private] |
JDBSYM::JDBSYM | ( | const JDBSYM & | ref | ) | [private] |
JDBSYM::JDBSYM | ( | const Epetra_Comm & | _Comm, | |
const Epetra_Operator * | KK, | |||
const Epetra_Operator * | MM, | |||
const Epetra_Operator * | PP, | |||
const Epetra_Operator * | YHCP, | |||
Teuchos::ParameterList & | params | |||
) |
Definition at line 55 of file JDBSYM.cpp.
JDBSYM::~JDBSYM | ( | ) |
Definition at line 108 of file JDBSYM.cpp.
References iterPCGHistory, linSolver, projK, projP, resHistory, and spaceSizeHistory.
void JDBSYM::algorithmInfo | ( | ) | const [virtual] |
void JDBSYM::historyInfo | ( | ) | const [virtual] |
Reimplemented from ModalAnalysisSolver.
Definition at line 1453 of file JDBSYM.cpp.
References historyCount, iterPCGHistory, params_, resHistory, and spaceSizeHistory.
void JDBSYM::initializeCounters | ( | ) | [virtual] |
Reimplemented from ModalAnalysisSolver.
Definition at line 1398 of file JDBSYM.cpp.
References highMem, historyCount, iterPCGHistory, maxIterPCG, maxSpaceSize, memRequested, numCorrectionSolve, numOrtho, outerIter, precOp, resHistory, residual, spaceSizeHistory, stifOp, sumIterPCG, sumSpaceSize, timeBuildG, timeBuildH, timeCorrectionRHS, timeCorrectionSolve, timeLocalProj, timeLocalSolve, timeLocalUpdate, timeNorm, timeOrtho, timeOuterLoop, timePostProce, timePrecOp, timeResidual, timeRestart, and timeStifOp.
int JDBSYM::jdbsym | ( | double | tau, | |
double | jdtol, | |||
int | kmax, | |||
int | jmax, | |||
int | jmin, | |||
int | blockSize, | |||
int | blkwise, | |||
int | V0dim, | |||
double * | V0, | |||
opType | _optype, | |||
double | eps_tr, | |||
double | toldecay, | |||
int | strategy, | |||
int | max_it, | |||
int | max_inner_it, | |||
int | clvl, | |||
int & | k_conv, | |||
double * | Q, | |||
double * | lambda, | |||
int & | it | |||
) | [protected] |
Definition at line 131 of file JDBSYM.cpp.
References callBLAS, callLAPACK, currentSize(), ModalTools::directSolver(), highMem, OrthoPack::IteratedClassicalGS(), K, linSolver, M, Projectors::MakeRHS(), maxIterPCG, memRequested, modalTool, OrthoPack::ModifiedGS(), OrthoPack::ModifiedGSB(), MyComm, MyWatch, numCorrectionSolve, numOrtho, OP_SYM, OP_UNSYM1, OP_UNSYM2, ortho, Prec, precOp, print_status(), projK, projP, Projectors::resetPro_k(), Projectors::resetPro_Q(), Projectors::resetPro_Qb(), Projectors::resetPro_theta(), Projectors::resetPro_Y(), residual, LinSolvers::solve(), sorteig(), stifOp, sumIterPCG, timeBuildG, timeBuildH, timeCorrectionRHS, timeCorrectionSolve, timeLocalProj, timeLocalSolve, timeLocalUpdate, timeNorm, timeOrtho, timeOuterLoop, timePrecOp, timeResidual, timeRestart, timeStifOp, validate(), and YHC.
Referenced by solve().
Here is the call graph for this function:
void JDBSYM::memoryInfo | ( | ) | const [virtual] |
Reimplemented from ModalAnalysisSolver.
Definition at line 1479 of file JDBSYM.cpp.
References highMem, memRequested, and MyComm.
int JDBSYM::minimumSpaceDimension | ( | int | nev | ) | const [inline, virtual] |
void JDBSYM::operationInfo | ( | ) | const [virtual] |
Reimplemented from ModalAnalysisSolver.
Definition at line 1493 of file JDBSYM.cpp.
References maxIterPCG, maxSpaceSize, numCorrectionSolve, numOrtho, outerIter, params_, precOp, residual, stifOp, sumIterPCG, and sumSpaceSize.
void JDBSYM::print_status | ( | int | clvl, | |
int | it, | |||
int | k, | |||
int | j, | |||
int | kmax, | |||
int | _blkSize, | |||
int | actblkSize, | |||
double * | s, | |||
double * | resnrm, | |||
int * | actcorrits | |||
) | [protected] |
Definition at line 1151 of file JDBSYM.cpp.
References historyCount, iterPCGHistory, resHistory, and spaceSizeHistory.
Referenced by jdbsym().
void JDBSYM::quicksort | ( | int | n, | |
double | arr[], | |||
int | idx[] | |||
) | [protected] |
void JDBSYM::set_defaults | ( | Teuchos::ParameterList & | param, | |
int | kmax | |||
) | [static] |
int JDBSYM::solve | ( | int | numEigen, | |
Epetra_MultiVector & | Q, | |||
double * | lambda | |||
) | [virtual] |
Implements ModalAnalysisSolver.
Definition at line 1338 of file JDBSYM.cpp.
References CheckingTools::inputArguments(), iterPCGHistory, jdbsym(), K, M, minimumSpaceDimension(), MyComm, mySort, myVerify, MyWatch, OP_SYM, OP_UNSYM1, OP_UNSYM2, outerIter, params_, Prec, resHistory, SortingTools::sortScalars_Vectors(), spaceSizeHistory, and timePostProce.
Here is the call graph for this function:
void JDBSYM::sorteig | ( | int | j, | |
double | S[], | |||
double | U[], | |||
int | ldu, | |||
double | tau, | |||
double | dtemp[], | |||
int | idx1[], | |||
int | idx2[], | |||
int | strategy | |||
) | [protected] |
Definition at line 1234 of file JDBSYM.cpp.
References quicksort().
Referenced by jdbsym().
Here is the call graph for this function:
void JDBSYM::timeInfo | ( | ) | const [virtual] |
Reimplemented from ModalAnalysisSolver.
Definition at line 1535 of file JDBSYM.cpp.
References Projectors::getTimeApply(), Projectors::getTimeApplyInverse(), projK, projP, timeBuildG, timeBuildH, timeCorrectionRHS, timeCorrectionSolve, timeLocalProj, timeLocalUpdate, timeOrtho, timeOuterLoop, timePostProce, timePrecOp, timeResidual, timeRestart, and timeStifOp.
Here is the call graph for this function:
void JDBSYM::validate | ( | Epetra_MultiVector * | Q, | |
Epetra_MultiVector * | MQ, | |||
Epetra_MultiVector * | Y, | |||
Epetra_MultiVector * | V, | |||
double * | H, | |||
int | ldh, | |||
opType | _optype, | |||
double * | work1 | |||
) | [protected] |
Definition at line 1011 of file JDBSYM.cpp.
References callLAPACK, M, MyComm, OP_UNSYM1, and Prec.
Referenced by jdbsym().
const Epetra_BLAS JDBSYM::callBLAS [private] |
const Epetra_LAPACK JDBSYM::callLAPACK [private] |
double JDBSYM::highMem [private] |
Definition at line 111 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and memoryInfo().
int JDBSYM::historyCount [private] |
Definition at line 99 of file JDBSYM.h.
Referenced by historyInfo(), initializeCounters(), and print_status().
int* JDBSYM::iterPCGHistory [private] |
Definition at line 108 of file JDBSYM.h.
Referenced by historyInfo(), initializeCounters(), print_status(), solve(), and ~JDBSYM().
const Epetra_Operator* JDBSYM::K [private] |
LinSolvers* JDBSYM::linSolver [private] |
const Epetra_Operator* JDBSYM::M [private] |
int JDBSYM::maxIterPCG [private] |
Definition at line 106 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and operationInfo().
int JDBSYM::maxSpaceSize [private] |
double JDBSYM::memRequested [private] |
Definition at line 110 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and memoryInfo().
ModalTools JDBSYM::modalTool [private] |
const Epetra_Comm& JDBSYM::MyComm [private] |
Definition at line 88 of file JDBSYM.h.
Referenced by jdbsym(), memoryInfo(), solve(), and validate().
const SortingTools JDBSYM::mySort [private] |
const CheckingTools JDBSYM::myVerify [private] |
const Epetra_Time JDBSYM::MyWatch [private] |
int JDBSYM::numCorrectionSolve [private] |
Definition at line 113 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and operationInfo().
int JDBSYM::numOrtho [private] |
Definition at line 114 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and operationInfo().
OrthoPack JDBSYM::ortho [private] |
int JDBSYM::outerIter [private] |
Definition at line 115 of file JDBSYM.h.
Referenced by initializeCounters(), operationInfo(), and solve().
Teuchos::ParameterList& JDBSYM::params_ [private] |
Definition at line 136 of file JDBSYM.h.
Referenced by algorithmInfo(), historyInfo(), operationInfo(), and solve().
const Epetra_Operator* JDBSYM::Prec [private] |
int JDBSYM::precOp [private] |
Definition at line 116 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and operationInfo().
Projectors* JDBSYM::projK [private] |
Projectors* JDBSYM::projP [private] |
double* JDBSYM::resHistory [private] |
Definition at line 100 of file JDBSYM.h.
Referenced by historyInfo(), initializeCounters(), print_status(), solve(), and ~JDBSYM().
int JDBSYM::residual [private] |
Definition at line 117 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and operationInfo().
int* JDBSYM::spaceSizeHistory [private] |
Definition at line 104 of file JDBSYM.h.
Referenced by historyInfo(), initializeCounters(), print_status(), solve(), and ~JDBSYM().
int JDBSYM::stifOp [private] |
Definition at line 118 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and operationInfo().
int JDBSYM::sumIterPCG [private] |
Definition at line 107 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and operationInfo().
int JDBSYM::sumSpaceSize [private] |
double JDBSYM::timeBuildG [private] |
Definition at line 120 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeBuildH [private] |
Definition at line 121 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeCorrectionRHS [private] |
Definition at line 122 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeCorrectionSolve [private] |
Definition at line 123 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeLocalProj [private] |
Definition at line 124 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeLocalSolve [private] |
double JDBSYM::timeLocalUpdate [private] |
Definition at line 126 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeNorm [private] |
double JDBSYM::timeOrtho [private] |
Definition at line 128 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeOuterLoop [private] |
Definition at line 129 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timePostProce [private] |
Definition at line 130 of file JDBSYM.h.
Referenced by initializeCounters(), solve(), and timeInfo().
double JDBSYM::timePrecOp [private] |
Definition at line 131 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeResidual [private] |
Definition at line 132 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeRestart [private] |
Definition at line 133 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
double JDBSYM::timeStifOp [private] |
Definition at line 134 of file JDBSYM.h.
Referenced by initializeCounters(), jdbsym(), and timeInfo().
const Epetra_Operator* JDBSYM::YHC [private] |