BEM++
2.0
|
Boundary operator consisting of multiple blocks arranged in a matrix. More...
#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/assembly/blocked_boundary_operator.hpp>
Public Member Functions | |
BlockedBoundaryOperator (const BlockedOperatorStructure< BasisFunctionType, ResultType > &structure) | |
Constructor. More... | |
BoundaryOperator < BasisFunctionType, ResultType > | block (size_t row, size_t column) const |
Return the operator from row row and column column . More... | |
bool | isEmpty (size_t row, size_t column) const |
Return whether the block in row row and column column is empty. | |
size_t | rowCount () const |
Return number of block rows. | |
size_t | columnCount () const |
Return number of block columns. | |
size_t | totalGlobalDofCountInDomains () const |
Return total number of global degrees of freedom in all domains. | |
size_t | totalGlobalDofCountInRanges () const |
Return total number of global degrees of freedom in all ranges. | |
size_t | totalGlobalDofCountInDualsToRanges () const |
Return total number of global degrees of freedom in all duals to ranges. | |
shared_ptr< const DiscreteBoundaryOperator < ResultType > > | weakForm () const |
Return the weak form of this boundary operator. More... | |
shared_ptr< const Space < BasisFunctionType > > | domain (size_t column) const |
Return the function space being the domain of all the operators from column column of this blocked operator. | |
shared_ptr< const Space < BasisFunctionType > > | range (size_t row) const |
Return the function space being the range of all the operators from row row of this blocked operator. | |
shared_ptr< const Space < BasisFunctionType > > | dualToRange (size_t row) const |
Return the function space dual to the range of all the operators from row row of this blocked operator. | |
void | apply (const TranspositionMode trans, const std::vector< GridFunction< BasisFunctionType, ResultType > > &x_in, std::vector< GridFunction< BasisFunctionType, ResultType > > &y_inout, ResultType alpha, ResultType beta) const |
Set y_inout := alpha * A * x_in + beta * y_inout , where A is this operator. | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename BasisFunctionType , typename ResultType > | |
std::vector< GridFunction < BasisFunctionType, ResultType > > | operator* (const BlockedBoundaryOperator< BasisFunctionType, ResultType > &op, const std::vector< GridFunction< BasisFunctionType, ResultType > > &funs) |
Act with a BoundaryOperator on a GridFunction. More... | |
Boundary operator consisting of multiple blocks arranged in a matrix.
Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::BlockedBoundaryOperator | ( | const BlockedOperatorStructure< BasisFunctionType, ResultType > & | structure | ) |
Constructor.
[in] | structure | A BlockedOperatorStructure object determining the operators occupying individual blocks. |
All the boundary operators from a single column of structure
must have the same domain, and all the operators from a single row of structure
must have the same range and space dual to range. No row and no column of structure
must be completely empty (contain only uninitialized BoundaryOperator objects). If these conditions are not satisfied, an exception is thrown.
References Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::block(), Bempp::BlockedOperatorStructure< BasisFunctionType, ResultType >::block(), Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::columnCount(), Bempp::BlockedOperatorStructure< BasisFunctionType, ResultType >::columnCount(), Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::domain(), Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::rowCount(), Bempp::BlockedOperatorStructure< BasisFunctionType, ResultType >::rowCount(), and Bempp::toString().
BoundaryOperator< BasisFunctionType, ResultType > Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::block | ( | size_t | row, |
size_t | column | ||
) | const |
Return the operator from row row
and column column
.
If block (row
, column
) is empty, an uninitialized BoundaryOperator object is returned.
Referenced by Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::BlockedBoundaryOperator().
shared_ptr< const DiscreteBoundaryOperator< ResultType > > Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::weakForm | ( | ) | const |
Return the weak form of this boundary operator.
The returned discrete operator represents the matrix
where is the weak form of the operator from row i and column j of this blocked boundary operator.
|
related |
Act with a BoundaryOperator on a GridFunction.
This function returns the GridFunction obtained by acting with the operator op
on the grid function fun
. It is equivalent to calling
on GridFunction result
with space and dual space compatible with the range and dual to range of op
.
References Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::apply(), Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::columnCount(), Bempp::NO_TRANSPOSE, Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::range(), and Bempp::BlockedBoundaryOperator< BasisFunctionType, ResultType >::rowCount().