|
dune-istl 2.12-git
|
Loading...
Searching...
No Matches
novlpschwarz.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
This file implements a vector space as a tensor product of a given vector space. The number of compon...
Define base class for scalar product and norm.
Define general preconditioner interface.
Simple iterative methods like Jacobi, Gauss-Seidel, SOR, SSOR, etc. in a generic way.
Implementation of the BCRSMatrix class.
The incomplete LU factorization kernels.
Classes providing communication interfaces for overlapping Schwarz methods.
Implementations of the inverse operator interface.
Define general, extensible interface for operators. The available implementation wraps a matrix.
static constexpr size_type M()
std::shared_ptr< T > stackobject_to_shared_ptr(T &t)
A nonoverlapping operator with communication object.
Definition novlpschwarz.hh:61
C communication_type
The type of the communication object.
Definition novlpschwarz.hh:72
std::multimap< int, std::pair< int, RILIterator > > RIMap
Definition novlpschwarz.hh:82
void novlp_op_apply(const X &x, Y &y, field_type alpha) const
Definition novlpschwarz.hh:126
NonoverlappingSchwarzOperator(std::shared_ptr< const matrix_type > A, const communication_type &com)
Definition novlpschwarz.hh:96
SolverCategory::Category category() const override
Category of the linear operator (see SolverCategory::Category)
Definition novlpschwarz.hh:235
M::ConstColIterator ColIterator
Definition novlpschwarz.hh:79
X domain_type
The type of the domain.
Definition novlpschwarz.hh:66
const M & getmat() const override
get reference to matrix
Definition novlpschwarz.hh:121
RIL::const_iterator RILIterator
Definition novlpschwarz.hh:78
Y range_type
The type of the range.
Definition novlpschwarz.hh:68
M matrix_type
The type of the matrix we operate on.
Definition novlpschwarz.hh:64
M::ConstRowIterator RowIterator
Definition novlpschwarz.hh:80
const communication_type & getCommunication() const
Get the object responsible for communication.
Definition novlpschwarz.hh:241
X::field_type field_type
The field type of the range.
Definition novlpschwarz.hh:70
NonoverlappingSchwarzOperator(const matrix_type &A, const communication_type &com)
constructor: just store a reference to a matrix.
Definition novlpschwarz.hh:92
void applyscaleadd(field_type alpha, const X &x, Y &y) const override
apply operator to x, scale and add:
Definition novlpschwarz.hh:109
void apply(const X &x, Y &y) const override
apply operator to x:
Definition novlpschwarz.hh:101
RI::const_iterator RIIterator
Definition novlpschwarz.hh:77
Nonoverlapping parallel preconditioner.
Definition novlpschwarz.hh:276
NonoverlappingBlockPreconditioner(P &p, const communication_type &c)
Constructor.
Definition novlpschwarz.hh:295
void post(domain_type &x) override
Clean up.
Definition novlpschwarz.hh:346
P::range_type range_type
The range type of the preconditioner.
Definition novlpschwarz.hh:284
void apply(domain_type &v, const range_type &d) override
Apply the preconditioner.
Definition novlpschwarz.hh:325
NonoverlappingBlockPreconditioner(const std::shared_ptr< P > &p, const communication_type &c)
Constructor.
Definition novlpschwarz.hh:306
C communication_type
The type of the communication object.
Definition novlpschwarz.hh:286
void pre(domain_type &x, range_type &b) override
Prepare the preconditioner.
Definition novlpschwarz.hh:315
void apply(X &v, const Y &d)
Apply one step of the preconditioner to the system A(v)=d.
Definition novlpschwarz.hh:335
SolverCategory::Category category() const override
Category of the preconditioner (see SolverCategory::Category)
Definition novlpschwarz.hh:352
P::domain_type domain_type
The domain type of the preconditioner.
Definition novlpschwarz.hh:282
A linear operator exporting itself in matrix form.
Definition operators.hh:110
Base class for matrix free definition of preconditioners.
Definition preconditioner.hh:33
@ nonoverlapping
Category for non-overlapping solvers.
Definition solvercategory.hh:27
T begin(T... args)
T end(T... args)
T equal_range(T... args)
T erase(T... args)
T find(T... args)
T insert(T... args)
T make_pair(T... args)
T resize(T... args)
T size(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8