ParMooN
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | Friends | List of all members
TStructure Class Reference
Inheritance diagram for TStructure:
Inheritance graph
[legend]

Public Member Functions

 TStructure ()
 
 TStructure (int n, int N_entries, int *col_ptr, int *row_ptr)
 
 TStructure (int nRows, int nCols, int N_entries, int *col_ptr, int *row_ptr)
 
 TStructure (int nRows, int nCols)
 
 ~TStructure ()
 
int GetN_Rows () const
 
int GetN_Columns () const
 
int GetN_Entries () const
 
int GetHangingN_Entries () const
 
int * GetKCol () const
 
int * GetHangingKCol () const
 
int * GetRowPtr () const
 
int * GetHangingRowPtr () const
 
void setN_Rows (int n)
 set member variables. Careful, this can produce inconsistencies!
 
void setN_Columns (int n)
 
void setN_Entries (int n)
 
void setKCol (int *p)
 
void setRowPtr (int *p)
 
void SortRow (int *BeginPtr, int *AfterEndPtr)
 
void Sort ()
 
int index_of_entry (const int i, const int j) const
 find the index of a given entry More...
 
TStructureGetTransposed ()
 

Protected Attributes

int N_Rows
 
int N_Columns
 
int N_Entries
 
int HangingN_Entries
 
int * KCol
 
int * HangingKCol
 
int * RowPtr
 
int * HangingRowPtr
 

Friends

TStructureget_product_structure (TStructure const *const strucA, TStructure const *const strucB)
 return a structure for the matrix-matrix-product A*B More...
 
bool operator== (const TStructure &lhs, const TStructure &rhs)
 Comparision Operator. More...
 
bool operator!= (const TStructure &lhs, const TStructure &rhs)
 

Constructor & Destructor Documentation

TStructure::TStructure ( )

generate the matrix structure, both space with 2D collection

generate the matrix structure, both spaces are 2D

Here is the caller graph for this function:

TStructure::TStructure ( int  n,
int  N_entries,
int *  col_ptr,
int *  row_ptr 
)

generate a (square) matrix structure, all arrays are already defined

TStructure::TStructure ( int  nRows,
int  nCols,
int  N_entries,
int *  col_ptr,
int *  row_ptr 
)

generate the matrix structure, all arrays are already defined

TStructure::TStructure ( int  nRows,
int  nCols 
)

Generates an empty nRows*nCols Structure for a Zero-Matrix

TStructure::~TStructure ( )

destructor: free all used arrays

destructor

Member Function Documentation

int* TStructure::GetHangingKCol ( ) const
inline

return array HangingKCol

Here is the caller graph for this function:

int TStructure::GetHangingN_Entries ( ) const
inline

return number of matrix entries (hanging nodes part)

Here is the caller graph for this function:

int* TStructure::GetHangingRowPtr ( ) const
inline

return array HangingRowPtr

Here is the caller graph for this function:

int* TStructure::GetKCol ( ) const
inline

return array KCol

Here is the caller graph for this function:

int TStructure::GetN_Columns ( ) const
inline

return number of columns

Here is the caller graph for this function:

int TStructure::GetN_Entries ( ) const
inline

return number of matrix entries

Here is the caller graph for this function:

int TStructure::GetN_Rows ( ) const
inline

return number of rows

Here is the caller graph for this function:

int* TStructure::GetRowPtr ( ) const
inline

return array RowPtr

Here is the caller graph for this function:

TStructure * TStructure::GetTransposed ( )

return a new structure for a transposed matrix If this is an object of a derived class (e.g. TStructure2D, TSquareStructure), then the number of active degrees of freedom is not taken into account. The returned TMatrix is really the algebraic transposed matrix.

return a new structure for a transposed matrix

Here is the call graph for this function:

int TStructure::index_of_entry ( const int  i,
const int  j 
) const

find the index of a given entry

If the (i,j)-th entry is not in the sparsity pattern, -1 is returned. This is how this function can be used to check whether an entry is in the sparsity pattern.

Parameters
irow of entry to check
jcolumn of entry to check

Here is the call graph for this function:

Here is the caller graph for this function:

void TStructure::Sort ( )

sort rows

sort numbers within each row

Here is the call graph for this function:

Here is the caller graph for this function:

void TStructure::SortRow ( int *  BeginPtr,
int *  AfterEndPtr 
)

sort one row

sort one row [BeginPtr, AfterEndPtr)

Here is the caller graph for this function:

Friends And Related Function Documentation

TStructure* get_product_structure ( TStructure const *const  strucA,
TStructure const *const  strucB 
)
friend

return a structure for the matrix-matrix-product A*B

if A and B are matrices with structures 'strucA' and 'strucB', this function computes a structure for the product C = A*B

Parameters
strucAstructure of left factor
strucBstructure of right factor
bool operator== ( const TStructure lhs,
const TStructure rhs 
)
friend

Comparision Operator.

It is not explicitly checked if the arrays are the same, only the integers are compared.

Member Data Documentation

int* TStructure::HangingKCol
protected

in which column is the current entry (hanging nodes part

int TStructure::HangingN_Entries
protected

number of matrix entries in hanging nodes part

int* TStructure::HangingRowPtr
protected

index in HangingKCol where each row starts

int* TStructure::KCol
protected

in which column is the current entry

int TStructure::N_Columns
protected

number columns

int TStructure::N_Entries
protected

number of matrix entries

int TStructure::N_Rows
protected

number of rows

int* TStructure::RowPtr
protected

index in KCol where each row starts


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