FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
fei Namespace Reference

Namespaces

 impl_utils
 
 utils
 

Classes

class  BlockLinearProblemManager
 
struct  CommMap
 
class  MessageHandler
 
class  ConnectivityBlock
 
class  CSRMat
 
class  CSVec
 
class  ctg_set
 
class  DirichletBCManager
 
struct  DirichletBCRecord
 
class  less_DirichletBCRecord
 
class  Dof
 
struct  less_rank_id_field
 
struct  less_field_rank_id
 
class  DofMapper
 
class  EqnComm
 
struct  EqnRecord
 
class  Factory
 
class  FEI_Impl
 
class  FieldDofMap
 
class  FieldMask
 
class  FillableMat
 
class  Graph
 
class  Graph_Impl
 
class  GraphReducer
 
class  IndexTable
 
class  LinearDecomposition
 
class  LinearProblemManager
 
class  LinearSystem
 
class  LogFile
 
class  Logger
 
class  LogManager
 
class  Lookup_Impl
 
class  Matrix
 
class  Matrix_core
 
class  Matrix_Impl
 
class  Matrix_Local
 
class  MatrixGraph
 
class  MatrixGraph_Impl2
 
class  MatrixReducer
 
struct  MatrixTraits
 
struct  MatrixTraits< FiniteElementData >
 
struct  MatrixTraits< FillableMat >
 
struct  MatrixTraits< fei::LinearProblemManager >
 
struct  MatrixTraits< LinearSystemCore >
 
class  Param
 
class  ParameterSet
 
class  Pattern
 
class  Record
 
class  Record_Operator
 
class  Reducer
 
class  ReverseMapper
 
class  SharedIDs
 
class  SharedPtr
 
class  Solver
 
class  SparseRowGraph
 
class  Vector
 
class  Vector_core
 
class  Vector_Impl
 
class  Vector_Local
 
class  VectorReducer
 
class  RecordAttributeCounter
 
class  BlkIndexAccessor
 
class  VectorSpace
 
struct  VectorTraits
 
struct  VectorTraits< CSVec >
 
struct  VectorTraits< FiniteElementData >
 
struct  VectorTraits< fei::LinearProblemManager >
 
struct  VectorTraits< LinearSystemCore >
 

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< LibraryWrappercreate_LibraryWrapper (MPI_Comm comm, const char *libraryName)
 
fei::SharedPtr< fei::Factorycreate_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
 

Detailed Description

The fei namespace contains public functions, classes and interfaces.

Typedef Documentation

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.

alias for constraint type

Definition at line 25 of file fei_MatrixGraph.hpp.

Enumeration Type Documentation

enumeration for various output levels

Enumerator
NONE 
STATS 
MATRIX_FILES 
BRIEF_LOGS 
FULL_LOGS 
ALL 

Definition at line 81 of file fei_fwd.hpp.

Function Documentation

template<typename T >
int fei::lowerBound ( const T &  item,
const T *  list,
int  len 
)
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().

template<typename T >
int fei::binarySearch ( const T &  item,
const T *  list,
int  len 
)
inline

Binary search of a list that's assumed to be sorted.

Parameters
itemto be searched for.
listList to be searched.
lenLength of list.
Returns
offset Offset at which item was found, or -1 if not found.

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().

template<typename T >
void fei::insertion_sort_with_companions ( int  len,
int *  array,
T *  companions 
)
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().

template<typename T >
int fei::binarySearch ( const T &  item,
const T *  list,
int  len,
int &  insertPoint 
)
inline

Binary search of a list that's assumed to be sorted.

Parameters
itemto be searched for.
listList to be searched.
lenLength of list.
insertPointIf 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.
Returns
offset Offset at which item was found, or -1 if not found.

Definition at line 115 of file fei_ArrayUtils.hpp.

References lowerBound().

template<typename T >
int fei::binarySearch ( const T &  item,
const std::vector< T > &  list,
int &  insertPoint 
)
inline

Binary search of an std::vector that's assumed to be sorted.

Definition at line 131 of file fei_ArrayUtils.hpp.

References binarySearch().

template<typename T >
int fei::binarySearch ( const T &  item,
const std::vector< T > &  list 
)
inline

