Dune Core Modules (unstable)
Namespaces | |
Capabilities | |
Contains all capabilities classes. | |
Concept | |
Namespace for concepts. | |
FloatCmp | |
GeoGrid | |
namespace containing the implementations of GeometryGrid | |
GeometryTypes | |
Predefined GeometryTypes for common geometries. | |
Indices | |
Namespace with predefined compile time indices for the range [0,19]. | |
MathOverloads | |
namespace for customization of math functions with Dune-Semantics | |
Partitions | |
Predefined PartitionSets for commonly used combinations of parallel grid PartitionTypes. | |
QuadratureType | |
Defines an enum for currently available quadrature rules. | |
RefinementImp | |
This namespace contains the implementation of Refinement. | |
Simd | |
Namespace for vectorization interface functions used by library developers. | |
Std | |
Namespace for features backported from new C++ standards. | |
Classes | |
class | AlignedAllocator |
Allocators which guarantee alignment of the memory. More... | |
class | ArrayListIterator |
A random access iterator for the Dune::ArrayList class. More... | |
class | ConstArrayListIterator |
A constant random access iterator for the Dune::ArrayList class. More... | |
class | ArrayList |
A dynamically growing random access list. More... | |
struct | MPITraits |
A traits class describing the mapping of types onto MPI_Datatypes. More... | |
class | bigunsignedint |
Portable very large unsigned integers. 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 | BitSetVector |
A dynamic array of blocks of booleans. More... | |
class | BitSetVectorReference |
A proxy class that acts as a mutable reference to a single bitset in a BitSetVector. More... | |
class | BitSetVectorConstReference |
A proxy class that acts as a const reference to a single bitset in a BitSetVector. More... | |
struct | const_reference< BitSetVectorReference< block_size, Alloc > > |
class | CopyableOptional |
A copyable type wrapper that provides copy/move assignment operations for types that are only copy/move constructible. More... | |
class | AlignedBase |
CRTP base mixin class to check alignment. More... | |
struct | greater_or_equal |
Greater or equal template test. More... | |
struct | common_bits |
activate if current and mask have common bits switched on. More... | |
class | DebugStreamError |
standard exception for the debugstream More... | |
class | DebugStreamState |
Intermediate class to implement tie-operation of DebugStream. More... | |
class | DebugStream |
Generic class to implement debug output streams. More... | |
class | DenseMatrix |
A dense n x m matrix. More... | |
class | FieldMatrix |
A dense n x m matrix. More... | |
class | FieldVector |
vector space out of a tensor product of fields. More... | |
struct | DenseMatrixAssigner |
you have to specialize this structure for any type that should be assignable to a DenseMatrix More... | |
class | FMatrixError |
Error thrown if operations of a FieldMatrix fail. More... | |
class | DenseVector |
Interface for a class of dense vectors over a given field. More... | |
class | DenseIterator |
Generic iterator class for dense vector and matrix implementations. More... | |
class | ContainerWrapperIterator |
Iterator class for sparse vector-like containers. More... | |
class | DiagonalMatrix |
A diagonal matrix of static size. More... | |
struct | ImplementationDefined |
Dummy struct used for documentation purposes. More... | |
class | DynamicMatrix |
Construct a matrix with a dynamic size. More... | |
class | DynamicVector |
Construct a vector with a dynamic size. More... | |
class | EmptySet |
An empty set. More... | |
class | AllSet |
A set containing everything. More... | |
class | EnumItem |
A set consisting only of one item. More... | |
class | EnumRange |
A set representing a range including the borders. 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 | Combine |
A set combining two other sets. More... | |
class | Exception |
Base class for Dune-Exceptions. More... | |
struct | ExceptionHook |
Base class to add a hook to the Dune::Exception. More... | |
class | IOError |
Default exception class for I/O errors. More... | |
class | MathError |
Default exception class for mathematical errors. More... | |
class | RangeError |
Default exception class for range errors. More... | |
class | NotImplemented |
Default exception for dummy implementations. More... | |
class | SystemError |
Default exception class for OS errors. More... | |
class | OutOfMemoryError |
Default exception if memory allocation fails. More... | |
class | InvalidStateException |
Default exception if a function was called while the object is not in a valid state for that function. More... | |
class | ParallelError |
Default exception if an error in the parallel communication of the program occurred. More... | |
class | FloatCmpOps |
Class encapsulating a default epsilon. More... | |
struct | IsFieldVectorSizeCorrect |
TMP to check the size of a DenseVectors statically, if possible. More... | |
struct | const_reference |
Get the 'const' version of a reference to a mutable object. More... | |
struct | mutable_reference |
get the 'mutable' version of a reference to a const object More... | |
class | GenericIterator |
Generic class for stl-conforming iterators for container classes with operator[]. More... | |
class | GMPField |
Number class for high precision floating point number using the GMP library mpf_class implementation. More... | |
struct | hash |
Functor for hashing objects of type T. More... | |
class | Indent |
Utility class for handling nested indentation in output. More... | |
struct | Cloneable |
An interface class for cloneable objects. More... | |
class | ios_base_all_saver |
Utility class for storing and resetting stream attributes. More... | |
class | ForwardIteratorFacade |
Base class for stl conformant forward iterators. More... | |
class | BidirectionalIteratorFacade |
Facade class for stl conformant bidirectional iterators. More... | |
class | RandomAccessIteratorFacade |
Base class for stl conformant forward iterators. More... | |
class | IteratorRange |
Simple range between a begin and an end iterator. More... | |
class | lru |
LRU Cache Container. More... | |
class | MallocAllocator |
Allocators implementation which simply calls malloc/free. More... | |
struct | StandardMathematicalConstants |
Standard implementation of MathematicalConstants. More... | |
struct | MathematicalConstants |
Provides commonly used mathematical constants. More... | |
struct | Factorial |
struct | Factorial< 0 > |
end of recursion of factorial via specialization More... | |
class | Communication |
Collective communication interface and sequential default implementation. More... | |
struct | SizeOne |
Flag for marking indexed data structures where data at each index is of the same size. More... | |
struct | VariableSize |
Flag for marking indexed data structures where the data at each index may be a variable multiple of another type. More... | |
struct | CommPolicy |
Default policy used for communicating an indexed type. More... | |
class | BufferedCommunicator |
A communicator that uses buffers to gather and scatter the data to be send or received. More... | |
class | 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 | PseudoFuture |
A wrapper-class for a object which is ready immediately. More... | |
class | Future |
Type-erasure for future-like objects. A future-like object is a object satisfying the interface of FutureBase. More... | |
class | IndexPair |
A pair consisting of a global and local index. More... | |
class | InvalidIndexSetState |
Exception indicating that the index set is not in the expected state. More... | |
class | GlobalLookupIndexSet |
Decorates an index set with the possibility to find a global index that is mapped to a specific local. More... | |
class | ParallelIndexSet |
Manager class for the mapping between local indices and globally unique indices. More... | |
class | IndicesSyncer |
Class for recomputing missing indices of a distributed index set. More... | |
class | InterfaceBuilder |
Base class of all classes representing a communication interface. More... | |
class | InterfaceInformation |
Information describing an interface. More... | |
class | Interface |
Communication interface between remote and local indices. More... | |
class | LocalIndex |
An index present on the local process. More... | |
class | Communication< MPI_Comm > |
Specialization of Communication for MPI. 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 | MPIGuardError |
This exception is thrown if the MPIGuard detects an error on a remote process. More... | |
class | MPIGuard |
detects a thrown exception and communicates to all other processes More... | |
class | FakeMPIHelper |
A fake mpi helper. More... | |
class | MPIHelper |
A real mpi helper. More... | |
class | ParallelLocalIndex |
An index present on the local process with an additional attribute flag. More... | |
class | MPITraits< ParallelLocalIndex< T > > |
class | MPITraits< IndexPair< TG, ParallelLocalIndex< TA > > > |
class | RemoteIndices |
The indices present on remote processes. 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 | CollectiveIterator |
A collective iterator for moving over the remote indices for all processes collectively. More... | |
class | OwnerOverlapCopyCommunication |
A class setting up standard communication for a two-valued attribute set with owner/overlap/copy semantics. More... | |
class | SelectionIterator |
A const iterator over an uncached selection. More... | |
class | UncachedSelection |
An uncached selection of indices. More... | |
class | Selection |
A cached selection of indices. More... | |
class | VariableSizeCommunicator |
A buffered communicator where the amount of data sent does not have to be known a priori. More... | |
class | ParameterizedObjectFactory |
A factory class for parameterized objects. More... | |
class | ParameterTree |
Hierarchical structure of string parameters. More... | |
class | ParameterTreeParserError |
report parser error while reading ParameterTree More... | |
class | HelpRequest |
exception thrown if the user wants to see help string More... | |
class | ParameterTreeParser |
Parsers to set up a ParameterTree from various input sources. More... | |
class | Pool |
A memory pool of objects. More... | |
class | PoolAllocator |
An allocator managing a pool of objects for reuse. More... | |
class | FMatrixPrecision |
Precisions for calculations with FieldMatrix and FieldVector. More... | |
struct | PromotionTraits |
Compute type of the result of an arithmetic operation involving two different number types. More... | |
struct | ReadablePropertyMapTag |
Tag for the category of readable property maps. More... | |
struct | WritablePropertyMapTag |
Tag for the category of writable property maps. More... | |
struct | ReadWritePropertyMapTag |
Tag for the category of readable and writable property maps. More... | |
struct | LvaluePropertyMapTag |
Tag for the category of lvalue property maps. More... | |
class | IteratorPropertyMap |
Adapter to turn a random access iterator into a property map. More... | |
class | AssociativePropertyMap |
An adapter to turn an unique associative container into a property map. More... | |
class | ConstAssociativePropertyMap |
An adaptor to turn an unique associative container into a property map. More... | |
struct | IdentityMap |
A property map that applies the identity function to integers. More... | |
struct | PropertyMapTypeSelector |
Selector for the property map type. More... | |
class | IntegralRange |
dynamic integer range for use in range-based for loops More... | |
class | StaticIntegralRange |
static integer range for use in range-based for loops More... | |
struct | ValueTransformationTag |
Tag to enable value based transformations in TransformedRangeView. More... | |
struct | IteratorTransformationTag |
Tag to enable iterator based transformations in TransformedRangeView. More... | |
class | TransformedRangeView |
A range transforming the values of another range on-the-fly. More... | |
class | ReservedVector |
A Vector class with statically reserved memory. More... | |
struct | null_deleter |
implements the Deleter concept of shared_ptr without deleting anything More... | |
class | LoopSIMD |
struct | AutonomousValueType< Simd::VcImpl::Proxy< V > > |
Specialization of AutonomousValue for Vc proxies. More... | |
struct | SimdScalarTypeTraits< AlignedNumber< T, align > > |
deduce the underlying scalar data type of an AlignedNumber More... | |
class | Singleton |
An adapter to turn a class into a singleton. More... | |
class | SLListIterator |
A mutable iterator for the SLList. More... | |
class | SLListConstIterator |
A constant iterator for the SLList. More... | |
class | SLListModifyIterator |
A mutable iterator for the SLList. More... | |
class | SLList |
A single linked list. More... | |
class | ArithmeticTestSuite |
Test suite for arithmetic types. More... | |
class | CollectorStream |
Data collector stream. More... | |
class | TestSuite |
A Simple helper class to organize your test suite. More... | |
class | Timer |
A simple stop watch. More... | |
struct | NullPointerInitialiser |
A helper template that initializes a std::tuple consisting of pointers to nullptr. 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 | TransformTupleFunctor |
struct | AddRefTypeEvaluator |
TypeEvaluator to turn a type T into a reference to T More... | |
struct | AddPtrTypeEvaluator |
TypeEvaluator to turn a type T into a pointer to T More... | |
struct | AtType |
Type for reverse element access. More... | |
struct | At |
Reverse element access. More... | |
struct | PointerPairDeletor |
Deletes all objects pointed to in a std::tuple of pointers. More... | |
class | FirstPredicateIndex |
Finding the index of a certain type in a std::tuple. More... | |
struct | IsType |
Generator for predicates accepting one particular type. More... | |
struct | FirstTypeIndex |
Find the first occurrence of a type in a std::tuple. 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... | |
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... | |
struct | JoinTuples |
Join two std::tuple's. More... | |
struct | FlattenTuple |
Flatten a std::tuple of std::tuple's. More... | |
class | TupleVector |
A class augmenting std::tuple by element access via operator[]. More... | |
struct | MetaType |
A type that refers to another type. More... | |
struct | IsTypeList |
Check if given type is a TypeList. More... | |
struct | IsTypeList< TypeList< T... > > |
Check if given type is a TypeList. More... | |
struct | IsEmptyTypeList |
Check if given type is an empty TypeList. More... | |
struct | TypeListSize< TypeList< T... > > |
Get size of TypeList. More... | |
struct | TypeListElement< i, TypeList< T... > > |
Get element of TypeList. More... | |
struct | Empty |
Just an empty class. More... | |
struct | IsInteroperable |
Checks whether two types are interoperable. More... | |
struct | EnableIfInterOperable |
Enable typedef if two types are interoperable. More... | |
struct | AlwaysFalse |
template which always yields a false value More... | |
struct | AlwaysTrue |
template which always yields a true value 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 | HasNaN |
Whether this type has a value of NaN. 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 | IsIterable |
typetrait to check that a class has begin() and end() members More... | |
struct | IsTuple |
Check if T is a std::tuple<...> More... | |
struct | IsTupleOrDerived |
Check if T derived from a std::tuple<...> More... | |
struct | IsIntegralConstant |
Check if T is an std::integral_constant<I, i> More... | |
struct | IsCompileTimeConstant |
Check if T is an integral constant or any type derived from std::integral_constant . More... | |
struct | SizeOf |
Compute size of variadic type list. More... | |
struct | IntegerSequenceEntry |
Get entry of std::integer_sequence. More... | |
struct | AutonomousValueType |
Type free of internal references that T can be converted to. More... | |
struct | AutonomousValueType< T & > |
Specialization to remove lvalue references. More... | |
struct | AutonomousValueType< T && > |
Specialization to remove rvalue references. More... | |
struct | AutonomousValueType< const T > |
Specialization to remove const qualifiers. More... | |
struct | AutonomousValueType< volatile T > |
Specialization to remove volatile qualifiers. More... | |
struct | AutonomousValueType< std::vector< bool >::reference > |
Specialization for the proxies of vector<bool> More... | |
struct | AutonomousValueType< volatile const T > |
Specialization to remove both const and volatile qualifiers. More... | |
struct | PriorityTag |
Helper class for tagging priorities. More... | |
struct | PriorityTag< 0 > |
Helper class for tagging priorities. More... | |
class | OverlappingSchwarzInitializer |
Initializer for SuperLU Matrices representing the subdomains. More... | |
struct | CompressionStatistics |
Statistics about compression achieved in implicit mode. More... | |
class | ImplicitMatrixBuilder |
A wrapper for uniform access to the BCRSMatrix during and after the build stage in implicit build mode. More... | |
class | BCRSMatrix |
A sparse block matrix with compressed row storage. More... | |
class | BDMatrix |
A block-diagonal matrix. More... | |
class | MultiTypeBlockVector |
A Vector class to support different block types. More... | |
class | MultiTypeBlockMatrix |
A Matrix class to support different block types. More... | |
class | BTDMatrix |
A block-tridiagonal matrix. More... | |
class | BlockVector |
A vector of blocks with memory management. More... | |
class | Cholmod |
Dune wrapper for SuiteSparse/CHOLMOD solver. More... | |
class | ArPackPlusPlus_Algorithms |
Wrapper to use a range of ARPACK++ eigenvalue solvers. More... | |
class | PowerIteration_Algorithms |
Iterative eigenvalue algorithms based on power iteration. More... | |
struct | BL |
compile-time parameter for block recursion depth More... | |
class | ILUSubdomainSolver |
base class encapsulating common algorithms of ILU0SubdomainSolver and ILUNSubdomainSolver. More... | |
class | ILU0SubdomainSolver |
Exact subdomain solver using ILU(p) with appropriate p. More... | |
struct | DefaultSVGMatrixOptions |
Default options class to write SVG matrices. More... | |
class | ISTLError |
derive error class from the base class in common More... | |
class | BCRSMatrixError |
Error specific to BCRSMatrix. More... | |
class | ImplicitModeCompressionBufferExhausted |
Thrown when the compression buffer used by the implicit BCRSMatrix construction is exhausted. More... | |
class | SolverAbort |
Thrown when a solver aborts due to some problem. More... | |
class | MatrixBlockError |
Error when performing an operation on a matrix block. More... | |
class | SeqOverlappingSchwarz |
Sequential overlapping Schwarz preconditioner. 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 | Matrix |
A generic dynamic dense matrix. More... | |
class | MatrixIndexSet |
Stores the nonzero entries for creating a sparse matrix. More... | |
struct | MatMultMatResult |
Helper TMP to get the result type of a sparse matrix matrix multiplication ( \(C=A*B\)) More... | |
struct | TransposedMatMultMatResult |
Helper TMP to get the result type of a sparse matrix matrix multiplication ( \(C=A*B\)) 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 | CommMatrixRow |
Utility class for comunicating the matrix entries. More... | |
struct | CheckIfDiagonalPresent |
Check whether the a matrix has diagonal values on blocklevel recursion levels. More... | |
struct | IsMatrix |
Test whether a type is an ISTL Matrix. More... | |
class | MultiTypeBlockMatrix_Solver |
solver for MultiTypeBlockVector & MultiTypeBlockMatrix types More... | |
class | MultiTypeBlockMatrix_Solver_Col |
part of solvers for MultiTypeBlockVector & MultiTypeBlockMatrix types More... | |
class | NonoverlappingSchwarzOperator |
A nonoverlapping operator with communication object. More... | |
class | NonoverlappingBlockPreconditioner |
Nonoverlapping parallel preconditioner. More... | |
class | LinearOperator |
A linear operator. More... | |
class | AssembledLinearOperator |
A linear operator exporting itself in matrix form. More... | |
class | MatrixAdapter |
Adapter to turn a matrix into a linear operator. More... | |
struct | AdditiveSchwarzMode |
Tag that the tells the Schwarz method to be additive. More... | |
struct | MultiplicativeSchwarzMode |
Tag that tells the Schwarz method to be multiplicative. More... | |
struct | SymmetricMultiplicativeSchwarzMode |
Tag that tells the Schwarz method to be multiplicative and symmetric. More... | |
class | DynamicMatrixSubdomainSolver |
Exact subdomain solver using Dune::DynamicMatrix<T>::solve. More... | |
struct | AdderSelector |
template meta program for choosing how to add the correction. More... | |
struct | IteratorDirectionSelector |
Helper template meta program for application of overlapping Schwarz. More... | |
struct | SeqOverlappingSchwarzApplier |
Helper template meta program for application of overlapping Schwarz. More... | |
struct | SeqOverlappingSchwarzDomainSize |
struct | OwnerOverlapCopyAttributeSet |
Attribute set for overlapping Schwarz. More... | |
class | IndexInfoFromGrid |
Information about the index distribution. More... | |
class | OverlappingSchwarzOperator |
An overlapping Schwarz operator. More... | |
class | Preconditioner |
Base class for matrix free definition of preconditioners. More... | |
class | InverseOperator2Preconditioner |
Turns an InverseOperator into a Preconditioner. More... | |
class | SeqSSOR |
Sequential SSOR preconditioner. More... | |
class | SeqSOR |
Sequential SOR preconditioner. More... | |
class | SeqJac |
The sequential jacobian preconditioner. More... | |
class | SeqDILU |
Sequential DILU preconditioner. More... | |
class | SeqILU |
Sequential ILU preconditioner. More... | |
class | Richardson |
Richardson preconditioner. More... | |
class | SeqILDL |
sequential ILDL preconditioner More... | |
class | ScalarProduct |
Base class for scalar product and norm computation. More... | |
class | ParallelScalarProduct |
Scalar product for overlapping Schwarz methods. More... | |
class | SeqScalarProduct |
Default implementation for the scalar case. More... | |
class | NonoverlappingSchwarzScalarProduct |
Nonoverlapping Scalar Product with communication object. More... | |
class | OverlappingSchwarzScalarProduct |
Scalar product for overlapping Schwarz methods. More... | |
class | ScaledIdentityMatrix |
A multiple of the identity matrix of static size. More... | |
class | ParSSOR |
A parallel SSOR preconditioner. More... | |
class | BlockPreconditioner |
Block parallel preconditioner. More... | |
struct | InverseOperatorResult |
Statistics about the application of an inverse operator. More... | |
class | InverseOperator |
Abstract base class for all solvers. More... | |
class | IterativeSolver |
Base class for all implementations of iterative 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... | |
struct | SolverCategory |
Categories for the solvers. More... | |
class | SolverFactory |
Factory to assembly solvers configured by a ParameterTree . More... | |
class | LoopSolver |
Preconditioned loop solver. More... | |
class | GradientSolver |
gradient method More... | |
class | CGSolver |
conjugate gradient method More... | |
class | BiCGSTABSolver |
Bi-conjugate Gradient Stabilized (BiCG-STAB) More... | |
class | MINRESSolver |
Minimal Residual Method (MINRES) More... | |
class | RestartedGMResSolver |
implements the Generalized Minimal Residual (GMRes) method More... | |
class | RestartedFlexibleGMResSolver |
implements the Flexible Generalized Minimal Residual (FGMRes) method (right preconditioned) More... | |
class | GeneralizedPCGSolver |
Generalized preconditioned conjugate gradient solver. More... | |
class | RestartedFCGSolver |
Accelerated flexible conjugate gradient method. More... | |
class | CompleteFCGSolver |
Complete flexible conjugate gradient method. 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... | |
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... | |
class | UMFPack |
The UMFPack direct sparse solver. More... | |
class | VariableBlockVector |
A Vector of blocks with different blocksizes. More... | |
class | AffineGeometry |
Implementation of the Geometry interface for affine geometries. More... | |
class | AxisAlignedCubeGeometry |
A geometry implementation for axis-aligned hypercubes. More... | |
struct | Dim |
Static tag representing a dimension. More... | |
struct | Codim |
Static tag representing a codimension. More... | |
class | GeneralVertexOrder |
Class providing information on the ordering of vertices. More... | |
struct | MultiLinearGeometryTraits |
default traits class for MultiLinearGeometry More... | |
class | MultiLinearGeometry |
generic geometry implementation based on corner coordinates More... | |
class | CachedMultiLinearGeometry |
Implement a MultiLinearGeometry with additional caching. More... | |
class | QuadraturePoint |
Single evaluation point in a quadrature rule. More... | |
class | QuadratureOrderOutOfRange |
Exception thrown if a desired QuadratureRule is not available, because the requested order is to high. 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 | RefinementIntervals |
Holds the number of refined intervals per axis needed for virtual and static refinement. More... | |
class | StaticRefinement |
Wrap each Refinement implementation to get a consistent interface. 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 | GeometryType |
Unique label for each type of entities that can occur in DUNE grids. More... | |
class | LocalGeometryTypeIndex |
Compute per-dimension indices for geometry types. More... | |
class | GlobalGeometryTypeIndex |
Compute indices for geometry types, taking the dimension into account. More... | |
class | VirtualRefinement |
VirtualRefinement base class. More... | |
class | AlbertaGrid |
[ provides Dune::Grid ] More... | |
class | Intersection |
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the domain boundary. More... | |
class | AlbertaGridTreeIterator |
class | AlbertaGridHierarchicIterator |
class | AlbertaGridEntity |
class | AlbertaGridEntity< 0, dim, Grid > |
class | AlbertaGridGeometry |
geometry implementation for AlbertaGrid More... | |
class | GridFactory< AlbertaGrid< dim, dimworld > > |
specialization of the generic GridFactory for AlbertaGrid More... | |
class | AlbertaGridIdSet |
hierarchic index set of AlbertaGrid More... | |
class | IndexStack |
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 | AlbertaMarkerVector |
marker assigning subentities to one element containing them More... | |
class | AdaptDataHandleInterface |
Interface class for the Grid's adapt method where the parameter is a AdaptDataHandleInterface. More... | |
class | CombinedAdaptProlongRestrict |
class for combining 2 index sets together for adaptation process 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 | DuneBoundaryProjection |
Interface class for vertex projection at the boundary. More... | |
class | BoundarySegmentWrapper |
struct | BoundarySegment |
Base class for classes implementing geometries of boundary segments. More... | |
class | MessageBufferIF |
Communication message buffer interface. This class describes the interface for reading and writing data to the communication message buffer. As message buffers might be deeply implemented in various packages the message buffers implementations cannot be derived from this interface class. Therefore we just apply the engine concept to wrap the message buffer call and make sure that the interface is fulfilled. More... | |
class | 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... | |
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... | |
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 | GridError |
Base class for exceptions in Dune grid modules. More... | |
class | GridDefaultImplementation |
class | Geometry |
Wrapper class for geometries. More... | |
class | GeometryDefaultImplementation |
Default implementation for class Geometry. More... | |
class | IntersectionIterator |
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" elements and with the domain boundary. More... | |
class | IndexSet |
Index Set Interface base class. More... | |
class | IdSet |
Id Set Interface. More... | |
class | Grid |
Grid abstract base class. More... | |
struct | GridTraits |
A traits struct that collects all associated types of one grid model. More... | |
struct | MakeableInterfaceObject |
class | GridFactoryInterface |
Provide a generic factory class for unstructured grids. More... | |
class | GridFactory |
Provide a generic factory class for unstructured grids. More... | |
class | GridView |
Grid view abstract base class. More... | |
class | IndexSetDefaultImplementation |
Provide default implementation of method if IndexSet. More... | |
class | IntersectionDefaultNormalVectors |
Default Implementations of integrationOuterNormal and unitOuterNormal for IntersectionImp. More... | |
class | Mapper |
Mapper interface. More... | |
class | MultipleCodimMultipleGeomTypeMapper |
Implementation class for a multiple codim and multiple geometry type mapper. More... | |
struct | PartitionSet |
A set of PartitionType values. More... | |
class | SingleCodimSingleGeomTypeMapper |
Implementation class for a single codim and single geometry type mapper. More... | |
class | SizeCache |
organizes the caching of sizes for one grid and one GeometryType More... | |
class | AnalyticalCoordFunction |
Derive an implementation of an analytical coordinate function from this class. More... | |
class | DiscreteCoordFunction |
Derive an implementation of a discrete 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 | 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 | GeometryGrid |
grid wrapper replacing the geometries More... | |
class | IdentityGrid |
Provides a meta grid that is identical to its host. More... | |
class | HostGridAccess |
provides access to host grid objects from GeometryGrid More... | |
class | IdentityGridEntity |
The implementation of entities in a IdentityGrid. More... | |
class | IdentityGridLevelIterator |
Iterator over all entities of a given codimension and level of a grid. More... | |
class | IdentityGridLevelIntersectionIterator |
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 | 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 | 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 | IdentityGridLevelIndexSet |
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 | IdentityGridLevelIntersection |
class | IdentityGridLeafIterator |
Iterator over all entities of a given codimension and level of a grid. More... | |
class | DGFException |
exception class for IO errors in the DGF parser More... | |
struct | DGFGridInfo |
Some simple static information for a given GridType. More... | |
class | DGFWriter |
write a GridView to a DGF file 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... | |
class | DGFGridFactory< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > > |
Placeholder for grid factory for YaspGrid with tensor product coordinates. More... | |
struct | GridPtr |
Class for constructing grids from DGF files. More... | |
struct | DGFBoundaryParameter |
Contains types for additional features. More... | |
class | DuneGridFormatParser |
The DuneGridFormatParser class: reads a DGF file and stores build information in vector structures used by the MacroGrid class. More... | |
struct | GmshReaderOptions |
Options for read operation. More... | |
class | GmshReaderParser |
dimension independent parts for GmshReaderParser More... | |
class | GmshReader |
Read Gmsh mesh file. More... | |
class | GmshWriter |
Write Gmsh mesh file. More... | |
class | GnuplotWriter |
Writer for 1D grids in gnuplot format. More... | |
class | LeafGnuplotWriter |
GnuplotWriter on the leaf grid. More... | |
class | LevelGnuplotWriter |
GnuplotWriter on a given level grid. More... | |
class | StarCDReader |
File reader for the Star-CD format. More... | |
struct | b64chunk |
struct representing the three byte text as well as the four 6 bit chunks More... | |
class | VTKFunction |
A base class for grid functions with any return type and dimension. 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 | Base64Stream |
class to base64 encode a stream of data More... | |
class | RawStream |
write out data in binary More... | |
class | SubsamplingVTKWriter |
Writer for the output of subsampled grid functions in the vtk format. 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... | |
class | OneDGrid |
One-dimensional adaptive grid. More... | |
class | UGGrid |
Front-end for the grid manager of the finite element toolbox UG3. More... | |
class | GridFactory< UGGrid< dimworld > > |
Specialization of the generic GridFactory for UGGrid. More... | |
class | GlobalIndexSet |
Calculate globally unique index over all processes in a Dune grid. More... | |
struct | EntityInfo |
Structure to hold statistical information about one type of entity. More... | |
struct | GridViewInfoGTCompare |
Comparison object to sort GeometryType by majorly dimension. More... | |
struct | GridViewInfo |
structure to hold information about a certain GridView. More... | |
class | HierarchicSearch |
Search an IndexSet for an Entity containing a given point. 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 | 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 | TensorGridFactory |
A factory class for conveniently creating tensorproduct grids. More... | |
class | VertexOrderByIdFactory |
Factory for GeneralVertexOrder objects using an IdSet. More... | |
class | YaspGrid |
[ provides Dune::Grid ] More... | |
class | YaspGeometry |
The general version that handles all codimensions but 0 and dim. More... | |
class | YaspEntitySeed |
Describes the minimal information necessary to create a fully functional YaspEntity. More... | |
class | YaspLevelIterator |
Iterates over entities of one grid level. More... | |
class | YaspIntersectionIterator |
YaspIntersectionIterator enables iteration over intersections with neighboring codim 0 entities. More... | |
class | YaspIntersection |
YaspIntersection provides data about intersection with neighboring codim 0 entities. More... | |
class | YaspHierarchicIterator |
YaspHierarchicIterator enables iteration over son entities of codim 0. More... | |
class | YaspIndexSet |
Implementation of Level- and LeafIndexSets for YaspGrid. More... | |
class | YaspGlobalIdSet |
persistent, globally unique Ids More... | |
class | YaspPersistentContainerIndex |
implement a consecutive index for all entities of given codim of a YaspGrid 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 | EquidistantCoordinates |
Container for equidistant coordinates in a YaspGrid. More... | |
class | EquidistantOffsetCoordinates |
Container for equidistant coordinates in a YaspGrid with non-trivial origin. More... | |
class | TensorProductCoordinates |
Coordinate container for a tensor product YaspGrid. More... | |
class | YLoadBalance |
a base class for the yaspgrid partitioning strategy More... | |
class | YLoadBalanceDefault |
Implement the default load balance strategy of yaspgrid. More... | |
class | YLoadBalancePowerD |
Implement yaspgrid load balance strategy for P=x^{dim} processors. More... | |
class | YaspFixedSizePartitioner |
Implement partitioner that gets a fixed partitioning from an array If the given partitioning doesn't match the number of processors, the grid should be distributed to, an exception is thrown. More... | |
class | 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 | Torus |
class | YaspGeometry< mydim, mydim, GridImp > |
specialize for dim=dimworld, i.e. a volume element More... | |
class | YaspGeometry< 0, cdim, GridImp > |
specialization for dim=0, this is a vertex More... | |
class | PersistentContainer< YaspGrid< dim, CoordCont >, T > |
Specialization of the PersistentContainer for YaspGrid. More... | |
class | YGridComponent |
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 | 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... | |
class | BDFMCubeLocalFiniteElement |
Brezzi-Douglas-Fortin-Marini finite elements for cubes. 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 | 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 | BDM1Cube2DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on the reference quadrilateral. More... | |
class | BDM1Cube2DLocalFiniteElement |
First order Brezzi-Douglas-Marini shape functions on quadrilaterals. 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 | BDM1Cube3DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on the reference hexahedron. More... | |
class | BDM1Cube3DLocalFiniteElement |
First order Brezzi-Douglas-Marini shape functions on 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 | BDM1Simplex2DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on the reference triangle. More... | |
class | BDM1Simplex2DLocalFiniteElement |
First order Brezzi-Douglas-Marini shape functions on triangles. 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 | BDM2Cube2DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on quadrilaterals. More... | |
class | BDM2Cube2DLocalFiniteElement |
Second 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 | BDM2Simplex2DLocalInterpolation |
First order Brezzi-Douglas-Marini shape functions on triangles. More... | |
class | BDM2Simplex2DLocalFiniteElement |
Second order Brezzi-Douglas-Marini shape functions on triangles. More... | |
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 | FiniteElementInterface |
Interface for global-valued finite elements. More... | |
class | FiniteElementFactoryInterface |
Factory interface for global-valued finite elements. More... | |
class | BasisInterface |
Interface for global-valued shape functions. More... | |
struct | InterpolationInterface |
Interface for global-valued interpolation. More... | |
struct | CoefficientsInterface |
Interface for global-valued coefficients. More... | |
struct | FiniteElementInterfaceSwitch |
Switch for uniform treatment of finite element with either the local or the global interface. More... | |
struct | BasisInterfaceSwitch |
Switch for uniform treatment of local and global basis classes. More... | |
struct | LocalBasisTraits |
Type traits for LocalBasisVirtualInterface. 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 | LocalKey |
Describe position of one degree of freedom. More... | |
struct | LocalToGlobalBasisAdaptorTraits |
Traits class for local-to-global basis adaptors. More... | |
class | ScalarLocalToGlobalBasisAdaptor |
Convert a simple scalar local basis into a global basis. More... | |
class | LocalToGlobalInterpolationAdaptor |
Convert a local interpolation into a global interpolation. More... | |
struct | ScalarLocalToGlobalFiniteElementAdaptor |
Convert a simple scalar local finite element into a global finite element. More... | |
class | ScalarLocalToGlobalFiniteElementAdaptorFactory |
Factory for ScalarLocalToGlobalFiniteElementAdaptor objects. More... | |
class | LocalInterpolationVirtualInterface |
virtual base class for a local interpolation More... | |
class | LocalFiniteElementFunctionBase |
Return a proper base class for functions to use with LocalInterpolation. More... | |
class | LocalBasisVirtualInterface |
virtual base class for a local basis More... | |
class | LocalInterpolationVirtualInterfaceBase |
virtual base class for a local interpolation More... | |
class | LocalCoefficientsVirtualInterface |
virtual base class for local coefficients More... | |
class | LocalFiniteElementVirtualInterface |
virtual base class for local finite elements with functions More... | |
class | LocalFiniteElementVirtualImp |
class for wrapping a finite element using the virtual interface More... | |
class | LocalBasisVirtualImp |
class for wrapping a basis using the virtual interface More... | |
class | LocalInterpolationVirtualImp |
class for wrapping a local interpolation using the virtual interface More... | |
class | LocalCoefficientsVirtualImp |
class for wrapping local coefficients using the virtual interface More... | |
class | CrouzeixRaviartLocalFiniteElement |
Crouzeix-Raviart finite element. 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 | DualQ1LocalInterpolation |
class | DualQ1LocalFiniteElement |
The local dual Q1 finite element on cubes. More... | |
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 | HierarchicalP2LocalFiniteElement |
class | HierarchicalSimplexP2WithElementBubbleLocalBasis< D, R, 1 > |
Hierarchical P2 basis in 1d. More... | |
class | HierarchicalSimplexP2WithElementBubbleLocalBasis< D, R, 2 > |
Hierarchical P2 basis in 1d. More... | |
class | HierarchicalSimplexP2WithElementBubbleLocalBasis< D, R, 3 > |
Hierarchical P2 basis in 1d. More... | |
class | HierarchicalSimplexP2WithElementBubbleLocalCoefficients |
The local finite element needed for the Zou-Kornhuber estimator for Signorini problems. More... | |
class | HierarchicalP2WithElementBubbleLocalFiniteElement |
class | HierarchicalPrismP2LocalInterpolation |
class | HierarchicalPrismP2LocalFiniteElement |
class | LagrangeCubeLocalFiniteElement |
Lagrange finite element for cubes with arbitrary compile-time dimension and polynomial order. 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 | P0LocalBasis |
Constant shape function. More... | |
class | P0LocalCoefficients |
Layout map for P0 elements. More... | |
class | P0LocalFiniteElement |
The local p0 finite element on all types of reference elements. More... | |
class | Pk1DFiniteElement |
Langrange finite element of arbitrary order on triangles. More... | |
struct | Pk1DFiniteElementFactory |
Factory for Pk1DFiniteElement objects. More... | |
class | Pk2DFiniteElement |
Langrange finite element of arbitrary order on triangles. More... | |
struct | Pk2DFiniteElementFactory |
Factory for Pk2DFiniteElement objects. 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... | |
struct | PQkLocalFiniteElementFactory |
Factory to create any kind of Pk/Qk like element wrapped for the virtual interface. More... | |
class | PQkLocalFiniteElementCache |
A cache that stores all available Pk/Qk like local finite elements for the given dimension and order. More... | |
class | Q1FiniteElementFactory |
Factory for global-valued Q1 elements. More... | |
class | Q2FiniteElementFactory |
Factory for global-valued Q23D elements. More... | |
class | LagrangeLocalFiniteElement |
Lagrange local finite elements for a given set of interpolation points. 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 | PowerInterpolation |
Meta-interpolation turning a scalar interpolation into vector-valued interpolation. 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 | MimeticLocalCoefficients |
! More... | |
class | MimeticLocalFiniteElement |
class | MonomialLocalBasis |
Constant shape function. More... | |
class | MonomialLocalCoefficients |
Layout map for monomial finite elements. More... | |
class | MonomialLocalFiniteElement |
Monomial basis for discontinuous Galerkin methods. More... | |
class | MonomialFiniteElementFactory |
Factory for global-valued MonomFiniteElement objects. 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... | |
class | NedelecL2Interpolation |
An L2-based interpolation for Nedelec. More... | |
class | OrthonormalLocalFiniteElement |
A class providing orthonormal basis functions. More... | |
struct | RannacherTurekLocalFiniteElement |
Rannacher-Turek shape functions. More... | |
struct | RannacherTurekLocalBasis |
Rannacher-Turek shape functions. More... | |
struct | RannacherTurekLocalCoefficients |
layout for Rannacher-Turek elements More... | |
class | RannacherTurekLocalInterpolation |
please doc me More... | |
class | RT02DLocalBasis |
Lowest order Raviart-Thomas shape functions on the reference triangle. More... | |
class | RT02DLocalCoefficients |
Layout map for RT0 elements. More... | |
class | RT02DLocalFiniteElement |
Zero order Raviart-Thomas shape functions on triangles. More... | |
class | RT03DLocalBasis |
Lowest order Raviart-Thomas shape functions on the reference tetrahedron. More... | |
class | RT03DLocalCoefficients |
Layout map for RT0 elements. More... | |
class | RT03DLocalFiniteElement |
Zero order Raviart-Thomas shape functions on tetrahedra. More... | |
class | RT0Cube2DLocalBasis |
Lowest order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT0Cube2DLocalInterpolation |
Lowest order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT0Cube2DLocalCoefficients |
Layout map for RT0 elements on quadrilaterals. More... | |
class | RT0Cube2DLocalFiniteElement |
Zero order Raviart-Thomas shape functions on rectangles. More... | |
class | RT0Cube3DLocalBasis |
Lowest order Raviart-Thomas shape functions on the reference hexahedron. More... | |
class | RT0Cube3DLocalInterpolation |
Lowest order Raviart-Thomas shape functions on the reference hexahedron. More... | |
class | RT0Cube3DLocalCoefficients |
Layout map for RT0 elements on quadrilaterals. More... | |
class | RT0Cube3DLocalFiniteElement |
Zero order Raviart-Thomas shape functions on cubes. More... | |
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 | RT0PrismLocalInterpolation |
First order Raviart-Thomas shape functions on the reference prism. More... | |
class | RT0PrismLocalFiniteElement |
First order Raviart-Thomas shape functions on prisms. 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 | RT0PyramidLocalInterpolation |
First order Raviart-Thomas shape functions on the reference hexahedron. More... | |
class | RT0PyramidLocalFiniteElement |
First order Raviart-Thomas shape functions on pyramids. 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 | RT12DLocalInterpolation |
First order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT12DLocalFiniteElement |
First order Raviart-Thomas shape functions on triangles. 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 | RT1Cube2DLocalInterpolation |
First order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT1Cube2DLocalFiniteElement |
First order Raviart-Thomas shape functions on quadrilaterals. 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 | RT1Cube3DLocalInterpolation |
First order Raviart-Thomas shape functions on the reference hexahedron. More... | |
class | RT1Cube3DLocalFiniteElement |
First order Raviart-Thomas shape functions on cubes. 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 | RT2Cube2DLocalInterpolation |
Second order Raviart-Thomas shape functions on the reference triangle. More... | |
class | RT2Cube2DLocalFiniteElement |
Second order Raviart-Thomas shape functions on cubes. 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 | RT3Cube2DLocalInterpolation |
Second order Raviart-Thomas shape functions on the reference quadrilateral. More... | |
class | RT3Cube2DLocalFiniteElement |
Second order Raviart-Thomas shape functions on cubes. 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 | RT4Cube2DLocalInterpolation |
Second order Raviart-Thomas shape functions on the reference triangle. More... | |
class | RT4Cube2DLocalFiniteElement |
Second order Raviart-Thomas shape functions on cubes. 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 | 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 | 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 | DGLocalCoefficients |
A class providing local coefficients for dg spaces. More... | |
struct | DGLocalCoefficientsFactory |
A factory class for the dg local coefficients. More... | |
struct | Unity |
A class representing the unit of a given Field. More... | |
struct | Zero |
A class representing the zero of a given Field. 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 | 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... | |
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... | |
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 | PolynomialBasis |
class | PolynomialBasisWithMatrix |
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_5Interpolation |
Interpolation for lowest order edge elements on simplices. More... | |
class | EdgeS0_5FiniteElement |
FiniteElement for lowest order edge elements on simplices. More... | |
struct | EdgeS0_5FiniteElementFactory |
Factory for EdgeS0_5FiniteElement objects. 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... | |
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... | |
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 , int dim> | |
using | P1LocalFiniteElement = LagrangeSimplexLocalFiniteElement< D, R, dim, 1 > |
The local p1 finite element on simplices. More... | |
template<class D , class R , int d> | |
using | P2LocalFiniteElement = LagrangeSimplexLocalFiniteElement< D, R, d, 2 > |
Second-order Lagrange finite element on the reference simplex with compile-time dimension. More... | |
template<class D , class R > | |
using | P23DLocalFiniteElement = LagrangeSimplexLocalFiniteElement< D, R, 3, 2 > |
Second-order Lagrange local finite element on the reference tetrahedron. More... | |
template<class D , class R , int d, int k> | |
using | PkLocalFiniteElement = LagrangeSimplexLocalFiniteElement< D, R, d, k > |
template<class D , class R , unsigned int k> | |
using | Pk1DLocalFiniteElement = LagrangeSimplexLocalFiniteElement< D, R, 1, k > |
Lagrange finite element on the unit interval with arbitrary compile-time order. More... | |
template<class D , class R , unsigned int k> | |
using | Pk2DLocalFiniteElement = LagrangeSimplexLocalFiniteElement< D, R, 2, k > |
template<class D , class R , unsigned int k> | |
using | Pk3DLocalFiniteElement = LagrangeSimplexLocalFiniteElement< D, R, 3, k > |
template<class D , class R > | |
using | PrismP1LocalFiniteElement = LagrangePrismLocalFiniteElement< D, R, 1 > |
First-order Lagrangian finite element on a prism. More... | |
template<class D , class R > | |
using | PrismP2LocalFiniteElement = LagrangePrismLocalFiniteElement< D, R, 2 > |
Second-order Lagrange finite element on a three-dimensional prism. More... | |
template<class D , class R > | |
using | PyramidP1LocalFiniteElement = LagrangePyramidLocalFiniteElement< D, R, 1 > |
First-order Lagrangian finite element on a three-dimensional pyramid. More... | |
template<class D , class R > | |
using | PyramidP2LocalFiniteElement = LagrangePyramidLocalFiniteElement< D, R, 2 > |
Second-order Lagrangian finite element on a three-dimensional pyramid. More... | |
template<class D , class R , int dim> | |
using | Q1LocalFiniteElement = LagrangeCubeLocalFiniteElement< D, R, dim, 1 > |
The local Q1 finite element on cubes. More... | |
template<class D , class R , int d, int k> | |
using | QkLocalFiniteElement = LagrangeCubeLocalFiniteElement< D, R, d, k > |
General Lagrange finite element for cubes with arbitrary dimension and polynomial 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... | |
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<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 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 > | |
constexpr static T | factorial (const T &n) noexcept |
calculate the factorial of n as a constexpr | |
template<class T , T n> | |
constexpr static auto | factorial (std::integral_constant< T, n >) noexcept |
calculate the factorial of n as a constexpr | |
template<class T > | |
constexpr static 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> | |
constexpr static 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, const F &f) |
Create a TransformedRangeView. More... | |
template<class R , class F > | |
auto | iteratorTransformedRangeView (R &&range, const 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 Stream , typename... Ts> | |
Stream & | operator<< (Stream &stream, const std::tuple< Ts... > &t) |
Print a std::tuple. | |
template<typename Stream , typename... Ts> | |
Stream & | operator>> (Stream &stream, std::tuple< Ts... > &t) |
Read a std::tuple. | |
template<typename Stream , typename T , std::size_t N> | |
Stream & | operator<< (Stream &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, [[maybe_unused]] int precision) |
Print a row of zeros for a non-existing block. More... | |
template<class K > | |
void | print_row (std::ostream &s, const K &value, [[maybe_unused]] typename FieldMatrix< K, 1, 1 >::size_type I, [[maybe_unused]] typename FieldMatrix< K, 1, 1 >::size_type J, [[maybe_unused]] typename FieldMatrix< K, 1, 1 >::size_type therow, int width, [[maybe_unused]] int precision, typename std::enable_if_t< Dune::IsNumber< K >::value > *sfinae=nullptr) |
Print one row of a matrix, specialization for number types. More... | |
template<class M > | |
void | print_row (std::ostream &s, const M &A, typename M::size_type I, typename M::size_type J, typename M::size_type therow, int width, int precision, typename std::enable_if_t<!Dune::IsNumber< M >::value > *sfinae=nullptr) |
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 > | |
void | writeMatrixToMatlabHelper (const FieldType &value, int rowOffset, int colOffset, std::ostream &s, typename std::enable_if_t< Dune::IsNumber< FieldType >::value > *sfinae=nullptr) |
Helper method for the writeMatrixToMatlab routine. More... | |
template<class MatrixType > | |
void | writeMatrixToMatlabHelper (const MatrixType &matrix, int externalRowOffset, int externalColOffset, std::ostream &s, typename std::enable_if_t<!Dune::IsNumber< MatrixType >::value > *sfinae=nullptr) |
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, [[maybe_unused]] 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, [[maybe_unused]] 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 &, [[maybe_unused]] 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 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. | |
template<class F2 , class F1 > | |
void | field_cast (const F1 &f1, F2 &f2) |
a helper class to cast from one field to another More... | |
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.
Include standard header files.
- Todo:
- put vtk io intro here ...
details and examples regarding the VTK file format can be found here:
http://www.earthmodels.org/software/vtk-and-paraview/vtk-file-formats
include base class functionality for the communication interface include parallel capability
Typedef Documentation
◆ CollectiveCommunication
using Dune::CollectiveCommunication = typedef Communication<T> |
- Deprecated:
- CollectiveCommunication is deprecated and will be removed after Dune 2.9.
Use Communication instead.
◆ 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.
◆ P1LocalFiniteElement
using Dune::P1LocalFiniteElement = typedef LagrangeSimplexLocalFiniteElement<D,R,dim,1> |
The local p1 finite element on simplices.
- Template Parameters
-
D Domain data type R Range data type dim Dimension of the simplex
- Deprecated:
- This class is obsolete. Please use LagrangeSimplexLocalFiniteElement instead!
◆ P23DLocalFiniteElement
using Dune::P23DLocalFiniteElement = typedef LagrangeSimplexLocalFiniteElement<D,R,3,2> |
Second-order Lagrange local finite element on the reference tetrahedron.
- Template Parameters
-
D Number type used for domain coordinates R Number type used for shape function values
- Deprecated:
- This class is obsolete. Please use LagrangeSimplexLocalFiniteElement instead!
◆ P2LocalFiniteElement
using Dune::P2LocalFiniteElement = typedef LagrangeSimplexLocalFiniteElement<D,R,d,2> |
Second-order Lagrange finite element on the reference simplex with compile-time dimension.
- Deprecated:
- This class is obsolete. Please use LagrangeSimplexLocalFiniteElement instead!
◆ Pk1DLocalFiniteElement
using Dune::Pk1DLocalFiniteElement = typedef LagrangeSimplexLocalFiniteElement<D,R,1,k> |
Lagrange finite element on the unit interval with arbitrary compile-time order.
- Deprecated:
- This class is obsolete. Please use LagrangeSimplexLocalFiniteElement instead!
◆ Pk2DLocalFiniteElement
using Dune::Pk2DLocalFiniteElement = typedef LagrangeSimplexLocalFiniteElement<D,R,2,k> |
- Todo:
- Please doc me !
- Deprecated:
- This class is obsolete. Please use LagrangeSimplexLocalFiniteElement instead!
◆ Pk3DLocalFiniteElement
using Dune::Pk3DLocalFiniteElement = typedef LagrangeSimplexLocalFiniteElement<D,R,3,k> |
- Todo:
- Please doc me !
- Deprecated:
- This class is obsolete. Please use LagrangeSimplexLocalFiniteElement instead!
◆ PkLocalFiniteElement
using Dune::PkLocalFiniteElement = typedef LagrangeSimplexLocalFiniteElement<D, R, d, k> |
- Deprecated:
- This class is obsolete. Please use LagrangeSimplexLocalFiniteElement instead!
◆ PrismP1LocalFiniteElement
using Dune::PrismP1LocalFiniteElement = typedef LagrangePrismLocalFiniteElement<D,R,1> |
First-order Lagrangian finite element on a prism.
- Deprecated:
- Please use LagrangePrismLocalFiniteElement<D,R,2> instead!
◆ PrismP2LocalFiniteElement
using Dune::PrismP2LocalFiniteElement = typedef LagrangePrismLocalFiniteElement<D,R,2> |
Second-order Lagrange finite element on a three-dimensional prism.
- Deprecated:
- Please use LagrangePrismLocalFiniteElement<D,R,2> instead!
◆ PyramidP1LocalFiniteElement
using Dune::PyramidP1LocalFiniteElement = typedef LagrangePyramidLocalFiniteElement<D,R,1> |
First-order Lagrangian finite element on a three-dimensional pyramid.
- Deprecated:
- Please use LagrangePyramidLocalFiniteElement<D,R,1> instead!
◆ PyramidP2LocalFiniteElement
using Dune::PyramidP2LocalFiniteElement = typedef LagrangePyramidLocalFiniteElement<D,R,2> |
Second-order Lagrangian finite element on a three-dimensional pyramid.
- Deprecated:
- Please use LagrangePyramidLocalFiniteElement<D,R,2> instead!
◆ Q1LocalFiniteElement
using Dune::Q1LocalFiniteElement = typedef LagrangeCubeLocalFiniteElement<D,R,dim,1> |
The local Q1 finite element on cubes.
- Template Parameters
-
D Domain data type R Range data type dim Dimension of the cube
- Deprecated:
- This class is deprecated! Please use LagrangeCubeLocalFiniteElement instead.
◆ QkLocalFiniteElement
using Dune::QkLocalFiniteElement = typedef LagrangeCubeLocalFiniteElement<D,R,d,k> |
General Lagrange finite element for cubes with arbitrary dimension and polynomial order.
- Note
- The general class QkLocalCoefficients is available for k>0 in dimensions 2 and 3 only
- Template Parameters
-
D type used for domain coordinates R type used for function values d dimension of the reference element k polynomial order
- Deprecated:
- This class is deprecated! Please use LagrangeCubeLocalFiniteElement instead.
◆ 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).
◆ ResolveRef_t
using Dune::ResolveRef_t = typedef std::remove_reference_t<decltype(Dune::resolveRef(std::declval<T&>()))> |
Type trait to resolve std::reference_wrapper.
This is an alias for result of resolveRef. Plain types T or const T are forwarded while for T=std::reference_wrapper<S> the wrapped type S is returned.
◆ 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()
|
inline |
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().
◆ dotT()
auto Dune::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.
- Parameters
-
a b
- Returns
- a*b
◆ 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::Concept::IndexSet, 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().
◆ 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!
Referenced by Dune::Torus< Communication, d >::color(), Dune::MonomImp::Evaluate< Traits, c >::eval(), Dune::MonomImp::Evaluate< Traits, 1 >::eval(), Dune::YaspGrid< dim, Coordinates >::makelevel(), 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.
◆ 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
Referenced by createScalarProduct(), 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 transposedView().
◆ transpose() [2/3]
auto Dune::transpose | ( | const std::reference_wrapper< Matrix > & | matrix | ) |
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()
auto Dune::transposedView | ( | const Matrix & | matrix | ) |
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().
