3#ifndef DUNE_PDELAB_BACKEND_SOLVER_HH
4#define DUNE_PDELAB_BACKEND_SOLVER_HH
7#include <dune/pdelab/backend/interface.hh>
22 typename Dune::template FieldTraits<typename V::ElementType >::real_type norm(
const V& v)
const
29 template<
class RFType>
30 struct LinearSolverResult
33 unsigned int iterations;
53 class LinearResultStorage
57 const Dune::PDELab::LinearSolverResult<double>& result()
const
63 Dune::PDELab::LinearSolverResult<double> res;
69 template <
typename LS,
typename =
void>
70 struct LinearSolverHasIsMatrixFree : std::false_type {};
73 template <
typename LS>
74 struct LinearSolverHasIsMatrixFree<LS,
std::
void_t<decltype(std::declval<LS>().isMatrixFree)>> : std::true_type {};
80 template <
typename LS>
81 constexpr bool linearSolverIsMatrixFree(){
82 if constexpr (LinearSolverHasIsMatrixFree<LS>::value){
83 if constexpr (LS::isMatrixFree){
Implements a vector constructed from a given type representing a field and a compile-time given size.
typename Impl::voider< Types... >::type void_t
Is void for all valid input types. The workhorse for C++11 SFINAE-techniques.
Definition: typetraits.hh:40
Dune namespace.
Definition: alignedallocator.hh:13