DUNE-ACFEM (unstable)
TensorAtoms
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>
|
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)...>
