Dune Core Modules (2.4.1)

Dune namespace. More...

Namespaces

namespace  Capabilities
 Contains all capabilities classes.
 
namespace  FloatCmp
 
namespace  GeoGrid
 namespace containing the implementations of GeometryGrid
 
namespace  Partitions
 Predefined PartitionSets for commonly used combinations of parallel grid PartitionTypes.
 
namespace  QuadratureType
 Defines an enum for currently available quadrature rules.
 
namespace  RefinementImp
 This namespace contains the implementation of Refinement.
 

Classes

class  AdaptDataHandleInterface
 Interface class for the Grid's adapt method where the parameter is a AdaptDataHandleInterface. More...
 
struct  AdderSelector
 template meta program for choosing how to add the correction. More...
 
struct  AdditiveSchwarzMode
 Tag that the tells the schwarz method to be additive. More...
 
struct  AddPtrTypeEvaluator
 TypeEvaluator to turn a type T into a pointer to T More...
 
struct  AddRefTypeEvaluator
 TypeEvaluator to turn a type T into a reference to T More...
 
class  AffineGeometry
 Implementation of the Geometry interface for affine geometries. More...
 
class  AlbertaGrid
 [ provides Dune::Grid ] More...
 
class  AlbertaGridEntity
 
class  AlbertaGridEntity< 0, dim, Grid >
 
class  AlbertaGridEntityPointer
 EntityPointer implementation for AlbertaGrid. More...
 
class  AlbertaGridGeometry
 geometry implementation for AlbertaGrid More...
 
class  AlbertaGridHierarchicIterator
 
class  AlbertaGridIdSet
 hierarchic index set of AlbertaGrid More...
 
class  AlbertaGridTreeIterator
 
class  AlbertaMarkerVector
 marker assigning subentities to one element containing them More...
 
struct  AlignmentOf
 Calculates the alignment requirement of a type. More...
 
class  AllSet
 A set containing everything. More...
 
class  ALU2dGrid
 [ provides Dune::Grid ] More...
 
class  ALU2dGridEntity
 
class  ALU2dGridEntity< 0, dim, GridImp >
 
class  ALU2dGridEntityPointer
 
class  ALU2dGridEntitySeed< 0, GridImp >
 
class  ALU2dGridGeometry
 
class  ALU2dGridHierarchicIndexSet
 hierarchic index set of ALU2dGrid More...
 
class  ALU2dGridHierarchicIterator
 Hierarchic Iterator of ALU2dGrid. More...
 
class  ALU2dGridIntersectionBase
 
class  ALU2dGridLocalIdSet
 hierarchic index set of ALU3dGrid More...
 
class  ALU3dGrid
 [ provides Dune::Grid ] More...
 
class  ALU3dGridEntity
 
class  ALU3dGridEntity< 0, dim, GridImp >
 
class  ALU3dGridEntityPointer< 0, GridImp >
 
class  ALU3dGridEntityPointerBase
 
class  ALU3dGridEntitySeed< 0, GridImp >
 
class  ALU3dGridGeometricFaceInfoBase
 
class  ALU3dGridGeometricFaceInfoHexa
 
class  ALU3dGridGeometricFaceInfoTetra
 
class  ALU3dGridHierarchicIndexSet
 hierarchic index set of ALU3dGrid More...
 
class  ALU3dGridIntersectionIterator
 
class  ALU3dGridLeafIterator
 Leaf iterator. More...
 
struct  ALU3dGridLeafVertexList
 
class  ALU3dGridLevelIterator
 
struct  ALU3dGridVertexList
 
class  ALUGrid
 [ provides Dune::Grid ] More...
 
class  ALUGridBoundaryProjection
 ALUGrid boundary projection implementation DuneBndProjection has to fulfil the DuneBoundaryProjection interface. More...
 
class  ALUMemoryProvider
 organize the memory management for entitys used by the NeighborIterator More...
 
struct  AlwaysFalse
 template which always yields a false value More...
 
struct  AlwaysTrue
 template which always yields a true value More...
 
class  AmiraMeshWriter
 Provides file writing facilities in the AmiraMesh format. More...
 
class  AnalyticalCoordFunction
 Derive an implementation of an analytical coordinate function from this class. More...
 
class  AnalyticalCoordFunctionInterface
 Interface class for using an analytical function to define the geometry of a Dune::GeometryGrid. An implementation should be derived from Dune::AnalyticalCoordFunction and the evaluate method mapping \( R^d\to R^r \) has to be supplied. More...
 
class  ArrayList
 A dynamically growing random access list. More...
 
class  ArrayListIterator
 A random access iterator for the Dune::ArrayList class. More...
 
class  AssembledLinearOperator
 A linear operator exporting itself in matrix form. More...
 
class  AssociativePropertyMap
 An adapter to turn an unique associative container into a property map. More...
 
struct  At
 Reverse element access. More...
 
struct  AtType
 Type for reverse element access. More...
 
class  AutoPtrStack
 a stack of pointers with auto destruction if the stack is destructed More...
 
class  AxisAlignedCubeGeometry
 A geometry implementation for axis-aligned hypercubes. More...
 
union  b64chunk
 union representing the three byte text aswell as the four 6 bit chunks More...
 
struct  b64data
 
struct  b64txt
 struct with three bytes of text More...
 
class  BackupRestoreFacility
 facility for writing and reading grids More...
 
struct  BackupRestoreFacility< ALUGrid< dim, dimworld, elType, refineType, Comm > >
 facility for writing and reading grids More...
 
struct  BackupRestoreFacility< const Grid >
 BackupRestoreFacility taking const Grid as type and deriving from the version with the const. More...
 
struct  BackupRestoreFacility< Dune::YaspGrid< dim, Coordinates > >
 facility for writing and reading grids More...
 
struct  BackupRestoreFacility< YaspGrid< dim, TensorProductCoordinates< ctype, dim > > >
 facility for writing and reading grids More...
 
class  Base64Stream
 class to base64 encode a stream of data 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  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  BCRSMatrix
 A sparse block matrix with compressed row storage. More...
 
class  BCRSMatrixError
 Error specific to BCRSMatrix. More...
 
class  BDMatrix
 A block-diagonal matrix. More...
 
class  BiCGSTABSolver
 Bi-conjugate Gradient Stabilized (BiCG-STAB) More...
 
class  BidirectionalIteratorFacade
 Facade class for stl conformant bidirectional iterators. More...
 
class  bigunsignedint
 Portable very large unsigned integers. More...
 
class  BilinearMapping
 A bilinear mapping. More...
 
class  BilinearSurfaceMapping
 A bilinear surface mapping. More...
 
class  BitSetVector
 A dynamic array of blocks of booleans. More...
 
class  BitSetVectorConstReference
 A proxy class that acts as a const reference to a single bitset in a BitSetVector. More...
 
class  BitSetVectorReference
 A proxy class that acts as a mutable reference to a single bitset in a BitSetVector. More...
 
struct  BL
 compile-time parameter for block recursion depth More...
 
class  block_vector_unmanaged
 An unmanaged vector of blocks. More...
 
class  BlockPreconditioner
 Block parallel preconditioner. More...
 
class  BlockVector
 A vector of blocks with memory management. More...
 
class  BlockVectorWindow
 
struct  BoundarySegment
 Base class for classes implementing geometries of boundary segments. More...
 
class  BoundarySegmentWrapper
 
class  BTDMatrix
 A block-tridiagonal matrix. More...
 
class  BufferedCommunicator
 A communicator that uses buffers to gather and scatter the data to be send or received. More...
 
class  CachedMultiLinearGeometry
 Implement a MultiLinearGeometry with additional caching. More...
 
class  CGSolver
 conjugate gradient method More...
 
struct  CheckIfDiagonalPresent
 Check whether the a matrix has diagonal values on blocklevel recursion levels. More...
 
struct  Cloneable
 An interface class for cloneable objects. More...
 
struct  Codim
 Static tag representing a codimension. More...
 
struct  ColCompMatrix
 Utility class for converting an ISTL Matrix into a column-compressed matrix. More...
 
class  ColCompMatrix< BCRSMatrix< FieldMatrix< B, n, m >, TA > >
 Converter for BCRSMatrix to column-compressed Matrix. specialization for BCRSMatrix. More...
 
struct  ColCompMatrixInitializer
 Inititializer for the ColCompMatrix as needed by OverlappingSchwarz. More...
 
class  CollectiveCommunication
 Collective communication interface and sequential default implementation. More...
 
class  CollectiveCommunication< MPI_Comm >
 Specialization of CollectiveCommunication for MPI. More...
 
class  CollectiveIterator
 A collective iterator for moving over the remote indices for all processes collectively. More...
 
class  Combine
 A set combining two other sets. More...
 
class  CombinedAdaptProlongRestrict
 class for combining 2 index sets together for adaptation process More...
 
class  CombinedGrapeDisplay
 Combines GrapeDataDisplays to one so that visualisation for parallel grid is more easy to handle. More...
 
class  CommDataHandleIF
 CommDataHandleIF describes the features of a data handle for communication in parallel runs using the Grid::communicate methods. Here the Barton-Nackman trick is used to interprete data handle objects as its interface. Therefore usable data handle classes need to be derived from this class. More...
 
struct  CommMatrixRow
 Utility class for comunicating the matrix entries. More...
 
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  common_bits
 activate if current and mask have common bits switched on. More...
 
struct  CommPolicy
 Default policy used for communicating an indexed type. More...
 
class  compressed_base_array_unmanaged
 A simple array container with non-consecutive index set. More...
 
class  compressed_block_vector_unmanaged
 
class  CompressedBlockVectorWindow
 
struct  CompressionStatistics
 Statistics about compression achieved in implicit mode. More...
 
struct  const_reference
 Get the 'const' version of a reference to a mutable object. More...
 
struct  const_reference< BitSetVectorReference< block_size, Alloc > >
 
struct  ConstantVolatileTraits
 Determines wether a type is const or volatile and provides the unqualified types. More...
 
class  ConstArrayListIterator
 A constant random access iterator for the Dune::ArrayList class. More...
 
class  ConstAssociativePropertyMap
 An adaptor to turn an unique associative container into a property map. More...
 
class  ContainerWrapperIterator
 Iterator class for sparse vector-like containers. More...
 
class  Conversion
 Checks wether a type is convertible to another. More...
 
class  DebugAllocator
 Allocators implementation which performs different kind of memory checks. More...
 
class  DebugStream
 Generic class to implement debug output streams. More...
 
class  DebugStreamError
 standard exception for the debugstream More...
 
class  DebugStreamState
 Intermediate class to implement tie-operation of DebugStream. More...
 
class  DefaultIndexSet
 DefaultIndexSet creates an index set by using the grids persistent container an a given pair of iterators. More...
 
struct  DefaultLeafIteratorTypes
 LeafIterator tpyes for all codims and partition types. More...
 
