Dune Namespace Reference
[Preconditioners]

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 ($C=A*B$). More...
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 ($C=A*B^T$).
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 ($C=A*B$).
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 ($C=A^T*B$).
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)

Function Documentation

template<class F , class M , class S >
void Dune::copyToSuperMatrix ( F &  initializer,
const MatrixRowSubset< M, S > &  mrs 
) [inline]
template<class F , class MRS >
void Dune::copyToSuperMatrix ( F &  initializer,
const MRS &  mrs 
) [inline]

References col, and row.

template<class G , class T1 , class T2 >
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.

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

template<typename G , typename EP , typename VM , typename EM >
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]
template<class G , class T1 , class T2 >
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

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

template<class K , int n>
void Dune::istl_assign_to_fmatrix ( FieldMatrix< K, n, n > &  fm,
const ScaledIdentityMatrix< K, n > &  s 
) [inline]
template<class K , int n>
void Dune::istl_assign_to_fmatrix ( FieldMatrix< K, n, n > &  fm,
const DiagonalMatrix< K, n > &  s 
) [inline]
template<typename TG , typename TA >
std::ostream& Dune::operator<< ( std::ostream &  os,
const RemoteIndex< TG, TA > &  index 
) [inline]
template<class K , class A >
std::ostream& Dune::operator<< ( std::ostream &  s,
const BlockVector< K, A > &  v 
) [inline]

Send BlockVector to an output stream.

template<class B , class TA , int n, int m>
bool Dune::operator== ( SuperLUMatrix< BCRSMatrix< FieldMatrix< B, n, m >, TA > > &  sla,
BCRSMatrix< FieldMatrix< B, n, m >, TA > &  a 
) [inline]
template<class M , class C >
void Dune::printGlobalSparseMatrix ( const M &  mat,
C &  ooc,
std::ostream &  os 
) [inline]
template<typename M >
void Dune::printMatrixMarket ( M &  matrix,
std::ostream  ostr 
) [inline]
template<typename T , typename A , int brows, int bcols>
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.

Parameters:
matrix The matrix to store the data in.
istr The input stream to read the data from.
Warning:
Not all formats are supported!

References A.

template<typename M , typename C >
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.

Parameters:
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.
Template Parameters:
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().

template<class T , class A , int n, int m>
void Dune::writeCompColMatrixToMatlab ( const SuperLUMatrix< BCRSMatrix< FieldMatrix< T, n, m >, A > > &  mat,
std::ostream &  os 
) [inline]

References col, mat, and row.

Generated on Sat Apr 24 11:13:48 2010 for dune-istl by  doxygen 1.6.3