KASKADE 7 development version
|
Namespaces | |
namespace | AdaptationStrategy_Detail |
namespace | Adaptivity |
namespace | AmiraMeshReader |
Reader for Amira meshes. | |
namespace | Assembler |
namespace | AssemblyDetail |
namespace | BDDC |
namespace | BoundaryInterpolationDetail |
namespace | BoundaryLocatorDetail |
namespace | BoundarySpace_Detail |
namespace | Bridge |
Namespace of Classes that implement the abstract interface classes via the bridge-pattern. | |
namespace | CellLocatorDetail |
namespace | CG_Detail |
namespace | CoarseningDetail |
namespace | Crsutil_Detail |
namespace | DerivativeCheck |
namespace | DirectSolver_Detail |
namespace | DomainDecompositionPreconditionerDetail |
namespace | DynamicMatrixDetail |
namespace | Elastomechanics |
namespace | ErrorestDetail |
namespace | ErrorEstimator_Detail |
namespace | Functional_Aux_Detail |
namespace | FunctionSpace_Detail |
namespace | FunctionViews |
Namespace of views on a FunctionSpaceElement Views on Function SpaceElements can be used in a restricted sense like FunctionSpaceElements. The idea is to transform a given function to another function while evaluating it at a certain point. Such a view has provide certain functionality: | |
namespace | GridIterateDetail |
namespace | HierarchicErrorEstimator_Detail |
namespace | ifff |
Creates a (linear) model to a linearization of a functional. | |
namespace | IOTools |
namespace | JacobiPreconditionerDetail |
namespace | LinAlg |
namespace | LinearSpace_Detail |
namespace | MultiGridSolver_Detail |
namespace | OPT_MODEL_FUNCTIONS_Detail |
namespace | PartitionedSpaceDetail |
namespace | ScalarSpaceDetail |
namespace | SchurPreconditionerDetail |
namespace | SemiEulerDetail |
namespace | Simplex |
namespace | TaylorHoodPreconditionerDetail |
namespace | TensorAccess |
namespace | ThreadedMatrixDetail |
namespace | WeakFunctionViews |
Namespace of classes that mimick a FunctionSpaceElement in a very weak sense. | |
namespace | XMLHelper |
Some helper's for a correct indentation of XML-code. | |
Classes | |
class | AbstractAdaptiveGrid |
Representation of an adaptive grid and a simple set of operations thereon. More... | |
class | AbstractChart |
class | AbstractCompositeStepErrorEstimator |
Representation of an error estimator. More... | |
class | AbstractConnectedLinearization |
class | AbstractErrorEstimate |
Representation of an error estimate, i.e. the output of an error estimator. More... | |
class | AbstractErrorEstimator |
Representation of an error estimator. More... | |
class | AbstractFlushConnection |
Abstract connection. More... | |
class | AbstractFunctional |
Representation of a nonlinear functional. More... | |
class | AbstractFunctionSpaceElement |
Abstract Vector for function space algorithms. More... | |
class | AbstractHierarchicalErrorEstimator |
class | AbstractLinearization |
Abstract linearization. More... | |
class | AbstractNewtonDirection |
Class that models the functionality of a (possibly inexact) linear solver. More... | |
class | AbstractNorm |
class | AbstractNormalDirection |
class | AbstractParameterFunctional |
Creates a functional from a homotopy of functionals by inserting a parameter. More... | |
class | AbstractParameters |
Representation of parameters. More... | |
class | AbstractPreconditioner |
class | AbstractScalarProduct |
class | AbstractTangentialSpace |
Class that models the functionality of a (possibly inexact) linear solver. More... | |
struct | ActiveStressModelBase |
Convenience base class for active stress generation models providing numerical differentiation. More... | |
struct | AdaptationCoarseningPolicy |
policy class for LocalTransfer These two structures are used for determining whether to perform a "normal" grid transfer (default, AdaptionCoarseningPolicy), or to calculate prolongation matrices for a FE function space based on a HierarchicIndexSet (see mgtools.hh). More... | |
class | AdaptiveParameters |
Parameters that are used by SimpleAdaptiveRefinement. More... | |
class | AdditiveMultiGrid |
An additive multigrid preconditioner for P1 elements. More... | |
class | AdditiveSchwarzPreconditioner |
struct | AddToFunctionSpaceElement |
struct | AddToFunctionSpaceElement< FSE, CoeffVector, rbegin, rbegin > |
class | AdjointEquationHBErrorEstimator |
class | AdjointEquationLinearPropagationHBErrorEstimator |
class | Adjugate |
class | Adjugate< 2, Source > |
class | Adjugate< 3, Source > |
class | AdvectedFunctionView |
A weak function view that defines an advected function. More... | |
class | AgglomerationPreconditioner |
An agglomeration-based preconditioner for elliptic problems discretized with higher-order Lagrange finite elements. More... | |
class | AgglomerationPreconditioner< AssembledGalerkinOperator< Assembler, firstRow, firstRow+1, firstCol, firstCol+1, IstlInterfaceDetail::RangeBlockSelector< firstRow, firstRow+1, firstCol, firstCol+1 >, true > > |
class | Algorithm |
Base class for algorithms. Provides a unified interface and some simple wrapper routines, which perform optional timing, etc. More... | |
struct | AlievPanfilov |
Phenomenological model by Aliev and Panfilov. More... | |
struct | AlwaysRegularizeWithThetaGuess |
class | AngleFeatureDetector |
Specifying geometric features in terms of angles between face normals and edge tangents. More... | |
class | AnotherHBErrorEstimator |
class | AnsysMeshReader |
Reader for Ansys *.inp grid files. More... | |
class | ApproximateSchurComplement |
Approximation of the schur complement according to Pearson/Wathen '10. More... | |
class | ApproximateSchurComplement2 |
Approximation of the schur complement. More... | |
class | ARMSPreconditioner |
class | AssembledGalerkinOperator |
An adaptor presenting a Dune::LinearOperator <domain_type,range_type> interface to a contiguous sub-blockmatrix of an assembled heterogeneous Galerkin operator. More... | |
class | BabuskaRheinboldtCriterion |
Babuska-Rheinboldt refinement criterion. Determines the refinement thresholds such that all cells with an error contribution exceeding the expected error contribution of the worst cell after refinement will be marked. This tends to equilibrate the error contributions quite fast. More... | |
struct | Barrier |
Barrier<q,p> = sum_{i=p}^{q} Barrier<i,i> More... | |
struct | Barrier< 0, 0 > |
Logarithmic Barrier functions. More... | |
struct | Barrier< q, q > |
Rational Barrier functions of order q/2+1 (gradient has rational order q/2+1) More... | |
class | BasicGridElement |
class | BezierMortar |
Defines a constraint formulation where samples are weighted by Bezier test functions. More... | |
class | BlockDiagonalSchurPreconditioner |
class | BlockLUFactorization |
struct | BlockSchurParameters |
class | BoomerAMG |
class | BoundaryDisplacementByInterpolation |
class | BoundaryEdge |
A class storing a boundary edge consisting of two vertex indices and associated boundary curve tangents. More... | |
class | BoundaryFace |
A class for representing displaced/deformed boundary faces. More... | |
class | BoundaryInterpolationDisplacement |
The BoundaryInterpolationDisplacement class provides a Kaskade WeakFunctionView on the displacement from grid to actual domain boundary (which is computed by boundary interpolation). More... | |
struct | BoundaryJumpsTimesTestFunction |
class | BoundaryLocator |
class | BoundaryMapper |
A local to global mapper implementation for boundary spaces, with functions defined on the domain boundary (or parts of it) only. More... | |
struct | BoundaryStar |
A class storing all the corners (vertex-boundaryface incidences) at a boundary vertex. More... | |
class | BoundaryTangents |
A class providing information about domain boundary tangent vectors. More... | |
class | BulkCriterion |
Bulk refinement criterion. Determines the refinement thresholds such that approximately the specified fraction of the total error is removed by the refinement (under the unrealistically optimistic assumption that refinement eliminates the error completely in that cell - in reality, it's only reduced by a certain factor, so the total error is reduced somewhat less). More... | |
class | BWErrorFunction |
Obtain an error function by solving local Neumann problems in the flavour of Bank/Weiser. More... | |
class | CacheBase |
Provides implementations of d1 and d2 for (possibly mixed) use of scalar and power spaces. More... | |
class | CachingBoundaryDetector |
struct | CardioD2 |
class | CellData |
Class that stores information for each cell of a grid. More... | |
class | CellLocator |
class | CellRanges |
A class storing cell ranges of roughly equal size for multithreaded mesh traversal. More... | |
class | CGBase |
regularized preconditioned conjugate gradient method More... | |
struct | CGFminModel |
class | ChebyshevPreconditioner |
Preconditioner based on the Chebyshev semi-iteration. In order to provide a linear preconditioner the termination criterion based on relative descent in the energy-norm induced by the preconditioner is disabled here. Instead the preconditioner performs a fixed number of iterations thus yielding a linear preconditioner. More... | |
class | ChebyshevSemiIteration |
Preconditioned chebyshev semi iteration. More... | |
struct | CheckPoint |
struct | ChooseProjectionPolicy |
struct | ChooseProjectionPolicy< InexactTangentSpacePreconditioner< Functional, Assembler, components > > |
class | Circle |
class | Cofactor |
struct | Components |
Helper class for specifying the number of components of a variable. More... | |
class | CompositeStep |
class | ConcurrentQueue |
A concurrent fifo queue. More... | |
class | ConstantMapper |
struct | ConstraintD1LipschitzConstant |
struct | ConstructCoefficientVector |
A boost::fusion functor for generating coefficient vectors for given variables. More... | |
struct | ConstructElement |
A boost::fusion functor for generating function space elements for given variables. More... | |
class | ContinuousHierarchicExtensionMapper |
A degrees of freedom manager for globally continuous FEFunctionSpace s of piecewise polynomials. More... | |
class | ContinuousHierarchicExtensionMapperImplementation |
class | ContinuousHierarchicMapper |
A degrees of freedom manager for globally continuous FEFunctionSpace s of piecewise polynomials. More... | |
class | ContinuousHierarchicMapperImplementation |
class | ContinuousLagrangeBoundaryMapper |
class | ContinuousLagrangeMapper |
A degrees of freedom manager for globally continuous FEFunctionSpace s of piecewise polynomials. More... | |
class | ContinuousLagrangeMapperImplementation |
class | ContinuousLagrangeMapperSubdomain |
A local-to-global mapper for continuous finite elements on a subdomain. More... | |
class | ContinuousLagrangeMapperSubdomainImplementation |
class | ContinuousScalarFunction |
class | ContractionModelFunction |
struct | ConvertTo |
Reports the converted type. More... | |
struct | ConvertTo< Dune::FieldMatrix< T, n, m >, Real > |
struct | CopyFromFunctionSpaceElement |
struct | CopyFromFunctionSpaceElement< FSE, CoeffVector, rbegin, rbegin > |
struct | Corner |
A class storing algebraic and geometric information about a vertex-boundaryface incidence in simplicial grids. More... | |
struct | Creator |
Abstract base class of creators that can be registered at the pluggable factory. More... | |
struct | Creator< Factorization< Scalar > > |
Abstract base class for factorization creators to be plugged into a factorization factory. More... | |
class | CSCubicRegularization |
struct | csr_matrix |
class | Cube |
class | CubicModel1dForFmin |
class | CubicModelFunction |
class | CUBThetaModelFunction |
For optimization with cubic upper bounds method. More... | |
class | DampedCovariantNewtonMethod |
Damped Newton's method that measures the Newton contraction via a simplified Newton step. More... | |
class | DampedCovariantNewtonParameters |
Paramters that are used and Logged by GuardedCovariantNewtonMethod. More... | |
class | DefaultDualPairing |
Default implementation of dual pairing (relies on scalar product operator * being defined) More... | |
struct | DefaultProjectionPolicy |
class | DeformingGridManager |
A grid manager for asymptotically \( G^1 \)-continuous domains. More... | |
class | DenseCholeskyLocalMatrixStorage |
An inverse local matrix representation that simply stores a dense Cholesky factor. More... | |
class | DenseCholeskyStorageTag |
A parametrized tag type for selecting storage of inverses by dense Cholesky factors with floating point representation of type Scalar. More... | |
class | DenseInverseLocalMatrixStorage |
An inverse local matrix representation that simply stores the dense inverse. More... | |
class | DenseInverseStorageTag |
A parametrized tag type for selecting dense storage of inverses with floating point representation of type Scalar. More... | |
class | Deprecated |
Convenience class for marking deprecated functions. A static object of this class can be created inside deprecated functions. It will output a warning message to stderr if the deprecated function is called, but only once. More... | |
class | DerivativeChecker |
Class that checks the derivatives of a functional at a linearization point. More... | |
class | DetailedException |
A wrapper class for conveniently providing exceptions with context information. More... | |
class | Determinant |
A class for computing determinants and their derivatives. More... | |
class | Determinant< 2, Source > |
class | Determinant< 3, Source > |
Determinant. More... | |
class | DiagonalCombiner |
A base class for implementing combiners with diagonal structure. More... | |
class | DifferentiableScalarFunction |
struct | Dim |
Get dimension as nested integral static constexpr. More... | |
class | DiracMortar |
Defines a constraint formulation where each sample is taken as a single constraint of its own. More... | |
class | DirectBlockSchurSolver |
class | DirectLinearSolver |
Direct solver.Implements Direct Solver Interface of Algorithms. More... | |
class | DirectNormalSolver |
class | DirectPreconditioner |
class | DirectPreconditionerFloatWrapper |
class | DirectSolver |
class | DirectSolver< Dune::FieldVector< S, n >, Dune::FieldVector< S, n > > |
class | DirectSolverException |
To be raised if a direct solver fails. More... | |
class | DirichletNitscheBoundary |
Dirichlet boundary conditions by Nitsche's method. More... | |
class | DirichletPenaltyBoundary |
Dirichlet boundary conditions by the penalty approach. More... | |
class | DiscontinuousHierarchicExtensionMapper |
A degrees of freedom manager for FEFunctionSpace s of piecewise polynomials of given order. More... | |
class | DiscontinuousHierarchicExtensionMapperImplementation |
class | DiscontinuousHierarchicMapper |
A degrees of freedom manager for FEFunctionSpace s of piecewise polynomials of order Order. More... | |
class | DiscontinuousHierarchicMapperImplementation |
class | DiscontinuousLagrangeMapper |
A degrees of freedom manager for FEFunctionSpace s of piecewise polynomials of order Order. More... | |
class | DiscontinuousLagrangeMapperImplementation |
class | DiscontinuousLagrangeMapperSubdomain |
struct | DiscreteBlockTraits |
struct | DoNotAlwaysRegularize |
struct | DoNotMeasureTime |
struct | DoRegularization |
class | DualPairing |
Abstract base class for dual pairing of \( X \) and its dual space \( X^* \). More... | |
struct | Dummy |
class | DynamicMatrix |
A LAPACK-compatible dense matrix class with shape specified at runtime. More... | |
class | EdgeScanner |
Class to scan functions along the edges of a computational grid. More... | |
class | EmbeddedErrorEstimator |
Embedded error estimation and mesh refinement. More... | |
class | EmptyShapeFunctionSet |
struct | EnergyScalarProduct |
class | EntityNumbering |
struct | EntryTraits |
struct | EntryTraits< Dune::FieldMatrix< Entry, n, m > > |
struct | EntryTraits< Dune::FieldVector< Entry, n > > |
struct | EntryTraits< Tensor< Entry, Sizes... > > |
class | EquidistantLagrange |
Lagrange shape functions on an equidistant grid over the simplex. These are polynomial basis functions \( p_i \) over the unit simplex, together with interpolation nodes \( \xi_j \), such that \( p_i(\xi_j) = \delta_{ij} \) holds. More... | |
class | ErrorDistribution |
struct | ErrorEstimationTraits |
class | ErrorEstimatorBase |
struct | EstimatorDescription |
class | EtaModel |
class | Euclid |
class | EulerSDC |
Base class to perform SDC iterations based on forward Euler method. Total iterations performed depends on the value set for variable maxSDCiterations. More... | |
class | Exp |
Exponential function of the form a*exp(b*x) More... | |
class | ExtrapolationTableau |
Polynomial extrapolation following Aitken-Neville. More... | |
class | Factorization |
Abstract base class for matrix factorizations. More... | |
struct | FactorizationOptions |
The Options struct allows to specify several options of factorization. More... | |
class | Factory |
A pluggable factory. More... | |
class | FEFunctionSpace |
A representation of a finite element function space defined over a domain covered by a grid. More... | |
class | FentonKarma |
The 3-variable Fenton-Karma membrane model. More... | |
class | FileIOException |
An exception class for file IO errors. More... | |
class | FinalAdaptiveRefinement |
Performs error estimation and creates error indicators, but does not refine. Good for testing error estimators. More... | |
struct | FirstGreater |
A comparator functor that supports sorting std::pair by their first component. More... | |
struct | FirstLess |
A comparator functor that supports sorting std::pair by their first component. More... | |
class | FixedFractionCriterion |
Fixed fraction refinement criterion. Determines the refinement thresholds such that at least the specified fraction of the cells are marked for refinement. This ensures that not too few cells are marked, which could lead to very many refinement iterations, but may lead to erratic refinement if there are indeed only very local refinements necessary. More... | |
class | FixedSolverWithErrorEstimate |
Performs error estimation and creates error indicators, but does not refine. Good for testing error estimators. More... | |
class | ForwardingBoundaryDetector |
class | FunctionalBase |
Convenience base class for the easy definition of variational functionals and weak formulations. More... | |
class | FunctionSpaceElement |
A class for representing finite element functions. More... | |
class | FunctionViewAdaptor |
An adaptor that allows to turn lambda functions into function views. More... | |
class | GaussSeidelPreconditioner |
A simple single-level symmetric Gauss-Seidel preconditioner. More... | |
class | GaussTimeGrid |
spectral time grid for defect correction methods with Gauss points More... | |
class | Gbit |
Iterative solution of a large linear system using an error based termination-criterium. Includes some special termination-criterium options which are used by the giantGbit code. More... | |
class | GeometricFeatureDetector |
The interface for specifying feature edges and feature vertices. More... | |
struct | Get |
Get object from reference or functor. Is itself a functor. More... | |
struct | Get< Type, Type > |
class | GetEvaluators |
A boost::fusion functor for creating an evaluator from the space, using a shape function cache that is given on construction of the functor. More... | |
class | GetEvaluatorTypes |
A boost::fusion functor for extracting the evaluator type from a pointer to a FE space. This is more or less redundant to GetEvaluators, but no shape function cache type needs to be provided. More... | |
struct | GetScalar |
Get scalar type from Dune (-> field_type) or Kaskade (-> Scalar) member. More... | |
struct | GetSubType |
struct | GetSubType< Scalar, dim, Dune::FieldMatrix< Scalar, dim, dim > > |
class | GetVarArgs |
A boost::fusion functor for creating a variational arg from the space, using a shape function cache that is given on construction of the functor. More... | |
class | Giant |
Solution of a nonlinear system of equations by a damped Newton-method with adaptive precision control of the used iterative linear solver Gbit. More... | |
class | GlobalBarycentricPermutation |
A class for computing permutations of local vertex numbers of simplex subentities to a globally unique ordering. More... | |
class | GlobalLocalIndexRelationship |
The GlobalLocalIndexRelationship class provides relationships between local indices of (e.g. matrix) blocks and global indices (of the corresponding block matrix) More... | |
class | GoalOrientedErrorEstimator |
struct | GradientAverage |
struct | GradientAverageFull |
struct | GradientJumpsTimesTestFunction |
class | GridException |
An exception class for grid related errors. More... | |
struct | GridLocking |
Grid locking information based on grid type. More... | |
struct | GridLocking< Dune::GeometryGrid< HostGrid, Deformation, Allocator > > |
class | GridManager |
Class that takes care of the transfer of data (of each FunctionSpaceElement) after modification of the grid. More... | |
class | GridManagerBase |
Basic functionality for managing grids and their refinement. More... | |
struct | GridSignals |
A class that provides access to signals that are emitted from the grid manager on various occasions. More... | |
class | GuardedCovariantNewtonParameters |
Paramters that are used and Logged by GuardedCovariantNewtonMethod. More... | |
struct | H1Norm |
H1-norms. More... | |
struct | H1SemiNorm |
H1-semi-norms. More... | |
struct | HalfGradientJump |
class | HcurlConverter |
A class mapping local vectorial shape function values and gradients to global shape function values and gradients in \( H(\text{curl}) \) conforming FE spaces. More... | |
class | HdivConverter |
A class mapping local vectorial shape function values and gradients to global shape function values and gradients in \( H(\text{div}) \) conforming FE spaces. More... | |
class | HdivMapper |
Degrees of freedom manager for H(div) conforming elements. More... | |
class | HdivShapeFunctionSetContainer |
class | HdivSimplexShapeFunction |
Vectorial \( H(\text{div}) \) conforming shape functions on the unit simplex. More... | |
class | HdivSimplexShapeFunctionSet |
A shape function set of \( H(\text{div}) \) conforming functions. More... | |
class | HierarchicalBasisErrorEstimator |
class | HierarchicalBasisErrorEstimator2 |
class | HierarchicalBasisErrorEstimator3 |
class | HierarchicalBasisPreconditioner |
A hierarchical basis preconditioner. More... | |
class | HierarchicErrorEstimator |
Defines assembly of hierarchically extended problems for defining DLY style error estimators. More... | |
class | HierarchicExtensionMapperImplementation |
class | HierarchicExtensionShapeFunctionSetContainer |
class | HierarchicExtensionSimplexShapeFunctionSet |
A container of hierarchic shape functions of nominal order Ord on the unit simplex of grid dimension. For Ord<0, this set is empty. More... | |
class | HierarchicMapperImplementation |
class | HierarchicMapperImplementationBase |
A local to global mapper implementation for scalar hierarchic bases. More... | |
class | HierarchicShapeFunctionSetContainer |
class | HierarchicSimplexShapeFunction |
Scalar hierarchic shape functions on the unit simplex. More... | |
class | HierarchicSimplexShapeFunctionSet |
A container of hierarchic shape functions (see HierarchicSimplexShapeFunction) up to a given nominal order on the unit simplex of grid dimension. More... | |
class | HigherOrderRecovery |
Construct a higher order estimate for the finite element solution from gradient information. More... | |
class | HomogeneousNeumannBoundary |
A simple boundary cache implementing homogeneous Neumann boundary conditions. More... | |
class | HomotopyBase |
Base class for homotopy methods. Here, the main algorithm is programmed. More... | |
class | HypIP |
class | HypIPParameters |
class | ICC_0Preconditioner |
Incomplete Cholesky factorization by algorithm from book "Matrix Computations" by Gene Golub & Charles van Loan. More... | |
class | IdentityChart |
class | IdentityPreconditioner |
The trivial (identity) preconditioner. More... | |
struct | IdentityScaling |
A trivial Scaling. More... | |
class | ILUKPreconditioner |
class | ILUTPreconditioner |
struct | InDomainTraits |
class | InexactTangentSpacePreconditioner |
class | InexactTangentSpacePreconditionerILU |
class | InfeasibleProblemException |
To be raised if an iterative solver detects the problem to be infeasible (has no valid solution). More... | |
class | Integral |
Evaluation class for integrals. More... | |
struct | IntegralF |
Integral. More... | |
class | Integrator |
class | InteriorPointParameters |
class | InteriorPointParametersSqrt |
class | InteriorPointSimple |
Very simple implementation of homotopy method: fixed stepsize. More... | |
class | InteriorPointSlopeEstimate |
class | InteriorPointSqrtModel |
InteriorPointMethod with a sqrt-model of the path: eta ~ mu^{-1/2}, omega ~mu^{-1/2}. More... | |
class | InteriorPointTangentialPredictor |
class | InverseLinearOperator |
Dune::LinearOperator interface for inverse operators. More... | |
class | InverseLocalMatrixStorageBase |
A base class providing common functionality for storage of inverse local matrices. More... | |
struct | InverseVolume |
A Weighing that associates to each cell its inverse volume. More... | |
class | IOException |
An exception class for IO errors. More... | |
struct | IoOptions |
options for VTK/AMIRA output More... | |
class | IPFunctional |
Functional that adds barrier terms to VarFu. More... | |
struct | IsFunction |
Checks if type is a function or member function. More... | |
class | IsotropicCubicRegularization |
class | IterationParameters |
Base class for algorithmic parameters. More... | |
class | IterativeSolverException |
To be raised if an iterative solver fails. More... | |
class | JacobiPreconditioner |
class | JacobiPreconditioner< AssembledGalerkinOperator< Assembler, firstRow, lastRow, firstCol, lastCol, BlockFilter, symmetric > > |
A recursive Jacobi preconditioner for heterogeneous square block matrices from a variational assembler. More... | |
class | JacobiPreconditioner< NumaBCRSMatrix< Entry, Index > > |
A simple single-level Jacobi preconditioner working on sparse matrices. More... | |
class | JacobiPreconditionerForTriplets |
class | JacobiSolver |
class | JacobiSolverForTriplets |
class | JModel |
class | JModelLin |
class | Kalloc |
A simple memory manager for NUMA systems. More... | |
class | KallocUnlocked |
A class for local memory management. More... | |
struct | L2Norm |
L_2-norms. More... | |
class | LagrangeBase |
class | LagrangeCubeShapeFunction |
Scalar Lagrange shape functions on the unit cube. More... | |
class | LagrangeCubeShapeFunctionSet |
class | LagrangeLinearization |
class | LagrangeMapperImplementation |
A local to global mapper for scalar Lagrange bases. More... | |
class | LagrangeOperator |
class | LagrangeShapeFunctionSetContainer |
class | LagrangeSimplexShapeFunction |
Scalar Lagrange shape functions on the unit simplex. More... | |
class | LagrangeSimplexShapeFunctionSet |
A container of Lagrange shape functions of order Ord on the unit simplex of grid dimension. For Ord<0, this set is empty. More... | |
struct | LagrangianD2LipschitzConstant |
class | Laplace |
Convenience class for handling diffusion terms in elliptic/parabolic equations. More... | |
struct | LeaveRHS |
class | Limex |
Extrapolated linearly implicit Euler method. More... | |
class | LinearAlgebraException |
A base class for linear algebra exceptions. More... | |
class | LinearizationAt |
Proxy class for the linearization of a nonlinear functional. More... | |
class | LinearizationDifferenceAt |
Proxy class for evaluating differences of linearizations of a nonlinear functional. More... | |
class | LinearProductSpace |
class | LinesearchException |
To be raised if a linesearch fails. More... | |
class | LN |
Natural logarithm of the form a*\ln(x) More... | |
class | LobattoGridLagrange |
class | LobattoTimeGrid |
spectral time grid for defect correction methods with Lobatto points on \( [a,b]\) More... | |
class | LocalGeometryInCoarseGridAncestor |
class | LocalIntegral |
Create a CellData by computing local integrals over each Cell. More... | |
class | LocalMatrices |
A structure for holding a sequence of several local matrices to be filled sequentially and to be scattered jointly. More... | |
class | LocalMatrix |
Providing a matrix or array interface to LAPACK-ordered entries. More... | |
struct | LocalNormalMatrixBlock |
struct | LocalNormalMatrixRow |
class | LocalTransfer |
Class that stores for a cell ("this entity" or "father") a local projection matrix. More... | |
class | LocalVector |
Providing a vector interface for contiguously stored entries. More... | |
class | LocalVectors |
A structure for holding a sequence of several local vectors to be filled sequentially and to be scattered jointly. More... | |
class | LoggedQuantity |
Class that represents a quantity that can be logged during the course of an algortihm. More... | |
class | Logger |
Simple logging facility. More... | |
class | LogLogModel |
Polynomial model in a loglog scale. More... | |
class | LookupException |
An exception that can be thrown whenever a key lookup fails. More... | |
class | MakeAdditiveSchwarzSmoother |
Functor for creating overlapping Schwarz smoothers. More... | |
class | MakeJacobiSmoother |
Functor for creating Jacobi smoothers. More... | |
class | MartinsErrorEstimator |
class | MaterialAmiraMeshWriter |
struct | Matrix_to_Triplet |
A class template that supports converting certain Dune matrices into the coordinate (triplet) format. More... | |
struct | Matrix_to_Triplet< Dune::BCRSMatrix< Dune::FieldMatrix< K, N, M >, Allocator > > |
struct | Matrix_to_Triplet< Dune::FieldMatrix< K, n, m > > |
struct | Matrix_to_Triplet< NumaBCRSMatrix< Dune::FieldMatrix< K, N, M >, Index > > |
class | MatrixAsTriplet |
class | MatrixRepresentedOperator |
Operator with matrix-representation and coordinate mappings. More... | |
class | MatrixRepresentedOperator< Dune::BCRSMatrix< MatrixBlock, Allocator >, Domain_, Range_ > |
class | MatrixRepresentedOperator< MatrixAsTriplet< Scalar_, SparseInt >, Domain_, Range_ > |
struct | MatrixTraits |
Defines domain and range types for matrix classes. More... | |
struct | MatrixTraits< Dune::FieldMatrix< Scalar, n, m > > |
struct | MatrixTraits< NumaBCRSMatrix< Entry, Index > > |
class | MaxValueCriterion |
Max value refinement criterion. Determines the refinement thresholds such that all cells with an error contribution exceeding a certain fraction of the maximum error contribution are refined. More... | |
struct | MeasureTime |
struct | MembraneModelBase |
Convenience base class for membrane models providing numerical differentiation. More... | |
class | MGProjectionOnTangentSpace |
class | MGProlongation |
A prolongation operator for P1 finite elements from a coarser grid level to the next finer level. More... | |
class | MGSolverStatistics |
An interface for gathering multigrid solver statistics. More... | |
class | ModifiedCovariantNewtonParameters |
class | Monomial |
Monomial a*x^k of order k. More... | |
class | MorleyMapper |
Degrees of freedom manager for Morley nonconforming elements. More... | |
class | Mortar |
Abstract base class for computation of constraints from constraint samples. More... | |
struct | MortarB |
Defines the sample-based contact constraint formulation. More... | |
class | MultiGridPreconditioner |
class | MultigridSolver |
class | MultiGridStack |
Class for multigrid stacks. More... | |
struct | MultilevelCoarseningPolicy |
policy class for LocalTransfer These two structures are used for determining whether to perform a "normal" grid transfer (default, AdaptionCoarseningPolicy), or to calculate prolongation matrices for a FE function space based on a HierarchicIndexSet (see mgtools.hh). More... | |
class | MultiLevelLocalGeometry |
Transformation of coordinates between ancestor and child. More... | |
class | MultiplicativeMultiGrid |
A general multiplicative multigrid preconditioner. More... | |
class | MUMPSFactorization |
Factorization of sparse linear systems with mumps. More... | |
class | Mutex |
A utility class implementing appropriate copy semantics for boost mutexes. More... | |
class | NedelecMapper |
Degrees of freedom manager for Nedelec edge elements. More... | |
class | NedelecShapeFunctionSetContainer |
class | NedelecSimplexShapeFunction |
Vectorial Nedelec shape functions on the unit simplex. More... | |
class | NedelecSimplexShapeFunctionSet |
class | NestedDissection |
a nested dissection factorization for symmetric positive definite sparse matrices More... | |
class | NestedDissectionCholeskyLocalMatrixStorage |
An inverse local matrix representation that stores a sparse Cholesky factor using nested dissection. More... | |
class | NestedDissectionStorageTag |
A parametrized tag type for selecting storage of inverses by nested dissection with floating point representation of type Scalar. More... | |
class | NewtonCotesRule3 |
class | NewtonParameters |
class | NewtonsMethod |
Base class for Newton's method. Defines the main algorithm, potentially using damping. More... | |
class | NleqSolver |
Solution of a nonlinear system of equations by a damped Newton-method. More... | |
class | NMIIIAPCGSolver |
conjugate gradient method More... | |
class | NMIIICGSolver |
conjugate gradient method More... | |
class | NMIIIPCGSolver |
conjugate gradient method More... | |
class | NonpositiveMatrixException |
To be raised if the matrix is not positive definite. More... | |
class | NonsquareMatrixException |
To be raised if the matrix is nonsquare. More... | |
struct | NoRegularization |
class | NormalStep |
class | NormalStepNewton |
class | NormalStepPreconditioner |
class | NormalStepPreconditioner2 |
class | NormalStepPreconditioner3 |
struct | NormModelCreator |
class | NumaAllocator |
An STL allocator that uses memory of a specific NUMA node only. More... | |
class | NumaBCRSMatrix |
A NUMA-aware compressed row storage matrix adhering mostly to the Dune ISTL interface (to complete...) More... | |
class | NumaCRSPattern |
A NUMA-aware compressed row storage sparsity pattern. More... | |
class | NumaCRSPatternCreator |
A NUMA-aware creator for matrix sparsity patterns. More... | |
class | NumaDenseMatrix |
A dense matrix class tailored towards NUMA architectures. More... | |
class | NumaThreadPool |
Implementation of thread pools suitable for parallelization of (more or less) memory-bound algorithms (not only) on NUMA machines. More... | |
class | NumaVector |
A vector class tailored towards NUMA architectures. This vector distributes its entries in blocks of approximately equal size to the different nodes of NUMA machines in order to exploit the larger accumulated memory bandwidth for fast vector operations. This is most beneficial for large vectors exceeding the cache of the CPUs. Modern processors (2015-01-01) have up to 6MB 3rd level cache, so this is intended for vectors of more than 50,000 doubles, say. More... | |
class | OmegaModel |
class | Optimization |
class | OptimizationParameters |
class | Options |
class | Parameters |
...for parameter dependent functionals, implements AbstractParameters More... | |
class | PardisoFactorization |
Factorization with DirectType::PARDISO. More... | |
class | PartialDirectPreconditioner |
DEPRECATED A partial direct preconditioner applicable to assembled operators. More... | |
class | PatchDomainDecompositionPreconditioner |
An additive overlapping domain decomposition type preconditioner for higher order finite elements applied to elliptic equations. More... | |
struct | PatchDomainDecompositionPreconditionerTraits |
Provides the actual type of local matrix storage based on a tag and the number of components. More... | |
struct | PatchDomainDecompositionPreconditionerTraits< DenseCholeskyStorageTag< Scalar >, components > |
struct | PatchDomainDecompositionPreconditionerTraits< DenseInverseStorageTag< Scalar >, components > |
struct | PatchDomainDecompositionPreconditionerTraits< NestedDissectionStorageTag< StorageScalar, FactorizationScalar >, components > |
class | Pcg |
preconditioned conjugate gradient method More... | |
class | PCGCountingTerminationCriterion |
PCG termination after a given number of iterations. More... | |
class | PCGEnergyErrorTerminationCriterion |
TerminationCriterion based on an absolute energy error estimate. More... | |
class | PCGTerminationCriterion |
Interface for IterateType::PCG termination criterion policy classes. More... | |
class | PenaltyFunction |
Sets a function to std::numeric_limits<double>::max() for negative arguments. More... | |
struct | PhysiologicalAlievPanfilov |
Phenomenological model based on Aliev and Panfilov, scaled to physiological values. More... | |
class | PiecewiseContinuousLagrangeMapper |
A degrees of freedom manager for piecewise continuous FEFunctionSpace s of local polynomials. More... | |
struct | PlainAverage |
A Weighing that associates to each cell a constant weight of 1. More... | |
class | Polynomial |
class | PolynomialModel |
class | PPCGAsNormalSolver |
class | PreconditionerAsNormalSolver |
class | PreconditionerFactory |
class | PrimalChart |
class | ProjectedAPCGSolver |
class | ProjectionOnTangentSpace |
class | QPALSolver |
An augmented Lagrangian solver for small instances of a particular class of quadratic programs. More... | |
class | QPBoundSolver |
An iterative solver for small instances of bound constrained quadratic programs. More... | |
class | QPBoundSolverBase |
An iterative solver for small instances of bound constrained quadratic programs. More... | |
class | QPDirectSparse |
A solver for sparse, medium-sized instances of bound constrained quadratic programs. More... | |
class | QPMultiGrid |
A multigrid solver for convex QPs. More... | |
class | QPMultiGridBase |
A base class for multigrid solver for QPs. More... | |
class | QPMultiGridStrict |
class | QPPenalizedSolver |
An iterative solver for small instances of a particular class of quadratic programs. More... | |
class | QPPenaltySmoother |
class | QPSlackSolver |
An iterative solver for particular instances of bound constrained quadratic programs. More... | |
class | QPSmoother |
class | QPSolver |
An iterative solver for small instances of a particular class of quadratic programs. More... | |
class | QuadraticAndLogBase |
class | QuadraticFunction |
TODO !!!!! Entscheidung über Vektortyp !!!!!! More... | |
class | QuadraticModel |
Creates a (linear) model to a linearization of a functional. More... | |
struct | QuadraticModelCreator |
struct | QuadratureTraits |
A cache that stores suitable quadrature rules for quick retrieval. More... | |
struct | QuadratureTraits< Dune::QuadratureRule< ctype, dim > > |
A cache that stores suitable quadrature rules for quick retrieval. More... | |
class | RadauTimeGrid |
spectral time grid for defect correction methods with Radau points on \( [a,b]\). More... | |
class | RangeView |
DEPRECATED. Use boost::iterator_range instead. More... | |
class | RefinedTrapezoidal |
class | RefinementCriterion |
Base class for refinement criteria. More... | |
class | RegularizedQuadraticFunction |
class | RestrictedShapeFunctionSet |
Restricted shape function set. Introduces a new local ordering for the shape functions. To retrieve the original shape function id use getId(int newLocalId) More... | |
class | ScalarConverter |
A Converter for scalar shape functions that do not change their value under transformation from reference to actual element geometry. More... | |
class | ScalarLaplace |
Convenience class for handling diffusion terms in elliptic/parabolic equations. More... | |
class | ScalarModelFunction |
Interface for a scalar model function on a scalar domain that may fit data. More... | |
class | ScalarProductView |
(Scalar) product of two functions. More... | |
class | ScalarTraits |
Helper class for working with (real or complex) scalar field types. More... | |
class | ScalarTraits< std::complex< T > > |
class | Scaledl2ScalarProduct |
class | ScaledTwoNorm2Collector |
A functor for computing scaled \(L^2\)-norms of a set of (possibly vector-valued) functions. More... | |
struct | ScatterFullLocalSolution |
struct | ScatterLocalSolution |
class | ScopedTimingSection |
A scope guard object that automatically closes a timing section on destruction. More... | |
class | Sdc |
Encapsulates the state of an SDC fixed point iteration and provides stepping. More... | |
class | SDCGridImplementationBase |
A convenience class simplifying the implementation of different SDCTimeGrid derived classes. More... | |
class | SDCTimeGrid |
Abstract base class of time grids for (block) spectral defect correction methods. More... | |
class | SearchSpaceCreator |
class | SemiImplicitEulerStep |
Linearly implicit Euler method. More... | |
class | SemiLinearizationAt |
Proxy class for the linearization of semi-linear time stepping schemes. More... | |
class | SemiLinearizationAtInner |
class | ShapeFunction |
Shape functions. More... | |
class | ShapeFunctionCache |
This class caches values and derivatives of shape functions at quadrature points. More... | |
class | ShapeFunctionSet |
A set of shape functions. More... | |
class | ShapeFunctionSetContainer |
Base class for sets of shape function containers. More... | |
class | SimpleAdaptiveRefinement |
Adaptive refinement algorithm. More... | |
class | SimpleSparseLinearSystem |
Simple Implementation for SparseLinearSystem. More... | |
class | SingularMatrixException |
To be raised if the matrix is singular. More... | |
class | SLAPMatrix |
Very simple dense matrix class for interfacing with LAPACK routines and the optimization tool uncmin. More... | |
struct | SolveLocalSystem |
struct | SpaceIndex |
Helper class for specifying the FE space index of a variable. More... | |
struct | SpaceType |
Extracts the type of FE space with given index from set of spaces. More... | |
class | SparseLinearSystem |
Abstract base class for a sparse linear system. More... | |
class | Sqrt |
class | Square |
class | StateConstraintsNewtonMethod |
A Newton method that uses a pointwise damping strategy to cope with bounds. More... | |
class | StateEquationHBErrorEstimator |
struct | StaticIndexRange |
A compile-time index range. More... | |
class | StepPolicyProjectedRHS |
class | StrakosTichyEnergyErrorTerminationCriterion |
Relative energy error termination criterion according to Strakos, Tichy: Error estimation in preconditioned conjugate gradients. Requires that IterateType::CG starts at \( x = 0 \). More general starting values might be used, but must be chosen such that the estimate for the energy norm of the solution stays positive (see the above mentioned paper for details). More... | |
class | StrakosTichyPTerminationCriterion |
Relative error termination criterion based on the norm induced by the preconditioner, according to Strakos, Tichy: Error estimation in preconditioned conjugate gradients. Requires that IterateType::CG starts at \( x = 0 \). More general starting values might be used, but must be chosen such that the estimate for the energy norm of the solution stays positive (see the above mentioned paper for details). More... | |
struct | StrongBoundaryValues |
struct | StrongResidualsTimesTestFunction |
class | StupidHBErrorEstimator |
struct | SubstractCorrection |
class | SumCache |
class | SumFunctional |
struct | SummationCollector |
A Collector that sums up the weighted contributions. More... | |
struct | SumUp |
class | SUPERLUFactorization |
Factorization of sparse linear systems with mumps. More... | |
class | SymmetricLinearOperator |
Interface for symmetric linear operators. More... | |
class | SymmetricLinearOperatorWrapper |
Wrapper class to present (hopefully) symmetric linear operators in the SymmetricLinearOperator interface. More... | |
class | SymmetricMatrixOperator |
A symmetric operator represented by a matrix. More... | |
class | SymmetricPreconditioner |
Interface for symmetric preconditioners. More... | |
class | SymmetricPreconditionerWrapper |
Wrapper class presenting a symmetric preconditioner interface for any preconditioner. More... | |
class | SymmetricTaylorHoodPreconditioner |
Symmetric Taylor-Hood constraint preconditioner. More... | |
struct | SystDim |
struct | SystDimFull |
class | TangentialStep |
class | TangentialStepArmijo |
class | TangentialStepNewton |
class | TangentSpacePreconditioner |
class | TangentSpacePreconditioner2 |
class | TaskTiming |
A class that gathers data on task timing and provides gnuplot visualization. More... | |
class | TaylorHoodPreconditioner |
Constraint preconditioner for Taylor-Hood discretizations of incompressibility problems. More... | |
class | TCG |
preconditioned conjugate gradient method More... | |
class | Tensor |
A class for representing tensors of arbitrary static rank and extents. More... | |
class | Tensor< Entry, Size0 > |
struct | TenTusscher16 |
Physiologcial model by tenTusscher et al. More... | |
struct | TenTusscher18 |
Physiologcial model by tenTusscher et al. (2006) More... | |
class | TestErrorEstimator |
class | TimeSeriesVTKWriter |
class | Timings |
Supports gathering and reporting execution times information for nested program parts. More... | |
class | TransferData |
A class storing data collected before grid adaptation that is necessary to transfer FE functions. This includes global indices of shape functions on leaf cells and restriction matrices to coarser cells in case some leaf cells might be removed during grid adaptation. More... | |
class | TransformedPolynomialModel |
class | TransposedOperator |
class | TrapezoidalRule |
class | TrivialBoundaryDetector |
class | TrivialCacheBase |
Base class simplifying the definition of domain and boundary caches. More... | |
class | TrivialPreconditioner |
The trivial preconditioner: this is simply the identity that does exactly nothing. More... | |
class | UMFFactorization |
Factorization of sparse linear systems with UMFPack. More... | |
struct | UnaryTrue |
class | UnboundedProblemException |
To be raised if an iterative solver detects the optimization problem to be unbounded (has no valid solution). More... | |
class | UNCMINVector |
Very simple vector wrapper for the use of the optimization tool uncmin, which is not capable of using std::vector :(. More... | |
class | UniformPartitionedMapper |
Base class for piecewise continuous mappers. More... | |
class | UniformSampler |
Class that can sample a Function(View) on a uniform rectangular grid. More... | |
class | UniformScalarMapper |
Base class for uniform scalar local to global mappers. More... | |
class | UzawaSolver |
An inexact Uzawa type solver for solving symmetric saddle point systems. More... | |
struct | Variable |
A class defining elementary information about a single variable. More... | |
struct | VariableDescription |
A class storing elementary information about a single variable.This includes the number of components, the id and name of the variable, and the index of the associated FEFunctionSpace from which the variable comes. More... | |
struct | VariableId |
DEPRECATED. More... | |
class | VariableSet |
A class for storing a heterogeneous collection of FunctionSpaceElement s. More... | |
class | VariableSetDescription |
A class that stores information about a set of variables. More... | |
struct | VariationalArg |
A class that stores values, gradients, and Hessians of evaluated shape functions. More... | |
class | VariationalEquationHBErrorEstimator |
class | VariationalFunctionalAssembler |
A class for assembling Galerkin representation matrices and right hand sides for variational functionals depending on multiple variables. More... | |
struct | vec |
class | VectorialConverterBase |
A class mapping local vectorial shape function values and gradients to global shape function values and gradients. More... | |
struct | Volume |
A Weighing that associates to each cell its volume. More... | |
class | VTKReader |
A class to create a grid and load coefficients from a VTK file. More... | |
struct | WeakBoundaryValues |
struct | WeakBoundaryValuesFull |
class | WeakFunctionViewAdaptor |
An adaptor that turns callables (e.g., lambdas) into weak function views. More... | |
struct | WeakResiduum |
struct | WeakResiduumFull |
struct | WeakResiduumMainPart |
class | XXstress |
Active stress generation from XX. More... | |
class | YetAnotherHBErrorEstimator |
class | YetAnotherHBErrorEstimator_Elasticity |
class | ZeroDualPairing |
Zero dual pairing implementation (mainly useful whenever a dual pairing is needed for formal language reasons, but never used) More... | |
Typedefs | |
template<class GridView > | |
using | GridAngleFeatureDetector = AngleFeatureDetector< typename GridView::IndexSet::IndexType, typename GridView::ctype, GridView::dimension > |
template<class TestVars , int row> | |
using | D1Result = Dune::FieldVector< typename TestVars::Scalar, TestVars::template Components< row >::m > |
The return type of the d1() method of DomainCache and BoundaryCache. More... | |
template<class TestVars , int row, class AnsatzVars , int col> | |
using | D2Result = Dune::FieldMatrix< typename TestVars::Scalar, TestVars::template Components< row >::m, AnsatzVars::template Components< col >::m > |
The return type of the d1() method of DomainCache and BoundaryCache. More... | |
template<class Spaces > | |
using | Evaluators = typename boost::fusion::result_of::as_vector< typename boost::fusion::result_of::transform< Spaces, GetEvaluatorTypes >::type >::type |
the heterogeneous sequence type of Evaluators for the given spaces More... | |
template<class GridView > | |
using | Cell = typename GridView::template Codim< 0 >::Entity |
The type of cells (entities of codimension 0) in the grid view. More... | |
template<class GridView > | |
using | Face = typename GridView::Intersection |
The type of faces in the grid view. More... | |
template<class GridView > | |
using | GlobalPosition = Dune::FieldVector< typename GridView::ctype, GridView::dimensionworld > |
The type of global positions within the grid view. More... | |
template<class GridView > | |
using | LocalPosition = Dune::FieldVector< typename GridView::ctype, GridView::dimension > |
The type of local positions within cells of the grid view. More... | |
template<class GridView > | |
using | FaceLocalPosition = Dune::FieldVector< typename GridView::ctype, GridView::dimension-1 > |
The type of local positions within faces of the grid view. More... | |
template<class SFData > | |
using | UniformPartitionedMapperCombinerArgument = RangeView< typename std::vector< boost::compressed_pair< size_t, SFData > >::const_iterator > |
The sequence type that is provided as first argument to the call of the Combiner constructor. More... | |
template<class SFData > | |
using | UniformScalarMapperCombinerArgument = RangeView< typename std::vector< boost::compressed_pair< size_t, SFData > >::const_iterator > |
The sequence type that is provided as first argument to the call of the Combiner constructor. More... | |
template<class Grid , class Scalar = double> | |
using | ConstantSpace = FEFunctionSpace< ConstantMapper< Scalar, typename Grid::LeafGridView > > |
A finite element space of globally constant functions on the leaf grid view. More... | |
template<class Grid , class Scalar = double> | |
using | H1Space = FEFunctionSpace< ContinuousLagrangeMapper< Scalar, typename Grid::LeafGridView > > |
An \( H^1 \) conforming finite element space on the leaf grid view with Lagrange basis. More... | |
template<class Grid , class Scalar = double> | |
using | H1HierarchicSpace = FEFunctionSpace< ContinuousHierarchicMapper< Scalar, typename Grid::LeafGridView > > |
An \( H^1 \) conforming finite element space on the leaf grid view with hierarchic basis. More... | |
template<class Grid , class Scalar = double> | |
using | H1HierarchicExtensionSpace = FEFunctionSpace< ContinuousHierarchicExtensionMapper< Scalar, typename Grid::LeafGridView > > |
An \( H^1 \) conforming finite element extension space on the leaf grid view with hierarchic basis. More... | |
template<class Grid , class Scalar = double> | |
using | L2Space = FEFunctionSpace< DiscontinuousLagrangeMapper< Scalar, typename Grid::LeafGridView > > |
An \( L^2 \) conforming finite element space on the leaf grid view with Lagrange basis. More... | |
template<class Grid , class Scalar = double> | |
using | L2HierarchicSpace = FEFunctionSpace< DiscontinuousHierarchicMapper< Scalar, typename Grid::LeafGridView > > |
An \( L^2 \) conforming finite element space on the leaf grid view with hierarchic basis. More... | |
template<class Grid , class Scalar = double> | |
using | L2HierarchicExtensionSpace = FEFunctionSpace< DiscontinuousHierarchicExtensionMapper< Scalar, typename Grid::LeafGridView > > |
An \( L^2 \) conforming finite element extension space on the leaf grid view with hierarchic basis. More... | |
using | ValueMethod = decltype(valueMethod) |
The type of the valueMethod helper functor. More... | |
using | DerivativeMethod = decltype(derivativeMethod) |
The type of the derivativeMethod helper functor. More... | |
template<class X , class Xstar , class TimerPolicy = DoNotMeasureTime> | |
using | CG = CGBase< X, Xstar, CGImplementationType::STANDARD, TimerPolicy > |
template<class X , class Xstar , class TimerPolicy = DoNotMeasureTime> | |
using | TCG = CGBase< X, Xstar, CGImplementationType::TRUNCATED, TimerPolicy > |
template<class X , class Xstar , class TimerPolicy = DoNotMeasureTime> | |
using | RCG = CGBase< X, Xstar, CGImplementationType::REGULARIZED, TimerPolicy > |
template<class X , class Xstar , class Regularization = NoRegularization> | |
using | TPCG = TCG< X, Xstar, Regularization > |
using | Prolongation = NumaBCRSMatrix< Dune::FieldMatrix< double, 1, 1 > > |
template<class Grid , int nComponents = 1> | |
using | MultiGridSolver = MultigridSolver< Grid, nComponents > |
template<class Type > | |
using | ScalarType = typename GetScalar< Type >::type |
Extracts the scalar field type from linear algebra data types. More... | |
template<int k> | |
using | PenaltyMonomial = PenaltyFunction< Monomial< k > > |
typedef PenaltyFunction< LN > | PenaltyLN |
typedef PenaltyFunction< Polynomial< 5,-5 > > | Hartmann03 |
typedef PenaltyFunction< Polynomial< 2,-2 > > | QuadQuad |
typedef PenaltyFunction< QuadraticAndLogBase > | QuadraticAndLog |
template<int k> | |
using | QuadraticAndPolynomial = PenaltyFunction< Polynomial< 2, k > > |
typedef std::packaged_task< void()> | Task |
Abstract interface for tasks to be scheduled for concurrent execution. More... | |
typedef std::future< void > | Ticket |
Abstract waitable job ticket for submitted tasks. More... | |
Functions | |
template<class ParameterType > | |
Parameters< ParameterType > | makePars (ParameterType const &p) |
template<int rbegin, int rend, class FSE , class CoeffVector > | |
void | copyFromFunctionSpaceElement (FSE const &fse, CoeffVector &coeffVector) |
template<int rbegin, int rend, class FSE , class CoeffVector > | |
void | addToFunctionSpaceElement (CoeffVector const &coeffVector, FSE &fse) |
template<class Assembler , class Lin , int rbegin, int rend, int cbegin, int cend> | |
void | ddxpy_template (Lin &lin, AbstractFunctionSpaceElement &y, AbstractFunctionSpaceElement const &x) |
template<typename Scalar > | |
std::ostream & | operator<< (std::ostream &s, std::vector< Scalar > const &vec) |
template<class OriginalEvaluators , class ExtensionEvaluators , class Functional , class ArgYH , class ArgYE , class ArgUH , class ArgUE , class ArgPH , class ArgPE > | |
void | evaluateData (OriginalEvaluators &originalEvaluators, ExtensionEvaluators &extendedEvaluators, Functional const &f, ArgYH &yl, ArgYE &yh, ArgUH &ul, ArgUE &uh, ArgPH &pl, ArgPE &ph, double w) |
template<class ArgYL , class ArgYH , class ArgUL , class ArgUH , class ArgPL , class ArgPH > | |
void | clearVarArgs (ArgYL &yl, ArgYH &yh, ArgUL &ul, ArgUH &uh, ArgPL &pl, ArgPH &ph) |
template<class ArgU , class ArgY , class ArgP > | |
double | computeL2Error (ArgU const &u, ArgY const &y, ArgP const &p) |
template<class ArgU , class ArgY , class ArgP > | |
double | computeH1HalfError (ArgU const &u, ArgY const &y, ArgP const &p) |
bool | biggerThanAbs (const std::pair< double, int > &x1, const std::pair< double, int > &x2) |
double | add (const double &x1, const std::pair< double, int > &x2) |
template<class Equation > | |
double | bisection (double a, double b, Equation const &f, double accuracy, int &iterations) |
Performs bisection algorithm to find a zero of a. More... | |
template<class Value > | |
void | assignIfNegative (Value &val, Value newVal) |
template<class Function > | |
CellData< typenameFunction::Space::Grid, typenameFunction::ValueType >::CellDataVector | gradientAveraging (Function const &f) |
Perform gradient averaging in order to construct an error estimator. More... | |
template<class GradientError , class Function > | |
void | gradientAveraging (GradientError &dx, Function const &x) |
Perform gradient averaging in order to construct a representation of the gradient error. More... | |
template<class Function > | |
CellData< typenameFunction::Space::Grid, typenameFunction::ValueType >::CellDataVector | lowOrderInterpolation (Function const &f) |
Perform lower order interpolation in order to construct an error estimator. More... | |
template<class LocalMatrix , class Evaluators , class RT , class Cache > | |
void | localNormalMatrix (LocalMatrix &localmatrix, RT intEl, Evaluators const &evaluators, Cache const &cache) |
template<class LocalVector , class Evaluators , class RT > | |
void | rank1KernelVector (LocalVector &localvector, RT intEl, Evaluators const &evaluators) |
template<class VariableDescriptions , int sysdim, class Result , class F , class Spaces , class ExtendedSpaces > | |
void | edgeAveraging (Result &result, F const &f, Spaces const &spaces, ExtendedSpaces const &extendedSpaces) |
Computes an error representation function, which is useful for goal oriented adaptivity. More... | |
template<class LocalVector , class LocalMatrix > | |
void | solveLocalFullSystem (LocalVector &c, LocalMatrix &A, LocalVector &b) |
template<class VariableDescriptions , int sysdim, class Result , class F , class FS , class Spaces , class ExtendedSpaces > | |
void | edgeAveragingFull (Result &result, F const &f, FS const &fs, Spaces const &spaces, ExtendedSpaces const &extendedSpaces) |
Computes an error representation function, which is useful for goal oriented adaptivity. More... | |
template<class Description , class Function , class Functional > | |
CellData< typenameFunction::Grid >::CellDataVector | BWErrorIndicator (Function const &f, Functional const &vf) |
Construct an error indicator in the flavour of Bank/Weiser. More... | |
template<class CoordType , int dim> | |
Dune::FieldVector< CoordType, dim+1 > | barycentric (Dune::FieldVector< CoordType, dim > const &x) |
Computes the barycentric coordinates of a point in the unit simplex. More... | |
template<class CoordType , int dim, std::enable_if_t< std::is_floating_point_v< CoordType >, int > = 0> | |
Dune::FieldVector< CoordType, dim > | projectToUnitSimplex (Dune::FieldVector< CoordType, dim > x) |
Projects a vector onto the unit simplex. More... | |
template<class CoordType , int dim> | |
Dune::FieldVector< CoordType, dim+1 > | barycentric2 (Dune::FieldVector< CoordType, dim > const &x) |
Computes barycentric coordinates of a point in the unit simplex. More... | |
template<class CoordType , int dim> | |
Dune::FieldMatrix< CoordType, dim+1, dim > | barycentric2Derivative (Dune::FieldVector< CoordType, dim > const &x) |
Computes the derivative of the barycentric coordinates of a point in the unit simplex. More... | |
template<size_t dim> | |
std::array< int, dim+1 > | barycentric (std::array< int, dim > const &x, int bsum) |
Converts integer coordinate index to barycentric indices. More... | |
template<class GridView > | |
std::map< typename GridView::IndexSet::IndexType, BoundaryStar< typename GridView::IndexSet::IndexType, typename GridView::ctype, GridView::dimension > > | computeBoundaryStars (GridView const &gv) |
Computes the boundary stars (i.e. corners around a vertex) for all boundary vertices of the grid view. More... | |
template<class Index , class ctype > | |
void | adjustEdgeTangents (BoundaryStar< Index, ctype, 3 > &star, std::map< std::array< Index, 2 >, Dune::FieldVector< ctype, 3 > > &orientedEdges, GeometricFeatureDetector< Index, ctype, 3 > const &features) |
Detects feature edges and adjusts the edge tangent vectors accordingly. More... | |
template<class Index , class ctype > | |
void | adjustEdgeTangents (BoundaryStar< Index, ctype, 2 > &star, std::map< std::array< Index, 2 >, Dune::FieldVector< ctype, 2 > > &orientedEdges, GeometricFeatureDetector< Index, ctype, 2 > const &features) |
template<class GridView > | |
std::vector< Dune::FieldVector< typename GridView::ctype, GridView::dimension > > | interpolateVertexPositions (GridView const &gv, GridBoundaryTangents< GridView > const &tangents, bool computeDisplacements=false) |
Computes a new position for each grid vertex based on boundary interpolation. More... | |
template<class Grid , class T > | |
CellData< Grid, int >::CellDataVector | markByBulkCriterion (CellData< Grid, T > &ic, double Theta) |
Create a CellDataVector, in which the largest entities of *this are marked by 1, using the "bulk criterion". More... | |
template<class Grid , class T > | |
void | deleteAllAboveLevel (CellData< Grid, T > &ic, int maxlevel) |
Delete all error entries of entities which are above a certain level. More... | |
template<class Grid , class T > | |
CellData< Grid, int >::CellDataVector | markByMaxCriterion (CellData< Grid, T > &ic, double Ratio) |
Create a CellDataVector, in which the largest entities of *this are marked by 1, using the "max criterion". More... | |
template<class Grid , class T > | |
CellData< Grid, int >::CellDataVector | markWithinInterval (CellData< Grid, T > &ic, double lower, double upper, int times) |
Create a CellDataVector, in which the largest entities of *this are marked by 1, using the "max criterion". More... | |
template<class Grid > | |
CellData< Grid, int >::CellDataVector | unmarkOutOf (CellData< Grid, int > const &ic, Dune::FieldVector< typename Grid::ctype, Grid::dimension > center, double radius) |
Create a CellDataVector, in which the largest entities of *this are marked by 1, using the "max criterion". More... | |
template<class Indicator > | |
Indicator | errorL2 (Indicator const &indi) |
Scale error indicators for H^1, such that L_2 indicators are the result. More... | |
template<typename FSElement > | |
void | extendMarks (FSElement &fse, FSElement const &fu, int neighboursForMarking) |
template<class VariableSetDescription , class Scaling > | |
void | coarsening (VariableSetDescription const &varDesc, typename VariableSetDescription::VariableSet const &sol, Scaling const &scaling, std::vector< std::pair< double, double > > const &tol, GridManager< typename VariableSetDescription::Grid > &gridManager, int verbosity=1, int minRefLevel=0) |
template<class VariableSetDescription , class Scaling > | |
void | coarsening (VariableSetDescription const &varDesc, typename VariableSetDescription::VariableSet const &sol, Scaling const &scaling, std::vector< std::pair< double, double > > const &tol, GridManager< typename VariableSetDescription::Grid > &gridManager, std::vector< bool > &coarsenedCells, int verbosity=1, int minRefLevel=0) |
coarsening routine More... | |
template<class ScalarA , class ScalarB , int r, int c> | |
Dune::FieldMatrix< ScalarA, r, c > | castMatrixEntries (Dune::FieldMatrix< ScalarB, r, c > const &m) |
Copies matrix into another matrix with possibly different entry type (e.g. from double to float). More... | |
template<class Space , class DisplacedFace , class Displacement > | |
auto | getContactConstraint (Space const &space, BoundaryLocator< typename Space::GridView, Displacement > const &boundaryLocator, DisplacedFace const &face, Dune::FieldVector< typename Space::GridView::ctype, Space::GridView::Grid::dimension-1 > const &xi, double overlap) |
Computes a single multibody contact point constraint. More... | |
template<class Space1 , class DisplacedFace1 , class Displacement1 , int dimw1 = Space1::GridView::Grid::dimension, class Space2 , class Displacement2 , int dimw2 = Space2::GridView::Grid::dimension> | |
auto | getContactConstraint (Space1 const &space1, BoundaryLocator< typename Space1::GridView, Displacement1, Space1::GridView::Grid::dimension > const &boundaryLocator1, Space2 const &space2, BoundaryLocator< typename Space2::GridView, Displacement2, Space2::GridView::Grid::dimension > const &boundaryLocator2, DisplacedFace1 const &face, Dune::FieldVector< typename Space1::GridView::ctype, Space1::GridView::Grid::dimension-1 > const &xi, double overlap, int which=0) |
Computes a single multibody contact point constraint. More... | |
template<int dim> | |
std::vector< Dune::QuadraturePoint< double, dim > > | constraintPositions (Dune::GeometryType gt, int nodesPerEdge) |
Computes contact sample points on faces. More... | |
template<class Space , class Displacement > | |
auto | getContactConstraints (Space const &space, BoundaryLocator< typename Space::GridView, Displacement > const &boundaryLocator, int pointsPerEdge, double overlap=std::numeric_limits< double >::lowest(), Mortar< typename Space::Grid::ctype, Space::Grid::dimension > const &mortar=ContactConstraintsDetail::defaultMortar< typename Space::Grid::ctype, Space::Grid::dimension >()) |
Computes a complete set of pointwise multibody contact constraints. More... | |
template<class Space1 , class Displacement1 , class Space2 , class Displacement2 , bool flattened = false> | |
auto | getContactConstraints (Space1 const &space1, BoundaryLocator< typename Space1::GridView, Displacement1, Space1::GridView::Grid::dimension > const &boundaryLocator1, Space2 const &space2, BoundaryLocator< typename Space2::GridView, Displacement2, Space1::GridView::Grid::dimension > const &boundaryLocator2, int order, double overlap=std::numeric_limits< double >::lowest(), bool symmetric=true) |
Computes a complete pointwise twobody contact constraint. More... | |
template<class GridView , class Displacement > | |
double | getContactArea (BoundaryLocator< GridView, Displacement > const &boundaryLocator1, BoundaryLocator< GridView, Displacement > const &boundaryLocator2, int order, double overlap=std::numeric_limits< double >::lowest(), double maxGap=1e-4) |
Computes the contact area for the first body. More... | |
template<class Displacement , class BoundaryDisplacement > | |
double | contactLinesearch (Displacement const &u, BoundaryLocator< typename Displacement::GridView, BoundaryDisplacement > &boundaryLocator, Displacement const &direction, int pointsPerEdge, double trialStepSize=0.2, double overlap=std::numeric_limits< double >::lowest(), double targetOverlap=0, Mortar< typename Displacement::ctype, Displacement::GridView::dimension > const &mortar=ContactConstraintsDetail::defaultMortar< typename Displacement::ctype, Displacement::GridView::dimension >()) |
Computes a feasible step size for contact constraints. More... | |
template<class Displacement1 , class BoundaryDisplacement1 , class Displacement2 , class BoundaryDisplacement2 > | |
double | contactLinesearch (Displacement1 const &u1, BoundaryLocator< typename Displacement1::GridView, BoundaryDisplacement1 > &boundaryLocator1, Displacement1 const &direction1, Displacement2 const &u2, BoundaryLocator< typename Displacement2::GridView, BoundaryDisplacement2 > &boundaryLocator2, Displacement2 const &direction2, int order, double trialStepSize=0.2, double overlap=std::numeric_limits< double >::lowest(), double targetOverlap=0) |
Computes a feasible step size for contact constraints. More... | |
double | massDensity (std::string const &name) |
Mass density of several materials in kg/m^3. More... | |
std::map< std::string, double > const & | massDensities () |
A map from known material names to their mass densities. More... | |
double | thermalExpansion (std::string const &name, double pressure=101300) |
Volumetric thermal expansion coefficient of materials. More... | |
double | heatConductivity (std::string const &name) |
Heat conductivity [W/m/K]. More... | |
std::map< std::string, double > const & | heatConductivities () |
A map from known material names to their heat conductivities. More... | |
double | specificHeatCapacity (std::string const &name) |
Specific heat capaciity [J/kg/K]. More... | |
std::map< std::string, double > const & | specificHeatCapacities () |
A map from known material names to their specific heat capaciities. More... | |
double | dynamicViscosity (std::string const &name) |
Dynamic viscosity of several materials in kg/m/s. More... | |
std::map< std::string, double > const & | dynamicViscosities () |
A map from known material names to their dynamic viscosities. More... | |
template<class VariableSetDescription > | |
void | projectHierarchically (VariableSet< VariableSetDescription > &f) |
Projects the given FE function onto the the polynomial ansatz subspace of one order lower. This relies on the hierarchic projection defined by the shape function sets on each cell. More... | |
template<class VariableSet , class GridManager > | |
std::array< size_t, 3 > | uniformEmbeddedErrorEstimation (VariableSet const &u, Dune::FieldVector< double, VariableSet::Descriptions::noOfVariables > const &tol, GridManager &gridManager, double rhoMin=0.1, double rhoMax=0.9) |
Embedded error estimation and simultaneous mesh refinement/coarsening. More... | |
template<class VariableSetDescription , class Scaling > | |
bool | embeddedErrorEstimator (VariableSetDescription const &varDesc, typename VariableSetDescription::VariableSet const &err, typename VariableSetDescription::VariableSet const &sol, Scaling const &scaling, std::vector< std::pair< double, double > > const &tol, GridManager< typename VariableSetDescription::Grid > &gridManager, int verbosity=1) |
Embedded error estimation and mesh refinement. More... | |
template<class GridManager , class GridView > | |
void | markAndRefine (GridManager &gridManager, GridView const &gridView, boost::multi_array< double, 2 > const &normalizedErrors, std::vector< double > const &threshold) |
Refines the grid according to the normalized errors and the given thresholds. More... | |
template<class Space , class ShapeFunctionSet > | |
void | evaluateGlobalShapeFunctions (Space const &space, Cell< typename Space::GridView > const &cell, std::vector< LocalPosition< typename Space::GridView > > const &xi, DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, Space::sfComponents, 1 > > &sfValues, ShapeFunctionSet const &shapeFunctionSet) |
Computes the values of global shape functions at the given points (which are supposed to be local coordinates inside the cell to which the evaluator is currently moved). More... | |
template<class Space > | |
void | evaluateGlobalShapeFunctions (Space const &space, Cell< typename Space::GridView > const &cell, std::vector< LocalPosition< typename Space::GridView > > const &x, DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, Space::sfComponents, 1 > > &sfValues) |
template<class Space , class ShapeFunctionSet > | |
void | approximateGlobalValues (Space const &space, typename Space::Grid::template Codim< 0 >::Entity const &cell, DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, Space::sfComponents, 1 > > &globalValues, DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, 1, 1 > > &coeff, ShapeFunctionSet const &sfs) |
Computes global shape function coefficients such that the given set of global function values at the interpolation nodes of the shape function set are approximated by the resulting linear combinations of global shape functions. More... | |
template<class Space > | |
void | approximateGlobalValues (Space const &space, typename Space::Grid::template Codim< 0 >::Entity const &cell, DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, Space::sfComponents, 1 > > &globalValues, DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, 1, 1 > > &coeff) |
template<class ChildSpace , class FatherSpace > | |
void | localProlongationMatrix (ChildSpace const &childSpace, Cell< typename ChildSpace::Grid > const &child, FatherSpace const &fatherSpace, Cell< typename FatherSpace::Grid > const &father, DynamicMatrix< Dune::FieldMatrix< typename ChildSpace::Scalar, 1, 1 > > &prolongation, typename ChildSpace::Mapper::ShapeFunctionSet const &childSfs, typename FatherSpace::Mapper::ShapeFunctionSet const &fatherSfs) |
Computes a local prolongation matrix for global shape functions from father cell to child cell. More... | |
template<class ChildSpace , class FatherSpace > | |
void | localProlongationMatrix (ChildSpace const &childSpace, Cell< typename ChildSpace::GridView > const &child, FatherSpace const &fatherSpace, Cell< typename FatherSpace::GridView > const &father, DynamicMatrix< Dune::FieldMatrix< typename ChildSpace::Scalar, 1, 1 > > &prolongation) |
Computes a local prolongation matrix from father cell to child cell. More... | |
template<typename Weighing = PlainAverage, typename FSElement , typename Function > | |
void | interpolateGlobally (FSElement &fse, Function const &fu) |
Interpolates FunctionSpaceElement to FunctionSpaceElement. More... | |
template<typename Weighing = PlainAverage, typename Target , typename Source > | |
void | interpolateGloballyWeak (Target &target, Source const &fu) |
Interpolates WeakFunctionViews to FunctionSpaceElement. More... | |
template<class Fu1 , class Fu2 > | |
void | spaceTransfer (Fu1 &f1, Fu2 const &f2) |
DEPRECATED. Use interpolateGlobally instead. More... | |
template<class Scalar , int n> | |
auto | horzcat (Dune::FieldVector< Scalar, n > const &c1) |
template<class Scalar , int n, class ... Rest> | |
auto | horzcat (Dune::FieldVector< Scalar, n > const &a, Rest ... rest) |
Concatenates an arbitrary number of column vectors and matrices with coinciding number of rows to a larger matrix. More... | |
template<class Scalar , int n, int m> | |
auto | horzcat (Dune::FieldMatrix< Scalar, n, m > const &a) |
template<class Scalar , int n, int m, class ... Rest> | |
auto | horzcat (Dune::FieldMatrix< Scalar, n, m > const &a, Rest ... rest) |
template<class Scalar , int n> | |
Dune::FieldMatrix< Scalar, n, 3 > | horzcat (Dune::FieldVector< Scalar, n > const &col1, Dune::FieldVector< Scalar, n > const &col2, Dune::FieldVector< Scalar, n > const &col3) |
template<class Scalar , int n, int m> | |
Dune::FieldVector< Scalar, n > | column (Dune::FieldMatrix< Scalar, n, m > const &A, int j) |
Extracts the j-th column of the given matrix A. More... | |
template<class Scalar , int n> | |
Dune::FieldVector< Scalar, n *n > | vectorize (Dune::FieldMatrix< Scalar, n, n > const &A) |
matrix entries as vector, concatenating columns More... | |
template<int n, class Scalar > | |
Dune::FieldMatrix< Scalar, n, n > | unvectorize (Dune::FieldVector< Scalar, n *n > const &v) |
forming quadratic matrix columns of vector segments More... | |
template<class T , int n, int m> | |
T | contraction (Dune::FieldMatrix< T, n, m > const &A, Dune::FieldMatrix< T, n, m > const &B) |
Matrix contraction (Frobenius product) \( (A,B) \mapsto A:B = \sum_{i,j} A_{ij} B_{ij} \). More... | |
template<class GridView , class Functor > | |
void | forEachCell (GridView const &gridView, Functor functor) |
DEPRECATED: use range based for loops and Dune::elements() directly. iterates over each cell and applies functor to cell. Each cell is visited exactly once. More... | |
template<class GridView , class Functor > | |
void | forEachVertex (GridView const &gridView, Functor functor) |
DEPRECATED: use range based for loops and Dune::vertices() directly. iterates over each vertex and applies functor to vertex. Each vertex is visited exactly once. More... | |
template<class GridView , class Functor > | |
void | forEachFace (GridView const &gridView, Functor functor) |
template<class GridView , class Functor > | |
void | forEachFaceOfCell (GridView const &gridView, Functor functor) |
same as forEachFace, but the functor is applied to the face and the cell from which the face is visited More... | |
template<class GridView , class Functor > | |
void | forEachBoundaryFace (GridView const &gridView, Functor functor) |
iterates over each boundary face and applies functor to face. Each boundary face is visited exactly once. More... | |
template<class GridView , class Functor > | |
void | forEachInnerFace (GridView const &gridView, Functor functor) |
iterates over each inner face and applies functor to face. Each inner face is visited exactly twice (and so functor is applied twice). More... | |
template<class GridView , class Functor > | |
void | forEachCellAndEachFace (GridView const &gridView, Functor functor) |
iterates over each cell and applies functor to cell and then iterates over each face of cell and applies functor to face More... | |
template<class GridManager , class Functor > | |
void | markCells (GridManager &gridManager, Functor functor) |
template<class Functional > | |
LinearizationDifferenceAt< Functional > | linearizationDifference (Functional const &f, typename Functional::OriginVars::VariableSet const &u1, typename Functional::OriginVars::VariableSet const &u2) |
Convenience routine: construct linearization without having to know the type of the functional. More... | |
template<class Cell , class ctype > | |
std::pair< Cell, Dune::FieldVector< ctype, Cell::dimension > > | findCellOnLevel (Cell cell, Dune::FieldVector< ctype, Cell::dimension > xi, int level=std::numeric_limits< int >::max()) |
Returns a descendant or ancestor cell of the given cell containing the specified local coordinate. More... | |
template<class GridView > | |
Cell< GridView > | findCell (GridView const &gv, GlobalPosition< GridView > global) |
Returns a cell of the given grid containing the specified global coordinate. More... | |
template<class Space , int m, class InIter > | |
InIter | vectorFromSequence (FunctionSpaceElement< Space, m > &v, InIter in) |
template<class Evaluators , class Cell > | |
void | moveEvaluatorsToCell (Evaluators &evals, Cell const &cell) |
Moves all provided evaluators to the given cell. More... | |
template<class Evaluators , class Cell , class Index > | |
void | moveEvaluatorsToCell (Evaluators &evals, Cell const &cell, Index idx) |
Moves all provided evaluators to the given cell with provided index. More... | |
template<class Evaluator , class QuadratureRule > | |
void | useQuadratureRuleInEvaluators (Evaluator &evals, QuadratureRule const &qr, int subId) |
Tells all evaluators to use the given quadrature rule on the given subentity. More... | |
template<class Evaluators , class CoordType , int dim, int subDim> | |
void | moveEvaluatorsToIntegrationPoint (Evaluators &evals, Dune::FieldVector< CoordType, dim > const &x, Dune::QuadratureRule< CoordType, subDim > const &qr, int ip, int subId) |
Moves all provided evaluators to the given integration point, evaluating the shape functions there. More... | |
template<class Evaluators , class CoordType , int dim> | |
void | moveEvaluatorsToIntegrationPoint (Evaluators &evals, Dune::FieldVector< CoordType, dim > const &x) |
Moves all provided evaluators to the given integration point, evaluating the shape functions there. More... | |
template<class Evaluators > | |
int | maxOrder (Evaluators const &evals) |
Computes the maximum ansatz order used in a collection of evaluators. More... | |
template<template< class Fct1, class Fct2 > class View, class Fct1 , class Fct2 > | |
View< Fct1, Fct2 > | makeView (Fct1 const &f1, Fct2 const &f2) |
Construct a View on two Functions without having to state the type of these explicitely. More... | |
template<template< typename Function > class View, typename Function > | |
View< Function > | makeView (Function const &f1) |
Construct a View on a Function without having to state the type of it explicitely. More... | |
template<class View , class Space > | |
CellData< typenameSpace::Grid, Dune::FieldVector< double, 1 > >::CellDataVector | evalCellProperties (Space const &space) |
Evaluate WeakFunctionViews and construct CellData. More... | |
template<class Map , class IndexSet , class LocalDofs > | |
size_t | computeDofStartIndices (int dim, Map &map, IndexSet const &is, LocalDofs &localDof) |
For each codimension (i.e., type of subentity) computes the number of global ansatz functions as well as an accumulated index into an array of all ansatz functions. More... | |
void | vertexids (int d, int c, int k, int *idx) |
Computes the d-c+1 local vertex indices of the vertices incident to the k-th subentity of codimension c in the reference simplex of dimension d. More... | |
template<class GridView > | |
std::pair< Dune::FieldVector< typename GridView::ctype, GridView::dimensionworld >, Dune::FieldVector< typename GridView::ctype, GridView::dimensionworld > > | boundingBox (GridView const &gv) |
Computes a the bounding box of the given grid view. More... | |
template<class GridView > | |
std::unique_ptr< typename GridView::Grid > | createCoverGrid (GridView const &gv, double volumeRatio=10) |
Creates a cartesian structured grid occupying the bounding box of the given grid view. More... | |
template<class Grid > | |
void | refineAtBoundary (GridManagerBase< Grid > &gridManager) |
A convenience routine that refines all cells incident to a boundary face. More... | |
template<class ExtensionVariables , class LinearFunctional > | |
HierarchicErrorEstimator< LinearFunctional, ExtensionVariables > | hierarchicErrorEstimator (LinearFunctional const &lf, typename LinearFunctional::AnsatzVars::VariableSet const &u) |
template<class ctype , int dimension, class Scalar > | |
HierarchicShapeFunctionSetContainer< ctype, dimension, Scalar >::value_type const & | hierarchicShapeFunctionSet (Dune::GeometryType type, int order) |
Returns a Hierarchic shape function set for given reference element type and given polynomial order. Singleton function. More... | |
template<class ctype , int dimension, class Scalar > | |
HierarchicExtensionShapeFunctionSetContainer< ctype, dimension, Scalar >::value_type const & | hierarchicExtensionShapeFunctionSet (Dune::GeometryType type, int order) |
template<class Function , class Functor > | |
void | forEachQuadPoint (Function const &f, Functor &accumulator) |
Loops over the whole domain occupied by the grid and calls an accumulator for each integration point with the value of the function f. This version of forEach requires the function f to be evaluatable by an Evaluator of the associated space of f. More... | |
template<class Functor , class Space > | |
void | forEachQP (Functor &g, Space const &space) |
Loops over the whole domain occupied by the grid and calls the functor g for each integration point with an evaluator of the associated space. More... | |
template<class Functor , class Function , class Space > | |
void | forEachQuadPoint (Function const &f, Functor &g, Space &space) |
Loops over the whole domain occupied by the grid and calls the functor g for each integration point with the value of the function f. More... | |
template<class FEFunction > | |
FEFunction::ValueType | integrateOverIntersection (FEFunction const &function, typename FEFunction::Space::GridView::Intersection const &intersection, typename FEFunction::Space::Evaluator &evaluator) |
integrateOverIntersection computes the integral of an FE function over a grid intersection (face). More... | |
template<class FEFunction > | |
FEFunction::ValueType | integrateOverBoundary (FEFunction const &function) |
integrateOverBoundary computes the integral of an FE function over the whole boundary of the underlying grid. More... | |
template<template< class, class > class DomainMapper, typename Scalar , typename GridView , int m> | |
FunctionSpaceElement< FEFunctionSpace< BoundaryMapper< DomainMapper, Scalar, GridView > >, m >::ValueType | integrateOverBoundary (FunctionSpaceElement< FEFunctionSpace< BoundaryMapper< DomainMapper, Scalar, GridView > >, m > const &function) |
integrateOverBoundary computes the integral of an FE function which is restricted to (parts of) the boundary over the boundary of the underlying grid. More... | |
template<typename Function , class = typename Function::Space> | |
Function::ValueType | integral (Function const &f) |
Evaluate integrals of finite element functions. More... | |
template<class WeakFunctionView , class Space > | |
auto | integral (WeakFunctionView const &f, Space const &space) |
template<class VariableList , class Collector , class Functions , class Spaces > | |
void | gridIterate (VariableList const &vars, Functions const &functions, Spaces const &spaces, Collector &f) |
A function that supports general iterations over a spatial domain and supports efficient evaluation of FE functions at the iterated quadrature points. This is a low-level function working directly on variable lists and function lists. There's a convenience overload working on VariableSets. More... | |
template<class VariableSet , class Collector > | |
void | gridIterate (VariableSet const &functions, Collector &f) |
A function that supports general iterations over a spatial domain and supports efficient evaluation of FE functions at the iterated quadrature points. More... | |
template<class Variables , class Functions , class Spaces , class Scaling , class Collector > | |
void | scaledTwoNormSquared (Variables const &varDesc, Functions const &f, Spaces const &spaces, Scaling const &scaling, Collector &sum) |
Evaluates the square of the scaled \(L^2\)-norms of a set of functions. More... | |
template<class Variables , class OutIter , class Functions , class Spaces , class Scaling > | |
void | relativeError (Variables const &varDesc, Functions const &f1, Functions const &f2, Functions const &f3, Spaces const &spaces, Scaling const &scaling, OutIter out) |
template<class ctype , int dimension, class Scalar = double, bool restricted = false> | |
LagrangeShapeFunctionSetContainer< ctype, dimension, Scalar, restricted >::value_type const & | lagrangeShapeFunctionSet (Dune::GeometryType type, int order) |
Returns a Lagrange shape function set for given reference element type and given polynomial order. Singleton function. More... | |
template<int m, class Scalar , class Sequence > | |
auto & | component (LinearProductSpace< Scalar, Sequence > &x) |
template<class Space , class Density , int m = 1, class Scalar = double> | |
NumaBCRSMatrix< Dune::FieldMatrix< Scalar, m, m > > | massMatrix (Space const &space, Density const &rho) |
Creates a mass matrix for the given FE space. More... | |
template<class Space , class Conductivity , int m = 1, class Scalar = double> | |
NumaBCRSMatrix< Dune::FieldMatrix< Scalar, m, m > > | stiffnessMatrix (Space const &space, Conductivity const &kappa) |
Creates a stiffness matrix for the given FE space. More... | |
template<class ctype , int dimension, class T > | |
NedelecShapeFunctionSetContainer< ctype, dimension, T >::value_type const & | nedelecShapeFunctionSet (Dune::GeometryType type, int order) |
template<class ctype , int dimension, class T = double> | |
HdivShapeFunctionSetContainer< ctype, dimension, T >::value_type const & | hdivShapeFunctionSet (Dune::GeometryType type, int order) |
Returns a Hdiv shape function set for given reference element type and given polynomial order. Singleton function. More... | |
template<class Function > | |
CellData< typenameFunction::Space::Grid, typenameFunction::ValueType >::CellDataVector | localH1SemiNorm (Function const &f) |
local (cellwise) H1-semi-norms More... | |
template<class Function > | |
CellData< typenameFunction::Space::Grid, typenameFunction::ValueType >::CellDataVector | localL2Norm (Function const &f) |
local (cellwise) L2-norms More... | |
template<class FEFunction > | |
auto | boundaryL2Norm (FEFunction const &function) |
boundaryL2Norm computes the L2-norm of an FE function on the whole boundary of the underlying grid. More... | |
template<class ShapeFunctionSet > | |
void | computeSimplexSfPermutation (ShapeFunctionSet const &sfs, int const *vPermutation, int *sfPermutation, int *sign) |
template<class ErrorDescriptions , class F , class FS , class TestFunctions , class Spaces , class TestSpaces > | |
void | residualTimesTestFunction (std::vector< Dune::FieldVector< typename SpaceType< Spaces, 0 >::type::RT, boost::fusion::result_of::size< ErrorDescriptions >::type::value > > &ind, ErrorDescriptions const &varDesc, F const &f, FS const &fs, TestFunctions const &tf, Spaces const &spaces, TestSpaces const &testSpaces) |
Evaluates strong residual, applied to some test-function <f(x), tf> More... | |
template<class Space , class Range > | |
std::vector< size_t > | algebraicPatch (Space const &space, Range const &cells) |
Computes the global indices of all ansatz functions whose support is a subset of the union of given cells. More... | |
template<class Space , class Range > | |
std::vector< size_t > | algebraicPatch (Space const &space, Range const &cells, size_t vertexIdx, std::vector< std::vector< size_t > > const &indicesOnFacets) |
Computes the global indices of all ansatz functions whose support is a subset of the union of given cells. More... | |
template<class GridView > | |
auto | computePatches (GridView const &gridview) |
Computes the patches around vertices of the grid view. More... | |
template<class Variables , class Functions , class Evaluators , class Method > | |
auto | evaluateFunctions (Functions const &fs, Evaluators const &eval, Method const &method=Method()) |
A function evaulating all functions in a variable set using the provided method. More... | |
template<class VariableSet , class Method > | |
auto | evaluateVariables (VariableSet const &vars, typename VariableSet::Descriptions::Evaluators const &eval, Method const &method=Method()) |
A function evaulating all functions in a variable set using the provided method. More... | |
template<class It > | |
RangeView< It > | rangeView (It first, It last) |
Convenience function for constructing range views on the fly. More... | |
template<class GridView > | |
void | copyHeader (GridView const &gridView, std::string const &file_in, std::string const &file_out) |
template<class GridView , class VariableSet > | |
void | writeAMIRAFile (GridView const &gridView, VariableSet const &vars, std::string file_out, IoOptions options=ioOptions_default, Dune::BlockVector< Dune::FieldVector< double, 1 > > materialData=Dune::BlockVector< Dune::FieldVector< double, 1 > >(), std::string file_in="") |
Endian | endianness () |
Return endianness. More... | |
bool | bigEndian () |
Return true if byte order is big endian. More... | |
bool | littleEndian () |
Return true if byte order is little endian. More... | |
std::string | paddedString (int n, int places=3) |
creates a zero-padded string representation of the given number More... | |
template<class GridView , class Writer , class VariableSet , class Filter , class Options > | |
void | writePartialFile (GridView const &gridView, Writer &writer, VariableSet const &vars, std::string const &filename, Filter const &filter, Options const &options) |
template<class Material > | |
void | writeMarc (Material const &material, std::string const &filename, double const scale=1.0, IoOptions options=IoOptions()) |
Writes grid and material IDs given as FE function to a Marc input file. More... | |
template<class Entry , class Index , class VEntry > | |
void | writeToMatlabBinary (NumaBCRSMatrix< Entry, Index > const &A, Dune::BlockVector< VEntry > const &b, std::string const &basename, std::string const &path, int precision=16) |
Writes the given matrix and vector to an binary file based zero. More... | |
template<class Entry , class Index > | |
void | writeToMatlab (NumaBCRSMatrix< Entry, Index > const &A, std::string const &basename, std::string const &outPath, int precision=16) |
Writes the given matrix to an executable matlab file. More... | |
template<class Entry , class Index , class VEntry > | |
void | writeToMatlab (NumaBCRSMatrix< Entry, Index > const &A, Dune::BlockVector< VEntry > const &b, std::string const &basename, int precision=16) |
Writes the given matrix and vector to an executable matlab file. More... | |
template<class Assembler > | |
void | writeToMatlab (Assembler const &assembler, std::string const &basename, int precision=16) |
template<class Assembler > | |
void | writeToMatlab (Assembler const &assembler, std::string const &path, std::string const &basename, int precision=16) |
template<class Function > | |
void | writeVTK (Function const &f, std::string const &filename, IoOptions options, std::string fname) |
Writes a single finite element function to a VTK file. More... | |
std::ostream & | operator<< (std::ostream &stream, VTKReader::FunctionInfo const &info) |
template<class VariableSet > | |
void | writeVTK (VariableSet const &vars, IoOptions options, std::ostream &s) |
Writes a set of finite element functions in VTK XML format to a stream. More... | |
template<class VariableSet > | |
void | writeVTK (VariableSet const &vars, std::string fname, IoOptions const &options) |
Writes a set of finite element functions in VTK XML format to a file. More... | |
void | dgetrf_ (int *m, int *n, double *a, int *lda, int *ipiv, int *info) |
void | dgetrs_ (char *trans, int *n, int *nrhs, double *a, int *lda, int *ipiv, double *b, int *ldb, int *info) |
template<class Domain , class Range > | |
bool | requiresInitializedInput (Dune::Preconditioner< Domain, Range > const *p) |
Whether a preconditioner needs zero initialized result vector or not. More... | |
template<class Scalar , class Entry > | |
std::unique_ptr< Dune::MatrixIndexSet > | conjugationPattern (Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &P, Dune::BCRSMatrix< Entry > const &A, bool onlyLowerTriangle=false) |
Creates the sparsity pattern of \( P^T A P\). More... | |
template<class Scalar , class Entry > | |
void | conjugation (Dune::BCRSMatrix< Entry > &C, Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &P, Dune::BCRSMatrix< Entry > const &A, bool onlyLowerTriangle=false) |
Computes the triple sparse matrix product \( C = C + P^T A P \). More... | |
template<class OutIter > | |
OutIter | vectorToSequence (double x, OutIter iter) |
template<class OutIter > | |
OutIter | vectorToSequence (float x, OutIter iter) |
template<class K , int size, class OutIter > | |
OutIter | vectorToSequence (Dune::FieldVector< K, size > const &v, OutIter iter) |
template<class B , class A , class OutIter > | |
OutIter | vectorToSequence (Dune::BlockVector< B, A > const &v, OutIter iter) |
copies the entries of a vector sequentially to the output iterator. More... | |
template<class K , class OutIter > | |
OutIter | vectorToSequence (std::vector< K > const &v, OutIter iter) |
template<class InIter > | |
InIter | vectorFromSequence (double &x, InIter iter) |
template<class InIter > | |
InIter | vectorFromSequence (float &x, InIter iter) |
template<class K , int size, class InIter > | |
InIter | vectorFromSequence (Dune::FieldVector< K, size > &v, InIter iter) |
template<class B , class A , class InIter > | |
InIter | vectorFromSequence (Dune::BlockVector< B, A > &v, InIter in) |
copies the elements obtained from the input iterator sequentially to the entries of the vector. More... | |
template<class K , class InIter > | |
InIter | vectorFromSequence (std::vector< K > &v, InIter iter) |
template<class Matrix , class OutIteratorI , class OutIteratorD > | |
void | matrix_to_triplet (Matrix const &a, OutIteratorI i, OutIteratorI j, OutIteratorD z) |
converts a matrix to the coordinate (triplet) format. More... | |
template<class SparseInt > | |
std::vector< std::vector< SparseInt > > | getBCRSIndicesFromTriplet (SparseInt nrows, std::vector< SparseInt > const &ridx, std::vector< SparseInt > const &cidx, int nr=1, int nc=1) |
Sorts the sparse matrix nonzero positions into row buckets. More... | |
template<class B , class A > | |
std::ostream & | operator<< (std::ostream &out, Dune::BCRSMatrix< B, A > const &a) |
template<class GOP , int firstRow, int lastRow, int firstCol, int lastCol> | |
InverseLinearOperator< DirectSolver< typename AssembledGalerkinOperator< GOP, firstRow, lastRow, firstCol, lastCol >::Domain, typename AssembledGalerkinOperator< GOP, firstRow, lastRow, firstCol, lastCol >::Range > > | directInverseOperator (AssembledGalerkinOperator< GOP, firstRow, lastRow, firstCol, lastCol > const &A, DirectType directType, MatrixProperties properties) |
template<class Matrix , class Domain , class Range > | |
InverseLinearOperator< DirectSolver< Domain, Range > > | directInverseOperator (MatrixRepresentedOperator< Matrix, Domain, Range > const &A, DirectType directType=DirectType::UMFPACK, MatrixProperties properties=MatrixProperties::GENERAL) |
std::array< std::vector< size_t >, 3 > | nestedDissection (std::vector< std::pair< size_t, size_t > > const &edges, std::vector< size_t > const &edgeStart) |
Computes a nested dissection of the given graph. More... | |
template<class T , typename = std::enable_if_t<std::is_arithmetic<T>::value>> | |
T | transpose (T x) |
template<class Scalar , int d> | |
Dune::FieldVector< Scalar, d > | eigenvalues (Dune::FieldMatrix< Scalar, d, d > A) |
Computes the eigenvalues of a symmetric matrix \( A \). More... | |
template<class Scalar , int d> | |
Dune::FieldVector< Scalar, d > | eig (Dune::FieldMatrix< Scalar, d, d > &A, bool computeEigenvectors=true) |
Computes the eigenvalues and eigenvectors of a symmetric matrix \( A \). More... | |
template<int dimIn, int dimOut> | |
Dune::BlockVector< Dune::FieldVector< double, dimOut > > | reshapeBlocks (Dune::BlockVector< Dune::FieldVector< double, dimIn > > const &b) |
reshapes a Dune::BlockVector block structure More... | |
template<class Entry , int n> | |
Dune::FieldMatrix< Entry, n, n > | diag (Dune::FieldVector< Entry, n > const &d) |
Creates a fixed-size diagonal matrix from the given diagonal vector. More... | |
template<class Scalar , class Index > | |
void | tripletToCompressedColumn (Index nRows, Index nCols, size_t nNonZeros, std::vector< Index > const &ridx, std::vector< Index > const &cidx, std::vector< Scalar > const &values, std::vector< Index > &Ap, std::vector< Index > &Ai, std::vector< Scalar > &Az) |
Converts a matrix in triplet format to a compressed column format. More... | |
template<class Scalar , class Index > | |
std::unique_ptr< Factorization< Scalar > > | getFactorization (DirectType directType, MatrixAsTriplet< Scalar, Index > const &A, FactorizationOptions options) |
Creates a factorization of the given triplet matrix. More... | |
template<class Scalar > | |
std::unique_ptr< Factorization< Scalar > > | getFactorization (DirectType directType, Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &A, FactorizationOptions options) |
Creates a factorization of the given BCRSmatrix. More... | |
template<class Scalar , int n, int m, class Index > | |
std::unique_ptr< Factorization< Scalar > > | getFactorization (DirectType directType, NumaBCRSMatrix< Dune::FieldMatrix< Scalar, n, m >, Index > const &A, FactorizationOptions options) |
Creates a factorization of the given NumaBCRS matrix. More... | |
template<class Entry , bool diagonal, class SortedRowIdx , class SortedColIdx > | |
std::ostream & | operator<< (std::ostream &out, LocalMatrix< Entry, diagonal, SortedRowIdx, SortedColIdx > const &A) |
template<class Entry , class Index > | |
void | insertMatrixBlockIndices (NumaCRSPatternCreator< Index > &globalCreator, NumaBCRSMatrix< Entry, Index > const &matrixBlock, typename NumaBCRSMatrix< Entry, Index >::size_type startRow, typename NumaBCRSMatrix< Entry, Index >::size_type startCol) |
template<class Entry > | |
void | insertMatrixBlockIndices (Dune::MatrixIndexSet &globalIndexSet, Dune::BCRSMatrix< Entry > const &matrixBlock, Dune::MatrixIndexSet::size_type startRow, Dune::MatrixIndexSet::size_type startCol) |
template<class BMatrix > | |
void | insertMatrixBlockEntries (BMatrix &globalMatrix, BMatrix const &matrixBlock, typename BMatrix::size_type startRow, typename BMatrix::size_type startCol) |
template<class BVector > | |
void | insertVectorBlock (BVector &globalVector, BVector const &vectorBlock, typename BVector::size_type startIdx) |
template<class MatrixA , class MatrixB , class VectorX , class VectorB > | |
std::array< typename ScalarTraits< typename MatrixA::field_type >::Real, 4 > | checkKKT (MatrixA const &A, MatrixB const &B, VectorX const &c, VectorB const &b, VectorX const &x, VectorB const &lambda) |
Computes the KKT residual for approximate solutions of certain QPs. More... | |
template<class MatrixA , class MatrixB , class VectorX , class VectorB , class Real > | |
Real | qpLinesearch (MatrixA const &A, MatrixB const &B, Real gamma, VectorX const &c, VectorB const &b, VectorX const &dx) |
Performs linesearch for penalized QPs. More... | |
template<class MatrixA , class MatrixB , class VectorX , class VectorB , class Real > | |
Real | qpLinesearch (MatrixA const &A, MatrixB const &B, Real gamma, VectorX const &c, VectorB const &b, VectorX const &x, VectorX const &dx) |
Performs linesearch for penalized QPs. More... | |
template<int n, class Entry , int m, class A > | |
Dune::BlockVector< Dune::FieldVector< Entry, n >, A > | reshapeBlocks (Dune::BlockVector< Dune::FieldVector< Entry, m >, A > const &x) |
Reshapes a nested block vector to differen entry sizes. More... | |
template<class Kb , int nb, int mb, class Ka , int na, int ma> | |
DynamicMatrix< Dune::FieldMatrix< Kb, nb, mb > > | reshapeBlocks (DynamicMatrix< Dune::FieldMatrix< Ka, na, ma > > const &A) |
void | printVec (std::vector< double > const &v, int vend=1000000) |
Adapter class for DUNE::IterativeSolver. More... | |
void | LeastSquares (SLAPMatrix< double > a, std::vector< double > const &b, std::vector< double > &x) |
Solve linear least squares problem, given by a*x=b. More... | |
void | SymmetricEigenvalues (SLAPMatrix< double > a, std::vector< double > &eig) |
template<class Scalar > | |
void | pseudoinverse (SLAPMatrix< Scalar > A, SLAPMatrix< Scalar > &Ainv) |
void | MatrixMultiply (SLAPMatrix< double > A, std::vector< double > &in, std::vector< double > &out) |
Matrix multiplication. More... | |
void | TransposedMatrixMultiply (SLAPMatrix< double > A, std::vector< double > &in, std::vector< double > &out) |
void | MatrixKT_A_K (SLAPMatrix< double > A, SLAPMatrix< double > &K, SLAPMatrix< double > &out) |
void | MatrixMultiplication (SLAPMatrix< double > A, SLAPMatrix< double > &B, SLAPMatrix< double > &AB) |
template<class Entry , int ... Sizes> | |
std::ostream & | operator<< (std::ostream &out, Tensor< Entry, Sizes... > const &t) |
template<class Target , class Source , class RowIndices , class ColIndices > | |
Target | submatrix (Source const &A, RowIndices const &ri, ColIndices const &ci) |
template<class Index , class Index2 > | |
NumaCRSPattern< Index > | operator+ (NumaCRSPattern< Index > const &pa, NumaCRSPattern< Index2 > const &pb) |
template<class Scalar , int n, class Index = size_t> | |
NumaBCRSMatrix< Dune::FieldMatrix< Scalar, n, n >, Index > | sparseUnitMatrix (Index N) |
creates a unit matrix in NUMA block compressed row storage format More... | |
template<class Scalar , int n, int m, class Index = size_t> | |
NumaBCRSMatrix< Dune::FieldMatrix< Scalar, n, m >, Index > | sparseZeroMatrix (Index N, Index M) |
creates a zero matrix in NUMA block compressed row storage format More... | |
template<class Scalar > | |
void | deleteLowerTriangle (std::vector< int > &ridx, std::vector< int > &cidx, std::vector< Scalar > &data) |
removes subdiagonal entries from the matrix entries stored in elementary triplet format More... | |
template<typename Scalar , typename SparseIndexInt > | |
std::ostream & | operator<< (std::ostream &s, MatrixAsTriplet< Scalar, SparseIndexInt > const &mat) |
void | umfpack_solve (std::vector< int > const &ridx, std::vector< int > const &cidx, std::vector< double > const &values, std::vector< double > const &b, std::vector< double > &x) |
template<class X , class Y > | |
void | applyPreconditioner (Dune::Preconditioner< X, Y > &p, X &x, Y &y) |
Convenience function for simple application of preconditioners. Calls pre(), apply(), and post() sequentially. More... | |
template<class MatA , class SolA , class MatB , class MatBt , class PrecS > | |
auto | uzawa (MatA &A, SolA &invA, MatB &B, MatBt &Bt, PrecS &precS, double reduction=1e-3, int maxit=1000, int verbose=0) |
Convenience function for constructing an UzawaSolver. \tparem MatA derived from Dune::LinearOperator<X,X> More... | |
template<class Scalar , class Sequence > | |
auto | nestUzawa (LinearProductSpace< Scalar, Sequence > const &z) |
Convenience function for creating Uzawa domain/range arguments. More... | |
template<class Scalar , class Sequence > | |
auto | unnestUzawa (LinearProductSpace< Scalar, Sequence > const &z) |
Convenience function for unpacking Uzawa domain/range results. More... | |
template<class Entry , class A > | |
Dune::BlockVector< Entry, A > | vertcat (Dune::BlockVector< Entry, A > const &x, Dune::BlockVector< Entry, A > const &y) |
template<class Entry , class Index , class Prolongation , class MakeSmoother , class MakeCoarsePreconditioner > | |
auto | makeAdditiveMultiGrid (NumaBCRSMatrix< Entry, Index > const &A, std::vector< Prolongation > const &prolongations, MakeSmoother const &makeSmoother, MakeCoarsePreconditioner const &makeCoarsePreconditioner, bool onlyLowerTriangle=false) |
Convenience function creating additive multigrid preconditioners for P1 elements. More... | |
template<class Entry , class Index , class GridMan > | |
auto | makeBPX (NumaBCRSMatrix< Entry, Index > const &A, GridMan const &gridman, bool onlyLowerTriangle=false) |
Convenience function creating a BPX preconditioner for P1 elements. More... | |
template<class Entry , class Index , class FineSpace , class MakeSmoother , class MakeCoarseSmoother > | |
auto | makeAdditivePMultiGrid (NumaBCRSMatrix< Entry, Index > A, FineSpace const &space, H1Space< typename FineSpace::Grid > const &p1Space, MakeSmoother const &makeSmoother, MakeCoarseSmoother const &makeCoarseSmoother, int coarseLevel=0, bool onlyLowerTriangle=false) |
Convenience function creating additive multigrid preconditioner of V-cycle type for higher order elements. More... | |
template<class StorageTag , class Entry , class Index , class FineSpace > | |
auto | makePBPX (NumaBCRSMatrix< Entry, Index > A, FineSpace const &space, H1Space< typename FineSpace::Grid > const &p1Space, StorageTag storageTag, int coarseLevel=0, bool onlyLowerTriangle=false) |
Convenience function creating additive multigrid preconditioner of V-cycle type with domain decomposition and Jacobi smoother for higher order elements. More... | |
template<class FromSpace , class ToSpace > | |
Prolongation | twoGridProlongation (FromSpace const &from, ToSpace const &to) |
Computes an interpolation matrix for transfer between P1 finite element spaces on two different grids. More... | |
template<class FromSpace , class ToSpace > | |
Prolongation | nonNestedProlongation (FromSpace const &from, ToSpace const &to, double tolTrunc=0.1) |
Computes an interpolation matrix for transfer between P1 finite element spaces on two different (possibly non-nested) grids. More... | |
std::vector< Prolongation > | nonNestedProlognationStack (std::vector< Prolongation > ps) |
Computes a full column rank prolongation stack from a colum rank deficient prolongation stack. More... | |
template<class Space > | |
std::vector< Prolongation > | makeNonNestedPstack (std::initializer_list< Space > spacelist, double tolTrunc=0.1) |
Computes an interpolation matrix for transfer between P1 finite element spaces on two different (possibly non-nested) grids. More... | |
template<class Space1 , class Space2 > | |
std::vector< Prolongation > | makeJointPstack (Space1 space1, Space2 space2, int coarseLevel=0) |
Computes a (joint) prolongation stack for a geometry defined by two grids. More... | |
template<class Space , class Entry , class Index > | |
MultiGridStack< Prolongation, Entry, Index > | makeAuxiliarySpaceMultigridStack (Space const &space, NumaBCRSMatrix< Entry, Index > const &A, double volumeRatio=100) |
creates a semi-geometric multigrid preconditioner based on an auxiliary space More... | |
template<class Entry , class Index , class Space > | |
auto | makeMultigrid (NumaBCRSMatrix< Entry, Index > const &A, Space const &space, bool onlyLowerTriangle=false, DirectType directType=DirectType::MUMPS) |
Convenience function for creating a (multiplicative) multigrid preconditioner for elliptic equations. More... | |
template<typename Matrix > | |
auto | makeDirectPreconditioner (Matrix &&A, DirectType directType=DirectType::MUMPS) |
Creates a direct solver for the given matrix. More... | |
template<int domainBlockSize, int rangeBlockSize, class Index > | |
auto | makeDirectPreconditioner (NumaBCRSMatrix< Dune::FieldMatrix< float, rangeBlockSize, domainBlockSize >, Index > &&A, DirectType directType=DirectType::MUMPS) |
Creates a direct solver for the given matrix. This specialization is for matrices containing floats (single precision) as scalar entries. Since the Kaskade interface for direct solvers only works for doubles, the matrix is copied into a new matrix with double as scalar entries. Since the coarse grid matrix often is much smaller, this hopefully means neglectable overhead. More... | |
template<class SparseIndex = size_t, class CoarseSpace , class FineSpace > | |
NumaBCRSMatrix< Dune::FieldMatrix< typename FineSpace::Scalar, 1, 1 >, SparseIndex > | prolongation (CoarseSpace const &coarseSpace, FineSpace const &fineSpace) |
Computes an interpolation-based prolongation matrix from a (supposedly) coarser space to a finer space. More... | |
template<class SparseIndex , class Mapper > | |
std::vector< NumaBCRSMatrix< Dune::FieldMatrix< typename Mapper::Scalar, 1, 1 >, SparseIndex > > | prolongationStack (FEFunctionSpace< Mapper > const &space) |
Computes a stack of prolongation matrices for higher order finite element spaces. More... | |
std::ostream & | operator<< (std::ostream &out, MGProlongation const &p) |
template<class Entry , class Index > | |
auto | conjugation (MGProlongation const &p, NumaBCRSMatrix< Entry, Index > const &a, bool onlyLowerTriangle=false) |
Creates a Galerkin projected Matrix \( P^T A P \) from a prolongation \( P \) and a symmetric matrix \( A \). More... | |
template<class GridMan > | |
std::vector< MGProlongation > | prolongationStack (GridMan const &gridman, int coarseLevel=0, size_t minNodes=0) |
Computes a sequence of prolongation matrices for P1 finite elements in hierarchical grids. More... | |
template<class GridMan > | |
std::vector< NumaBCRSMatrix< Dune::FieldMatrix< double, 1, 1 > > > | deformedProlongationStack (GridMan const &gridman, int coarseLevel=0, size_t minNodes=0, bool interpolateAtShiftedPosition=true) |
Computes a sequence of prolongation matrices for P1 finite elements in hierarchical grids. More... | |
template<typename Prolongations , typename Entry , typename Index > | |
std::ostream & | operator<< (std::ostream &out, MultiGridStack< Prolongations, Entry, Index > const &mgStack) |
template<class GridMan , class Entry , class Index > | |
MultiGridStack< MGProlongation, Entry, Index > | makeGeometricMultiGridStack (GridMan const &gridManager, NumaBCRSMatrix< Entry, Index > &&A, size_t minNodes=10000, bool onlyLowerTriangle=false) |
convenience routine for creating multigrid stacks based on geometric coarsening for P1 elements More... | |
template<class Entry , class Index > | |
MultiGridStack< MGProlongation, Entry, Index > | makeAlgebraicMultigridStack (NumaBCRSMatrix< Entry, Index > &&A, Index n=0, bool onlyLowerTriangle=false) |
Creates stack of prolongations and projected Galerkin matrices. More... | |
template<typename FineSpace > | |
auto | makeDeepProlongationStack (FineSpace const &space, int coarseLevel=0, int minNodes=0) |
Convenience routine for creating a deep prolongation stack from coarse to fine grid and on from P1 to higher order. More... | |
template<typename FineSpace , typename Matrix > | |
auto | makePMultiGridStack (FineSpace const &space, Matrix &&A, bool onlyLowerTriangle) |
convenience routine for creating multigrid stacks based on coarsening by reducing the ansatz order from P to P1 More... | |
template<typename FineSpace , typename CoarseSpace , typename Matrix > | |
auto | makePMultiGridStack (FineSpace const &fineSpace, Matrix &&fA, CoarseSpace const &coarseSpace) |
convenience routine for creating multigrid stacks between two spaces. More... | |
template<typename FineSpace , typename CoarseSpace , typename Matrix > | |
auto | makePMultiGridStack (FineSpace const &fineSpace, Matrix &&fA, CoarseSpace const &coarseSpace, Matrix &&cA) |
convenience routine for creating multigrid stacks between two spaces. More... | |
template<class Scalar > | |
void | bsplineDifferentiationMatrix (Dune::DynamicVector< Scalar > const &t, Dune::DynamicVector< Scalar > const &s, int p, Dune::DynamicMatrix< Scalar > &d) |
computes the differentiation matrix for bspline interpolation of order p on t More... | |
template<class Scalar > | |
void | bsplineEvaluationMatrix (Dune::DynamicVector< Scalar > const &t, Dune::DynamicVector< Scalar > const &s, int p, Dune::DynamicMatrix< Scalar > &e) |
computes the evaluation on s matrix for bspline interpolation of order p on t More... | |
template<class Matrix , class Vectors , class ReactionDerivatives , class Solver > | |
Matrix::field_type | sdcIterationStep (SDCTimeGrid const &grid, SDCTimeGrid::RealMatrix const &Shat, Solver const &solve, Matrix const &M, Matrix const &A, Vectors const &r, ReactionDerivatives const &f_u, Vectors const &u, Vectors &du) |
A single spectral defect correction iteration sweep. More... | |
template<class Matrix , class Vectors , class Solver > | |
Matrix::field_type | sdcIMEXStep (SDCTimeGrid const &grid, SDCTimeGrid::RealMatrix const &Shat, Solver const &solve, Matrix const &M, Matrix const &A, Vectors const &r, Vectors const &u, Vectors &du) |
A single IMEX SDIRK spectral deferred correction sweep. More... | |
template<class Matrix , class Vectors , class ReactionDerivatives , class Solver > | |
Matrix::field_type | sdcIterationStep2 (SDCTimeGrid const &grid, SDCTimeGrid::RealMatrix const &Shat, Solver const &solve, Matrix const &M, Matrix const &A, Vectors const &rUi, ReactionDerivatives const &f_u, Vectors const &Mdu, Vectors &du) |
A single spectral defect correction iteration sweep. More... | |
template<class Matrix , class Vectors , class ReactionDerivatives > | |
double | waveformRelaxationStep2 (SDCTimeGrid const &grid, Matrix const &M, Matrix const &A, Vectors const &rUi, ReactionDerivatives const &f_u, Vectors &du) |
A single waveform relaxation iteration. More... | |
template<class Vector > | |
Vector::field_type | maxNorm (std::vector< Vector > const &values) |
A function to compute the partial \(\max-\)norm or \(L^{\infty}-\)norm of a vector of vectors. If \(\mathbf{x}\) denotes a vector of vectors, where \(\mathbf{x} = \{ \mathbf{x_1},\ldots , \mathbf{x_n}\}^{T}\), then \(\| \mathbf{x} \|_{\infty} = \max_{1 \leq i \leq N} \|\mathbf{x_i}\|$\f. Here the norm \)|.| \( is some arbitrary norm and
in the current template function it is implemented as a \)\max- \(norm.
\tparam Vector, a vector type, usually Dune::DenseVector
\param[in]values a vector of vectors.
\return the \)\infty-. More... | |
template<class Vector > | |
Vector::field_type | sdcExEulerIterationStep (Kaskade::SDCTimeGrid const &grid, std::vector< Vector > &yi, std::vector< Vector > &dyi, std::function< Vector(typename Vector::field_type, Vector const &)> rhsFunc, std::function< typename Vector::field_type(std::vector< Vector > const &)> normFunc, bool verbose=false) |
A single spectral defect correction iteration sweep based on explicit Euler method. More... | |
template<int d, class Real > | |
Real | bezier (int p, int i, Dune::FieldVector< Real, d > const &x) |
Computes the i-th Bezier function of order p at the given point in the unit simplex. More... | |
constexpr int | binomial (int n, int k) |
Computes the binomial coefficient \( \binom{n}{k} \). More... | |
template<size_t m> | |
size_t | multinomial (std::array< size_t, m > const &ks) |
Computes the multinomial coefficient \( \binom{n}{k_1,\dots,k_m}\), where \( n = \sum_{i=1}^m k_i \). More... | |
constexpr int | numberOfMultiindices (int d, int m) |
Computes the number of multiindices of order m and dimension d. More... | |
template<int d> | |
std::array< size_t, d > | multiIndex (size_t m, size_t n) |
Random access to multiindices. More... | |
template<class It > | |
void | next_multiindex (It first, It last, int const m) |
Computes the next nonnegative multiindex of order m. More... | |
std::string | getDateAndTime () |
std::string | getDate () |
std::string & | appendDateAndTime (std::string &str) |
append current time and date to string str More... | |
std::string & | appendDate (std::string &str) |
append current date to string str More... | |
std::vector< double > | lobattoNodes (int n) |
Computes the n Lobatto nodes on [-1,1] including the interval end points. More... | |
std::vector< double > | radauNodes (int n) |
Computes the n Radau nodes on [-1,1] including the right end point. More... | |
std::vector< double > | gaussNodes (int n) |
Computes the n Gauß nodes on [-1,1] excluding the interval end points. More... | |
template<class Grid , class Type > | |
std::unique_ptr< Grid > | createGrid (std::vector< Type > const &cubes) |
Extract simplicial grid from list of cubes. More... | |
template<class Grid , class Scalar , int dim, class EdgeLength > | |
std::unique_ptr< Grid > | createCuboid (Dune::FieldVector< Scalar, dim > const &x0, Dune::FieldVector< Scalar, dim > const &dx, EdgeLength const &dh, bool symmetric=true) |
Creates a uniform simplicial grid on a rectangular or cuboid domain. More... | |
template<class Grid > | |
std::unique_ptr< Grid > | createUnitSquare (double dh=1., bool symmetric=true) |
Creates a unit square, filled regularly. More... | |
template<class Grid > | |
std::unique_ptr< Grid > | createUnitCube (double dh=1., bool symmetric=true) |
Creates a unit cube. More... | |
template<class Grid , class Scalar > | |
std::unique_ptr< Grid > | createRectangle (Dune::FieldVector< Scalar, 2 > const &x0, Dune::FieldVector< Scalar, 2 > const &dx, Scalar dh, bool symmetric=true) |
Fill rectangle with squares. More... | |
template<class Grid , class Scalar , int dim> | |
std::unique_ptr< Grid > | createLShape (Dune::FieldVector< Scalar, dim > const &x0, Scalar dx, Scalar dy, Dune::FieldVector< Scalar, dim > const &thickness, Scalar dh, bool symmetric=true) |
Fill L-shaped domain with cubes. More... | |
template<class Grid , class Scalar , int dim> | |
std::unique_ptr< Grid > | createTShape (Dune::FieldVector< Scalar, dim > const &x0, Scalar dx, Scalar dy, Dune::FieldVector< Scalar, dim > const &thickness, Scalar dh, bool symmetric=true) |
Fill L-shaped domain with cubes. More... | |
template<class Grid , class Scalar , int dim> | |
std::unique_ptr< Grid > | createTwoLayerCuboid (Dune::FieldVector< Scalar, dim > const &x0, Dune::FieldVector< Scalar, dim > const &dx1, Dune::FieldVector< Scalar, dim > const &dx2, Dune::FieldVector< Scalar, dim > const &dh1, Scalar dh2, bool symmetric=true) |
template<class Grid , class Scalar , int dim> | |
std::unique_ptr< Grid > | createTwoLayerCuboid (Dune::FieldVector< Scalar, dim > const &x0, Dune::FieldVector< Scalar, dim > const &dx1, Dune::FieldVector< Scalar, dim > const &dx2, Dune::FieldVector< Scalar, dim > const &dh1, Dune::FieldVector< Scalar, dim > const &dh2, bool symmetric=true) |
template<class Grid > | |
std::unique_ptr< Grid > | createHexahedron () |
Creates a hexahedron consisting of five tetrahedra. More... | |
template<class Grid > | |
std::unique_ptr< Grid > | createOctahedron (Dune::FieldVector< typename Grid::ctype, 3 > extent=Dune::FieldVector< typename Grid::ctype, 3 >(1.0)) |
Creates an octahedron consisting of eight tetrahedra. More... | |
template<class Grid > | |
std::unique_ptr< Grid > | createIcosahedron () |
Creates an icosahedron consisting of 20 tetrahedra. More... | |
template<class Grid > | |
std::unique_ptr< Grid > | createCylinder (double radius, double height, int layers, int circumEdges=6) |
Creates a cylinder. More... | |
template<class Grid , class Deformation > | |
std::unique_ptr< Grid > | createCylinder (double radius, double height, int layers, int circumEdges, Deformation const &deformation) |
Creates a deformed cylinder. More... | |
template<class Grid > | |
std::unique_ptr< Grid > | createPentagon (double radius=1) |
Creates an regular pentagon consisting of five triangles, centered at the origin and with radius r. More... | |
template<class Grid > | |
std::unique_ptr< Grid > | createUshape (double l, double d, double eps) |
Creates an U-shaped domain. More... | |
bool | getKaskadeOptions (int argc, char **argv, Options const &options) |
Supports the extraction of program option values from command line arguments. More... | |
template<class A > | |
auto | moveUnique (A &&a) |
Creates a dynamically allocated object from an r-value reference. More... | |
template<class A > | |
A | duplicate (A const &a) |
Creates a copy of a given object. More... | |
template<class R > | |
R | power (R base, int exp) |
Computes integral powers of values in a multiplicative half-group. More... | |
template<class R > | |
R | square (R x) |
returns the square of its argument. More... | |
template<class R > | |
R | faculty (int n) |
Computes faculties. Is this somewhere in the standard? no. More... | |
constexpr int | sqrti (int n) |
Computes floor(sqrt(n)) for integers n at compile time. More... | |
std::string | createFileName (std::string const &desiredName, std::string const &ending=std::string(), bool useEnding=true, int length=3) |
create file name More... | |
bool | createFolder (std::string folder_name) |
std::string | createFileNameInFolder (std::string folderName, std::string const &desiredName, std::string const &ending=std::string(), bool const useEnding=true, int const length=3) |
template<class Entry > | |
EntryTraits< Entry >::real_type | frobenius_norm2 (Entry const &x) |
void | equalWeightRanges (std::vector< size_t > &x, size_t n) |
Computes partitioning points such that the sum of weights in each partition is roughly the same. More... | |
template<class BlockIndex , class Index > | |
Index | uniformWeightRangeStart (BlockIndex i, BlockIndex n, Index m) |
Computes partitioning points of ranges for uniform weight distributions. More... | |
template<class Index > | |
Index | uniformWeightRange (Index j, Index n, Index m) |
Computes the range in which an index is to be found when partitioned for uniform weights. More... | |
template<class Func > | |
void | parallelFor (Func const &f, int maxTasks=std::numeric_limits< int >::max()) |
A parallel for loop that executes the given functor in parallel on different CPUs. More... | |
template<class Func > | |
void | parallelFor (size_t first, size_t last, Func const &f, size_t nTasks=std::numeric_limits< size_t >::max()) |
A parallel for loop that executes the given functor in parallel on different CPUs. More... | |
template<class Func > | |
void | parallelForNodes (Func const &f, int maxTasks=std::numeric_limits< int >::max()) |
A parallel for loop that executes the given functor in parallel on different NUMA nodes. More... | |
void | runInBackground (std::function< void()> &f) |
Executes a function in a child process. More... | |
template<class T > | |
T & | removeConst (T const &t) |
A convenience template for removing the const qualifier from references and pointers. More... | |
template<class T > | |
T * | removeConst (T const *t) |
Approximate integration matrices | |
The convergence properties of SDC are essentially defined by the selection of an approximate integration matrix \( \hat S \) acting as a lower triangular preconditioner for the spectral integration matrix \( S \). We provide several choices. | |
void | eulerIntegrationMatrix (SDCTimeGrid const &grid, SDCTimeGrid::RealMatrix &Shat) |
Triangular approximate integration matrix \( \hat S \) corresponding to the implicit Euler integrator. More... | |
SDCTimeGrid::RealMatrix | eulerIntegrationMatrix (SDCTimeGrid const &grid) |
Triangular approximate integration matrix \( \hat S \) corresponding to the implicit Euler integrator. More... | |
void | luIntegrationMatrix (SDCTimeGrid const &grid, SDCTimeGrid::RealMatrix &Shat) |
Triangular approximate integration matrix \( \hat S \) corresponding to a specialized DIRK sweep. More... | |
SDCTimeGrid::RealMatrix | luIntegrationMatrix (SDCTimeGrid const &grid) |
Triangular approximate integration matrix \( \hat S \) corresponding to a specialized DIRK sweep. More... | |
SDCTimeGrid::RealMatrix | singleEulerIntegrationMatrix (SDCTimeGrid const &grid) |
Triangular approximate integration matrix \( \hat S \) corresponding to an Euler sweep with constant "step size". More... | |
SDCTimeGrid::RealMatrix | SDIRKIntegrationMatrix (SDCTimeGrid const &grid) |
Triangular approximate integration matrix \( \hat S \) corresponding to an SDIRK sweep (i.e. with constant "step size"). More... | |
Variables | |
template<class Functional , int n> | |
constexpr bool | symmetryCheck = Functional_Aux_Detail::checkSymmetry<Functional,n>::pass |
template<class Functional > | |
constexpr bool | hasInnerBoundaryCache |
Checks whether InnerBoundaryCache is declared in Functional. More... | |
IoOptions | ioOptions_default |
template<class Vec > | |
constexpr bool | contiguousStorage = Crsutil_Detail::VectorTraits<Vec>::contiguous |
template<class T > | |
constexpr int | rank = ScalarDetail::Rank<T>::value |
Reports the rank of vector, matrix, and tensor types of static size. More... | |
std::mutex | DuneQuadratureRulesMutex |
A global lock for the Dune::QuadratureRules factory, which is not thread-safe as of 2015-01-01. More... | |
boost::mutex | refElementMutex |
A global lock for the Dune::GenericReferenceElement singletons, which are not thread-safe. More... | |
using Kaskade::CG = typedef CGBase<X,Xstar,CGImplementationType::STANDARD,TimerPolicy> |
Standard preconditioned conjugate gradient method.
X | type of domain space element |
Xstar | type of image space element |
TimerPolicy | enable timers for dual pairings, axpy-operations, matrix-vector products and preconditioners with struct MeasureTime |
Definition at line 16 of file linalg/cg.hh.
using Kaskade::D1Result = typedef Dune::FieldVector<typename TestVars::Scalar, TestVars::template Components<row>::m> |
The return type of the d1() method of DomainCache and BoundaryCache.
This is a vector type with length given by the number of components of the test variable with index row.
Definition at line 212 of file functional_aux.hh.
using Kaskade::D2Result = typedef Dune::FieldMatrix<typename TestVars::Scalar, TestVars::template Components<row>::m, AnsatzVars::template Components<col>::m> |
The return type of the d1() method of DomainCache and BoundaryCache.
This is a matrix type with rows given by the number of components of test variable with index row, and columns given by the number of components of the ansatz variable with index col.
Definition at line 224 of file functional_aux.hh.
using Kaskade::GridAngleFeatureDetector = typedef AngleFeatureDetector<typename GridView::IndexSet::IndexType, typename GridView::ctype,GridView::dimension> |
Definition at line 480 of file boundaryInterpolation.hh.
typedef PenaltyFunction<Polynomial<5,-5> > Kaskade::Hartmann03 |
Definition at line 66 of file penaltyFunctions.hh.
using Kaskade::MultiGridSolver = typedef MultigridSolver<Grid,nComponents> |
Definition at line 490 of file multiGridSolver.hh.
typedef PenaltyFunction<LN> Kaskade::PenaltyLN |
Definition at line 167 of file elementary_functions.hh.
using Kaskade::PenaltyMonomial = typedef PenaltyFunction<Monomial<k> > |
Definition at line 105 of file elementary_functions.hh.
using Kaskade::Prolongation = typedef NumaBCRSMatrix<Dune::FieldMatrix<double,1,1> > |
typedef PenaltyFunction<Polynomial<2,-2> > Kaskade::QuadQuad |
Definition at line 67 of file penaltyFunctions.hh.
Definition at line 68 of file penaltyFunctions.hh.
using Kaskade::QuadraticAndPolynomial = typedef PenaltyFunction<Polynomial<2,k> > |
Definition at line 70 of file penaltyFunctions.hh.
using Kaskade::RCG = typedef CGBase<X,Xstar,CGImplementationType::REGULARIZED,TimerPolicy> |
Regularized preconditioned conjugate gradient method for nonconvex problems. Denote the used operator by \(A\) and the preconditioner by \(P\). Then if a direction of negative curvature is encountered \(A\) is implicitly replaced by the regularization $ \(A+\thetaP\). Then the IterateType::CG method is restarted for the regularized problem. The necessary quantities are available during the standard cg implementation, thus the costs for computing the regularization are neglishible.
X | type of domain space element |
Xstar | type of image space element |
TimerPolicy | enable timers for dual pairings, axpy-operations, matrix-vector products and preconditioners with struct MeasureTime |
Definition at line 39 of file linalg/cg.hh.
using Kaskade::ScalarType = typedef typename GetScalar<Type>::type |
Extracts the scalar field type from linear algebra data types.
Different conventions for specifying the scalar field type as member type alias are in use in Dune (field_type) and Kaskade (Scalar). This type alias extracts the scalar type from any of those.
Definition at line 110 of file duneInterface.hh.
using Kaskade::TCG = typedef CGBase<X,Xstar,CGImplementationType::TRUNCATED,TimerPolicy> |
Truncated preconditioned conjugate gradient method for nonconvex problems. Stops iteration if a direction of negative curvature is encountered.
X | type of domain space element |
Xstar | type of image space element |
TimerPolicy | enable timers for dual pairings, axpy-operations, matrix-vector products and preconditioners with struct MeasureTime |
Definition at line 26 of file linalg/cg.hh.
using Kaskade::TPCG = typedef TCG<X,Xstar,Regularization> |
using Kaskade::UniformPartitionedMapperCombinerArgument = typedef RangeView<typename std::vector<boost::compressed_pair<size_t,SFData> >::const_iterator> |
The sequence type that is provided as first argument to the call of the Combiner constructor.
This is a lightweight view type and should be kept by value, not by reference.
Definition at line 194 of file partitionedspace.hh.
using Kaskade::UniformScalarMapperCombinerArgument = typedef RangeView<typename std::vector<boost::compressed_pair<size_t,SFData> >::const_iterator> |
The sequence type that is provided as first argument to the call of the Combiner constructor.
This is a lightweight view type and should be kept by value, not by reference.
Definition at line 175 of file scalarspace.hh.
|
strong |
Enumerator | |
---|---|
InitialGuess | |
FailedRecompute | |
Failed | |
NormalStepFailed | |
TangentialStepFailed | |
Passed | |
LeftAdmissibleDomain |
Definition at line 19 of file algorithm_base.hh.
|
strong |
Enumerator | |
---|---|
STANDARD | |
TRUNCATED | |
REGULARIZED | |
HYBRID |
Definition at line 27 of file cgImplementation.hh.
|
strong |
Enumerator | |
---|---|
Missed | |
Achieved |
Definition at line 20 of file algorithm_base.hh.
|
strong |
Enumerator | |
---|---|
Unknown | |
Big | |
Little | |
BigWord | |
LittleWord |
Definition at line 19 of file check_endianness.hh.
|
strong |
Enumerator | |
---|---|
Energy | |
L2 | |
H1 | |
H1_half |
Definition at line 39 of file errorDistribution.hh.
|
strong |
Enumerator | |
---|---|
FORWARD | |
BACKWARD | |
SYMMETRIC |
Definition at line 34 of file GaussSeidelPreconditioner.hh.
|
strong |
|
strong |
|
strong |
Enumerator | |
---|---|
Failed | |
Passed |
Definition at line 18 of file algorithm_base.hh.
enum Kaskade::schwarzType |
Enumerator | |
---|---|
DIAGONAL | |
COMPLETE |
Definition at line 25 of file additiveschwarz.hh.
double Kaskade::add | ( | const double & | x1, |
const std::pair< double, int > & | x2 | ||
) |
void Kaskade::addToFunctionSpaceElement | ( | CoeffVector const & | coeffVector, |
FSE & | fse | ||
) |
Definition at line 1750 of file comp_step.hh.
void Kaskade::adjustEdgeTangents | ( | BoundaryStar< Index, ctype, 2 > & | star, |
std::map< std::array< Index, 2 >, Dune::FieldVector< ctype, 2 > > & | orientedEdges, | ||
GeometricFeatureDetector< Index, ctype, 2 > const & | features | ||
) |
void Kaskade::adjustEdgeTangents | ( | BoundaryStar< Index, ctype, 3 > & | star, |
std::map< std::array< Index, 2 >, Dune::FieldVector< ctype, 3 > > & | orientedEdges, | ||
GeometricFeatureDetector< Index, ctype, 3 > const & | features | ||
) |
Detects feature edges and adjusts the edge tangent vectors accordingly.
Feature edges are determined according to two criteria:
featureEdges
list (the order of \( p_1, p_2 \) is not relevant).If any of these two criteria is satisfied, the edge is classified as feature edge.
If exactly two feature edges meet in one vertex, and their normalized emanating tangent vectors \( t_a, t_b \) are approximately parallel (i.e. \( \|t_a + t_b\| < \beta \), where \( \beta \) is the feature curve threshold), these two tangent vectors are modified such as to be collinear.
star | vertices and faces around a boundary vertex | |
[out] | orientedEdges | all boundary half-edges, indexed |
Referenced by Kaskade::BoundaryTangents< dim, Index, ctype >::BoundaryTangents().
std::string & Kaskade::appendDate | ( | std::string & | str | ) |
append current date to string str
std::string & Kaskade::appendDateAndTime | ( | std::string & | str | ) |
append current time and date to string str
void Kaskade::approximateGlobalValues | ( | Space const & | space, |
typename Space::Grid::template Codim< 0 >::Entity const & | cell, | ||
DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, Space::sfComponents, 1 > > & | globalValues, | ||
DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, 1, 1 > > & | coeff | ||
) |
cell | the cell on which to interpolate. This has to be contained in the space's grid view. |
Definition at line 159 of file fetransfer.hh.
Referenced by interpolateGloballyWeak().
void Kaskade::assignIfNegative | ( | Value & | val, |
Value | newVal | ||
) |
Definition at line 21 of file kaskadeBridge.hh.
Referenced by Kaskade::Bridge::KaskadeLinearization< Functional >::cols(), Kaskade::Bridge::KaskadeLinearization< Functional >::d2axpy(), Kaskade::Bridge::NormalStepLinearization< Functional, stateId, adjointId >::d2axpy(), Kaskade::Bridge::TangentialStepLinearization< Functional, stateId, adjointId >::d2axpy(), Kaskade::Bridge::KaskadeLinearization< Functional >::d2taxpy(), Kaskade::Bridge::KaskadeLinearization< Functional >::ddtxpy(), Kaskade::Bridge::KaskadeLinearization< Functional >::ddxpy(), Kaskade::Bridge::NormalStepLinearization< Functional, stateId, adjointId >::ddxpy(), Kaskade::Bridge::TangentialStepLinearization< Functional, stateId, adjointId >::ddxpy(), Kaskade::Bridge::KaskadeLinearization< Functional >::evald(), Kaskade::Bridge::NormalStepLinearization< Functional, stateId, adjointId >::getMatrixBlocks(), Kaskade::Bridge::TangentialStepLinearization< Functional, stateId, adjointId >::getMatrixBlocks(), and Kaskade::Bridge::KaskadeLinearization< Functional >::rows().
bool Kaskade::bigEndian | ( | ) |
Return true if byte order is big endian.
bool Kaskade::biggerThanAbs | ( | const std::pair< double, int > & | x1, |
const std::pair< double, int > & | x2 | ||
) |
double Kaskade::bisection | ( | double | a, |
double | b, | ||
Equation const & | f, | ||
double | accuracy, | ||
int & | iterations | ||
) |
Performs bisection algorithm to find a zero of a.
Definition at line 290 of file homotopy_base.hh.
Referenced by corrTangent(), and InteriorPointTangentialPredictor< IPF, DomainVector >::muOnSuccess().
auto Kaskade::boundaryL2Norm | ( | FEFunction const & | function | ) |
void Kaskade::bsplineDifferentiationMatrix | ( | Dune::DynamicVector< Scalar > const & | t, |
Dune::DynamicVector< Scalar > const & | s, | ||
int | p, | ||
Dune::DynamicMatrix< Scalar > & | d | ||
) |
computes the differentiation matrix for bspline interpolation of order p on t
B-Splines of order p define an interpolation \( u(t) \) for all \( t \) between the \( n+1 \) timepoints \( t_i \) with given values \( u(t_i) \). The derivative's values \( u'(t_i) \) at the \( m+1 \) timepoints \( s_i \) can then be computed as a linear combination of the values \( u(t_i) \):
\[ u'(s_i) = \sum_{k=0}^n d_{ik} u(t_k) \]
For \( p=n \), the interpolation is classical polynomial interpolation.
[in] | t | the time points from which to interpolate. Entries have to be strictly increasing. |
[in] | s | the time points from which to interpolate. Entries have to be strictly increasing. |
[in] | p | the order of B-spline interpolation (nonnegative) |
[out] | d | the \( m+1 \times n+1 \) differentiation matrix |
void Kaskade::bsplineEvaluationMatrix | ( | Dune::DynamicVector< Scalar > const & | t, |
Dune::DynamicVector< Scalar > const & | s, | ||
int | p, | ||
Dune::DynamicMatrix< Scalar > & | e | ||
) |
computes the evaluation on s matrix for bspline interpolation of order p on t
B-Splines of order p define an interpolation \( u(t) \) for all \( t \) between the \( n+1 \) timepoints \( t_i \) with given values \( u(t_i) \). The values \( u(s_i) \) can then be computed as a linear combination of the values \( u(t_i) \):
\[ u(s_i) = \sum_{k=0}^n e_{ik} u(t_k) \]
For \( p=n \), the interpolation is classical polynomial interpolation.
[in] | t | the time points from which to interpolate. Entries have to be strictly increasing. |
[in] | s | the time points from which to interpolate. Entries have to be strictly increasing. |
[in] | p | the order of B-spline interpolation (nonnegative) |
[out] | e | the \( m+1 \times n+1 \) evaluation matrix |
Dune::FieldMatrix< ScalarA, r, c > Kaskade::castMatrixEntries | ( | Dune::FieldMatrix< ScalarB, r, c > const & | m | ) |
Copies matrix into another matrix with possibly different entry type (e.g. from double to float).
Definition at line 29 of file converter.hh.
void Kaskade::clearVarArgs | ( | ArgYL & | yl, |
ArgYH & | yh, | ||
ArgUL & | ul, | ||
ArgUH & | uh, | ||
ArgPL & | pl, | ||
ArgPH & | ph | ||
) |
Definition at line 70 of file errorDistribution.hh.
Referenced by Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::BoundaryCache::evaluateAt(), and Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::DomainCache::evaluateAt().
Dune::FieldVector< Scalar, n > Kaskade::column | ( | Dune::FieldMatrix< Scalar, n, m > const & | A, |
int | j | ||
) |
Extracts the j-th column of the given matrix A.
Definition at line 445 of file fixdune.hh.
Referenced by Kaskade::DerivativeChecker< Functional, checkD1, SparseInt >::checkSecondDerivative(), and Kaskade::DerivativeCheck::d2().
auto & Kaskade::component | ( | LinearProductSpace< Scalar, Sequence > & | x | ) |
Definition at line 463 of file linearspace.hh.
Referenced by Kaskade::AbstractFunctionSpaceElement::applyAsDualTo(), Kaskade::AbstractFunctionSpaceElement::axpy(), Kaskade::AmiraMeshReader::ImplementationDetails::exceptionMessage(), Kaskade::Bridge::VectorTraits< VariableSet< Descr > >::getRole(), and Kaskade::Bridge::Vector< Implementation >::getRole().
std::map< typename GridView::IndexSet::IndexType, BoundaryStar< typename GridView::IndexSet::IndexType, typename GridView::ctype, GridView::dimension > > Kaskade::computeBoundaryStars | ( | GridView const & | gv | ) |
Computes the boundary stars (i.e. corners around a vertex) for all boundary vertices of the grid view.
gv | the grid view to use, usually the level 0 coarse grid view. |
Definition at line 275 of file boundaryInterpolation.hh.
Referenced by Kaskade::BoundaryTangents< dim, Index, ctype >::BoundaryTangents().
double Kaskade::computeH1HalfError | ( | ArgU const & | u, |
ArgY const & | y, | ||
ArgP const & | p | ||
) |
Definition at line 87 of file errorDistribution.hh.
Referenced by Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::DomainCache::d1().
double Kaskade::computeL2Error | ( | ArgU const & | u, |
ArgY const & | y, | ||
ArgP const & | p | ||
) |
Definition at line 81 of file errorDistribution.hh.
Referenced by Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::DomainCache::d1(), and Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::BoundaryCache::d1().
void Kaskade::computeSimplexSfPermutation | ( | ShapeFunctionSet const & | sfs, |
int const * | vPermutation, | ||
int * | sfPermutation, | ||
int * | sign | ||
) |
For a given shape function set
\[ \mathrm{sign[k]}\phi_{\mathrm{sfPermutation[k]}}(f(x)) = \phi_k(x). \]
Definition at line 401 of file pshapefunctions.hh.
void Kaskade::conjugation | ( | Dune::BCRSMatrix< Entry > & | C, |
Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const & | P, | ||
Dune::BCRSMatrix< Entry > const & | A, | ||
bool | onlyLowerTriangle = false |
||
) |
Computes the triple sparse matrix product \( C = C + P^T A P \).
C | has to have a sparsity pattern that is a superset of the sparsity pattern of \( P^T A P \). |
Definition at line 286 of file conjugation.hh.
Referenced by Kaskade::AdditiveMultiGrid< Smoother, Prolongation, CoarsePreconditioner >::AdditiveMultiGrid(), makeAuxiliarySpaceMultigridStack(), Lossy_Detail::MlStack< Grd >::MlStack(), Kaskade::MultiGridStack< Prolongation, Entry, Index >::MultiGridStack(), and Kaskade::MultiGridSolver_Detail::MultiLevelStack< Grid, Scalar, nComponents, Matrix >::MultiLevelStack().
std::unique_ptr< Dune::MatrixIndexSet > Kaskade::conjugationPattern | ( | Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const & | P, |
Dune::BCRSMatrix< Entry > const & | A, | ||
bool | onlyLowerTriangle = false |
||
) |
Creates the sparsity pattern of \( P^T A P\).
Out now: onlyLowerTriangle. If parameter is set true, we will only touch the lower triangle of A and only create the lower triangle of the resulting matrix P^T A P
Definition at line 43 of file conjugation.hh.
Referenced by Kaskade::MultiGridSolver_Detail::MultiLevelStack< Grid, Scalar, nComponents, Matrix >::MultiLevelStack().
void Kaskade::copyFromFunctionSpaceElement | ( | FSE const & | fse, |
CoeffVector & | coeffVector | ||
) |
Definition at line 1744 of file comp_step.hh.
void Kaskade::copyHeader | ( | GridView const & | gridView, |
std::string const & | file_in, | ||
std::string const & | file_out | ||
) |
This method copies/adapts the header of an Amira-file containing additional information about the materials. (e.g which material id belongs to which material)
gridView | gridView, i.e. LeafGridView |
file_in | file, from which the additional material data is read (header in Amira-file) |
file_out | file to be written in. Should be the same file as in the call of writeAMIRAFile |
Definition at line 210 of file amira.hh.
Referenced by writeAMIRAFile().
std::string Kaskade::createFileName | ( | std::string const & | desiredName, |
std::string const & | ending = std::string() , |
||
bool | useEnding = true , |
||
int | length = 3 |
||
) |
create file name
Checks if a file called <fileName><ending> exists. If this is the case tries fileName0...0ending - fileName9...9ending, where the number of added digits can be controlled via variable length
desiredName | desired file name |
ending | (i.e. '.doc', '.cpp', '.vtu', ...) |
useEnding | true: create file name with ending, false: use ending only for checking file name candidates |
length | length of the extension if file name exists |
std::string Kaskade::createFileNameInFolder | ( | std::string | folderName, |
std::string const & | desiredName, | ||
std::string const & | ending = std::string() , |
||
bool const | useEnding = true , |
||
int const | length = 3 |
||
) |
bool Kaskade::createFolder | ( | std::string | folder_name | ) |
void Kaskade::ddxpy_template | ( | Lin & | lin, |
AbstractFunctionSpaceElement & | y, | ||
AbstractFunctionSpaceElement const & | x | ||
) |
Definition at line 1756 of file comp_step.hh.
void Kaskade::deleteAllAboveLevel | ( | CellData< Grid, T > & | ic, |
int | maxlevel | ||
) |
Delete all error entries of entities which are above a certain level.
This may be sensible, if the geometry resolution is coarse, such that too deep refinement is not useful
Definition at line 250 of file celldata.hh.
void Kaskade::dgetrf_ | ( | int * | m, |
int * | n, | ||
double * | a, | ||
int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |
Referenced by clapack_dgetrf(), dgetrf(), and Kaskade::AdditiveSchwarzPreconditioner< Op >::init().
void Kaskade::dgetrs_ | ( | char * | trans, |
int * | n, | ||
int * | nrhs, | ||
double * | a, | ||
int * | lda, | ||
int * | ipiv, | ||
double * | b, | ||
int * | ldb, | ||
int * | info | ||
) |
Referenced by Kaskade::AdditiveSchwarzPreconditioner< Op >::apply().
InverseLinearOperator< DirectSolver< typename AssembledGalerkinOperator< GOP, firstRow, lastRow, firstCol, lastCol >::Domain, typename AssembledGalerkinOperator< GOP, firstRow, lastRow, firstCol, lastCol >::Range > > Kaskade::directInverseOperator | ( | AssembledGalerkinOperator< GOP, firstRow, lastRow, firstCol, lastCol > const & | A, |
DirectType | directType, | ||
MatrixProperties | properties | ||
) |
Definition at line 618 of file direct.hh.
Referenced by Kaskade::InexactTangentSpacePreconditioner< Functional, Assembler, components, exactConstraint >::apply(), directInverseOperator(), Kaskade::GoalOrientedErrorEstimator< TemplateFunctional, OriginalVariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace >::operator()(), Kaskade::HierarchicalBasisErrorEstimator< Functional, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, AdjustRHS >::operator()(), and Kaskade::Limex< Eq >::step().
InverseLinearOperator< DirectSolver< Domain, Range > > Kaskade::directInverseOperator | ( | MatrixRepresentedOperator< Matrix, Domain, Range > const & | A, |
DirectType | directType = DirectType::UMFPACK , |
||
MatrixProperties | properties = MatrixProperties::GENERAL |
||
) |
Endian Kaskade::endianness | ( | ) |
Return endianness.
Indicator Kaskade::errorL2 | ( | Indicator const & | indi | ) |
Scale error indicators for H^1, such that L_2 indicators are the result.
This is done by the heuristics that the L_2 error is h * H^1-error.
Definition at line 316 of file celldata.hh.
CellData< typenameSpace::Grid, Dune::FieldVector< double, 1 > >::CellDataVector Kaskade::evalCellProperties | ( | Space const & | space | ) |
Evaluate WeakFunctionViews and construct CellData.
Definition at line 360 of file functionviews.hh.
void Kaskade::evaluateData | ( | OriginalEvaluators & | originalEvaluators, |
ExtensionEvaluators & | extendedEvaluators, | ||
Functional const & | f, | ||
ArgYH & | yl, | ||
ArgYE & | yh, | ||
ArgUH & | ul, | ||
ArgUE & | uh, | ||
ArgPH & | pl, | ||
ArgPE & | ph, | ||
double | w | ||
) |
Definition at line 43 of file errorDistribution.hh.
Referenced by Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::BoundaryCache::evaluateAt(), and Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::DomainCache::evaluateAt().
void Kaskade::evaluateGlobalShapeFunctions | ( | Space const & | space, |
Cell< typename Space::GridView > const & | cell, | ||
std::vector< LocalPosition< typename Space::GridView > > const & | x, | ||
DynamicMatrix< Dune::FieldMatrix< typename Space::Scalar, Space::sfComponents, 1 > > & | sfValues | ||
) |
Definition at line 93 of file fetransfer.hh.
void Kaskade::extendMarks | ( | FSElement & | fse, |
FSElement const & | fu, | ||
int | neighboursForMarking | ||
) |
Definition at line 333 of file celldata.hh.
Referenced by Kaskade::Bridge::extendMarkings().
void Kaskade::forEachCell | ( | GridView const & | gridView, |
Functor | functor | ||
) |
DEPRECATED: use range based for loops and Dune::elements() directly. iterates over each cell and applies functor to cell. Each cell is visited exactly once.
Definition at line 33 of file forEach.hh.
Referenced by markCells().
void Kaskade::forEachCellAndEachFace | ( | GridView const & | gridView, |
Functor | functor | ||
) |
iterates over each cell and applies functor to cell and then iterates over each face of cell and applies functor to face
Definition at line 110 of file forEach.hh.
void Kaskade::forEachFace | ( | GridView const & | gridView, |
Functor | functor | ||
) |
DEPRECATED: use range based for loops and Dune::intersections() directly.iterates over each face and applies functor to face. Each boundary face is visited exactly once and each inner face is visited exactly twice (from each neighbouring cell) and so the functor is applied twice to inner faces.
Definition at line 52 of file forEach.hh.
Referenced by forEachInnerFace().
void Kaskade::forEachFaceOfCell | ( | GridView const & | gridView, |
Functor | functor | ||
) |
same as forEachFace, but the functor is applied to the face and the cell from which the face is visited
Definition at line 63 of file forEach.hh.
void Kaskade::forEachInnerFace | ( | GridView const & | gridView, |
Functor | functor | ||
) |
iterates over each inner face and applies functor to face. Each inner face is visited exactly twice (and so functor is applied twice).
Definition at line 99 of file forEach.hh.
void Kaskade::forEachVertex | ( | GridView const & | gridView, |
Functor | functor | ||
) |
DEPRECATED: use range based for loops and Dune::vertices() directly. iterates over each vertex and applies functor to vertex. Each vertex is visited exactly once.
Definition at line 42 of file forEach.hh.
EntryTraits< Entry >::real_type Kaskade::frobenius_norm2 | ( | Entry const & | x | ) |
Definition at line 111 of file scalar.hh.
Referenced by Kaskade::NumaDenseMatrix< Entry >::frobenius_norm2(), Kaskade::InverseLocalMatrixStorageBase::regularize(), and Kaskade::NumaVector< Entry >::two_norm2().
std::vector< std::vector< SparseInt > > Kaskade::getBCRSIndicesFromTriplet | ( | SparseInt | nrows, |
std::vector< SparseInt > const & | ridx, | ||
std::vector< SparseInt > const & | cidx, | ||
int | nr = 1 , |
||
int | nc = 1 |
||
) |
Sorts the sparse matrix nonzero positions into row buckets.
From the row and column indices of a sparse matrix with scalar entries, e.g., in triplet format, obtain the row and column indices of a sparse matrix with nr-by-nc block-entries, as in Dune::BCRSMatrix<Dune::FieldMatrix<Scalar,nr,nc>>. The indices are stored by row.
nrows | number of rows of BCRS target matrix (i.e. rows of triplet source / nr) |
ridx | vector of row indices |
cidx | vector of column indices |
nr | row size of sparse matrix entries |
nc | column size of sparse matrix entries |
Definition at line 456 of file crsutil.hh.
Referenced by Kaskade::AssemblyDetail::Fill< Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 >, Allocator > >::apply().
std::string Kaskade::getDate | ( | ) |
std::string Kaskade::getDateAndTime | ( | ) |
void Kaskade::gridIterate | ( | VariableList const & | vars, |
Functions const & | functions, | ||
Spaces const & | spaces, | ||
Collector & | f | ||
) |
A function that supports general iterations over a spatial domain and supports efficient evaluation of FE functions at the iterated quadrature points. This is a low-level function working directly on variable lists and function lists. There's a convenience overload working on VariableSets.
For each quadrature point \( \xi \) in all cells \( T \), this calls
\[ f(T, i, \xi, w, u), \]
where \( i \) is the cell index, \( u \) is the sequence of function values and \( w \) is the integration weight. This is performed in parallel on several copies of \( f \). After the integration, the provided collector joins the data of its copies.
vars | a heterogeneous container of VariableDescription structures |
functions | a heterogeneous container of FE functions or function views that can be evaluated given an Evaluator of the associated space. |
spaces | a heterogeneous container of pointers to FE function spaces. VariableDescription classes that give the mapping of functions in data to their associated spaces. |
f | the functor that does the work. On each quadrature point, its operator() is called with a heterogeneous container of the values of the functions in data. |
Definition at line 121 of file iterate_grid.hh.
Referenced by gridIterate(), scaledTwoNormSquared(), and uniformEmbeddedErrorEstimation().
void Kaskade::gridIterate | ( | VariableSet const & | functions, |
Collector & | f | ||
) |
A function that supports general iterations over a spatial domain and supports efficient evaluation of FE functions at the iterated quadrature points.
This is a convenience overload for the usual case that the FE spaces are just those listed in the VariableDescriptions.
Definition at line 148 of file iterate_grid.hh.
HdivShapeFunctionSetContainer< ctype, dimension, T >::value_type const & Kaskade::hdivShapeFunctionSet | ( | Dune::GeometryType | type, |
int | order | ||
) |
Returns a Hdiv shape function set for given reference element type and given polynomial order. Singleton function.
Definition at line 542 of file nedelecshapefunctions.hh.
HierarchicExtensionShapeFunctionSetContainer< ctype, dimension, Scalar >::value_type const & Kaskade::hierarchicExtensionShapeFunctionSet | ( | Dune::GeometryType | type, |
int | order | ||
) |
Returns a Hierarchic shape function set for given reference element type and given polynomial order. Singleton function.
Definition at line 750 of file hierarchicshapefunctions.hh.
HierarchicShapeFunctionSetContainer< ctype, dimension, Scalar >::value_type const & Kaskade::hierarchicShapeFunctionSet | ( | Dune::GeometryType | type, |
int | order | ||
) |
Returns a Hierarchic shape function set for given reference element type and given polynomial order. Singleton function.
Definition at line 570 of file hierarchicshapefunctions.hh.
auto Kaskade::horzcat | ( | Dune::FieldMatrix< Scalar, n, m > const & | a | ) |
Definition at line 381 of file fixdune.hh.
auto Kaskade::horzcat | ( | Dune::FieldMatrix< Scalar, n, m > const & | a, |
Rest ... | rest | ||
) |
Definition at line 387 of file fixdune.hh.
auto Kaskade::horzcat | ( | Dune::FieldVector< Scalar, n > const & | c1 | ) |
Definition at line 328 of file fixdune.hh.
Referenced by horzcat().
Dune::FieldMatrix< Scalar, n, 3 > Kaskade::horzcat | ( | Dune::FieldVector< Scalar, n > const & | col1, |
Dune::FieldVector< Scalar, n > const & | col2, | ||
Dune::FieldVector< Scalar, n > const & | col3 | ||
) |
Definition at line 429 of file fixdune.hh.
void Kaskade::insertMatrixBlockEntries | ( | BMatrix & | globalMatrix, |
BMatrix const & | matrixBlock, | ||
typename BMatrix::size_type | startRow, | ||
typename BMatrix::size_type | startCol | ||
) |
Add entries of a sparse matrix block to a global sparse matrix, which already has the suitable sparsity pattern assigned.
Definition at line 182 of file matrixBlocks.hh.
void Kaskade::insertMatrixBlockIndices | ( | Dune::MatrixIndexSet & | globalIndexSet, |
Dune::BCRSMatrix< Entry > const & | matrixBlock, | ||
Dune::MatrixIndexSet::size_type | startRow, | ||
Dune::MatrixIndexSet::size_type | startCol | ||
) |
Add indices of a sparse matrix block to a global sparse matrix (creator).
Definition at line 164 of file matrixBlocks.hh.
void Kaskade::insertMatrixBlockIndices | ( | NumaCRSPatternCreator< Index > & | globalCreator, |
NumaBCRSMatrix< Entry, Index > const & | matrixBlock, | ||
typename NumaBCRSMatrix< Entry, Index >::size_type | startRow, | ||
typename NumaBCRSMatrix< Entry, Index >::size_type | startCol | ||
) |
Add indices of a sparse matrix block to a global sparse matrix (creator).
Definition at line 131 of file matrixBlocks.hh.
void Kaskade::insertVectorBlock | ( | BVector & | globalVector, |
BVector const & | vectorBlock, | ||
typename BVector::size_type | startIdx | ||
) |
Add entries of a vector block to a global vector.
Definition at line 203 of file matrixBlocks.hh.
auto Kaskade::integral | ( | WeakFunctionView const & | f, |
Space const & | space | ||
) |
Definition at line 301 of file integration.hh.
LagrangeShapeFunctionSetContainer< ctype, dimension, Scalar, restricted >::value_type const & Kaskade::lagrangeShapeFunctionSet | ( | Dune::GeometryType | type, |
int | order | ||
) |
Returns a Lagrange shape function set for given reference element type and given polynomial order. Singleton function.
restricted | docme! |
Definition at line 872 of file lagrangeshapefunctions.hh.
void Kaskade::LeastSquares | ( | SLAPMatrix< double > | a, |
std::vector< double > const & | b, | ||
std::vector< double > & | x | ||
) |
Solve linear least squares problem, given by a*x=b.
Preferrably used like the following:
LeastSquares(SLAPMatrix<double>(A),b,x)
Here A models the Dune Matrix concept.
Referenced by Kaskade::PolynomialModel::computeCoefficients().
LinearizationDifferenceAt< Functional > Kaskade::linearizationDifference | ( | Functional const & | f, |
typename Functional::OriginVars::VariableSet const & | u1, | ||
typename Functional::OriginVars::VariableSet const & | u2 | ||
) |
Convenience routine: construct linearization without having to know the type of the functional.
Definition at line 885 of file functional_aux.hh.
bool Kaskade::littleEndian | ( | ) |
Return true if byte order is little endian.
void Kaskade::localProlongationMatrix | ( | ChildSpace const & | childSpace, |
Cell< typename ChildSpace::Grid > const & | child, | ||
FatherSpace const & | fatherSpace, | ||
Cell< typename FatherSpace::Grid > const & | father, | ||
DynamicMatrix< Dune::FieldMatrix< typename ChildSpace::Scalar, 1, 1 > > & | prolongation, | ||
typename ChildSpace::Mapper::ShapeFunctionSet const & | childSfs, | ||
typename FatherSpace::Mapper::ShapeFunctionSet const & | fatherSfs | ||
) |
Computes a local prolongation matrix for global shape functions from father cell to child cell.
\[ p \leftarrow \Phi_c^+ \Psi_c^{-1} \Psi_f \Phi_f. \]
This means, \( p \in \R^{n_c \times n_f} \) is a matrix, where the entries \( p_{ij} \) give the contribution of the \( j \)-th father global shape function to the \( i \)-th child global shape function. \( n_f \) and \( n_c \) are the number of father and child shape functions, respectively.Although suggestively called father and child, the only geometric relation required is that all interpolation nodes of the child cell are also contained inside the father cell.
Note that the FE spaces on father and child may be different, providing interpolation matrices for different FE approximations. The requirement is that the scalar type and the number of shape function components coincide.
childSfs | a shape function set to use for the child space on the given child cell (which need not be contained in the child space's grid view) |
fatherSfs | a shape function set to use for the father space on the given father cell (which need not be contained in the fathers space's grid view) |
Definition at line 195 of file fetransfer.hh.
Referenced by localProlongationMatrix(), Kaskade::CoarseningDetail::GetLocalTransferProjection< Cell >::operator()(), and Kaskade::TransferData< Space, CoarseningPolicy >::transferMatrix().
MultiGridStack< Prolongation, Entry, Index > Kaskade::makeAuxiliarySpaceMultigridStack | ( | Space const & | space, |
NumaBCRSMatrix< Entry, Index > const & | A, | ||
double | volumeRatio = 100 |
||
) |
creates a semi-geometric multigrid preconditioner based on an auxiliary space
Space | the finite element space for which the stiffness matrix A has been computed. Currently this is restricted to a P1 finite element space. |
Entry | the type of matrix entries in the stiffness matrix |
CellData< Grid, int >::CellDataVector Kaskade::markByBulkCriterion | ( | CellData< Grid, T > & | ic, |
double | Theta | ||
) |
Create a CellDataVector, in which the largest entities of *this are marked by 1, using the "bulk criterion".
To be used together with GridManager::mark(...)
Definition at line 224 of file celldata.hh.
Referenced by Kaskade::Bridge::AdaptiveGrid< GridManager, Estimate >::mark().
CellData< Grid, int >::CellDataVector Kaskade::markByMaxCriterion | ( | CellData< Grid, T > & | ic, |
double | Ratio | ||
) |
Create a CellDataVector, in which the largest entities of *this are marked by 1, using the "max criterion".
Definition at line 262 of file celldata.hh.
void Kaskade::markCells | ( | GridManager & | gridManager, |
Functor | functor | ||
) |
Definition at line 121 of file forEach.hh.
CellData< Grid, int >::CellDataVector Kaskade::markWithinInterval | ( | CellData< Grid, T > & | ic, |
double | lower, | ||
double | upper, | ||
int | times | ||
) |
Create a CellDataVector, in which the largest entities of *this are marked by 1, using the "max criterion".
Definition at line 280 of file celldata.hh.
void Kaskade::matrix_to_triplet | ( | Matrix const & | a, |
OutIteratorI | i, | ||
OutIteratorI | j, | ||
OutIteratorD | z | ||
) |
converts a matrix to the coordinate (triplet) format.
The Matrix type needs to satisfy the Dune matrix interface.
Definition at line 418 of file crsutil.hh.
void Kaskade::MatrixKT_A_K | ( | SLAPMatrix< double > | A, |
SLAPMatrix< double > & | K, | ||
SLAPMatrix< double > & | out | ||
) |
void Kaskade::MatrixMultiplication | ( | SLAPMatrix< double > | A, |
SLAPMatrix< double > & | B, | ||
SLAPMatrix< double > & | AB | ||
) |
Vector::field_type Kaskade::maxNorm | ( | std::vector< Vector > const & | values | ) |
A function to compute the partial \(\max-\)norm or \(L^{\infty}-\)norm of a vector of vectors. If \(\mathbf{x}\) denotes a vector of vectors, where \(\mathbf{x} = \{ \mathbf{x_1},\ldots , \mathbf{x_n}\}^{T}\), then \(\| \mathbf{x} \|_{\infty} = \max_{1 \leq i \leq N} \|\mathbf{x_i}\|$\f. Here the norm \)|.| \( is some arbitrary norm and in the current template function it is implemented as a \)\max- \(norm. \tparam Vector, a vector type, usually Dune::DenseVector \param[in]values a vector of vectors. \return the \)\infty-.
\brief A function to compute the partial \f$1-\f$norm or \f$L^{1}-\f$norm of a vector of vectors. If \f$\mathbf{x}\f$ denotes a vector of vectors, where \f$\mathbf{x} = \{ \mathbf{x_1},\ldots , \mathbf{x_n}\}^{T}\f$, then \f$\| \mathbf{x} \|_1 = \sum_{i=1}^N \|\mathbf{x_i}\|$\f. Here the norm \f$\|.\| \f$ is some arbitrary norm and in the current template function it is implemented as a \f$1-\f$norm. \tparam Vector, a vector type, usually Dune::DenseVector \param[in]values a vector of vectors. \return the \f$1-\f$norm of the vector values, usually a double. */
template<class Vector> typename Vector::field_type oneNorm(std::vector<Vector> const& values) { return std::accumulate(values.begin(),values.end(),0.0,[](double init, Vector const& v) { return init + v.one_norm(); }); // auto norm = 0.0;
// for (auto i = 0u; i < values.size(); ++i) // //one_norm: public member function of Dune::DenseVector // norm += values[i].one_norm();
// return norm; }
/**
Definition at line 54 of file sdc_euler.hh.
void Kaskade::moveEvaluatorsToCell | ( | Evaluators & | evals, |
Cell const & | cell | ||
) |
Moves all provided evaluators to the given cell.
Definition at line 1888 of file functionspace.hh.
Referenced by PointwiseCorrection< PolyEquation >::correct(), corrTangent(), edgeAveragingFull(), Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::BoundaryCache::evaluateAt(), Kaskade::ErrorDistribution< Functional, ExtendedAnsatzVars >::DomainCache::evaluateAt(), Kaskade::GridIterateDetail::gridIterateRange(), and projectHierarchically().
void Kaskade::moveEvaluatorsToCell | ( | Evaluators & | evals, |
Cell const & | cell, | ||
Index | idx | ||
) |
Moves all provided evaluators to the given cell with provided index.
As index lookups may be relatively expensive, providing the index here once for all spaces/evaluators may improve performance.
Definition at line 1900 of file functionspace.hh.
NedelecShapeFunctionSetContainer< ctype, dimension, T >::value_type const & Kaskade::nedelecShapeFunctionSet | ( | Dune::GeometryType | type, |
int | order | ||
) |
Returns a Nedelec shape function set for given reference element type and given polynomial order. Singleton function.
Definition at line 309 of file nedelecshapefunctions.hh.
std::array< std::vector< size_t >, 3 > Kaskade::nestedDissection | ( | std::vector< std::pair< size_t, size_t > > const & | edges, |
std::vector< size_t > const & | edgeStart | ||
) |
Computes a nested dissection of the given graph.
edges | a sequence \( E \) of edges \( (v,w) \), given as pairs of vertices, sorted lexicographically. The edges are assumed to be symmetric, i.e. \( (v,w)\in E \Rightarrow (w,v)\in E \), and shall not contain the diagonal, i.e. \( (v,v) \not\in E \). |
edgeStart | an index sequence such that all edges \( (v,w) \) for some particular \( v \) are in the half-open range [edgeStart(v),edgeStart(v+1)[ of edges. |
The vertices are assumed to be a contiguous range \( 0, \dots, n-1 \) of integers.
If no proper partitioning can be found, both \( v_1, v_2 \) are empty and \( s \) contains all vertices. If the graph is disconnected, \( s \) is empty.
auto Kaskade::nestUzawa | ( | LinearProductSpace< Scalar, Sequence > const & | z | ) |
Convenience function for creating Uzawa domain/range arguments.
If the UzawaSolver is created by providing AssembledGalerkinOperator data for A, B, and Bt, their domain and range spaces are LinearProductSpace types containing (usually) just one component. Then, domain and range of the UzawaSolver are doubly nested, [[u],[p]], but extracting two consecutive components from an assembler leads to the flat LinearProductSpace [u,p]. This function takes [u,p] and outputs [[u],[p]].
NumaCRSPattern< Index > Kaskade::operator+ | ( | NumaCRSPattern< Index > const & | pa, |
NumaCRSPattern< Index2 > const & | pb | ||
) |
Definition at line 2037 of file threadedMatrix.hh.
std::ostream & Kaskade::operator<< | ( | std::ostream & | out, |
Dune::BCRSMatrix< B, A > const & | a | ||
) |
Definition at line 474 of file crsutil.hh.
std::ostream & Kaskade::operator<< | ( | std::ostream & | out, |
LocalMatrix< Entry, diagonal, SortedRowIdx, SortedColIdx > const & | A | ||
) |
Definition at line 146 of file localMatrices.hh.
std::ostream & Kaskade::operator<< | ( | std::ostream & | out, |
MGProlongation const & | p | ||
) |
std::ostream & Kaskade::operator<< | ( | std::ostream & | out, |
MultiGridStack< Prolongations, Entry, Index > const & | mgStack | ||
) |
Definition at line 855 of file prolongation.hh.
std::ostream & Kaskade::operator<< | ( | std::ostream & | out, |
Tensor< Entry, Sizes... > const & | t | ||
) |
std::ostream & Kaskade::operator<< | ( | std::ostream & | s, |
MatrixAsTriplet< Scalar, SparseIndexInt > const & | mat | ||
) |
Definition at line 773 of file triplet.hh.
std::ostream & Kaskade::operator<< | ( | std::ostream & | s, |
std::vector< Scalar > const & | vec | ||
) |
Definition at line 47 of file dune_bridge.hh.
std::ostream & Kaskade::operator<< | ( | std::ostream & | stream, |
VTKReader::FunctionInfo const & | info | ||
) |
void Kaskade::pseudoinverse | ( | SLAPMatrix< Scalar > | A, |
SLAPMatrix< Scalar > & | Ainv | ||
) |
Computes the pseudoinverse.
RangeView< It > Kaskade::rangeView | ( | It | first, |
It | last | ||
) |
Convenience function for constructing range views on the fly.
Definition at line 59 of file views.hh.
Referenced by Kaskade::UniformPartitionedMapper< Implementation, Tagger, SFData >::combiner(), and Kaskade::UniformScalarMapper< Implementation, SFData >::combiner().
void Kaskade::relativeError | ( | Variables const & | varDesc, |
Functions const & | f1, | ||
Functions const & | f2, | ||
Functions const & | f3, | ||
Spaces const & | spaces, | ||
Scaling const & | scaling, | ||
OutIter | out | ||
) |
For each variable, this function computes the following pair of values:
\[ (\|f_1-f_2\|,\|f_3\|) \]
Variables | a boost::fusion sequence of variable descriptions |
OutIter | an output iterator with value type std::pair(double,double) |
Functions | a boost::fusion sequence of finite element functions, referenced by the variable descriptions |
Spaces | a boost::fusion sequence of pointers to spaces, referenced by the variable descriptions |
Scaling |
Definition at line 382 of file iterate_grid.hh.
Referenced by Kaskade::Limex< Eq >::estimateError().
T * Kaskade::removeConst | ( | T const * | t | ) |
Definition at line 36 of file typeTraits.hh.
Dune::BlockVector< Dune::FieldVector< double, dimOut > > Kaskade::reshapeBlocks | ( | Dune::BlockVector< Dune::FieldVector< double, dimIn > > const & | b | ) |
reshapes a Dune::BlockVector block structure
Reshapes a Dune::BlockVector with entry-type Dune::FieldVector<double,dimIn> to entry type Dune::FieldVector<double,dimOut>, i.e. the size of the contained blocks are reshaped. Block sizes must be such that dimIn == 1 or dimOut == 1.
dimIn | reshape block size from dimIn |
dimOut | to desired block size dimOut |
b | A Dune::BlockVector<> whose entry-type is to be reshaped |
Definition at line 1037 of file dynamicMatrix.hh.
DynamicMatrix< Dune::FieldMatrix< Kb, nb, mb > > Kaskade::reshapeBlocks | ( | DynamicMatrix< Dune::FieldMatrix< Ka, na, ma > > const & | A | ) |
Definition at line 64 of file reshape.hh.
void Kaskade::scaledTwoNormSquared | ( | Variables const & | varDesc, |
Functions const & | f, | ||
Spaces const & | spaces, | ||
Scaling const & | scaling, | ||
Collector & | sum | ||
) |
Evaluates the square of the scaled \(L^2\)-norms of a set of functions.
Variables | a boost::fusion sequence of VariableDescription types |
Functions | a boost::fusion sequence of FE function types (or types providing the required interface subset) |
Spaces | |
Scaling | |
Collector |
varDesc | a boost::fusion sequence of VariableDescription entries, e.g. obtained from VariableSetDescription::Variables() |
f | a matching boost::fusion sequence of FE functions |
The required interface subset of FE functions includes the value() and the space() methods.
Definition at line 304 of file iterate_grid.hh.
Referenced by coarsening(), Kaskade::EmbeddedErrorEstimator< VariableSetDescription, Scaling >::estimate(), and relativeError().
Vector::field_type Kaskade::sdcExEulerIterationStep | ( | Kaskade::SDCTimeGrid const & | grid, |
std::vector< Vector > & | yi, | ||
std::vector< Vector > & | dyi, | ||
std::function< Vector(typename Vector::field_type, Vector const &)> | rhsFunc, | ||
std::function< typename Vector::field_type(std::vector< Vector > const &)> | normFunc, | ||
bool | verbose = false |
||
) |
A single spectral defect correction iteration sweep based on explicit Euler method.
This function performs one spectral defect correction (SDC) iteration for a system of ODE's of the form:
\[y'(t) = f(y(t)),\,\, y(0) = y_0 \textrm{ and } t \in [0, T].\]
using the explicit Euler method on a given time grid. Here SDC is interpreted as fixed point iteration. Given an approximate solution \(y^{[j]} \in \mathbb{P}_N\), the error function
\[\delta^{[j]} = y - y^{[j]}\]
satisfies the defect equation
\[\delta^{[j]}'(t) = y'(t) - y^{[j]}'(t) = f(y(t)) - y^{[j]}'(t).\]
The equivalent Picard equation is
\[\delta^{[j]}(t) = \int_{\tau=0}^t \left( f(y^{[j]}(\tau)+\delta^{[j]}(\tau)) - {y^{[j]}}'(\tau) \right) \,d\tau.\]
Evaluated at the grid nodes \( t_i\) we obtain
\[ \delta^{[j]}_i &= \delta^{[j]}_{i-1} + \int_{\tau=t_{i-1}}^{t_i} \left( f(y^{[j]}(\tau)+\delta^{[j]}(\tau)) - {y^{[j]}}'(\tau) \right) \,d\tau \\ &= \delta^{[j]}_{i-1} + \int_{\tau=t_{i-1}}^{t_i} \left( f(y^{[j]}(\tau)+\delta^{[j]}(\tau)) - f(y^{[j]}(\tau))\right) \,d\tau \\ &\quad + \int_{\tau=t_{i-1}}^{t_i} \hspace{-0.5em}f(y^{[j]}(\tau)) \,d\tau - ( y^{[j]}_i-y^{[j]}_{i-1}) \]
starting at \(\delta_0^{[j]} = 0.\) Using left looking rectangular rule for approximating the first integral, and the canonical quadrature by polynomial interpolation on the nodes \( t_1,\ldots t_N\) for second integral, approximate values \( \hat{\delta}_i^{[j]}\) for \( \delta_i^{[j]}\) can be evaluated. With the left looking rectangular rule, we obtain the explicit scheme
\[ \hat\delta^{[j]}_i &= \hat\delta^{[j]}_{i-1} + (t_i-t_{i-1}) \left( f(y^{[j]}_{i-1}+\hat{\delta}^{[j]}_{i-1}) - f(y^{[j]}_{i-1})\right) + \sum_{k=1}^N S_{ik} f(y^{[j]}_k) - y^{[j]}_i+y^{[j]}_{i-1}, \]
where the entries of the spectral quadrature matrix \( S \in \mathbb{R}^{N \times N}\) are defined in terms of the Lagrange polynomials \(L_k \in \mathbb{P}_N\) satisfying \(L_k(t_i) = \delta_{ik}\) as
\[ S_{ik} = \int_{\tau=t_{i-1}}^{t_i} L_k(\tau) \,d\tau, \quad i,k =1,\dots, N. \]
An improved approximation \( y^{[j+1]}\) is then obtained by polynomial interpolation of \(\hat \delta^{[j]}_i \),
\[y^{[j+1]} = y^{[j]} + \hat\delta^{[j]}.\]
The norm of the correction \(\hat\delta^{[j]}\) is returned.
Vector,a | vector type, usually Dune::DenseVector. |
[in] | grid | the collocation time grid |
[out] | yi | stores the current iterate of the solution \(y\). |
[out] | dyi | is the approximate correction \(\delta y \) |
[in] | rhsFunc | is the function which represents the right hand side \(f\) and is used in th computation of \( \delta y\). |
[in] | normFunc | represents the norm that would be used in the computation of norm of \( \delta y\). |
[in] | verbose | a boolean used to print out the iterates of \(y\). |
Definition at line 117 of file sdc_euler.hh.
Referenced by Kaskade::EulerSDC< Vector, TimeGrid >::integrate(), and Kaskade::EulerSDC< Vector, TimeGrid >::integrateTOL().
void Kaskade::spaceTransfer | ( | Fu1 & | f1, |
Fu2 const & | f2 | ||
) |
DEPRECATED. Use interpolateGlobally instead.
Definition at line 1119 of file fetransfer.hh.
Referenced by Kaskade::Bridge::SpaceTransfer::operator()().
|
related |
Referenced by Kaskade::NumaBCRSMatrix< Entry, Index >::eraseRowsNCols().
void Kaskade::SymmetricEigenvalues | ( | SLAPMatrix< double > | a, |
std::vector< double > & | eig | ||
) |
T Kaskade::transpose | ( | T | x | ) |
Definition at line 750 of file dynamicMatrix.hh.
Referenced by Kaskade::Elastomechanics::HyperelasticVariationalFunctional< HyperelasticEnergy, StrainTensor >::cauchyStress(), Kaskade::NumaBCRSMatrix< Entry, Index >::conjugation(), Kaskade::ThreadedMatrixDetail::MatrixEntry< To, From, scalarsMatch >::copy(), Kaskade::Elastomechanics::LinearizedGreenLagrangeTensor< Scalar, dim, byValue >::d0(), Kaskade::Elastomechanics::GreenLagrangeTensor< Scalar, dim, byValue >::d0(), Kaskade::Elastomechanics::SurfaceGreenLagrangeTensor< Scalar, dim, byValue >::d0(), Kaskade::Elastomechanics::ExtendedGreenLagrangeTensor< Scalar, dim, byValue >::d0(), Kaskade::Cofactor< dimension, Source >::d0(), Kaskade::Elastomechanics::SurfaceGreenLagrangeTensor< Scalar, dim, byValue >::d1(), Kaskade::Elastomechanics::ExtendedGreenLagrangeTensor< Scalar, dim, byValue >::d1(), Kaskade::Cofactor< dimension, Source >::d1(), Kaskade::Elastomechanics::LinearizedGreenLagrangeTensor< Scalar, dim, byValue >::d1(), Kaskade::Elastomechanics::GreenLagrangeTensor< Scalar, dim, byValue >::d1(), Kaskade::Elastomechanics::SurfaceGreenLagrangeTensor< Scalar, dim, byValue >::d2(), Kaskade::Elastomechanics::ExtendedGreenLagrangeTensor< Scalar, dim, byValue >::d2(), Kaskade::Cofactor< dimension, Source >::d2(), Kaskade::Elastomechanics::GreenLagrangeTensor< Scalar, dim, byValue >::d2(), Kaskade::Cofactor< dimension, Source >::d3(), Kaskade::BoundaryInterpolationDisplacement< GridView >::derivative(), Kaskade::VectorialConverterBase< GridView >::global(), Kaskade::ScalarConverter< Cell, Scalar >::global(), Kaskade::ThreadedMatrixDetail::CopyMatrixToChunk< Entry, Matrix, true, transposed, Index >::init(), Kaskade::ThreadedMatrixDetail::CopyMatrixToChunk< Entry, Matrix, false, true, Index >::init(), and Kaskade::DynamicMatrix< K >::transpose().
void Kaskade::TransposedMatrixMultiply | ( | SLAPMatrix< double > | A, |
std::vector< double > & | in, | ||
std::vector< double > & | out | ||
) |
void Kaskade::tripletToCompressedColumn | ( | Index | nRows, |
Index | nCols, | ||
size_t | nNonZeros, | ||
std::vector< Index > const & | ridx, | ||
std::vector< Index > const & | cidx, | ||
std::vector< Scalar > const & | values, | ||
std::vector< Index > & | Ap, | ||
std::vector< Index > & | Ai, | ||
std::vector< Scalar > & | Az | ||
) |
Converts a matrix in triplet format to a compressed column format.
Scalar | the matrix entry type |
Index | the row/column index type |
Referenced by Kaskade::SUPERLUFactorization< Scalar >::SUPERLUFactorization(), and Kaskade::UMFFactorization< Scalar, UMFPackIndex >::UMFFactorization().
void Kaskade::umfpack_solve | ( | std::vector< int > const & | ridx, |
std::vector< int > const & | cidx, | ||
std::vector< double > const & | values, | ||
std::vector< double > const & | b, | ||
std::vector< double > & | x | ||
) |
CellData< Grid, int >::CellDataVector Kaskade::unmarkOutOf | ( | CellData< Grid, int > const & | ic, |
Dune::FieldVector< typename Grid::ctype, Grid::dimension > | center, | ||
double | radius | ||
) |
Create a CellDataVector, in which the largest entities of *this are marked by 1, using the "max criterion".
Definition at line 296 of file celldata.hh.
auto Kaskade::unnestUzawa | ( | LinearProductSpace< Scalar, Sequence > const & | z | ) |
Convenience function for unpacking Uzawa domain/range results.
This unwraps nested LinearProductSpace arguments.
z | a nested Uzawa domain/range type of structure [[u],[p]] |
auto Kaskade::uzawa | ( | MatA & | A, |
SolA & | invA, | ||
MatB & | B, | ||
MatBt & | Bt, | ||
PrecS & | precS, | ||
double | reduction = 1e-3 , |
||
int | maxit = 1000 , |
||
int | verbose = 0 |
||
) |
Convenience function for constructing an UzawaSolver. \tparem MatA derived from Dune::LinearOperator<X,X>
SolA | derived from Dune::InverseOperator<X,X> |
MatB | derived from Dune::LinearOperator<X,Y> |
MatBt | derived from Dune::LinearOperator<Y,X> |
PrecS | derived from Dune::Preconditioner<Y,Y> |
InIter Kaskade::vectorFromSequence | ( | double & | x, |
InIter | iter | ||
) |
Definition at line 97 of file crsutil.hh.
InIter Kaskade::vectorFromSequence | ( | Dune::FieldVector< K, size > & | v, |
InIter | iter | ||
) |
Definition at line 111 of file crsutil.hh.
InIter Kaskade::vectorFromSequence | ( | float & | x, |
InIter | iter | ||
) |
Definition at line 104 of file crsutil.hh.
InIter Kaskade::vectorFromSequence | ( | FunctionSpaceElement< Space, m > & | v, |
InIter | in | ||
) |
Definition at line 1045 of file functionspace.hh.
Referenced by Kaskade::DirectSolver< Domain_, Range_ >::apply(), Kaskade::DirectPreconditioner< Op >::apply(), and vectorFromSequence().
InIter Kaskade::vectorFromSequence | ( | std::vector< K > & | v, |
InIter | iter | ||
) |
Definition at line 135 of file crsutil.hh.
OutIter Kaskade::vectorToSequence | ( | double | x, |
OutIter | iter | ||
) |
Definition at line 30 of file crsutil.hh.
Referenced by Kaskade::DirectSolver< Domain_, Range_ >::apply(), Kaskade::DirectPreconditioner< Op >::apply(), Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::apply(), Kaskade::EnergyScalarProduct< X >::operator()(), Kaskade::VariationalFunctionalAssembler< F, SparseIndex, BoundaryDetector, QuadRule >::BlockToSequence< DataOutIter >::operator()(), vectorToSequence(), and Kaskade::FunctionSpaceElement< FunctionSpace, m >::vectorToSequence().
OutIter Kaskade::vectorToSequence | ( | Dune::FieldVector< K, size > const & | v, |
OutIter | iter | ||
) |
Definition at line 45 of file crsutil.hh.
OutIter Kaskade::vectorToSequence | ( | float | x, |
OutIter | iter | ||
) |
Definition at line 37 of file crsutil.hh.
OutIter Kaskade::vectorToSequence | ( | std::vector< K > const & | v, |
OutIter | iter | ||
) |
Definition at line 84 of file crsutil.hh.
Dune::BlockVector< Entry, A > Kaskade::vertcat | ( | Dune::BlockVector< Entry, A > const & | x, |
Dune::BlockVector< Entry, A > const & | y | ||
) |
Definition at line 31 of file vectorOps.hh.
|
inline |
Computes the d-c+1 local vertex indices of the vertices incident to the k-th subentity of codimension c in the reference simplex of dimension d.
d | spatial dimension of the reference simplex |
c | codimension of the considered subentity |
k | number of the subentity (among all of given codimension c) |
idx | output iterator, where d-c+1 values are stored |
Definition at line 117 of file gridcombinatorics.hh.
Referenced by computeBoundaryStars(), Kaskade::ContinuousHierarchicMapperImplementation< Scalar, GV, ShapeFunctionFilter >::entityIndex(), Kaskade::ContinuousHierarchicExtensionMapperImplementation< Scalar, GV, ShapeFunctionFilter >::entityIndex(), and Kaskade::BoundaryInterpolationDetail::getIsBoundaryFace().
void Kaskade::writeAMIRAFile | ( | GridView const & | gridView, |
VariableSet const & | vars, | ||
std::string | file_out, | ||
IoOptions | options = ioOptions_default , |
||
Dune::BlockVector< Dune::FieldVector< double, 1 > > | materialData = Dune::BlockVector<Dune::FieldVector<double, 1>>() , |
||
std::string | file_in = "" |
||
) |
This procedure writes data in AmiraMesh with cell material data to ascii/binary format, e.g. for visualization in AMIRA software.
gridView | gridView, i.e. LeafGridView |
description | variable set description |
vars | data of variables |
file_out | name of output file |
options | defines the format for the output,e.g., ascii/binary |
material | material data of underlying grid. Typically called as material.coefficients(), where material is a is a FunctionSpaceElement. |
file_in | the Amira-input file the material data was read from |
void Kaskade::writeMarc | ( | Material const & | material, |
std::string const & | filename, | ||
double const | scale = 1.0 , |
||
IoOptions | options = IoOptions() |
||
) |
Writes grid and material IDs given as FE function to a Marc input file.
This creates an input file for the Marc finite element solver by MSC Software. The created file is intended for heat simulations (not mechanics), and provides dummy thermal material parameters which need to be fixed before submitting the file to MARC.
The underlying grid must contain just one type of cell.
material | a scalar integer-valued piecewise constant FE function defining the material id |
filename | file name (without trailing ".marc" suffix) |
scale | a scaling factor for the geometry. All lengths and positions are scaled by this factor. |
Definition at line 69 of file marcwriter.hh.
void Kaskade::writeToMatlab | ( | Assembler const & | assembler, |
std::string const & | path, | ||
std::string const & | basename, | ||
int | precision = 16 |
||
) |
|
constexpr |
Definition at line 167 of file crsutil.hh.
|
extern |
|
constexpr |
Definition at line 249 of file functional_aux.hh.