BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Bempp::TransposedDiscreteBoundaryOperator< ValueType > Class Template Reference

Transposed and/or conjugated discrete boundary operator. More...

#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/assembly/transposed_discrete_boundary_operator.hpp>

Inheritance diagram for Bempp::TransposedDiscreteBoundaryOperator< ValueType >:
Bempp::DiscreteBoundaryOperator< ValueType >

Public Types

typedef
DiscreteBoundaryOperator
< ValueType > 
Base
 

Public Member Functions

 TransposedDiscreteBoundaryOperator (TranspositionMode trans, const shared_ptr< const Base > &op)
 Constructor. More...
 
virtual arma::Mat< ValueType > asMatrix () const
 Matrix representation of the operator. More...
 
virtual unsigned int rowCount () const
 Number of rows of the operator.
 
virtual unsigned int columnCount () const
 Number of columns of the operator.
 
virtual void addBlock (const std::vector< int > &rows, const std::vector< int > &cols, const ValueType alpha, arma::Mat< ValueType > &block) const
 Add a subblock of this operator to a matrix. More...
 
virtual Teuchos::RCP< const
Thyra::VectorSpaceBase
< ValueType > > 
domain () const
 
virtual Teuchos::RCP< const
Thyra::VectorSpaceBase
< ValueType > > 
range () const
 
- Public Member Functions inherited from Bempp::DiscreteBoundaryOperator< ValueType >
virtual ~DiscreteBoundaryOperator ()
 Destructor.
 
void apply (const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< ValueType > &x_in, const Thyra::Ptr< Thyra::MultiVectorBase< ValueType > > &y_inout, const ValueType alpha, const ValueType beta) const
 Apply the linear operator to a multivector. More...
 
void apply (const TranspositionMode trans, const arma::Mat< ValueType > &x_in, arma::Mat< ValueType > &y_inout, const ValueType alpha, const ValueType beta) const
 Apply the operator to a vector. More...
 
virtual shared_ptr< const
DiscreteBoundaryOperator
asDiscreteAcaBoundaryOperator (double eps=-1, int maximumRank=-1, bool interleave=false) const
 Return a representation that can be cast to a DiscreteAcaBoundaryOperator. More...
 
virtual void dump () const
 Write a textual representation of the operator to standard output. More...
 

Protected Member Functions

virtual bool opSupportedImpl (Thyra::EOpTransp M_trans) const
 
- Protected Member Functions inherited from Bempp::DiscreteBoundaryOperator< ValueType >
virtual void applyImpl (const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< ValueType > &X_in, const Teuchos::Ptr< Thyra::MultiVectorBase< ValueType > > &Y_inout, const ValueType alpha, const ValueType beta) const
 

Private Member Functions

bool isTransposed () const
 
virtual void applyBuiltInImpl (const TranspositionMode trans, const arma::Col< ValueType > &x_in, arma::Col< ValueType > &y_inout, const ValueType alpha, const ValueType beta) const
 

Private Attributes

TranspositionMode m_trans
 
shared_ptr< const Basem_operator
 

Additional Inherited Members

Detailed Description

template<typename ValueType>
class Bempp::TransposedDiscreteBoundaryOperator< ValueType >

Transposed and/or conjugated discrete boundary operator.

This class represents a transposed, conjugated or conjugate-transposed discrete boundary operator scalar.

Constructor & Destructor Documentation

template<typename ValueType >
Bempp::TransposedDiscreteBoundaryOperator< ValueType >::TransposedDiscreteBoundaryOperator ( TranspositionMode  trans,
const shared_ptr< const Base > &  op 
)

Constructor.

Construct the discrete boundary operator representing the transpose, conjugate or conjugate transpose of the operator op.

References Bempp::CONJUGATE, Bempp::CONJUGATE_TRANSPOSE, Bempp::NO_TRANSPOSE, and Bempp::TRANSPOSE.

Member Function Documentation

template<typename ValueType >
void Bempp::TransposedDiscreteBoundaryOperator< ValueType >::addBlock ( const std::vector< int > &  rows,
const std::vector< int > &  cols,
const ValueType  alpha,
arma::Mat< ValueType > &  block 
) const
virtual

Add a subblock of this operator to a matrix.

Perform the operation block += alpha * L[rows, cols], where block is a matrix, alpha a scalar and L[rows, cols] a subblock of this discrete linear operator.

Parameters
[in]rowsVector of row indices.
[in]colsVector of column indices.
[in]alphaMultiplier.
[in,out]blockOn entry, matrix of size (rows.size(), cols.size()). On exit, each element (i, j) of this matrix will be augmented by the element (rows[i], cols[j]) of this operator, multiplied by alpha.

Row and column indices may be unsorted.

This method need not be supported by all subclasses. It is mainly intended for internal use during weak-form assembly.

Implements Bempp::DiscreteBoundaryOperator< ValueType >.

template<typename ValueType >
arma::Mat< ValueType > Bempp::TransposedDiscreteBoundaryOperator< ValueType >::asMatrix ( ) const
virtual

Matrix representation of the operator.

The default implementation is slow and should be overridden where possible.

Reimplemented from Bempp::DiscreteBoundaryOperator< ValueType >.

References Bempp::CONJUGATE, Bempp::CONJUGATE_TRANSPOSE, Bempp::NO_TRANSPOSE, and Bempp::TRANSPOSE.


The documentation for this class was generated from the following files: