libMesh
Classes | Typedefs | Functions
libMesh::SparsityPattern Namespace Reference

This defines the sparsity pattern, or graph, of a sparse matrix. More...

Classes

class  AugmentSparsityPattern
 Abstract base class to be used to add user-defined implicit degree of freedom couplings. More...
 
class  Build
 This helper class can be called on multiple threads to compute the sparsity pattern (or graph) of the sparse matrix resulting from the discretization. More...
 
class  Graph
 
class  NonlocalGraph
 

Typedefs

typedef std::vector< dof_id_type, Threads::scalable_allocator< dof_id_type > > Row
 

Functions

template<typename BidirectionalIterator >
static void sort_row (const BidirectionalIterator begin, BidirectionalIterator middle, const BidirectionalIterator end)
 Splices the two sorted ranges [begin,middle) and [middle,end) into one sorted range [begin,end). More...
 
void _dummy_function (void)
 

Detailed Description

This defines the sparsity pattern, or graph, of a sparse matrix.

The format is quite simple – the global indices of the nonzero entries in each row are packed into a vector. The global indices (i,j) of the nth nonzero entry of row i are given by j = sparsity_pattern[i][n];

Author
Roy Stogner
Date
2010 Defines the sparsity pattern of a sparse matrix.

Typedef Documentation

◆ Row

Definition at line 51 of file sparsity_pattern.h.

Function Documentation

◆ _dummy_function()

void libMesh::SparsityPattern::_dummy_function ( void  )

Definition at line 86 of file sparsity_pattern.C.

86 {}

◆ sort_row()

template<typename BidirectionalIterator >
static void libMesh::SparsityPattern::sort_row ( const BidirectionalIterator  begin,
BidirectionalIterator  middle,
const BidirectionalIterator  end 
)
static

Splices the two sorted ranges [begin,middle) and [middle,end) into one sorted range [begin,end).

This method is much like std::inplace_merge except it assumes the intersection of the two sorted ranges is empty and that any element in each range occurs only once in that range. Additionally, this sort occurs in-place, while std::inplace_merge may use a temporary buffer.

Referenced by libMesh::SparsityPattern::Build::handle_vi_vj().