Binary search of an std::vector that's assumed to be sorted.

Definition at line 143 of file fei_ArrayUtils.hpp.

References binarySearch().

template<typename T >
int fei::binarySearch ( const T &  item,
const T *  list,
int  ,
int  start,
int  end,
int &  insertPoint 
)
inline

Perform a binary search but limit the search to a given range.

Parameters
itemValue to be searched for.
list
listLength
startStarting offset of search 'window'.
endEnding offset of search 'window'. end should be less than listLength.
insertPoint
Returns
offset position at which item was found. If not found, returns -1. (Since 0-based indexing is used, 'end' can't be greater than listLength-1.)

Definition at line 161 of file fei_ArrayUtils.hpp.

References binarySearch().

template<typename T >
int fei::binarySearch ( int  numItems,
const T *  items,
int *  offsets,
const T *  list,
int  listLength 
)
inline

Perform a binary search for each item in a sorted input list.

Parameters
numItemsnumber of items to be searched for
itemslist of items (length numItems) to be searched for
offsetslist (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'.
listarray (length 'listLength') to be searched
listLengthlength of input array 'list'

Definition at line 182 of file fei_ArrayUtils.hpp.

References binarySearch().

template<class T >
int fei::sortedListInsert ( const T &  item,
std::vector< T > &  list 
)
inline
template<class T >
int fei::sortedListInsert ( const T &  item,
T *&  list,
int &  len,
int &  allocLen 
)
inline

Insert an item into a sorted list, maintaining sortedness.

Definition at line 225 of file fei_ArrayUtils.hpp.

References binarySearch().

template<class T >
int fei::listInsert ( const T &  item,
int  offset,
T *&  list,
int &  usedLength,
int &  allocatedLength,
int  allocChunkSize = 200 
)
inline

Insert an item into a list at a specified position.

Definition at line 255 of file fei_ArrayUtils.hpp.

Referenced by NodeDescriptor::addField().

template<class T >
int fei::searchList ( const T &  item,
const T *  list,
int  len 
)
inline

Simple exhaustive search of a list.

Returns
offset at which item is found, or -1 if not found.

Definition at line 296 of file fei_ArrayUtils.hpp.

Referenced by SNL_FEI_Structure::getFieldMajorIndices(), FEI_Implementation::setCurrentRHS(), and FEI_Implementation::setRHSScalars().

template<typename T >
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)
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 
)
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.

Parameters
sendProcsInput. List of processors to send to.
sendDataInput. 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*.
recvProcsInput. List of processors to receive from. Note: if you don't know which procs will be recv'd from, see the 'mirrorProcs' function above.
recvDataOutput. On exit, contains one item received from each recv proc.
Returns
error-code 0 if successful

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().

template<class T >
int fei::GlobalMax ( MPI_Comm  comm,
std::vector< T > &  local,
std::vector< T > &  global 
)
template<class T >
int fei::GlobalMax ( MPI_Comm  comm,
local,
T &  global 
)

Perform an MPI_Allreduce with op = MPI_MAX

Parameters
localInput.
globalOutput.
Returns
MPI error-code

Definition at line 121 of file fei_CommUtils.hpp.

References CHK_MPI.

template<class T >
int fei::GlobalMin ( MPI_Comm  comm,
std::vector< T > &  local,
std::vector< T > &  global 
)

Perform an MPI_Allreduce with op = MPI_MIN

Parameters
localInput.
globalOutput.
Returns
MPI error-code

Definition at line 140 of file fei_CommUtils.hpp.

References CHK_MPI, console_out(), and FEI_ENDL.

Referenced by fei::VectorSpace::initComplete().

template<class T >
int fei::GlobalMin ( MPI_Comm  comm,
local,
T &  global 
)

Perform an MPI_Allreduce with op = MPI_MIN

Parameters
localInput.
globalOutput.
Returns
MPI error-code

Definition at line 170 of file fei_CommUtils.hpp.

References CHK_MPI.

template<class T >
int fei::GlobalSum ( MPI_Comm  comm,
std::vector< T > &  local,
std::vector< T > &  global 
)
template<class T >
int fei::GlobalSum ( MPI_Comm  comm,
local,
T &  global 
)

Single-scalar version of the GlobalSum function.

