EpetraExt Package Browser (Single Doxygen Collection) Development
Loading...
Searching...
No Matches
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< T >
typedef T TransformType
 
typedef T * TransformTypePtr
 
typedef T & TransformTypeRef
 
- Public Types inherited from EpetraExt::Transform< T, T >
typedef T OriginalType
 
typedef T * OriginalTypePtr
 
typedef Teuchos::RCP< T > OriginalTypeRCP
 
typedef T & OriginalTypeRef
 
typedef T NewType
 
typedef T * NewTypePtr
 
typedef Teuchos::RCP< T > NewTypeRCP
 
typedef T & NewTypeRef
 

Public Member Functions

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

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< T, T >
 Transform ()
 Default constructor, protected to allow only derived classes to use.
 
- Protected Attributes inherited from EpetraExt::Transform< T, T >
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 50 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< T, T >.

Definition at line 62 of file EpetraExt_Scale_LinearProblem.cpp.

◆ rvs()

bool EpetraExt::LinearProblem_Scale::rvs ( )
virtual

Reverses scaling.

Implements EpetraExt::Transform< T, T >.

Definition at line 136 of file EpetraExt_Scale_LinearProblem.cpp.

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: