JDBSYM Class Reference

#include <JDBSYM.h>

Inheritance diagram for JDBSYM:

Inheritance graph
[legend]
Collaboration diagram for JDBSYM:

Collaboration graph
[legend]
List of all members.

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 &params)
 ~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 &param, 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)
JDBSYMoperator= (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
LinSolverslinSolver
ProjectorsprojK
ProjectorsprojP
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_

Detailed Description

Definition at line 75 of file JDBSYM.h.


Member Enumeration Documentation

enum JDBSYM::opType [private]

Enumerator:
OP_UNSYM1 
OP_UNSYM2 
OP_SYM 

Definition at line 79 of file JDBSYM.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

void JDBSYM::algorithmInfo (  )  const [virtual]

Implements ModalAnalysisSolver.

Definition at line 1448 of file JDBSYM.cpp.

References params_.

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]

Implements ModalAnalysisSolver.

Definition at line 177 of file JDBSYM.h.

Referenced by solve().

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.

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

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]

Definition at line 1293 of file JDBSYM.cpp.

Referenced by sorteig().

void JDBSYM::set_defaults ( Teuchos::ParameterList &  param,
int  kmax 
) [static]

Definition at line 1321 of file JDBSYM.cpp.

Referenced by FemaxxDriver::set_defaults().

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().


Member Data Documentation

const Epetra_BLAS JDBSYM::callBLAS [private]

Definition at line 82 of file JDBSYM.h.

Referenced by jdbsym().

const Epetra_LAPACK JDBSYM::callLAPACK [private]

Definition at line 83 of file JDBSYM.h.

Referenced by jdbsym(), and validate().

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]

Definition at line 89 of file JDBSYM.h.

Referenced by jdbsym(), and solve().

LinSolvers* JDBSYM::linSolver [private]

Definition at line 95 of file JDBSYM.h.

Referenced by jdbsym(), and ~JDBSYM().

const Epetra_Operator* JDBSYM::M [private]

Definition at line 90 of file JDBSYM.h.

Referenced by jdbsym(), solve(), and validate().

int JDBSYM::maxIterPCG [private]

Definition at line 106 of file JDBSYM.h.

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

int JDBSYM::maxSpaceSize [private]

Definition at line 102 of file JDBSYM.h.

Referenced by initializeCounters(), and operationInfo().

double JDBSYM::memRequested [private]

Definition at line 110 of file JDBSYM.h.

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

ModalTools JDBSYM::modalTool [private]

Definition at line 85 of file JDBSYM.h.

Referenced by jdbsym().

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]

Definition at line 86 of file JDBSYM.h.

Referenced by solve().

const CheckingTools JDBSYM::myVerify [private]

Definition at line 81 of file JDBSYM.h.

Referenced by solve().

const Epetra_Time JDBSYM::MyWatch [private]

Definition at line 92 of file JDBSYM.h.

Referenced by jdbsym(), and solve().

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]

Definition at line 84 of file JDBSYM.h.

Referenced by jdbsym().

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]

Definition at line 91 of file JDBSYM.h.

Referenced by jdbsym(), solve(), and validate().

int JDBSYM::precOp [private]

Definition at line 116 of file JDBSYM.h.

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

Projectors* JDBSYM::projK [private]

Definition at line 96 of file JDBSYM.h.

Referenced by jdbsym(), timeInfo(), and ~JDBSYM().

Projectors* JDBSYM::projP [private]

Definition at line 97 of file JDBSYM.h.

Referenced by jdbsym(), timeInfo(), and ~JDBSYM().

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]

Definition at line 103 of file JDBSYM.h.

Referenced by initializeCounters(), and operationInfo().

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]

Definition at line 125 of file JDBSYM.h.

Referenced by initializeCounters(), and jdbsym().

double JDBSYM::timeLocalUpdate [private]

Definition at line 126 of file JDBSYM.h.

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

double JDBSYM::timeNorm [private]

Definition at line 127 of file JDBSYM.h.

Referenced by initializeCounters(), and jdbsym().

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]

Definition at line 93 of file JDBSYM.h.

Referenced by jdbsym().


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