|
dune-istl 2.8.0
|
Loading...
Searching...
No Matches
spqr.hh
Go to the documentation of this file.
63 : public InverseOperator<BlockVector<FieldVector<T,m>, typename std::allocator_traits<A>::template rebind_alloc<FieldVector<T,m> > >,
64 BlockVector<FieldVector<T,n>, typename std::allocator_traits<A>::template rebind_alloc<FieldVector<T,n> > > >
73 typedef ISTL::Impl::BCCSMatrixInitializer<BCRSMatrix<FieldMatrix<T,n,m>,A>, int> MatrixInitializer;
75 typedef Dune::BlockVector<FieldVector<T,m>, typename std::allocator_traits<A>::template rebind_alloc<FieldVector<T,m> > > domain_type;
77 typedef Dune::BlockVector<FieldVector<T,n>, typename std::allocator_traits<A>::template rebind_alloc<FieldVector<T,n> > > range_type;
114 static_assert((std::is_same<T,double>::value) || (std::is_same<T,std::complex<double> >::value),
138 static_assert((std::is_same<T,double>::value) || (std::is_same<T,std::complex<double> >::value),
183 virtual void apply (domain_type& x, range_type& b, [[maybe_unused]] double reduction, InverseOperatorResult& res)
221 copyToBCCSMatrix(initializer, ISTL::Impl::MatrixRowSubset<Matrix,std::set<std::size_t> >(matrix,rowIndexSet));
339 std::enable_if_t<!isValidBlock<typename Dune::TypeListElement<1, TL>::type::block_type>::value,int> = 0) const
347 //template<> struct SPQRCreator::isValidMatrixBlock<FieldMatrix<std::complex<double>,1,1>> : std::true_type{};
#define DUNE_REGISTER_DIRECT_SOLVER(name,...)
Definition solverregistry.hh:11
Templates characterizing the type of a solver.
Implementations of the inverse operator interface.
Dune::BCRSMatrix< FieldMatrix< T, n, m >, A > matrix_type
Definition spqr.hh:69
virtual ~SPQR()
Destructor.
Definition spqr.hh:145
SPQR(const Matrix &matrix, int verbose, bool)
Constructor for compatibility with SuperLU standard constructor.
Definition spqr.hh:111
virtual SolverCategory::Category category() const
Category of the solver (see SolverCategory::Category)
Definition spqr.hh:80
SPQRMatrix & getInternalMatrix()
Return the column coppressed matrix.
Definition spqr.hh:248
void setMatrix(const Matrix &matrix)
Initialize data from given matrix.
Definition spqr.hh:192
ISTL::Impl::BCCSMatrixInitializer< BCRSMatrix< FieldMatrix< T, n, m >, A >, int > MatrixInitializer
Type of an associated initializer class.
Definition spqr.hh:73
Dune::BCRSMatrix< FieldMatrix< T, n, m >, A > Matrix
The matrix type.
Definition spqr.hh:68
SPQR()
Default constructor.
Definition spqr.hh:135
const char * name()
Get method name.
Definition spqr.hh:267
SuiteSparseQR_factorization< T > * getFactorization()
Return the matrix factorization.
Definition spqr.hh:239
void setVerbosity(int v)
Sets the verbosity level for the solver.
Definition spqr.hh:230
ISTL::Impl::BCCSMatrix< T, int > SPQRMatrix
The corresponding SuperLU Matrix type.
Definition spqr.hh:71
virtual void apply(domain_type &x, range_type &b, double reduction, InverseOperatorResult &res)
apply inverse operator, with given convergence criteria.
Definition spqr.hh:183
void free()
Free allocated space.
Definition spqr.hh:257
SPQR(const Matrix &matrix, const ParameterTree &config)
Constructs the SPQR solver.
Definition spqr.hh:130
Dune::BlockVector< FieldVector< T, n >, typename std::allocator_traits< A >::template rebind_alloc< FieldVector< T, n > > > range_type
The type of the range of the solver.
Definition spqr.hh:77
void setSubMatrix(const Matrix &matrix, const S &rowIndexSet)
Definition spqr.hh:209
Dune::BlockVector< FieldVector< T, m >, typename std::allocator_traits< A >::template rebind_alloc< FieldVector< T, m > > > domain_type
The type of the domain of the solver.
Definition spqr.hh:75
virtual void apply(domain_type &x, range_type &b, InverseOperatorResult &res)
Apply inverse operator,.
Definition spqr.hh:153
void setOption(unsigned int option, double value)
Definition spqr.hh:188
SPQR(const Matrix &matrix, int verbose=0)
Construct a solver object from a BCRSMatrix.
Definition spqr.hh:93
static Type apply(T &t)
static constexpr size_type M()
virtual void operator()()=0
#define DUNE_THROW(E, m)
void free()
Reference get(const RAPropertyMapHelper< Reference, PropertyMap > &pmap, const Key &key)
Definition matrixutils.hh:209
size_type M() const
number of columns (counted in blocks)
Definition bcrsmatrix.hh:1976
size_type N() const
number of rows (counted in blocks)
Definition bcrsmatrix.hh:1970
std::string get(const std::string &key, const std::string &defaultValue) const
Sequential overlapping Schwarz preconditioner.
Definition overlappingschwarz.hh:753
Definition overlappingschwarz.hh:692
Statistics about the application of an inverse operator.
Definition solver.hh:46
bool converged
True if convergence criterion has been met.
Definition solver.hh:71
@ sequential
Category for sequential solvers.
Definition solvercategory.hh:23
Definition solverregistry.hh:75
Definition solvertype.hh:14
Definition solvertype.hh:28
@ value
whether the solver internally uses column compressed storage
Definition solvertype.hh:34
Use the SPQR package to directly solve linear systems – empty default class.
Definition spqr.hh:46
Definition spqr.hh:320
Definition spqr.hh:321
T endl(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8