DUNE-ACFEM (unstable)

Classes

struct  Dune::ACFem::Tensor::IsBlockEye< BlockEye< BlockRank, BlockSignature, Field > >
 Identity a non-empty BlockEye. More...
 
class  Dune::ACFem::Tensor::BlockEye< BlockRank, Seq< Dimensions... >, Field >
 "Identity" block tensor formed of BlockRank many copies of BlockSignature multi-indices. More...
 
class  Dune::ACFem::Tensor::ConstantTensor< Field, Seq< Dimensions... > >
 A tensor where all elements evaluate to the same constant value. More...
 
class  Dune::ACFem::Tensor::Eye< Seq< Dimensions... >, Field >
 "Identity" tensor: evaluates to 1 if all indices are the same, to 0 else. More...
 
class  Dune::ACFem::Tensor::KroneckerDelta< Seq< Dimensions... >, Seq< PivotIndices... >, Field >
 "Kronecker" tensor: evaluates to 1 for exactly one tuple of indices. More...
 
class  Dune::ACFem::Tensor::KroneckerDelta< Seq< D0, RestDims... >, Seq<>, Field >
 "Kronecker" tensor: evaluates to 1 for exactly one tuple of indices. More...
 
struct  Dune::ACFem::Tensor::IsKroneckerDelta< T, SFINAE >
 Traits in order to identify a Projection class. More...
 
struct  Dune::ACFem::Tensor::IsConstKroneckerDelta< KroneckerDelta< Seq< Pos... >, Seq< Pivot... >, Field > >
 Evaluate to a true type if the projection is compile-time constant. More...
 
class  Dune::ACFem::Tensor::LinearStorageTensor< Container, Signature >
 A tensor wrapping an object with an operator[]. More...
 
class  Dune::ACFem::Tensor::LinearStorageTensor< Container, Seq< Dimensions... > >
 A tensor wrapping an object with an operator[] and a value_type. More...
 

Functions

template<std::size_t Rank, std::size_t... Dimensions, class F = Expressions::Closure>
auto Dune::ACFem::Tensor::blockEye (Seq< Dimensions... >=Seq< Dimensions... >{}, F closure=F{})
 Regular blockEye() with more than 1 dimensions.
 
template<std::size_t Rank, class T , class F = Expressions::Closure, std::enable_if_t<!IsSequence< T >::value, int > = 0>
auto Dune::ACFem::Tensor::blockEye (T &&, F=F{})
 Return the blockEye with the block-signature taken from T.
 

Variables

template<class Pos , std::size_t BlockRank, class Dims , class SFINAE = void>
constexpr bool Dune::ACFem::Tensor::IsBlockEyePositionsV = false
 

Detailed Description

Variable Documentation

◆ IsBlockEyePositionsV

template<class Pos , std::size_t BlockRank, class Dims , class SFINAE = void>
constexpr bool Dune::ACFem::Tensor::IsBlockEyePositionsV = false
inlineconstexpr

BlockRank many repetitions of a "block-signature". BlociSize denotes the size of the "block-signature.

Pos is "aligned" if it contains a full set of index positions for one or multiple blocks.

Pos = Seq<P0, .... PN>

Assumption: P0 ... PN are pairwise different

a) Transform Pos to: ModPos = Seq<P0 % BS, ..., PN % BS> b) Sort ModPos and compare with Seq<0, 1..., (BS-1), 0, 1..., (BS-1)...>

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 27, 22:29, 2024)