dune-pdelab
2.0.0
|
Operator for the non-overlapping parallel case. More...
#include <dune/pdelab/backend/novlpistlsolverbackend.hh>
Public Types | |
enum | { category =Dune::SolverCategory::nonoverlapping } |
typedef M::BaseT | matrix_type |
export type of matrix More... | |
typedef X::BaseT | domain_type |
export type of vectors the matrix is applied to More... | |
typedef Y::BaseT | range_type |
export type of result vectors More... | |
typedef X::field_type | field_type |
export type of the entries for x More... | |
Public Member Functions | |
NonoverlappingOperator (const GFS &gfs_, const M &A) | |
Construct a non-overlapping operator. More... | |
virtual void | apply (const X &x, Y &y) const |
apply operator More... | |
virtual void | applyscaleadd (field_type alpha, const X &x, Y &y) const |
apply operator to x, scale and add: ![]() | |
virtual const M & | getmat () const |
extract the matrix More... | |
Operator for the non-overlapping parallel case.
Calculate .
GFS | The GridFunctionSpace the vectors apply to. |
M | Type of the matrix. Should be one of the ISTL matrix types. |
X | Type of the vectors the matrix is applied to. |
Y | Type of the result vectors. |
typedef X::BaseT Dune::PDELab::NonoverlappingOperator< GFS, M, X, Y >::domain_type |
export type of vectors the matrix is applied to
typedef X::field_type Dune::PDELab::NonoverlappingOperator< GFS, M, X, Y >::field_type |
export type of the entries for x
typedef M::BaseT Dune::PDELab::NonoverlappingOperator< GFS, M, X, Y >::matrix_type |
export type of matrix
typedef Y::BaseT Dune::PDELab::NonoverlappingOperator< GFS, M, X, Y >::range_type |
export type of result vectors
|
inline |
Construct a non-overlapping operator.
gfs_ | GridFunctionsSpace for the vectors. |
A | Matrix for this operator. This should be the locally assembled matrix. |
|
inlinevirtual |
apply operator
Compute on this process, then make y consistent (sum up corresponding entries of y on the different processes and store the result back in y on each process).
References Dune::PDELab::istl::raw().
|
inlinevirtual |
apply operator to x, scale and add:
Compute on this process, then make y consistent (sum up corresponding entries of y on the different processes and store the result back in y on each process).
References Dune::PDELab::istl::raw().
|
inlinevirtual |
extract the matrix