DUNE-FEM (unstable)
schwarz.hh
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
111 OverlappingSchwarzOperator (const std::shared_ptr<matrix_type> A, const communication_type& com)
Implementation of the BCRSMatrix class.
This file implements a vector space as a tensor product of a given vector space. The number of compon...
A linear operator exporting itself in matrix form.
Definition: operators.hh:110
M matrix_type
export types, usually they come from the derived class
Definition: operators.hh:113
SolverCategory::Category category() const override
Category of the preconditioner (see SolverCategory::Category)
Definition: schwarz.hh:361
void pre(X &x, Y &b) override
Prepare the preconditioner.
Definition: schwarz.hh:326
void apply(X &v, const Y &d) override
Apply the preconditioner.
Definition: schwarz.hh:337
X domain_type
The domain type of the preconditioner.
Definition: schwarz.hh:285
BlockPreconditioner(const std::shared_ptr< P > &p, const communication_type &c)
Constructor.
Definition: schwarz.hh:317
BlockPreconditioner(P &p, const communication_type &c)
Constructor.
Definition: schwarz.hh:306
void apply(X &v, const Y &d)
Apply one step of the preconditioner to the system A(v)=d.
Definition: schwarz.hh:344
C communication_type
The type of the communication object..
Definition: schwarz.hh:297
X::field_type field_type
The field type of the preconditioner.
Definition: schwarz.hh:292
Y range_type
The range type of the preconditioner.
Definition: schwarz.hh:290
X::field_type field_type
The field type of the operator.
Definition: operators.hh:75
const matrix_type & getmat() const override
get the sequential assembled linear operator.
Definition: schwarz.hh:133
const communication_type & getCommunication() const
Get the object responsible for communication.
Definition: schwarz.hh:146
void apply(const X &x, Y &y) const override
apply operator to x:
Definition: schwarz.hh:116
void applyscaleadd(field_type alpha, const X &x, Y &y) const override
apply operator to x, scale and add:
Definition: schwarz.hh:125
C communication_type
The type of the communication object.
Definition: schwarz.hh:98
SolverCategory::Category category() const override
Category of the linear operator (see SolverCategory::Category)
Definition: schwarz.hh:139
X domain_type
The type of the domain.
Definition: schwarz.hh:86
M matrix_type
The type of the matrix we operate on.
Definition: schwarz.hh:81
Y range_type
The type of the range.
Definition: schwarz.hh:91
X::field_type field_type
The field type of the range.
Definition: schwarz.hh:93
OverlappingSchwarzOperator(const matrix_type &A, const communication_type &com)
constructor: just store a reference to a matrix.
Definition: schwarz.hh:107
X::field_type field_type
The field type of the preconditioner.
Definition: schwarz.hh:184
C communication_type
The type of the communication object.
Definition: schwarz.hh:186
void pre(X &x, Y &b) override
Prepare the preconditioner.
Definition: schwarz.hh:206
ParSSOR(const matrix_type &A, int n, field_type w, const communication_type &c)
Constructor.
Definition: schwarz.hh:197
X domain_type
The domain type of the preconditioner.
Definition: schwarz.hh:180
Y range_type
The range type of the preconditioner.
Definition: schwarz.hh:182
M matrix_type
The matrix type the preconditioner is for.
Definition: schwarz.hh:178
SolverCategory::Category category() const override
Category of the preconditioner (see SolverCategory::Category)
Definition: schwarz.hh:233
void apply(X &v, const Y &d) override
Apply the preconditioner.
Definition: schwarz.hh:216
Base class for matrix free definition of preconditioners.
Definition: preconditioner.hh:33
X::field_type field_type
The field type of the preconditioner.
Definition: preconditioner.hh:40
Some generic functions for pretty printing vectors and matrices.
Classes providing communication interfaces for overlapping Schwarz methods.
Define base class for scalar product and norm.
Simple iterative methods like Jacobi, Gauss-Seidel, SOR, SSOR, etc. in a generic way.
The incomplete LU factorization kernels.
std::shared_ptr< T > stackobject_to_shared_ptr(T &t)
Create a shared_ptr for a stack-allocated object.
Definition: shared_ptr.hh:72
Define general, extensible interface for operators. The available implementation wraps a matrix.
Define general preconditioner interface.
Implementations of the inverse operator interface.
Traits class for generically constructing non default constructable types.
Definition: construction.hh:39
@ overlapping
Category for overlapping solvers.
Definition: solvercategory.hh:29
A simple timing class.
???
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 21, 23:30, 2024)