|
dune-istl 2.10
|
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.
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
M::ConstColIterator ColIterator
Definition novlpschwarz.hh:79
virtual void apply(const X &x, Y &y) const
apply operator to x:
Definition novlpschwarz.hh:101
X domain_type
The type of the domain.
Definition novlpschwarz.hh:66
virtual SolverCategory::Category category() const
Category of the linear operator (see SolverCategory::Category)
Definition novlpschwarz.hh:235
virtual const matrix_type & getmat() const
get matrix via *
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
virtual void applyscaleadd(field_type alpha, const X &x, Y &y) const
apply operator to x, scale and add:
Definition novlpschwarz.hh:109
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
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
virtual SolverCategory::Category category() const
Category of the preconditioner (see SolverCategory::Category)
Definition novlpschwarz.hh:352
virtual void apply(domain_type &v, const range_type &d)
Apply the preconditioner.
Definition novlpschwarz.hh:325
P::range_type range_type
The range type of the preconditioner.
Definition novlpschwarz.hh:284
NonoverlappingBlockPreconditioner(const std::shared_ptr< P > &p, const communication_type &c)
Constructor.
Definition novlpschwarz.hh:306
virtual void post(domain_type &x)
Clean up.
Definition novlpschwarz.hh:346
C communication_type
The type of the communication object.
Definition novlpschwarz.hh:286
virtual void pre(domain_type &x, range_type &b)
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
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:111
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