MFEM  v3.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | List of all members
mfem::STable Class Reference

#include <table.hpp>

Inheritance diagram for mfem::STable:
[legend]
Collaboration diagram for mfem::STable:
[legend]

Public Member Functions

 STable (int dim, int connections_per_row=3)
 Creates table with fixed number of connections. More...
 
int operator() (int i, int j) const
 
int Push (int i, int j)
 
 ~STable ()
 Destroys STable. More...
 
- Public Member Functions inherited from mfem::Table
 Table ()
 Creates an empty table. More...
 
 Table (const Table &)
 Copy constructor. More...
 
 Table (int dim, int connections_per_row=3)
 Create a table with an upper limit for the number of connections. More...
 
 Table (int nrows, Array< Connection > &list)
 
 Table (int nrows, int *partitioning)
 
void MakeI (int nrows)
 Next 7 methods are used together with the default constructor. More...
 
void AddAColumnInRow (int r)
 
void AddColumnsInRow (int r, int ncol)
 
void MakeJ ()
 
void AddConnection (int r, int c)
 
void AddConnections (int r, const int *c, int nc)
 
void ShiftUpI ()
 
void SetSize (int dim, int connections_per_row)
 Set the size and the number of connections for the table. More...
 
void SetDims (int rows, int nnz)
 
int Size () const
 Returns the number of TYPE I elements. More...
 
int Size_of_connections () const
 
int operator() (int i, int j) const
 
void GetRow (int i, Array< int > &row) const
 Return row i in array row (the Table must be finalized) More...
 
int RowSize (int i) const
 
const int * GetRow (int i) const
 
int * GetRow (int i)
 
int * GetI ()
 
int * GetJ ()
 
const int * GetI () const
 
const int * GetJ () const
 
void SetIJ (int *newI, int *newJ, int newsize=-1)
 
int Push (int i, int j)
 
void Finalize ()
 
void MakeFromList (int nrows, const Array< Connection > &list)
 
int Width () const
 Returns the number of TYPE II elements (after Finalize() is called). More...
 
void LoseData ()
 Call this if data has been stolen. More...
 
void Print (std::ostream &out=std::cout, int width=4) const
 Prints the table to stream out. More...
 
void PrintMatlab (std::ostream &out) const
 
void Save (std::ostream &out) const
 
void Copy (Table &copy) const
 
void Swap (Table &other)
 
void Clear ()
 
long MemoryUsage () const
 
 ~Table ()
 Destroys Table. More...
 

Additional Inherited Members

- Protected Attributes inherited from mfem::Table
int size
 size is the number of TYPE I elements. More...
 
int * I
 
int * J
 

Detailed Description

Data type STable. STable is similar to Table, but it's for symmetric connectivity, i.e. TYPE I is equivalent to TYPE II. In the first dimension we put the elements with smaller index.

Definition at line 178 of file table.hpp.

Constructor & Destructor Documentation

mfem::STable::STable ( int  dim,
int  connections_per_row = 3 
)

Creates table with fixed number of connections.

Definition at line 523 of file table.cpp.

mfem::STable::~STable ( )
inline

Destroys STable.

Definition at line 197 of file table.hpp.

Member Function Documentation

int mfem::STable::operator() ( int  i,
int  j 
) const

Returns index of the connection between element i of TYPE I and element j of TYPE II. If there is no connection between element i and element j established in the table, then the return value is -1.

Definition at line 527 of file table.cpp.

int mfem::STable::Push ( int  i,
int  j 
)

Establish connection between element i and element j in the table. The return value is the index of the connection. It returns -1 if it fails to establish the connection. Possibilities are there is not enough memory on row i to establish connection to j, an attempt to establish new connection after calling Finalize().

Definition at line 539 of file table.cpp.


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