FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
fei::ConnectivityBlock Class Reference

#include <fei_ConnectivityBlock.hpp>

Public Member Functions

 ConnectivityBlock (int blockID, fei::Pattern *pattern, int numConnectivities)
 
 ConnectivityBlock (int blockID, fei::Pattern *rowpattern, fei::Pattern *colpattern, int numConnectivities)
 
 ConnectivityBlock (int numRowIDs, const int *rowIDs, const int *rowOffsets, bool offsets_are_lengths=false)
 
 ConnectivityBlock (int fieldID, int numRowIDs, const int *rowIDs, const int *rowOffsets, bool offsets_are_lengths=false)
 
virtual ~ConnectivityBlock ()
 
int getBlockID () const
 
const fei::PatterngetRowPattern () const
 
fei::PatterngetRowPattern ()
 
void setRowPattern (fei::Pattern *pattern)
 
const fei::PatterngetColPattern () const
 
fei::PatterngetColPattern ()
 
void setColPattern (fei::Pattern *pattern)
 
const std::map< int, int > & getConnectivityIDs () const
 
std::map< int, int > & getConnectivityIDs ()
 
std::vector< int > & getConnectivityOffsets ()
 
std::vector< int > & getRowConnectivities ()
 
std::vector< int > & getColConnectivities ()
 
const int * getRowConnectivity (int ID) const
 
const int * getColConnectivity (int ID) const
 
int * getRowConnectivity (int ID)
 
int * getColConnectivity (int ID)
 
bool isSymmetric () const
 
void setIsDiagonal (bool flag)
 
bool isDiagonal () const
 
bool haveFieldID ()
 
int fieldID ()
 

Private Attributes

int blockID_
 
fei::Patternpattern_
 
fei::PatterncolPattern_
 
bool isSymmetric_
 
bool isDiagonal_
 
std::map< int, int > connIDsOffsetMap_
 
std::vector< int > connectivityOffsets_
 
int numRecordsPerConnectivity_
 
std::vector< int > connectivities_
 
int numRecordsPerColConnectivity_
 
std::vector< int > colConnectivities_
 
int fieldID_
 
bool haveFieldID_
 

Detailed Description

class to hold attributes of a connectivity-block (for example, an element-block). This class can handle connectivities for any kind of mesh-objects, not just elements, though elements are of course the most common.

Definition at line 26 of file fei_ConnectivityBlock.hpp.

Constructor & Destructor Documentation

fei::ConnectivityBlock::ConnectivityBlock ( int  blockID,
fei::Pattern pattern,
int  numConnectivities 
)

constructor

Definition at line 22 of file fei_ConnectivityBlock.cpp.

fei::ConnectivityBlock::ConnectivityBlock ( int  blockID,
fei::Pattern rowpattern,
fei::Pattern colpattern,
int  numConnectivities 
)

constructor

Definition at line 42 of file fei_ConnectivityBlock.cpp.

fei::ConnectivityBlock::ConnectivityBlock ( int  numRowIDs,
const int *  rowIDs,
const int *  rowOffsets,
bool  offsets_are_lengths = false 
)

constructor

Definition at line 63 of file fei_ConnectivityBlock.cpp.

References colConnectivities_, connectivities_, connectivityOffsets_, and connIDsOffsetMap_.

fei::ConnectivityBlock::ConnectivityBlock ( int  fieldID,
int  numRowIDs,
const int *  rowIDs,
const int *  rowOffsets,
bool  offsets_are_lengths = false 
)

constructor

Definition at line 116 of file fei_ConnectivityBlock.cpp.

References colConnectivities_, connectivities_, connectivityOffsets_, and connIDsOffsetMap_.

fei::ConnectivityBlock::~ConnectivityBlock ( )
virtual

destructor

Definition at line 170 of file fei_ConnectivityBlock.cpp.

Member Function Documentation

int fei::ConnectivityBlock::getBlockID ( ) const
inline

get block-identifier

Definition at line 53 of file fei_ConnectivityBlock.hpp.

References blockID_.

const fei::Pattern* fei::ConnectivityBlock::getRowPattern ( ) const
inline
fei::Pattern* fei::ConnectivityBlock::getRowPattern ( )
inline

get pattern that defines the layout of dofs in the row-dimension for block's contributions

Definition at line 61 of file fei_ConnectivityBlock.hpp.

References pattern_.

void fei::ConnectivityBlock::setRowPattern ( fei::Pattern pattern)
inline

Definition at line 63 of file fei_ConnectivityBlock.hpp.

References pattern_.

Referenced by fei::MatrixGraph_Impl2::initConnectivity().

const fei::Pattern* fei::ConnectivityBlock::getColPattern ( ) const
inline
fei::Pattern* fei::ConnectivityBlock::getColPattern ( )
inline

get pattern that defines the layout of dofs in the column-dimension for block's contributions. probably null if this block is made up of symmetric contributions.

Definition at line 73 of file fei_ConnectivityBlock.hpp.

References colPattern_.

void fei::ConnectivityBlock::setColPattern ( fei::Pattern pattern)
inline

Definition at line 75 of file fei_ConnectivityBlock.hpp.

