3 #ifndef DUNE_PDELAB_BACKEND_ISTL_DESCRIPTORS_HH 4 #define DUNE_PDELAB_BACKEND_ISTL_DESCRIPTORS_HH 46 template<Blocking blocking = Blocking::none, std::
size_t block_size_ = 1>
52 static_assert((block_size_ > 0),
"block size for FieldVector has to be positive");
65 static const size_type max_blocking_depth = blocked ? 1 : 0;
68 template<
typename GFS>
79 return Traits::blocked && (blocking !=
Blocking::fixed || !GFS::isLeaf || block_size_ > 1);
86 namespace ISTLParameters {
89 DUNE_DEPRECATED_MSG(
"ISTLParameters::blocking is deprecated and will be removed after PDELab 2.4. Use the new istl::VectorBackend and istl::Blocking instead. Note that the enum values of istl::Blocking are named differently!")
98 #pragma GCC diagnostic push 99 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 101 template<ISTLParameters::Blocking blocking = ISTLParameters::no_blocking, std::
size_t block_size = 1>
104 #pragma GCC diagnostic pop 113 DUNE_DEPRECATED_MSG(
"ISTLMatrixBackend has been deprecated and will be removed after the release of PDELab 2.4. Use istl::BCRSMatrixBackend with the newer pattern construction method instead")
123 template<
typename Matrix,
typename GFSV,
typename GFSU>
124 using Pattern =
typename istl::build_pattern_type<
125 typename Matrix::Container,
128 typename GFSV::Ordering::ContainerAllocationTag
131 template<
typename VV,
typename VU,
typename E>
135 typename VV::GridFunctionSpace,
136 typename VU::GridFunctionSpace,
137 typename istl::build_matrix_type<
139 typename VV::Container,
140 typename VU::Container
146 template<
typename Gr
idOperator,
typename Matrix>
160 return std::vector<Statistics>();
170 #endif // DUNE_PDELAB_BACKEND_ISTL_DESCRIPTORS_HH std::enable_if< std::is_base_of< impl::WrapperBase, T >::value, Native< T > & >::type native(T &t)
Definition: backend/interface.hh:199
GFSV TestGridFunctionSpace
The test grid function space.
Definition: gridoperatorutilities.hh:40
DUNE_CONSTEXPR bool deactivate_standard_blocking_for_ordering(const Chunked< Decorated > &)
Definition: chunkedblockordering.hh:100
typename istl::build_pattern_type< typename Matrix::Container, GFSV, GFSU, typename GFSV::Ordering::ContainerAllocationTag >::type Pattern
The type of the pattern object passed to the GridOperator for pattern construction.
Definition: istl/descriptors.hh:129
typename impl::BackendMatrixSelector< Backend, VU, VV, E >::Type Matrix
alias of the return type of BackendMatrixSelector
Definition: backend/interface.hh:134
int Statistics
Definition: istl/descriptors.hh:120
const GFSV & testGridFunctionSpace() const
Get the test grid function space.
Definition: gridoperator.hh:121
const GFSU & trialGridFunctionSpace() const
Get the trial grid function space.
Definition: gridoperator.hh:115
Definition: istl/descriptors.hh:58
std::size_t size_type
Definition: istl/descriptors.hh:117
No blocking at this level.
Definition: adaptivity.hh:27
std::vector< Statistics > buildPattern(const GridOperator &grid_operator, Matrix &matrix) const
Definition: istl/descriptors.hh:147
void fill_pattern(Pattern &p) const
Fill pattern of jacobian matrix.
Definition: gridoperator.hh:186
Blocking
The type of blocking employed at this node in the function space tree.
Definition: istl/descriptors.hh:26
std::size_t size_type
Definition: istl/descriptors.hh:54
Backend using ISTL matrices.
Definition: istl/descriptors.hh:112
Creates one macro block for each child space, each block is a BlockVector / BCRS matrix.
Create fixed size blocks that each group together a fixed number of DOFs from each child space...
GFSU TrialGridFunctionSpace
The trial grid function space.
Definition: gridoperatorutilities.hh:37
Standard grid operator implementation.
Definition: gridoperator.hh:52
bool blocked(const GFS &gfs) const
Definition: istl/descriptors.hh:69
Definition: bcrsmatrix.hh:17
Definition: istl/descriptors.hh:93
Definition: istl/descriptors.hh:132
Definition: istl/descriptors.hh:47
Definition: istl/descriptors.hh:94
Definition: istl/descriptors.hh:92
Tag describing an ISTL BlockVector backend.
Definition: istl/descriptors.hh:44
Blocking
Definition: istl/descriptors.hh:88
istl::BCRSMatrix< typename VV::GridFunctionSpace, typename VU::GridFunctionSpace, typename istl::build_matrix_type< E, typename VV::Container, typename VU::Container >::type, Statistics > type
Definition: istl/descriptors.hh:143