struct  DefaultLevelIteratorTypes
 LevelIterator tpyes for all codims and partition types. More...
 
class  DenseIterator
 Generic iterator class for dense vector and matrix implementations. More...
 
class  DenseMatrix
 A dense n x m matrix. More...
 
struct  DenseMatrixAssigner
 you have to specialize this structure for any type that should be assignable to a DenseMatrix More...
 
class  DenseVector
 Interface for a class of dense vectors over a given field. More...
 
struct  DGFBoundaryParameter
 Contains types for additional features. More...
 
class  DGFException
 exception class for IO errors in the DGF parser More...
 
struct  DGFGridFactory< YaspGrid< dim > >
 Grid factory for YaspGrid with equidistant coordinates. More...
 
struct  DGFGridFactory< YaspGrid< dim, EquidistantOffsetCoordinates< double, dim > > >
 Grid factory for YaspGrid with equidistant coordinates. More...
 
struct  DGFGridInfo
 Some simple static information for a given GridType. More...
 
class  DGFWriter
 write a GridView to a DGF file More...
 
class  DiagonalMatrix
 A diagonal matrix of static size. More...
 
struct  Dim
 Static tag representing a dimension. More...
 
class  DiscreteCoordFunction
 Derive an implementation of a discrete coordinate function from this class. More...
 
class  DiscreteCoordFunctionInterface
 Interface class for using a discrete function to define the geometry of a Dune::GeometryGrid. An implementation should be derived from Dune::DiscreteCoordinateFunction and the evaluate method taking an entity of the host grid together with the number of a vertex returns the coordinate in \( R^r \) of that corner. The user must ensure continuity of this mapping. In addition an adapt method is provided which is called whenever adapt() is called on the Dune::GeometryGrid. More...
 
struct  DuneBoundaryProjection
 Interface class for vertex projection at the boundary. More...
 
class  DuneGridFormatParser
 The DuneGridFormatParser class: reads a DGF file and stores build information in vector structures used by the MacroGrid class. More...
 
class  DynamicMatrix
 Construct a matrix with a dynamic size. More...
 
class  DynamicMatrixSubdomainSolver
 Exact subdomain solver using Dune::DynamicMatrix<T>::solve. More...
 
class  DynamicVector
 Construct a vector with a dynamic size. More...
 
class  ElementTopologyMapping
 
struct  Empty
 Just an empty class. More...
 
class  EmptySet
 An empty set. More...
 
struct  EnableIfInterOperable
 Enable typedef if two types are interoperable. More...
 
class  Entity
 Wrapper class for entities. More...
 
class  Entity< 0, dim, GridImp, EntityImp >
 Template specialization of Dune::Entity for Elements (codim==0) More...
 
class  EntityDefaultImplementation
 Default Implementations for EntityImp. More...
 
class  EntityDefaultImplementation< 0, dim, GridImp, EntityImp >
 Default Implementations for EntityImp (Elements [cd=0]) More...
 
struct  EntityInfo
 Structure to hold statistical information about one type of entity. More...
 
class  EntityIterator
 interface class for an iterator over grid entities More...
 
class  EntityPointer
 Wrapper class for pointers to entities. More...
 
class  EntitySeed
 Store a reference to an entity with a minimal memory footprint. More...
 
class  EnumItem
 A set consisting only of one item. More...
 
class  EnumRange
 A set representing a range including the borders. More...
 
class  EquidistantCoordinates
 Container for equidistant coordinates in a YaspGrid. More...
 
class  EquidistantOffsetCoordinates
 Container for equidistant coordinates in a YaspGrid with non-trivial origin. More...
 
class  Exception
 Base class for Dune-Exceptions. More...
 
struct  ExceptionHook
 Base class to add a hook to the Dune::Exception. More...
 
class  FaceTopologyMapping
 
struct  Factorial
 Calculates the factorial of m at compile time. More...
 
struct  Factorial< 0 >
 end of recursion of factorial via specialization More...
 
class  FakeMPIHelper
 A fake mpi helper. More...
 
class  FieldMatrix
 A dense n x m matrix. More...
 
class  FieldVector
 vector space out of a tensor product of fields. More...
 
class  FirstPredicateIndex
 Finding the index of a certain type in a tuple. More...
 
struct  FirstTypeIndex
 Find the first occurance of a type in a tuple. More...
 
struct  FlattenTuple
 Flatten a tuple of tuples. More...
 
class  FloatCmpOps
 Class encapsulating a default epsilon. More...
 
class  fmatrix_assigner
 fmatrix assignment operator More...
 
class  FMatrixError
 Error thrown if operations of a FieldMatrix fail. More...
 
class  FMatrixPrecision
 Precisions for calculations with FieldMatrix and FieldVector. More...
 
class  ForEachType
 Helper template to clone the type definition of a tuple with the storage types replaced by a user-defined rule. More...
 
class  ForEachValue
 Helper template which implements iteration over all storage elements in a tuple. More...
 
class  ForEachValuePair
 Extension of ForEachValue to two tuples... More...
 
class  ForLoop
 A static loop using TMP. More...
 
class  ForwardIteratorFacade
 Base class for stl conformant forward iterators. More...
 
class  Function
 Base class template for function classes. More...
 
class  fvector_assigner
 fvector assignment operator More...
 
struct  GaussLobattoQuadratureInitHelper
 
class  GaussLobattoQuadratureRule1D
 Jacobi-Gauss quadrature for alpha=2, beta=0. More...
 
struct  GaussQuadratureInitHelper
 
class  GaussQuadratureRule1D
 Gauss quadrature rule in 1D. More...
 
struct  Gcd
 Calculator of the greatest common divisor. More...
 
class  GeneralizedPCGSolver
 Generalized preconditioned conjugate gradient solver. More...
 
class  GeneralVertexOrder
 Class providing information on the ordering of vertices. More...
 
class  GenericIterator
 Generic class for stl-conforming iterators for container classes with operator[]. More...
 
class  Geometry
 Wrapper class for geometries. More...
 
class  GeometryDefaultImplementation
 Default implementation for class Geometry. More...
 
class  GeometryGrid
 grid wrapper replacing the geometries More...
 
class  GeometryType
 Unique label for each type of entities that can occur in DUNE grids. More...
 
class  GlobalGeometryTypeIndex
 Compute indices for geometry types, taking the dimension into account. More...
 
class  GlobalIndexSet
 Calculate globally unique index over all processes in a Dune grid. More...
 
class  GlobalLookupIndexSet
 Decorates an index set with the possibility to find a global index that is mapped to a specific local. More...
 
class  GlobalUniversalMapper
 Universal mapper based on global ids. More...
 
class  GmshReader
 Read Gmsh mesh file. More...
 
struct  GmshReaderOptions
 Options for read operation. More...
 
class  GmshReaderParser
 dimension independent parts for GmshReaderParser More...
 
class  GmshWriter
 Write Gmsh mesh file. More...
 
class  GnuplotWriter
 Writer for 1D grids in gnuplot format. More...
 
class  GradientSolver
 gradient method More...
 
class  GrapeDataDisplay
 
class  GrapeGridDisplay
 
struct  greater_or_equal
 Greater or equal template test. More...
 
class  Grid
 Grid abstract base class. More...
 
class  GridDefaultImplementation
 
class  GridError
 Base class for exceptions in Dune grid modules. More...
 
class  GridFactory
 Provide a generic factory class for unstructured grids. More...
 
class  GridFactory< AlbertaGrid< dim, dimworld > >
 specialization of the generic GridFactory for AlbertaGrid More...
 
class  GridFactory< UGGrid< dimworld > >
 Specialization of the generic GridFactory for UGGrid. More...
 
class  GridFactoryInterface
 Provide a generic factory class for unstructured grids. More...
 
struct  GridObjectStreamOrDefault
 Template to choose right Object stream type for a given class. More...
 
struct  GridObjectStreamOrDefaultHelper
 
struct  GridObjectStreamOrDefaultHelper< false, GridImp, DefaultImp >
 
struct  GridPtr
 Class for constructing grids from DGF files. More...
 
struct  GridTraits
 A traits struct that collects all associated types of one grid model. More...
 
class  GridView
 Grid view abstract base class. More...
 
struct  GridViewInfo
 structure to hold information about a certain GridView. More...
 
struct  GridViewInfoGTCompare
 Comparison object to sort GeometryType by majorly dimension. More...
 
struct  hash
 Functor for hashing objects of type T. More...
 
struct  HasHierarchicIndexSet
 Tagging interface to indicate that Grid has HierarchicIndexSet. More...
 
struct  HasObjectStream
 Tagging interface to indicate that Grid provides typedef ObjectStreamType. More...
 
class  HelpRequest
 exception thrown if the user wants to see help string More...
 
class  HierarchicSearch
 Search an IndexSet for an Entity containing a given point. More...
 
class  HostGridAccess
 provides access to host grid objects from GeometryGrid More...
 
class  IdentityGrid
 Provides a meta grid that is identical to its host. More...
 
class  IdentityGridEntity
 The implementation of entities in a IdentityGrid. More...
 
class  IdentityGridEntity< 0, dim, GridImp >
 Specialization for codim-0-entities. More...
 
class  IdentityGridEntityPointer
 
class  IdentityGridEntitySeed
 The EntitySeed class provides the minimal information needed to restore an Entity using the grid. More...
 
class  IdentityGridHierarchicIterator
 Iterator over the descendants of an entity.Mesh entities of codimension 0 ("elements") allow to visit all entities of codimension 0 obtained through nested, hierarchic refinement of the entity. Iteration over this set of entities is provided by the HierarchicIterator, starting from a given entity. More...
 
class  IdentityGridLeafIntersection
 An intersection with a leaf neighbor elementMesh entities of codimension 0 ("elements") allow to visit all neighbors, where a neighbor is an entity of codimension 0 which has a common entity of codimension 1 These neighbors are accessed via a IntersectionIterator. This allows the implement non-matching meshes. The number of neighbors may be different from the number of an element! More...
 
class  IdentityGridLeafIntersectionIterator
 Iterator over all element neighborsMesh entities of codimension 0 ("elements") allow to visit all neighbors, where a neighbor is an entity of codimension 0 which has a common entity of codimension 1 These neighbors are accessed via a IntersectionIterator. This allows the implement non-matching meshes. The number of neighbors may be different from the number of an element! More...
 
class  IdentityGridLeafIterator
 Iterator over all entities of a given codimension and level of a grid. More...
 
class  IdentityGridLevelIndexSet
 
class  IdentityGridLevelIntersection
 
class  IdentityGridLevelIntersectionIterator
 
class  IdentityGridLevelIterator
 Iterator over all entities of a given codimension and level of a grid. More...
 
struct  IdentityMap
 A property map that applies the identity function to integers. More...
 
class  IdentityMatrix
 Read-only identity matrix. More...
 
class  IdSet
 Id Set Interface. More...
 
class  ILU0SubdomainSolver
 Exact subdomain solver using ILU(p) with appropriate p. More...
 
class  ILUSubdomainSolver
 base class encapsulating common algorithms of ILU0SubdomainSolver and ILUNSubdomainSolver. More...
 
struct  ImplementationDefined
 Dummy struct used for documentation purposes. More...
 
class  ImplicitMatrixBuilder
 A wrapper for uniform access to the BCRSMatrix during and after the build stage in implicit build mode. More...
 
class  ImplicitModeOverflowExhausted
 The overflow error used during implicit BCRSMatrix construction was exhausted. More...
 
class  Indent
 Utility class for handling nested indentation in output. More...
 
class  IndexInfoFromGrid
 Information about the index distribution. More...
 
class  IndexPair
 A pair consisting of a global and local index. More...
 
class  IndexSet
 Index Set Interface base class. More...
 
class  IndexSetDefaultImplementation
 Provide default implementation of method if IndexSet. More...
 
class  IndexStack
 
class  IndicesSyncer
 Class for recomputing missing indices of a distributed index set. More...
 
class  Interface
 Communication interface between remote and local indices. More...
 
class  InterfaceBuilder
 Base class of all classes representing a communication interface. More...
 
class  InterfaceInformation
 Information describing an interface. More...
 
class  Intersection
 Intersection of a mesh entities of codimension 0 ("elements") with a "neighboring" element or with the domain boundary. More...
 
class  IntersectionDefaultNormalVectors
 Default Implementations of integrationOuterNormal and unitOuterNormal for IntersectionImp. More...
 
class  IntersectionIterator
 Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" elements and with the domain boundary. More...
 
class  IntersectionIteratorWrapper
 Class that wraps IntersectionIteratorImp of a grid and gets it's internal object from a object stack hold by the grid. More...
 
class  InvalidIndexSetState
 Exception indicating that the index set is not in the expected state. More...
 
class  InvalidStateException
 Default exception if a function was called while the object is not in a valid state for that function. More...
 
class  InverseOperator
 Abstract base class for all solvers. More...
 
class  InverseOperator2Preconditioner
 Turns an InverseOperator into a Preconditioner. More...
 
struct  InverseOperatorResult
 Statistics about the application of an inverse operator. More...
 
class  IOError
 Default exception class for I/O errors. More...
 
class  ios_base_all_saver
 Utility class for storing and resetting stream attributes. More...
 
struct  is_indexable
 
struct  is_lvalue_reference
 Determine whether a type is a lvalue reference type. More...
 
struct  is_pointer
 is_pointer More...
 
class  IsBaseOf
 Checks wether a type is derived from another. More...
 
struct  IsConst
 Tests wether a type is constant. More...
 
struct  IsDofManager
 Tagging interface to indicate that class is of Type DofManager. More...
 
struct  IsFieldVectorSizeCorrect
 TMP to check the size of a DenseVectors statically, if possible. More...
 
struct  IsInteroperable
 Checks wether two types are interoperable. More...
 
struct  IsMatrix
 Test whether a type is an ISTL Matrix. More...
 
class  ISTLError
 derive error class from the base class in common More...
 
struct  IsType
 Generator for predicates accepting one particular type. More...
 
struct  IsVolatile
 Tests wether a type is volatile. More...
 
struct  IteratorDirectionSelector
 Helper template meta program for application of overlapping schwarz. More...
 
class  IteratorPropertyMap
 Adapter to turn a random access iterator into a property map. More...
 
class  IteratorRange
 Simple range between a begin and an end iterator. More...
 
struct  Jacobi1QuadratureInitHelper
 
class  Jacobi1QuadratureRule1D
 Jacobi-Gauss quadrature for alpha=1, beta=0. More...
 
struct  Jacobi2QuadratureInitHelper
 
class  Jacobi2QuadratureRule1D
 Jacobi-Gauss quadrature for alpha=2, beta=0. More...
 
struct  JoinTuples
 Join two tuples. More...
 
struct  Lcm
 Calculate the least common multiple of two numbers. More...
 
class  LeafAmiraMeshWriter
 Provides file writing facilities in the AmiraMesh format for leaf grids. More...
 
class  LeafGnuplotWriter
 GnuplotWriter on the leaf grid. More...
 
class  LeafIntersectionIteratorWrapper
 Class that wraps IntersectionIteratorImp of a grid and gets it's internal object from a object stack hold by the grid. More...
 
class  LeafMultipleCodimMultipleGeomTypeMapper
 Multiple codim and multiple geometry type mapper for leaf entities. More...
 
class  LeafSingleCodimSingleGeomTypeMapper
 Single codim and single geometry type mapper for leaf entities. More...
 
class  LevelAmiraMeshWriter
 Provides file writing facilities in the AmiraMesh format for level grids. More...
 
class  LevelGnuplotWriter
 GnuplotWriter on a given level grid. More...
 
class  LevelIntersectionIteratorWrapper
 Class that wraps IntersectionIteratorImp of a grid and gets it's internal object from a object stack hold by the grid. More...
 
class  LevelIntersectionWrapper
 Class that wraps IntersectionIteratorImp of a grid and gets it's internal object from a object stack hold by the grid. More...
 
class  LevelMultipleCodimMultipleGeomTypeMapper
 Multiple codim and multiple geometry type mapper for entities of one level. More...
 
class  LevelSingleCodimSingleGeomTypeMapper
 Single codim and single geometry type mapper for entities of one level. More...
 
class  LinearMapping
 A linear mapping. More...
 
class  LinearOperator
 A linear operator. More...
 
class  LocalGeometryTypeIndex
 Compute per-dimension indices for geometry types. More...
 
class  LocalIndex
 An index present on the local process. More...
 
class  LocalUniversalMapper
 Universal mapper based on local ids. More...
 
class  LoopSolver
 Preconditioned loop solver. More...
 
class  lru
 LRU Cache Container. More...
 
struct  LvaluePropertyMapTag
 Tag for the category of lvalue property maps. More...
 
struct  MakeableInterfaceObject
 
class  MallocAllocator
 Allocators implementation which simply calls malloc/free. More...
 
class  Mapper
 Mapper interface. More...
 
struct  MathematicalConstants
 Provides commonly used mathematical constants. More...
 
class  MathError
 Default exception class for mathematical errors. More...
 
struct  MatMultMatResult
 Helper TMP to get the result type of a sparse matrix matrix multiplication ( \(C=A*B\)) More...
 
class  Matrix
 A generic dynamic dense matrix. More...
 
class  MatrixAdapter
 Adapter to turn a matrix into a linear operator. More...
 
class  MatrixIndexSet
 Stores the nonzero entries in a sparse matrix. 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  MCMGElementLayout
 Layout template for elements. More...
 
struct  MCMGVertexLayout
 Layout template for vertices. More...
 
class  MessageBufferIF
 Communication message buffer interface. This class describes the interface for reading and writing data to the communication message buffer. As message buffers might be deeply implemented in various packages the message buffers implementations cannot be derived from this interface class. Therefore we just apply the engine concept to wrap the message buffer call and make sure that the interface is fulfilled. More...
 
class  MINRESSolver
 Minimal Residual Method (MINRES) More...
 
class  MPIGuard
 detects a thrown exception and communicates to all other processes More...
 
class  MPIGuardError
 This exception is thrown if the MPIGuard detects an error on a remote process. More...
 
class  MPIHelper
 A real mpi helper. More...
 
struct  MPITraits
 A traits class describing the mapping of types onto MPI_Datatypes. More...
 
class  MPITraits< IndexPair< TG, ParallelLocalIndex< TA > > >
 
class  MPITraits< ParallelLocalIndex< T > >
 
class  MultiLinearGeometry
 generic geometry implementation based on corner coordinates More...
 
struct  MultiLinearGeometryTraits
 default traits class for MultiLinearGeometry More...
 
class  MultipleCodimMultipleGeomTypeMapper
 Implementation class for a multiple codim and multiple geometry type mapper. More...
 
struct  MultiplicativeSchwarzMode
 Tag that tells the Schwarz method to be multiplicative. More...
 
struct  mutable_reference
 get the 'mutable' version of a reference to a const object More...
 
class  NegateSet
 The negation of a set. An item is contained in the set if and only if it is not contained in the negated set. More...
 
class  NonConformingFaceMapping
 
class  NonConformingFaceMapping< hexa, Comm >
 Non-conforming face mappings for hexahedra. More...
 
class  NonConformingFaceMapping< tetra, Comm >
 Non-conforming face mappings for tetrahedra. More...
 
class  NonoverlappingBlockPreconditioner
 Nonoverlapping parallel preconditioner. More...
 
class  NonoverlappingSchwarzOperator
 A nonoverlapping operator with communication object. More...
 
class  NonoverlappingSchwarzScalarProduct
 Nonoverlapping Scalar Product with communication object. More...
 
class  NotImplemented
 Default exception for dummy implementations. More...
 
struct  null_deleter
 implements the Deleter concept of shared_ptr without deleting anything More...
 
class  NullPointerInitialiser
 A helper template that initializes a tuple consisting of pointers to NULL. More...
 
class  OneDGrid
 One-dimensional adaptive grid. More...
 
class  OutOfMemoryError
 Default exception if memory allocation fails. More...
 
class  OverlappingSchwarzInitializer
 Initializer for SuperLU Matrices representing the subdomains. More...
 
class  OverlappingSchwarzOperator
 An overlapping schwarz operator. More...
 
class  OverlappingSchwarzScalarProduct
 Scalar product for overlapping schwarz methods. More...
 
struct  OwnerOverlapCopyAttributeSet
 Attribute set for overlapping schwarz. More...
 
class  OwnerOverlapCopyCommunication
 A class setting up standard communication for a two-valued attribute set with owner/overlap/copy semantics. More...
 
class  P0VTKFunction
 Take a vector and interpret it as cell data for the VTKWriter. More...
 
class  P1VTKFunction
 Take a vector and interpret it as point data for the VTKWriter. More...
 
class  ParallelError
 Default exception if an error in the parallel communication of the programm occured. More...
 
class  ParallelIndexSet
 Manager class for the mapping between local indices and globally unique indices. More...
 
class  ParallelLocalIndex
 An index present on the local process with an additional attribute flag. More...
 
class  ParameterTree
 Hierarchical structure of string parameters. More...
 
class  ParameterTreeParser
 Parsers to set up a ParameterTree from various input sources. More...
 
class  ParameterTreeParserError
 report parser error while reading ParameterTree More...
 
class  ParSSOR
 A parallel SSOR preconditioner. More...
 
struct  PartitionSet
 A set of PartitionType values. More...
 
class  PersistentContainer
 A class for storing data during an adaptation cycle. More...
 
class  PersistentContainer< const Grid, T >
 refer PersistentContainer<const Grid> to the implementation of the mutable grid More...
 