References colPattern_.

const std::map<int,int>& fei::ConnectivityBlock::getConnectivityIDs ( ) const
inline
std::map<int,int>& fei::ConnectivityBlock::getConnectivityIDs ( )
inline

get map of connectivity-ids with associated offsets

Definition at line 83 of file fei_ConnectivityBlock.hpp.

References connIDsOffsetMap_.

std::vector<int>& fei::ConnectivityBlock::getConnectivityOffsets ( )
inline

get vector of connectivity-offsets. Only available if this object was constructed using constructor 3 or 4. Power users only.

Definition at line 88 of file fei_ConnectivityBlock.hpp.

References connectivityOffsets_.

Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_sparse().

std::vector<int>& fei::ConnectivityBlock::getRowConnectivities ( )
inline
std::vector<int>& fei::ConnectivityBlock::getColConnectivities ( )
inline
const int * fei::ConnectivityBlock::getRowConnectivity ( int  ID) const

get row-connectivity for a specified ID

Definition at line 175 of file fei_ConnectivityBlock.cpp.

Referenced by fei::MatrixGraph_Impl2::getConnectivityIndices(), and fei::Matrix_Impl< T >::sumIn().

const int * fei::ConnectivityBlock::getColConnectivity ( int  ID) const

get column-connectivity for a specified ID

Definition at line 203 of file fei_ConnectivityBlock.cpp.

Referenced by fei::MatrixGraph_Impl2::getConnectivityIndices(), and fei::Matrix_Impl< T >::sumIn().

int * fei::ConnectivityBlock::getRowConnectivity ( int  ID)

get row-connectivity for a specified ID

Definition at line 189 of file fei_ConnectivityBlock.cpp.

int * fei::ConnectivityBlock::getColConnectivity ( int  ID)

get column-connectivity for a specified ID

Definition at line 217 of file fei_ConnectivityBlock.cpp.

bool fei::ConnectivityBlock::isSymmetric ( ) const
inline
void fei::ConnectivityBlock::setIsDiagonal ( bool  flag)
inline

implementation detail for power-users

Definition at line 112 of file fei_ConnectivityBlock.hpp.

References isDiagonal_.

Referenced by fei::MatrixGraph_Impl2::initConnectivityBlock().

bool fei::ConnectivityBlock::isDiagonal ( ) const
inline
bool fei::ConnectivityBlock::haveFieldID ( )
inline

query whether block has a field-id

Definition at line 117 of file fei_ConnectivityBlock.hpp.

References haveFieldID_.

Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_sparse().

int fei::ConnectivityBlock::fieldID ( )
inline

return block's field-id

Definition at line 121 of file fei_ConnectivityBlock.hpp.

References fieldID_.

Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_sparse().

Member Data Documentation

int fei::ConnectivityBlock::blockID_
private

Definition at line 125 of file fei_ConnectivityBlock.hpp.

Referenced by getBlockID().

fei::Pattern* fei::ConnectivityBlock::pattern_
private

Definition at line 126 of file fei_ConnectivityBlock.hpp.

Referenced by getRowPattern(), and setRowPattern().

fei::Pattern* fei::ConnectivityBlock::colPattern_
private

Definition at line 127 of file fei_ConnectivityBlock.hpp.

Referenced by getColPattern(), and setColPattern().

bool fei::ConnectivityBlock::isSymmetric_
private

Definition at line 128 of file fei_ConnectivityBlock.hpp.

Referenced by isSymmetric().

bool fei::ConnectivityBlock::isDiagonal_
private

Definition at line 129 of file fei_ConnectivityBlock.hpp.

Referenced by isDiagonal(), and setIsDiagonal().

std::map<int,int> fei::ConnectivityBlock::connIDsOffsetMap_
private

Definition at line 131 of file fei_ConnectivityBlock.hpp.

Referenced by ConnectivityBlock(), and getConnectivityIDs().

std::vector<int> fei::ConnectivityBlock::connectivityOffsets_
private

Definition at line 133 of file fei_ConnectivityBlock.hpp.

Referenced by ConnectivityBlock(), and getConnectivityOffsets().

int fei::ConnectivityBlock::numRecordsPerConnectivity_
private

Definition at line 135 of file fei_ConnectivityBlock.hpp.

std::vector<int> fei::ConnectivityBlock::connectivities_
private

Definition at line 136 of file fei_ConnectivityBlock.hpp.

Referenced by ConnectivityBlock(), and getRowConnectivities().

int fei::ConnectivityBlock::numRecordsPerColConnectivity_
private

Definition at line 137 of file fei_ConnectivityBlock.hpp.

std::vector<int> fei::ConnectivityBlock::colConnectivities_
private

Definition at line 138 of file fei_ConnectivityBlock.hpp.

Referenced by ConnectivityBlock(), and getColConnectivities().

int fei::ConnectivityBlock::fieldID_
private

Definition at line 140 of file fei_ConnectivityBlock.hpp.

Referenced by fieldID().

bool fei::ConnectivityBlock::haveFieldID_
private

Definition at line 141 of file fei_ConnectivityBlock.hpp.

Referenced by haveFieldID().


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