FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
Namespaces | |
impl_utils | |
utils | |
Typedefs | |
typedef snl_fei::RaggedTable < std::map< int, std::set< int > * >, std::set< int > > | comm_map |
typedef std::map< int, int > | MapIntInt |
typedef snl_fei::Constraint < fei::Record< int > * > | ConstraintType |
Enumerations | |
enum | OutputLevel { NONE = 0, STATS = 1, MATRIX_FILES = 2, BRIEF_LOGS = 3, FULL_LOGS = 4, ALL = 5 } |
Functions | |
template<typename T > | |
int | lowerBound (const T &item, const T *list, int len) |
template<typename T > | |
int | binarySearch (const T &item, const T *list, int len) |
template<typename T > | |
void | insertion_sort_with_companions (int len, int *array, T *companions) |
template<typename T > | |
int | binarySearch (const T &item, const T *list, int len, int &insertPoint) |
template<typename T > | |
int | binarySearch (const T &item, const std::vector< T > &list, int &insertPoint) |
template<typename T > | |
int | binarySearch (const T &item, const std::vector< T > &list) |
template<typename T > | |
int | binarySearch (const T &item, const T *list, int, int start, int end, int &insertPoint) |
template<typename T > | |
int | binarySearch (int numItems, const T *items, int *offsets, const T *list, int listLength) |
template<class T > | |
int | sortedListInsert (const T &item, std::vector< T > &list) |
template<class T > | |
int | sortedListInsert (const T &item, T *&list, int &len, int &allocLen) |
template<class T > | |
int | listInsert (const T &item, int offset, T *&list, int &usedLength, int &allocatedLength, int allocChunkSize=200) |
template<class T > | |
int | searchList (const T &item, const T *list, int len) |
template<typename T > | |
void | addItemsToCommMap (int proc, size_t numItems, const T *items, typename CommMap< T >::Type &comm_map, bool keep_sorted_and_unique=true) |
int | localProc (MPI_Comm comm) |
int | numProcs (MPI_Comm comm) |
void | Barrier (MPI_Comm comm) |
int | mirrorProcs (MPI_Comm comm, std::vector< int > &toProcs, std::vector< int > &fromProcs) |
int | mirrorCommPattern (MPI_Comm comm, comm_map *inPattern, comm_map *&outPattern) |
int | exchangeIntData (MPI_Comm comm, const std::vector< int > &sendProcs, std::vector< int > &sendData, const std::vector< int > &recvProcs, std::vector< int > &recvData) |
int | Allreduce (MPI_Comm comm, bool localBool, bool &globalBool) |
template<class T > | |
int | GlobalMax (MPI_Comm comm, std::vector< T > &local, std::vector< T > &global) |
template<class T > | |
int | GlobalMax (MPI_Comm comm, T local, T &global) |
template<class T > | |
int | GlobalMin (MPI_Comm comm, std::vector< T > &local, std::vector< T > &global) |
template<class T > | |
int | GlobalMin (MPI_Comm comm, T local, T &global) |
template<class T > | |
int | GlobalSum (MPI_Comm comm, std::vector< T > &local, std::vector< T > &global) |
template<class T > | |
int | GlobalSum (MPI_Comm comm, T local, T &global) |
template<class T > | |
int | Allgatherv (MPI_Comm comm, std::vector< T > &sendbuf, std::vector< int > &recvLengths, std::vector< T > &recvbuf) |
template<class T > | |
int | Bcast (MPI_Comm comm, std::vector< T > &sendbuf, int sourceProc) |
template<typename T > | |
int | exchangeCommMapData (MPI_Comm comm, const typename CommMap< T >::Type &sendCommMap, typename CommMap< T >::Type &recvCommMap, bool recvProcsKnownOnEntry=false, bool recvLengthsKnownOnEntry=false) |
template<class T > | |
int | exchangeData (MPI_Comm comm, std::vector< int > &sendProcs, std::vector< std::vector< T > > &sendData, std::vector< int > &recvProcs, bool recvDataLengthsKnownOnEntry, std::vector< std::vector< T > > &recvData) |
template<class T > | |
int | exchangeData (MPI_Comm comm, std::vector< int > &sendProcs, std::vector< std::vector< T > * > &sendData, std::vector< int > &recvProcs, bool recvLengthsKnownOnEntry, std::vector< std::vector< T > * > &recvData) |
template<class T > | |
int | exchange (MPI_Comm comm, MessageHandler< T > *msgHandler) |
std::ostream * | console_ostream_ptr (std::ostream *osptr=NULL) |
void | set_console_ostream (std::ostream &os) |
std::ostream & | console_out () |
void | multiply_CSRMat_CSVec (const CSRMat &A, const CSVec &x, CSVec &y) |
void | multiply_trans_CSRMat_CSVec (const CSRMat &A, const CSVec &x, CSVec &y) |
void | multiply_CSRMat_CSRMat (const CSRMat &A, const CSRMat &B, CSRMat &C, bool storeResultZeros) |
void | multiply_trans_CSRMat_CSRMat (const CSRMat &A, const CSRMat &B, CSRMat &C, bool storeResultZeros) |
void | add_CSRMat_to_FillableMat (const CSRMat &csrm, FillableMat &fm) |
void | add_entries (CSVec &vec, int num, const int *eqns, const double *coefs) |
void | put_entry (CSVec &vec, int eqn, double coef) |
double | get_entry (const CSVec &vec, int eqn) |
void | remove_entry (CSVec &vec, int eqn) |
void | set_values (CSVec &vec, double scalar) |
void | add_CSVec_CSVec (const CSVec &u, CSVec &v) |
void | add_entry (CSVec &vec, int eqn, double coef) |
FillableMat::feipoolmat::iterator | insert_row (FillableMat::feipoolmat &matdata, FillableMat::feipoolmat::iterator iter, int row, fei_Pool_alloc< CSVec > &vecpool) |
void | print (std::ostream &os, const FillableMat &mat) |
int | count_nnz (const FillableMat &mat) |
void | get_row_numbers (const FillableMat &mat, std::vector< int > &rows) |
template<class LocalOrdinal , class GlobalOrdinal , class DofOrder > | |
void | set_dof_mappings (GlobalOrdinal first_index, fei::DofMapper< LocalOrdinal, GlobalOrdinal, DofOrder > &dof_mapper) |
void | copy_into_shared_ids (const fei::CommMap< int >::Type &procs_to_ids_and_sharing_procs, const snl_fei::RecordCollection &records, fei::SharedIDs< int > &sharedIDs) |
void | copy_remotelyowned_ids_into_CommMap (int myProc, const fei::LinearDecomposition< int > &lindecomp, const snl_fei::RecordCollection &records, fei::CommMap< int >::Type &procs_to_shared_ids) |
void | set_shared_ids (MPI_Comm comm, const snl_fei::RecordCollection &records, fei::SharedIDs< int > &sharedIDs, int lowest_global_id, int highest_global_id) |
template<typename T , typename U > | |
bool | operator== (const SharedPtr< T > &a, const SharedPtr< U > &b) |
template<typename T , typename U > | |
bool | operator!= (const SharedPtr< T > &a, const SharedPtr< U > &b) |
int | find_row_start (int row, const SparseRowGraph &srg) |
template<typename SET_TYPE > | |
void | copySetToArray (const SET_TYPE &set_obj, int lenList, int *list) |
template<typename T > | |
void | copySetToVector (const std::set< T > &set_obj, std::vector< T > &vec) |
template<typename MAP_TYPE > | |
void | copyKeysToArray (const MAP_TYPE &map_obj, unsigned lenList, int *list) |
template<typename MAP_TYPE > | |
void | copyKeysToVector (const MAP_TYPE &map_obj, std::vector< int > &keyvector) |
template<typename T , typename U > | |
void | copyMapOfSetsToVectorOfVectors (const std::map< T, std::set< U > > &mapset, std::vector< T > &keys, std::vector< std::vector< U > > &values) |
template<typename MAP_TYPE > | |
void | copyToArrays (MAP_TYPE &map_obj, int lenList, int *keylist, int *vallist) |
template<typename MAP_TYPE > | |
void | destroyValues (MAP_TYPE &map_obj) |
template<typename MAP_TYPE , typename SET_TYPE > | |
void | writeToStream (snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > &table, FEI_OSTREAM &os, const char *lineprefix=NULL) |
template<typename MAP_TYPE , typename SET_TYPE > | |
void | packRaggedTable (snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > &table, std::vector< int > &intdata) |
template<typename MAP_TYPE , typename SET_TYPE > | |
fei::SharedPtr < fei::SparseRowGraph > | createSparseRowGraph (const std::vector< snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > * > &tables) |
template<typename MAP_TYPE , typename SET_TYPE > | |
void | copyToSparseRowGraph (snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > &table, fei::SparseRowGraph &srg) |
template<typename MAP_TYPE , typename SET_TYPE > | |
fei::SharedPtr < fei::SparseRowGraph > | createSparseRowGraph (snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > &table) |
template<typename MAP_TYPE , typename SET_TYPE > | |
int | countNonzeros (snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > &table) |
fei::SharedPtr< LibraryWrapper > | create_LibraryWrapper (MPI_Comm comm, const char *libraryName) |
fei::SharedPtr< fei::Factory > | create_fei_Factory (MPI_Comm comm, const char *libraryName) |
Variables | |
const int | DISPLACEMENT = 0 |
const int | DISPLACEMENT_X = 0 |
const int | DISPLACEMENT_Y = 1 |
const int | DISPLACEMENT_Z = 2 |
const int | ROTATION = 3 |
const int | ROTATION_X = 3 |
const int | ROTATION_Y = 4 |
const int | ROTATION_Z = 5 |
const int | VELOCITY = 6 |
const int | VELOCITY_X = 6 |
const int | VELOCITY_Y = 7 |
const int | VELOCITY_Z = 8 |
const int | PRESSURE = 9 |
const int | PRESSURE_X = 10 |
const int | PRESSURE_Y = 11 |
const int | PRESSURE_Z = 12 |
const int | TEMPERATURE = 13 |
const int | UNKNOWN = 20 |
const int | Set_end_val = -99999999 |
The fei namespace contains public functions, classes and interfaces.
typedef snl_fei::RaggedTable<std::map<int,std::set<int>*>,std::set<int> > fei::comm_map |
Definition at line 51 of file fei_CommUtils.hpp.
typedef std::map<int,int> fei::MapIntInt |
Definition at line 63 of file fei_MapType.hpp.
typedef snl_fei::Constraint<fei::Record<int>*> fei::ConstraintType |
alias for constraint type
Definition at line 25 of file fei_MatrixGraph.hpp.
enum fei::OutputLevel |
enumeration for various output levels
Enumerator | |
---|---|
NONE | |
STATS | |
MATRIX_FILES | |
BRIEF_LOGS | |
FULL_LOGS | |
ALL |
Definition at line 81 of file fei_fwd.hpp.
|
inline |
Lower bound finds the first entry in list that is not less than item. A binary search is used, and list is assumed to be sorted.
Definition at line 23 of file fei_ArrayUtils.hpp.
Referenced by binarySearch(), fei::ctg_set< int >::insert(), and fei::ctg_set< int >::insert2().
|
inline |
Binary search of a list that's assumed to be sorted.
item | to be searched for. |
list | List to be searched. |
len | Length of list. |
Definition at line 68 of file fei_ArrayUtils.hpp.
References lowerBound().
Referenced by SNL_FEI_Structure::addBlock(), fei::VectorSpace::addDOFs(), EqnBuffer::addEqn(), fei::FieldMask::addField(), EqnBuffer::addIndices(), EqnBuffer::addRHS(), NodeCommMgr::addSharedNodes(), EqnCommMgr::addSolnValues(), NodeCommMgr::adjustSharedOwnership(), SNL_FEI_Structure::allocateBlockConnectivity(), LinSysCoreFilter::assembleEqns(), binarySearch(), Filter::calculateResidualNorms(), NodeCommMgr::checkCommArrays(), fei::Vector_core::copyOut(), fei::Reducer::copyOutVectorValues(), snl_fei::LinearSystem_General::enforceEssentialBC_step_2(), snl_fei::LinearSystem_General::eqnIsEssentialBC(), EqnCommMgr::exchangeRemEssBCs(), NodeCommMgr::exchangeSharedRemoteFieldsBlks(), fei::ctg_set< int >::find(), snl_fei::gatherRemoteEssBCs(), EqnCommMgr::gatherSharedBCs(), NodeDatabase::getAssociatedFieldID(), NodeDatabase::getAssociatedNodeNumber(), SNL_FEI_Structure::getBlockConnectivity(), SNL_FEI_Structure::getBlockDescriptor(), EqnBuffer::getCoef(), EqnBuffer::getCoefAndRemoveIndex(), EqnBuffer::getEqnIndex(), LinSysCoreFilter::getEqnsFromMatrix(), LinSysCoreFilter::getEqnsFromRHS(), NodeDescriptor::getFieldEqnNumber(), SNL_FEI_Structure::getFieldMajorIndices(), fei::VectorSpace::getFields(), LinSysCoreFilter::getFromMatrix(), LinSysCoreFilter::getFromRHS(), fei::VectorSpace::getGlobalBlkIndex(), fei::VectorSpace::getGlobalBlkIndices(), fei::VectorSpace::getGlobalIndex(), fei::VectorSpace::getGlobalIndices(), fei::VectorSpace::getGlobalIndicesLocalIDs(), SNL_FEI_Structure::getIndexOfBlock(), SNL_FEI_Structure::getMasterEqnCoefs(), SNL_FEI_Structure::getMasterEqnNumbers(), SNL_FEI_Structure::getMasterEqnRHS(), SNL_FEI_Structure::getNodeMajorIndices(), NodeDatabase::getNodeWithEqn(), fei::VectorSpace::getNumDegreesOfFreedom(), fei::VectorSpace::getNumFields(), fei::VectorSpace::getNumOwnedAndSharedIDs(), fei::VectorSpace::getNumOwnedIDs(), fei::VectorSpace::getOwnedAndSharedIDs(), fei::VectorSpace::getOwnedIDs(), fei::VectorSpace::getRecordCollection(), FEDataFilter::getReducedSolnEntry(), fei::Matrix_Local::getRowIndex(), SNL_FEI_Structure::getScatterIndices_ID(), NodeCommMgr::getSharedNodeIndex(), FEDataFilter::getSharedRemoteSolnEntry(), LinSysCoreFilter::getSharedRemoteSolnEntry(), fei::Matrix_Impl< T >::giveToBlockMatrix(), fei::Matrix_Local::giveToMatrix(), NodeDescriptor::hasBlockIndex(), NodeCommMgr::initComplete(), FEDataFilter::initLinSysCore(), fei::VectorSpace::initSharedIDs(), EqnBuffer::isInIndices(), SNL_FEI_Structure::isInLocalElement(), fei::VectorSpace::isLocal(), fei::VectorSpace::isLocallyOwned(), fei::Reducer::isSlaveCol(), SNL_FEI_Structure::isSlaveEqn(), FEDataFilter::loadFEDataPenCR(), multiply_CSRMat_CSRMat(), multiply_CSRMat_CSVec(), SNL_FEI_Structure::nodalEqnsAllSlaves(), NodeCommMgr::packLocalNodesAndData(), NodeCommMgr::packRemoteNodesAndData(), NodeCommMgr::processRecvMessage(), EqnBuffer::removeIndex(), snl_fei::resolveConflictingCRs(), LinSysCoreFilter::resolveConflictingCRs(), NodeDescriptor::setFieldEqnNumber(), fei::VectorSpace::setIDMap(), fei::Reducer::setLocalUnreducedEqns(), fei::VectorSpace::setOwners(), fei::VectorSpace::setOwners_shared(), ProcEqns::setProcEqnLengths(), sortedListInsert(), test_Set::test5(), test_Utils_binarySearch(), fei::Reducer::translateFromReducedEqn(), fei::Reducer::translateToReducedEqn(), SNL_FEI_Structure::translateToReducedEqn(), and SNL_FEI_Structure::translateToReducedNodeNumber().
|
inline |
sort the specified array, and move the contents of the specified companions array to match the new order. This is an implementation of the insertion sort algorithm.
Definition at line 82 of file fei_ArrayUtils.hpp.
Referenced by snl_fei::LinearSystem_General::enforceEssentialBC_step_2().
|
inline |
Binary search of a list that's assumed to be sorted.
item | to be searched for. |
list | List to be searched. |
len | Length of list. |
insertPoint | If item is not found, this is the offset into list at which item could be inserted while maintaining sortedness. Not referenced if item is found. |
Definition at line 115 of file fei_ArrayUtils.hpp.
References lowerBound().
|
inline |
Binary search of an std::vector that's assumed to be sorted.
Definition at line 131 of file fei_ArrayUtils.hpp.
References binarySearch().
|
inline |
Binary search of an std::vector that's assumed to be sorted.
Definition at line 143 of file fei_ArrayUtils.hpp.
References binarySearch().
|
inline |
Perform a binary search but limit the search to a given range.
item | Value to be searched for. |
list | |
listLength | |
start | Starting offset of search 'window'. |
end | Ending offset of search 'window'. end should be less than listLength. |
insertPoint |
Definition at line 161 of file fei_ArrayUtils.hpp.
References binarySearch().
|
inline |
Perform a binary search for each item in a sorted input list.
numItems | number of items to be searched for |
items | list of items (length numItems) to be searched for |
offsets | list (length numItems) allocated by caller. On exit, offsets[i] contains the offset of item in 'list', or -1 if item is not present in 'list'. |
list | array (length 'listLength') to be searched |
listLength | length of input array 'list' |
Definition at line 182 of file fei_ArrayUtils.hpp.
References binarySearch().
|
inline |
Insert an item into a sorted list, maintaining sortedness. If the item is inserted, return the offset at which it was inserted. If the item was already present, return -1.
Definition at line 209 of file fei_ArrayUtils.hpp.
Referenced by NodeDescriptor::addBlockIndex(), EqnBuffer::addEqn(), NodeDescriptor::addField(), addItemsToCommMap(), NodeCommMgr::adjustSharedOwnership(), fei::Lookup_Impl::buildDatabases(), SNL_FEI_Structure::calculateSlaveEqns(), fei::VectorSpace::defineIDTypes(), snl_fei_tester::definePattern(), fei::Matrix_Impl< T >::giveToBlockMatrix(), NodeCommMgr::informLocal(), SNL_FEI_Structure::initElemBlock(), SNL_FEI_Structure::initFields(), fei::FEI_Impl::setIDLists(), and NodeDatabase::synchronize().
|
inline |
Insert an item into a sorted list, maintaining sortedness.
Definition at line 225 of file fei_ArrayUtils.hpp.
References binarySearch().
|
inline |
Insert an item into a list at a specified position.
Definition at line 255 of file fei_ArrayUtils.hpp.
Referenced by NodeDescriptor::addField().
|
inline |
Simple exhaustive search of a list.
Definition at line 296 of file fei_ArrayUtils.hpp.
Referenced by SNL_FEI_Structure::getFieldMajorIndices(), FEI_Implementation::setCurrentRHS(), and FEI_Implementation::setRHSScalars().
void fei::addItemsToCommMap | ( | int | proc, |
size_t | numItems, | ||
const T * | items, | ||
typename CommMap< T >::Type & | comm_map, | ||
bool | keep_sorted_and_unique = true |
||
) |
Given a proc and an array of items, add the mapping proc -> items to the given comm_map. Optionally ensure that the comm_map's vector of items for proc remains sorted and unique.
Definition at line 32 of file fei_CommMap.hpp.
References sortedListInsert().
Referenced by copy_remotelyowned_ids_into_CommMap(), and set_shared_ids().
int fei::localProc | ( | MPI_Comm | comm | ) |
Return the MPI rank of the local processor. If the macro FEI_SER is defined, returns 0; otherwise calls MPI_Comm_rank.
Definition at line 13 of file fei_CommUtils.cpp.
Referenced by fei::FEI_Impl::basic_initializations(), beam_main(), fei::Lookup_Impl::buildDatabases(), fei::VectorSpace::calculateGlobalIndices(), fei_test_utils::copy_feiMatrix_to_FillableMat(), fei::Vector_core::copyOut(), test_VectorSpace::create_VectorSpace(), fei::VectorSpace::defineIDTypes(), snl_fei::BlkSizeMsgHandler::do_the_exchange(), fei::EqnComm::EqnComm(), EqnCommMgr::EqnCommMgr(), exchangeData(), fei::VectorSpace::exchangeFieldInfo(), fei::VectorSpace::exchangeGlobalIndices(), exchangeIntData(), execute_fullsystem_tests(), execute_named_test(), fei::Factory::Factory(), FEDataFilter::FEDataFilter(), FEI_Implementation::FEI_Implementation(), feiDriver_main(), fei::VectorSpace::getBlkIndices_Owned(), fei::VectorSpace::getIndices_Owned(), fei::VectorSpace::getNumBlkIndices_Owned(), fei::VectorSpace::getNumIndices_Owned(), fei::VectorSpace::getNumOwnedIDs(), fei::VectorSpace::getOwnedIDs(), fei::VectorSpace::getSendProcs(), fei::impl_utils::global_union(), fei::Graph_Impl::Graph_Impl(), fei::VectorSpace::isLocallyOwned(), fei::LinearDecomposition< GlobalIDType >::LinearDecomposition(), snl_fei::LinearSystem_FEData::LinearSystem_FEData(), snl_fei::LinearSystem_General::LinearSystem_General(), LinSysCoreFilter::LinSysCoreFilter(), main(), fei::Matrix_core::Matrix_core(), fei::MatrixGraph_Impl2::MatrixGraph_Impl2(), mirrorCommPattern(), NodeCommMgr::NodeCommMgr(), PoissonData::PoissonData(), read_input_and_execute_fullsystem_tests(), fei_test_utils::read_input_file(), snl_fei_tester::save_block_elem_soln(), FEI_tester::save_block_elem_soln(), snl_fei_tester::save_block_node_soln(), FEI_tester::save_block_node_soln(), snl_fei_tester::save_multiplier_soln(), FEI_tester::save_multiplier_soln(), fei::Vector_core::scatterToOverlap(), set_shared_ids(), fei::Vector_core::setCommSizes(), snl_fei::Broker_LinSysCore::setGlobalOffsets(), fei::VectorSpace::setLocalEqnNumbers(), fei::Vector_core::setOverlap(), fei::VectorSpace::setOwners_shared(), SNL_FEI_Structure::SNL_FEI_Structure(), split_four_procs_into_two_groups(), fei::Matrix_Impl< T >::sumIn(), fei::VectorSpace::synchronizeSharedRecords(), test_EqnCommMgr::test1(), fei::Vector_core::Vector_core(), fei::Vector_Impl< T >::Vector_Impl(), fei::VectorReducer::VectorReducer(), fei::Vector_core::writeToFile(), fei::Vector_Local::writeToFile(), fei::MatrixReducer::writeToFile(), fei::Matrix_Local::writeToFile(), fei::Matrix_Impl< T >::writeToFile(), fei::Vector_core::writeToStream(), and fei::Matrix_Impl< T >::writeToStream().
int fei::numProcs | ( | MPI_Comm | comm | ) |
Return the number of processors (number of MPI ranks). If the macro FEI_SER is defined, returns 1; otherwise calls MPI_Comm_size.
Definition at line 25 of file fei_CommUtils.cpp.
Referenced by Allgatherv(), fei::FEI_Impl::basic_initializations(), fei::VectorSpace::calculateGlobalIndices(), test_VectorSpace::create_VectorSpace(), fei::MatrixGraph_Impl2::createAlgebraicGraph(), NodeCommMgr::createProcList(), snl_fei::BlkSizeMsgHandler::do_the_exchange(), fei::EqnComm::EqnComm(), exchange(), fei::VectorSpace::exchangeFieldInfo(), execute_fullsystem_tests(), execute_named_test(), fei::Factory::Factory(), FEDataFilter::FEDataFilter(), FEI_Implementation::FEI_Implementation(), fei::Vector_core::gatherFromOverlap(), fei::Matrix_core::gatherFromOverlap(), EqnCommMgr::gatherSharedBCs(), fei::EqnComm::getOwnerProc(), fei::Matrix_Impl< T >::giveToBlockMatrix(), fei::impl_utils::global_union(), fei::Graph_Impl::Graph_Impl(), HexBeam::HexBeam(), HexBeamCR::HexBeamCR(), fei::VectorSpace::initComplete(), SNL_FEI_Structure::initializeEqnCommMgr(), fei::LinearDecomposition< GlobalIDType >::LinearDecomposition(), snl_fei::LinearSystem_FEData::LinearSystem_FEData(), snl_fei::LinearSystem_General::LinearSystem_General(), LinSysCoreFilter::LinSysCoreFilter(), main(), fei::Matrix_core::Matrix_core(), fei::MatrixGraph_Impl2::MatrixGraph_Impl2(), mirrorCommPattern(), EqnCommMgr::mirrorProcEqnLengths(), EqnCommMgr::mirrorProcEqns(), mirrorProcs(), NodeCommMgr::NodeCommMgr(), PoissonData::PoissonData(), read_input_and_execute_fullsystem_tests(), fei_test_utils::read_input_file(), snl_fei_tester::save_multiplier_soln(), FEI_tester::save_multiplier_soln(), fei::Vector_core::scatterToOverlap(), set_shared_ids(), snl_fei::Broker_LinSysCore::setGlobalOffsets(), fei::VectorSpace::setLocalEqnNumbers(), ProcEqns::setProcEqnLengths(), SNL_FEI_Structure::SNL_FEI_Structure(), split_four_procs_into_two_groups(), NodeCommMgr::storeNodeProcs(), fei::VectorSpace::synchronizeSharedRecords(), test_EqnCommMgr::test1(), fei::Vector_Impl< T >::Vector_Impl(), fei::VectorReducer::VectorReducer(), fei::VectorSpace::VectorSpace(), fei::Vector_core::writeToFile(), fei::MatrixReducer::writeToFile(), fei::Matrix_Impl< T >::writeToFile(), fei::Vector_core::writeToStream(), and fei::Matrix_Impl< T >::writeToStream().
void fei::Barrier | ( | MPI_Comm | comm | ) |
Definition at line 37 of file fei_CommUtils.cpp.
References MPI_Barrier.
Referenced by NodeCommMgr::exchangeSharedRemoteFieldsBlks(), execute_fullsystem_tests(), execute_named_test(), execute_unit_tests(), snl_fei::LinearSystem_FEData::loadComplete(), read_input_and_execute_fullsystem_tests(), fei::VectorSpace::synchronizeSharedRecords(), fei::Vector_core::writeToFile(), fei::MatrixReducer::writeToFile(), fei::Matrix_Impl< T >::writeToFile(), fei::Vector_core::writeToStream(), and fei::Matrix_Impl< T >::writeToStream().
int fei::mirrorProcs | ( | MPI_Comm | comm, |
std::vector< int > & | toProcs, | ||
std::vector< int > & | fromProcs | ||
) |
Scenario: The local processor has a list of processors to which data will be sent, but doesn't know which processors data will be received from. This method produces that list of processors to be received from. This is a collective method.
Definition at line 45 of file fei_CommUtils.cpp.
References CHK_MPI, and numProcs().
Referenced by snl_fei::BlkSizeMsgHandler::do_the_exchange(), exchangeCommMapData(), fei::Graph_Impl::gatherFromOverlap(), mirrorCommPattern(), EqnCommMgr::mirrorProcEqns(), fei::Vector_core::scatterToOverlap(), fei::Vector_core::setCommSizes(), and fei::Matrix_core::setCommSizes().
int fei::mirrorCommPattern | ( | MPI_Comm | comm, |
comm_map * | inPattern, | ||
comm_map *& | outPattern | ||
) |
Given a comm-pattern, create and initialize its mirror...
Definition at line 98 of file fei_CommUtils.cpp.
References CHK_MPI, copyKeysToVector(), copySetToArray(), ERReturn, snl_fei::RaggedTable< MAP_TYPE, SET_TYPE >::getMap(), localProc(), mirrorProcs(), MPI_Request, MPI_SUCCESS, and numProcs().
Referenced by fei::VectorSpace::synchronizeSharedRecords().
int fei::exchangeIntData | ( | MPI_Comm | comm, |
const std::vector< int > & | sendProcs, | ||
std::vector< int > & | sendData, | ||
const std::vector< int > & | recvProcs, | ||
std::vector< int > & | recvData | ||
) |
Given a list of processors to send to, a scalar to send to each, and a list of processors to receive from, perform the exchange.
sendProcs | Input. List of processors to send to. |
sendData | Input. List of data, same length as 'sendProcs', to be sent. (One item to be sent to each send proc.) Note: sendData is treated as const, but not declared const because it is passed to the MPI_Send routine which takes (non-const) void*. |
recvProcs | Input. List of processors to receive from. Note: if you don't know which procs will be recv'd from, see the 'mirrorProcs' function above. |
recvData | Output. On exit, contains one item received from each recv proc. |
Definition at line 215 of file fei_CommUtils.cpp.
References CHK_MPI, and localProc().
Referenced by exchangeCommMapData(), and exchangeData().
int fei::Allreduce | ( | MPI_Comm | comm, |
bool | localBool, | ||
bool & | globalBool | ||
) |
Perform a "global OR" to reduce the local-bool to a global-bool. i.e., if localBool is true on any processor, then on exit globalBool will be true on all processors.
Definition at line 265 of file fei_CommUtils.cpp.
References CHK_MPI.
Referenced by fei::MatrixGraph_Impl2::newSlaveData().
int fei::GlobalMax | ( | MPI_Comm | comm, |
std::vector< T > & | local, | ||
std::vector< T > & | global | ||
) |
Perform an MPI_Allreduce with op = MPI_MAX
local | Input. |
global | Output. |
Definition at line 91 of file fei_CommUtils.hpp.
References CHK_MPI, console_out(), and FEI_ENDL.
Referenced by fei::VectorSpace::calculateGlobalIndices(), Filter::calculateResidualNorms(), SNL_FEI_Structure::calculateSlaveEqns(), fei::MatrixGraph_Impl2::compareStructure(), LinSysCoreFilter::exchangeRemoteEquations(), NodeCommMgr::getGlobalMaxFieldsBlocks(), NodeCommMgr::getGlobalMaxFieldsBlocksSubdomains(), fei::VectorSpace::initComplete(), SNL_FEI_Structure::initializeBlkEqnMapper(), LinSysCoreFilter::loadComplete(), fei::FEI_Impl::residualNorm(), snl_fei::Broker_LinSysCore::setGlobalOffsets(), and fei::VectorSpace::setLocalEqnNumbers().
int fei::GlobalMax | ( | MPI_Comm | comm, |
T | local, | ||
T & | global | ||
) |
Perform an MPI_Allreduce with op = MPI_MAX
local | Input. |
global | Output. |
Definition at line 121 of file fei_CommUtils.hpp.
References CHK_MPI.
int fei::GlobalMin | ( | MPI_Comm | comm, |
std::vector< T > & | local, | ||
std::vector< T > & | global | ||
) |
Perform an MPI_Allreduce with op = MPI_MIN
local | Input. |
global | Output. |
Definition at line 140 of file fei_CommUtils.hpp.
References CHK_MPI, console_out(), and FEI_ENDL.
Referenced by fei::VectorSpace::initComplete().
int fei::GlobalMin | ( | MPI_Comm | comm, |
T | local, | ||
T & | global | ||
) |
Perform an MPI_Allreduce with op = MPI_MIN
local | Input. |
global | Output. |
Definition at line 170 of file fei_CommUtils.hpp.
References CHK_MPI.
int fei::GlobalSum | ( | MPI_Comm | comm, |
std::vector< T > & | local, | ||
std::vector< T > & | global | ||
) |
Perform an MPI_Allreduce with op = MPI_SUM
local | Input. |
global | Output. |
Definition at line 189 of file fei_CommUtils.hpp.
References CHK_MPI.
Referenced by fei::Lookup_Impl::buildDatabases(), Filter::calculateResidualNorms(), NodeCommMgr::checkSharedNodeInfo(), EqnCommMgr::consistencyCheck(), fei::MatrixGraph_Impl2::initComplete(), main(), fei::FEI_Impl::residualNorm(), snl_fei::Broker_LinSysCore::setMatrixStructure(), fei::VectorSpace::synchronizeSharedRecords(), fei::MatrixReducer::writeToFile(), fei::Matrix_Impl< T >::writeToFile(), and fei::Matrix_Impl< T >::writeToStream().
int fei::GlobalSum | ( | MPI_Comm | comm, |
T | local, | ||
T & | global | ||
) |
Single-scalar version of the GlobalSum function.
Definition at line 207 of file fei_CommUtils.hpp.
References CHK_MPI.
int fei::Allgatherv | ( | MPI_Comm | comm, |
std::vector< T > & | sendbuf, | ||
std::vector< int > & | recvLengths, | ||
std::vector< T > & | recvbuf | ||
) |
Allgatherv function that takes std::vectors.
Definition at line 223 of file fei_CommUtils.hpp.
References CHK_MPI, console_out(), FEI_ENDL, and numProcs().
Referenced by NodeCommMgr::adjustSharedOwnership(), SNL_FEI_Structure::calculateSlaveEqns(), NodeCommMgr::checkSharedNodeInfo(), EqnCommMgr::consistencyCheck(), fei::impl_utils::global_union(), SNL_FEI_Structure::initializeBlkEqnMapper(), and LinSysCoreFilter::initLinSysCore().
int fei::Bcast | ( | MPI_Comm | comm, |
std::vector< T > & | sendbuf, | ||
int | sourceProc | ||
) |
Definition at line 283 of file fei_CommUtils.hpp.
References CHK_MPI.
Referenced by LinSysCoreFilter::initLinSysCore().
int fei::exchangeCommMapData | ( | MPI_Comm | comm, |
const typename CommMap< T >::Type & | sendCommMap, | ||
typename CommMap< T >::Type & | recvCommMap, | ||
bool | recvProcsKnownOnEntry = false , |
||
bool | recvLengthsKnownOnEntry = false |
||
) |
Perform communication send data from one CommMap and receive into another CommMap.
comm | Input. MPI communicator. |
sendCommMap | Input. Maps destination processors to vectors of data to be sent to them. |
recvCommMap | Output. On exit, will map source processors to vectors of data that was received from them. |
Definition at line 303 of file fei_CommUtils.hpp.
References CHK_MPI, copyKeysToVector(), exchangeIntData(), and mirrorProcs().
int fei::exchangeData | ( | MPI_Comm | comm, |
std::vector< int > & | sendProcs, | ||
std::vector< std::vector< T > > & | sendData, | ||
std::vector< int > & | recvProcs, | ||
bool | recvDataLengthsKnownOnEntry, | ||
std::vector< std::vector< T > > & | recvData | ||
) |
Definition at line 397 of file fei_CommUtils.hpp.
References CHK_MPI, exchangeIntData(), and localProc().
Referenced by exchange(), EqnCommMgr::exchangePtToBlkInfo(), EqnCommMgr::mirrorProcEqnLengths(), and EqnCommMgr::mirrorProcEqns().
int fei::exchangeData | ( | MPI_Comm | comm, |
std::vector< int > & | sendProcs, | ||
std::vector< std::vector< T > * > & | sendData, | ||
std::vector< int > & | recvProcs, | ||
bool | recvLengthsKnownOnEntry, | ||
std::vector< std::vector< T > * > & | recvData | ||
) |
Definition at line 468 of file fei_CommUtils.hpp.
References CHK_MPI, console_out(), exchangeIntData(), FEI_ENDL, and localProc().
int fei::exchange | ( | MPI_Comm | comm, |
MessageHandler< T > * | msgHandler | ||
) |
Definition at line 597 of file fei_CommUtils.hpp.
References CHK_ERR, exchangeData(), fei::MessageHandler< T >::getRecvProcs(), fei::MessageHandler< T >::getSendMessage(), fei::MessageHandler< T >::getSendMessageLength(), fei::MessageHandler< T >::getSendProcs(), numProcs(), and fei::MessageHandler< T >::processRecvMessage().
Referenced by fei::Lookup_Impl::buildDatabases(), snl_fei::BlkSizeMsgHandler::do_the_exchange(), NodeCommMgr::exchangeEqnInfo(), fei::VectorSpace::exchangeFieldInfo(), and fei::VectorSpace::exchangeGlobalIndices().
std::ostream* fei::console_ostream_ptr | ( | std::ostream * | osptr = NULL | ) |
Definition at line 14 of file fei_console_ostream.cpp.
Referenced by console_out(), and set_console_ostream().
void fei::set_console_ostream | ( | std::ostream & | os | ) |
Set the output stream that fei writes output to. fei almost never writes console output, except when errors occur. This ostream is the ostream that is returned by the 'console_out()' function below.
Definition at line 21 of file fei_console_ostream.cpp.
References console_ostream_ptr().
std::ostream & fei::console_out | ( | ) |
Obtain an output-stream to write 'screen' output to. By default this output-stream is std::cerr, but can be set to any std::ostream using the above 'set_console_ostream' function.
Definition at line 26 of file fei_console_ostream.cpp.
References console_ostream_ptr().
Referenced by EqnCommMgr::addLocalEqn(), EqnCommMgr::addRemoteIndices(), EqnBuffer::addRHS(), NodeCommMgr::addSharedNodes(), EqnCommMgr::addSolnValues(), Allgatherv(), SNL_FEI_Structure::allocateBlockConnectivity(), BlockDescriptor::allocateFieldIDsTable(), FEI_Implementation::allocateInternalFEIs(), FEI_Implementation::badParametersAbort(), beam_main(), beam_oldfei_main(), SNL_FEI_Structure::calcGlobalEqnInfo(), driverData::call_fei_method(), NodeCommMgr::checkCommArrays(), EqnCommMgr::consistencyCheck(), fei_test_utils::construct_filename(), fei::Vector_core::copyOut(), fei::Vector_Local::copyOut(), fei::Vector_Local::copyOutFieldData(), SNL_FEI_Structure::createBlkSymmEqnStructure(), FEI_tester::createFEIinstance(), snl_fei::Factory::createLinearSystem(), snl_fei::Factory::createMatrix(), SNL_FEI_Structure::createSymmEqnStructure(), snl_fei::Factory::createVector(), test_Factory_helper::dyncastMatrix(), test_Factory_helper::dyncastVector(), snl_fei::LinearSystem_FEData::eqnIsEssentialBC(), exchangeData(), EqnCommMgr::exchangeIndices(), NodeCommMgr::exchangeSharedRemoteFieldsBlks(), execute_named_test(), FEDataFilter::FEDataFilter(), feiDriver_main(), SNL_FEI_Structure::finalizeActiveNodes(), Filter::findNodeDescriptor(), SNL_FEI_Structure::findNodeDescriptor(), SNL_FEI_Structure::formMatrixStructure(), LinSysCoreFilter::generalElemInput(), fei_test_utils::get_filename_and_read_input(), SNL_FEI_Structure::getBlkScatterIndices_index(), SNL_FEI_Structure::getBlockConnectivity(), SNL_FEI_Structure::getBlockDescriptor(), FEDataFilter::getBlockFieldNodeSolution(), LinSysCoreFilter::getBlockFieldNodeSolution(), fei::DirichletBCManager::getEqnNumber(), SNL_FEI_Structure::getEqnNumber(), snl_fei::LinearSystem_FEData::getEssentialBCs(), SNL_FEI_Structure::getFieldMajorIndices(), DataReader::getFieldSize(), SNL_FEI_Structure::getMatrixStructure(), FEDataFilter::getNodalFieldSolution(), SNL_FEI_Structure::getNodeMajorIndices(), FEDataFilter::getReducedSolnEntry(), SNL_FEI_Structure::getScatterIndices_ID(), SNL_FEI_Structure::getScatterIndices_index(), FEDataFilter::getSharedRemoteSolnEntry(), LinSysCoreFilter::getSharedRemoteSolnEntry(), LinSysCoreFilter::giveToMatrix(), fei::Vector_core::giveToVector(), fei::Vector_Local::giveToVector(), GlobalMax(), GlobalMin(), HexBeam::HexBeam(), HexBeamCR::HexBeamCR(), fei::FEI_Impl::initComplete(), SNL_FEI_Structure::initComplete(), fei::MatrixGraph_Impl2::initConnectivityBlock(), SNL_FEI_Structure::initElem(), SNL_FEI_Structure::initElemBlock(), FEDataFilter::initLinSysCore(), EqnBuffer::insertNewEqn(), LinSysCoreFilter::LinSysCoreFilter(), snl_fei::LinearSystem_FEData::loadComplete(), fei::FEI_Impl::loadComplete(), LinSysCoreFilter::loadCRMult(), LinSysCoreFilter::loadCRPen(), fei::LinearSystem::loadEssentialBCs(), Filter::loadNodeBCs(), FEDataFilter::loadNodeBCs(), LinSysCoreFilter::loadNodeBCs(), main(), snl_fei::RecordMsgHandler::mergeMaskIDs(), Poisson_Elem::messageAbort(), PoissonData::messageAbort(), FEI_Implementation::messageAbort(), FEI_Implementation::needParametersAbort(), FEI_Implementation::notAllocatedAbort(), fei::LogFile::openOutputStream(), NodeCommMgr::packLocalNodesAndData(), NodeCommMgr::packRemoteNodesAndData(), poisson3_main(), poisson_main(), FEDataFilter::putBlockElemSolution(), FEDataFilter::putBlockFieldNodeSolution(), FEDataFilter::putNodalFieldData(), LinSysCoreFilter::putNodalFieldData(), fei::FEI_Impl::putNodalFieldData(), read_input_and_execute_fullsystem_tests(), DataReader::readData(), driverData::readData(), fei::impl_utils::remove_couplings(), SNL_FEI_Structure::removeCouplings(), fei::FEI_Impl::residualNorm(), snl_fei_tester::save_block_elem_soln(), snl_fei_tester::save_block_node_soln(), snl_fei_tester::save_multiplier_soln(), fei::impl_utils::separate_BC_eqns(), fei::FEI_Impl::setCurrentMatrix(), FEI_Implementation::setCurrentMatrix(), fei::FEI_Impl::setCurrentRHS(), FEI_Implementation::setCurrentRHS(), FEI_Implementation::setDebugOutput(), fei::FEI_Impl::setIDLists(), LinSysCoreFilter::setLinSysCoreCREqns(), FEI_Implementation::setMatScalars(), FEDataFilter::setNumRHSVectors(), LinSysCoreFilter::setNumRHSVectors(), ProcEqns::setProcEqnLengths(), FEI_Implementation::setRHSScalars(), SNL_FEI_Structure::storeLocalNodeIndices(), SNL_FEI_Structure::storeNodalColumnIndices(), SNL_FEI_Structure::storeNodalRowIndices(), SNL_FEI_Structure::storeNodalSendIndex(), SNL_FEI_Structure::storeNodalSendIndices(), LinSysCoreFilter::storePenNodeData(), LinSysCoreFilter::storePenNodeSendData(), fei::Matrix_Impl< T >::sumIn(), test_MatrixGraph::test1(), test_VectorSpace::test1(), test_MatrixGraph::test3(), test_MatrixGraph::test4(), snl_fei_tester::testInitialization(), LinSysCoreFilter::unpackRemoteContributions(), FEDataFilter::unpackSolution(), LinSysCoreFilter::unpackSolution(), fei::Vector_Local::update(), and SNL_FEI_Structure::writeEqn2NodeMap().
void fei::multiply_CSRMat_CSVec | ( | const CSRMat & | A, |
const CSVec & | x, | ||
CSVec & | y | ||
) |
form y = A*x
Definition at line 102 of file fei_CSRMat.cpp.
References binarySearch(), fei::CSVec::coefs(), fei::CSRMat::getGraph(), fei::CSRMat::getNumRows(), fei::CSRMat::getPackedCoefs(), fei::CSVec::indices(), fei::SparseRowGraph::packedColumnIndices, fei::SparseRowGraph::rowNumbers, and fei::SparseRowGraph::rowOffsets.
Referenced by fei::Reducer::assembleReducedMatrix(), fei::Reducer::copyOutVectorValues(), and fei::MatrixTraits< FillableMat >::matvec().
void fei::multiply_trans_CSRMat_CSVec | ( | const CSRMat & | A, |
const CSVec & | x, | ||
CSVec & | y | ||
) |
form y = A^T*x
Definition at line 148 of file fei_CSRMat.cpp.
References add_entry(), fei::CSVec::coefs(), fei::impl_utils::find_offsets(), fei::CSRMat::getGraph(), fei::CSRMat::getNumRows(), fei::CSRMat::getPackedCoefs(), fei::CSVec::indices(), fei::SparseRowGraph::packedColumnIndices, fei::SparseRowGraph::rowNumbers, and fei::SparseRowGraph::rowOffsets.
Referenced by LinSysCoreFilter::assembleReducedRHS(), fei::Reducer::assembleReducedVector(), and fei::Reducer::copyOutVectorValues().
void fei::multiply_CSRMat_CSRMat | ( | const CSRMat & | A, |
const CSRMat & | B, | ||
CSRMat & | C, | ||
bool | storeResultZeros = false |
||
) |
form C = A*B
Definition at line 189 of file fei_CSRMat.cpp.
References add_entry(), binarySearch(), fei::FillableMat::create_or_getRow(), fei::CSRMat::getGraph(), fei::CSRMat::getPackedCoefs(), fei::FillableMat::hasRow(), fei::SparseRowGraph::packedColumnIndices, fei::SparseRowGraph::rowNumbers, and fei::SparseRowGraph::rowOffsets.
Referenced by LinSysCoreFilter::assembleReducedEqns(), fei::Reducer::assembleReducedGraph(), fei::Reducer::assembleReducedMatrix(), and SNL_FEI_Structure::assembleReducedStructure().
void fei::multiply_trans_CSRMat_CSRMat | ( | const CSRMat & | A, |
const CSRMat & | B, | ||
CSRMat & | C, | ||
bool | storeResultZeros = false |
||
) |
form C = A^T*B
Definition at line 268 of file fei_CSRMat.cpp.
References fei::impl_utils::find_offsets(), fei::CSRMat::getGraph(), fei::CSRMat::getPackedCoefs(), fei::SparseRowGraph::packedColumnIndices, fei::SparseRowGraph::rowNumbers, fei::SparseRowGraph::rowOffsets, and fei::FillableMat::sumInRow().
Referenced by LinSysCoreFilter::assembleReducedEqns(), fei::Reducer::assembleReducedGraph(), fei::Reducer::assembleReducedMatrix(), and SNL_FEI_Structure::assembleReducedStructure().
void fei::add_CSRMat_to_FillableMat | ( | const CSRMat & | csrm, |
FillableMat & | fm | ||
) |
Definition at line 334 of file fei_CSRMat.cpp.
References fei::CSRMat::getGraph(), fei::CSRMat::getPackedCoefs(), fei::SparseRowGraph::packedColumnIndices, fei::SparseRowGraph::rowNumbers, fei::SparseRowGraph::rowOffsets, and fei::FillableMat::sumInCoef().
Referenced by fei::CSRMat::operator+=().
void fei::add_entries | ( | CSVec & | vec, |
int | num, | ||
const int * | eqns, | ||
const double * | coefs | ||
) |
Definition at line 34 of file fei_CSVec.cpp.
References add_entry().
Referenced by fei::impl_utils::remove_couplings().
void fei::put_entry | ( | CSVec & | vec, |
int | eqn, | ||
double | coef | ||
) |
Definition at line 39 of file fei_CSVec.cpp.
References fei::CSVec::coefs(), and fei::CSVec::indices().
Referenced by fei::Reducer::addVectorValues(), fei::Reducer::copyOutVectorValues(), fei::MatrixGraph_Impl2::createSlaveMatrices(), extractDirichletBCs(), fei::Vector_core::giveToVector(), fei::impl_utils::global_union(), EqnBuffer::internalAddEqn(), fei::FillableMat::putCoef(), fei::FillableMat::putRow(), and fei::VectorTraits< CSVec >::putValuesIn().
double fei::get_entry | ( | const CSVec & | vec, |
int | eqn | ||
) |
Definition at line 58 of file fei_CSVec.cpp.
References fei::CSVec::coefs(), fei::CSVec::indices(), and fei::CSVec::size().
Referenced by fei::VectorTraits< CSVec >::copyOut(), fei::impl_utils::remove_couplings(), and fei::impl_utils::separate_BC_eqns().
void fei::remove_entry | ( | CSVec & | vec, |
int | eqn | ||
) |
Definition at line 77 of file fei_CSVec.cpp.
References fei::CSVec::coefs(), and fei::CSVec::indices().
Referenced by fei::impl_utils::remove_couplings().
void fei::set_values | ( | CSVec & | vec, |
double | scalar | ||
) |
Definition at line 101 of file fei_CSVec.cpp.
References fei::CSVec::coefs().
Referenced by fei::Vector_core::pack_send_buffers(), fei::Vector_Impl< T >::putScalar(), EqnBuffer::resetCoefs(), fei::FillableMat::setValues(), and fei::VectorTraits< CSVec >::setValues().
void fei::add_CSVec_CSVec | ( | const CSVec & | u, |
CSVec & | v | ||
) |
form v = v + u
Definition at line 106 of file fei_CSVec.cpp.
References add_entry(), fei::CSVec::coefs(), and fei::CSVec::indices().
|
inline |
Definition at line 56 of file fei_CSVec.hpp.
References fei::CSVec::coefs(), and fei::CSVec::indices().
Referenced by add_CSVec_CSVec(), add_entries(), fei::Reducer::addGraphEntries(), fei::Reducer::addGraphIndices(), fei::Reducer::addMatrixValues(), fei::Reducer::addVectorValues(), LinSysCoreFilter::assembleRHS(), fei::Reducer::copyOutVectorValues(), fei::Vector_core::giveToVector(), EqnBuffer::internalAddEqn(), load_elem_data_putrhs(), multiply_CSRMat_CSRMat(), multiply_trans_CSRMat_CSVec(), fei::VectorTraits< CSVec >::putValuesIn(), fei::Vector_core::setOverlap(), fei::CSVec::subtract(), fei::FillableMat::sumInCoef(), and fei::FillableMat::sumInRow().
FillableMat::feipoolmat::iterator fei::insert_row | ( | FillableMat::feipoolmat & | matdata, |
FillableMat::feipoolmat::iterator | iter, | ||
int | row, | ||
fei_Pool_alloc< CSVec > & | vecpool | ||
) |
Definition at line 103 of file fei_FillableMat.cpp.
References fei_Pool_alloc< T >::allocate(), fei::CSVec::coefs(), fei_Pool_alloc< T >::construct(), and fei::CSVec::indices().
Referenced by fei::FillableMat::create_or_getRow().
void fei::print | ( | std::ostream & | os, |
const FillableMat & | mat | ||
) |
Print the contents of a FillableMat to the given std::ostream.
Definition at line 252 of file fei_FillableMat.cpp.
References fei::FillableMat::begin(), fei::CSVec::coefs(), fei::FillableMat::end(), and fei::CSVec::indices().
Referenced by SolnCheck::checkSolution().
int fei::count_nnz | ( | const FillableMat & | mat | ) |
Return the number of nonzeros in mat.
Definition at line 270 of file fei_FillableMat.cpp.
References fei::FillableMat::begin(), fei::FillableMat::end(), and fei::CSVec::size().
Referenced by fei::impl_utils::num_bytes_FillableMat(), and fei::impl_utils::pack_FillableMat().
void fei::get_row_numbers | ( | const FillableMat & | mat, |
std::vector< int > & | rows | ||
) |
Fill a std::vector with the row-numbers from the given matrix.
Definition at line 287 of file fei_FillableMat.cpp.
References fei::FillableMat::begin(), fei::FillableMat::end(), and fei::FillableMat::getNumRows().
Referenced by fei::impl_utils::create_col_to_row_map(), extractDirichletBCs(), and fei::impl_utils::remove_couplings().
void fei::set_dof_mappings | ( | GlobalOrdinal | first_index, |
fei::DofMapper< LocalOrdinal, GlobalOrdinal, DofOrder > & | dof_mapper | ||
) |
Definition at line 19 of file fei_set_dof_mappings.hpp.
References fei::DofMapper< LocalOrdinal, GlobalOrdinal, DofOrder >::begin_dof(), fei::DofMapper< LocalOrdinal, GlobalOrdinal, DofOrder >::end_dof(), fei::DofMapper< LocalOrdinal, GlobalOrdinal, DofOrder >::get_idx_dof_map(), fei::DofMapper< LocalOrdinal, GlobalOrdinal, DofOrder >::getFieldSize(), and fei::DofMapper< LocalOrdinal, GlobalOrdinal, DofOrder >::set_maps_are_valid().
void fei::copy_into_shared_ids | ( | const fei::CommMap< int >::Type & | procs_to_ids_and_sharing_procs, |
const snl_fei::RecordCollection & | records, | ||
fei::SharedIDs< int > & | sharedIDs | ||
) |
Definition at line 13 of file fei_set_shared_ids.cpp.
References fei::SharedIDs< T >::addSharedID(), and snl_fei::RecordCollection::getRecordWithID().
Referenced by set_shared_ids().
void fei::copy_remotelyowned_ids_into_CommMap | ( | int | myProc, |
const fei::LinearDecomposition< int > & | lindecomp, | ||
const snl_fei::RecordCollection & | records, | ||
fei::CommMap< int >::Type & | procs_to_shared_ids | ||
) |
Definition at line 41 of file fei_set_shared_ids.cpp.
References addItemsToCommMap(), snl_fei::RecordCollection::getNumRecords(), snl_fei::RecordCollection::getRecordWithLocalID(), and fei::LinearDecomposition< GlobalIDType >::which_proc().
Referenced by set_shared_ids().
void fei::set_shared_ids | ( | MPI_Comm | comm, |
const snl_fei::RecordCollection & | records, | ||
fei::SharedIDs< int > & | sharedIDs, | ||
int | lowest_global_id, | ||
int | highest_global_id | ||
) |
Given a record-collection, perform inter-processor communication to find out which IDs are shared among multiple processors, and fill the SharedIDs object with those mappings.
Definition at line 55 of file fei_set_shared_ids.cpp.
References addItemsToCommMap(), copy_into_shared_ids(), copy_remotelyowned_ids_into_CommMap(), fei::SharedIDs< T >::getOwningProcs(), snl_fei::RecordCollection::getRecordWithID(), fei::SharedIDs< T >::getSharedIDs(), localProc(), and numProcs().
Referenced by fei::VectorSpace::compute_shared_ids().
|
inline |
Equals operator for shared pointers.
Definition at line 297 of file fei_SharedPtr.hpp.
References fei::SharedPtr< T >::get().
|
inline |
Not equals operator for shared pointers.
Definition at line 304 of file fei_SharedPtr.hpp.
References fei::SharedPtr< T >::get().
|
inline |
Given a row-number and a SparseRowGraph object, return the offset at which that row's column-indices start in the SparseRowGraph object's packedColumnIndices vector.
If the given row-number is not found in the SparseRowGraph object's vector of row-numbers, return -1.
Definition at line 86 of file fei_SparseRowGraph.hpp.
References fei::SparseRowGraph::rowNumbers, and fei::SparseRowGraph::rowOffsets.
void fei::copySetToArray | ( | const SET_TYPE & | set_obj, |
int | lenList, | ||
int * | list | ||
) |
dangerous function to copy a set to an array, assuming the set contents are of type int
Definition at line 30 of file fei_TemplateUtils.hpp.
Referenced by copyToSparseRowGraph(), createSparseRowGraph(), fei::FEI_Impl::getBlockNodeIDList(), SNL_FEI_Structure::getMatrixStructure(), snl_fei::BlkSizeMsgHandler::getSendMessage(), mirrorCommPattern(), and packRaggedTable().
void fei::copySetToVector | ( | const std::set< T > & | set_obj, |
std::vector< T > & | vec | ||
) |
copy a set to a vector
Definition at line 48 of file fei_TemplateUtils.hpp.
Referenced by fei::Lookup_Impl::getSharedNodeProcs().
void fei::copyKeysToArray | ( | const MAP_TYPE & | map_obj, |
unsigned | lenList, | ||
int * | list | ||
) |
dangerous function to copy map keys to an array, assuming the keys are of type int
Definition at line 64 of file fei_TemplateUtils.hpp.
Referenced by fei::FEI_Impl::getBlockElemIDList(), FEI_Implementation::getBlockElemIDList(), FEI_Implementation::getLocalNodeIDList(), and fei::Lookup_Impl::getSharedNodeNumbers().
void fei::copyKeysToVector | ( | const MAP_TYPE & | map_obj, |
std::vector< int > & | keyvector | ||
) |
function to copy map keys to a vector, assuming the keys are of type int
Definition at line 82 of file fei_TemplateUtils.hpp.
Referenced by snl_fei::BlkSizeMsgHandler::do_the_exchange(), exchangeCommMapData(), snl_fei::SubdMsgHandler::getRecvProcs(), snl_fei::RecordMsgHandler::getRecvProcs(), snl_fei::SubdMsgHandler::getSendProcs(), snl_fei::RecordMsgHandler::getSendProcs(), and mirrorCommPattern().
void fei::copyMapOfSetsToVectorOfVectors | ( | const std::map< T, std::set< U > > & | mapset, |
std::vector< T > & | keys, | ||
std::vector< std::vector< U > > & | values | ||
) |
Definition at line 91 of file fei_TemplateUtils.hpp.
void fei::copyToArrays | ( | MAP_TYPE & | map_obj, |
int | lenList, | ||
int * | keylist, | ||
int * | vallist | ||
) |
dangerous function to copy a map object to a pair of arrays, assuming the keys and values of the map are of type int.
Definition at line 116 of file fei_TemplateUtils.hpp.
void fei::destroyValues | ( | MAP_TYPE & | map_obj | ) |
iterate a map object, destroying its contents
Definition at line 135 of file fei_TemplateUtils.hpp.
Referenced by SNL_FEI_Structure::deleteMultCRs(), fei::Lookup_Impl::~Lookup_Impl(), fei::MatrixGraph_Impl2::~MatrixGraph_Impl2(), and SNL_FEI_Structure::~SNL_FEI_Structure().
void fei::writeToStream | ( | snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > & | table, |
FEI_OSTREAM & | os, | ||
const char * | lineprefix = NULL |
||
) |
write a ragged-table to a specified ostream
Definition at line 148 of file fei_TemplateUtils.hpp.
References FEI_ENDL, and snl_fei::RaggedTable< MAP_TYPE, SET_TYPE >::getMap().
Referenced by fei::Graph_Impl::writeLocalGraph(), and fei::Graph_Impl::writeRemoteGraph().
void fei::packRaggedTable | ( | snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > & | table, |
std::vector< int > & | intdata | ||
) |
Definition at line 177 of file fei_TemplateUtils.hpp.
References copySetToArray(), and snl_fei::RaggedTable< MAP_TYPE, SET_TYPE >::getMap().
Referenced by fei::Graph_Impl::gatherFromOverlap().
fei::SharedPtr<fei::SparseRowGraph> fei::createSparseRowGraph | ( | const std::vector< snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > * > & | tables | ) |
create fei::SparseRowGraph object from a vector of ragged-tables. user is responsible for destroying the fei::SparseRowGraph
Definition at line 218 of file fei_TemplateUtils.hpp.
References copySetToArray(), fei::SparseRowGraph::packedColumnIndices, fei::SparseRowGraph::rowNumbers, and fei::SparseRowGraph::rowOffsets.
Referenced by fei::MatrixGraph_Impl2::createGraph().
void fei::copyToSparseRowGraph | ( | snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > & | table, |
fei::SparseRowGraph & | srg | ||
) |
copy a ragged-table to an existing fei::SparseRowGraph object.
Definition at line 267 of file fei_TemplateUtils.hpp.
References copySetToArray(), snl_fei::RaggedTable< MAP_TYPE, SET_TYPE >::getMap(), fei::SparseRowGraph::packedColumnIndices, fei::SparseRowGraph::rowNumbers, and fei::SparseRowGraph::rowOffsets.
Referenced by fei::Reducer::assembleReducedGraph().
fei::SharedPtr<fei::SparseRowGraph> fei::createSparseRowGraph | ( | snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > & | table | ) |
create fei::SparseRowGraph object from a ragged-table.
Definition at line 315 of file fei_TemplateUtils.hpp.
int fei::countNonzeros | ( | snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > & | table | ) |
function to count the "nonzeros" in a ragged-table
Definition at line 326 of file fei_TemplateUtils.hpp.
References snl_fei::RaggedTable< MAP_TYPE, SET_TYPE >::getMap().
Referenced by fei::Graph_Impl::getNumLocalNonzeros().
fei::SharedPtr< LibraryWrapper > fei::create_LibraryWrapper | ( | MPI_Comm | comm, |
const char * | libraryName | ||
) |
Create an instance of LibraryWrapper. Throws std::runtime_error if the input libraryName is not recognized. (names are case-sensitive)
libraryName | Input name of the solver library that is to be used. Valid values of this parameter are:
|
Definition at line 30 of file LibraryFactory.cpp.
References fei::SharedPtr< T >::get(), and fei::SharedPtr< T >::reset().
Referenced by beam_oldfei_main(), create_fei_Factory(), FEI_tester::createFEIinstance(), feiDriver_main(), main(), and poisson_main().
fei::SharedPtr< fei::Factory > fei::create_fei_Factory | ( | MPI_Comm | comm, |
const char * | libraryName | ||
) |
Create an instance of the fei::Factory interface. Throws std::runtime_error if the input libraryName is not recognized. (names are case-sensitive)
libraryName | Input name of solver library, same valid values as for 'create_LibraryWrapper' above, as well as allowing "Trilinos". |
Definition at line 77 of file LibraryFactory.cpp.
References fei::ParameterSet::add(), create_LibraryWrapper(), fei::SharedPtr< T >::get(), and fei::Factory::parameters().
Referenced by beam_main(), beam_oldfei_main(), main(), poisson3_main(), poisson_main(), test_Matrix::runtests(), test_Matrix_unit2(), test_Matrix_unit4(), and snl_fei_tester::testInitialization().
const int fei::DISPLACEMENT = 0 |
Definition at line 21 of file fei_constants.hpp.
const int fei::DISPLACEMENT_X = 0 |
Definition at line 22 of file fei_constants.hpp.
const int fei::DISPLACEMENT_Y = 1 |
Definition at line 23 of file fei_constants.hpp.
const int fei::DISPLACEMENT_Z = 2 |
Definition at line 24 of file fei_constants.hpp.
const int fei::ROTATION = 3 |
Definition at line 25 of file fei_constants.hpp.
const int fei::ROTATION_X = 3 |
Definition at line 26 of file fei_constants.hpp.
const int fei::ROTATION_Y = 4 |
Definition at line 27 of file fei_constants.hpp.
const int fei::ROTATION_Z = 5 |
Definition at line 28 of file fei_constants.hpp.
const int fei::VELOCITY = 6 |
Definition at line 29 of file fei_constants.hpp.
const int fei::VELOCITY_X = 6 |
Definition at line 30 of file fei_constants.hpp.
const int fei::VELOCITY_Y = 7 |
Definition at line 31 of file fei_constants.hpp.
const int fei::VELOCITY_Z = 8 |
Definition at line 32 of file fei_constants.hpp.
const int fei::PRESSURE = 9 |
Definition at line 33 of file fei_constants.hpp.
const int fei::PRESSURE_X = 10 |
Definition at line 34 of file fei_constants.hpp.
const int fei::PRESSURE_Y = 11 |
Definition at line 35 of file fei_constants.hpp.
const int fei::PRESSURE_Z = 12 |
Definition at line 36 of file fei_constants.hpp.
const int fei::TEMPERATURE = 13 |
Definition at line 37 of file fei_constants.hpp.
const int fei::UNKNOWN = 20 |
Definition at line 39 of file fei_constants.hpp.
Referenced by fei::FieldDofMap< LocalOrdinal >::compute_dof_ids().
const int fei::Set_end_val = -99999999 |
Definition at line 22 of file fei_ctg_set.hpp.
Referenced by fei::ctg_set< int >::begin(), fei::ctg_set< int >::end(), fei::ctg_set< int >::find(), and fei::ctg_set< T >::const_iterator::operator++().