NOX Development
Public Types | Public Member Functions
NOX::Epetra::Scaling Class Reference

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

#include <NOX_Epetra_Scaling.H>

Collaboration diagram for NOX::Epetra::Scaling:
Collaboration graph
[legend]

List of all members.

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends