NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | List of all members
NOX::Epetra::Scaling Class Reference

Object to control scaling of vectors and linear systems. More...

#include <NOX_Epetra_Scaling.H>

Public Types

enum  SourceType { None, RowSum, ColSum, UserDefined }
 Describes where the scaling vector comes from.
 
enum  ScaleType { Left, Right }
 Describes the type of scaling to apply.
 

Public Member Functions

 Scaling ()
 Constructor.
 
virtual ~Scaling ()
 Virtual destructor.
 
virtual void addUserScaling (ScaleType type, const Teuchos::RCP< Epetra_Vector > &D)
 Add a user supplied diagonal scale vector to the scaling object.
 
virtual void addRowSumScaling (ScaleType type, const Teuchos::RCP< Epetra_Vector > &D)
 Add "Row Sum" scaling to the scaling object. The supplied vector is used to store the current row sum vector.
 
virtual void addColSumScaling (ScaleType type, const Teuchos::RCP< Epetra_Vector > &D)
 Add "Col Sum" scaling to the scaling object. The supplied vector is used to store the current column sum vector.
 
virtual void computeScaling (const Epetra_LinearProblem &problem)
 Computes Row Sum scaling diagonal vectors. Only needs to be called if a row or column sum scaling has been requested.
 
virtual void scaleLinearSystem (Epetra_LinearProblem &problem)
 Scales the linear system.
 
virtual void unscaleLinearSystem (Epetra_LinearProblem &problem)
 Remove the scaling from the linear system.
 
virtual void applyRightScaling (const Epetra_Vector &input, Epetra_Vector &result)
 Applies any RIGHT scaling vectors to an input vector.
 
virtual void applyLeftScaling (const Epetra_Vector &input, Epetra_Vector &result)
 Applies any LEFT scaling vectors to an input vector.
 
virtual void print (std::ostream &os)
 Printing.
 

Detailed Description

Object to control scaling of vectors and linear systems.

Currently this assumes a diagonal scaling only! Once epetra can do matrix-matrix multiplies we will expand this class.


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