version 3.9-dev
istlsolvers.hh File Reference

Linear solvers from dune-istl. More...

#include <memory>
#include <variant>
#include <dune/common/exceptions.hh>
#include <dune/common/shared_ptr.hh>
#include <dune/common/parallel/indexset.hh>
#include <dune/common/parallel/mpicommunication.hh>
#include <dune/grid/common/capabilities.hh>
#include <dune/istl/solvers.hh>
#include <dune/istl/solverfactory.hh>
#include <dune/istl/owneroverlapcopy.hh>
#include <dune/istl/scalarproducts.hh>
#include <dune/istl/paamg/amg.hh>
#include <dune/istl/paamg/pinfo.hh>
#include <dumux/common/typetraits/matrix.hh>
#include <dumux/common/typetraits/vector.hh>
#include <dumux/linear/linearalgebratraits.hh>
#include <dumux/linear/preconditioners.hh>
#include <dumux/linear/linearsolverparameters.hh>
#include <dumux/linear/matrixconverter.hh>
#include <dumux/linear/parallelhelpers.hh>
#include <dumux/linear/solvercategory.hh>
#include <dumux/linear/solver.hh>
#include <dune/istl/foreach.hh>

Go to the source code of this file.

Classes

class  Dumux::Detail::IstlSolvers::IstlDefaultBlockLevelPreconditionerFactory< Preconditioner, blockLevel >
 
class  Dumux::Detail::IstlSolvers::IstlDefaultPreconditionerFactory< Preconditioner >
 
struct  Dumux::Detail::IstlSolvers::MatrixForSolver< M, convert >
 
struct  Dumux::Detail::IstlSolvers::MatrixForSolver< M, true >
 
struct  Dumux::Detail::IstlSolvers::VectorForSolver< V, convert >
 
struct  Dumux::Detail::IstlSolvers::VectorForSolver< V, true >
 
struct  Dumux::Detail::IstlSolvers::MatrixOperator< LSTraits, LATraits, convert, true >
 
struct  Dumux::Detail::IstlSolvers::MatrixOperator< LSTraits, LATraits, convert, false >
 
struct  Dumux::Detail::IstlSolverResult
 
class  Dumux::Detail::IstlIterativeLinearSolver< LinearSolverTraits, LinearAlgebraTraits, InverseOperator, PreconditionerFactory, convertMultiTypeLATypes >
 Standard dune-istl iterative linear solvers. More...
 
class  Dumux::Detail::DirectIstlSolver< LSTraits, LATraits, Solver, convertMultiTypeVectorAndMatrix >
 Direct dune-istl linear solvers. More...
 

Namespaces

namespace  Dumux
 
namespace  Dumux::Detail
 Distance implementation details.
 
namespace  Dumux::Detail::IstlSolvers
 

Typedefs

using Dumux::Detail::IstlSolvers::IstlAmgPreconditionerFactory = Dune::AMGCreator
 
template<class LSTraits , class LATraits >
using Dumux::ILUBiCGSTABIstlSolver = Detail::IstlIterativeLinearSolver< LSTraits, LATraits, Dune::BiCGSTABSolver< typename LATraits::SingleTypeVector >, Detail::IstlSolvers::IstlDefaultBlockLevelPreconditionerFactory< Dune::SeqILU >, true >
 An ILU preconditioned BiCGSTAB solver using dune-istl. More...
 
template<class LSTraits , class LATraits >
using Dumux::ILURestartedGMResIstlSolver = Detail::IstlIterativeLinearSolver< LSTraits, LATraits, Dune::RestartedGMResSolver< typename LATraits::SingleTypeVector >, Detail::IstlSolvers::IstlDefaultBlockLevelPreconditionerFactory< Dune::SeqILU >, true >
 An ILU preconditioned GMres solver using dune-istl. More...
 
template<class LSTraits , class LATraits >
using Dumux::SSORBiCGSTABIstlSolver = Detail::IstlIterativeLinearSolver< LSTraits, LATraits, Dune::BiCGSTABSolver< typename LATraits::Vector >, Detail::IstlSolvers::IstlDefaultBlockLevelPreconditionerFactory< Dune::SeqSSOR > >
 An SSOR-preconditioned BiCGSTAB solver using dune-istl. More...
 
template<class LSTraits , class LATraits >
using Dumux::SSORCGIstlSolver = Detail::IstlIterativeLinearSolver< LSTraits, LATraits, Dune::CGSolver< typename LATraits::Vector >, Detail::IstlSolvers::IstlDefaultBlockLevelPreconditionerFactory< Dune::SeqSSOR > >
 An SSOR-preconditioned CG solver using dune-istl. More...
 
template<class LSTraits , class LATraits >
using Dumux::AMGBiCGSTABIstlSolver = Detail::IstlIterativeLinearSolver< LSTraits, LATraits, Dune::BiCGSTABSolver< typename LATraits::SingleTypeVector >, Detail::IstlSolvers::IstlAmgPreconditionerFactory, true >
 An AMG preconditioned BiCGSTAB solver using dune-istl. More...
 
template<class LSTraits , class LATraits >
using Dumux::AMGCGIstlSolver = Detail::IstlIterativeLinearSolver< LSTraits, LATraits, Dune::CGSolver< typename LATraits::SingleTypeVector >, Detail::IstlSolvers::IstlAmgPreconditionerFactory, true >
 An AMG preconditioned CG solver using dune-istl. More...
 
template<class LSTraits , class LATraits >
using Dumux::UzawaBiCGSTABIstlSolver = Detail::IstlIterativeLinearSolver< LSTraits, LATraits, Dune::BiCGSTABSolver< typename LATraits::Vector >, Detail::IstlSolvers::IstlDefaultBlockLevelPreconditionerFactory< Dumux::SeqUzawa > >
 An Uzawa preconditioned BiCGSTAB solver using dune-istl. More...
 

Functions

template<class M >
constexpr std::size_t Dumux::Detail::IstlSolvers::preconditionerBlockLevel () noexcept
 Returns the block level for the preconditioner for a given matrix. More...
 
Include dependency graph for istlsolvers.hh: