MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::STable3D Class Reference

Symmetric 3D Table stored as an array of rows each of which has a stack of column, floor, number nodes. The number of the node is assigned by counting the nodes from zero as they are pushed into the table. Diagonals of any kind are not allowed so the row, column and floor must all be different for each node. Only one node is stored for all 6 symmetric entries that are indexable by unique triplets of row, column, and floor. More...

#include <stable3d.hpp>

Public Member Functions

 STable3D (int nr)
 Construct the table with a total of 'nr' rows.
 
int Push (int r, int c, int f)
 Check to see if this entry is in the table and add it to the table if it is not there. Returns the number assigned to the table entry.
 
int operator() (int r, int c, int f) const
 Return the number assigned to the table entry. Abort if it's not there.
 
int Index (int r, int c, int f) const
 
int Push4 (int r, int c, int f, int t)
 Check to see if this entry is in the table and add it to the table if it is not there. The entry is addressed by the three smallest values of (r,c,f,t). Returns the number assigned to the table entry.
 
int operator() (int r, int c, int f, int t) const
 Return the number assigned to the table entry. The entry is addressed by the three smallest values of (r,c,f,t). Return -1 if it is not there.
 
int NumberOfElements ()
 Return the number of elements added to the table.
 
void Print (std::ostream &out=mfem::out) const
 Print out all of the table elements.
 
 ~STable3D ()
 

Detailed Description

Symmetric 3D Table stored as an array of rows each of which has a stack of column, floor, number nodes. The number of the node is assigned by counting the nodes from zero as they are pushed into the table. Diagonals of any kind are not allowed so the row, column and floor must all be different for each node. Only one node is stored for all 6 symmetric entries that are indexable by unique triplets of row, column, and floor.

Definition at line 34 of file stable3d.hpp.

Constructor & Destructor Documentation

◆ STable3D()

mfem::STable3D::STable3D ( int nr)
explicit

Construct the table with a total of 'nr' rows.

Definition at line 21 of file stable3d.cpp.

◆ ~STable3D()

mfem::STable3D::~STable3D ( )

Definition at line 191 of file stable3d.cpp.

Member Function Documentation

◆ Index()

int mfem::STable3D::Index ( int r,
int c,
int f ) const

Return the number assigned to the table entry. Return -1 if it's not there.

Definition at line 117 of file stable3d.cpp.

◆ NumberOfElements()

int mfem::STable3D::NumberOfElements ( )
inline

Return the number of elements added to the table.

Definition at line 70 of file stable3d.hpp.

◆ operator()() [1/2]

int mfem::STable3D::operator() ( int r,
int c,
int f ) const

Return the number assigned to the table entry. Abort if it's not there.

Definition at line 97 of file stable3d.cpp.

◆ operator()() [2/2]

int mfem::STable3D::operator() ( int r,
int c,
int f,
int t ) const

Return the number assigned to the table entry. The entry is addressed by the three smallest values of (r,c,f,t). Return -1 if it is not there.

Definition at line 167 of file stable3d.cpp.

◆ Print()

void mfem::STable3D::Print ( std::ostream & out = mfem::out) const

Print out all of the table elements.

Definition at line 210 of file stable3d.cpp.

◆ Push()

int mfem::STable3D::Push ( int r,
int c,
int f )

Check to see if this entry is in the table and add it to the table if it is not there. Returns the number assigned to the table entry.

Definition at line 64 of file stable3d.cpp.

◆ Push4()

int mfem::STable3D::Push4 ( int r,
int c,
int f,
int t )

Check to see if this entry is in the table and add it to the table if it is not there. The entry is addressed by the three smallest values of (r,c,f,t). Returns the number assigned to the table entry.

Definition at line 140 of file stable3d.cpp.


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