LOCA::Epetra::xyztPrec Class Reference

Preconditioner operator class for solving space-time (XYZT) systems. More...

#include <LOCA_Epetra_xyztPrec.H>

Inheritance diagram for LOCA::Epetra::xyztPrec:

Inheritance graph
[legend]
Collaboration diagram for LOCA::Epetra::xyztPrec:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 xyztPrec (EpetraExt::BlockCrsMatrix &jacobian, Epetra_CrsMatrix &splitJac, EpetraExt::BlockVector &solution, EpetraExt::BlockVector &solutionOverlap, Epetra_Import &overlapImporter, Teuchos::ParameterList &precPrintParams, Teuchos::ParameterList &precLSParams, const Teuchos::RCP< EpetraExt::MultiComm > globalComm_)
 Constructor.
virtual ~xyztPrec ()
 Destructor.
virtual int SetUseTranspose (bool UseTranspose)
 Set transpose.
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Apply XYZT preconditioner operator.
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Apply XYZT preconditioner operator inverse.
virtual double NormInf () const
 Computing infinity norm.
virtual const char * Label () const
 Label.
virtual bool UseTranspose () const
 Transpose.
virtual bool HasNormInf () const
 Have norm-inf.
virtual const Epetra_Comm & Comm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator.
virtual const Epetra_Map & OperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this operator.
virtual const Epetra_Map & OperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this operator.
virtual bool computeF (const Epetra_Vector &, Epetra_Vector &, NOX::Epetra::Interface::Required::FillType)
 Compute residual $F$.
virtual bool computeJacobian (const Epetra_Vector &, Epetra_Operator &)
 Compute Jacobian $J$.
virtual bool computePreconditioner (const Epetra_Vector &x, Epetra_Operator &Prec, Teuchos::ParameterList *p=0)
 Compute preconditioner $M$.
virtual void throwError (const string &functionName, const string &errorMsg) const
 Exception handler for the XYZT preconditioner class.

Private Attributes

EpetraExt::BlockCrsMatrix & jacobian
 Reference to global XYZT Jacobian matrix.
Epetra_CrsMatrix & splitJac
 Reference to split (spatial) Jacobian matrix.
EpetraExt::BlockVector & solution
 Reference to global XYZT solution.
EpetraExt::BlockVector & solutionOverlap
 Reference to global XYZT solution overlap stored on other processors.
Epetra_Import & overlapImporter
 Reference to Epetra importer for overlapping XYZT solution imports.
Teuchos::ParameterList & printParams
 Reference to parameter list for controlling output of solve.
Teuchos::ParameterList & lsParams
 Reference to parameter list for controlling linear system solve.
const Teuchos::RCP
< EpetraExt::MultiComm > 
globalComm
 Reference to global communicator for global XYZT operator.
std::vector
< NOX::Epetra::LinearSystemAztecOO * > 
linSys
 Pointer to global XYZT linear system to be solved.
std::vector< Teuchos::RCP
< Epetra_CrsMatrix > > 
jacobianBlock
 Pointer to jacobian blocks of global XYZT system.
std::vector< Teuchos::RCP
< Epetra_CrsMatrix > > 
massBlock
 Pointer to mass matrix blocks of global XYZT system.
std::vector< Teuchos::RCP
< Epetra_Vector > > 
diagBlockSubdiag
 Pointer to subdiagonal blocks used in the BDSDT perconditioner.
EpetraExt::BlockVector * residual
 Pointer to global XYZT residual vector.
Epetra_Vector * splitVec
 Pointer to split (spatial) input vector of current iteration.
Epetra_Vector * splitRes
 Pointer to split (spatial) residual vector of current iteration.
Epetra_Vector * splitVecOld
 Pointer to split (spatial) input vector from previous iteration.
NOX::Epetra::VectorsplitRes_NEV
 View of split residual vector.
NOX::Epetra::VectorsplitVec_NEV
 View of split input vector.
bool isPeriodic
 Flag indicating whether XYZT system is periodic.
string label
 Label for this operator.


Detailed Description

Preconditioner operator class for solving space-time (XYZT) systems.

Implements right preconditioning operators for use in global XYZT Jacobian matrix solves.

Definition at line 106 of file LOCA_Epetra_xyztPrec.H.


Constructor & Destructor Documentation