class  PersistentContainer< YaspGrid< dim, CoordCont >, T >
 Specialization of the PersistentContainer for YaspGrid. More...
 
class  PersistentContainerInterface
 Persistent storage of data on all entities of a grid. More...
 
class  PersistentContainerMap
 map-based implementation of the PersistentContainer More...
 
class  PersistentContainerVector
 vector-based implementation of the PersistentContainer More...
 
class  PointerPairDeletor
 Deletes all objects pointed to in a tuple of pointers. More...
 
class  Pool
 A memory pool of objects. More...
 
class  PoolAllocator
 An allocator managing a pool of objects for reuse. More...
 
struct  Power
 Compute power for a run-time mantissa and a compile-time integer exponent. More...
 
class  Preconditioner
 Base class for matrix free definition of preconditioners. More...
 
class  PrismQuadraturePoints
 
class  PrismQuadraturePoints< 3 >
 
struct  PrismQuadraturePointsSingleton
 Singleton holding the Prism Quadrature points. More...
 
struct  PrismQuadraturePointsSingleton< 3 >
 Singleton holding the Prism Quadrature points. More...
 
class  PrismQuadratureRule
 Quadrature rules for prisms. More...
 
class  PrismQuadratureRule< ct, 3 >
 Quadrature rules for prisms. More...
 
struct  PropertyMapTypeSelector
 Selector for the property map type. More...
 
struct  PushBackTuple
 Helper template to append a type to a tuple. More...
 
struct  PushFrontTuple
 Helper template to prepend a type to a tuple. More...
 
class  QuadratureOrderOutOfRange
 Exception thrown if a desired QuadratureRule is not available, because the requested order is to high. More...
 
class  QuadraturePoint
 Single evaluation point in a quadrature rule. More...
 
class  QuadratureRule
 Abstract base class for quadrature rules. More...
 
class  QuadratureRuleFactory
 Factory class for creation of quadrature rules, depending on GeometryType, order and QuadratureType. More...
 
class  QuadratureRules
 A container for all quadrature rules of dimension dim More...
 
class  RandomAccessIteratorFacade
 Base class for stl conformant forward iterators. More...
 
class  RangeError
 Default exception class for range errors. More...
 
class  RawStream
 write out data in binary More...
 
struct  ReadablePropertyMapTag
 Tag for the category of readable property maps. More...
 
struct  ReadWritePropertyMapTag
 Tag for the category of readable and writable property maps. More...
 
struct  ReduceTuple
 Apply reduce with meta binary function to template. More...
 
struct  ReduceTuple< F, Tuple, Seed, 0 >
 Apply reduce with meta binary function to template. More...
 
class  ReferenceElement
 This class provides access to geometric and topological properties of a reference element. More...
 
struct  ReferenceElements
 Class providing access to the singletons of the reference elements. More...
 
class  RemoteIndex
 Information about an index residing on another processor. More...
 
class  RemoteIndexListModifier
 Modifier for adding and/or deleting remote indices from the remote index list. More...
 
class  RemoteIndices
 The indices present on remote processes. More...
 
struct  remove_pointer
 Return the type a pointer type points to. More...
 
class  ReservedVector
 A Vector class with statically reserved memory. More...
 
class  RestartedGMResSolver
 implements the Generalized Minimal Residual (GMRes) method More...
 
class  Richardson
 Richardson preconditioner. More...
 
class  ScalarProduct
 Base class for scalar product and norm computation. More...
 
struct  ScalarProductChooser
 Choose the approriate scalar product for a solver category. More...
 
class  ScaledIdentityMatrix
 A multiple of the identity matrix of static size. More...
 
class  Selection
 A cached selection of indices. More...
 
class  SelectionIterator
 A const iterator over an uncached selection. More...
 
class  SEntity
 
class  SEntity< 0, dim, GridImp >
 
class  SEntityBase
 
class  SEntityPointer
 
class  SEntitySeed
 
class  SeqGS
 Sequential Gauss Seidel preconditioner. More...
 
class  SeqILU0
 Sequential ILU0 preconditioner. More...
 
class  SeqILUn
 Sequential ILU(n) preconditioner. More...
 
class  SeqJac
 The sequential jacobian preconditioner. More...
 
class  SeqOverlappingSchwarz
 Sequential overlapping Schwarz preconditioner. More...
 
struct  SeqOverlappingSchwarzApplier
 Helper template meta program for application of overlapping schwarz. More...
 
struct  SeqOverlappingSchwarzDomainSize
 
class  SeqPardiso
 The sequential Pardiso preconditioner. More...
 
class  SeqScalarProduct
 Default implementation for the scalar case. More...
 
class  SeqSOR
 Sequential SOR preconditioner. More...
 
class  SeqSSOR
 Sequential SSOR preconditioner. More...
 
class  SGeometry
 
class  SGrid
 [ provides Dune::Grid ] More...
 
class  SGridGlobalIdSet
 persistent, globally unique Ids More...
 
class  SGridLevelIndexSet
 implementation of index set More...
 
struct  SHierarchicStackElem
 
class  SingleCodimSingleGeomTypeMapper
 Implementation class for a single codim and single geometry type mapper. More...
 
class  Singleton
 An adapter to turn a class into a singleton. More...
 
struct  SingleTypeSizeCache
 organizes the caching of sizes for one grid and one GeometryType More...
 
class  SIntersectionIterator
 
class  SizeCache
 organizes the caching of sizes for one grid and one GeometryType More...
 
struct  SizeOne
 Flag for marking indexed data structures where data at each index is of the same size. More...
 
class  SLevelIterator
 
class  SLList
 A single linked list. More...
 
class  SLListConstIterator
 A constant iterator for the SLList. More...
 
class  SLListIterator
 A mutable iterator for the SLList. More...
 
class  SLListModifyIterator
 A mutable iterator for the SLList. More...
 
struct  SolverCategory
 Categories for the solvers. More...
 
struct  StandardMathematicalConstants
 Standard implementation of MathematicalConstants. More...
 
class  StarCDReader
 File reader for the Star-CD format. More...
 
struct  StaticPower
 Calculates m^p at compile time. More...
 
struct  StaticPower< m, 0 >
 end of recursion via specialization More...
 
class  StaticRefinement
 Wrap each Refinement implementation to get a consistent interface. More...
 
class  StructuredGridFactory
 Construct structured cube and simplex grids in unstructured grid managers. More...
 
class  StructuredGridFactory< SGrid< dim, dim > >
 Specialization of the StructuredGridFactory for SGrid. More...
 
class  StructuredGridFactory< YaspGrid< dim, EquidistantCoordinates< ctype, dim > > >
 Specialization of the StructuredGridFactory for YaspGrid. More...
 
class  StructuredGridFactory< YaspGrid< dim, EquidistantOffsetCoordinates< ctype, dim > > >
 Specialization of the StructuredGridFactory for YaspGrid. More...
 
class  SubsamplingVTKSequenceWriter
 Writer for the ouput of grid functions in the vtk format. More...
 
class  SubsamplingVTKWriter
 Writer for the output of subsampled grid functions in the vtk format. More...
 
class  SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >
 SuperLu Solver. More...
 
struct  SuperLUMatrix
 Utility class for converting an ISTL Matrix into a SuperLU Matrix. More...
 
class  SuperLUMatrix< BCRSMatrix< FieldMatrix< B, n, m >, TA > >
 Converter for BCRSMatrix to SuperLU Matrix. More...
 
class  SurfaceNormalCalculator
 A bilinear surface mapping. More...
 
struct  SymmetricMultiplicativeSchwarzMode
 Tag that tells the Schwarz method to be multiplicative and symmetric. More...
 
class  SystemError
 Default exception class for OS errors. More...
 
class  TensorGridFactory
 A factory class for conveniently creating tensorproduct grids. More...
 
class  TensorProductCoordinates
 Coordinate container for a tensor product YaspGrid. More...
 
class  Timer
 A simple stop watch. More...
 
class  TimerError
 Exception thrown by the Timer class More...
 
struct  TopologyFactory
 Provide a factory over the generic topologies. More...
 
struct  TopologySingletonFactory
 A wrapper for a TopologyFactory providing singleton storage. Same usage as TopologyFactory but with empty release method an internal storage. More...
 
class  Torus
 
class  TransformTupleFunctor
 helper class to implement transformTuple() More...
 
struct  TransposedMatMultMatResult
 Helper TMP to get the result type of a sparse matrix matrix multiplication ( \(C=A*B\)) More...
 
class  TrilinearMapping
 
class  TypeTraits
 General type traits class to check whether type is reference or pointer type. More...
 
class  UGGrid
 Front-end for the grid manager of the finite element toolbox UG. More...
 
class  UMFPack
 Use the UMFPack package to directly solve linear systems – empty default class. More...
 
class  UMFPack< BCRSMatrix< FieldMatrix< T, n, m >, A > >
 The UMFPack direct sparse solver for matrices of type BCRSMatrix. More...
 
class  UncachedSelection
 An uncached selection of indices. More...
 
class  UniversalMapper
 Implements a mapper for an arbitrary subset of entities. More...
 
class  VariableBlockVector
 A Vector of blocks with different blocksizes. More...
 
struct  VariableSize
 Flag for marking indexed data structures where the data at each index may be a variable multiple of another type. More...
 
class  VariableSizeCommunicator
 A buffered communicator where the amount of data sent does not have to be known a priori. More...
 
class  VertexOrderByIdFactory
 Factory for GeneralVertexOrder objects using an IdSet. More...
 
class  VirtualFunction
 Virtual base class template for function classes. More...
 
class  VirtualRefinement
 VirtualRefinement base class. More...
 
class  VTKFunction
 A base class for grid functions with any return type and dimension. More...
 
class  VTKSequenceWriter
 Writer for the ouput of grid functions in the vtk format. More...
 
class  VTKSequenceWriterBase
 Base class to write pvd-files which contains a list of all collected vtk-files. More...
 
class  VTKWriter
 Writer for the ouput of grid functions in the vtk format. More...
 
struct  WritablePropertyMapTag
 Tag for the category of writable property maps. More...
 
class  YaspEntityPointer
 A pointer to a YaspGrid::Entity. More...
 
class  YaspEntitySeed
 Describes the minimal information necessary to create a fully functional YaspEntity. More...
 
class  YaspFixedSizePartitioner
 Implement partitioner that gets a fixed partitioning from an array If the given partitioning doesn't match the number of processors, the grid should be distributed to, an exception is thrown. More...
 
class  YaspGeometry
 The general version that handles all codimensions but 0 and dim. More...
 
class  YaspGeometry< 0, cdim, GridImp >
 specialization for dim=0, this is a vertex More...
 
class  YaspGeometry< mydim, mydim, GridImp >
 specialize for dim=dimworld, i.e. a volume element More...
 
class  YaspGlobalIdSet
 persistent, globally unique Ids More...
 
class  YaspGrid
 [ provides Dune::Grid ] More...
 
