FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
#include <fei_VectorSpace.hpp>
Classes | |
class | Factory |
Public Member Functions | |
VectorSpace (MPI_Comm comm, const char *name=NULL) | |
virtual | ~VectorSpace () |
void | setParameters (const fei::ParameterSet ¶mset) |
void | defineFields (int numFields, const int *fieldIDs, const int *fieldSizes, const int *fieldTypes=NULL) |
void | defineIDTypes (int numIDTypes, const int *idTypes) |
void | setIDMap (int idType, const int *localIDs_begin, const int *localIDs_end, const int *globalIDs_begin, const int *globalIDs_end) |
int | addDOFs (int fieldID, int idType, int numIDs, const int *IDs) |
int | addDOFs (int idType, int numIDs, const int *IDs) |
int | initSharedIDs (int numShared, int idType, const int *sharedIDs, const int *numSharingProcsPerID, const int *sharingProcs) |
int | initSharedIDs (int numShared, int idType, const int *sharedIDs, const int *numSharingProcsPerID, const int *const *sharingProcs) |
int | setOwners (int numShared, int idType, const int *sharedIDs, const int *owners) |
int | addVectorSpace (fei::VectorSpace *inputSpace) |
int | initComplete () |
bool | initCompleteAlreadyCalled () const |
std::vector< fei::FieldMask * > | fieldMasks_ |
class | fei::Lookup_Impl |
MPI_Comm | comm_ |
std::vector< int > | idTypes_ |
std::map< int, unsigned > | fieldDatabase_ |
fei::FieldDofMap< int > | fieldDofMap_ |
int | maxFieldSize_ |
std::vector < snl_fei::RecordCollection * > | recordCollections_ |
std::map< int, fei::SharedIDs < int > > | sharedIDTables_ |
std::map< int, fei::comm_map * > | ownerPatterns_ |
std::map< int, fei::comm_map * > | sharerPatterns_ |
bool | sharedRecordsSynchronized_ |
snl_fei::PointBlockMap * | ptBlkMap_ |
std::vector< int > | globalOffsets_ |
std::vector< int > | globalIDOffsets_ |
bool | simpleProblem_ |
int | firstLocalOffset_ |
int | lastLocalOffset_ |
std::vector< int > | eqnNumbers_ |
bool | newInitData_ |
bool | initCompleteAlreadyCalled_ |
std::string | name_ |
std::string | dbgprefix_ |
bool | checkSharedIDs_ |
MPI_Comm | getCommunicator () const |
int | getGlobalIndex (int idType, int ID, int fieldID, int fieldOffset, int whichComponentOfField, int &globalIndex) |
int | getGlobalIndex (int idType, int ID, int fieldID, int &globalIndex) |
int | getGlobalBlkIndex (int idType, int ID, int &globalBlkIndex) |
int | getGlobalIndices (int numIDs, const int *IDs, int idType, int fieldID, int *globalIndices) |
int | getGlobalIndicesLocalIDs (int numIDs, const int *localIDs, int idType, int fieldID, int *globalIndices) |
int | getGlobalBlkIndices (int numIDs, const int *IDs, int idType, int *globalBlkIndices) |
int | getGlobalIndices (int numIDs, const int *IDs, const int *idTypes, const int *fieldIDs, int *globalIndices) |
int | getGlobalIndex (int idType, int ID, int &globalIndex) |
int | getNumDegreesOfFreedom (int idType, int ID) |
int | getNumFields () |
void | getFields (std::vector< int > &fieldIDs) |
int | getNumFields (int idType, int ID) |
void | getFields (int idType, int ID, std::vector< int > &fieldIDs) |
size_t | getNumIDTypes () |
void | getIDTypes (std::vector< int > &idTypes) const |
void | getGlobalIndexOffsets (std::vector< int > &globalOffsets) const |
void | getGlobalBlkIndexOffsets (std::vector< int > &globalBlkOffsets) const |
int | getOwnerProcPtIndex (int globalIndex) |
int | getOwnerProcBlkIndex (int globalIndex) |
bool | isLocal (int idType, int ID) |
bool | isLocallyOwned (int idType, int ID) |
unsigned | getFieldSize (int fieldID) |
int | getNumOwnedAndSharedIDs (int idType) |
int | getNumOwnedIDs (int idType) |
int | getOwnedAndSharedIDs (int idtype, int lenList, int *IDs, int &numOwnedAndSharedIDs) |
int | getOwnedIDs (int idtype, int lenList, int *IDs, int &numLocalIDs) |
int | getNumIndices_SharedAndOwned () const |
int | getIndices_SharedAndOwned (std::vector< int > &globalIndices) const |
int | getNumBlkIndices_SharedAndOwned (int &numBlkIndices) const |
int | getBlkIndices_SharedAndOwned (int lenBlkIndices, int *globalBlkIndices, int *blkSizes, int &numBlkIndices) |
int | getNumIndices_Owned () const |
int | getIndices_Owned (std::vector< int > &globalIndices) const |
int | getIndices_Owned (int lenIndices, int *globalIndices, int &numIndices) const |
int | getNumBlkIndices_Owned () const |
int | getBlkIndices_Owned (int lenBlkIndices, int *globalBlkIndices, int *blkSizes, int &numBlkIndices) |
int | getNumSharedIDs (int idType, int &numShared) |
int | getGlobalNumIndices () const |
int | getGlobalNumBlkIndices () const |
int | getRecordCollection (int idType, snl_fei::RecordCollection *&records) |
int | getRecordCollection (int idType, const snl_fei::RecordCollection *&records) const |
std::vector< int > & | getEqnNumbers () |
const std::vector< int > & | getEqnNumbers () const |
snl_fei::PointBlockMap * | getPointBlockMap () |
const snl_fei::PointBlockMap * | getPointBlockMap () const |
fei::FieldDofMap< int > & | getFieldDofMap () |
void | getGlobalIndices (const fei::Pattern *pattern, const fei::Record< int > *const *records, std::vector< int > &indices) |
void | getGlobalIndicesL (const fei::Pattern *pattern, const int *records, std::vector< int > &indices) |
void | getGlobalBlkIndices (const fei::Pattern *pattern, const fei::Record< int > *const *records, std::vector< int > &indices) |
void | getGlobalIndices (int numRecords, const fei::Record< int > *const *records, int fieldID, int fieldSize, int indicesAllocLen, int *indices, int &numIndices) |
void | getGlobalIndicesL (int numRecords, const snl_fei::RecordCollection *const *recordCollections, const int *records, int fieldID, int fieldSize, int indicesAllocLen, int *indices, int &numIndices) |
void | getGlobalIndices (int numRecords, const fei::Record< int > *const *records, const int *numFieldsPerID, const int *fieldIDs, const int *fieldSizes, int indicesAllocLen, int *indices, int &numIndices) |
void | getGlobalIndicesL (int numRecords, const snl_fei::RecordCollection *const *recordCollections, const int *records, const int *numFieldsPerID, const int *fieldIDs, const int *fieldSizes, int indicesAllocLen, int *indices, int &numIndices) |
void | getGlobalBlkIndices (int numRecords, const fei::Record< int > *const *records, int indicesAllocLen, int *indices, int &numIndices) |
void | getGlobalBlkIndicesL (int numRecords, const snl_fei::RecordCollection *const *recordCollections, const int *records, int indicesAllocLen, int *indices, int &numIndices) |
int | addDOFs (int fieldID, int idType, int numIDs, const int *IDs, int *records) |
int | addDOFs (int idType, int numIDs, const int *IDs, int *records) |
void | getSendProcs (std::vector< int > &sendProcs) const |
fei::SharedIDs< int > & | getSharedIDs (int idType) |
VectorSpace (const VectorSpace &src) | |
VectorSpace & | operator= (const VectorSpace &src) |
void | compute_shared_ids (const std::vector< int > &global_min, const std::vector< int > &global_max) |
void | check_version () |
void | setOwners_shared () |
int | calculateGlobalIndices () |
void | runRecords (fei::Record_Operator< int > &record_op) |
void | runRecords (fei::Record_Operator< int > &record_op, int recordIndex) |
int | synchronizeSharedRecords () |
int | setLocalEqnNumbers () |
int | exchangeGlobalIndices () |
int | exchangeFieldInfo (fei::comm_map *ownerPattern, fei::comm_map *sharerPattern, snl_fei::RecordCollection *recordCollection, std::vector< fei::FieldMask * > &fieldMasks) |
void | setName (const char *name) |
Additional Inherited Members | |
Private Member Functions inherited from fei::Logger | |
Logger () | |
virtual | ~Logger () |
void | setOutputLevel (OutputLevel olevel) |
void | addLogID (int ID) |
void | addLogEqn (int eqn) |
bool | isLogID (int ID) |
bool | isLogEqn (int eqn) |
std::set< int > & | getLogIDs () |
std::set< int > & | getLogEqns () |
Private Attributes inherited from fei::Logger | |
OutputLevel | output_level_ |
FEI_OSTREAM * | output_stream_ |
std::set< int > | logIDs_ |
std::set< int > | logEqns_ |
Class containing the methods for defining a solution-space (a set of degrees-of-freedom) and mapping that space to a globally unique set of indices. The set of indices can then be used in defining vectors or in defining either the row-space or the column-space of matrices.
Example: define a displacement field over a set of node-identifiers, and map that set to a set of equation-numbers.
There are multiple ways to use an instance of this interface:
For generating vectors:
For generating matrices:
Definition at line 62 of file fei_VectorSpace.hpp.
fei::VectorSpace::VectorSpace | ( | MPI_Comm | comm, |
const char * | name = NULL |
||
) |
Constructor.
comm | MPI_Communicator |
name | String to be used in the name of a debug-log file, if any. This is an optional argument, defaults to NULL. |
Definition at line 139 of file fei_VectorSpace.cpp.
References check_version(), comm_, globalIDOffsets_, globalOffsets_, fei::numProcs(), ptBlkMap_, and setName().
|
virtual |
Destructor
Definition at line 181 of file fei_VectorSpace.cpp.
|
private |
void fei::VectorSpace::setParameters | ( | const fei::ParameterSet & | paramset | ) |
Set parameter values from a fei::ParameterSet object. (Need to add documentation here regarding what parameters and values are valid and meaningful to this object...)
Definition at line 212 of file fei_VectorSpace.cpp.
References fei::Param::BAD_TYPE, fei::Param::BOOL, fei::ParameterSet::get(), fei::Param::getBoolValue(), fei::Param::getIntValue(), fei::LogManager::getLogManager(), fei::Param::getStringValue(), fei::Param::getType(), fei::Param::INT, fei::LogManager::setOutputLevel(), fei::Param::STRING, and fei::utils::string_to_output_level().
Referenced by beam_main(), test_VectorSpace::create_VectorSpace(), main(), snl_fei_tester::setParameter(), test_VectorSpace::test2(), test_VectorSpace::test3(), and snl_fei_tester::testInitialization().
void fei::VectorSpace::defineFields | ( | int | numFields, |
const int * | fieldIDs, | ||
const int * | fieldSizes, | ||
const int * | fieldTypes = NULL |
||
) |
Define fields that will occur in this solution space.
Example: a temperature field might be defined as fieldID 0, size 1.
Example: a velocity field might be defined as fieldID 5, size 3.
numFields | Input. Length of the fieldIDs and fieldSizes lists. |
fieldIDs | Input. List of user-supplied field-identifiers. Convention: Active solution-space fields should generally be denoted by non-negative field-identifiers, while "other" fields (such as geometric coordinates) should be denoted by negative field-identifiers. |
fieldSizes | Input. List of user-specified field-sizes. A field-size is the number of scalar components that make up a field. |
Definition at line 260 of file fei_VectorSpace.cpp.
References fei::BRIEF_LOGS, FEI_ENDL, and FEI_OSTREAM.
Referenced by beam_main(), test_VectorSpace::create_VectorSpace(), snl_fei_tester::defineFieldsAndIDTypes(), test_Factory::factory_test1(), main(), poisson3_main(), test_Matrix::serialtest1(), test_Matrix::serialtest3(), test_VectorSpace::test0(), test_Matrix_unit2(), test_Matrix_unit4(), test_MatrixGraph_test7(), and test_MatrixGraph_test8().
void fei::VectorSpace::defineIDTypes | ( | int | numIDTypes, |
const int * | idTypes | ||
) |
Define identifier-types in this solution space.
For example, define node-identifiers to be type 0, edge-identifiers to be type 1, lagrange-multiplier identifiers to be type 2, etc.
identifier-types need not be zero-based or contiguous.
numIDTypes | Number of distinct identifier-types |
idTypes | User-supplied list of identifier-types |
Definition at line 288 of file fei_VectorSpace.cpp.
References fei::BRIEF_LOGS, FEI_ENDL, FEI_OSTREAM, fei::localProc(), and fei::sortedListInsert().
Referenced by beam_main(), test_VectorSpace::create_VectorSpace(), snl_fei_tester::defineFieldsAndIDTypes(), main(), poisson3_main(), test_Algebraic::serialtest1(), test_Matrix::serialtest1(), test_Algebraic::serialtest2(), test_Matrix::serialtest2(), test_Matrix::serialtest3(), test_VectorSpace::test0(), test_Matrix_unit2(), test_Matrix_unit4(), and test_MatrixGraph_test8().
void fei::VectorSpace::setIDMap | ( | int | idType, |
const int * | localIDs_begin, | ||
const int * | localIDs_end, | ||
const int * | globalIDs_begin, | ||
const int * | globalIDs_end | ||
) |
Definition at line 311 of file fei_VectorSpace.cpp.
References fei::binarySearch().
int fei::VectorSpace::addDOFs | ( | int | fieldID, |
int | idType, | ||
int | numIDs, | ||
const int * | IDs | ||
) |
Add a set of identifiers to this solution-space. These solution-space entries consist of fields residing at identifiers.
Example: temperature field at a set of finite-element nodes.
fieldID | Input. The field-identifier to be added. Must be one of the fieldIDs defined previously via 'defineFields()'. |
idType | Input. The identifier-type over which the active field is being initialized. Must be one of the idTypes defined previously via 'defineIDTypes()'. |
numIDs | Input. Length of the IDs list. |
IDs | Input List of identifiers over which 'fieldID' is active. |
Definition at line 325 of file fei_VectorSpace.cpp.
References fei::binarySearch(), fei::BRIEF_LOGS, ERReturn, FEI_ENDL, FEI_OSTREAM, and snl_fei::getFieldSize().
Referenced by snl_fei::Constraint< RecordType >::Constraint(), test_VectorSpace::create_VectorSpace(), fei::MatrixGraph_Impl2::getConnectivityRecords(), test_Algebraic::serialtest1(), test_Algebraic::serialtest2(), and test_VectorSpace::test0().
int fei::VectorSpace::addDOFs | ( | int | idType, |
int | numIDs, | ||
const int * | IDs | ||
) |
Add a set of identifiers to the solution-space. These solution-space entries consist of identifiers that don't have associated fields.
Example: Lagrange-multiplier constraint identifiers.
This method may also be used for initializing a finite-element solution-space where the user knows that the entire problem contains only one scalar field (e.g., temperature) and so it is sufficient to define a solution space on identifiers without associating fields with those identifiers. (This will achieve a performance gain for the structure- definition, graph-generation and matrix/vector assembly.)
idType | Input. The identifier-type over which the solution- space is being defined. Must be one of the idTypes defined previously via 'defineIDTypes()'. |
numIDs | Input. Number of identifiers being added to the solution- space. |
IDs | Input. List of length numIDs. Identifiers being added to the solution-space. |
Definition at line 400 of file fei_VectorSpace.cpp.
References fei::binarySearch(), fei::BRIEF_LOGS, ERReturn, FEI_ENDL, and FEI_OSTREAM.
int fei::VectorSpace::initSharedIDs | ( | int | numShared, |
int | idType, | ||
const int * | sharedIDs, | ||
const int * | numSharingProcsPerID, | ||
const int * | sharingProcs | ||
) |
Specify a set of identifiers that are shared with other processors. The shared ids must be identified in a globally symmetric way. i.e., if the local processor identifies id x as being shared with processor p, then processor p MUST identify id x as being shared with the local processor.
numShared | Input. Length of the lists sharedIDs and numSharingProcsPerID. |
idType | Input. The identifier-type of the ids that are being identified as shared. |
sharedIDs | Input. List of shared identifiers. |
numSharingProcsPerID | Input. List of length numShared, and the i-th entry gives the number of processors being identified as sharing the i-th sharedID. |
sharingProcs | Input. Packed list of length sum(numSharingProcsPerID), containing the sharing processor ranks. |
Definition at line 458 of file fei_VectorSpace.cpp.
References fei::SharedIDs< T >::addSharedID(), fei::binarySearch(), fei::BRIEF_LOGS, CHK_ERR, ERReturn, FEI_ENDL, and FEI_OSTREAM.
Referenced by test_VectorSpace::create_VectorSpace(), HexBeam_Functions::init_shared_nodes(), set_shared_nodes(), test_VectorSpace::test0(), test_VectorSpace::test2(), and snl_fei_tester::testInitialization().
int fei::VectorSpace::initSharedIDs | ( | int | numShared, |
int | idType, | ||
const int * | sharedIDs, | ||
const int * | numSharingProcsPerID, | ||
const int *const * | sharingProcs | ||
) |
Specify a set of identifiers that are shared with other processors. The shared ids must be identified in a globally symmetric way. i.e., if the local processor identifies id x as being shared with processor p, then processor p MUST identify id x as being shared with the local processor.
numShared | Input. Length of the lists sharedIDs and numSharingProcsPerID. |
idType | Input. The identifier-type of the ids that are being identified as shared. |
sharedIDs | Input. List of shared identifiers. |
numSharingProcsPerID | Input. List of length numShared, and the i-th entry gives the number of processors being identified as sharing the i-th sharedID. |
sharingProcs | Input. Table with 'numShared' rows, and each row is of length numSharingProcsPerID. This table contains the sharing processor ranks. |
Definition at line 504 of file fei_VectorSpace.cpp.
References fei::SharedIDs< T >::addSharedID(), fei::binarySearch(), fei::BRIEF_LOGS, CHK_ERR, ERReturn, FEI_ENDL, and FEI_OSTREAM.
int fei::VectorSpace::setOwners | ( | int | numShared, |
int | idType, | ||
const int * | sharedIDs, | ||
const int * | owners | ||
) |
Definition at line 546 of file fei_VectorSpace.cpp.
References fei::binarySearch(), ERReturn, and fei::Record< GlobalIDType >::setOwnerProc().
int fei::VectorSpace::addVectorSpace | ( | fei::VectorSpace * | inputSpace | ) |
Add the contents of another VectorSpace object to this one.
Definition at line 562 of file fei_VectorSpace.cpp.
References fieldDatabase_, fieldMasks_, idTypes_, recordCollections_, and sharedIDTables_.
Referenced by test_VectorSpace::test3().
int fei::VectorSpace::initComplete | ( | ) |
Indicate that initialization is complete. This is a collective function, must be called on all processors. At this time ownership of shared IDs will be assigned, and the global index space calculated.
Definition at line 647 of file fei_VectorSpace.cpp.
References fei::BRIEF_LOGS, CHK_ERR, FEI_ENDL, FEI_OSTREAM, fei::GlobalMax(), fei::GlobalMin(), and fei::numProcs().
Referenced by test_Matrix::create_matrix(), test_Vector::create_vector(), test_VectorSpace::create_VectorSpace(), test_Algebraic::serialtest1(), test_Algebraic::serialtest2(), test_VectorSpace::test0(), test_VectorSpace::test1(), test_VectorSpace::test2(), and test_VectorSpace::test3().
|
inline |
Return true if initComplete() has already been called.
Definition at line 233 of file fei_VectorSpace.hpp.
References initCompleteAlreadyCalled_.
Referenced by fei::Matrix_core::Matrix_core().
MPI_Comm fei::VectorSpace::getCommunicator | ( | ) | const |
Return the MPI_Comm held by this vector-space. When built/run in serial mode, MPI_Comm is #defined to be int.
Definition at line 206 of file fei_VectorSpace.cpp.
Referenced by fei_test_utils::copy_feiMatrix_to_FillableMat(), fei::MatrixReducer::MatrixReducer(), fei::Reducer::Reducer(), snl_fei::Broker_LinSysCore::setGlobalOffsets(), snl_fei::Broker_LinSysCore::setMatrixStructure(), fei::Vector_Impl< T >::Vector_Impl(), fei::VectorReducer::VectorReducer(), fei::Vector_Local::writeToFile(), fei::MatrixReducer::writeToFile(), and fei::Matrix_Local::writeToFile().
int fei::VectorSpace::getGlobalIndex | ( | int | idType, |
int | ID, | ||
int | fieldID, | ||
int | fieldOffset, | ||
int | whichComponentOfField, | ||
int & | globalIndex | ||
) |
Given a particular degree-of-freedom, request the corresponding global index. A particular degree-of-freedom is specified as a component of a particular field, residing at a particular location (ID).
idType | Input. Identifier-type of the location at which the specified degree-of-freedom resides. Must be one of the identifier-types previously defined via a call to 'defineIDTypes()'. |
ID | Input. Identifier for the location being specified, such as a node-identifier, etc. |
fieldID | Input. Identifier for the field being specified. |
fieldOffset | Input. In case there is more than one field with the specified fieldID residing at the specified ID, this provides an offset into those fields. If only one field with specified fieldID, then this parameter is 0. |
whichComponentOfField | Input. Specifies a scalar component within the field. If the field only has 1 scalar component, then this parameter is 0. |
globalIndex | Output. This is the global index of the specified degree-of-freedom. Not referenced if the specified degree-of-freedom is not found. |
Definition at line 735 of file fei_VectorSpace.cpp.
References fei::binarySearch(), and snl_fei::getFieldSize().
Referenced by fei::DirichletBCManager::getEqnNumber(), fei::Matrix_Impl< T >::getOffset(), snl_fei::LinearSystem_General::loadLagrangeConstraint(), snl_fei_tester::save_multiplier_soln(), test_Algebraic::serialtest1(), test_Algebraic::serialtest2(), fei::Matrix_Local::sumInFieldData(), and fei::Vector_Impl< T >::Vector_Impl().
int fei::VectorSpace::getGlobalIndex | ( | int | idType, |
int | ID, | ||
int | fieldID, | ||
int & | globalIndex | ||
) |
Given a particular degree-of-freedom, request the corresponding global index. A particular degree-of-freedom is specified as a component of a particular field, residing at a particular location (ID).
idType | Input. Identifier-type of the location at which the specified degree-of-freedom resides. Must be one of the identifier-types previously defined via a call to 'defineIDTypes()'. |
ID | Input. Identifier for the location being specified, such as a node-identifier, etc. |
fieldID | Input. Identifier for the field being specified. |
globalIndex | Output. This is the global index of the first component of the specified field. Not referenced if the specified field is not found on the given ID. |
Definition at line 761 of file fei_VectorSpace.cpp.
int fei::VectorSpace::getGlobalBlkIndex | ( | int | idType, |
int | ID, | ||
int & | globalBlkIndex | ||
) |
Given a particular identifier, request the corresponding global block-index.
idType | Input. Identifier-type of the identifier being queried. |
ID | Input. Identifier for which a block-index is being requested. |
globalBlkIndex | Output. This is the global block-index of the specified identifier. |
Definition at line 770 of file fei_VectorSpace.cpp.
References fei::binarySearch(), and CHK_ERR.
int fei::VectorSpace::getGlobalIndices | ( | int | numIDs, |
const int * | IDs, | ||
int | idType, | ||
int | fieldID, | ||
int * | globalIndices | ||
) |
Given a list of IDs, fill an output-list of the global-indices that correspond to the first instance of the specified field at each ID.
numIDs | Input. Length of the IDs. |
IDs | Input. User-provided list of identifiers. |
idType | Input. Type of the IDs for which indices are being requested. |
fieldID | Input. Specified field |
globalIndices | Output. User-allocated list which, on exit, will contain the requested indices. Note that the length of this list is assumed to be numIDs*getFieldSize(fieldID). |
Definition at line 783 of file fei_VectorSpace.cpp.
References fei::binarySearch(), and snl_fei::getFieldSize().
Referenced by fei::Vector_Local::assembleFieldData(), fei::VectorReducer::copyInFieldData(), fei::Vector_Local::copyOutFieldData(), fei::VectorReducer::copyOutFieldData(), fei::FEI_Impl::residualNorm(), fei::VectorReducer::sumInFieldData(), fei::MatrixReducer::sumInFieldData(), and fei::Matrix_Impl< T >::sumInFieldData().
int fei::VectorSpace::getGlobalIndicesLocalIDs | ( | int | numIDs, |
const int * | localIDs, | ||
int | idType, | ||
int | fieldID, | ||
int * | globalIndices | ||
) |
Given a list of localIDs, fill an output-list of the global-indices that correspond to the first instance of the specified field at each localID.
numIDs | Input. Length of the IDs. |
IDs | Input. User-provided list of identifiers. |
idType | Input. Type of the IDs for which indices are being requested. |
fieldID | Input. Specified field |
globalIndices | Output. User-allocated list which, on exit, will contain the requested indices. Note that the length of this list is assumed to be numIDs*getFieldSize(fieldID). |
Definition at line 820 of file fei_VectorSpace.cpp.
References fei::binarySearch(), and snl_fei::getFieldSize().
Referenced by fei::Vector_Local::assembleFieldDataLocalIDs(), and fei::VectorReducer::copyInFieldDataLocalIDs().
int fei::VectorSpace::getGlobalBlkIndices | ( | int | numIDs, |
const int * | IDs, | ||
int | idType, | ||
int * | globalBlkIndices | ||
) |
Given a list of IDs, fill an output-list of the global-block-indices that correspond to each ID.
numIDs | Input. Length of the IDs list and of the globalBlkIndices list. |
IDs | Input. User-provided list of identifiers. |
idType | Input. Type of the IDs for which block-indices are being requested. |
globalBlkIndices | Output. User-allocated list which, on exit, will contain the requested indices. Note that the length of this list is assumed to be numIDs. |
Definition at line 857 of file fei_VectorSpace.cpp.
References fei::binarySearch().
int fei::VectorSpace::getGlobalIndices | ( | int | numIDs, |
const int * | IDs, | ||
const int * | idTypes, | ||
const int * | fieldIDs, | ||
int * | globalIndices | ||
) |
Given a list of IDs, fill an output-list of the global-indices that correspond to the first instance of the specified field at each ID. Somewhat more general version of the getGlobalIndices() method above.
numIDs | Input. Length of the IDs list. |
IDs | Input. User-provided list of identifiers. |
idTypes | Input. List of length numIDs, specifying the types of the IDs for which indices are being requested. |
fieldIDs | Input. List of length numIDs, specifying a field at each ID. |
globalIndices | Output. User-allocated list which, on exit, will contain the requested indices. Note that the length of this list is assumed to be numIDs*getFieldSize(fieldID). |
Definition at line 881 of file fei_VectorSpace.cpp.
References snl_fei::getFieldSize().
int fei::VectorSpace::getGlobalIndex | ( | int | idType, |
int | ID, | ||
int & | globalIndex | ||
) |
Given a particular degree-of-freedom, request the corresponding global index. In this case, the degree-of-freedom is specified simply by an identifier and identifier-type, without specifying a field. This is intended to be used for requesting global indices for constraint- identifiers or other identifiers which don't have associated fields. If the specified identifier actually does have associated fields, then the output globalIndex will be the global-index corresponding to the first component of the first associated field.
idType | Input. Identifier-type of the location at which the specified degree-of-freedom resides. Must be one of the identifier-types previously defined via a call to 'defineIDTypes()'. |
ID | Input. Identifier for the location being specified, such as a node-identifier, etc. |
globalIndex | Output. This is the global index of the specified degree-of-freedom. Not referenced if the specified degree-of-freedom is not found. |
Definition at line 1253 of file fei_VectorSpace.cpp.
References fei::binarySearch(), ERReturn, and fei::Record< GlobalIDType >::getOffsetIntoEqnNumbers().
int fei::VectorSpace::getNumDegreesOfFreedom | ( | int | idType, |
int | ID | ||
) |
Given a particular identifier, request the number of scalar degrees-of- freedom that are associated with that identifier.
Definition at line 1273 of file fei_VectorSpace.cpp.
References fei::binarySearch(), ERReturn, fei::Record< GlobalIDType >::getFieldMask(), and fei::FieldMask::getNumIndices().
Referenced by snl_fei_tester::save_block_elem_soln(), snl_fei_tester::save_block_node_soln(), test_Algebraic::serialtest1(), test_Algebraic::serialtest2(), and fei::Vector_Impl< T >::Vector_Impl().
int fei::VectorSpace::getNumFields | ( | ) |
Query the number of fields defined for this vector-space.
Definition at line 1288 of file fei_VectorSpace.cpp.
Referenced by test_Factory::factory_test1(), fei::Lookup_Impl::getNumFields(), snl_fei_tester::save_block_elem_soln(), and snl_fei_tester::save_block_node_soln().
void fei::VectorSpace::getFields | ( | std::vector< int > & | fieldIDs | ) |
Fill a std::vector with fieldIDs defined for this vector-space.
fieldIDs | On exit, contains fieldIDs. |
Definition at line 1294 of file fei_VectorSpace.cpp.
Referenced by fei::Lookup_Impl::getFieldIDsPtr(), snl_fei_tester::save_block_elem_soln(), and snl_fei_tester::save_block_node_soln().
int fei::VectorSpace::getNumFields | ( | int | idType, |
int | ID | ||
) |
Given a particular identifier, request the number of fields that are associated with that identifier.
Definition at line 1319 of file fei_VectorSpace.cpp.
References fei::binarySearch(), ERReturn, fei::Record< GlobalIDType >::getFieldMask(), and fei::FieldMask::getNumFields().
void fei::VectorSpace::getFields | ( | int | idType, |
int | ID, | ||
std::vector< int > & | fieldIDs | ||
) |
Given a particular identifier, request the list of fields that are associated with that identifier.
idType | Identifier-type |
ID | Specified identifier |
lenFieldIDs | Input. Length of user-allocated 'fieldIDs' list. |
fieldIDs | Input. User-allocated list, length must be at least as large as the value produced by getNumFields() for this ID. |
numFields | Output. Number of fields. If numFields > lenFieldIDs, then fieldIDs will contain the first 'lenFieldIDs' field identifiers. |
Definition at line 1384 of file fei_VectorSpace.cpp.
References fei::binarySearch(), fei::FieldMask::getFieldIDs(), fei::Record< GlobalIDType >::getFieldMask(), and voidERReturn.
size_t fei::VectorSpace::getNumIDTypes | ( | ) |
Query for the number of identifier-types defined for this vector-space.
Definition at line 1305 of file fei_VectorSpace.cpp.
void fei::VectorSpace::getIDTypes | ( | std::vector< int > & | idTypes | ) | const |
Query for the list of identifier-types defined for this vector-space.
idTypes | Output, on exit contents will contain id-types that are defined for this vector-space. |
Definition at line 1311 of file fei_VectorSpace.cpp.
Referenced by fei::ReverseMapper::ReverseMapper(), and fei::Vector_Impl< T >::Vector_Impl().
void fei::VectorSpace::getGlobalIndexOffsets | ( | std::vector< int > & | globalOffsets | ) | const |
Request the global index offsets. Indices are zero-based.
globalOffsets | Output. On exit, contains global-offsets. globalOffsets[i] is first global offset on processor i, for i in 0 .. numPartitions - 1 globalOffsets[i+1] - globalOffsets[i] is the number of indices on the i-th processor |
Definition at line 1407 of file fei_VectorSpace.cpp.
Referenced by fei_test_utils::copy_feiMatrix_to_FillableMat(), snl_fei::LinearSystem_General::LinearSystem_General(), fei::Matrix_core::Matrix_core(), test_Matrix::matrix_test1(), fei::FEI_Impl::residualNorm(), test_Algebraic::serialtest1(), test_Algebraic::serialtest2(), snl_fei::Broker_LinSysCore::setGlobalOffsets(), test_VectorSpace::test0(), test_MatrixGraph::test1(), test_VectorSpace::test3(), test_MatrixGraph::test3(), test_MatrixGraph::test4(), test_MatrixGraph::test5(), and test_Vector::vector_test1().
void fei::VectorSpace::getGlobalBlkIndexOffsets | ( | std::vector< int > & | globalBlkOffsets | ) | const |
Request the global block-index offsets. Indices are zero-based.
globalBlkOffsets | Output. On exit, contains global-block-offsets. globalBlkOffsets[i] is first global block-offset on processor i, for i in 0 .. numPartitions - 1 globalBlkOffsets[i+1] - globalBlkOffsets[i] is the number of block-indices on the i-th processor |
Definition at line 1413 of file fei_VectorSpace.cpp.
Referenced by snl_fei::Broker_LinSysCore::setGlobalOffsets().
int fei::VectorSpace::getOwnerProcPtIndex | ( | int | globalIndex | ) |
Given a global index in the point-equation space, return the owning processor. If the global index is not in the equation space, return -1.
Definition at line 1419 of file fei_VectorSpace.cpp.
int fei::VectorSpace::getOwnerProcBlkIndex | ( | int | globalIndex | ) |
Given a global index in the block-equation space, return the owning processor. If the global index is not in the equation space, return -1.
Definition at line 1434 of file fei_VectorSpace.cpp.
bool fei::VectorSpace::isLocal | ( | int | idType, |
int | ID | ||
) |
Given an identifier (with identifier-type), return true if it resides on the local processor, false if not. This will return true if the identifier is either owned or shared by the local processor.
Definition at line 1334 of file fei_VectorSpace.cpp.
References fei::binarySearch().
bool fei::VectorSpace::isLocallyOwned | ( | int | idType, |
int | ID | ||
) |
Given an identifier (with identifier-type), return true if it resides on the local processor and is locally owned, false if not.
Definition at line 1348 of file fei_VectorSpace.cpp.
References fei::binarySearch(), fei::Record< GlobalIDType >::getOwnerProc(), and fei::localProc().
unsigned fei::VectorSpace::getFieldSize | ( | int | fieldID | ) |
Request the field-size for a specified field-identifier. If the specified field-identifier is not found, std::runtime_error is thrown.
fieldID | Input. Specified field-identifier |
Definition at line 1365 of file fei_VectorSpace.cpp.
References FEI_OSTRINGSTREAM.
Referenced by fei::Vector_Local::assembleFieldData(), fei::Vector_Local::assembleFieldDataLocalIDs(), snl_fei::Constraint< RecordType >::Constraint(), fei::VectorReducer::copyInFieldData(), fei::VectorReducer::copyInFieldDataLocalIDs(), fei::Vector_Local::copyOutFieldData(), fei::VectorReducer::copyOutFieldData(), fei::Lookup_Impl::getFieldSize(), snl_fei::getFieldSize(), fei::Lookup_Impl::getFieldSizesPtr(), fei::FEI_Impl::residualNorm(), snl_fei_tester::save_block_elem_soln(), snl_fei_tester::save_block_node_soln(), fei::Matrix_Impl< T >::sumIn(), fei::VectorReducer::sumInFieldData(), fei::Matrix_Local::sumInFieldData(), fei::MatrixReducer::sumInFieldData(), and fei::Matrix_Impl< T >::sumInFieldData().
int fei::VectorSpace::getNumOwnedAndSharedIDs | ( | int | idType | ) |
Query the number of locally owned-or-shared identifiers.
Definition at line 1449 of file fei_VectorSpace.cpp.
References fei::binarySearch().
Referenced by main(), poisson3_main(), snl_fei_tester::save_block_elem_soln(), snl_fei_tester::save_block_node_soln(), snl_fei_tester::save_multiplier_soln(), and snl_fei::Broker_FEData::setStructure().
int fei::VectorSpace::getNumOwnedIDs | ( | int | idType | ) |
Query the number of locally-owned identifiers.
Definition at line 1458 of file fei_VectorSpace.cpp.
References fei::binarySearch(), fei::localProc(), and fei::RecordAttributeCounter::numLocallyOwnedIDs_.
Referenced by fei::FEI_Impl::residualNorm().
int fei::VectorSpace::getOwnedAndSharedIDs | ( | int | idtype, |
int | lenList, | ||
int * | IDs, | ||
int & | numOwnedAndSharedIDs | ||
) |
Obtain a list of the local identifiers. Note that this includes identifiers that are locally shared but not owned.
Definition at line 1478 of file fei_VectorSpace.cpp.
References fei::binarySearch(), snl_fei::RecordCollection::getGlobalToLocalMap(), snl_fei::RecordCollection::getNumRecords(), and snl_fei::RecordCollection::getRecordWithLocalID().
Referenced by main(), poisson3_main(), snl_fei_tester::save_block_elem_soln(), snl_fei_tester::save_block_node_soln(), and snl_fei_tester::save_multiplier_soln().
int fei::VectorSpace::getOwnedIDs | ( | int | idtype, |
int | lenList, | ||
int * | IDs, | ||
int & | numLocalIDs | ||
) |
Obtain a list of the locally owned identifiers.
Definition at line 1505 of file fei_VectorSpace.cpp.
References fei::binarySearch(), snl_fei::RecordCollection::getGlobalToLocalMap(), fei::Record< GlobalIDType >::getID(), fei::Record< GlobalIDType >::getOwnerProc(), snl_fei::RecordCollection::getRecordWithLocalID(), and fei::localProc().
Referenced by fei::FEI_Impl::residualNorm().
int fei::VectorSpace::getNumIndices_SharedAndOwned | ( | ) | const |
Query number of indices on local processor, including ones that are locally owned as well as shared-but-not-owned. Only available after initComplete has been called. (returns 0 before that)
Definition at line 1537 of file fei_VectorSpace.cpp.
Referenced by fei::Vector_Local::Vector_Local(), and fei::VectorReducer::VectorReducer().
int fei::VectorSpace::getIndices_SharedAndOwned | ( | std::vector< int > & | globalIndices | ) | const |
Obtain list of global indices on local processor, including ones that are locally owned as well as shared-but-not-owned. Only available after initComplete has been called.
globalIndices | On output, will contain all indices owned or shared by local processor. |
Definition at line 1543 of file fei_VectorSpace.cpp.
Referenced by fei::Vector_Local::Vector_Local(), and fei::VectorReducer::VectorReducer().
int fei::VectorSpace::getNumBlkIndices_SharedAndOwned | ( | int & | numBlkIndices | ) | const |
Query number of block indices on local processor, including ones that are locally owned as well as shared-but-not-owned. Only available after initComplete has been called.
Definition at line 1562 of file fei_VectorSpace.cpp.
int fei::VectorSpace::getBlkIndices_SharedAndOwned | ( | int | lenBlkIndices, |
int * | globalBlkIndices, | ||
int * | blkSizes, | ||
int & | numBlkIndices | ||
) |
Obtain list of global block indices on local processor, including ones that are locally owned as well as shared-but-not-owned. Only available after initComplete has been called.
lenBlkIndices | Input. Length of user-allocated 'globalBlkIndices' list. |
globalBlkIndices | User-allocated list. On output, will contain all indices owned or shared by local processor. |
blkSizes | User-allocated list. On output, will contain the number of scalars (point-indices) associated with each corresponding block-index. |
numBlkIndices | Output. Number of indices. If 'numBlkIndices' is different than 'lenBlkIndices', then globalBlkIndices will contain 'min(lenBlkIndices, numBlkIndices)' of the local processor's indices. |
Definition at line 1573 of file fei_VectorSpace.cpp.
References fei::BlkIndexAccessor::numBlkIndices_.
int fei::VectorSpace::getNumIndices_Owned | ( | ) | const |
Query number of indices owned by local processor.
Definition at line 1600 of file fei_VectorSpace.cpp.
References fei::localProc().
Referenced by snl_fei::Broker_FEData::createMatrix(), snl_fei::Broker_FEData::createVector(), Factory_Aztec::createVector(), extractDirichletBCs(), fei::MatrixReducer::getLocalNumRows(), snl_fei::LinearSystem_FEData::implementBCs(), fei::FEI_Impl::residualNorm(), test_Matrix::serialtest1(), test_Matrix::serialtest2(), test_Matrix::serialtest3(), fei::Matrix_Impl< T >::writeToFile(), and fei::Matrix_Impl< T >::writeToStream().
int fei::VectorSpace::getIndices_Owned | ( | std::vector< int > & | globalIndices | ) | const |
Obtain list of global indices owned by local processor. Only available after initComplete has been called.
lenIndices | Input. Length of user-allocated 'globalIndices' list. |
globalIndices | User-allocated list. On output, will contain all indices owned by local processor. |
numIndices | Output. Number of indices. If 'numIndices' is different than 'lenIndices', then globalIndices will contain 'min(lenIndices, numIndices)' of the local processor's indices. |
Definition at line 1613 of file fei_VectorSpace.cpp.
References fei::localProc().
Referenced by Factory_Aztec::createVector(), fei::Reducer::Reducer(), fei::Matrix_Impl< T >::writeToFile(), and fei::Matrix_Impl< T >::writeToStream().
int fei::VectorSpace::getIndices_Owned | ( | int | lenIndices, |
int * | globalIndices, | ||
int & | numIndices | ||
) | const |
Definition at line 1634 of file fei_VectorSpace.cpp.
References fei::localProc().
int fei::VectorSpace::getNumBlkIndices_Owned | ( | ) | const |
Query number of block indices owned by local processor.
Definition at line 1655 of file fei_VectorSpace.cpp.
References fei::localProc().
Referenced by Factory_Aztec::createVector().
int fei::VectorSpace::getBlkIndices_Owned | ( | int | lenBlkIndices, |
int * | globalBlkIndices, | ||
int * | blkSizes, | ||
int & | numBlkIndices | ||
) |
Obtain list of global block indices owned by local processor. Only available after initComplete has been called.
lenBlkIndices | Input. Length of user-allocated 'globalBlkIndices' list. |
globalBlkIndices | User-allocated list. On output, will contain all indices owned by local processor. |
blkSizes | User-allocated list. On output, will contain the number of scalars (point-indices) associated with each corresponding block-index. |
numBlkIndices | Output. Number of indices. If 'numBlkIndices' is different than 'lenBlkIndices', then globalBlkIndices will contain 'min(lenBlkIndices, numBlkIndices)' of the local processor's indices. |
Definition at line 1680 of file fei_VectorSpace.cpp.
References fei::localProc(), and fei::BlkIndexAccessor::numBlkIndices_.
Referenced by Factory_Aztec::createVector().
int fei::VectorSpace::getNumSharedIDs | ( | int | idType, |
int & | numShared | ||
) |
Query the number of shared identifiers of a given id-type.
Definition at line 1470 of file fei_VectorSpace.cpp.
Referenced by fei::Lookup_Impl::getNumSharedNodes().
int fei::VectorSpace::getGlobalNumIndices | ( | ) | const |
Query the number of eqn indices across all processors.
Definition at line 1593 of file fei_VectorSpace.cpp.
Referenced by fei::MatrixReducer::getGlobalNumRows(), test_Matrix::matrix_test1(), and fei::Matrix_Impl< T >::writeToFile().
int fei::VectorSpace::getGlobalNumBlkIndices | ( | ) | const |
Query the number of block-eqn indices across all processors.
Definition at line 1668 of file fei_VectorSpace.cpp.
int fei::VectorSpace::getRecordCollection | ( | int | idType, |
snl_fei::RecordCollection *& | records | ||
) |
Intended to be used by other fei classes.
Definition at line 1701 of file fei_VectorSpace.cpp.
References fei::binarySearch().
Referenced by snl_fei::Constraint< RecordType >::Constraint(), fei::utils::getConnectivityArrays(), fei::MatrixGraph_Impl2::getConnectivityRecords(), fei::Lookup_Impl::getSharedNodeNumbers(), fei::ReverseMapper::ReverseMapper(), and fei::Matrix_Impl< T >::sumIn().
int fei::VectorSpace::getRecordCollection | ( | int | idType, |
const snl_fei::RecordCollection *& | records | ||
) | const |
Intended to be used by other fei classes.
Definition at line 1712 of file fei_VectorSpace.cpp.
References fei::binarySearch().
|
inline |
Intended to be used only by other fei classes.
Definition at line 809 of file fei_VectorSpace.hpp.
References eqnNumbers_.
Referenced by fei::ReverseMapper::ReverseMapper(), and fei::Matrix_Local::writeToStream().
|
inline |
Intended to be used only by other fei classes.
Definition at line 814 of file fei_VectorSpace.hpp.
References eqnNumbers_.
|
inline |
Intended to be used by other implementation classes.
Definition at line 819 of file fei_VectorSpace.hpp.
References ptBlkMap_.
Referenced by snl_fei::BlkSizeMsgHandler::BlkSizeMsgHandler(), and fei::Lookup_Impl::Lookup_Impl().
|
inline |
Definition at line 824 of file fei_VectorSpace.hpp.
References ptBlkMap_.
fei::FieldDofMap< int > & fei::VectorSpace::getFieldDofMap | ( | ) |
Definition at line 2275 of file fei_VectorSpace.cpp.
Referenced by snl_fei::LinearSystem_FEData::implementBCs(), and fei::Matrix_Impl< T >::sumIn().
void fei::VectorSpace::getGlobalIndices | ( | const fei::Pattern * | pattern, |
const fei::Record< int > *const * | records, | ||
std::vector< int > & | indices | ||
) |
Definition at line 925 of file fei_VectorSpace.cpp.
References fei::Pattern::GENERAL, fei::Pattern::getFieldIDs(), snl_fei::getFieldSize(), fei::Pattern::getNumFieldsPerID(), fei::Pattern::getNumIDs(), fei::Pattern::getNumIndices(), fei::Pattern::getPatternType(), fei::Pattern::getTotalNumFields(), fei::Pattern::NO_FIELD, fei::Pattern::SIMPLE, and fei::Pattern::SINGLE_IDTYPE.
void fei::VectorSpace::getGlobalIndicesL | ( | const fei::Pattern * | pattern, |
const int * | records, | ||
std::vector< int > & | indices | ||
) |
Definition at line 968 of file fei_VectorSpace.cpp.
References fei::Pattern::GENERAL, fei::Pattern::getFieldIDs(), snl_fei::getFieldSize(), fei::Pattern::getNumFieldsPerID(), fei::Pattern::getNumIDs(), fei::Pattern::getNumIndices(), fei::Pattern::getPatternType(), fei::Pattern::getRecordCollections(), fei::Pattern::getTotalNumFields(), fei::Pattern::NO_FIELD, fei::Pattern::SIMPLE, and fei::Pattern::SINGLE_IDTYPE.
Referenced by fei::Matrix_Impl< T >::sumIn().
void fei::VectorSpace::getGlobalBlkIndices | ( | const fei::Pattern * | pattern, |
const fei::Record< int > *const * | records, | ||
std::vector< int > & | indices | ||
) |
Definition at line 913 of file fei_VectorSpace.cpp.
References fei::Pattern::getNumIDs().
void fei::VectorSpace::getGlobalIndices | ( | int | numRecords, |
const fei::Record< int > *const * | records, | ||
int | fieldID, | ||
int | fieldSize, | ||
int | indicesAllocLen, | ||
int * | indices, | ||
int & | numIndices | ||
) |
Definition at line 1012 of file fei_VectorSpace.cpp.
References fei::FieldMask::getFieldEqnOffset(), fei::Record< GlobalIDType >::getFieldMask(), and fei::Record< GlobalIDType >::getOffsetIntoEqnNumbers().
void fei::VectorSpace::getGlobalIndicesL | ( | int | numRecords, |
const snl_fei::RecordCollection *const * | recordCollections, | ||
const int * | records, | ||
int | fieldID, | ||
int | fieldSize, | ||
int | indicesAllocLen, | ||
int * | indices, | ||
int & | numIndices | ||
) |
Definition at line 1074 of file fei_VectorSpace.cpp.
References fei::FieldMask::getFieldEqnOffset(), fei::Record< GlobalIDType >::getFieldMask(), fei::Record< GlobalIDType >::getOffsetIntoEqnNumbers(), and snl_fei::RecordCollection::getRecordWithLocalID().
void fei::VectorSpace::getGlobalIndices | ( | int | numRecords, |
const fei::Record< int > *const * | records, | ||
const int * | numFieldsPerID, | ||
const int * | fieldIDs, | ||
const int * | fieldSizes, | ||
int | indicesAllocLen, | ||
int * | indices, | ||
int & | numIndices | ||
) |
Definition at line 1137 of file fei_VectorSpace.cpp.
References fei::FieldMask::getFieldEqnOffset(), fei::Record< GlobalIDType >::getFieldMask(), and fei::Record< GlobalIDType >::getOffsetIntoEqnNumbers().
void fei::VectorSpace::getGlobalIndicesL | ( | int | numRecords, |
const snl_fei::RecordCollection *const * | recordCollections, | ||
const int * | records, | ||
const int * | numFieldsPerID, | ||
const int * | fieldIDs, | ||
const int * | fieldSizes, | ||
int | indicesAllocLen, | ||
int * | indices, | ||
int & | numIndices | ||
) |
Definition at line 1178 of file fei_VectorSpace.cpp.
References fei::FieldMask::getFieldEqnOffset(), fei::Record< GlobalIDType >::getFieldMask(), fei::Record< GlobalIDType >::getOffsetIntoEqnNumbers(), and snl_fei::RecordCollection::getRecordWithLocalID().
void fei::VectorSpace::getGlobalBlkIndices | ( | int | numRecords, |
const fei::Record< int > *const * | records, | ||
int | indicesAllocLen, | ||
int * | indices, | ||
int & | numIndices | ||
) |
Definition at line 1220 of file fei_VectorSpace.cpp.
References fei::Record< GlobalIDType >::getNumber().
void fei::VectorSpace::getGlobalBlkIndicesL | ( | int | numRecords, |
const snl_fei::RecordCollection *const * | recordCollections, | ||
const int * | records, | ||
int | indicesAllocLen, | ||
int * | indices, | ||
int & | numIndices | ||
) |
Definition at line 1236 of file fei_VectorSpace.cpp.
References snl_fei::RecordCollection::getRecordWithLocalID().
int fei::VectorSpace::addDOFs | ( | int | fieldID, |
int | idType, | ||
int | numIDs, | ||
const int * | IDs, | ||
int * | records | ||
) |
Definition at line 360 of file fei_VectorSpace.cpp.
References fei::binarySearch(), fei::BRIEF_LOGS, FEI_ENDL, FEI_OSTREAM, FEI_OSTRINGSTREAM, and snl_fei::getFieldSize().
int fei::VectorSpace::addDOFs | ( | int | idType, |
int | numIDs, | ||
const int * | IDs, | ||
int * | records | ||
) |
Definition at line 428 of file fei_VectorSpace.cpp.
References fei::binarySearch(), fei::BRIEF_LOGS, ERReturn, FEI_ENDL, and FEI_OSTREAM.
void fei::VectorSpace::getSendProcs | ( | std::vector< int > & | sendProcs | ) | const |
Definition at line 598 of file fei_VectorSpace.cpp.
References fei::localProc().
fei::SharedIDs< int > & fei::VectorSpace::getSharedIDs | ( | int | idType | ) |
Definition at line 619 of file fei_VectorSpace.cpp.
Referenced by fei::Lookup_Impl::getNumSharingProcs(), fei::Lookup_Impl::getSharedNodeNumbers(), fei::Lookup_Impl::getSharedNodeProcs(), and fei::Vector_Impl< T >::Vector_Impl().
|
private |
|
private |
Definition at line 632 of file fei_VectorSpace.cpp.
References fei::set_shared_ids().
|
inlineprivate |
Definition at line 752 of file fei_VectorSpace.hpp.
References fei::utils::version().
Referenced by VectorSpace().
|
private |
Definition at line 1723 of file fei_VectorSpace.cpp.
References fei::binarySearch(), fei::FULL_LOGS, fei::SharedIDs< T >::getSharedIDs(), and fei::localProc().
|
private |
Definition at line 1782 of file fei_VectorSpace.cpp.
References fei::BRIEF_LOGS, CHK_ERR, CHK_MPI, FEI_ENDL, FEI_OSTREAM, fei::GlobalMax(), fei::localProc(), fei::RecordAttributeCounter::numLocalDOF_, fei::RecordAttributeCounter::numLocalIDs_, fei::numProcs(), and fei::RecordAttributeCounter::numRemoteSharedDOF_.
|
private |
Definition at line 2047 of file fei_VectorSpace.cpp.
References snl_fei::RecordCollection::getGlobalToLocalMap(), and snl_fei::RecordCollection::getRecordWithLocalID().
|
private |
Definition at line 2065 of file fei_VectorSpace.cpp.
References snl_fei::RecordCollection::getGlobalToLocalMap(), and snl_fei::RecordCollection::getRecordWithLocalID().
|
private |
Definition at line 1842 of file fei_VectorSpace.cpp.
References snl_fei::RaggedTable< MAP_TYPE, SET_TYPE >::addIndices(), fei::Barrier(), fei::BRIEF_LOGS, CHK_ERR, snl_fei::RaggedTable< MAP_TYPE, SET_TYPE >::equal(), ERReturn, FEI_COUT, FEI_ENDL, FEI_OSTREAM, fei::FULL_LOGS, snl_fei::RaggedTable< MAP_TYPE, SET_TYPE >::getMap(), fei::SharedIDs< T >::getOwningProcs(), fei::SharedIDs< T >::getSharedIDs(), fei::GlobalSum(), fei::localProc(), fei::mirrorCommPattern(), and fei::numProcs().
|
private |
Definition at line 2081 of file fei_VectorSpace.cpp.
References fei::BRIEF_LOGS, CHK_ERR, FEI_ENDL, FEI_OFSTREAM, FEI_OSTREAM, FEI_OSTRINGSTREAM, fei::Record< GlobalIDType >::getFieldMask(), snl_fei::RecordCollection::getGlobalToLocalMap(), fei::Record< GlobalIDType >::getID(), fei::LogManager::getLogManager(), fei::Record< GlobalIDType >::getNumber(), fei::FieldMask::getNumIndices(), fei::Record< GlobalIDType >::getOffsetIntoEqnNumbers(), fei::LogManager::getOutputPath(), fei::Record< GlobalIDType >::getOwnerProc(), snl_fei::RecordCollection::getRecordWithLocalID(), fei::GlobalMax(), IOS_OUT, fei::localProc(), n, fei::numProcs(), fei::Record< GlobalIDType >::setNumber(), fei::Record< GlobalIDType >::setOffsetIntoEqnNumbers(), and snl_fei::PointBlockMap::setPtEqualBlk().
|
private |
Definition at line 2030 of file fei_VectorSpace.cpp.
References snl_fei::RecordMsgHandler::_EqnNumbers_, CHK_ERR, fei::exchange(), fei::localProc(), snl_fei::RecordMsgHandler::setRecvPattern(), snl_fei::RecordMsgHandler::setSendPattern(), and snl_fei::RecordMsgHandler::setTask().
|
private |
Definition at line 2210 of file fei_VectorSpace.cpp.
References snl_fei::RecordMsgHandler::_FieldMasks_, snl_fei::RecordMsgHandler::_MaskIDs_, CHK_ERR, fei::exchange(), fei::localProc(), fei::numProcs(), snl_fei::RecordMsgHandler::setRecvPattern(), snl_fei::RecordMsgHandler::setSendPattern(), and snl_fei::RecordMsgHandler::setTask().
|
private |
Definition at line 2281 of file fei_VectorSpace.cpp.
Referenced by VectorSpace().
|
friend |
Definition at line 744 of file fei_VectorSpace.hpp.
std::vector<fei::FieldMask*> fei::VectorSpace::fieldMasks_ |
Definition at line 737 of file fei_VectorSpace.hpp.
Referenced by addVectorSpace().
|
private |
Definition at line 776 of file fei_VectorSpace.hpp.
Referenced by VectorSpace().
|
private |
Definition at line 778 of file fei_VectorSpace.hpp.
Referenced by addVectorSpace().
|
private |
Definition at line 779 of file fei_VectorSpace.hpp.
Referenced by addVectorSpace().
|
private |
Definition at line 780 of file fei_VectorSpace.hpp.
|
private |
Definition at line 781 of file fei_VectorSpace.hpp.
|
private |
Definition at line 782 of file fei_VectorSpace.hpp.
Referenced by addVectorSpace().
|
private |
Definition at line 784 of file fei_VectorSpace.hpp.
Referenced by addVectorSpace().
|
private |
Definition at line 785 of file fei_VectorSpace.hpp.
|
private |
Definition at line 786 of file fei_VectorSpace.hpp.
|
private |
Definition at line 788 of file fei_VectorSpace.hpp.
|
private |
Definition at line 790 of file fei_VectorSpace.hpp.
Referenced by getPointBlockMap(), and VectorSpace().
|
private |
Definition at line 792 of file fei_VectorSpace.hpp.
Referenced by VectorSpace().
|
private |
Definition at line 793 of file fei_VectorSpace.hpp.
Referenced by VectorSpace().
|
private |
Definition at line 795 of file fei_VectorSpace.hpp.
|
private |
Definition at line 797 of file fei_VectorSpace.hpp.
|
private |
Definition at line 797 of file fei_VectorSpace.hpp.
|
private |
Definition at line 799 of file fei_VectorSpace.hpp.
Referenced by getEqnNumbers().
|
private |
Definition at line 801 of file fei_VectorSpace.hpp.
|
private |
Definition at line 802 of file fei_VectorSpace.hpp.
Referenced by initCompleteAlreadyCalled().
|
private |
Definition at line 804 of file fei_VectorSpace.hpp.
|
private |
Definition at line 805 of file fei_VectorSpace.hpp.
|
private |
Definition at line 806 of file fei_VectorSpace.hpp.