NOX Development
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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]

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_CommComm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator.
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this operator.
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this operator.
 
virtual bool computeF (const Epetra_Vector &, Epetra_Vector &, const 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 std::string &functionName, const std::string &errorMsg) const
 Exception handler for the XYZT preconditioner class.
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 
- Public Member Functions inherited from NOX::Epetra::Interface::Required
 Required ()
 Constructor.
 
virtual ~Required ()
 Destructor.
 
virtual bool computeF (const Epetra_Vector &x, Epetra_Vector &F, const FillType fillFlag)=0
 Compute the function, F, given the specified input vector x. Returns true if computation was successful.
 
- Public Member Functions inherited from NOX::Epetra::Interface::Jacobian
 Jacobian ()
 Constructor.
 
virtual ~Jacobian ()
 Destructor.
 
virtual bool computeJacobian (const Epetra_Vector &x, Epetra_Operator &Jac)=0
 
- Public Member Functions inherited from NOX::Epetra::Interface::Preconditioner
 Preconditioner ()
 Constructor.
 
virtual ~Preconditioner ()
 Destructor.
 
virtual bool computePreconditioner (const Epetra_Vector &x, Epetra_Operator &M, Teuchos::ParameterList *precParams=0)=0
 Computes a user defined preconditioner.
 

Additional Inherited Members

- Public Types inherited from NOX::Epetra::Interface::Required
enum  FillType {
  Residual , Jac , Prec , FD_Res ,
  MF_Res , MF_Jac , User
}
 Type of fill that a computeF() method is used for. More...
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ xyztPrec()

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.

References NOX::Epetra::Vector::CreateView, Epetra_CrsMatrix::RowMap(), and throwError().

Member Function Documentation

◆ Apply()

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

Apply XYZT preconditioner operator.

Implements Epetra_Operator.

◆ ApplyInverse()

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

Apply XYZT preconditioner operator inverse.

Implements Epetra_Operator.

References NOX::Epetra::Vector::CreateView, Insert, and Epetra_MultiVector::PutScalar().

◆ Comm()

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

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

Implements Epetra_Operator.

◆ computeF()

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

Compute residual $F$.

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

◆ computeJacobian()

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

Compute Jacobian $J$.

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

◆ computePreconditioner()

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

Compute preconditioner $M$.

Implements NOX::Epetra::Interface::Preconditioner.

◆ HasNormInf()

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

Have norm-inf.

Implements Epetra_Operator.

◆ Label()

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

Label.

Implements Epetra_Operator.

◆ NormInf()

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

Computing infinity norm.

Implements Epetra_Operator.

◆ OperatorDomainMap()

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

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

Implements Epetra_Operator.

◆ OperatorRangeMap()

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

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

Implements Epetra_Operator.

◆ SetUseTranspose()

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

Set transpose.

Implements Epetra_Operator.

◆ UseTranspose()

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

Transpose.

Implements Epetra_Operator.


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