class  YaspHierarchicIterator
 YaspHierarchicIterator enables iteration over son entities of codim 0. More...
 
class  YaspIndexSet
 Implementation of Level- and LeafIndexSets for YaspGrid. More...
 
class  YaspIntersection
 YaspIntersection provides data about intersection with neighboring codim 0 entities. More...
 
class  YaspIntersectionIterator
 YaspIntersectionIterator enables iteration over intersections with neighboring codim 0 entities. More...
 
class  YaspLevelIterator
 Iterates over entities of one grid level. More...
 
class  YaspPersistentContainerIndex
 implement a consecutive index for all entities of given codim of a YaspGrid More...
 
class  YGrid
 implements a collection of YGridComponents which form a codimension Entities of given codimension c need to be represented by d choose c YgridComponents. All entities in one such component share the same set of spanning unit vectors. A YGrid is used to iterate over the entire set of components the codimension consists of. It doesnt hold any data, but instead holds an iterator range into an array of components (which is owned by YGridLevel). More...
 
class  YGridComponent
 
class  YGridList
 implements a collection of multiple std::deque<Intersection> Intersections with neighboring processors are stored as std::deque<Intersection>. Eachsuch intersection only holds one YGridComponent. To do all communication associated with one codimension, multiple such deques have to be concatenated. YGridList manges this concatenation. As for YGrids, YGridList doesnt hold any data, but an iterator range into a data array owned by YGridLevel. More...
 
class  YLoadBalance
 a base class for the yaspgrid partitioning strategy The name might be irritating. It will probably change to YaspPartitionerBase in a 3.0 release. More...
 
class  YLoadBalanceDefault
 Implement the default load balance strategy of yaspgrid. More...
 
class  YLoadBalancePowerD
 Implement yaspgrid load balance strategy for P=x^{dim} processors. More...
 

Typedefs

typedef unsigned int DebugLevel
 Type for debug levels. More...
 
typedef DebugStream< VERY_VERBOSE_DEBUG_LEVEL, MINIMAL_DEBUG_LEVEL > DVVerbType
 Type of very verbose debug stream. More...
 
typedef DebugStream< VERBOSE_DEBUG_LEVEL, MINIMAL_DEBUG_LEVEL > DVerbType
 Type of more verbose debug stream. More...
 
typedef DebugStream< INFO_DEBUG_LEVEL, MINIMAL_DEBUG_LEVEL > DInfoType
 Type of debug stream with info level. More...
 
typedef DebugStream< WARN_DEBUG_LEVEL, MINIMAL_DEBUG_LEVEL > DWarnType
 Type of debug stream with warn level. More...
 
typedef DebugStream< GRAVE_DEBUG_LEVEL, MINIMAL_DEBUG_LEVEL > DGraveType
 Type of debug stream for fatal errors.
 
typedef DebugStream< 1 > DErrType
 The type of the stream used for error messages.
 
typedef double sgrid_ctype
 

Enumerations

enum  { implementationDefined }
 
enum  ParallelIndexSetState { GROUND , RESIZE }
 The states the index set can be in. More...
 
enum  LocalIndexState
 The states avaiable for the local indices. More...
 
enum  ALUGridElementType
 basic element types for ALUGrid
 
enum  ALUGridRefinementType
 available refinement types for ALUGrid
 
enum  PartitionType {
  InteriorEntity =0 , BorderEntity =1 , OverlapEntity =2 , FrontEntity =3 ,
  GhostEntity =4
}
 Attributes used in the generic overlap model. More...
 
enum  InterfaceType {
  InteriorBorder_InteriorBorder_Interface =0 , InteriorBorder_All_Interface =1 , Overlap_OverlapFront_Interface =2 , Overlap_All_Interface =3 ,
  All_All_Interface =4
}
 Parameter to be used for the communication functions. More...
 
enum  PartitionIteratorType {
  Interior_Partition =0 , InteriorBorder_Partition =1 , Overlap_Partition =2 , OverlapFront_Partition =3 ,
  All_Partition =4 , Ghost_Partition =5
}
 Parameter to be used for the parallel level- and leaf iterators. More...
 
enum  CommunicationDirection { ForwardCommunication , BackwardCommunication }
 Define a type for communication direction parameter. More...
 
enum  GrapePartitionIteratorType
 the internal grape partition iterator types
 
enum  GrapeIteratorType
 the internal grape partition iterator types need to be these exact values to associate with combo button value.
 
enum  GrapeIOFileFormatType { ascii = 0 , xdr = 1 , pgm = 2 }
 

Functions

template<class T , size_t N>
std::ostream & operator<< (std::ostream &s, const array< T, N > &e)
 Output operator for array.
 
template<class T >
array< T, 10 > make_array (const T &t0, const T &t1, const T &t2, const T &t3, const T &t4, const T &t5, const T &t6, const T &t7, const T &t8, const T &t9)
 create an initialize an array More...
 
template<typename T , std::size_t n>
array< T, n > fill_array (const T &t)
 Create an array and fill it with copies of the provided value. More...
 
template<class T >
std::string className (T &t)
 Provide the demangled class name of a given object as a string.
 
template<class T >
std::string className ()
 Provide the demangled class name of a type T as a string.
 
template<typename MAT >
std::ostream & operator<< (std::ostream &s, const DenseMatrix< MAT > &a)
 Sends the matrix to an output stream.
 
template<class A , class B >
enable_if<!IsVector< A >::value &&!is_same< typenameFieldTraits< A >::field_type, typenameFieldTraits< A >::real_type >::value, typenamePromotionTraits< A, B >::PromotedType >::type dot (const A &a, const B &b)
 computes the dot product for fundamental data types according to Petsc's VectDot function: dot(a,b) := std::conj(a)*b More...
 
template<class A , class B >
enable_if<!IsVector< A >::value &&is_same< typenameFieldTraits< A >::field_type, typenameFieldTraits< A >::real_type >::value, typenamePromotionTraits< A, B >::PromotedType >::type dot (const A &a, const B &b)
 computes the dot product for fundamental data types according to Petsc's VectDot function: dot(a,b) := std::conj(a)*b More...
 
template<typename A , typename B >
enable_if< IsVector< A >::value, typenamePromotionTraits< typenameA::field_type, typenameB::field_type >::PromotedType >::type dot (const A &a, const B &b)
 computes the dot product for various dune vector types according to Petsc's VectDot function: dot(a,b) := std::conj(a)*b More...
 
template<class A , class B >
enable_if<!IsVector< A >::value &&!is_same< typenameFieldTraits< A >::field_type, typenameFieldTraits< A >::real_type >::value, typenamePromotionTraits< A, B >::PromotedType >::type dotT (const A &a, const B &b)
 Computes an indefinite vector dot product for fundamental data types according to Petsc's VectTDot function: dotT(a,b) := a*b. More...
 
template<class A , class B >
enable_if< IsVector< A >::value, typenamePromotionTraits< typenameA::field_type, typenameB::field_type >::PromotedType >::type dotT (const A &a, const B &b)
 Computes an indefinite vector dot product for various dune vector types according to Petsc's VectTDot function: dotT(a,b) := a*b. More...
 
template<class T , class K , int s>
fvector_assigner< T, s > operator<<= (FieldVector< T, s > &v, const K &t)
 fvector assignment operator More...
 
template<class T , int s>
fvector_assigner< T, s > operator<<= (FieldVector< T, s > &v, Zero z)
 fvector assignment operator More...
 
template<class T , class K , int n, int m>
fmatrix_assigner< T, n, m > operator<<= (FieldMatrix< T, n, m > &v, const K &t)
 FieldMatrix assignment operator. More...
 
template<class T , int n, int m>
fmatrix_assigner< T, n, m > operator<<= (FieldMatrix< T, n, m > &v, Zero z)
 FieldMatrix assignment operator. More...
 
template<typename T >
void hash_combine (std::size_t &seed, const T &arg)
 Calculates the hash value of arg and combines it in-place with seed. More...
 
template<typename It >
std::size_t hash_range (It first, It last)
 Hashes all elements in the range [first,last) and returns the combined hash. More...
 
template<typename It >
void hash_range (std::size_t &seed, It first, It last)
 Hashes all elements in the range [first,last) and combines the hashes in-place with seed. More...
 
std::ostream & operator<< (std::ostream &s, const Indent &indent)
 write indentation to a stream
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator== (const ForwardIteratorFacade< T1, V1, R1, D > &lhs, const ForwardIteratorFacade< T2, V2, R2, D > &rhs)
 Checks for equality. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator!= (const ForwardIteratorFacade< T1, V1, R1, D > &lhs, const ForwardIteratorFacade< T2, V2, R2, D > &rhs)
 Checks for inequality. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
enable_if< Conversion< T2, T1 >::exists, bool >::type operator== (const BidirectionalIteratorFacade< T1, V1, R1, D > &lhs, const BidirectionalIteratorFacade< T2, V2, R2, D > &rhs)
 Checks for equality. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
enable_if< Conversion< T1, T2 >::exists &&!Conversion< T2, T1 >::exists, bool >::type operator== (const BidirectionalIteratorFacade< T1, V1, R1, D > &lhs, const BidirectionalIteratorFacade< T2, V2, R2, D > &rhs)
 Checks for equality. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator!= (const BidirectionalIteratorFacade< T1, V1, R1, D > &lhs, const BidirectionalIteratorFacade< T2, V2, R2, D > &rhs)
 Checks for inequality. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator== (const RandomAccessIteratorFacade< T1, V1, R1, D > &lhs, const RandomAccessIteratorFacade< T2, V2, R2, D > &rhs)
 Checks for equality. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator!= (const RandomAccessIteratorFacade< T1, V1, R1, D > &lhs, const RandomAccessIteratorFacade< T2, V2, R2, D > &rhs)
 Checks for inequality. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator< (const RandomAccessIteratorFacade< T1, V1, R1, D > &lhs, const RandomAccessIteratorFacade< T2, V2, R2, D > &rhs)
 Comparison operator. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator<= (const RandomAccessIteratorFacade< T1, V1, R1, D > &lhs, const RandomAccessIteratorFacade< T2, V2, R2, D > &rhs)
 Comparison operator. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator> (const RandomAccessIteratorFacade< T1, V1, R1, D > &lhs, const RandomAccessIteratorFacade< T2, V2, R2, D > &rhs)
 Comparison operator. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, bool >::type operator>= (const RandomAccessIteratorFacade< T1, V1, R1, D > &lhs, const RandomAccessIteratorFacade< T2, V2, R2, D > &rhs)
 Comparison operator. More...
 
template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
EnableIfInterOperable< T1, T2, D >::type operator- (const RandomAccessIteratorFacade< T1, V1, R1, D > &lhs, const RandomAccessIteratorFacade< T2, V2, R2, D > &rhs)
 Calculates the difference between two pointers. More...
 
