EpetraExt Package Browser (Single Doxygen Collection)  Development
Public Types | Public Member Functions | Private Attributes | List of all members
EpetraExt::LinearProblem_Scale Class Reference

Given an input Epetra_LinearProblem, recursive, left and right scaling are performed. More...

#include <EpetraExt_Scale_LinearProblem.h>

Inheritance diagram for EpetraExt::LinearProblem_Scale:
Inheritance graph
[legend]

Public Types

enum  ScaleType { Sum, Max, Diag, None }
 
- Public Types inherited from EpetraExt::SameTypeTransform< Epetra_LinearProblem >
typedef Epetra_LinearProblem TransformType
 
typedef Epetra_LinearProblemTransformTypePtr
 
typedef Epetra_LinearProblemTransformTypeRef
 
- Public Types inherited from EpetraExt::Transform< Epetra_LinearProblem, Epetra_LinearProblem >
typedef Epetra_LinearProblem OriginalType
 
typedef Epetra_LinearProblemOriginalTypePtr
 
typedef Teuchos::RCP< Epetra_LinearProblemOriginalTypeRCP
 
typedef Epetra_LinearProblemOriginalTypeRef
 
typedef Epetra_LinearProblem NewType
 
typedef Epetra_LinearProblemNewTypePtr
 
typedef Teuchos::RCP< Epetra_LinearProblemNewTypeRCP
 
typedef Epetra_LinearProblemNewTypeRef
 

Public Member Functions

 ~LinearProblem_Scale ()
 Destructor. More...
 
 LinearProblem_Scale (ScaleType left=Sum, ScaleType right=Sum, double exp_fac=1.0, int iterations=1)
 Constructor. More...
 
bool fwd ()
 Applies forward scaling. More...
 
bool rvs ()
 Reverses scaling. More...
 
- Public Member Functions inherited from EpetraExt::InPlaceTransform< Epetra_LinearProblem >
Transform< Epetra_LinearProblem, Epetra_LinearProblem >::NewTypeRef operator() (typename Transform< Epetra_LinearProblem, Epetra_LinearProblem >::OriginalTypeRef orig)
 
virtual ~InPlaceTransform ()
 
- Public Member Functions inherited from EpetraExt::SameTypeTransform< Epetra_LinearProblem >
virtual ~SameTypeTransform ()
 
- Public Member Functions inherited from EpetraExt::Transform< Epetra_LinearProblem, Epetra_LinearProblem >
virtual ~Transform ()
 
virtual NewTypeRef operator() (OriginalTypeRef orig)=0
 Analysis of transform operation on original object and construction of new object. More...
 
virtual bool analyze (OriginalTypeRef orig)
 Initial analysis phase of transform. More...
 
virtual NewTypeRef construct ()
 Construction of new object as a result of the transform. More...
 
virtual bool isConstructed ()
 Check for whether transformed object has been constructed. More...
 

Private Attributes

const ScaleType lScale_
 
const ScaleType rScale_
 
const double expFac_
 
const int iters_
 
bool scaled_
 
std::vector< Epetra_Vector * > lScaleVecs_
 
std::vector< Epetra_Vector * > rScaleVecs_
 

Additional Inherited Members

- Protected Member Functions inherited from EpetraExt::Transform< Epetra_LinearProblem, Epetra_LinearProblem >
 Transform ()
 Default constructor, protected to allow only derived classes to use. More...
 
- Protected Attributes inherited from EpetraExt::Transform< Epetra_LinearProblem, Epetra_LinearProblem >
OriginalTypePtr origObj_
 
NewTypePtr newObj_
 

Detailed Description

Given an input Epetra_LinearProblem, recursive, left and right scaling are performed.

Definition at line 57 of file EpetraExt_Scale_LinearProblem.h.

Member Enumeration Documentation

◆ ScaleType

Enumerator
Sum 
Max 
Diag 
None 

Definition at line 61 of file EpetraExt_Scale_LinearProblem.h.

Constructor & Destructor Documentation

◆ ~LinearProblem_Scale()

EpetraExt::LinearProblem_Scale::~LinearProblem_Scale ( )

Destructor.

Definition at line 51 of file EpetraExt_Scale_LinearProblem.cpp.

◆ LinearProblem_Scale()

EpetraExt::LinearProblem_Scale::LinearProblem_Scale ( ScaleType  left = Sum,
ScaleType  right = Sum,
double  exp_fac = 1.0,
int  iterations = 1 
)
inline

Constructor.

Definition at line 71 of file EpetraExt_Scale_LinearProblem.h.

Member Function Documentation

◆ fwd()

bool EpetraExt::LinearProblem_Scale::fwd ( )
virtual

Applies forward scaling.

Implements EpetraExt::Transform< Epetra_LinearProblem, Epetra_LinearProblem >.

Definition at line 63 of file EpetraExt_Scale_LinearProblem.cpp.

◆ rvs()

bool EpetraExt::LinearProblem_Scale::rvs ( )
virtual

Member Data Documentation

◆ lScale_

const ScaleType EpetraExt::LinearProblem_Scale::lScale_
private

Definition at line 94 of file EpetraExt_Scale_LinearProblem.h.

◆ rScale_

const ScaleType EpetraExt::LinearProblem_Scale::rScale_
private

Definition at line 95 of file EpetraExt_Scale_LinearProblem.h.

◆ expFac_

const double EpetraExt::LinearProblem_Scale::expFac_
private

Definition at line 97 of file EpetraExt_Scale_LinearProblem.h.

◆ iters_

const int EpetraExt::LinearProblem_Scale::iters_
private

Definition at line 99 of file EpetraExt_Scale_LinearProblem.h.

◆ scaled_

bool EpetraExt::LinearProblem_Scale::scaled_
private

Definition at line 101 of file EpetraExt_Scale_LinearProblem.h.

◆ lScaleVecs_

std::vector<Epetra_Vector*> EpetraExt::LinearProblem_Scale::lScaleVecs_
private

Definition at line 103 of file EpetraExt_Scale_LinearProblem.h.

◆ rScaleVecs_

std::vector<Epetra_Vector*> EpetraExt::LinearProblem_Scale::rScaleVecs_
private

Definition at line 104 of file EpetraExt_Scale_LinearProblem.h.


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