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 | List of all members
Bempp::ComplexifiedDiscreteBoundaryOperator< RealType > Class Template Reference

Complexified discrete boundary operator. More...

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

Inheritance diagram for Bempp::ComplexifiedDiscreteBoundaryOperator< RealType >:
Bempp::DiscreteBoundaryOperator< std::complex< RealType > >

Public Types

typedef
DiscreteBoundaryOperator
< std::complex< RealType > > 
Base
 
typedef std::complex< RealType > ComplexType
 
typedef ComplexType ValueType
 

Public Member Functions

 ComplexifiedDiscreteBoundaryOperator (const shared_ptr< const DiscreteBoundaryOperator< RealType > > &op)
 Constructor.
 
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< std::complex< RealType > >
virtual ~DiscreteBoundaryOperator ()
 Destructor.
 
void apply (const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< std::complex< RealType > > &x_in, const Thyra::Ptr< Thyra::MultiVectorBase< std::complex< RealType > > > &y_inout, const std::complex< RealType >alpha, const std::complex< RealType >beta) const
 Apply the linear operator to a multivector. More...
 
void apply (const TranspositionMode trans, const arma::Mat< std::complex< RealType > > &x_in, arma::Mat< std::complex< RealType > > &y_inout, const std::complex< RealType >alpha, const std::complex< RealType >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< std::complex< RealType > >
virtual void applyImpl (const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< std::complex< RealType > > &X_in, const Teuchos::Ptr< Thyra::MultiVectorBase< std::complex< RealType > > > &Y_inout, const std::complex< RealType >alpha, const std::complex< RealType >beta) const
 

Private Member Functions

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

Detailed Description

template<typename RealType>
class Bempp::ComplexifiedDiscreteBoundaryOperator< RealType >

Complexified discrete boundary operator.

This class wraps a real-valued discrete boundary operator so that it can act on vectors with complex entries.

Member Function Documentation

template<typename RealType >
void Bempp::ComplexifiedDiscreteBoundaryOperator< RealType >::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< std::complex< RealType > >.

template<typename RealType >
arma::Mat< std::complex< RealType > > Bempp::ComplexifiedDiscreteBoundaryOperator< RealType >::asMatrix ( ) const
virtual

Matrix representation of the operator.

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

Reimplemented from Bempp::DiscreteBoundaryOperator< std::complex< RealType > >.


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