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

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

Go to the source code of this file.

Classes

class  Dune::LDL< M >
 The LDL direct sparse solver for ISTL matrices. More...
 
struct  Dune::IsDirectSolver< LDL< M > >
 
struct  Dune::StoresColumnCompressed< LDL< BCRSMatrix< T, A > > >
 

Namespaces

namespace  Dune
 

Functions

 Dune::DUNE_REGISTER_SOLVER ("ldl", [](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, "LDL works only for sequential operators.");} if constexpr(std::is_convertible_v< LDL< 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< LDL< M > >(mat, verbose);} DUNE_THROW(UnsupportedType, "Unsupported Type in LDL (only FieldMatrix<double,...> supported)");})
 

Detailed Description

Class for using LDL with ISTL matrices.

Author
Marco Agnese, Andrea Sacconi