template<class K >
conjugateComplex (const K &x)
 compute conjugate complex of x
 
template<class T >
int sign (const T &val)
 Return the sign of the value.
 
template<class TG , class TL >
std::ostream & operator<< (std::ostream &os, const IndexPair< TG, TL > &pair)
 Print an index pair. More...
 
template<class TG , class TL , int N>
std::ostream & operator<< (std::ostream &os, const ParallelIndexSet< TG, TL, N > &indexSet)
 Print an index set. More...
 
template<typename T , typename A , typename A1 >
void storeGlobalIndicesOfRemoteIndices (std::map< int, SLList< std::pair< typename T::GlobalIndex, typename T::LocalIndex::Attribute >, A > > &globalMap, const RemoteIndices< T, A1 > &remoteIndices)
 Stores the corresponding global indices of the remote index information. More...
 
template<typename T , typename A , typename A1 >
void repairLocalIndexPointers (std::map< int, SLList< std::pair< typename T::GlobalIndex, typename T::LocalIndex::Attribute >, A > > &globalMap, RemoteIndices< T, A1 > &remoteIndices, const T &indexSet)
 Repair the pointers to the local indices in the remote indices. More...
 
template<class T >
std::ostream & operator<< (std::ostream &os, const ParallelLocalIndex< T > &index)
 Print the local index to a stream. More...
 
std::string concatPaths (const std::string &base, const std::string &p)
 concatenate two paths More...
 
std::string processPath (const std::string &p)
 sanitize a path for further processing More...
 
bool pathIndicatesDirectory (const std::string &p)
 check whether the given path indicates that it is a directory More...
 
std::string prettyPath (const std::string &p, bool isDirectory)
 pretty print path More...
 
std::string prettyPath (const std::string &p)
 pretty print path More...
 
std::string relativePath (const std::string &newbase, const std::string &p)
 compute a relative path between two paths More...
 
template<typename T >
pointer_or_proxy_holder handle_proxy_member_access (T &&t)
 Transparent support for providing member access to both lvalues and rvalues (temporary proxies). More...
 
template<typename T >
shared_ptr< T > stackobject_to_shared_ptr (T &t)
 Create a shared_ptr for a stack-allocated object. More...
 
template<typename T , typename T2 >
shared_ptr< T2 > stackobject_to_shared_ptr (T &t)
 Create a shared_ptr to a base class for a stack-allocated object. More...
 
void assertCallOnce (const char *file=nullptr, int line=-1, const char *function=nullptr)
 Make sure call_once() works and provide a helpful error message otherwise. More...
 
template<typename C >
bool hasPrefix (const C &c, const char *prefix)
 Check whether a character container has a given prefix. More...
 
template<typename C >
bool hasSuffix (const C &c, const char *suffix)
 Check whether a character container has a given suffix. More...
 
template<class... T>
static std::string formatString (const std::string &s, const T &... args)
 Format values according to printf format string. More...
 
template<typename T1 >
std::ostream & operator<< (std::ostream &os, const tuple< T1 > &t)
 Print a tuple.
 
template<typename T1 >
std::istream & operator>> (std::istream &is, tuple< T1 > &t)
 Read a tuple.
 
template<class K , class A >
std::ostream & operator<< (std::ostream &s, const BlockVector< K, A > &v)
 Send BlockVector to an output stream.
 
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 >)
 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 >)
 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 >)
 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 >)
 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 >)
 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 >)
 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 >)
 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 >)
 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 >)
 Backward SOR 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 >)
 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 >
void bilu_decomposition (const M &A, int n, M &ILU)
 
template<class V >
void recursive_printvector (std::ostream &s, const V &v, std::string rowtext, int &counter, int columns, int width, int precision)
 Recursively print all the blocks. More...
 
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)
 Recursively print all the blocks – specialization for FieldVector. More...
 
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)
 Print an ISTL vector. More...
 
void fill_row (std::ostream &s, int m, int width, int precision)
 Print a row of zeros for a non-existing block. More...
 
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. More...
 
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. More...
 
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> More...
 
template<class M >
void printmatrix (std::ostream &s, const M &A, std::string title, std::string rowtext, int width=10, int precision=2)
 Print a generic block matrix. More...
 
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. More...
 
template<class FieldType , int dim>
void writeMatrixToMatlabHelper (const ScaledIdentityMatrix< FieldType, dim > &matrix, int rowOffset, int colOffset, std::ostream &s)
 Helper method for the writeMatrixToMatlab routine. More...
 
template<class FieldType , int dim>
void writeMatrixToMatlabHelper (const DiagonalMatrix< FieldType, dim > &matrix, int rowOffset, int colOffset, std::ostream &s)
 Helper method for the writeMatrixToMatlab routine. More...
 
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. More...
 
template<class FieldType >
void writeMatrixToMatlabHelper (const DynamicMatrix< FieldType > &matrix, int rowOffset, int colOffset, std::ostream &s)
 Helper method for the writeMatrixToMatlab routine. More...
 
template<class MatrixType >
void writeMatrixToMatlabHelper (const MatrixType &matrix, int externalRowOffset, int externalColOffset, std::ostream &s)
 Helper method for the writeMatrixToMatlab routine. More...
 
template<class MatrixType >
void writeMatrixToMatlab (const MatrixType &matrix, const std::string &filename, int outputPrecision=18)
 Writes sparse matrix in a Matlab-readable format. More...
 
template<typename T , typename A , int entries>
void readMatrixMarket (Dune::BlockVector< Dune::FieldVector< T, entries >, A > &vector, std::istream &istr)
 Reads a BlockVector from a matrix market file. More...
 
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. More...
 
template<typename M >
void writeMatrixMarket (const M &matrix, std::ostream &ostr)
 writes a ISTL matrix or vector to a stream in matrix market format.
 
template<typename M >
void storeMatrixMarket (const M &matrix, std::string filename)
 Stores a parallel matrix/vector in matrix market format in a file. More...
 
template<typename M , typename G , typename L >
void storeMatrixMarket (const M &matrix, std::string filename, const OwnerOverlapCopyCommunication< G, L > &comm, bool storeIndices=true)
 Stores a parallel matrix/vector in matrix market format in a file. More...
 
template<typename M , typename G , typename L >
void loadMatrixMarket (M &matrix, const std::string &filename, OwnerOverlapCopyCommunication< G, L > &comm, bool readIndices=true)
 Load a parallel matrix/vector stored in matrix market format. More...
 
template<typename M >
void loadMatrixMarket (M &matrix, const std::string &filename)
 Load a matrix/vector stored in matrix market format. More...
 
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\)). More...
 
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\)). More...
 
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\)). More...
 
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. More...
 
template<class M >
int countNonZeros (const M &matrix)
 Get the number of nonzero fields in the matrix. More...
 
template<class G , class T1 , class T2 >
void fillIndexSetHoles (const G &graph, Dune::OwnerOverlapCopyCommunication< T1, T2 > &oocomm)
 Fills the holes in an index set. More...
 
template<class G , class T1 , class T2 >
bool graphRepartition (const G &graph, Dune::OwnerOverlapCopyCommunication< T1, T2 > &oocomm, idxtype nparts, Dune::OwnerOverlapCopyCommunication< T1, T2 > *&outcomm, RedistributeInterface &redistInf, bool verbose=false)
 execute a graph repartition for a giving graph and indexset. More...
 
template<class InIterator , class OutIterator >
void reduceOrder (const InIterator &inBegin, const InIterator &inEnd, OutIterator outIt)
 Algorithm to reduce vertex order information. More...
 
template<class TestGeometry >
bool checkGeometry (const TestGeometry &geometry)
 Static and dynamic checks for all features of a Geometry. More...
 
std::ostream & operator<< (std::ostream &s, const GeometryType &a)
 Prints the type to an output stream.
 
std::ostream & operator<< (std::ostream &s, GeometryType::BasicType type)
 Prints a GeometryType::BasicType to an output stream.
 
template<int dimension, class CoordType >
VirtualRefinement< dimension, CoordType > & buildRefinement (GeometryType geometryType, GeometryType coerceTo)
 return a reference to the VirtualRefinement according to the parameters More...
 
template<int cd, class GridImp >
std::ostream & operator<< (std ::ostream &out, const ALU2dGridEntitySeed< cd, GridImp > &key)
 print alugrid entity key to std::stream
 
template<int cd, class GridImp >
std::ostream & operator<< (std ::ostream &out, const ALU3dGridEntitySeed< cd, GridImp > &key)
 print alugrid entity key to std::stream
 
std::string PartitionName (PartitionType type)
 Provide names for the partition types. More...
 
std::ostream & operator<< (std::ostream &out, const PartitionType &type)
 write a PartitionType to a stream More...
 
std::ostream & operator<< (std::ostream &out, const InterfaceType &type)
 write an InterfaceType to a stream More...
 
std::ostream & operator<< (std::ostream &out, const PartitionIteratorType &type)
 write a PartitionIteratorType to a stream More...
 
template<class G >
void gridinfo (const G &grid, std::string prefix="")
 A function to print some information about the grid as a whole.
 
template<class G >
void gridlevellist (const G &grid, int level, std::string prefix)
 A function to print info about a grid level and its entities.
 
template<class G >
void gridleaflist (const G &grid, std::string prefix)
 A function to print info about a leaf grid and its entities.
 
template<typename GridType >
void printGrid (const GridType &grid, const Dune::MPIHelper &helper, std::string output_file="printgrid", int size=2000, bool execute_plot=true, bool png=true, bool local_corner_indices=true, bool local_intersection_indices=true, bool outer_normals=true)
 Print a grid as a gnuplot for testing and development. More...
 
template<typename T >
GrapeIOStringType typeIdentifier ()
 convert type to string
 
template<class GV >
void fillGridViewInfoSerial (const GV &gv, GridViewInfo< typename GV::ctype > &gridViewInfo)
 fill a GridViewInfo structure from a serial grid More...
 
template<int d, class CC >
std::ostream & operator<< (std::ostream &s, const YaspGrid< d, CC > &grid)
 Output operator for multigrids.
 
template<class CollectiveCommunication , int d>
std::ostream & operator<< (std::ostream &s, const Torus< CollectiveCommunication, d > &t)
 Output operator for Torus.
 
template<class Coordinates >
std::ostream & operator<< (std::ostream &s, YGridComponent< Coordinates > e)
 Output operator for ygrids.
 
template<class Coordinates >
std::ostream & operator<< (std::ostream &s, typename YGridComponent< Coordinates >::Iterator &e)
 Output operator for ygrids.
 
template<class Coordinates >
std::ostream & operator<< (std::ostream &s, const YGrid< Coordinates > &e)
 Output operator for ygrids.
 
template<class Tuple , class Functor >
ForEachType< Functor::templateTypeEvaluator, Tuple >::Type genericTransformTuple (Tuple &t, Functor &f)
 transform a tuple object into another tuple object More...
 
