dune-istl 2.11
Loading...
Searching...
No Matches
Dune::OperatorTraits< Operator > Struct Template Reference

#include <dune/istl/solverfactory.hh>

Public Types

using domain_type = typename Operator::domain_type
using range_type = typename Operator::range_type
using operator_type = Operator
using solver_type = InverseOperator<domain_type, range_type>
using matrix_type = Std::detected_or_t<int, _matrix_type, Operator>
using comm_type = Std::detected_or_t<int, _comm_type, Operator>

Static Public Member Functions

static const std::shared_ptr< AssembledLinearOperator< matrix_type, domain_type, range_type > > getAssembledOpOrThrow (std::shared_ptr< LinearOperator< domain_type, range_type > > op)
static const comm_typegetCommOrThrow (std::shared_ptr< LinearOperator< domain_type, range_type > > op)
static std::shared_ptr< ScalarProduct< domain_type > > getScalarProduct (std::shared_ptr< LinearOperator< domain_type, range_type > > op)

Static Public Attributes

static constexpr bool isAssembled = !std::is_same<matrix_type, int>::value
static constexpr bool isParallel = !std::is_same<comm_type, int>::value

Member Typedef Documentation

◆ comm_type

template<class Operator>
using Dune::OperatorTraits< Operator >::comm_type = Std::detected_or_t<int, _comm_type, Operator>

◆ domain_type

template<class Operator>
using Dune::OperatorTraits< Operator >::domain_type = typename Operator::domain_type

◆ matrix_type

template<class Operator>
using Dune::OperatorTraits< Operator >::matrix_type = Std::detected_or_t<int, _matrix_type, Operator>

◆ operator_type

template<class Operator>
using Dune::OperatorTraits< Operator >::operator_type = Operator

◆ range_type

template<class Operator>
using Dune::OperatorTraits< Operator >::range_type = typename Operator::range_type

◆ solver_type

template<class Operator>
using Dune::OperatorTraits< Operator >::solver_type = InverseOperator<domain_type, range_type>

Member Function Documentation

◆ getAssembledOpOrThrow()

template<class Operator>
const std::shared_ptr< AssembledLinearOperator< matrix_type, domain_type, range_type > > Dune::OperatorTraits< Operator >::getAssembledOpOrThrow ( std::shared_ptr< LinearOperator< domain_type, range_type > > op)
inlinestatic

◆ getCommOrThrow()

template<class Operator>
const comm_type & Dune::OperatorTraits< Operator >::getCommOrThrow ( std::shared_ptr< LinearOperator< domain_type, range_type > > op)
inlinestatic

◆ getScalarProduct()

template<class Operator>
std::shared_ptr< ScalarProduct< domain_type > > Dune::OperatorTraits< Operator >::getScalarProduct ( std::shared_ptr< LinearOperator< domain_type, range_type > > op)
inlinestatic

Member Data Documentation

◆ isAssembled

template<class Operator>
bool Dune::OperatorTraits< Operator >::isAssembled = !std::is_same<matrix_type, int>::value
staticconstexpr

◆ isParallel

template<class Operator>
bool Dune::OperatorTraits< Operator >::isParallel = !std::is_same<comm_type, int>::value
staticconstexpr

The documentation for this struct was generated from the following file: