Komplex Development
Loading...
Searching...
No Matches
Komplex_Ordering Class Reference

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.
 
 Komplex_Ordering (Komplex_Ordering &Source)
 Komplex_Ordering copy constructor.
 
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.
 
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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Komplex_Ordering() [1/2]

Komplex_Ordering::Komplex_Ordering ( const Epetra_BlockMap & Map,
Komplex_KForms KForm,
bool IsOneObject )

Basic Komplex_Ordering constuctor.

Creates a Komplex_Ordering object.

Parameters
Map(In) A Epetra_LocalMap, Epetra_Map or Epetra_BlockMap.
Warning
Note that, because Epetra_LocalMap derives from Epetra_Map and Epetra_Map derives from Epetra_BlockMap, this constructor works for all three types of Epetra map classes.
Parameters
KForm(In) The Komplex_KForms to use.
IsOneObject(In) If true, this ordering is for a single object, real and imaginary values interleaved.
Returns
Pointer to a Komplex_Ordering object.

References KForm(), and Epetra_BlockMap::NumGlobalElements().

Referenced by Komplex_Ordering().

◆ Komplex_Ordering() [2/2]

Komplex_Ordering::Komplex_Ordering ( Komplex_Ordering & Source)

Komplex_Ordering copy constructor.

Creates a Komplex_Ordering object from a pre-existing one.

Parameters
Source(In) A fully constructed Komplex_Ordering object.
Returns
Pointer to a Komplex_Ordering object.

References Komplex_Ordering().

Member Function Documentation

◆ GlobalIndex()

int Komplex_Ordering::GlobalIndex ( int GlobalRow,
int & Index )

Global element in P access function

Parameters
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.
Returns
Integer error code

Referenced by MyIndex().

◆ GlobalScaling()

int Komplex_Ordering::GlobalScaling ( int GlobalRow,
double & Scalar )

Global element in D access function

Parameters
GlobalRow(In) Array row to be returned.
Scalar(Out) Double address to return the value.
Returns
Integer error code, set to 0 if successful.

Referenced by MyScaling().

◆ MyIndex()

int Komplex_Ordering::MyIndex ( int MyRow,
int & Index )

Local element in P access function

Parameters
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.
Returns
Integer error code

References GlobalIndex().

◆ MyScaling()

int Komplex_Ordering::MyScaling ( int MyRow,
double & Scalar )

Local element in D access function

Parameters
MyRow(In) Array row to be returned.
Scalar(Out) Double address to return the value.
Returns
Integer error code, set to 0 if successful.

References GlobalScaling().

◆ PermutationVector()

int Komplex_Ordering::PermutationVector ( int * Perms)

P vector access function

Parameters
Perms(Out) Pointer to memory space that will contain the values of P.
Returns
Integer error code, set to 0 if successful.

◆ Reset()

void Komplex_Ordering::Reset ( Komplex_KForms NewKForm)

Reset the values of P_ and D_ to their original state and set KForm_ to NewKForm.

Parameters
Source(In) Fully constructed Komplex_MultiVector that owns the this Komplex_Ordering.
Returns
Integer error code, set to 0 if successful.

◆ ScalingVector()

int Komplex_Ordering::ScalingVector ( double * Scales)

D vector access function

Parameters
Scales(Out) Pointer to memory space that will contain the values of D.
Returns
Integer error code, set to 0 if successful.

◆ SwitchKForm()

int Komplex_Ordering::SwitchKForm ( Komplex_KForms NewKForm)

Switches the current K form.

Parameters
NewKForm(In) The new KForms to use.
Returns
Integer error code, set to 0 if successful.

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