template<template< class > class TE, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 >
TransformTupleFunctor< TE, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9 > makeTransformTupleFunctor (A0 &a0, A1 &a1, A2 &a2, A3 &a3, A4 &a4, A5 &a5, A6 &a6, A7 &a7, A8 &a8, A9 &a9)
 syntactic sugar for creation of TransformTupleFunctor objects More...
 
template<template< class > class TypeEvaluator, class Tuple , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 >
remove_const< typenameForEachType< TypeEvaluator, Tuple >::Type >::type transformTuple (Tuple &orig, A0 &a0, A1 &a1, A2 &a2, A3 &a3, A4 &a4, A5 &a5, A6 &a6, A7 &a7, A8 &a8, A9 &a9)
 transform a tuple's value according to a user-supplied policy More...
 

Variables

DVVerbType dvverb (std::cout)
 stream for very verbose output. More...
 
DVerbType dverb (std::cout)
 Singleton of verbose debug stream. More...
 
DInfoType dinfo (std::cout)
 Stream for informative output. More...
 
DWarnType dwarn (std::cerr)
 Stream for warnings indicating problems. More...
 
DGraveType dgrave (std::cerr)
 Stream for warnings indicating fatal errors. More...
 
DErrType derr (std::cerr)
 Stream for error messages. More...
 
static const DebugLevel VERY_VERBOSE_DEBUG_LEVEL = 1
 The level of the very verbose debug stream. More...
 
static const DebugLevel VERBOSE_DEBUG_LEVEL = 2
 The level of the verbose debug stream. More...
 
static const DebugLevel INFO_DEBUG_LEVEL = 3
 The level of the informative debug stream. More...
 
static const DebugLevel WARN_DEBUG_LEVEL = 4
 The level of the debug stream for warnings. More...
 
static const DebugLevel GRAVE_DEBUG_LEVEL = 5
 The level of the debug stream for fatal errors. More...
 
const char base64table []
 endoing table
 

Detailed Description

Dune namespace.

Include standard header files.

Todo:
put vtk io intro here ...

details and examples regarding the VTK file format can be found here:

http://www.earthmodels.org/software/vtk-and-paraview/vtk-file-formats

include base class functionality for the communication interface include parallel capability

Typedef Documentation

◆ sgrid_ctype

typedef double Dune::sgrid_ctype

define name for floating point type used for coordinates in sgrid. You can change the type for coordinates by changing this single typedef.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
implementationDefined 

Dummy integral value used for documentation purposes.

Documentation related stuff.
See also
ImplementationDefined

◆ GrapeIOFileFormatType

Specify the format to store grid and vector data

Enumerator
ascii 

store data in a human readable form

xdr 

store data in SUN's library routines for external data representation (xdr)

Function Documentation

◆ assertCallOnce()

void Dune::assertCallOnce ( const char *  file = nullptr,
int  line = -1,
const char *  function = nullptr 
)
inline

Make sure call_once() works and provide a helpful error message otherwise.

For call_once() to work, certain versions of libstdc++ need to be linked with -pthread or similar flags. If that is not the case, call_once() will throw an exception. This function checks that call_once() can indeed be used, i.e. that it does not throw an exception when it should not, and that the code does indeed get executed. If call_once() cannot be used, assertCallOnce() aborts the program with a helpful error message.

The check is only actually executed the first time assertCallOnce() is called.

The arguments file and line specify the filename and line number that should appear in the error message. They are ignored if file is 0. The argument function specifies the name of the function to appear in the error message. It is ignored if function is 0.

◆ buildRefinement()

template<int dimension, class CoordType >
VirtualRefinement< dimension, CoordType > & Dune::buildRefinement ( GeometryType  geometryType,
GeometryType  coerceTo 
)

return a reference to the VirtualRefinement according to the parameters

Template Parameters
dimensionDimension of the element to refine
CoordTypeC++ type of the coordinates
Exceptions
NotImplementedThere is no Refinement implementation for the specified parameters.
Parameters
geometryTypegeometry type of the refined element
coerceTogeometry type of the subelements

References Dune::GeometryType::dim(), and Dune::GeometryType::id().

◆ checkGeometry()

template<class TestGeometry >
bool Dune::checkGeometry ( const TestGeometry &  geometry)

Static and dynamic checks for all features of a Geometry.

This excludes anything related to being part of a grid.

Template Parameters
TestGeometryThe type of the geometry to be tested
Parameters
geometryThe TestGeometry object to be tested
Returns
true if check passed

◆ dot() [1/2]

template<class A , class B >
enable_if<!IsVector< A >::value &&is_same< typenameFieldTraits< A >::field_type, typenameFieldTraits< A >::real_type >::value, typenamePromotionTraits< A, B >::PromotedType >::type Dune::dot ( const A &  a,
const B &  b 
)
inline

computes the dot product for fundamental data types according to Petsc's VectDot function: dot(a,b) := std::conj(a)*b

Specialization for real first arguments which replaces conj(a) by a.

See also
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecTDot.html#VecTDot
Parameters
a
b
Returns
a*b (which is the same as conj(a)*b in this case)

◆ dot() [2/2]

template<typename A , typename B >
enable_if< IsVector< A >::value, typenamePromotionTraits< typenameA::field_type, typenameB::field_type >::PromotedType >::type Dune::dot ( const A &  a,
const B &  b 
)
inline

computes the dot product for various dune vector types according to Petsc's VectDot function: dot(a,b) := std::conj(a)*b

Specialization for real first arguments which replaces conj(a) by a.

See also
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecTDot.html#VecTDot
Parameters
a
b
Returns
dot(a,b)

◆ dotT() [1/2]

template<class A , class B >
enable_if<!IsVector< A >::value &&!is_same< typenameFieldTraits< A >::field_type, typenameFieldTraits< A >::real_type >::value, typenamePromotionTraits< A, B >::PromotedType >::type Dune::dotT ( const A &  a,
const B &  b 
)
inline

Computes an indefinite vector dot product for fundamental data types according to Petsc's VectTDot function: dotT(a,b) := a*b.

See also
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecTDot.html#VecTDot
Parameters
a
b
Returns
a*b

◆ dotT() [2/2]

template<class A , class B >
enable_if< IsVector< A >::value, typenamePromotionTraits< typenameA::field_type, typenameB::field_type >::PromotedType >::type Dune::dotT ( const A &  a,
const B &  b 
)
inline

Computes an indefinite vector dot product for various dune vector types according to Petsc's VectTDot function: dotT(a,b) := a*b.

See also
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecTDot.html#VecTDot
Parameters
a
b
Returns
a*b

◆ fillGridViewInfoSerial()

template<class GV >
void Dune::fillGridViewInfoSerial ( const GV &  gv,
GridViewInfo< typename GV::ctype > &  gridViewInfo 
)

fill a GridViewInfo structure from a serial grid

If used on a parallel grid, it will gather information for entities of all partitions on each rank locally.

References Dune::GridViewInfo< ctype >::gridName, Dune::GridViewInfo< ctype >::gridViewName, Dune::GridViewInfo< ctype >::partitionName, Dune::EntityInfo< ctype >::volumeMax, Dune::EntityInfo< ctype >::volumeMin, and Dune::EntityInfo< ctype >::volumeSum.

◆ fillIndexSetHoles()

template<class G , class T1 , class T2 >
void Dune::fillIndexSetHoles ( const G &  graph,
Dune::OwnerOverlapCopyCommunication< T1, T2 > &  oocomm 
)

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
graphThe graph to reparition.
oocommThe communication information.

Referenced by graphRepartition().

◆ genericTransformTuple()

template<class Tuple , class Functor >
ForEachType< Functor::templateTypeEvaluator, Tuple >::Type Dune::genericTransformTuple ( Tuple &  t,
Functor &  f 
)

transform a tuple object into another tuple object

#include <dune/common/utility.hh>

This function does for the value of a tuple what ForEachType does for the type of a tuple: it transforms the value using a user-provided policy functor.

Parameters
tThe tuple value to transform.
fThe functor to use to transform the values.

The functor should have the following form:

struct Functor {
template<class> struct TypeEvaluator {
typedef user-defined Type;
};
template<class T>
typename TypeEvaluator<T>::Type operator()(T& val);
template<class T>
typename TypeEvaluator<T>::Type operator()(T& val) const;
template<class T>
typename TypeEvaluator<T>::Type operator()(const T& val);
template<class T>
typename TypeEvaluator<T>::Type operator()(const T& val) const;
};

The member class template TypeEvaluator should be a class template suitable as the TypeEvaluator template parameter for ForEachType. The function call operator operator() is used to transform the value; only the signatures of operator() which are actually used must be present.

There are overloaded definitions of genericTransformTuple() wich take constant tuple and functor arguments so rvalues are permissible as arguments here. These overloaded definitions are not documented separately.

Referenced by transformTuple().

◆ graphRepartition()

template<class G , class T1 , class T2 >
bool Dune::graphRepartition ( const G &  graph,
Dune::OwnerOverlapCopyCommunication< T1, T2 > &  oocomm,
idxtype  nparts,
Dune::OwnerOverlapCopyCommunication< T1, T2 > *&  outcomm,
RedistributeInterface &  redistInf,
bool  verbose = false 
)

execute a graph repartition for a giving graph and indexset.

This function provides repartition functionality using the PARMETIS library

Parameters
graphThe given graph to repartition
oocommThe parallel information about the graph.
npartsThe number of domains the repartitioning should achieve.
[out]outcommPointer store the parallel information of the redistributed domains in.
redistInfRedistribute interface
verboseVerbosity flag to give out additional information.

