dune-istl 2.12-git
Loading...
Searching...
No Matches

Class for using SPQR with ISTL matrices. More...

Go to the source code of this file.

Classes

class  Dune::SPQR< M >
 The SPQR package to directly solve linear systems for ISTL matrices. More...
 
struct  Dune::IsDirectSolver< SPQR< M > >
 
struct  Dune::StoresColumnCompressed< SPQR< BCRSMatrix< T, A > > >
 

Namespaces

namespace  Dune
 

Functions

 Dune::DUNE_REGISTER_SOLVER ("spqr", [](auto opTraits, const auto &op, const Dune::ParameterTree &config) -> std::shared_ptr< typename decltype(opTraits)::solver_type > { using OpTraits=decltype(opTraits);using M=typename OpTraits::matrix_type;if constexpr(OpTraits::isParallel){ if(opTraits.getCommOrThrow(op).communicator().size() > 1) DUNE_THROW(Dune::InvalidStateException, "SPQR works only for sequential operators.");} if constexpr(std::is_convertible_v< SPQR< M > *, Dune::InverseOperator< typename OpTraits::domain_type, typename OpTraits::range_type > * > &&std::is_same_v< typename FieldTraits< M >::field_type, double >){ const auto &A=opTraits.getAssembledOpOrThrow(op);const M &mat=A->getmat();int verbose=config.get("verbose", 0);return std::make_shared< Dune::SPQR< M > >(mat, verbose);} DUNE_THROW(UnsupportedType, "Unsupported Type in SPQR (only FieldMatrix<double,...> supported)");})
 

Detailed Description

Class for using SPQR with ISTL matrices.

Author
Marco Agnese, Andrea Sacconi