FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
#include <fei_Pattern.hpp>
Public Types | |
enum | PatternType { NO_FIELD, SIMPLE, SINGLE_IDTYPE, GENERAL } |
Public Member Functions | |
Pattern (int numIDs, int idType, snl_fei::RecordCollection *records) | |
Pattern (int numIDs, int idType, snl_fei::RecordCollection *records, int fieldID, int fieldSize) | |
Pattern (int numIDs, int idType, snl_fei::RecordCollection *records, const int *numFieldsPerID, const int *fieldIDs, const int *fieldSizes) | |
Pattern (int numIDs, const int *idTypes, snl_fei::RecordCollection *const *records, const int *numFieldsPerID, const int *fieldIDs, const int *fieldSizes) | |
virtual | ~Pattern () |
PatternType | getPatternType () const |
int | getNumIDs () const |
const int * | getIDTypes () const |
snl_fei::RecordCollection *const * | getRecordCollections () const |
const int * | getNumFieldsPerID () const |
const int * | getFieldIDs () const |
const int * | getNumIndicesPerID () const |
int | getTotalNumFields () const |
int | getNumIndices () const |
bool | operator== (const Pattern &rhs) const |
bool | operator!= (const Pattern &rhs) const |
Private Attributes | |
PatternType | type_ |
int | numIDs_ |
int | totalNumFields_ |
int | numIndices_ |
std::vector< int > | data_ |
std::vector < snl_fei::RecordCollection * > | recordCollections_ |
const int * | idTypes_ |
const int * | numFieldsPerID_ |
const int * | fieldIDs_ |
const int * | numIndicesPerID_ |
Stencil-like pattern definition/description. Describes the layout of a set of field-identifiers associated with a set of identifiers and identifier-types.
Example: Can be used to describe the layout of nodes with associated fields on an element ('element' as in finite-elements).
Definition at line 29 of file fei_Pattern.hpp.
enumeration of different pattern-types
Enumerator | |
---|---|
NO_FIELD | |
SIMPLE | |
SINGLE_IDTYPE | |
GENERAL |
Definition at line 32 of file fei_Pattern.hpp.
fei::Pattern::Pattern | ( | int | numIDs, |
int | idType, | ||
snl_fei::RecordCollection * | records | ||
) |
Constructor, Pattern::PatternType == NO_FIELD
Definition at line 12 of file fei_Pattern.cpp.
References data_, fieldIDs_, idTypes_, numFieldsPerID_, numIDs_, and numIndicesPerID_.
fei::Pattern::Pattern | ( | int | numIDs, |
int | idType, | ||
snl_fei::RecordCollection * | records, | ||
int | fieldID, | ||
int | fieldSize | ||
) |
Constructor, Pattern::PatternType == SIMPLE
There is only one id-type, and only one field.
Definition at line 51 of file fei_Pattern.cpp.
References data_, fieldIDs_, idTypes_, numFieldsPerID_, numIDs_, numIndices_, and numIndicesPerID_.
fei::Pattern::Pattern | ( | int | numIDs, |
int | idType, | ||
snl_fei::RecordCollection * | records, | ||
const int * | numFieldsPerID, | ||
const int * | fieldIDs, | ||
const int * | fieldSizes | ||
) |
Constructor, Pattern::PatternType == SINGLE_IDTYPE
There is only one id-type, but there may be multiple fields per id.
Definition at line 93 of file fei_Pattern.cpp.
References data_, fieldIDs_, idTypes_, numFieldsPerID_, numIDs_, numIndices_, numIndicesPerID_, SIMPLE, totalNumFields_, and type_.
fei::Pattern::Pattern | ( | int | numIDs, |
const int * | idTypes, | ||
snl_fei::RecordCollection *const * | records, | ||
const int * | numFieldsPerID, | ||
const int * | fieldIDs, | ||
const int * | fieldSizes | ||
) |
Constructor, Pattern::PatternType == GENERAL There may be multiple id-types as well as multiple fields-per-id.
Definition at line 154 of file fei_Pattern.cpp.
References data_, fieldIDs_, idTypes_, numFieldsPerID_, numIDs_, numIndices_, numIndicesPerID_, SIMPLE, SINGLE_IDTYPE, totalNumFields_, and type_.
|
virtual |
Definition at line 224 of file fei_Pattern.cpp.
|
inline |
Return pattern-type-identifying enum
Definition at line 61 of file fei_Pattern.hpp.
References type_.
Referenced by fei::MatrixGraph_Impl2::createAlgebraicGraph(), fei::MatrixGraph_Impl2::getConnectivityIndices(), fei::MatrixGraph_Impl2::getConnectivityRecords(), fei::VectorSpace::getGlobalIndices(), fei::VectorSpace::getGlobalIndicesL(), and test_MatrixGraph::serialtest1().
|
inline |
Return the number of identifiers described by this pattern.
Definition at line 64 of file fei_Pattern.hpp.
References numIDs_.
Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_multiField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_multiField_symmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_noField_symmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_singleField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_singleField_symmetric(), fei::MatrixGraph_Impl2::compareStructure(), fei::FEI_Impl::getBlockElemSolution(), fei::utils::getConnectivityArrays(), fei::MatrixGraph_Impl2::getConnectivityIndices(), fei::MatrixGraph_Impl2::getConnectivityNumIndices(), fei::MatrixGraph_Impl2::getConnectivityRecords(), fei::Lookup_Impl::getElemBlockInfo(), fei::Lookup_Impl::getFieldIDsTable(), fei::VectorSpace::getGlobalBlkIndices(), fei::VectorSpace::getGlobalIndices(), fei::VectorSpace::getGlobalIndicesL(), fei::MatrixGraph_Impl2::getNumIDsPerConnectivityList(), fei::MatrixGraph_Impl2::getPatternIndices(), fei::MatrixGraph_Impl2::initConnectivity(), snl_fei::Broker_FEData::setStructure(), and fei::Matrix_Impl< T >::sumIn().
|
inline |
Return pointer to list of length getNumIDs()
Definition at line 67 of file fei_Pattern.hpp.
References idTypes_.
Referenced by fei::FEI_Impl::getBlockElemSolution(), fei::MatrixGraph_Impl2::getConnectivityRecords(), and fei::MatrixGraph_Impl2::getPatternIndices().
|
inline |
Return pointer to list of length getNumIDs()
Definition at line 70 of file fei_Pattern.hpp.
References recordCollections_.
Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_multiField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_multiField_symmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_noField_symmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_singleField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_singleField_symmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_sparse(), fei::MatrixGraph_Impl2::getConnectivityIndices(), fei::VectorSpace::getGlobalIndicesL(), and fei::MatrixGraph_Impl2::initConnectivity().
|
inline |
Return list of length getNumIDs()
Definition at line 73 of file fei_Pattern.hpp.
References numFieldsPerID_.
Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_multiField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_multiField_symmetric(), fei::FEI_Impl::getBlockElemSolution(), fei::MatrixGraph_Impl2::getConnectivityIndices(), fei::MatrixGraph_Impl2::getConnectivityRecords(), fei::Lookup_Impl::getFieldIDsTable(), fei::VectorSpace::getGlobalIndices(), fei::VectorSpace::getGlobalIndicesL(), fei::Lookup_Impl::getNumFieldsPerNode(), fei::MatrixGraph_Impl2::getPatternIndices(), fei::MatrixGraph_Impl2::initConnectivity(), snl_fei::Broker_FEData::setStructure(), and fei::Matrix_Impl< T >::sumIn().
|
inline |
Return list of length getTotalNumFields()
Definition at line 76 of file fei_Pattern.hpp.
References fieldIDs_.
Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_multiField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_multiField_symmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_singleField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_singleField_symmetric(), fei::FEI_Impl::getBlockElemSolution(), fei::MatrixGraph_Impl2::getConnectivityIndices(), fei::MatrixGraph_Impl2::getConnectivityRecords(), fei::Lookup_Impl::getFieldIDsTable(), fei::VectorSpace::getGlobalIndices(), fei::VectorSpace::getGlobalIndicesL(), fei::MatrixGraph_Impl2::getPatternIndices(), snl_fei::Broker_FEData::setStructure(), and fei::Matrix_Impl< T >::sumIn().
|
inline |
Return list of length getNumIDs()
Definition at line 79 of file fei_Pattern.hpp.
References numIndicesPerID_.
Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_multiField_symmetric(), and fei::Matrix_Impl< T >::sumIn().
|
inline |
total-num-fields = sum(numFieldsPerID)
Definition at line 85 of file fei_Pattern.hpp.
References totalNumFields_.
Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_multiField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_multiField_symmetric(), fei::MatrixGraph_Impl2::getConnectivityIndices(), fei::VectorSpace::getGlobalIndices(), fei::VectorSpace::getGlobalIndicesL(), and fei::Matrix_Impl< T >::sumIn().
|
inline |
Return the total number of scalar indices represented by this pattern. This is the number of identifiers if no fields are associated with them, otherwise it is the sum of the field-sizes of the fields associated with the identifiers.
Definition at line 92 of file fei_Pattern.hpp.
References numIndices_.
Referenced by fei::MatrixGraph_Impl2::addBlockToGraph_multiField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_multiField_symmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_noField_symmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_singleField_nonsymmetric(), fei::MatrixGraph_Impl2::addBlockToGraph_singleField_symmetric(), fei::MatrixGraph_Impl2::getConnectivityIndices(), fei::MatrixGraph_Impl2::getConnectivityNumIndices(), fei::Lookup_Impl::getElemBlockInfo(), fei::VectorSpace::getGlobalIndices(), fei::VectorSpace::getGlobalIndicesL(), fei::MatrixGraph_Impl2::getPatternIndices(), fei::MatrixGraph_Impl2::getPatternNumIndices(), snl_fei::Broker_FEData::setStructure(), fei::Matrix_Impl< T >::sumIn(), test_Matrix_unit2(), test_Matrix_unit4(), test_MatrixGraph_test7(), and test_MatrixGraph_test8().
bool fei::Pattern::operator== | ( | const Pattern & | rhs | ) | const |
return true if the 'rhs' pattern is the same as 'this' pattern.
Definition at line 229 of file fei_Pattern.cpp.
References data_, numIDs_, numIndices_, totalNumFields_, and type_.
bool fei::Pattern::operator!= | ( | const Pattern & | rhs | ) | const |
return true if the 'rhs' pattern is different than 'this' pattern.
Definition at line 239 of file fei_Pattern.cpp.
|
private |
Definition at line 103 of file fei_Pattern.hpp.
Referenced by getPatternType(), operator==(), and Pattern().
|
private |
Definition at line 104 of file fei_Pattern.hpp.
Referenced by getNumIDs(), operator==(), and Pattern().
|
private |
Definition at line 105 of file fei_Pattern.hpp.
Referenced by getTotalNumFields(), operator==(), and Pattern().
|
private |
Definition at line 106 of file fei_Pattern.hpp.
Referenced by getNumIndices(), operator==(), and Pattern().
|
private |
Definition at line 107 of file fei_Pattern.hpp.
Referenced by operator==(), and Pattern().
|
private |
Definition at line 108 of file fei_Pattern.hpp.
Referenced by getRecordCollections().
|
private |
Definition at line 110 of file fei_Pattern.hpp.
Referenced by getIDTypes(), and Pattern().
|
private |
Definition at line 111 of file fei_Pattern.hpp.
Referenced by getNumFieldsPerID(), and Pattern().
|
private |
Definition at line 112 of file fei_Pattern.hpp.
Referenced by getFieldIDs(), and Pattern().
|
private |
Definition at line 113 of file fei_Pattern.hpp.
Referenced by getNumIndicesPerID(), and Pattern().