|
void | ug::BuildDomainDecompositionLayouts (IndexLayout &subdomMastersOut, IndexLayout &subdomSlavesOut, IndexLayout &processMastersOut, IndexLayout &processSlavesOut, IndexLayout &deltaNbrMastersOut, IndexLayout &deltaNbrSlavesOut, IndexLayout &crossPointMastersOut, IndexLayout &crossPointSlavesOut, const IndexLayout &standardMasters, const IndexLayout &standardSlaves, int highestReferencedIndex, IDomainDecompositionInfo &ddinfo) |
|
int | ug::BuildOneToManyLayout (IndexLayout &masterLayoutOut, IndexLayout &slaveLayoutOut, int rootProcID, IndexLayout &masterLayout, IndexLayout &slaveLayout, pcl::ProcessCommunicator procComm, std::vector< int > *pNewMasterIDsOut) |
|
SmartPtr< AlgebraLayouts > | ug::CreateLocalAlgebraLayouts () |
|
template<typename TLayout > |
TLayout::iterator | ug::find_pid (TLayout &layout, int pid) |
|
template<class TIndVec > |
void | ug::GenerateGlobalConsecutiveIndices (TIndVec &indsOut, size_t numLocalInds, const AlgebraLayouts &layouts) |
| Generates a set of global consecutive indices. More...
|
|
int | ug::GetHighestReferencedIndex (IndexLayout &layout) |
|
template<typename TAlgebra > |
void | ug::MatAdditiveToConsistentOnDiag (typename TAlgebra::matrix_type *pMat, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| changes parallel storage type from additive to consistent on diagonal of a matrix More...
|
|
template<typename TMatrix , typename TVector > |
void | ug::MatExtractDiagOnLayout (TVector *pDiagVector, const TMatrix *pMatrix, const IndexLayout &Layout) |
| extracts diagonal of a matrix for interface indices More...
|
|
template<typename TMatrix , typename TVector > |
void | ug::MatWriteDiagOnLayout (TMatrix *pMatrix, const TVector *pDiagVector, const IndexLayout &Layout) |
| writes diagonal of a matrix for interface indices More...
|
|
bool | ug::PrintLayouts (const HorizontalAlgebraLayouts &layout) |
|
template<class TMatrix > |
void | ug::TestHorizontalAlgebraLayouts (const TMatrix &mat, std::vector< AlgebraID > *algebraIDs=NULL, bool verbose=false) |
| Tests layouts by matching master and slave interfaces and by comparing global id's. More...
|
|
template<typename TVector > |
void | ug::VecBroadcast (TVector *pVecDest, const TVector *pVecSrc, const IndexLayout &slaveLayoutDest, const IndexLayout &masterLayoutSrc, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| broadcasts all values from master indices to slave values in a second vector More...
|
|
template<typename TVector > |
void | ug::VecGather (TVector *pVecDest, const TVector *pVecSrc, const IndexLayout &masterLayoutDest, const IndexLayout &slaveLayoutSrc, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| gathers all values in master indices of a second vector More...
|
|
|
template<typename TVector > |
void | ug::AdditiveToConsistent (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| changes parallel storage type from additive to consistent More...
|
|
template<typename TVector > |
void | ug::AdditiveToUnique (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| changes parallel storage type from additive to unique More...
|
|
void | ug::CommunicateConnections (std::vector< std::vector< int > > &connectionsToProcsOut, std::vector< std::vector< int > > &connectionsToSubDomsOut, IndexLayout &masterLayout, IndexLayout &slaveLayout, int highestReferencedIndex, pcl::IDomainDecompositionInfo &ddinfo) |
| fills a connection list, which gives the connected processes to each interface. More...
|
|
template<typename TVector > |
void | ug::ConsistentToUnique (TVector *pVec, const IndexLayout &slaveLayout) |
| changes parallel storage type from consistent to unique More...
|
|
template<typename TVector > |
void | ug::CopyValues (TVector *pVec, const IndexLayout &sourceLayout, const IndexLayout &targetLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| Copies values from the source to the target layout. More...
|
|
template<class TLayout > |
void | ug::GenerateGlobalAlgebraIDs (pcl::InterfaceCommunicator< TLayout > &communicator, std::vector< AlgebraID > &idsOut, size_t numIDs, const TLayout &masterLayout, const TLayout &slaveLayout) |
| Generates a set of unique global algebra ids. More...
|
|
template<typename TMatrix > |
void | ug::MatAddSlaveRowsToMasterRowOverlap0 (TMatrix &mat) |
| Generates a set of unique global algebra ids. More...
|
|
template<typename TMatrix > |
void | ug::MatMakeConsistentOverlap0 (TMatrix &mat) |
| Generates a set of unique global algebra ids. More...
|
|
template<typename TVector > |
void | ug::ScaleLayoutValues (TVector *pVec, const IndexLayout &layout, number scale) |
| scales the values of a vector by a given number only on the layout indices More...
|
|
template<typename TVector > |
void | ug::SetInterfaceValues (TVector *pVec, const IndexLayout::Interface &interface, typename TVector::value_type val) |
| sets the values of a vector to a given number only on the interface indices More...
|
|
template<typename TVector > |
void | ug::SetLayoutValues (TVector *pVec, const IndexLayout &layout, typename TVector::value_type val) |
| sets the values of a vector to a given number only on the layout indices More...
|
|
template<typename TVector > |
void | ug::UniqueToConsistent (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| changes parallel storage type from unique to consistent More...
|
|
template<typename TVector > |
void | ug::VecCopy (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| copy a vector only at a layout More...
|
|
template<typename TVector > |
void | ug::VecSubtractOneSlaveFromMaster (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| subtracts values of only one slave dof per master on layout More...
|
|
template<typename TVector > |
void | ug::VecSubtractOnLayout (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
| subtracts values of slave layout from master layout and sets slave layouts to negative of difference More...
|
|