LOCA::Epetra::xyztPrec::xyztPrec ( EpetraExt::BlockCrsMatrix &  jacobian,
Epetra_CrsMatrix &  splitJac,
EpetraExt::BlockVector &  solution,
EpetraExt::BlockVector &  solutionOverlap,
Epetra_Import &  overlapImporter,
Teuchos::ParameterList &  precPrintParams,
Teuchos::ParameterList &  precLSParams,
const Teuchos::RCP< EpetraExt::MultiComm >  globalComm_ 
)

Constructor.

Builds a preconditioner operator for a full XYZT Jacobian matrix jacobian. Right preconditioner applies are controlled using the parameters in precLSParams.

Definition at line 49 of file LOCA_Epetra_xyztPrec.C.

References NOX::Epetra::Vector::CreateView, diagBlockSubdiag, globalComm, jacobian, jacobianBlock, label, linSys, lsParams, massBlock, printParams, residual, solution, splitJac, splitRes, splitRes_NEV, splitVec, splitVec_NEV, splitVecOld, and throwError().

LOCA::Epetra::xyztPrec::~xyztPrec (  )  [virtual]

Destructor.

Definition at line 165 of file LOCA_Epetra_xyztPrec.C.

References globalComm, linSys, lsParams, residual, splitRes, splitRes_NEV, splitVec, splitVec_NEV, and splitVecOld.


Member Function Documentation

int LOCA::Epetra::xyztPrec::SetUseTranspose ( bool  UseTranspose  )  [virtual]

Set transpose.

Definition at line 192 of file LOCA_Epetra_xyztPrec.C.

int LOCA::Epetra::xyztPrec::Apply ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const [virtual]

Apply XYZT preconditioner operator.

Definition at line 199 of file LOCA_Epetra_xyztPrec.C.

int LOCA::Epetra::xyztPrec::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const [virtual]

double LOCA::Epetra::xyztPrec::NormInf (  )  const [virtual]

Computing infinity norm.

Definition at line 473 of file LOCA_Epetra_xyztPrec.C.

const char * LOCA::Epetra::xyztPrec::Label (  )  const [virtual]

Label.

Definition at line 500 of file LOCA_Epetra_xyztPrec.C.

References label.

bool LOCA::Epetra::xyztPrec::UseTranspose (  )  const [virtual]

Transpose.

Definition at line 483 of file LOCA_Epetra_xyztPrec.C.

bool LOCA::Epetra::xyztPrec::HasNormInf (  )  const [virtual]

Have norm-inf.

Definition at line 493 of file LOCA_Epetra_xyztPrec.C.

const Epetra_Comm & LOCA::Epetra::xyztPrec::Comm (  )  const [virtual]

Returns a pointer to the Epetra_Comm communicator associated with this operator.

Definition at line 506 of file LOCA_Epetra_xyztPrec.C.

References jacobian.

const Epetra_Map & LOCA::Epetra::xyztPrec::OperatorDomainMap (  )  const [virtual]

Returns the Epetra_Map object associated with the domain of this operator.

Definition at line 512 of file LOCA_Epetra_xyztPrec.C.

References jacobian.

const Epetra_Map & LOCA::Epetra::xyztPrec::OperatorRangeMap (  )  const [virtual]

Returns the Epetra_Map object associated with the range of this operator.

Definition at line 518 of file LOCA_Epetra_xyztPrec.C.

References jacobian.

bool LOCA::Epetra::xyztPrec::computeF ( const Epetra_Vector &  ,
Epetra_Vector &  ,
NOX::Epetra::Interface::Required::FillType   
) [virtual]

Compute residual $F$.

Implements NOX::Epetra::Interface::Required.

Definition at line 524 of file LOCA_Epetra_xyztPrec.C.

bool LOCA::Epetra::xyztPrec::computeJacobian ( const Epetra_Vector &  ,
Epetra_Operator &   
) [virtual]

Compute Jacobian $J$.

Implements NOX::Epetra::Interface::Jacobian.

Definition at line 532 of file LOCA_Epetra_xyztPrec.C.

bool LOCA::Epetra::xyztPrec::computePreconditioner ( const Epetra_Vector &  x,
Epetra_Operator &  Prec,
Teuchos::ParameterList *  p = 0 
) [virtual]

void LOCA::Epetra::xyztPrec::throwError ( const string &  functionName,
const string &  errorMsg 
) const [virtual]

Exception handler for the XYZT preconditioner class.

Definition at line 598 of file LOCA_Epetra_xyztPrec.C.