References Dune::CollectiveCommunication< MPI_Comm >::barrier(), Dune::ParallelIndexSet< TG, TL, N >::begin(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::copyCopyToAll(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::copyOwnerToAll(), Dune::Timer::elapsed(), Dune::ParallelIndexSet< TG, TL, N >::end(), fillIndexSetHoles(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::getSolverCategory(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::indexSet(), Dune::SolverCategory::nonoverlapping, Dune::CollectiveCommunication< MPI_Comm >::rank(), Dune::Timer::reset(), Dune::ParallelIndexSet< TG, TL, N >::size(), and Dune::CollectiveCommunication< MPI_Comm >::size().

◆ handle_proxy_member_access()

template<typename T >
pointer_or_proxy_holder Dune::handle_proxy_member_access ( T &&  t)

Transparent support for providing member access to both lvalues and rvalues (temporary proxies).

If an iterator facade (like entity iterators) wants to allow the embedded implementation to return either an (internally stored) reference or a temporary object and expose these two behaviors to enable performance optimizations, operator->() needs special handling: If the implementation returns a reference, operator->() in the facade can simply return the address of the referenced object, but if the returned object is a temporary, we need to capture and store it in a helper object to make sure it outlives the member access. This function transparently supports both variants. It should be used like this:

class iterator
{
...
decltype(handle_proxy_member_access(implementation.dereference()))
operator->() const
{
return handle_proxy_member_access(implementation.dereference());
}
...
};
pointer_or_proxy_holder handle_proxy_member_access(T &&t)
Transparent support for providing member access to both lvalues and rvalues (temporary proxies).
Note
This function exploits the special type deduction rules for unqualified rvalue references to distinguish between lvalues and rvalues and thus needs to be passed the object returned by the implementation.

◆ hash_combine()

template<typename T >
void Dune::hash_combine ( std::size_t &  seed,
const T &  arg 
)
inline

Calculates the hash value of arg and combines it in-place with seed.

Note
This function is only available if the macro HAVE_DUNE_HASH is defined.
Parameters
seedThe hash value that will be combined with the hash of arg.
argThe object for which to calculate a hash value and combine it with seed.

Referenced by hash_range().

◆ hash_range() [1/2]

template<typename It >
std::size_t Dune::hash_range ( It  first,
It  last 
)
inline

Hashes all elements in the range [first,last) and returns the combined hash.

Note
This function is only available if the macro HAVE_DUNE_HASH is defined.
Parameters
firstIterator pointing to the first object to hash.
lastIterator pointing one past the last object to hash.
Returns
The result of hashing all objects in the range and combining them using hash_combine() in sequential fashion, starting with seed 0.

References hash_combine().

◆ hash_range() [2/2]

template<typename It >
void Dune::hash_range ( std::size_t &  seed,
It  first,
It  last 
)
inline

Hashes all elements in the range [first,last) and combines the hashes in-place with seed.

Note
This function is only available if the macro HAVE_DUNE_HASH is defined.
Parameters
seedStart value that will be combined with the hash values of all objects in the range using hash_combine() in sequential fashion.
firstIterator pointing to the first ojbect to hash.
lastIterator pointing one past the last object to hash.

References hash_combine().

◆ makeTransformTupleFunctor()

template<template< class > class TE, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 >
TransformTupleFunctor< TE, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9 > Dune::makeTransformTupleFunctor ( A0 &  a0,
A1 &  a1,
A2 &  a2,
A3 &  a3,
A4 &  a4,
A5 &  a5,
A6 &  a6,
A7 &  a7,
A8 &  a8,
A9 &  a9 
)

syntactic sugar for creation of TransformTupleFunctor objects

#include <dune/common/utility.hh>
Template Parameters
TETypeEvaluator class template.
A0Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A1Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A2Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A3Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A4Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A5Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A6Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A7Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A8Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
A9Type of extra arguments to pass to TE<T>::apply(). It should not be necessary to specify these template parameters explicitly since they can be deduced.
Parameters
a0Arguments to save references to in the TransformTupleFunctor.
a1Arguments to save references to in the TransformTupleFunctor.
a2Arguments to save references to in the TransformTupleFunctor.
a3Arguments to save references to in the TransformTupleFunctor.
a4Arguments to save references to in the TransformTupleFunctor.
a5Arguments to save references to in the TransformTupleFunctor.
a6Arguments to save references to in the TransformTupleFunctor.
a7Arguments to save references to in the TransformTupleFunctor.
a8Arguments to save references to in the TransformTupleFunctor.
a9Arguments to save references to in the TransformTupleFunctor.

There are overloads of this function (not documented separately) for any number of arguments, up to an implementation-defined arbitrary limit. The number of arguments given determines the number of non-void template arguments in the type of the returned TransformTupleFunctor.

◆ operator==()

template<class T1 , class V1 , class R1 , class D , class T2 , class V2 , class R2 >
enable_if< Conversion< T1, T2 >::exists &&!Conversion< T2, T1 >::exists, bool >::type Dune::operator== ( const BidirectionalIteratorFacade< T1, V1, R1, D > &  lhs,
const BidirectionalIteratorFacade< T2, V2, R2, D > &  rhs 
)
inline

Checks for equality.

This operation is only defined if either T1 is convertible to T2, and T2 is not convetible to T1. Otherwise the operator is removed from the overload set since the enable_if for the return type yield an invalid type expression.

◆ printGrid()

template<typename GridType >
void Dune::printGrid ( const GridType &  grid,
const Dune::MPIHelper helper,
std::string  output_file = "printgrid",
int  size = 2000,
bool  execute_plot = true,
bool  png = true,
bool  local_corner_indices = true,
bool  local_intersection_indices = true,
bool  outer_normals = true 
)

Print a grid as a gnuplot for testing and development.

Template Parameters
GridTypethe type of grid to work with
Parameters
gridthe grid to print
helperan MPIHelper to create unique output file names in parallel case
output_filethe base of the output filename
sizesize of the plot in pixels; increase if plot is too cramped
execute_plotwhether to execute gnuplot automatically
pngwhether to use PNG or SVG as the output format
local_corner_indiceswhether to show local corner indices
local_intersection_indiceswhether to show local intersection indices
outer_normalswhether to show outer normals of intersections Creates a gnuplot (one per process if parallel) showing the grid structure with indices, intersection types etc.

◆ redistributeMatrix()

template<typename M , typename C >
void Dune::redistributeMatrix ( M &  origMatrix,
M &  newMatrix,
C &  origComm,
C &  newComm,
RedistributeInformation< C > &  ri 
)

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
origMatrixThe matrix on the original partitioning.
newMatrixAn empty matrix to store the new redistributed matrix in.
origCommThe parallel information of the original partitioning.
newCommThe parallel information of the new partitioning.
riThe 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
MThe matrix type. It is assumed to be sparse. E.g. BCRSMatrix.
CThe type of the parallel information, see OwnerOverlapCopyCommunication.

◆ reduceOrder()

template<class InIterator , class OutIterator >
void Dune::reduceOrder ( const InIterator &  inBegin,
const InIterator &  inEnd,
OutIterator  outIt 
)

Algorithm to reduce vertex order information.

#include <dune/geometry/generalvertexorder.hh>
Parameters
inBeginStart of the range of ids to reduce.
inEndEnd of the range of ids to reduce.
outItStart of the sequence where to store the result.

inBegin and inEnd must be ForwardIterators; their value_type may constant. outIt must be an OutputIterator and must allow std::distance(inBegin,inEnd) increments. Complexity is quadratic.

See also
GeneralVertexOrder, VertexOrderByIdFactory

Referenced by Dune::GeneralVertexOrder< dim, Index_ >::getReduced(), and testElementDim().

◆ stackobject_to_shared_ptr() [1/2]

template<typename T >
shared_ptr< T > stackobject_to_shared_ptr ( T &  t)
inline

Create a shared_ptr for a stack-allocated object.

This file implements the class shared_ptr (a reference counting pointer), for those systems that don'...

Usage:

int i = 10;
shared_ptr<int> pi = stackobject_to_shared_ptr(i);
shared_ptr< T > stackobject_to_shared_ptr(T &t)
Create a shared_ptr for a stack-allocated object.
Definition: shared_ptr.hh:76

The shared_ptr points to the object on the stack, but its deleter is set to an instance of null_deleter so that nothing happens when the shared_ptr is destroyed.

See also
shared_ptr, null_deleter

◆ stackobject_to_shared_ptr() [2/2]

template<typename T , typename T2 >
shared_ptr< T2 > stackobject_to_shared_ptr ( T &  t)
inline

Create a shared_ptr to a base class for a stack-allocated object.

Usage:

class A {};
class B : public A {};
...
B b;
shared_ptr<A> pa = stackobject_to_shared_ptr<A>(b);

The shared_ptr points to the object on the stack, but its deleter is set to an instance of null_deleter so that nothing happens when the shared_ptr is destroyed.

See also
shared_ptr, null_deleter

◆ transformTuple()

template<template< class > class TypeEvaluator, class Tuple , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 >
remove_const< typenameForEachType< TypeEvaluator, Tuple >::Type >::type Dune::transformTuple ( Tuple &  orig,
A0 &  a0,
A1 &  a1,
A2 &  a2,
A3 &  a3,
A4 &  a4,
A5 &  a5,
A6 &  a6,
A7 &  a7,
A8 &  a8,
A9 &  a9 
)

transform a tuple's value according to a user-supplied policy

#include <dune/common/utility.hh>

This function provides functionality similar to genericTransformTuple(), although less general and closer in spirit to ForEachType.

Template Parameters
TypeEvaluatorUsed as the TE template argument to TransformTupleFunctor internally.
TupleType of the tuple to transform.
A0Types of extra argument to call the transformation function with.
A1Types of extra argument to call the transformation function with.
A2Types of extra argument to call the transformation function with.
A3Types of extra argument to call the transformation function with.
A4Types of extra argument to call the transformation function with.
A5Types of extra argument to call the transformation function with.
A6Types of extra argument to call the transformation function with.
A7Types of extra argument to call the transformation function with.
A8Types of extra argument to call the transformation function with.
A9Types of extra argument to call the transformation function with.
Note
The Tuple and An template arguments can be deduced from the function arguments, so they can usually be omitted.
Parameters
origTuple value to be transformed.
a0Extra argument values to provide to the transformation function.
a1Extra argument values to provide to the transformation function.
a2Extra argument values to provide to the transformation function.
a3Extra argument values to provide to the transformation function.
a4Extra argument values to provide to the transformation function.
a5Extra argument values to provide to the transformation function.
a6Extra argument values to provide to the transformation function.
a7Extra argument values to provide to the transformation function.
a8Extra argument values to provide to the transformation function.
a9Extra argument values to provide to the transformation function.

This function is overloaded for any number of extra arguments, up to an implementation-defined arbitrary limit. The overloads are not documented separately.

The TypeEvaluator class template should be suitable as the TE template argument for TransformTupleFunctor. It has the following form (an extension of the TypeEvaluator template argument of ForEachType):

template <class T>
struct TypeEvaluator {
typedef UserDefined Type;
template<class A0, class A1, class A2, class A3, class A4, class A5,
class A6, class A7, class A8, class A9>
static Type apply(T& t, A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5,
A6& a6, A7& a7, A8& a8, A9& a9);
};

For any given element type T of the tuple, the TypeEvaluator template class should provide a member typedef Type which determines the type of the transformed value and a static function apply(), taking the value of the tuple element t and the extra arguments given to transformTuple(). The signature of apply() does not have to match the one given above exactly, as long as it can be called that way.

Note
Since transformTuple() takes non-const references to the extra arguments, it will only bind to lvalue extra arguments, unless you specify the corresponding template parameter as const SomeType. Specifically this means that you cannot simply use literals or function return values as extra arguments. Providing overloads for all possible combinations of rvalue and lvalue extra arguments would result in \(2^{n+1}-1\) overloads where \(n\) is the implementation defined limit in the number of extra arguments.
See also
genericTransforTuple(), ForEachType, AddRefTypeEvaluator, and AddPtrTypeEvaluator.

References genericTransformTuple().

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:30, 2024)