Definition at line 207 of file fei_CommUtils.hpp.

References CHK_MPI.

template<class T >
int fei::Allgatherv ( MPI_Comm  comm,
std::vector< T > &  sendbuf,
std::vector< int > &  recvLengths,
std::vector< T > &  recvbuf 
)
template<class T >
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().

template<typename T >
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.

Parameters
commInput. MPI communicator.
sendCommMapInput. Maps destination processors to vectors of data to be sent to them.
recvCommMapOutput. 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().

template<class T >
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 
)
template<class T >
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().

template<class T >
int fei::exchange ( MPI_Comm  comm,
MessageHandler< T > *  msgHandler 
)
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 
)
void fei::multiply_trans_CSRMat_CSVec ( const CSRMat &  A,
const CSVec &  x,
CSVec &  y 
)
void fei::multiply_CSRMat_CSRMat ( const CSRMat &  A,
const CSRMat &  B,
CSRMat &  C,
bool  storeResultZeros = false 
)
void fei::multiply_trans_CSRMat_CSRMat ( const CSRMat &  A,
const CSRMat &  B,
CSRMat &  C,
bool  storeResultZeros = false 
)
void fei::add_CSRMat_to_FillableMat ( const CSRMat &  csrm,
FillableMat &  fm 
)
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 
)
double fei::get_entry ( const CSVec &  vec,
int  eqn 
)
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 
)
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().

void fei::add_entry ( CSVec &  vec,
int  eqn,
double  coef 
)
inline
FillableMat::feipoolmat::iterator fei::insert_row ( FillableMat::feipoolmat &  matdata,
FillableMat::feipoolmat::iterator  iter,
int  row,
fei_Pool_alloc< CSVec > &  vecpool 
)
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().

template<class LocalOrdinal , class GlobalOrdinal , class DofOrder >
void fei::set_dof_mappings ( GlobalOrdinal  first_index,
fei::DofMapper< LocalOrdinal, GlobalOrdinal, DofOrder > &  dof_mapper 
)
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 
)
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 
)
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().

template<typename T , typename U >
bool fei::operator== ( const SharedPtr< T > &  a,
const SharedPtr< U > &  b 
)
inline

Equals operator for shared pointers.

Definition at line 297 of file fei_SharedPtr.hpp.

References fei::SharedPtr< T >::get().

template<typename T , typename U >
bool fei::operator!= ( const SharedPtr< T > &  a,
const SharedPtr< U > &  b 
)
inline

Not equals operator for shared pointers.

Definition at line 304 of file fei_SharedPtr.hpp.

References fei::SharedPtr< T >::get().

int fei::find_row_start ( int  row,
const SparseRowGraph &  srg 
)
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.

template<typename SET_TYPE >
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().

template<typename T >
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().

template<typename MAP_TYPE >
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().

template<typename MAP_TYPE >
void fei::copyKeysToVector ( const MAP_TYPE &  map_obj,
std::vector< int > &  keyvector 
)
template<typename T , typename U >
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.

template<typename MAP_TYPE >
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.

template<typename MAP_TYPE >
void fei::destroyValues ( MAP_TYPE &  map_obj)
template<typename MAP_TYPE , typename SET_TYPE >
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().

template<typename MAP_TYPE , typename SET_TYPE >
void fei::packRaggedTable ( snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > &  table,
std::vector< int > &  intdata 
)
template<typename MAP_TYPE , typename SET_TYPE >
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().

template<typename MAP_TYPE , typename SET_TYPE >
void fei::copyToSparseRowGraph ( snl_fei::RaggedTable< MAP_TYPE, SET_TYPE > &  table,
fei::SparseRowGraph srg 
)
template<typename MAP_TYPE , typename SET_TYPE >
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.

template<typename MAP_TYPE , typename SET_TYPE >
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)

Parameters
libraryNameInput name of the solver library that is to be used. Valid values of this parameter are:
  • Aztec
  • FETI
Returns
shared-pointer holding newly-created LibraryWrapper instance.

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)

Parameters
libraryNameInput name of solver library, same valid values as for 'create_LibraryWrapper' above, as well as allowing "Trilinos".
Returns
shared-pointer holding newly-created fei::Factory instance.

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().

Variable Documentation

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