Referenced by xyztPrec().


Member Data Documentation

EpetraExt::BlockCrsMatrix& LOCA::Epetra::xyztPrec::jacobian [private]

Reference to global XYZT Jacobian matrix.

Definition at line 194 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), Comm(), computePreconditioner(), OperatorDomainMap(), OperatorRangeMap(), and xyztPrec().

Epetra_CrsMatrix& LOCA::Epetra::xyztPrec::splitJac [private]

Reference to split (spatial) Jacobian matrix.

Definition at line 197 of file LOCA_Epetra_xyztPrec.H.

Referenced by xyztPrec().

EpetraExt::BlockVector& LOCA::Epetra::xyztPrec::solution [private]

Reference to global XYZT solution.

Definition at line 200 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), and xyztPrec().

EpetraExt::BlockVector& LOCA::Epetra::xyztPrec::solutionOverlap [private]

Reference to global XYZT solution overlap stored on other processors.

Definition at line 203 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse().

Epetra_Import& LOCA::Epetra::xyztPrec::overlapImporter [private]

Reference to Epetra importer for overlapping XYZT solution imports.

Definition at line 206 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse().

Teuchos::ParameterList& LOCA::Epetra::xyztPrec::printParams [private]

Reference to parameter list for controlling output of solve.

Definition at line 209 of file LOCA_Epetra_xyztPrec.H.

Referenced by xyztPrec().

Teuchos::ParameterList& LOCA::Epetra::xyztPrec::lsParams [private]

Reference to parameter list for controlling linear system solve.

Definition at line 212 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), computePreconditioner(), xyztPrec(), and ~xyztPrec().

const Teuchos::RCP<EpetraExt::MultiComm> LOCA::Epetra::xyztPrec::globalComm [private]

Reference to global communicator for global XYZT operator.

Definition at line 215 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), computePreconditioner(), xyztPrec(), and ~xyztPrec().

Pointer to global XYZT linear system to be solved.

Definition at line 218 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), computePreconditioner(), xyztPrec(), and ~xyztPrec().

std::vector<Teuchos::RCP<Epetra_CrsMatrix> > LOCA::Epetra::xyztPrec::jacobianBlock [private]

Pointer to jacobian blocks of global XYZT system.

Definition at line 221 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), computePreconditioner(), and xyztPrec().

std::vector<Teuchos::RCP<Epetra_CrsMatrix> > LOCA::Epetra::xyztPrec::massBlock [private]

Pointer to mass matrix blocks of global XYZT system.

Definition at line 224 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), computePreconditioner(), and xyztPrec().

std::vector<Teuchos::RCP<Epetra_Vector> > LOCA::Epetra::xyztPrec::diagBlockSubdiag [private]

Pointer to subdiagonal blocks used in the BDSDT perconditioner.

Definition at line 227 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), computePreconditioner(), and xyztPrec().

EpetraExt::BlockVector* LOCA::Epetra::xyztPrec::residual [private]

Pointer to global XYZT residual vector.

Definition at line 230 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), xyztPrec(), and ~xyztPrec().

Epetra_Vector* LOCA::Epetra::xyztPrec::splitVec [private]

Pointer to split (spatial) input vector of current iteration.

Definition at line 233 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), computePreconditioner(), xyztPrec(), and ~xyztPrec().

Epetra_Vector* LOCA::Epetra::xyztPrec::splitRes [private]

Pointer to split (spatial) residual vector of current iteration.

Definition at line 236 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), computePreconditioner(), xyztPrec(), and ~xyztPrec().

Epetra_Vector* LOCA::Epetra::xyztPrec::splitVecOld [private]

Pointer to split (spatial) input vector from previous iteration.

Definition at line 239 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), xyztPrec(), and ~xyztPrec().

View of split residual vector.

Definition at line 242 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), xyztPrec(), and ~xyztPrec().

View of split input vector.

Definition at line 245 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), xyztPrec(), and ~xyztPrec().

Flag indicating whether XYZT system is periodic.

Definition at line 248 of file LOCA_Epetra_xyztPrec.H.

Referenced by ApplyInverse(), and computePreconditioner().

Label for this operator.

Definition at line 251 of file LOCA_Epetra_xyztPrec.H.

Referenced by Label(), and xyztPrec().


The documentation for this class was generated from the following files:

Generated on Thu Dec 17 11:02:49 2009 for Nonlinear Solver Project by  doxygen 1.5.9