|
Ifpack Package Browser (Single Doxygen Collection)
Development
|
Go to the documentation of this file.
43 #ifndef IFPACK_POINTRELAXATION_H
44 #define IFPACK_POINTRELAXATION_H
49 #include "Epetra_Vector.h"
50 #include "Epetra_Time.h"
51 #include "Epetra_RowMatrix.h"
52 #include "Epetra_Import.h"
54 #include "Teuchos_RefCountPtr.hpp"
260 const int MaxIters = 1550,
261 const double Tol = 1e-9,
274 virtual std::ostream&
Print(std::ostream & os)
const;
435 bool ComputeCondest_;
453 Teuchos::RefCountPtr<const Epetra_RowMatrix>
Matrix_;
459 Teuchos::RefCountPtr<Epetra_Time>
Time_;
482 #endif // IFPACK_POINTRELAXATION_H
int * LocalSmoothingIndices_
List of (local) unknowns for local smoothing (if any)
virtual int ApplyInverseSGS_FastCrsMatrix(const Epetra_CrsMatrix *A, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual int ApplyInverseGS(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Applies the Gauss-Seidel preconditioner to X, returns the result in Y.
Teuchos::RefCountPtr< Epetra_Time > Time_
Time object to track timing.
virtual double NormInf() const
Returns the infinity norm of the global matrix (not implemented)
virtual bool IsComputed() const
Returns true if the preconditioner has been successfully computed.
Ifpack_PointRelaxation: a class to define point relaxation preconditioners of for Epetra_RowMatrix's.
double Condest_
Contains the estimated condition number.
virtual int SetUseTranspose(bool UseTranspose_in)
virtual int ApplyInverseGS_CrsMatrix(const Epetra_CrsMatrix *A, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual ~Ifpack_PointRelaxation()
Destructor.
virtual void SetLabel()
Sets the label.
virtual int ApplyInverseGS_FastCrsMatrix(const Epetra_CrsMatrix *A, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
long long NumGlobalNonzeros_
Number of global nonzeros.
Teuchos::RefCountPtr< Epetra_Vector > Diagonal_
Contains the diagonal elements of Matrix.
bool UseTranspose_
If true, use the tranpose of Matrix_.
Ifpack_PointRelaxation(const Ifpack_PointRelaxation &rhs)
Copy constructor (PRIVATE, should not be used)
virtual int NumApplyInverse() const
Returns the number of calls to ApplyInverse().
int NumMyNonzeros_
Number of local nonzeros.
Teuchos::RefCountPtr< Epetra_Import > Importer_
Importer for parallel GS and SGS.
long long NumGlobalRows_
Number of global rows.
std::string Label_
Contains the label of this object.
virtual int ApplyInverseGS_RowMatrix(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
bool DoL1Method_
Do L1 Jacobi/GS/SGS.
virtual bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_Map object associated with the range of this operator.
virtual double ComputeTime() const
Returns the time spent in Compute().
int NumCompute_
Contains the number of successful call to Compute().
virtual const Epetra_RowMatrix & Matrix() const
Returns a pointer to the matrix to be preconditioned.
double L1Eta_
Eta parameter for modified L1 method.
int NumInitialize_
Contains the number of successful calls to Initialize().
virtual int Initialize()
Computes all it is necessary to initialize the preconditioner.
Teuchos::RefCountPtr< const Epetra_RowMatrix > Matrix_
Pointers to the matrix to be preconditioned.
Ifpack_CondestType
Ifpack_CondestType: enum to define the type of condition number estimate.
virtual bool IsInitialized() const
Returns true if the preconditioner has been successfully initialized, false otherwise.
virtual int ApplyInverseSGS(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Applies the symmetric Gauss-Seidel preconditioner to X, returns the result in Y.
virtual int ApplyInverseGS_LocalFastCrsMatrix(const Epetra_CrsMatrix *A, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
#define IFPACK_CHK_ERR(ifpack_err)
virtual int Compute()
Computes the preconditioners.
virtual int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Applies the preconditioner to X, returns the result in Y.
bool IsComputed_
If true, the preconditioner has been computed successfully.
Ifpack_PointRelaxation(const Epetra_RowMatrix *Matrix)
Ifpack_PointRelaxation constructor with given Epetra_RowMatrix.
double ApplyInverseTime_
Contains the time for all successful calls to ApplyInverse().
virtual int ApplyInverseSGS_CrsMatrix(const Epetra_CrsMatrix *A, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
bool IsParallel_
If true, more than 1 processor is currently used.
virtual int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Applies the matrix to an Epetra_MultiVector.
virtual const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_Map object associated with the domain of this operator.
virtual int ApplyInverseSGS_RowMatrix(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual int SetParameters(Teuchos::ParameterList &List)
Sets all the parameters for the preconditioner.
double ComputeTime_
Contains the time for all successful calls to Compute().
int NumLocalSmoothingIndices_
Number of (local) unknowns for local smoothing.
Ifpack_PointRelaxation & operator=(const Ifpack_PointRelaxation &rhs)
operator = (PRIVATE, should not be used)
int NumSweeps_
Number of application of the preconditioner (should be greater than 0).
virtual int ApplyInverseSGS_LocalFastCrsMatrix(const Epetra_CrsMatrix *A, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual double InitializeFlops() const
Returns the number of flops in the initialization phase.
virtual const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
virtual int NumCompute() const
Returns the number of calls to Compute().
bool ZeroStartingSolution_
If true, the starting solution is always the zero vector.
virtual double ComputeFlops() const
Returns the number of flops in the computation phase.
virtual const char * Label() const
Ifpack_Preconditioner: basic class for preconditioning in Ifpack.
virtual int ApplyInverseJacobi(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Applies the Jacobi preconditioner to X, returns the result in Y.
virtual bool UseTranspose() const
Returns the current UseTranspose setting.
virtual double ApplyInverseFlops() const
Returns the number of flops for the application of the preconditioner.
virtual double Condest() const
Returns the condition number estimate, or -1.0 if not computed.
double ApplyInverseFlops_
Contain sthe number of flops for ApplyInverse().
int NumMyRows_
Number of local rows.
virtual double ApplyInverseTime() const
Returns the time spent in ApplyInverse().
virtual int NumInitialize() const
Returns the number of calls to Initialize().
virtual double InitializeTime() const
Returns the time spent in Initialize().
bool IsInitialized_
If true, the preconditioner has been computed successfully.
bool DoBackwardGS_
Backward-Mode Gauss Seidel.
double DampingFactor_
Damping factor.
virtual std::ostream & Print(std::ostream &os) const
Prints object to an output stream.
double ComputeFlops_
Contains the number of flops for Compute().
int NumApplyInverse_
Contains the number of successful call to ApplyInverse().
double InitializeTime_
Contains the time for all successful calls to Initialize().