|
dune-istl 2.12-git
|
Loading...
Searching...
No Matches
ldl.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
99 static_assert(std::is_same<field_type,double>::value,"Unsupported Type in LDL (only double supported)");
115 static_assert(std::is_same<field_type,double>::value,"Unsupported Type in LDL (only double supported)");
148 Impl::flatVectorForEachMasked(b, maskVector_, [&](auto const& b_i, std::size_t i) { B[i] = b_i; });
158 void apply(domain_type& x, range_type& b, [[maybe_unused]] double reduction, InverseOperatorResult& res) override
214 copyToBCCSMatrix(initializer, ISTL::Impl::MatrixRowSubset<Matrix,std::set<std::size_t> >(matrix,rowIndexSet));
323 if(amd_order (dimMat, ldlMatrix_.getColStart(), ldlMatrix_.getRowIndex(), P_, (double *) NULL, Info) < AMD_OK)
328 ldl_symbolic(dimMat, ldlMatrix_.getColStart(), ldlMatrix_.getRowIndex(), Lp_, Parent_, Lnz_, Flag_, P_, Pinv_);
Templates characterizing the type of a solver.
Implementations of the inverse operator interface.
SolverCategory::Category category() const override
Category of the solver (see SolverCategory::Category)
Definition ldl.hh:82
void apply(field_type *x, field_type *b)
Additional apply method with c-arrays in analogy to superlu.
Definition ldl.hh:168
DefaultMatrixVectorTraits< M >::range_type range_type
The type of the range of the solver.
Definition ldl.hh:79
void apply(domain_type &x, range_type &b, InverseOperatorResult &res) override
Apply inverse operator,.
Definition ldl.hh:145
LDL(const Matrix &matrix, int verbose, bool)
Constructor for compatibility with SuperLU standard constructor.
Definition ldl.hh:112
DefaultMatrixVectorTraits< M >::domain_type domain_type
The type of the domain of the solver.
Definition ldl.hh:77
void setMatrix(const Matrix &matrix)
Initialize data from given matrix.
Definition ldl.hh:182
LDLMatrix & getInternalMatrix()
Return the column compress matrix.
Definition ldl.hh:237
ISTL::Impl::BCCSMatrixInitializer< M, int > MatrixInitializer
Type of an associated initializer class.
Definition ldl.hh:75
void setSubMatrix(const Matrix &matrix, const S &rowIndexSet)
Definition ldl.hh:202
void setVerbosity(int v)
Sets the verbosity level for the solver.
Definition ldl.hh:228
LDL(const Matrix &matrix, int verbose=0)
Construct a solver object from a BCRSMatrix.
Definition ldl.hh:96
LDL(const Matrix &matrix, const ParameterTree &config)
Constructs the LDL solver.
Definition ldl.hh:128
void apply(domain_type &x, range_type &b, double reduction, InverseOperatorResult &res) override
apply inverse operator, with given convergence criteria.
Definition ldl.hh:158
Dune::ISTL::Impl::BCCSMatrix< field_type, int > LDLMatrix
The corresponding SuperLU Matrix type.
Definition ldl.hh:73
static constexpr size_type M()
#define DUNE_THROW(E,...)
constexpr auto get(std::integer_sequence< T, II... >, std::integral_constant< std::size_t, pos >={})
T field_type
Definition matrixutils.hh:221
Definition defaultmatrixvectortraits.hh:47
std::string get(const std::string &key, const std::string &defaultValue) const
Sequential overlapping Schwarz preconditioner.
Definition overlappingschwarz.hh:755
Definition overlappingschwarz.hh:694
Statistics about the application of an inverse operator.
Definition solver.hh:50
bool converged
True if convergence criterion has been met.
Definition solver.hh:75
@ sequential
Category for sequential solvers.
Definition solvercategory.hh:25
Definition solverregistry.hh:37
Definition solvertype.hh:16
Definition solvertype.hh:30
@ value
whether the solver internally uses column compressed storage
Definition solvertype.hh:36
T clear(T... args)
T resize(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8