Komplex
Development
|
Komplex_Ordering: A class for manipulating the KForm of various Komplex objects. More...
#include <Komplex_Ordering.h>
Public Member Functions | |
Komplex_Ordering (const Epetra_BlockMap &Map, Komplex_KForms KForm, bool IsOneObject) | |
Basic Komplex_Ordering constuctor. More... | |
Komplex_Ordering (Komplex_Ordering &Source) | |
Komplex_Ordering copy constructor. More... | |
virtual | ~Komplex_Ordering (void) |
Komplex_Ordering destructor. | |
Komplex_KForms | KForm (void) |
Returns the current K form. | |
int | SwitchKForm (Komplex_KForms NewKForm) |
Switches the current K form. More... | |
int | PermutationVector (int *Perms) |
int | ScalingVector (double *Scales) |
int | GlobalIndex (int GlobalRow, int &Index) |
int | GlobalScaling (int GlobalRow, double &Scalar) |
int | MyIndex (int MyRow, int &Index) |
int | MyScaling (int MyRow, double &Scalar) |
void | Reset (Komplex_KForms NewKForm) |
Reset the values of P_ and D_ to their original state and set KForm_ to NewKForm. More... | |
Komplex_Ordering: A class for manipulating the KForm of various Komplex objects.
The Komplex_Ordering class aids other Komplex classes in switching from one KForm to another with minimal amounts of swapping.
Komplex_Ordering::Komplex_Ordering | ( | const Epetra_BlockMap & | Map, |
Komplex_KForms | KForm, | ||
bool | IsOneObject | ||
) |
Basic Komplex_Ordering constuctor.
Creates a Komplex_Ordering object.
Map | (In) A Epetra_LocalMap, Epetra_Map or Epetra_BlockMap. |
KForm | (In) The Komplex_KForms to use. |
IsOneObject | (In) If true, this ordering is for a single object, real and imaginary values interleaved. |
References Epetra_BlockMap::NumGlobalElements().
Komplex_Ordering::Komplex_Ordering | ( | Komplex_Ordering & | Source | ) |
Komplex_Ordering copy constructor.
Creates a Komplex_Ordering object from a pre-existing one.
Source | (In) A fully constructed Komplex_Ordering object. |
int Komplex_Ordering::GlobalIndex | ( | int | GlobalRow, |
int & | Index | ||
) |
Global element in P access function
GlobalRow | (In) Array row to be returned. |
Index | (Out) Integer code, 1 meaning GlobalRow is the TrueRow for a one-object object or 1 meaning GlobalRow/2 in the Real object; -1 meaning the preceding or following row for a one-object object or -1 meaning GlobalRow/2 in the Imag object. |
Referenced by MyIndex(), Komplex_MultiVector::ReplaceGlobalValue(), and Komplex_MultiVector::SumIntoGlobalValue().
int Komplex_Ordering::GlobalScaling | ( | int | GlobalRow, |
double & | Scalar | ||
) |
Global element in D access function
GlobalRow | (In) Array row to be returned. |
Scalar | (Out) Double address to return the value. |
Referenced by MyScaling(), Komplex_MultiVector::ReplaceGlobalValue(), and Komplex_MultiVector::SumIntoGlobalValue().
int Komplex_Ordering::MyIndex | ( | int | MyRow, |
int & | Index | ||
) |
Local element in P access function
MyRow | (In) Array row to be returned. |
Index | (Out) Integer code, 1 meaning MyRow is the TrueRow for a one-object object or 1 meaning MyRow/2 in the Real object; -1 meaning the preceding or following row for a one-object object or -1 meaning MyRow/2 in the Imag object. |
References GlobalIndex().
Referenced by Komplex_MultiVector::ReplaceMyValue(), and Komplex_MultiVector::SumIntoMyValue().
int Komplex_Ordering::MyScaling | ( | int | MyRow, |
double & | Scalar | ||
) |
Local element in D access function
MyRow | (In) Array row to be returned. |
Scalar | (Out) Double address to return the value. |
References GlobalScaling().
Referenced by Komplex_MultiVector::ReplaceMyValue(), and Komplex_MultiVector::SumIntoMyValue().
int Komplex_Ordering::PermutationVector | ( | int * | Perms | ) |
P vector access function
Perms | (Out) Pointer to memory space that will contain the values of P. |
References Epetra_Vector::ExtractCopy().
Referenced by Komplex_MultiVector::ImagValues(), Komplex_MultiVector::NormWeighted(), Komplex_MultiVector::operator[](), Komplex_MultiVector::Print(), and Komplex_MultiVector::RealValues().
void Komplex_Ordering::Reset | ( | Komplex_KForms | NewKForm | ) |
Reset the values of P_ and D_ to their original state and set KForm_ to NewKForm.
Source | (In) Fully constructed Komplex_MultiVector that owns the this Komplex_Ordering. |
int Komplex_Ordering::ScalingVector | ( | double * | Scales | ) |
D vector access function
Scales | (Out) Pointer to memory space that will contain the values of D. |
References Epetra_Vector::ExtractCopy().
Referenced by Komplex_MultiVector::ImagValues(), Komplex_MultiVector::MaxValue(), Komplex_MultiVector::MeanValue(), Komplex_MultiVector::MinValue(), Komplex_MultiVector::operator[](), Komplex_MultiVector::PutScalar(), and Komplex_MultiVector::RealValues().
int Komplex_Ordering::SwitchKForm | ( | Komplex_KForms | NewKForm | ) |
Switches the current K form.
NewKForm | (In) The new KForms to use. |
Referenced by Komplex_MultiVector::SwitchKForm().