- Home
- About DUNE
- Download
- Documentation
- Community
- Development
A nonoverlapping operator with communication object. More...
#include <dune/istl/novlpschwarz.hh>
Public Types | |
enum | { category = SolverCategory::nonoverlapping } |
typedef M | matrix_type |
The type of the matrix we operate on. | |
typedef X | domain_type |
The type of the domain. | |
typedef Y | range_type |
The type of the range. | |
typedef X::field_type | field_type |
The field type of the range. | |
typedef C | communication_type |
The type of the communication object. | |
typedef C::PIS | PIS |
typedef C::RI | RI |
typedef RI::RemoteIndexList | RIL |
typedef RI::const_iterator | RIIterator |
typedef RIL::const_iterator | RILIterator |
typedef M::ConstColIterator | ColIterator |
typedef M::ConstRowIterator | RowIterator |
typedef std::multimap< int, int > | MM |
Public Member Functions | |
NonoverlappingSchwarzOperator (const matrix_type &A, const communication_type &com) | |
constructor: just store a reference to a matrix. | |
virtual void | apply (const X &x, Y &y) const |
apply operator to x: ![]() | |
virtual void | applyscaleadd (field_type alpha, const X &x, Y &y) const |
apply operator to x, scale and add: ![]() | |
virtual const matrix_type & | getmat () const |
get matrix via * | |
void | novlp_op_apply (const X &x, Y &y, field_type alpha) const |
virtual void | applyscaleadd (field_type alpha, const X &x, Y &y) const =0 |
apply operator to x, scale and add: ![]() |
A nonoverlapping operator with communication object.
typedef M::ConstColIterator Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::ColIterator |
typedef C Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::communication_type |
The type of the communication object.
typedef X Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::domain_type |
The type of the domain.
Reimplemented from Dune::AssembledLinearOperator< M, X, Y >.
typedef X::field_type Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::field_type |
The field type of the range.
Reimplemented from Dune::AssembledLinearOperator< M, X, Y >.
typedef M Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::matrix_type |
The type of the matrix we operate on.
Reimplemented from Dune::AssembledLinearOperator< M, X, Y >.
typedef std::multimap<int,int> Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::MM |
typedef C::PIS Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::PIS |
typedef Y Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::range_type |
The type of the range.
Reimplemented from Dune::AssembledLinearOperator< M, X, Y >.
typedef C::RI Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::RI |
typedef RI::const_iterator Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::RIIterator |
typedef RI::RemoteIndexList Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::RIL |
typedef RIL::const_iterator Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::RILIterator |
typedef M::ConstRowIterator Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::RowIterator |
anonymous enum |
Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::NonoverlappingSchwarzOperator | ( | const matrix_type & | A, | |
const communication_type & | com | |||
) | [inline] |
constructor: just store a reference to a matrix.
A | The assembled matrix. | |
com | The communication object for syncing owner and copy data points. (E.~g. OwnerOverlapCommunication ) |
virtual void Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::apply | ( | const X & | x, | |
Y & | y | |||
) | const [inline, virtual] |
apply operator to x:
Implements Dune::LinearOperator< X, Y >.
References Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::novlp_op_apply().
virtual void Dune::LinearOperator< X, Y >::applyscaleadd | ( | field_type | alpha, | |
const X & | x, | |||
Y & | y | |||
) | const [pure virtual, inherited] |
apply operator to x, scale and add:
Implemented in Dune::MatrixAdapter< M, X, Y >, and Dune::OverlappingSchwarzOperator< M, X, Y, C >.
Referenced by Dune::RestartedGMResSolver< X, Y, F >::apply(), Dune::MINRESSolver< X >::apply(), Dune::BiCGSTABSolver< X >::apply(), Dune::CGSolver< X >::apply(), Dune::GradientSolver< X >::apply(), and Dune::LoopSolver< X >::apply().
virtual void Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::applyscaleadd | ( | field_type | alpha, | |
const X & | x, | |||
Y & | y | |||
) | const [inline, virtual] |
apply operator to x, scale and add:
References Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::novlp_op_apply().
virtual const matrix_type& Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::getmat | ( | ) | const [inline, virtual] |
get matrix via *
Implements Dune::AssembledLinearOperator< M, X, Y >.
void Dune::NonoverlappingSchwarzOperator< M, X, Y, C >::novlp_op_apply | ( | const X & | x, | |
Y & | y, | |||
field_type | alpha | |||
) | const [inline] |
Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].