Namespaces | |
namespace | Amg |
Classes | |
class | ISTLAllocator |
Default allocator for ISTL. More... | |
class | base_array_unmanaged |
A simple array container for objects of type B. More... | |
class | base_array_window |
Extend base_array_unmanaged by functions to manipulate. More... | |
class | base_array |
This container extends base_array_unmanaged by memory management with the usual copy semantics providing the full range of copy constructor, destructor and assignment operators. More... | |
class | compressed_base_array_unmanaged |
A simple array container with non-consecutive index set. More... | |
class | BCRSMatrix |
A sparse block matrix with compressed row storage. More... | |
class | BDMatrix |
A block-diagonal matrix. More... | |
class | BTDMatrix |
A block-tridiagonal matrix. More... | |
class | block_vector_unmanaged |
An unmanaged vector of blocks. More... | |
class | BlockVector |
A vector of blocks with memory management. More... | |
class | BlockVectorWindow |
class | compressed_block_vector_unmanaged |
class | CompressedBlockVectorWindow |
struct | SizeOne |
Flag for marking indexed data structures where data at each index is of the same size. More... | |
struct | VariableSize |
Flag for marking indexed data structures where the data at each index may be a variable multiple of another type. More... | |
struct | CommPolicy |
Default policy used for communicating an indexed type. More... | |
class | BufferedCommunicator |
A communicator that uses buffers to gather and scatter the data to be send or received. More... | |
class | DiagonalMatrix |
A diagonal matrix of static size. More... | |
class | DiagonalMatrixWrapper |
class | DiagonalRowVectorConst |
class | DiagonalRowVector |
struct | const_reference< DiagonalRowVector< K, n > > |
struct | const_reference< DiagonalRowVectorConst< K, n > > |
struct | mutable_reference< DiagonalRowVector< K, n > > |
struct | mutable_reference< DiagonalRowVectorConst< K, n > > |
class | ContainerWrapperIterator |
struct | BL |
compile-time parameter for block recursion depth More... | |
struct | algmeta_btsolve |
struct | algmeta_btsolve< 0, withdiag, withrelax > |
struct | algmeta_btsolve< 0, withdiag, norelax > |
struct | algmeta_btsolve< 0, nodiag, withrelax > |
struct | algmeta_btsolve< 0, nodiag, norelax > |
struct | algmeta_bdsolve |
struct | algmeta_bdsolve< 0, withrelax > |
struct | algmeta_bdsolve< 0, norelax > |
struct | algmeta_itsteps |
struct | algmeta_itsteps< 0 > |
class | MatrixBlockError |
class | IndexPair |
A pair consisting of a global and local index. More... | |
class | InvalidIndexSetState |
Exception indicating that the index set is not in the expected state. More... | |
class | ParallelIndexSet |
Manager class for the mapping between local indices and globally unique indices. More... | |
class | GlobalLookupIndexSet |
Decorates an index set with the possibility to find a global index that is mapped to a specific local. More... | |
class | IndicesSyncer |
Class for recomputing missing indices of a distributed index set. More... | |
class | InterfaceBuilder |
Base class of all classes representing a communication interface. More... | |
class | InterfaceInformation |
Information describing an interface. More... | |
class | Interface |
Communication interface between remote and local indices. More... | |
struct | MatrixDimension |
struct | MatrixDimension< BCRSMatrix< B, TA > > |
struct | MatrixDimension< BCRSMatrix< FieldMatrix< B, n, m >, TA > > |
struct | MatrixDimension< FieldMatrix< K, n, m > > |
class | ISTLError |
derive error class from the base class in common More... | |
class | LocalIndex |
An index present on the local process. More... | |
class | Matrix |
A generic dynamic matrix. More... | |
class | MatrixIndexSet |
Stores the nonzero entries in a sparse matrix. More... | |
class | MatrixMarketFormatError |
struct | MatMultMatResult |
Helper TMP to get the result type of a sparse matrix matrix multiplication (![]() | |
struct | MatMultMatResult< FieldMatrix< T, n, k >, FieldMatrix< T, k, m > > |
struct | MatMultMatResult< BCRSMatrix< FieldMatrix< T, n, k >, A >, BCRSMatrix< FieldMatrix< T, k, m >, A > > |
struct | RedistributeInformation |
class | RedistributeInformation< OwnerOverlapCopyCommunication< T, T1 > > |
struct | CommMatrixRowSize |
Utility class to communicate and set the row sizes of a redistributed matrix. More... | |
struct | CommMatrixSparsityPattern |
Utility class to communicate and build the sparsity pattern of a redistributed matrix. More... | |
struct | CommPolicy< CommMatrixSparsityPattern< M, I > > |
struct | CommMatrixRow |
Utility class for comunicating the matrix entries. More... | |
struct | CommPolicy< CommMatrixRow< M, I > > |
struct | MatrixRowSizeGatherScatter |
struct | MatrixSparsityPatternGatherScatter |
struct | MatrixRowGatherScatter |
struct | CheckIfDiagonalPresent |
Check whether the a matrix has diagonal values on blocklevel recursion levels. More... | |
struct | CheckIfDiagonalPresent< 0, l > |
class | MPITraits |
A traits class describing the mapping of types onto MPI_Datatypes. More... | |
struct | MPITraits< FieldVector< K, n > > |
struct | MPITraits< bigunsignedint< k > > |
class | MPITraits< std::pair< T1, T2 > > |
class | LinearOperator |
A linear operator. More... | |
class | AssembledLinearOperator |
A linear operator exporting itself in matrix form. More... | |
class | MatrixAdapter |
Adapter to turn a matrix into a linear operator. More... | |
class | OverlappingSchwarzInitializer |
Initializer for SuperLU Matrices representing the subdomains. More... | |
struct | AdditiveSchwarzMode |
Tag that the tells the schwarz method to be additive. More... | |
struct | MultiplicativeSchwarzMode |
Tag that tells the Schwarz method to be multiplicative. More... | |
struct | SymmetricMultiplicativeSchwarzMode |
Tag that tells the Schwarz method to be multiplicative and symmetric. More... | |
class | SeqOverlappingSchwarz |
Sequential overlapping Schwarz preconditioner. More... | |
struct | SeqOverlappingSchwarzDomainSize |
struct | SeqOverlappingSchwarzDomainSize< BCRSMatrix< FieldMatrix< T, n, m >, A > > |
struct | OwnerOverlapCopyAttributeSet |
Attribute set for overlapping schwarz. More... | |
class | IndexInfoFromGrid |
Information about the index distribution. More... | |
class | OwnerOverlapCopyCommunication |
A class setting up standard communication for a two-valued attribute set with owner/overlap/copy semantics. More... | |
struct | PropertyMapTypeSelector< Amg::VertexVisitedTag, Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM > > |
struct | CommPolicy< Amg::GlobalAggregatesMap< T, TI > > |
class | SeqPardiso |
The sequential Pardiso preconditioner. More... | |
class | ParallelLocalIndex |
An index present on the local process with an additional attribute flag. More... | |
class | MPITraits< ParallelLocalIndex< T > > |
class | Preconditioner |
Base class for matrix free definition of preconditioners. More... | |
class | SeqSSOR |
Sequential SSOR preconditioner. More... | |
class | SeqSOR |
Sequential SOR preconditioner. More... | |
class | SeqGS |
Sequential Gauss Seidel preconditioner. More... | |
class | SeqJac |
The sequential jacobian preconditioner. More... | |
class | SeqILU0 |
Sequential ILU0 preconditioner. More... | |
class | SeqILUn |
Sequential ILU(n) preconditioner. More... | |
class | Richardson |
Richardson preconditioner. More... | |
class | MPITraits< IndexPair< TG, ParallelLocalIndex< TA > > > |
class | RemoteIndex |
Information about an index residing on another processor. More... | |
class | RemoteIndices |
The indices present on remote processes. More... | |
class | RemoteIndexListModifier |
Modifier for adding and/or deleting remote indices from the remote index list. More... | |
class | CollectiveIterator |
A collective iterator for moving over the remote indices for all processes collectively. More... | |
struct | RedistributeInterface |
class | ScalarProduct |
Base class for scalar product and norm computation. More... | |
struct | ScalarProductChooser |
Choose the approriate scalar product for a solver category. More... | |
class | SeqScalarProduct |
Default implementation for the scalar case. More... | |
struct | ScalarProductChooser< X, C, SolverCategory::sequential > |
class | ScaledIdentityMatrix |
A multiple of the identity matrix of static size. More... | |
class | OverlappingSchwarzOperator |
An overlapping schwarz operator. More... | |
class | OverlappingSchwarzScalarProduct |
Scalar product for overlapping schwarz methods. More... | |
struct | ScalarProductChooser< X, C, SolverCategory::overlapping > |
class | ParSSOR |
A parallel SSOR preconditioner. More... | |
class | BlockPreconditioner |
Block parallel preconditioner. More... | |
class | SelectionIterator |
A const iterator over an uncached selection. More... | |
class | UncachedSelection |
An uncached selection of indices. More... | |
class | Selection |
An cached selection of indices. More... | |
struct | SolverCategory |
Categories for the solvers. More... | |
struct | InverseOperatorResult |
Statistics about the application of an inverse operator. More... | |
class | InverseOperator |
Abstract base class for all solvers. More... | |
class | LoopSolver |
Preconditioned loop solver. More... | |
class | GradientSolver |
gradient method More... | |
class | CGSolver |
conjugate gradient method More... | |
class | BiCGSTABSolver |
Bi-conjugate Gradient Stabilized (BiCG-STAB). More... | |
class | MINRESSolver |
Minimal Residual Method (MINRES). More... | |
class | RestartedGMResSolver |
implements the Generalized Minimal Residual (GMRes) method More... | |
class | SuperLU |
class | SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > > |
SuperLu Solver. More... | |
class | MatrixRowSet |
Provides access to an iterator over all matrix rows. More... | |
class | MatrixRowSubset |
Provides access to an iterator over an arbitrary subset of matrix rows. More... | |
struct | GetSuperLUType |
struct | GetSuperLUType< double > |
struct | GetSuperLUType< float > |
struct | GetSuperLUType< std::complex< double > > |
struct | GetSuperLUType< std::complex< float > > |
struct | SuperLUMatrix |
Utility class for converting an ISTL Matrix into a SsuperLU Matrix. More... | |
struct | SuperMatrixInitializer |
class | SuperLUMatrix< BCRSMatrix< FieldMatrix< B, n, m >, TA > > |
Coverter for BCRSMatrix to SuperLU Matrix. More... | |
class | SuperMatrixInitializer< BCRSMatrix< FieldMatrix< T, n, m >, A > > |
class | VariableBlockVector |
A Vector of blocks with different blocksizes. More... | |
Enumerations | |
enum | WithDiagType { withdiag = 1, nodiag = 0 } |
enum | WithRelaxType { withrelax = 1, norelax = 0 } |
enum | ParallelIndexSetState { GROUND, RESIZE } |
The states the index set can be in. More... | |
enum | LocalIndexState { VALID, DELETED } |
The states avaiable for the local indices. More... | |
Functions | |
template<class K , class A > | |
std::ostream & | operator<< (std::ostream &s, const BlockVector< K, A > &v) |
Send BlockVector to an output stream. | |
template<class K , int n> | |
void | istl_assign_to_fmatrix (FieldMatrix< K, n, n > &fm, const DiagonalMatrix< K, n > &s) |
template<class M , class X , class Y > | |
void | bltsolve (const M &A, X &v, const Y &d) |
block lower triangular solve | |
template<class M , class X , class Y , class K > | |
void | bltsolve (const M &A, X &v, const Y &d, const K &w) |
relaxed block lower triangular solve | |
template<class M , class X , class Y > | |
void | ubltsolve (const M &A, X &v, const Y &d) |
unit block lower triangular solve | |
template<class M , class X , class Y , class K > | |
void | ubltsolve (const M &A, X &v, const Y &d, const K &w) |
relaxed unit block lower triangular solve | |
template<class M , class X , class Y > | |
void | butsolve (const M &A, X &v, const Y &d) |
block upper triangular solve | |
template<class M , class X , class Y , class K > | |
void | butsolve (const M &A, X &v, const Y &d, const K &w) |
relaxed block upper triangular solve | |
template<class M , class X , class Y > | |
void | ubutsolve (const M &A, X &v, const Y &d) |
unit block upper triangular solve | |
template<class M , class X , class Y , class K > | |
void | ubutsolve (const M &A, X &v, const Y &d, const K &w) |
relaxed unit block upper triangular solve | |
template<class M , class X , class Y , int l> | |
void | bltsolve (const M &A, X &v, const Y &d, BL< l > bl) |
block lower triangular solve | |
template<class M , class X , class Y , class K , int l> | |
void | bltsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl) |
relaxed block lower triangular solve | |
template<class M , class X , class Y , int l> | |
void | ubltsolve (const M &A, X &v, const Y &d, BL< l > bl) |
unit block lower triangular solve | |
template<class M , class X , class Y , class K , int l> | |
void | ubltsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl) |
relaxed unit block lower triangular solve | |
template<class M , class X , class Y , int l> | |
void | butsolve (const M &A, X &v, const Y &d, BL< l > bl) |
block upper triangular solve | |
template<class M , class X , class Y , class K , int l> | |
void | butsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl) |
relaxed block upper triangular solve | |
template<class M , class X , class Y , int l> | |
void | ubutsolve (const M &A, X &v, const Y &d, BL< l > bl) |
unit block upper triangular solve | |
template<class M , class X , class Y , class K , int l> | |
void | ubutsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl) |
relaxed unit block upper triangular solve | |
template<class M , class X , class Y > | |
void | bdsolve (const M &A, X &v, const Y &d) |
block diagonal solve, no relaxation | |
template<class M , class X , class Y , class K > | |
void | bdsolve (const M &A, X &v, const Y &d, const K &w) |
block diagonal solve, with relaxation | |
template<class M , class X , class Y , int l> | |
void | bdsolve (const M &A, X &v, const Y &d, BL< l > bl) |
block diagonal solve, no relaxation | |
template<class M , class X , class Y , class K , int l> | |
void | bdsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl) |
block diagonal solve, with relaxation | |
template<class M , class X , class Y , class K > | |
void | dbgs (const M &A, X &x, const Y &b, const K &w) |
GS step. | |
template<class M , class X , class Y , class K , int l> | |
void | dbgs (const M &A, X &x, const Y &b, const K &w, BL< l > bl) |
GS step. | |
template<class M , class X , class Y , class K > | |
void | bsorf (const M &A, X &x, const Y &b, const K &w) |
SOR step. | |
template<class M , class X , class Y , class K , int l> | |
void | bsorf (const M &A, X &x, const Y &b, const K &w, BL< l > bl) |
SOR step. | |
template<class M , class X , class Y , class K > | |
void | bsorb (const M &A, X &x, const Y &b, const K &w) |
SSOR step. | |
template<class M , class X , class Y , class K , int l> | |
void | bsorb (const M &A, X &x, const Y &b, const K &w, BL< l > bl) |
SSOR step. | |
template<class M , class X , class Y , class K > | |
void | dbjac (const M &A, X &x, const Y &b, const K &w) |
Jacobi step. | |
template<class M , class X , class Y , class K , int l> | |
void | dbjac (const M &A, X &x, const Y &b, const K &w, BL< l > bl) |
Jacobi step. | |
template<class M > | |
void | bilu0_decomposition (M &A) |
compute ILU decomposition of A. A is overwritten by its decomposition | |
template<class M , class X , class Y > | |
void | bilu_backsolve (const M &A, X &v, const Y &d) |
LU backsolve with stored inverse. | |
template<class M > | |
M::field_type & | firstmatrixelement (M &A) |
template<class K , int n, int m> | |
K & | firstmatrixelement (FieldMatrix< K, n, m > &A) |
template<class K > | |
K & | firstmatrixelement (FieldMatrix< K, 1, 1 > &A) |
template<class M > | |
void | bilu_decomposition (const M &A, int n, M &ILU) |
template<class TG , class TL > | |
std::ostream & | operator<< (std::ostream &os, const IndexPair< TG, TL > &pair) |
Print an index pair. | |
template<class TG , class TL > | |
bool | operator== (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &) |
template<class TG , class TL > | |
bool | operator!= (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &) |
template<class TG , class TL > | |
bool | operator< (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &) |
template<class TG , class TL > | |
bool | operator> (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &) |
template<class TG , class TL > | |
bool | operator<= (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &) |
template<class TG , class TL > | |
bool | operator>= (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &) |
template<class TG , class TL > | |
bool | operator== (const IndexPair< TG, TL > &, const TG &) |
template<class TG , class TL > | |
bool | operator!= (const IndexPair< TG, TL > &, const TG &) |
template<class TG , class TL > | |
bool | operator< (const IndexPair< TG, TL > &, const TG &) |
template<class TG , class TL > | |
bool | operator> (const IndexPair< TG, TL > &, const TG &) |
template<class TG , class TL > | |
bool | operator<= (const IndexPair< TG, TL > &, const TG &) |
template<class TG , class TL > | |
bool | operator>= (const IndexPair< TG, TL > &, const TG &) |
template<class TG , class TL , int N> | |
std::ostream & | operator<< (std::ostream &os, const ParallelIndexSet< TG, TL, N > &indexSet) |
Print an index set. | |
template<typename T , typename A , typename A1 > | |
void | storeGlobalIndicesOfRemoteIndices (std::map< int, SLList< typename T::GlobalIndex, A > > &globalMap, const RemoteIndices< T, A1 > &remoteIndices, const T &indexSet) |
Stores the corresponding global indices of the remote index information. | |
template<typename T , typename A , typename A1 > | |
void | repairLocalIndexPointers (std::map< int, SLList< typename T::GlobalIndex, A > > &globalMap, RemoteIndices< T, A1 > &remoteIndices, const T &indexSet) |
Repair the pointers to the local indices in the remote indices. | |
template<class V > | |
void | recursive_printvector (std::ostream &s, const V &v, std::string rowtext, int &counter, int columns, int width, int precision) |
template<class K , int n> | |
void | recursive_printvector (std::ostream &s, const FieldVector< K, n > &v, std::string rowtext, int &counter, int columns, int width, int precision) |
template<class V > | |
void | printvector (std::ostream &s, const V &v, std::string title, std::string rowtext, int columns=1, int width=10, int precision=2) |
void | fill_row (std::ostream &s, int m, int width, int precision) |
print a row of zeros for a non-existing block | |
template<class M > | |
void | print_row (std::ostream &s, const M &A, typename M::size_type I, typename M::size_type J, typename M::size_type therow, int width, int precision) |
print one row of a matrix | |
template<class K , int n, int m> | |
void | print_row (std::ostream &s, const FieldMatrix< K, n, m > &A, typename FieldMatrix< K, n, m >::size_type I, typename FieldMatrix< K, n, m >::size_type J, typename FieldMatrix< K, n, m >::size_type therow, int width, int precision) |
print one row of a matrix, specialization for FieldMatrix | |
template<class K > | |
void | print_row (std::ostream &s, const FieldMatrix< K, 1, 1 > &A, typename FieldMatrix< K, 1, 1 >::size_type I, typename FieldMatrix< K, 1, 1 >::size_type J, typename FieldMatrix< K, 1, 1 >::size_type therow, int width, int precision) |
print one row of a matrix, specialization for FieldMatrix<K,1,1> | |
template<class M > | |
void | printmatrix (std::ostream &s, const M &A, std::string title, std::string rowtext, int width=10, int precision=2) |
Prints a generic block matrix. | |
template<class B , int n, int m, class A > | |
void | printSparseMatrix (std::ostream &s, const BCRSMatrix< FieldMatrix< B, n, m >, A > &mat, std::string title, std::string rowtext, int width=3, int precision=2) |
Prints a BCRSMatrix with fixed sized blocks. | |
template<class FieldType , int rows, int cols> | |
void | writeMatrixToMatlabHelper (const FieldMatrix< FieldType, rows, cols > &matrix, int rowOffset, int colOffset, std::ostream &s) |
Helper method for the writeMatrixToMatlab routine. | |
template<class MatrixType > | |
void | writeMatrixToMatlabHelper (const MatrixType &matrix, int externalRowOffset, int externalColOffset, std::ostream &s) |
template<class MatrixType > | |
void | writeMatrixToMatlab (const MatrixType &matrix, const std::string &filename) |
Writes sparse matrix in a Matlab-readable format. | |
template<typename T , typename A , int brows, int bcols> | |
void | readMatrixMarket (Dune::BCRSMatrix< Dune::FieldMatrix< T, brows, bcols >, A > &matrix, std::istream &istr) |
Reads a sparse matrix from a matrix market file. | |
template<typename M > | |
void | printMatrixMarket (M &matrix, std::ostream ostr) |
template<class T , class A , class A1 , class A2 , int n, int m, int k> | |
void | matMultTransposeMat (BCRSMatrix< FieldMatrix< T, n, k >, A > &res, const BCRSMatrix< FieldMatrix< T, n, m >, A1 > &mat, const BCRSMatrix< FieldMatrix< T, k, m >, A2 > &matt, bool tryHard=false) |
Calculate product of a sparse matrix with a transposed sparse matrices (![]() | |
template<class T , class A , class A1 , class A2 , int n, int m, int k> | |
void | matMultMat (BCRSMatrix< FieldMatrix< T, n, m >, A > &res, const BCRSMatrix< FieldMatrix< T, n, k >, A1 > &mat, const BCRSMatrix< FieldMatrix< T, k, m >, A2 > &matt, bool tryHard=false) |
Calculate product of two sparse matrices (![]() | |
template<class T , class A , class A1 , class A2 , int n, int m, int k> | |
void | transposeMatMultMat (BCRSMatrix< FieldMatrix< T, n, m >, A > &res, const BCRSMatrix< FieldMatrix< T, k, n >, A1 > &mat, const BCRSMatrix< FieldMatrix< T, k, m >, A2 > &matt, bool tryHard=false) |
Calculate product of a transposed sparse matrix with another sparse matrices (![]() | |
template<typename M , typename C > | |
void | redistributeMatrix (M &origMatrix, M &newMatrix, C &origComm, C &newComm, RedistributeInformation< C > &ri) |
Redistribute a matrix according to given domain decompositions. | |
template<class M > | |
int | countNonZeros (const M &matrix) |
Get the number of nonzero fields in the matrix. | |
template<class M , class C > | |
void | printGlobalSparseMatrix (const M &mat, C &ooc, std::ostream &os) |
ComposeMPITraits (char, MPI_CHAR) | |
ComposeMPITraits (unsigned char, MPI_UNSIGNED_CHAR) | |
ComposeMPITraits (short, MPI_SHORT) | |
ComposeMPITraits (unsigned short, MPI_UNSIGNED_SHORT) | |
ComposeMPITraits (int, MPI_INT) | |
ComposeMPITraits (unsigned int, MPI_UNSIGNED) | |
ComposeMPITraits (long, MPI_LONG) | |
ComposeMPITraits (unsigned long, MPI_UNSIGNED_LONG) | |
ComposeMPITraits (float, MPI_FLOAT) | |
ComposeMPITraits (double, MPI_DOUBLE) | |
ComposeMPITraits (long double, MPI_LONG_DOUBLE) | |
template<typename G , typename EP , typename VM , typename EM > | |
PropertyMapTypeSelector < Amg::VertexVisitedTag, Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM > >::Type | get (const Amg::VertexVisitedTag &tag, Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM > &graph) |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const ParallelLocalIndex< T > &index) |
Print the local index to a stream. | |
template<typename T1 , typename T2 > | |
std::ostream & | operator<< (std::ostream &os, const RemoteIndex< T1, T2 > &index) |
template<class T , class A > | |
std::ostream & | operator<< (std::ostream &os, const RemoteIndices< T, A > &indices) |
template<typename TG , typename TA > | |
std::ostream & | operator<< (std::ostream &os, const RemoteIndex< TG, TA > &index) |
template<class G , class T1 , class T2 > | |
void | fillIndexSetHoles (const G &graph, Dune::OwnerOverlapCopyCommunication< T1, T2 > &oocomm) |
Fills the holes in an index set. | |
template<class G , class T1 , class T2 > | |
bool | graphRepartition (const G &graph, Dune::OwnerOverlapCopyCommunication< T1, T2 > &oocomm, int nparts, Dune::OwnerOverlapCopyCommunication< T1, T2 > *&outcomm, RedistributeInterface &redistInf) |
execute a graph repartition for a giving graph and indexset. | |
template<class K , int n> | |
void | istl_assign_to_fmatrix (FieldMatrix< K, n, n > &fm, const ScaledIdentityMatrix< K, n > &s) |
template<class T , class A , int n, int m> | |
void | writeCompColMatrixToMatlab (const SuperLUMatrix< BCRSMatrix< FieldMatrix< T, n, m >, A > > &mat, std::ostream &os) |
template<class F , class MRS > | |
void | copyToSuperMatrix (F &initializer, const MRS &mrs) |
template<class F , class M , class S > | |
void | copyToSuperMatrix (F &initializer, const MatrixRowSubset< M, S > &mrs) |
template<class B , class TA , int n, int m> | |
bool | operator== (SuperLUMatrix< BCRSMatrix< FieldMatrix< B, n, m >, TA > > &sla, BCRSMatrix< FieldMatrix< B, n, m >, TA > &a) |
void Dune::copyToSuperMatrix | ( | F & | initializer, | |
const MatrixRowSubset< M, S > & | mrs | |||
) | [inline] |
void Dune::copyToSuperMatrix | ( | F & | initializer, | |
const MRS & | mrs | |||
) | [inline] |
void Dune::fillIndexSetHoles | ( | const G & | graph, | |
Dune::OwnerOverlapCopyCommunication< T1, T2 > & | oocomm | |||
) | [inline] |
Fills the holes in an index set.
In general the index set only needs to know those indices where communication my occur. In usual FE computations these are just those near the processor boundaries.
For the repartitioning we need to know all all indices for which data is stored. The missing indices will be created in this method.
graph | The graph to reparition. | |
oocomm | The communication information. |
References Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::buildGlobalLookup(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::communicator(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::freeGlobalLookup(), get(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::globalLookup(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::indexSet(), Dune::OwnerOverlapCopyAttributeSet::owner, Dune::GlobalLookupIndexSet< I >::pair(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::remoteIndices(), repairLocalIndexPointers(), Dune::GlobalLookupIndexSet< I >::size(), and storeGlobalIndicesOfRemoteIndices().
Referenced by graphRepartition().
PropertyMapTypeSelector<Amg::VertexVisitedTag,Amg::PropertiesGraph<G,Amg::VertexProperties,EP,VM,EM> >::Type Dune::get | ( | const Amg::VertexVisitedTag & | tag, | |
Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM > & | graph | |||
) | [inline] |
References Dune::Amg::VertexProperties::VISITED.
Referenced by fillIndexSetHoles().
bool Dune::graphRepartition | ( | const G & | graph, | |
Dune::OwnerOverlapCopyCommunication< T1, T2 > & | oocomm, | |||
int | nparts, | |||
Dune::OwnerOverlapCopyCommunication< T1, T2 > *& | outcomm, | |||
RedistributeInterface & | redistInf | |||
) | [inline] |
execute a graph repartition for a giving graph and indexset.
This function provides repartition functionality using the PARMETIS library
graph | The given graph to repartition | |
oocomm | The parallel information about the graph. | |
nparts | The number of domains the repartitioning should achieve. | |
[out] | outcomm | Pointer store the parallel information of the redistributed domains in. |
[out] | datari | Pointer to store the remote index information for send the data from the original partitioning to the new one in. |
References Dune::ParallelIndexSet< TG, TL, N >::begin(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::buildGlobalLookup(), Dune::RedistributeInterface::buildSendInterface(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::communicator(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::copyOwnerToAll(), Dune::ParallelIndexSet< TG, TL, N >::end(), fillIndexSetHoles(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::globalLookup(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::indexSet(), and Dune::ParallelIndexSet< TG, TL, N >::size().
Referenced by Dune::Amg::repartitionAndDistributeMatrix().
void Dune::istl_assign_to_fmatrix | ( | FieldMatrix< K, n, n > & | fm, | |
const ScaledIdentityMatrix< K, n > & | s | |||
) | [inline] |
References Dune::ScaledIdentityMatrix< K, n >::scalar().
void Dune::istl_assign_to_fmatrix | ( | FieldMatrix< K, n, n > & | fm, | |
const DiagonalMatrix< K, n > & | s | |||
) | [inline] |
References Dune::DiagonalMatrix< K, n >::diagonal().
std::ostream& Dune::operator<< | ( | std::ostream & | os, | |
const RemoteIndex< TG, TA > & | index | |||
) | [inline] |
std::ostream& Dune::operator<< | ( | std::ostream & | s, | |
const BlockVector< K, A > & | v | |||
) | [inline] |
Send BlockVector to an output stream.
bool Dune::operator== | ( | SuperLUMatrix< BCRSMatrix< FieldMatrix< B, n, m >, TA > > & | sla, | |
BCRSMatrix< FieldMatrix< B, n, m >, TA > & | a | |||
) | [inline] |
void Dune::printGlobalSparseMatrix | ( | const M & | mat, | |
C & | ooc, | |||
std::ostream & | os | |||
) | [inline] |
Referenced by Dune::Amg::repartitionAndDistributeMatrix().
void Dune::printMatrixMarket | ( | M & | matrix, | |
std::ostream | ostr | |||
) | [inline] |
void Dune::readMatrixMarket | ( | Dune::BCRSMatrix< Dune::FieldMatrix< T, brows, bcols >, A > & | matrix, | |
std::istream & | istr | |||
) | [inline] |
Reads a sparse matrix from a matrix market file.
matrix | The matrix to store the data in. | |
istr | The input stream to read the data from. |
References A.
void Dune::redistributeMatrix | ( | M & | origMatrix, | |
M & | newMatrix, | |||
C & | origComm, | |||
C & | newComm, | |||
RedistributeInformation< C > & | ri | |||
) | [inline] |
Redistribute a matrix according to given domain decompositions.
All the parameters for this function can be obtained by calling graphRepartition with the graph of the original matrix.
origMatrix | The matrix on the original partitioning. | |
newMatrix | An empty matrix to store the new redistributed matrix in. | |
origComm | The parallel information of the original partitioning. | |
newComm | The parallel information of the new partitioning. | |
ri | The remote index information between the original and the new partitioning. Upon exit of this method it will be prepared for copying from owner to owner vertices for data redistribution. |
M | The matrix type. It is assumed to be sparse. E.g. BCRSMatrix. | |
C | The type of the parallel information, see OwnerOverlapCopyCommunication. |
References col, printmatrix(), and row.
Referenced by Dune::Amg::repartitionAndDistributeMatrix().