DUNE PDELab (git)
Namespaces | |
namespace | Capabilities |
Contains all capabilities classes. | |
namespace | Concept |
Namespace for concepts. | |
namespace | FloatCmp |
namespace | GeoGrid |
namespace containing the implementations of GeometryGrid | |
namespace | GeometryTypes |
Predefined GeometryTypes for common geometries. | |
namespace | Indices |
Namespace with predefined compile time indices for the range [0,19]. | |
namespace | MathOverloads |
namespace for customization of math functions with Dune-Semantics | |
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. | |
namespace | Simd |
Namespace for vectorization interface functions used by library developers. | |
namespace | Std |
Namespace for features backported from new C++ standards. | |
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 | 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... | |
class | AlignedAllocator |
Allocators which guarantee alignment of the memory. More... | |
struct | AlignedBase |
CRTP base mixin class to check alignment. More... | |
class | AllSet |
A set containing everything. More... | |
struct | AlwaysFalse |
template which always yields a false value More... | |
struct | AlwaysTrue |
template which always yields a true value 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 | ArithmeticTestSuite |
Test suite for arithmetic types. More... | |
class | ArPackPlusPlus_Algorithms |
Wrapper to use a range of ARPACK++ eigenvalue solvers. 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... | |
struct | AutonomousValueType |
Type free of internal references that T can be converted to. More... | |
struct | AutonomousValueType< const T > |
Specialization to remove const qualifiers. More... | |
struct | AutonomousValueType< Simd::VcImpl::Proxy< V > > |
Specialization of AutonomousValue for Vc proxies. More... | |
struct | AutonomousValueType< std::vector< bool >::reference > |
Specialization for the proxies of vector<bool> More... | |
struct | AutonomousValueType< T & > |
Specialization to remove lvalue references. More... | |
struct | AutonomousValueType< T && > |
Specialization to remove rvalue references. More... | |
struct | AutonomousValueType< volatile const T > |
Specialization to remove both const and volatile qualifiers. More... | |
struct | AutonomousValueType< volatile T > |
Specialization to remove volatile qualifiers. More... | |
class | AxisAlignedCubeGeometry |
A geometry implementation for axis-aligned hypercubes. More... | |
struct | b64chunk |
struct representing the three byte text as well as the four 6 bit chunks More... | |
class | BackupRestoreFacility |
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 | BasisInterface |
Interface for global-valued shape functions. More... | |
struct | BasisInterfaceSwitch |
Switch for uniform treatment of local and global basis classes. More... | |
class | BCRSMatrix |
A sparse block matrix with compressed row storage. More... | |
class | BCRSMatrixError |
Error specific to BCRSMatrix. More... | |
class | BDFMCubeLocalBasis |
Brezzi-Douglas-Fortin-Marini shape functions on a reference cube. More... | |
class | BDFMCubeLocalBasis< D, R, 2, 1 > |
First order Brezzi-Douglas-Fortin-Marini shape functions on the reference quadrialteral. More... | |
class | BDFMCubeLocalBasis< D, R, 2, 2 > |
Second order Brezzi-Douglas-Fortin-Marini shape functions on the reference quadrialteral. More... | |
class | BDFMCubeLocalBasis< D, R, 2, 3 > |
Third order Brezzi-Douglas-Fortin-Marini shape functions on the reference quadrialteral. More... | |
class | BDFMCubeLocalCoefficients |
Layout map for Brezzi-Douglas-Fortin-Marini elements on cubes. More... | |
class | BDFMCubeLocalFiniteElement |
Brezzi-Douglas-Fortin-Marini finite elements for cubes. More... | |
class | BDFMCubeLocalInterpolation |
Interpolation for Brezzi-Douglas-Fortin-Marini shape functions on cubes. More... | |
class | BDM1Cube2DLocalBasis |
First order Brezzi-Douglas-Marini shape functions on the reference quadrilateral. More... | |
class | BDM1Cube2DLocalCoefficients |
Layout map for Brezzi-Douglas-Marini-1 elements on quadrilaterals. More... | |
class | BDM1Cube2DLocalFiniteElement |
First order Brezzi-Douglas-Marini shape functions on quadrilaterals. More... | |
class | BDM1Cube2DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on the reference quadrilateral. More... | |
class | BDM1Cube3DLocalBasis |
First order Brezzi-Douglas-Marini shape functions on the reference hexahedron. More... | |
class | BDM1Cube3DLocalCoefficients |
Layout map for Brezzi-Douglas-Marini-1 elements on hexahedra. More... | |
class | BDM1Cube3DLocalFiniteElement |
First order Brezzi-Douglas-Marini shape functions on hexahedron. More... | |
class | BDM1Cube3DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on the reference hexahedron. More... | |
class | BDM1Simplex2DLocalBasis |
First order Brezzi-Douglas-Marini shape functions on the reference triangle. More... | |
class | BDM1Simplex2DLocalCoefficients |
Layout map for Brezzi-Douglas-Marini-1 elements on triangles. More... | |
class | BDM1Simplex2DLocalFiniteElement |
First order Brezzi-Douglas-Marini shape functions on triangles. More... | |
class | BDM1Simplex2DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on the reference triangle. More... | |
class | BDM2Cube2DLocalBasis |
First order Brezzi-Douglas-Marini shape functions on quadrilaterals. More... | |
class | BDM2Cube2DLocalCoefficients |
Layout map for Brezzi-Douglas-Marini-2 elements on quadrilaterals. More... | |
class | BDM2Cube2DLocalFiniteElement |
Second order Brezzi-Douglas-Marini shape functions on quadrilaterals. More... | |
class | BDM2Cube2DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on quadrilaterals. More... | |
class | BDM2Simplex2DLocalBasis |
First order Brezzi-Douglas-Marini shape functions on quadrilaterals. More... | |
class | BDM2Simplex2DLocalCoefficients |
Layout map for Brezzi-Douglas-Marini-2 elements on triangles. More... | |
class | BDM2Simplex2DLocalFiniteElement |
Second order Brezzi-Douglas-Marini shape functions on triangles. More... | |
class | BDM2Simplex2DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on triangles. 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 | 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 | BlockPreconditioner |
Block parallel preconditioner. More... | |
class | BlockVector |
A vector of blocks with memory management. More... | |
struct | BoundarySegment |
Base class for classes implementing geometries of boundary segments. More... | |
class | BoundarySegmentWrapper |
class | BrezziDouglasMariniCubeLocalFiniteElement |
Brezzi-Douglas-Marini local finite element for cubes. More... | |
class | BrezziDouglasMariniCubeLocalFiniteElement< D, R, 2, 1 > |
Brezzi-Douglas-Marini local finite elements for cubes with dimension 2 and order 1. More... | |
class | BrezziDouglasMariniCubeLocalFiniteElement< D, R, 2, 2 > |
Brezzi-Douglas-Marini local finite elements for cubes with dimension 2 and order 2. More... | |
class | BrezziDouglasMariniCubeLocalFiniteElement< D, R, 3, 1 > |
Brezzi-Douglas-Marini local finite elements for cubes with dimension 3 and order 1. More... | |
class | BrezziDouglasMariniSimplexLocalFiniteElement |
Brezzi-Douglas-Marini local finite element for simplices. More... | |
class | BrezziDouglasMariniSimplexLocalFiniteElement< D, R, 2, 1 > |
Brezzi-Douglas-Marini local finite elements for simplices with dimension 2 and order 1. More... | |
class | BrezziDouglasMariniSimplexLocalFiniteElement< D, R, 2, 2 > |
Brezzi-Douglas-Marini local finite elements for simplices with dimension 2 and order 2. More... | |
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... | |
class | Cholmod |
Dune wrapper for SuiteSparse/CHOLMOD solver. More... | |
struct | Cloneable |
An interface class for cloneable objects. More... | |
struct | Codim |
Static tag representing a codimension. More... | |
struct | CoefficientsInterface |
Interface for global-valued coefficients. More... | |
class | CollectiveIterator |
A collective iterator for moving over the remote indices for all processes collectively. More... | |
class | CollectorStream |
Data collector stream. More... | |
class | Combine |
A set combining two other sets. More... | |
class | CombinedAdaptProlongRestrict |
class for combining 2 index sets together for adaptation process 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 interpret 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 | Communication |
Collective communication interface and sequential default implementation. More... | |
class | Communication< MPI_Comm > |
Specialization of Communication for MPI. More... | |
class | CompleteFCGSolver |
Complete flexible conjugate gradient method. More... | |
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 > > |
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 | CopyableOptional |
A copyable type wrapper that provides copy/move assignment operations for types that are only copy/move constructible. More... | |
class | CrouzeixRaviartLocalFiniteElement |
Crouzeix-Raviart finite element. 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... | |
struct | DefaultSVGMatrixOptions |
Default options class to write SVG matrices. 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... | |
class | DGFGridFactory< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > > |
Placeholder for grid factory for YaspGrid with tensor product coordinates. More... | |
struct | DGFGridFactory< YaspGrid< dim, EquidistantCoordinates< ctype, dim > > > |
Grid factory for YaspGrid with equidistant coordinates. More... | |
struct | DGFGridFactory< YaspGrid< dim, EquidistantOffsetCoordinates< ctype, 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 | DGLocalCoefficients |
A class providing local coefficients for dg spaces. More... | |
struct | DGLocalCoefficientsFactory |
A factory class for the dg local coefficients. More... | |
struct | DGLocalFiniteElement |
Takes the basis and interpolation factory from a given LocalFiniteElement (derived from GenericLocalFiniteElement) and replaces the coefficients with dg local keys, i.e., attaches all degrees of freedom to the codimension zero entity. More... | |
class | DiagonalMatrix |
A diagonal matrix of static size. More... | |
struct | Dim |
Static tag representing a dimension. More... | |
struct | DimSpecificPQkLocalFiniteElementFactory |
Factory that only creates dimension specific local finite elements. More... | |
struct | DimSpecificPQkLocalFiniteElementFactory< D, R, 3, k > |
Factory that only creates dimension specific local finite elements. 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... | |
class | DualP1LocalBasis |
Dual Lagrange shape functions on the simplex. More... | |
class | DualP1LocalCoefficients |
Local coefficients for dual simplex P1 elements. More... | |
class | DualP1LocalFiniteElement |
The local dual p1 finite element on simplices. More... | |
class | DualQ1LocalBasis |
Dual Lagrange shape functions of order 1 on the reference cube. More... | |
class | DualQ1LocalCoefficients |
Layout map for dual Q1 elements. More... | |
class | DualQ1LocalFiniteElement |
The local dual Q1 finite element on cubes. More... | |
class | DualQ1LocalInterpolation |
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 | DynamicLagrangeLocalFiniteElementCache |
A cache that stores Lagrange finite elements for the given dimension and order. 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 | EdgeS0_5Basis |
Basis for order 0.5 (lowest order) edge elements on simplices. More... | |
class | EdgeS0_5Coefficients |
Coefficients for lowest order edge elements on simplices. More... | |
struct | EdgeS0_5Common |
Common base class for edge elements. More... | |
class | EdgeS0_5FiniteElement |
FiniteElement for lowest order edge elements on simplices. More... | |
struct | EdgeS0_5FiniteElementFactory |
Factory for EdgeS0_5FiniteElement objects. More... | |
class | EdgeS0_5Interpolation |
Interpolation for lowest order edge elements on simplices. More... | |
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 | 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... | |
struct | Factorial |
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 | FiniteElementFactoryInterface |
Factory interface for global-valued finite elements. More... | |
class | FiniteElementInterface |
Interface for global-valued finite elements. More... | |
struct | FiniteElementInterfaceSwitch |
Switch for uniform treatment of finite element with either the local or the global interface. More... | |
class | FirstPredicateIndex |
Finding the index of a certain type in a std::tuple. More... | |
struct | FirstTypeIndex |
Find the first occurrence of a type in a std::tuple. More... | |
struct | FlattenTuple |
Flatten a std::tuple of std::tuple's. More... | |
class | FloatCmpOps |
Class encapsulating a default epsilon. More... | |
class | FMatrixError |
Error thrown if operations of a FieldMatrix fail. More... | |
class | FMatrixPrecision |
Precisions for calculations with FieldMatrix and FieldVector. More... | |
struct | ForEachType |
Helper template to clone the type definition of a std::tuple with the storage types replaced by a user-defined rule. More... | |
class | ForwardIteratorFacade |
Base class for stl conformant forward iterators. More... | |
class | Future |
Type-erasure for future-like objects. A future-like object is a object satisfying the interface of FutureBase. 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... | |
struct | GenericLocalFiniteElement |
A LocalFiniteElement implementation based on three TopologyFactories providing the LocalBasis, LocalCoefficients, and LocalInterpolations. Note the key type for all three factories must coincide. 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 | GMPField |
Number class for high precision floating point number using the GMP library mpf_class implementation. 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... | |
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 | 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 | HasNaN |
Whether this type has a value of NaN. More... | |
class | HelpRequest |
exception thrown if the user wants to see help string More... | |
class | HierarchicalP2LocalFiniteElement |
class | HierarchicalP2WithElementBubbleLocalFiniteElement |
Linear Lagrange functions enriched with quadratic edge bubble functions and an element bubble function. More... | |
class | HierarchicalPrismP2LocalFiniteElement |
class | HierarchicalPrismP2LocalInterpolation |
class | HierarchicalSimplexP2LocalBasis< D, R, 1 > |
Hierarchical P2 basis in 1d. More... | |
class | HierarchicalSimplexP2LocalBasis< D, R, 2 > |
Hierarchical P2 basis in 2d. More... | |
class | HierarchicalSimplexP2LocalBasis< D, R, 3 > |
Hierarchical P2 basis in 3d. More... | |
class | HierarchicalSimplexP2LocalInterpolation |
class | HierarchicalSimplexP2WithElementBubbleLocalBasis |
P1 basis in dim-d enriched by quadratic edge bubble functions and an element bubble function of order dim+1. More... | |
class | HierarchicalSimplexP2WithElementBubbleLocalCoefficients |
The local keys of the hierarchical basis functions with element bubble. 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 | 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 | 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 | ImplicitModeCompressionBufferExhausted |
Thrown when the compression buffer used by the implicit BCRSMatrix construction is exhausted. More... | |
class | Indent |
Utility class for handling nested indentation in output. More... | |
class | IndexedIterator |
An iterator mixin that adds an index() method returning an enumeration index for the traversal. 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... | |
struct | IntegerSequenceEntry |
Get entry of std::integer_sequence. More... | |
class | IntegralRange |
dynamic integer range for use in range-based for loops 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... | |
struct | InterpolationInterface |
Interface for global-valued interpolation. More... | |
class | Intersection |
Intersection of a mesh entity of codimension 0 ("element") 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 | InvalidFutureException |
This exception is thrown when ready() , wait() or get() is called on an invalid future. A future is valid until get() is called and if it is not default-constructed and it was not moved from. 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 | IsCallable |
Check if a type is callable with ()-operator and given arguments. More... | |
struct | IsCallable< F(Args...), R > |
Check if a type is callable with ()-operator and given arguments. More... | |
struct | IsCompileTimeConstant |
Check if T is an integral constant or any type derived from std::integral_constant . More... | |
struct | IsEmptyTypeList |
Check if given type is an empty TypeList. More... | |
struct | IsFieldVectorSizeCorrect |
TMP to check the size of a DenseVectors statically, if possible. More... | |
struct | IsIndexable |
Type trait to determine whether an instance of T has an operator[](I), i.e. whether it can be indexed with an index of type I. More... | |
struct | IsIntegralConstant |
Check if T is an std::integral_constant<I, i> More... | |
struct | IsInteroperable |
Checks whether two types are interoperable. More... | |
struct | IsIterable |
typetrait to check that a class has begin() and end() members More... | |
struct | IsMatrix |
Test whether a type is an ISTL Matrix. More... | |
struct | IsNumber |
Whether this type acts as a scalar in the context of (hierarchically blocked) containers. More... | |
struct | IsNumber< bigunsignedint< k > > |
Declare big unsigned int is a number. More... | |
class | ISTLError |
derive error class from the base class in common More... | |
struct | IsTuple |
Check if T is a std::tuple<...> More... | |
struct | IsTupleOrDerived |
Check if T derived from a std::tuple<...> More... | |
struct | IsType |
Generator for predicates accepting one particular type. More... | |
struct | IsTypeList |
Check if given type is a TypeList. More... | |
struct | IsTypeList< TypeList< T... > > |
Check if given type is a TypeList. More... | |
class | IterativeSolver |
Base class for all implementations of iterative solvers. More... | |
struct | IteratorDirectionSelector |
Helper template meta program for application of overlapping Schwarz. More... | |
class | IteratorFacade |
CRTP-Mixing class for stl conformant iterators of given iterator category. More... | |
struct | IteratorFacadeAccess |
This class encapsulates access of IteratorFacade. 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 | IteratorTransformationTag |
Tag to enable iterator based transformations in TransformedRangeView. More... | |
struct | JoinTuples |
Join two std::tuple's. More... | |
struct | L2LocalFiniteElement |
Takes the basis factory from a given LocalFiniteElement (derived from GenericLocalFiniteElement) and replaces the coefficients with dg local keys, i.e., attaches all degrees of freedom to the codimension zero entity and uses a l2 interpolation. More... | |
class | LagrangeCubeLocalFiniteElement |
Lagrange finite element for cubes with arbitrary compile-time dimension and polynomial order. More... | |
class | LagrangeLocalFiniteElement |
Lagrange local finite elements for a given set of interpolation points. More... | |
class | LagrangePrismLocalFiniteElement |
Lagrange finite element for 3d prisms with arbitrary compile-time polynomial order. More... | |
class | LagrangePyramidLocalFiniteElement |
Lagrange finite element for 3d pyramids with compile-time polynomial order. More... | |
class | LagrangeSimplexLocalFiniteElement |
Lagrange finite element for simplices with arbitrary compile-time dimension and polynomial order. More... | |
class | LDL |
Use the LDL package to directly solve linear systems – empty default class. More... | |
class | LDL< BCRSMatrix< FieldMatrix< T, n, m >, A > > |
The LDL direct sparse solver for matrices of type BCRSMatrix. More... | |
class | LeafGnuplotWriter |
GnuplotWriter on the leaf grid. More... | |
class | LevelGnuplotWriter |
GnuplotWriter on a given level grid. More... | |
class | LinearOperator |
A linear operator. More... | |
struct | LocalBasisTraits |
Type traits for LocalBasisVirtualInterface. More... | |
class | LocalBasisVirtualImp |
class for wrapping a basis using the virtual interface More... | |
class | LocalBasisVirtualInterface |
virtual base class for a local basis More... | |
class | LocalCoefficientsVirtualImp |
class for wrapping local coefficients using the virtual interface More... | |
class | LocalCoefficientsVirtualInterface |
virtual base class for local coefficients More... | |
class | LocalFiniteElementGeometry |
Geometry implementation based on local-basis function parametrization. More... | |
struct | LocalFiniteElementTraits |
traits helper struct More... | |
class | LocalFiniteElementVariant |
Type erasure class for wrapping LocalFiniteElement classes. More... | |
class | LocalFiniteElementVariantCache |
A cache storing a compile time selection of local finite element implementations. More... | |
class | LocalFiniteElementVirtualImp |
class for wrapping a finite element using the virtual interface More... | |
class | LocalFiniteElementVirtualInterface |
virtual base class for local finite elements with functions More... | |
class | LocalGeometryTypeIndex |
Compute per-dimension indices for geometry types. More... | |
class | LocalIndex |
An index present on the local process. More... | |
class | LocalInterpolationVirtualImp |
class for wrapping a local interpolation using the virtual interface More... | |
class | LocalInterpolationVirtualInterface |
virtual base class for a local interpolation More... | |
class | LocalInterpolationVirtualInterfaceBase |
virtual base class for a local interpolation More... | |
class | LocalKey |
Describe position of one degree of freedom. More... | |
struct | LocalL2Interpolation |
A local L2 interpolation taking a test basis and a quadrature rule. More... | |
struct | LocalL2InterpolationFactory |
A factory class for the local l2 interpolations taking a basis factory. More... | |
struct | LocalToGlobalBasisAdaptorTraits |
Traits class for local-to-global basis adaptors. More... | |
class | LocalToGlobalInterpolationAdaptor |
Convert a local interpolation into a global interpolation. More... | |
class | LoopSIMD |
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 | MappedGeometry |
Geometry parametrized by a LocalFunction and a LocalGeometry. 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 | MatrixBlockError |
Error when performing an operation on a matrix block. More... | |
class | MatrixIndexSet |
Stores the nonzero entries for creating a sparse matrix. 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... | |
struct | MetaType |
A type that refers to another type. More... | |
class | MimeticLocalCoefficients |
! More... | |
class | MimeticLocalFiniteElement |
class | MINRESSolver |
Minimal Residual Method (MINRES) More... | |
class | MonomialFiniteElementFactory |
Factory for global-valued MonomFiniteElement objects. More... | |
class | MonomialLocalBasis |
class | MonomialLocalCoefficients |
class | MonomialLocalFiniteElement |
Monomial basis for discontinuous Galerkin methods. More... | |
class | MPIFuture |
Provides a future-like object for MPI communication. It contains the object that will be received and might contain also a sending object, which must be hold (keep alive) until the communication has been completed. 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... | |
class | MultiTypeBlockMatrix |
A Matrix class to support different block types. More... | |
class | MultiTypeBlockMatrix_Solver |
solver for MultiTypeBlockVector & MultiTypeBlockMatrix types More... | |
class | MultiTypeBlockMatrix_Solver_Col |
part of solvers for MultiTypeBlockVector & MultiTypeBlockMatrix types More... | |
class | MultiTypeBlockVector |
A Vector class to support different block types. More... | |
struct | mutable_reference |
get the 'mutable' version of a reference to a const object More... | |
class | Nedelec1stKindCubeLocalFiniteElement |
Nédélec elements of the first kind for cube elements. More... | |
class | Nedelec1stKindSimplexLocalFiniteElement |
Nédélec elements of the first kind for simplex elements. More... | |
struct | NedelecBasisFactory |
class | NedelecL2Interpolation |
An L2-based interpolation for Nedelec. 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 | NoAssembledOperator |
This exception is thrown if the requested solver or preconditioner needs an assembled matrix. 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... | |
struct | NullPointerInitialiser |
A helper template that initializes a std::tuple consisting of pointers to nullptr. More... | |
class | OneDGrid |
One-dimensional adaptive grid. More... | |
class | OrthonormalLocalFiniteElement |
A class providing orthonormal basis functions. 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 | P0LocalBasis |
class | P0LocalCoefficients |
class | P0LocalFiniteElement |
The local p0 finite element on all types of reference elements. 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 program occurred. 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 | ParallelScalarProduct |
Scalar product for overlapping Schwarz methods. More... | |
class | ParameterizedObjectFactory |
A factory class for parameterized objects. 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 | Pk1DFiniteElement |
Langrange finite element of arbitrary order on triangles. More... | |
struct | Pk1DFiniteElementFactory |
Factory for Pk1DFiniteElement objects. More... | |
class | Pk1dLocalFiniteElement |
Define the Pk Lagrange basis functions in 1d on the reference interval. More... | |
class | Pk2DFiniteElement |
Langrange finite element of arbitrary order on triangles. More... | |
struct | Pk2DFiniteElementFactory |
Factory for Pk2DFiniteElement objects. More... | |
struct | PointerPairDeletor |
Deletes all objects pointed to in a std::tuple of pointers. More... | |
class | PolynomialBasis |
class | PolynomialBasisWithMatrix |
class | Pool |
A memory pool of objects. More... | |
class | PoolAllocator |
An allocator managing a pool of objects for reuse. More... | |
class | PowerBasis |
Meta-basis turning a scalar basis into vector-valued basis. More... | |
class | PowerCoefficients |
Meta-coefficients turning a scalar coefficients into vector-valued coefficients. More... | |
class | PowerFiniteElement |
Meta-finite element turning a scalar finite element into vector-valued one. More... | |
class | PowerFiniteElementFactory |
Factory for meta-finite elements turning scalar finite elements into vector-valued ones. More... | |
class | PowerInterpolation |
Meta-interpolation turning a scalar interpolation into vector-valued interpolation. More... | |
class | PowerIteration_Algorithms |
Iterative eigenvalue algorithms based on power iteration. More... | |
class | PQkLocalFiniteElementCache |
A cache that stores all available Pk/Qk like local finite elements for the given dimension and order. More... | |
struct | PQkLocalFiniteElementFactory |
Factory to create any kind of Pk/Qk like element wrapped for the virtual interface. More... | |
class | Preconditioner |
Base class for matrix free definition of preconditioners. More... | |
struct | PriorityTag |
Helper class for tagging priorities. More... | |
struct | PriorityTag< 0 > |
Helper class for tagging priorities. More... | |
struct | PromotionTraits |
Compute type of the result of an arithmetic operation involving two different number types. More... | |
struct | PropertyMapTypeSelector |
Selector for the property map type. More... | |
class | ProxyArrowResult |
Helper to mimic a pointer for proxy objects. More... | |
class | PseudoFuture |
A wrapper-class for a object which is ready immediately. More... | |
struct | PushBackTuple |
Helper template to append a type to a std::tuple. More... | |
struct | PushFrontTuple |
Helper template to prepend a type to a std::tuple. More... | |
class | Q1FiniteElementFactory |
Factory for global-valued Q1 elements. More... | |
class | Q2FiniteElementFactory |
Factory for global-valued Q23D elements. More... | |
class | QkDGFiniteElementFactory |
Factory for global-valued QkDG elements. More... | |
class | QkDGGLFiniteElementFactory |
Factory for global-valued QkDG elements. More... | |
class | QkDGGLLocalFiniteElement |
class | QkDGLagrangeLocalFiniteElement |
class | QkDGLegendreFiniteElementFactory |
Factory for global-valued DGLegendre elements. More... | |
class | QkDGLegendreLocalFiniteElement |
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... | |
struct | RannacherTurekLocalBasis |
Rannacher-Turek shape functions. More... | |
struct | RannacherTurekLocalCoefficients |
layout for Rannacher-Turek elements More... | |
struct | RannacherTurekLocalFiniteElement |
Rannacher-Turek shape functions. More... | |
class | RannacherTurekLocalInterpolation |
please doc me More... | |
class | RaviartThomasCubeLocalFiniteElement |
Raviart-Thomas local finite elements for cubes. More... | |
class | RaviartThomasCubeLocalFiniteElement< D, R, 2, 0 > |
Raviart-Thomas local finite elements for cubes with dimension 2 and order 0. More... | |
class | RaviartThomasCubeLocalFiniteElement< D, R, 2, 1 > |
Raviart-Thomas local finite elements for cubes with dimension 2 and order 1. More... | |
class | RaviartThomasCubeLocalFiniteElement< D, R, 2, 2 > |
Raviart-Thomas local finite elements for cubes with dimension 2 and order 2. More... | |
class | RaviartThomasCubeLocalFiniteElement< D, R, 2, 3 > |
Raviart-Thomas local finite elements for cubes with dimension 2 and order 3. More... | |
class | RaviartThomasCubeLocalFiniteElement< D, R, 2, 4 > |
Raviart-Thomas local finite elements for cubes with dimension 2 and order 4. More... | |
class | RaviartThomasCubeLocalFiniteElement< D, R, 3, 0 > |
Raviart-Thomas local finite elements for cubes with dimension 3 and order 0. More... | |
class | RaviartThomasCubeLocalFiniteElement< D, R, 3, 1 > |
Raviart-Thomas local finite elements for cubes with dimension 3 and order 1. More... | |
class | RaviartThomasL2Interpolation |
An L2-based interpolation for Raviart Thomas. More... | |
class | RaviartThomasSimplexLocalFiniteElement |
Raviart-Thomas local finite elements of arbitrary order for simplices of arbitrary dimension. 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 | RefinedP0LocalBasis |
Uniformly refined constant shape functions on a unit simplex in R^dim. More... | |
class | RefinedP0LocalCoefficients |
Layout map for RefinedP0 elements. More... | |
class | RefinedP0LocalFiniteElement |
Local finite element that is piecewise P0 on a once uniformly refined reference geometry. More... | |
class | RefinedP0LocalFiniteElement< D, R, 1 > |
Local finite element that is piecewise P0 on a once uniformly refined reference geometry. More... | |
class | RefinedP0LocalFiniteElement< D, R, 2 > |
Local finite element that is piecewise P0 on a once uniformly refined reference geometry. More... | |
class | RefinedP0LocalFiniteElement< D, R, 3 > |
Local finite element that is piecewise P0 on a once uniformly refined reference geometry. More... | |
class | RefinedP1LocalBasis< D, R, 1 > |
Uniformly refined linear Lagrange shape functions in 1D. More... | |
class | RefinedP1LocalBasis< D, R, 2 > |
Uniformly refined linear Lagrange shape functions on the triangle. More... | |
class | RefinedP1LocalBasis< D, R, 3 > |
Uniformly refined linear Lagrange shape functions on the 3D-simplex (tetrahedron). More... | |
class | RefinedP1LocalFiniteElement |
Piecewise linear continuous Lagrange functions on a uniformly refined simplex element. More... | |
class | RefinedSimplexLocalBasis< D, 1 > |
Base class for LocalBasis classes based on uniform refinement in 1D; provides numbering and local coordinates of subelements. More... | |
class | RefinedSimplexLocalBasis< D, 2 > |
Base class for LocalBasis classes based on uniform refinement in 2D; provides numbering and local coordinates of subelements. More... | |
class | RefinedSimplexLocalBasis< D, 3 > |
Base class for LocalBasis classes based on uniform refinement in 3D; provides numbering and local coordinates of subelements. More... | |
class | RefinementIntervals |
Holds the number of refined intervals per axis needed for virtual and static refinement. 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... | |
class | ReservedVector |
A Vector class with statically reserved memory. More... | |
class | RestartedFCGSolver |
Accelerated flexible conjugate gradient method. More... | |
class | RestartedFlexibleGMResSolver |
implements the Flexible Generalized Minimal Residual (FGMRes) method (right preconditioned) More... | |
class | RestartedGMResSolver |
implements the Generalized Minimal Residual (GMRes) method More... | |
class | Richardson |
Richardson preconditioner. More... | |
class | RT02DLocalBasis |
class | RT02DLocalCoefficients |
class | RT02DLocalFiniteElement |
Zero order Raviart-Thomas shape functions on triangles. More... | |
class | RT03DLocalBasis |
class | RT03DLocalCoefficients |
class | RT03DLocalFiniteElement |
Zero order Raviart-Thomas shape functions on tetrahedra. More... | |
class | RT0Cube2DLocalBasis |
class | RT0Cube2DLocalCoefficients |
class | RT0Cube2DLocalFiniteElement |
Zero order Raviart-Thomas shape functions on rectangles. More... | |
class | RT0Cube2DLocalInterpolation |
class | RT0Cube3DLocalBasis |
class | RT0Cube3DLocalCoefficients |
class | RT0Cube3DLocalFiniteElement |
Zero order Raviart-Thomas shape functions on cubes. More... | |
class | RT0Cube3DLocalInterpolation |
class | RT0PrismLocalBasis |
First order Raviart-Thomas shape functions on the reference prism. More... | |
class | RT0PrismLocalCoefficients |
Layout map for Raviart-Thomas-1 elements on prisms. More... | |
class | RT0PrismLocalFiniteElement |
First order Raviart-Thomas shape functions on prisms. More... | |
class | RT0PrismLocalInterpolation |
First order Raviart-Thomas shape functions on the reference prism. More... | |
class | RT0PyramidLocalBasis |
First order Raviart-Thomas shape functions on the reference pyramid. More... | |
class | RT0PyramidLocalCoefficients |
Layout map for Raviart-Thomas-1 elements on pyramids. More... | |
class | RT0PyramidLocalFiniteElement |
First order Raviart-Thomas shape functions on pyramids. More... | |
class | RT0PyramidLocalInterpolation |
First order Raviart-Thomas shape functions on the reference hexahedron. More... | |
class | RT12DLocalBasis |
First order Raviart-Thomas shape functions on the reference triangle. More... | |
class | RT12DLocalCoefficients |
Layout map for Raviart-Thomas-1 elements on the reference triangle. More... | |
class | RT12DLocalFiniteElement |
First order Raviart-Thomas shape functions on triangles. More... | |
class | RT12DLocalInterpolation |
First order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT1Cube2DLocalBasis |
First order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT1Cube2DLocalCoefficients |
Layout map for Raviart-Thomas-1 elements on quadrilaterals. More... | |
class | RT1Cube2DLocalFiniteElement |
First order Raviart-Thomas shape functions on quadrilaterals. More... | |
class | RT1Cube2DLocalInterpolation |
First order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT1Cube3DLocalBasis |
First order Raviart-Thomas shape functions on the reference hexahedron. More... | |
class | RT1Cube3DLocalCoefficients |
Layout map for Raviart-Thomas-1 elements on quadrilaterals. More... | |
class | RT1Cube3DLocalFiniteElement |
First order Raviart-Thomas shape functions on cubes. More... | |
class | RT1Cube3DLocalInterpolation |
First order Raviart-Thomas shape functions on the reference hexahedron. More... | |
class | RT2Cube2DLocalBasis |
Second order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT2Cube2DLocalCoefficients |
Layout map for Raviart-Thomas-2 elements on quadrilaterals. More... | |
class | RT2Cube2DLocalFiniteElement |
Second order Raviart-Thomas shape functions on cubes. More... | |
class | RT2Cube2DLocalInterpolation |
Second order Raviart-Thomas shape functions on the reference triangle. More... | |
class | RT3Cube2DLocalBasis |
Second order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT3Cube2DLocalCoefficients |
Layout map for Raviart-Thomas-3 elements on quadrilaterals. More... | |
class | RT3Cube2DLocalFiniteElement |
Second order Raviart-Thomas shape functions on cubes. More... | |
class | RT3Cube2DLocalInterpolation |
Second order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT4Cube2DLocalBasis |
Second order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT4Cube2DLocalCoefficients |
Layout map for Raviart-Thomas-4 elements on quadrilaterals. More... | |
class | RT4Cube2DLocalFiniteElement |
Second order Raviart-Thomas shape functions on cubes. More... | |
class | RT4Cube2DLocalInterpolation |
Second order Raviart-Thomas shape functions on the reference triangle. More... | |
class | ScalarLocalToGlobalBasisAdaptor |
Convert a simple scalar local basis into a global basis. More... | |
struct | ScalarLocalToGlobalFiniteElementAdaptor |
Convert a simple scalar local finite element into a global finite element. More... | |
class | ScalarLocalToGlobalFiniteElementAdaptorFactory |
Factory for ScalarLocalToGlobalFiniteElementAdaptor objects. More... | |
class | ScalarProduct |
Base class for scalar product and norm computation. 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 | SeqDILU |
Sequential DILU preconditioner. More... | |
class | SeqILDL |
sequential ILDL preconditioner More... | |
class | SeqILU |
Sequential ILU 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 | SeqScalarProduct |
Default implementation for the scalar case. More... | |
class | SeqSOR |
Sequential SOR preconditioner. More... | |
class | SeqSSOR |
Sequential SSOR preconditioner. More... | |
struct | SimdScalarTypeTraits< AlignedNumber< T, align > > |
deduce the underlying scalar data type of an AlignedNumber More... | |
class | SimplexP1BubbleLocalBasis |
P1 basis in dim-d enriched by an (order dim+1) element bubble function. More... | |
class | SimplexP1BubbleLocalCoefficients |
The Local keys associated to the dim-d local basis functions. More... | |
class | SimplexP1BubbleLocalFiniteElement |
Linear Lagrange functions enriched with an element bubble function. More... | |
class | SimplexP1BubbleLocalInterpolation |
Interpolation into the SimplexP1BubbleLocalBasis. More... | |
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... | |
class | SizeCache |
organizes the caching of sizes for one grid and one GeometryType More... | |
struct | SizeOf |
Compute size of variadic type list. More... | |
struct | SizeOne |
Flag for marking indexed data structures where data at each index is of the same size. More... | |
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... | |
class | SolverAbort |
Thrown when a solver aborts due to some problem. More... | |
struct | SolverCategory |
Categories for the solvers. More... | |
class | SolverHelper |
Helper class for notifying a DUNE-ISTL linear solver about a change of the iteration matrix object in a unified way, i.e. independent from the solver's type (direct/iterative). More... | |
class | SPQR |
Use the SPQR package to directly solve linear systems – empty default class. More... | |
class | SPQR< BCRSMatrix< FieldMatrix< T, n, m >, A > > |
The SPQR direct sparse solver for matrices of type BCRSMatrix. More... | |
struct | StandardMathematicalConstants |
Standard implementation of MathematicalConstants. More... | |
class | StarCDReader |
File reader for the Star-CD format. More... | |
class | StaticIntegralRange |
static integer range for use in range-based for loops More... | |
class | StaticLagrangeLocalFiniteElementCache |
A cache that stores all available Pk/Qk like local finite elements for the given dimension and order for the case that the GeometryType is fixed and has the given Id. More... | |
class | StaticLagrangeLocalFiniteElementCache< GeometryType::Id(~0u), Domain, Range, dim, order > |
A cache that stores all available Pk/Qk like local finite elements for the given dimension and order. 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< AlbertaGrid< dim, dimworld > > |
specialization of the generic StructuredGridFactory for AlbertaGrid 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<EquidistantOffsetCoordinates> More... | |
class | SubsamplingVTKWriter |
Writer for the output of subsampled grid functions in the vtk format. More... | |
class | SuperLU |
SuperLu Solver. More... | |
struct | SuperLUMatrix |
Utility class for converting an ISTL Matrix into a SuperLU Matrix. More... | |
class | SuperLUMatrix< BCRSMatrix< B, TA > > |
Converter for BCRSMatrix to SuperLU Matrix. 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 | TestSuite |
A Simple helper class to organize your test suite. More... | |
class | Timer |
A simple stop watch. 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 | TransformedRangeView |
A range transforming the values of another range on-the-fly. More... | |
class | TransformTupleFunctor |
struct | TransposedMatMultMatResult |
Helper TMP to get the result type of a sparse matrix matrix multiplication ( \(C=A*B\)) More... | |
class | TupleVector |
A class augmenting std::tuple by element access via operator[]. More... | |
struct | TypeListElement< i, TypeList< T... > > |
Get element of TypeList. More... | |
struct | TypeListSize< TypeList< T... > > |
Get size of TypeList. More... | |
class | UGGrid |
Front-end for the grid manager of the finite element toolbox UG3. More... | |
class | UMFPack |
The UMFPack direct sparse solver. More... | |
class | UncachedSelection |
An uncached selection of indices. More... | |
struct | Unity |
A class representing the unit of a given Field. More... | |
struct | ValueTransformationTag |
Tag to enable value based transformations in TransformedRangeView. 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 | 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 output 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 output of grid functions in the vtk format. More... | |
struct | WritablePropertyMapTag |
Tag for the category of writable property maps. More... | |
class | YaspEntitySeed |
Describes the minimal information necessary to create a fully functional YaspEntity. 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 doesn't 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 doesn't hold any data, but an iterator range into a data array owned by YGridLevel. More... | |
struct | Zero |
A class representing the zero of a given Field. More... | |
Typedefs | |
using | ViolatedAlignmentHandler = std::function< void(const char *, std::size_t, const void *)> |
type of the handler called by violatedAlignment() | |
typedef unsigned int | DebugLevel |
Type for debug levels. More... | |
template<std::size_t i> | |
using | index_constant = std::integral_constant< std::size_t, i > |
An index constant with value i. More... | |
template<class T > | |
using | CollectiveCommunication = Communication< T > |
template<class T > | |
using | ResolveRef_t = std::remove_reference_t< decltype(Dune::resolveRef(std::declval< T & >()))> |
Type trait to resolve std::reference_wrapper. More... | |
template<typename V > | |
using | SimdIndex = typename SimdIndexTypeTraits< V >::type |
An simd vector of indices corresponding to a simd vector V. More... | |
template<typename V > | |
using | SimdMask = typename SimdMaskTypeTraits< V >::type |
A simd vector of truth values corresponding to a simd vector V. More... | |
template<template< typename... > class Fallback, template< typename... > class TargetType, typename... Args> | |
using | detected_or_fallback_t = Std::detected_or_t< decltype(detail::warningIfNotDefined< Std::detected_t< Fallback, Args... > >(std::declval< const Std::detected_t< TargetType, Args... > * >())), TargetType, Args... > |
This type will be either TargetType<Args...> if it exists, or the Fallback<Args...> type. | |
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. | |
template<class... T> | |
using | TypeList = std::tuple< MetaType< T >... > |
A simple type list. More... | |
template<std::size_t i, class T > | |
using | TypeListEntry_t = typename TypeListElement< i, T >::type |
Shortcut for TypeListElement<i, T>::type;. | |
template<template< class... > class Target, class TL > | |
using | UnpackTypeList_t = typename Impl::UnpackTypeList< Target, TL >::type |
Unpack Dune::TypeList. More... | |
template<template< class... > class Target, class... T> | |
using | UniqueTypes_t = typename Impl::UniqueTypesHelper< Target, TypeList< T... > >::type |
Remove duplicates from a list of types. More... | |
template<class NonUniqueTypeList > | |
using | UniqueTypeList_t = typename Impl::UniqueTypesHelper< TypeList, NonUniqueTypeList >::type |
Remove duplicates from a Dune::TypeList. More... | |
template<class... Types> | |
using | void_t = typename Impl::voider< Types... >::type |
Is void for all valid input types. The workhorse for C++11 SFINAE-techniques. More... | |
template<class Type > | |
using | field_t = typename FieldTraits< Type >::field_type |
Convenient access to FieldTraits<Type>::field_type. | |
template<class Type > | |
using | real_t = typename FieldTraits< Type >::real_type |
Convenient access to FieldTraits<Type>::real_type. | |
template<class T > | |
using | AutonomousValue = typename AutonomousValueType< T >::type |
Type free of internal references that T can be converted to. More... | |
template<class This , class... T> | |
using | disableCopyMove = std::enable_if_t< not Impl::disableCopyMoveHelper< This, T... >::value, int > |
Helper to disable constructor as copy and move constructor. More... | |
template<class M , class X , class Y , int l = 1> | |
using | SeqGS = SeqSOR< M, X, Y, l > |
Sequential Gauss Seidel preconditioner. More... | |
template<class D , class R , int dim> | |
using | HierarchicalP1WithElementBubbleLocalFiniteElement = SimplexP1BubbleLocalFiniteElement< D, R, dim > |
Linear Lagrange functions enriched with an element bubble function. More... | |
template<class D , class R , std::size_t dim, std::size_t order> | |
using | LagrangeLocalFiniteElementCache = LocalFiniteElementVariantCache< Impl::ImplementedLagrangeFiniteElements< D, R, dim, order > > |
A cache that stores all available Pk/Qk like local finite elements for the given dimension and order. More... | |
template<class D , class R , std::size_t dim, std::size_t order> | |
using | RaviartThomasLocalFiniteElementCache = LocalFiniteElementVariantCache< Impl::ImplementedRaviartThomasLocalFiniteElements< D, R, dim, order > > |
A cache that stores all available Raviart-Thomas local finite elements for the given dimension and order. More... | |
using | MCMGLayout = std::function< size_t(GeometryType, int)> |
layout function for MultipleCodimMultipleGeomTypeMapper More... | |
template<int mydim, int coorddim, class GridImp > | |
using | OneDGridGeometry = AxisAlignedCubeGeometry< double, mydim, coorddim > |
The type used to for OneDGrid geometries. More... | |
Functions | |
template<class T > | |
std::string | className () |
Provide the demangled class name of a type T as a string. | |
template<class T > | |
std::string | className (T &&v) |
Provide the demangled class name of a given object as a string. | |
template<class C , class... T> | |
constexpr auto | models () |
Check if concept is modeled by given types. More... | |
template<typename T1 , typename T2 > | |
const T1 | cond (bool b, const T1 &v1, const T2 &v2) |
conditional evaluate More... | |
static void | defaultViolatedAlignment (const char *className, std::size_t expectedAlignment, const void *address) |
default alignment violation handler More... | |
ViolatedAlignmentHandler & | violatedAlignmentHandler () |
access the handler called by violatedAlignment() More... | |
void | violatedAlignment (const char *className, std::size_t expectedAlignment, const void *address) |
called when an alignment violation is detected More... | |
bool | isAligned (const void *p, std::size_t align) |
check whether an address conforms to the given alignment | |
template<std::size_t align = debugAlignment, class T > | |
AlignedNumber< T, align > | aligned (T value) |
align a value to a certain alignment | |
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 > | |
auto | dot (const A &a, const B &b) -> typename std::enable_if< IsNumber< A >::value &&!IsVector< A >::value &&!std::is_same< typename FieldTraits< A >::field_type, typename FieldTraits< A >::real_type > ::value, decltype(conj(a) *b)>::type |
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 > | |
auto | dotT (const A &a, const B &b) -> decltype(a *b) |
Computes an indefinite vector dot product for fundamental data types according to Petsc's VectTDot function: dotT(a,b) := a*b. More... | |
template<std::size_t n, class T > | |
constexpr std::array< T, n > | filledArray (const T &t) |
Return an array filled with the provided value. 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 F , class I , I... i> | |
decltype(auto) constexpr | unpackIntegerSequence (F &&f, std::integer_sequence< I, i... > sequence) |
Unpack an std::integer_sequence<I,i...> to std::integral_constant<I,i>... More... | |
template<std::size_t pos, class T , T... II, std::enable_if_t<(!(pos >=sizeof...(II))), int > = 0> | |
constexpr auto | get (std::integer_sequence< T, II... >, std::integral_constant< std::size_t, pos >={}) |
Return the entry at position pos of the given sequence. | |
template<class T , T... II> | |
constexpr T | get (std::integer_sequence< T, II... >, std::size_t pos) |
Return the entry at position pos of the given sequence. | |
template<class T , T I0, T... II> | |
constexpr std::integral_constant< T, I0 > | front (std::integer_sequence< T, I0, II... >) |
Return the first entry of the sequence. | |
template<class T , T... II, std::enable_if_t<(sizeof...(II) > 0), int > = 0> | |
constexpr auto | back (std::integer_sequence< T, II... > seq) |
Return the last entry of the sequence. | |
template<class T , T I0, T... II> | |
constexpr std::integral_constant< T, I0 > | head (std::integer_sequence< T, I0, II... >) |
For a sequence [head,tail...) return the single head element. | |
template<class T , T I0, T... II> | |
constexpr std::integer_sequence< T, II... > | tail (std::integer_sequence< T, I0, II... >) |
For a sequence [head,tail...) return the tail sequence. | |
template<auto I0, class T , T... II> | |
constexpr std::integer_sequence< T, T(I0), II... > | push_front (std::integer_sequence< T, II... >, std::integral_constant< T, I0 >={}) |
Append an index I0 to the front of the sequence. | |
template<auto IN, class T , T... II> | |
constexpr std::integer_sequence< T, II..., T(IN)> | push_back (std::integer_sequence< T, II... >, std::integral_constant< T, IN >={}) |
Append an index IN to the back of the sequence. | |
template<class T , T... II> | |
constexpr std::integral_constant< std::size_t, sizeof...(II)> | size (std::integer_sequence< T, II... >) |
Return the size of the sequence. | |
template<class T , T... II> | |
constexpr std::bool_constant<(sizeof...(II)==0)> | empty (std::integer_sequence< T, II... >) |
Checks whether the sequence is empty. | |
template<class T , T... II, class Compare > | |
constexpr auto | sorted (std::integer_sequence< T, II... > seq, Compare comp) |
Sort a given sequence by the comparator comp . | |
template<class T , T... II> | |
constexpr auto | sorted (std::integer_sequence< T, II... > seq) |
Sort a given sequence by less-than comparison. | |
template<class T , T... II, T value> | |
constexpr std::bool_constant<((II==value)||...)> | contains (std::integer_sequence< T, II... >, std::integral_constant< T, value >) |
Checks whether or not a given sequence contains a value. | |
template<class T , T... II, T... JJ> | |
constexpr auto | difference (std::integer_sequence< T, II... > iSeq, std::integer_sequence< T, JJ... > jSeq) |
Return the elements from the sequence [II...) which are not found in the sequence [JJ...). | |
template<std::size_t N, class T , T... JJ, std::enable_if_t<(N >=sizeof...(JJ)), int > = 0> | |
constexpr auto | difference (std::integer_sequence< T, JJ... > jSeq) |
Return the elements from the sequence [0,1,...N) which are not found in the sequence [JJ...). | |
template<class S , S... II, class T , T... JJ, std::enable_if_t<(sizeof...(II)==sizeof...(JJ)), int > = 0, class ST = std::common_type_t<S,T>> | |
constexpr std::is_same< std::integer_sequence< bool, true,(ST(II)==ST(JJ))... >, std::integer_sequence< bool,(ST(II)==ST(JJ))..., true > > | equal (std::integer_sequence< S, II... >, std::integer_sequence< T, JJ... >) |
Checks whether two sequences are identical. | |
template<class S , S... II, class T , T... JJ, std::enable_if_t<(sizeof...(II) !=sizeof...(JJ)), int > = 0> | |
constexpr std::bool_constant< false > | equal (std::integer_sequence< S, II... >, std::integer_sequence< T, JJ... >) |
Sequences are unequal if not of the same length. | |
template<template< auto > class Filter, class T , T J0, T... JJ> | |
constexpr auto | filter (std::integer_sequence< T, J0, JJ... > jSeq) |
template<class Filter , class T , T J0, T... JJ> | |
constexpr auto | filter (Filter f, std::integer_sequence< T, J0, JJ... > jSeq) |
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 > | |
std::enable_if< std::is_convertible< T2, T1 >::value, 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 > | |
std::enable_if< std::is_convertible< T1, T2 >::value &&!std::is_convertible< T2, T1 >::value, 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 T1 , class T2 , class C , class V1 , class V2 , class R1 , class R2 , class P1 , class P2 , class D1 , class D2 > | |
constexpr auto | operator== (const IteratorFacade< T1, C, V1, R1, P1, D1 > &it1, const IteratorFacade< T2, C, V2, R2, P2, D2 > &it2) |
Equality comparison for IteratorFacade. More... | |
template<class T1 , class T2 , class C , class V1 , class V2 , class R1 , class R2 , class P1 , class P2 , class D1 , class D2 , std::enable_if_t< Dune::models< Impl::Concepts::IterEqualsOp, T1, T2 >(), int > = 0> | |
constexpr bool | operator!= (const IteratorFacade< T1, C, V1, R1, P1, D1 > &it1, const IteratorFacade< T2, C, V2, R2, P2, D2 > &it2) |
Inequality comparison for IteratorFacade. More... | |
template<class T1 , class T2 , class C , class V1 , class V2 , class R1 , class R2 , class P1 , class P2 , class D > | |
constexpr auto | operator- (const IteratorFacade< T1, C, V1, R1, P1, D > &it1, const IteratorFacade< T2, C, V2, R2, P2, D > &it2) |
Difference for two IteratorFacade objects. More... | |
template<class T1 , class T2 , class C , class V1 , class V2 , class R1 , class R2 , class P1 , class P2 , class D1 , class D2 , std::enable_if_t< Dune::models< Impl::Concepts::IterDistanceOp< D1 >, T1, T2 >(), int > = 0> | |
constexpr bool | operator< (const IteratorFacade< T1, C, V1, R1, P1, D1 > &it1, const IteratorFacade< T2, C, V2, R2, P2, D2 > &it2) |
Comparison for IteratorFacade. More... | |
template<class T1 , class T2 , class C , class V1 , class V2 , class R1 , class R2 , class P1 , class P2 , class D1 , class D2 , std::enable_if_t< Dune::models< Impl::Concepts::IterDistanceOp< D1 >, T1, T2 >(), int > = 0> | |
constexpr bool | operator<= (const IteratorFacade< T1, C, V1, R1, P1, D1 > &it1, const IteratorFacade< T2, C, V2, R2, P2, D2 > &it2) |
Comparison for IteratorFacade. More... | |
template<class T1 , class T2 , class C , class V1 , class V2 , class R1 , class R2 , class P1 , class P2 , class D1 , class D2 , std::enable_if_t< Dune::models< Impl::Concepts::IterDistanceOp< D1 >, T1, T2 >(), int > = 0> | |
constexpr bool | operator> (const IteratorFacade< T1, C, V1, R1, P1, D1 > &it1, const IteratorFacade< T2, C, V2, R2, P2, D2 > &it2) |
Comparison for IteratorFacade. More... | |
template<class T1 , class T2 , class C , class V1 , class V2 , class R1 , class R2 , class P1 , class P2 , class D1 , class D2 , std::enable_if_t< Dune::models< Impl::Concepts::IterDistanceOp< D1 >, T1, T2 >(), int > = 0> | |
constexpr bool | operator>= (const IteratorFacade< T1, C, V1, R1, P1, D1 > &it1, const IteratorFacade< T2, C, V2, R2, P2, D2 > &it2) |
Comparison for IteratorFacade. More... | |
template<class T > | |
constexpr bool | operator== (const MallocAllocator< T > &, const MallocAllocator< T > &) |
check whether allocators are equivalent | |
template<class T > | |
constexpr bool | operator!= (const MallocAllocator< T > &, const MallocAllocator< T > &) |
check whether allocators are not equivalent | |
template<class Base , class Exponent > | |
constexpr Base | power (Base m, Exponent p) |
Power method for integer exponents. More... | |
template<class T > | |
static constexpr T | factorial (const T &n) noexcept |
calculate the factorial of n as a constexpr | |
template<class T , T n> | |
static constexpr auto | factorial (std::integral_constant< T, n >) noexcept |
calculate the factorial of n as a constexpr | |
template<class T > | |
static constexpr T | binomial (const T &n, const T &k) noexcept |
calculate the binomial coefficient n over k as a constexpr | |
template<class T , T n, T k> | |
static constexpr auto | binomial (std::integral_constant< T, n >, std::integral_constant< T, k >) noexcept |
calculate the binomial coefficient n over k as a constexpr | |
template<class K > | |
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... F> | |
auto | overload (F &&... f) |
Create an overload set. More... | |
template<class... F> | |
auto | orderedOverload (F &&... f) |
Create an ordered overload set. More... | |
bool | operator== (const No_Comm &, const No_Comm &) |
Comparison operator for MPI compatibility. More... | |
bool | operator!= (const No_Comm &, const No_Comm &) |
Comparison operator for MPI compatibility. More... | |
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 , typename std::enable_if< IsIterable< T >::value, int >::type = 0> | |
T::value_type | max_value (const T &v) |
compute the maximum value over a range More... | |
template<typename T , typename std::enable_if< IsIterable< T >::value, int >::type = 0> | |
T::value_type | min_value (const T &v) |
compute the minimum value over a range More... | |
template<typename T , typename std::enable_if< IsIterable< T >::value, int >::type = 0> | |
bool | any_true (const T &v) |
similar to std::bitset<N>::any() return true, if any entries is true More... | |
template<typename T , typename std::enable_if< IsIterable< T >::value, int >::type = 0> | |
bool | all_true (const T &v) |
similar to std::bitset<N>::all() return true, if any entries is true More... | |
template<class T , class U , std::enable_if_t< std::is_same< std::decay_t< T >, std::decay_t< U > >::value, int > = 0, std::enable_if_t< std::is_integral< std::decay_t< T > >::value, int > = 0> | |
static IntegralRange< std::decay_t< T > > | range (T &&from, U &&to) noexcept |
free standing function for setting up a range based for loop over an integer range for (auto i: range(0,10)) // 0,1,2,3,4,5,6,7,8,9 or for (auto i: range(-10,10)) // -10,-9,..,8,9 or for (auto i: range(10)) // 0,1,2,3,4,5,6,7,8,9 | |
template<class R , class F > | |
auto | transformedRangeView (R &&range, F &&f) |
Create a TransformedRangeView. More... | |
template<class R , class F > | |
auto | iteratorTransformedRangeView (R &&range, F &&f) |
Create a TransformedRangeView using an iterator transformation. More... | |
template<class Range > | |
auto | sparseRange (Range &&range) |
Allow structured-binding for-loops for sparse iterators. More... | |
template<class T > | |
constexpr T & | resolveRef (T &gf) noexcept |
Helper function to resolve std::reference_wrapper. More... | |
template<class T > | |
constexpr T & | resolveRef (std::reference_wrapper< T > gf) noexcept |
Helper function to resolve std::reference_wrapper. More... | |
template<typename T > | |
std::shared_ptr< T > | stackobject_to_shared_ptr (T &t) |
Create a shared_ptr for a stack-allocated object. More... | |
template<class T > | |
auto | wrap_or_move (T &&t) |
Capture R-value reference to shared_ptr. More... | |
template<class T > | |
auto | wrap_or_move (T &t) |
Capture L-value reference to std::shared_ptr. More... | |
template<class T > | |
std::size_t | lanes (const T &) |
get the number of lanes of a simd vector (scalar version) | |
template<class T > | |
T | lane (std::size_t l, const T &v) |
access a lane of a simd vector (scalar version) | |
template<class T > | |
T & | lane (std::size_t l, T &v) |
access a lane of a simd vector (scalar version) | |
template<class T > | |
void | assign (T &dst, const T &src, bool mask) |
masked Simd assignment (scalar version) 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... Ts> | |
std::ostream & | operator<< (std::ostream &stream, const std::tuple< Ts... > &t) |
Print a std::tuple. | |
template<typename... Ts> | |
std::istream & | operator>> (std::istream &stream, std::tuple< Ts... > &t) |
Read a std::tuple. | |
template<typename T , std::size_t N> | |
std::ostream & | operator<< (std::ostream &stream, const std::array< T, N > &a) |
Print a std::array. | |
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<class Matrix , std::enable_if_t< Impl::HasMemberFunctionTransposed< Matrix >::value, int > = 0> | |
auto | transpose (const Matrix &matrix) |
Return the transposed of the given matrix. More... | |
template<class Matrix , std::enable_if_t< not Impl::HasMemberFunctionTransposed< std::decay_t< Matrix > >::value, int > = 0> | |
auto | transpose (Matrix &&matrix) |
Create a wrapper modelling the transposed matrix. More... | |
template<class Matrix > | |
auto | transpose (const std::reference_wrapper< Matrix > &matrix) |
Create a wrapper modelling the transposed matrix. More... | |
template<class Matrix > | |
auto | transposedView (const Matrix &matrix) |
Create a view modelling the transposed matrix. More... | |
template<class F , class ArgTuple , class I , I... i> | |
decltype(auto) | applyPartial (F &&f, ArgTuple &&args, std::integer_sequence< I, i... >) |
Apply function with arguments from a given tuple. More... | |
template<class Tuple , class Functor > | |
auto | genericTransformTuple (Tuple &&t, Functor &&f) -> decltype(genericTransformTupleBackend(t, f)) |
template<template< class > class TypeEvaluator, class Tuple , class... Args> | |
auto | transformTuple (Tuple &&orig, Args &&... args) -> decltype(genericTransformTuple(orig, makeTransformTupleFunctor< TypeEvaluator >(args...))) |
template<class... T> | |
constexpr auto | uniqueTypeList (TypeList< T... > list) |
Remove duplicates from a Dune::TypeList. More... | |
template<class T , T... t, std::size_t index> | |
constexpr auto | integerSequenceEntry (std::integer_sequence< T, t... >, std::integral_constant< std::size_t, index > i) |
Get entry of std::integer_sequence. More... | |
template<class T > | |
constexpr AutonomousValue< T > | autoCopy (T &&v) |
Autonomous copy of an expression's value for use in auto type deduction. More... | |
template<typename T > | |
constexpr std::size_t | maxBlockLevel () |
Determine the maximum block level of a possibly nested vector/matrix type. | |
template<typename T > | |
constexpr std::size_t | minBlockLevel () |
Determine the minimum block level of a possibly nested vector/matrix type. | |
template<typename T > | |
constexpr bool | hasUniqueBlockLevel () |
Determine if a vector/matrix has a uniquely determinable block level. | |
template<typename T > | |
constexpr std::size_t | blockLevel () |
Determine the block level of a possibly nested vector/matrix type. | |
template<class K , class A > | |
std::ostream & | operator<< (std::ostream &s, const BlockVector< K, A > &v) |
Send BlockVector to an output stream. | |
template<class Vector , class F > | |
std::size_t | flatVectorForEach (Vector &&vector, F &&f, std::size_t offset=0) |
Traverse a blocked vector and call a functor at each scalar entry. More... | |
template<class Matrix , class F > | |
std::pair< std::size_t, std::size_t > | flatMatrixForEach (Matrix &&matrix, F &&f, std::size_t rowOffset=0, std::size_t colOffset=0) |
Traverse a blocked matrix and call a functor at each scalar entry. More... | |
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 Matrix > | |
void | bildl_decompose (Matrix &A) |
compute ILDL decomposition of a symmetric matrix A More... | |
template<class V > | |
void | recursive_printvector (std::ostream &s, const V &v, std::string rowtext, int &counter, int columns, int width) |
Recursively print a vector. 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 K , std::enable_if_t< Dune::IsNumber< K >::value, int > = 0> | |
void | print_row (std::ostream &s, const K &value, 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 number types. More... | |
template<class M , std::enable_if_t< not Dune::IsNumber< M >::value, int > = 0> | |
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 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 A , class InnerMatrixType > | |
void | printSparseMatrix (std::ostream &s, const BCRSMatrix< InnerMatrixType, 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 , std::enable_if_t< Dune::IsNumber< FieldType >::value, int > = 0> | |
void | writeMatrixToMatlabHelper (const FieldType &value, int rowOffset, int colOffset, std::ostream &s) |
Helper method for the writeMatrixToMatlab routine. More... | |
template<class MatrixType , std::enable_if_t< not Dune::IsNumber< MatrixType >::value, int > = 0> | |
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<class VectorType > | |
void | writeVectorToMatlab (const VectorType &vector, const std::string &filename, int outputPrecision=18) |
Writes vectors in a Matlab-readable format. More... | |
template<class Mat , class SVGOptions = DefaultSVGMatrixOptions> | |
void | writeSVGMatrix (std::ostream &out, const Mat &mat, SVGOptions opts={}) |
Writes the visualization of matrix in the SVG format. More... | |
template<class Mat , class SVGOptions = DefaultSVGMatrixOptions> | |
void | writeSVGMatrix (const Mat &mat, std::ostream &out, SVGOptions opts={}) |
Writes the visualization of matrix in the SVG format. More... | |
template<typename T , typename A > | |
void | readMatrixMarket (Dune::BlockVector< T, A > &vector, std::istream &istr) |
Reads a BlockVector from a matrix market file. More... | |
template<typename T , typename A > | |
void | readMatrixMarket (Dune::BCRSMatrix< T, 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, int prec=default_precision) |
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, int prec=default_precision) |
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 > | |
auto | countNonZeros (const M &, typename std::enable_if_t< Dune::IsNumber< M >::value > *sfinae=nullptr) |
Get the number of nonzero fields in the matrix. More... | |
template<typename T1 , typename... Args> | |
std::ostream & | operator<< (std::ostream &s, const MultiTypeBlockMatrix< T1, Args... > &m) |
<< operator for a MultiTypeBlockMatrix More... | |
template<typename... Args> | |
std::ostream & | operator<< (std::ostream &s, const MultiTypeBlockVector< Args... > &v) |
Send MultiTypeBlockVector to an outstream. | |
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, Metis::idx_t nparts, std::shared_ptr< Dune::OwnerOverlapCopyCommunication< T1, T2 > > &outcomm, RedistributeInterface &redistInf, bool verbose=false) |
execute a graph repartition for a giving graph and indexset. More... | |
template<class X , class Comm > | |
std::shared_ptr< ScalarProduct< X > > | makeScalarProduct (std::shared_ptr< const Comm > comm, SolverCategory::Category category) |
Choose the appropriate scalar product for a solver category. More... | |
template<class X , class Comm > | |
std::shared_ptr< ScalarProduct< X > > | createScalarProduct (const Comm &comm, SolverCategory::Category category) |
template<class Operator > | |
std::shared_ptr< InverseOperator< typename Operator::domain_type, typename Operator::range_type > > | getSolverFromFactory (std::shared_ptr< Operator > op, const ParameterTree &config, std::shared_ptr< Preconditioner< typename Operator::domain_type, typename Operator::range_type > > prec=nullptr) |
Instantiates an InverseOperator from an Operator and a configuration given as a ParameterTree. More... | |
template<class Operator > | |
std::shared_ptr< Preconditioner< typename Operator::domain_type, typename Operator::range_type > > | getPreconditionerFromFactory (std::shared_ptr< Operator > op, const ParameterTree &config) |
Construct a Preconditioner for a given Operator. | |
template<class F2 , class F1 > | |
void | field_cast (const F1 &f1, F2 &f2) |
a helper class to cast from one field to another More... | |
template<class InIterator , class OutIterator > | |
void | reduceOrder (const InIterator &inBegin, const InIterator &inEnd, OutIterator outIt) |
Algorithm to reduce vertex order information. More... | |
template<typename... T> | |
unspecified value type | referenceElement (T &&... t) |
Returns a reference element for the objects t.... More... | |
template<typename T , int dim> | |
auto | referenceElement (const Dune::GeometryType >, Dune::Dim< dim >={}) |
Returns a reference element of dimension dim for the given geometry type and coordinate field type. More... | |
template<typename T , int dim, std::enable_if_t< IsNumber< std::decay_t< T > >::value, int > = 0> | |
auto | referenceElement (const T &, const Dune::GeometryType >, Dune::Dim< dim >) |
Returns a reference element of dimension dim for the given geometry type and coordinate field type. More... | |
RefinementIntervals | refinementIntervals (int intervals) |
Creates a RefinementIntervals object. More... | |
RefinementIntervals | refinementLevels (int levels) |
Creates a RefinementIntervals object. 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. | |
GeometryType | geometryTypeFromVertexCount (unsigned int dim, unsigned int vertices) |
Utility function to construct the correct geometry type given the dimension and the number of vertices. More... | |
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 dim, int dimworld, class ct , class GridFamily > | |
Grid< dim, dimworld, ct, GridFamily >::LevelGridView | levelGridView (const Grid< dim, dimworld, ct, GridFamily > &grid, int level) |
level grid view for the given grid and level. More... | |
template<int dim, int dimworld, class ct , class GridFamily > | |
Grid< dim, dimworld, ct, GridFamily >::LeafGridView | leafGridView (const Grid< dim, dimworld, ct, GridFamily > &grid) |
leaf grid view for the given grid More... | |
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<int codim> | |
MCMGLayout | mcmgLayout (Codim< codim >) |
layout for entities of codimension codim More... | |
template<int dim> | |
MCMGLayout | mcmgLayout (Dim< dim >) |
layout for entities of dimension dim More... | |
MCMGLayout | mcmgElementLayout () |
layout for elements (codim-0 entities) More... | |
MCMGLayout | mcmgVertexLayout () |
layout for vertices (dim-0 entities) More... | |
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<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 Communication , int d> | |
std::ostream & | operator<< (std::ostream &s, const Torus< Communication, 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. | |
Variables | |
static constexpr auto | debugAlignment = 2*alignof(std::max_align_t) |
an alignment large enough to trigger alignment errors | |
template<class T > | |
constexpr bool | IsReferenceWrapper_v = Impl::IsReferenceWrapper<T>::value |
Helper to detect if given type is a std::reference_wrapper. | |
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.
For backward compatibility – Do not use this!
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
- Todo:
update quadrature order to work with lfsv != lfsu
update alpha_* to work with lfsv != lfsu (./)
update jacobian_* to work with lfsv != lfsu
update caches to work with lfsv != lfsu
- Todo:
- Don't use this matrix
Typedef Documentation
◆ CollectiveCommunication
using Dune::CollectiveCommunication = typedef Communication<T> |
- Deprecated:
- CollectiveCommunication is deprecated and will be removed after Dune 2.9.
Use Communication instead.
◆ HierarchicalP1WithElementBubbleLocalFiniteElement
using Dune::HierarchicalP1WithElementBubbleLocalFiniteElement = typedef SimplexP1BubbleLocalFiniteElement<D,R,dim> |
Linear Lagrange functions enriched with an element bubble function.
Linear Lagrange functions enriched with an element bubble function.
The set of basis functions contains the classical Lagrange basis functions of order 1, i.e., the barycentric coordinates, and a single element "bubble" function that vanishes on all faces of the element. The bubble function is simply defined as the product of all linear basis functions and thus has polynomial order dim+1
.
A classical example where this kind of basis is used in the discretization of the Stokes equation with the stable mixed-element called MINI element, see
Arnold, D.N., Brezzi, F. and Fortin, M. A stable finite element for the Stokes equations. Calcolo 21, 337-344 (1984). doi: 10.1007/BF02576171
The velocity field is discretized with continuous piecewise linear functions enriched by a bubble function.
- Note
- The implementation here is restricted to simplex elements.
- Template Parameters
-
D Type to represent the field in the domain. R Type to represent the field in the range. dim Dimension of the domain.
◆ LagrangeLocalFiniteElementCache
using Dune::LagrangeLocalFiniteElementCache = typedef LocalFiniteElementVariantCache<Impl::ImplementedLagrangeFiniteElements<D,R,dim,order> > |
A cache that stores all available Pk/Qk like local finite elements for the given dimension and order.
An interface for dealing with different vertex orders is currently missing.
- Template Parameters
-
D Type used for domain coordinates R Type used for shape function values dim Element dimension order Element order
The cached finite element implementations can be obtained using get(GeometryType).
◆ OneDGridGeometry
using Dune::OneDGridGeometry = typedef AxisAlignedCubeGeometry<double, mydim, coorddim> |
The type used to for OneDGrid geometries.
If you ever want OneDGrid to use a different type for coordinates, you need to change the first argument of AxisAlignedCubeGeometry here.
◆ RaviartThomasLocalFiniteElementCache
using Dune::RaviartThomasLocalFiniteElementCache = typedef LocalFiniteElementVariantCache<Impl::ImplementedRaviartThomasLocalFiniteElements<D,R,dim,order> > |
A cache that stores all available Raviart-Thomas local finite elements for the given dimension and order.
- Template Parameters
-
D Type used for domain coordinates R Type used for shape function values dim Element dimension order Element order
The cached finite element implementations can be obtained using get(GeometryType).
◆ SimdIndex
using Dune::SimdIndex = typedef typename SimdIndexTypeTraits<V>::type |
An simd vector of indices corresponding to a simd vector V.
lanes(T()) == lanes(SimdIndex<T>()) holds.
- Note
- The size of the elements of a SimdIndex isn't very well-defined. Be careful.
◆ SimdMask
using Dune::SimdMask = typedef typename SimdMaskTypeTraits<V>::type |
A simd vector of truth values corresponding to a simd vector V.
lanes(T()) == lanes(SimdMask<T>()) holds.
◆ UniqueTypeList_t
using Dune::UniqueTypeList_t = typedef typename Impl::UniqueTypesHelper<TypeList, NonUniqueTypeList>::type |
Remove duplicates from a Dune::TypeList.
For a given Dune::TypeList<T...> this is an alias for Dune::TypeList<S...>, where S... is generated by removing duplicate types from T... .
◆ UniqueTypes_t
using Dune::UniqueTypes_t = typedef typename Impl::UniqueTypesHelper<Target, TypeList<T...> >::type |
Remove duplicates from a list of types.
For a given list of types T... instantiate Target<S...>, where S... is generated by removing duplicate types from T... . This is useful for std::variant which does not like to be instantiated with duplicate types.
◆ UnpackTypeList_t
using Dune::UnpackTypeList_t = typedef typename Impl::UnpackTypeList<Target, TL>::type |
Unpack Dune::TypeList.
For a given Dune::TypeList<T...> this is an alias for Target<T...>.
Enumeration Type Documentation
◆ anonymous enum
anonymous enum |
Enumerator | |
---|---|
implementationDefined | Dummy integral value used for documentation purposes. #include <dune/common/documentation.hh>
Documentation related stuff.
|
Function Documentation
◆ assertCallOnce()
|
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.
References Dune::GeometryTypes::line.
◆ assign()
void Dune::assign | ( | T & | dst, |
const T & | src, | ||
bool | mask | ||
) |
masked Simd assignment (scalar version)
Assign src
to dest
for those lanes where mask
is true.
References Dune::Simd::Overloads::mask().
Referenced by Dune::bigunsignedint< k >::bigunsignedint(), Dune::BitSetVector< block_size, Allocator >::setAll(), and Dune::BitSetVector< block_size, Allocator >::unsetAll().
◆ bildl_decompose()
compute ILDL decomposition of a symmetric matrix A
- Parameters
-
[in,out] A Matrix to decompose
- Note
- A is overwritten by the factorization.
- Only the lower half of A is used.
◆ buildRefinement()
VirtualRefinement< dimension, CoordType > & Dune::buildRefinement | ( | GeometryType | geometryType, |
GeometryType | coerceTo | ||
) |
return a reference to the VirtualRefinement according to the parameters
- Template Parameters
-
dimension Dimension of the element to refine CoordType C++ type of the coordinates
- Exceptions
-
NotImplemented There is no Refinement implementation for the specified parameters.
- Parameters
-
geometryType geometry type of the refined element coerceTo geometry type of the subelements
References Dune::GeometryType::dim(), and Dune::GeometryType::id().
◆ checkGeometry()
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
-
TestGeometry The type of the geometry to be tested
- Parameters
-
geometry The TestGeometry object to be tested
- Returns
- true if check passed
◆ cond()
const T1 Dune::cond | ( | bool | b, |
const T1 & | v1, | ||
const T2 & | v2 | ||
) |
conditional evaluate
sometimes call immediate if, evaluates to
In contrast to if-then-else the cond function can also be evaluated for vector valued SIMD data types, see simd.hh.
- Parameters
-
b boolean value v1 value of b==true v2 value of b==false
Referenced by Dune::Simd::Overloads::cond().
◆ createScalarProduct()
std::shared_ptr< ScalarProduct< X > > Dune::createScalarProduct | ( | const Comm & | comm, |
SolverCategory::Category | category | ||
) |
- Note
- Using this helper, you are responsible for the life-time management of comm
References stackobject_to_shared_ptr().
◆ defaultViolatedAlignment()
|
static |
default alignment violation handler
Prints it's arguments on stderr
and aborts.
References className().
Referenced by violatedAlignmentHandler().
◆ field_cast()
|
inline |
a helper class to cast from one field to another
This cast can be used for assignment between different field types, including for example between FieldVectors with different fields. Specially the conversion from a special type e.g. gmp to build in types are provided, the other direction can be more easily handled by the special field type implementation.
◆ fillGridViewInfoSerial()
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::Hybrid::forEach(), Dune::GridViewInfo< ctype >::gridName, Dune::GridViewInfo< ctype >::gridViewName, Dune::FloatCmp::gt(), Dune::Hybrid::max, Dune::Hybrid::min, Dune::GridViewInfo< ctype >::partitionName, Dune::Mapper< G, MapperImp, IndexType >::size(), Dune::EntityInfo< ctype >::volumeMax, Dune::EntityInfo< ctype >::volumeMin, and Dune::EntityInfo< ctype >::volumeSum.
◆ fillIndexSetHoles()
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
-
graph The graph to reparition. oocomm The communication information.
Referenced by graphRepartition().
◆ filter() [1/2]
|
constexpr |
Return the elements from the sequence [JJ...) which are accepted by the Filter, i.e., for which f(integral_constant<JJ>) == true
References head(), push_front(), and tail().
◆ filter() [2/2]
|
constexpr |
Return the elements from the sequence [JJ...) which are accepted by the Filter, i.e., for which Filter<JJ>::value == true
References head(), push_front(), and tail().
◆ flatMatrixForEach()
std::pair< std::size_t, std::size_t > Dune::flatMatrixForEach | ( | Matrix && | matrix, |
F && | f, | ||
std::size_t | rowOffset = 0 , |
||
std::size_t | colOffset = 0 |
||
) |
Traverse a blocked matrix and call a functor at each scalar entry.
The functor f
is assumed to have the signature
void(auto&& entry, std::size_t rowOffset, std::size_t colOffset)
taking a scalar entry and the current flat offset (index) of both row and column.
The restrictions on the matrix are:
- well aligned blocks (otherwise there is no sense in the total number of scalar rows/cols)
- all blocks have positive non-zero column / row number
- at least one entry must be present if dynamic matrix types are wrapped within other dynamic matrix types
- if the block size of a sparse matrix is statically known at compile time, the matrix can be empty
The return value is a pair of the total number of scalar rows and columns of the matrix.
Referenced by Dune::Cholmod< Vector, Index >::setMatrix().
◆ flatVectorForEach()
std::size_t Dune::flatVectorForEach | ( | Vector && | vector, |
F && | f, | ||
std::size_t | offset = 0 |
||
) |
Traverse a blocked vector and call a functor at each scalar entry.
The functor f
is assumed to have the signature
void(auto&& entry, std::size_t offset)
taking a scalar entry and the current flat offset (index) of this position.
It returns the total number of scalar entries. Similar to dimension()
for some DUNE vector types.
References Dune::Hybrid::forEach().
Referenced by Dune::UMFPack< M >::apply(), and Dune::Cholmod< Vector, Index >::apply().
◆ geometryTypeFromVertexCount()
|
inline |
Utility function to construct the correct geometry type given the dimension and the number of vertices.
- Note
- This code only works up to dimension 3. In higher dimensions the number of vertices does not uniquely identify the type of polyhedron.
References DUNE_THROW, Dune::GeometryTypes::hexahedron, Dune::GeometryTypes::line, Dune::GeometryTypes::prism, Dune::GeometryTypes::pyramid, Dune::GeometryTypes::quadrilateral, Dune::GeometryTypes::tetrahedron, Dune::GeometryTypes::triangle, and Dune::GeometryTypes::vertex.
◆ graphRepartition()
bool Dune::graphRepartition | ( | const G & | graph, |
Dune::OwnerOverlapCopyCommunication< T1, T2 > & | oocomm, | ||
Metis::idx_t | nparts, | ||
std::shared_ptr< 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
-
graph The given graph to repartition oocomm The parallel information about the graph. nparts The number of domains the repartitioning should achieve. [out] outcomm Pointer store the parallel information of the redistributed domains in. redistInf Redistribute interface verbose Verbosity flag to give out additional information.
References Dune::Communication< MPI_Comm >::barrier(), Dune::ParallelIndexSet< TG, TL, N >::begin(), Dune::SolverCategory::category(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::copyCopyToAll(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::copyOwnerToAll(), Dune::Timer::elapsed(), Dune::ParallelIndexSet< TG, TL, N >::end(), fillIndexSetHoles(), Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::indexSet(), Dune::SolverCategory::nonoverlapping, Dune::Communication< MPI_Comm >::rank(), Dune::Timer::reset(), Dune::ParallelIndexSet< TG, TL, N >::size(), and Dune::Communication< MPI_Comm >::size().
◆ hash_combine()
|
inline |
Calculates the hash value of arg and combines it in-place with seed.
- Parameters
-
seed The hash value that will be combined with the hash of arg. arg The object for which to calculate a hash value and combine it with seed.
Referenced by hash_range().
◆ hash_range() [1/2]
|
inline |
Hashes all elements in the range [first,last) and returns the combined hash.
- Parameters
-
first Iterator pointing to the first object to hash. last Iterator 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]
|
inline |
Hashes all elements in the range [first,last) and combines the hashes in-place with seed.
- Parameters
-
seed Start value that will be combined with the hash values of all objects in the range using hash_combine() in sequential fashion. first Iterator pointing to the first object to hash. last Iterator pointing one past the last object to hash.
References hash_combine().
◆ makeScalarProduct()
std::shared_ptr< ScalarProduct< X > > Dune::makeScalarProduct | ( | std::shared_ptr< const Comm > | comm, |
SolverCategory::Category | category | ||
) |
Choose the appropriate scalar product for a solver category.
- Todo:
- this helper function should be replaced by a proper factory
As there is only one scalar product for each solver category it is possible to choose the appropriate product at compile time.
In each specialization of the this struct there will be a typedef ScalarProduct available the defines the type of the scalar product.
References Dune::SolverCategory::sequential.
◆ operator!=()
|
inline |
Comparison operator for MPI compatibility.
Always returns false.
◆ operator==() [1/2]
|
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.
References Dune::Hybrid::equals().
◆ operator==() [2/2]
|
inline |
Comparison operator for MPI compatibility.
Always returns true.
◆ power()
|
constexpr |
Power method for integer exponents.
- Note
- Make sure that Base is a non-integer type when using negative exponents!
- Examples
- recipe-geometry-grid.cc, recipe-linear-system-assembly.cc, recipe-linear-system-solution-istl.cc, and recipe-linear-system-solution-pdelab.cc.
Referenced by Dune::Torus< Communication, d >::color(), Dune::Functions::LagrangePreBasis< GV, k, R >::computeDofsPerCube(), Dune::MonomImp::Evaluate< Traits, c >::eval(), Dune::MonomImp::Evaluate< Traits, 1 >::eval(), Dune::SimplexP1BubbleLocalBasis< D, R, dim >::evaluateFunction(), Dune::SimplexP1BubbleLocalBasis< D, R, dim >::evaluateJacobian(), Dune::HierarchicalSimplexP2WithElementBubbleLocalBasis< D, R, dim >::evaluateJacobian(), Dune::YaspGrid< dim, Coordinates >::makelevel(), Dune::Functions::LagrangePreBasis< GV, k, R >::maxNodeSize(), Dune::SimplexP1BubbleLocalBasis< D, R, dim >::partial(), Dune::HierarchicalSimplexP2WithElementBubbleLocalBasis< D, R, dim >::partial(), Dune::PowerCoefficients::PowerCoefficients(), and Dune::LagrangeCubeLocalFiniteElement< D, R, dim, k >::size().
◆ printGrid()
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
-
GridType the type of grid to work with
- Parameters
-
grid the grid to print helper an MPIHelper to create unique output file names in parallel case output_file the base of the output filename size size of the plot in pixels; increase if plot is too cramped execute_plot whether to execute gnuplot automatically png whether to use PNG or SVG as the output format local_corner_indices whether to show local corner indices local_intersection_indices whether to show local intersection indices outer_normals whether to show outer normals of intersections Creates a gnuplot (one per process if parallel) showing the grid structure with indices, intersection types etc.
References DUNE_THROW, Dune::Mapper< G, MapperImp, IndexType >::index(), mcmgElementLayout(), mcmgVertexLayout(), Dune::MPIHelper::rank(), size(), Dune::Mapper< G, MapperImp, IndexType >::subIndex(), and Dune::FloatCmp::trunc().
◆ redistributeMatrix()
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
-
origMatrix The matrix on the original partitioning. newMatrix An empty matrix to store the new redistributed matrix in. origComm The parallel information of the original partitioning. newComm The parallel information of the new partitioning. ri The remote index information between the original and the new partitioning. Upon exit of this method it will be prepared for copying from owner to owner vertices for data redistribution.
- Template Parameters
-
M The matrix type. It is assumed to be sparse. E.g. BCRSMatrix. C The type of the parallel information, see OwnerOverlapCopyCommunication.
◆ reduceOrder()
void Dune::reduceOrder | ( | const InIterator & | inBegin, |
const InIterator & | inEnd, | ||
OutIterator | outIt | ||
) |
Algorithm to reduce vertex order information.
- Parameters
-
inBegin Start of the range of ids to reduce. inEnd End of the range of ids to reduce. outIt Start 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()
|
inline |
Create a shared_ptr for a stack-allocated object.
Usage:
The std::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
- null_deleter
- Examples
- recipe-operator-splitting.cc.
Referenced by createScalarProduct(), Dune::PDELab::InstationarySumLocalOperator< std::tuple< Args... > >::InstationarySumLocalOperator(), Dune::TypeTree::PowerNode< T, k >::PowerNode(), Dune::TypeTree::DynamicPowerNode< T >::setChild(), Dune::TypeTree::PowerNode< T, k >::setChild(), Dune::PDELab::GridFunctionProbe< GF >::setGridFunction(), Dune::PDELab::WeightedSumLocalOperator< K, std::tuple< Args... > >::WeightedSumLocalOperator(), and wrap_or_move().
◆ transpose() [1/3]
auto Dune::transpose | ( | const Matrix & | matrix | ) |
Return the transposed of the given matrix.
- Parameters
-
matrix The matrix to be transposed.
This overload is selected if the given matrix supports
. It will return the result of
.
Referenced by Dune::MappedGeometry< Map, Geo >::jacobianInverseTransposed(), Dune::MappedGeometry< Map, Geo >::jacobianTransposed(), and transposedView().
◆ transpose() [2/3]
Create a wrapper modelling the transposed matrix.
- Parameters
-
matrix The matrix to be transposed.
This overload is selected if the given value is a
of a matrix. It will return a wrapper storing a reference of the given matrix.
Currently the wrapper only implements
if a is a FieldMatrix of appropriate size. This is optimal even for sparse b because it only relies on calling b.mv(a[i], c[i]) for the rows of a. Furthermore the wrapper can be converted to a suitable dense FieldMatrix using the
method if the wrapped matrix allows to iterate over its entries and matrix-vector multiplication using
if the wrapped matrix provides the
.
This specialization allows to pass a
of a matrix to explicitly request, that the latter is stored by reference in the wrapper.
◆ transpose() [3/3]
auto Dune::transpose | ( | Matrix && | matrix | ) |
Create a wrapper modelling the transposed matrix.
- Parameters
-
matrix The matrix to be transposed.
This overload is selected if the given matrix does not support
. It will return a wrapper storing a copy of the given matrix.
Currently the wrapper only implements
if a is a FieldMatrix of appropriate size. This is optimal even for sparse b because it only relies on calling
for the rows of a. Furthermore the wrapper can be converted to a suitable dense FieldMatrix using the
method if the wrapped matrix allows to iterate over its entries and matrix-vector multiplication using
if the wrapped matrix provides the
.
◆ transposedView()
Create a view modelling the transposed matrix.
- Parameters
-
matrix The matrix to be transposed.
The returned view stores a reference of the given matrix. Calling
is equivalent to
.
References transpose().
◆ uniqueTypeList()
|
constexpr |
Remove duplicates from a Dune::TypeList.
For a given Dune::TypeList<T...> this return a Dune::TypeList<S...>, where S... is generated by removing duplicate types from T... .
◆ violatedAlignment()
void Dune::violatedAlignment | ( | const char * | className, |
std::size_t | expectedAlignment, | ||
const void * | address | ||
) |
called when an alignment violation is detected
className
Name of the class whose alignment was violated expectedAlignment
The (over-)alignment that the class expected address
The address the class actually found itself at.
The main purpose of the function is to serve as a convenient breakpoint for debugging – which is why we put it in an external compilation unit so it isn't inlined.
References className(), and violatedAlignmentHandler().
◆ violatedAlignmentHandler()
ViolatedAlignmentHandler & Dune::violatedAlignmentHandler | ( | ) |
access the handler called by violatedAlignment()
This may be used to obtain the handler for the purpose of calling, or for saving it somewhere to restore it later. It may also be used to set the handler simply by assigning a new handler. Setting the handler races with other accesses.
References defaultViolatedAlignment().
Referenced by violatedAlignment().
◆ wrap_or_move() [1/2]
auto Dune::wrap_or_move | ( | T && | t | ) |
Capture R-value reference to shared_ptr.
This will store a copy of the passed object in a shared_ptr.
The two overloads of wrap_or_move are intended to capture references and temporaries in a unique way without creating copies and only moving if necessary.
Be careful: Only use this function if you are aware of it's implications. You can e.g. easily end up storing a reference to a temporary if you use this inside of another function without perfect forwarding.
◆ wrap_or_move() [2/2]
auto Dune::wrap_or_move | ( | T & | t | ) |
Capture L-value reference to std::shared_ptr.
This will store a pointer for the passed reference in a non-owning std::shared_ptr.
The two overloads of wrap_or_move are intended to capture references and temporaries in a unique way without creating copies and only moving if necessary.
Be careful: Only use this function if you are aware of it's implications. You can e.g. easily end up storing a reference to a temporary if you use this inside of another function without perfect forwarding.
References stackobject_to_shared_ptr().