BEM++
2.0
|
Null operator. More...
#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/assembly/null_operator.hpp>
Public Types | |
typedef Base::BasisFunctionType | BasisFunctionType |
Type of the values of the (components of the) basis functions into which functions acted upon by the operator are expanded. More... | |
typedef Base::ResultType | ResultType |
Type used to represent elements of the weak form of the operator. More... | |
typedef Base::CoordinateType | CoordinateType |
Type used to represent coordinates. More... | |
typedef Base::QuadratureStrategy | QuadratureStrategy |
Type of the appropriate instantiation of Fiber::QuadratureStrategy. More... | |
![]() | |
typedef BasisFunctionType_ | BasisFunctionType |
Type of the values of the (components of the) basis functions into which functions acted upon by the operator are expanded. | |
typedef ResultType_ | ResultType |
Type used to represent elements of the weak form of the operator. | |
typedef ScalarTraits < ResultType >::RealType | CoordinateType |
Type used to represent coordinates. | |
typedef Fiber::QuadratureStrategy < BasisFunctionType, ResultType, GeometryFactory > | QuadratureStrategy |
Type of the appropriate instantiation of Fiber::QuadratureStrategy. | |
Public Member Functions | |
NullOperator (const shared_ptr< const Space< BasisFunctionType > > &domain, const shared_ptr< const Space< BasisFunctionType > > &range, const shared_ptr< const Space< BasisFunctionType > > &dualToRange, const std::string &label="", int symmetry=AUTO_SYMMETRY) | |
Constructor. More... | |
NullOperator (const NullOperator &other) | |
virtual BEMPP_DEPRECATED shared_ptr< const AbstractBoundaryOperatorId > | id () const |
Return the identifier of this operator. More... | |
virtual bool | isLocal () const |
Return true. | |
![]() | |
AbstractBoundaryOperator (const shared_ptr< const Space< BasisFunctionType > > &domain, const shared_ptr< const Space< BasisFunctionType > > &range, const shared_ptr< const Space< BasisFunctionType > > &dualToRange, const std::string &label, int symmetry) | |
Constructor. More... | |
virtual | ~AbstractBoundaryOperator () |
Destructor. | |
shared_ptr< const Space < BasisFunctionType > > | domain () const |
Domain. More... | |
shared_ptr< const Space < BasisFunctionType > > | range () const |
Range. More... | |
shared_ptr< const Space < BasisFunctionType > > | dualToRange () const |
Dual to range. More... | |
std::string | label () const |
Return the label of the operator. | |
int | symmetry () const |
Return the symmetry properties of the operator. More... | |
shared_ptr < DiscreteBoundaryOperator < ResultType_ > > | assembleWeakForm (const Context< BasisFunctionType_, ResultType_ > &context) const |
Assemble and return the operator's weak form. More... | |
Protected Member Functions | |
virtual shared_ptr < DiscreteBoundaryOperator < ResultType_ > > | assembleWeakFormImpl (const Context< BasisFunctionType, ResultType > &context) const |
Assemble and return the operator's weak form. More... | |
shared_ptr < DiscreteBoundaryOperator < ResultType_ > > | reallyAssembleWeakForm () const |
![]() | |
void | collectDataForAssemblerConstruction (const AssemblyOptions &options, shared_ptr< Fiber::RawGridGeometry< CoordinateType > > &testRawGeometry, shared_ptr< Fiber::RawGridGeometry< CoordinateType > > &trialRawGeometry, shared_ptr< GeometryFactory > &testGeometryFactory, shared_ptr< GeometryFactory > &trialGeometryFactory, shared_ptr< std::vector< const Fiber::Shapeset< BasisFunctionType_ > * > > &testShapesets, shared_ptr< std::vector< const Fiber::Shapeset< BasisFunctionType_ > * > > &trialShapesets, shared_ptr< Fiber::OpenClHandler > &openClHandler, bool &cacheSingularIntegrals) const |
Given an AssemblyOptions object, construct objects necessary for subsequent local assembler construction. | |
void | collectOptionsIndependentDataForAssemblerConstruction (shared_ptr< Fiber::RawGridGeometry< CoordinateType > > &testRawGeometry, shared_ptr< Fiber::RawGridGeometry< CoordinateType > > &trialRawGeometry, shared_ptr< GeometryFactory > &testGeometryFactory, shared_ptr< GeometryFactory > &trialGeometryFactory, shared_ptr< std::vector< const Fiber::Shapeset< BasisFunctionType_ > * > > &testShapesets, shared_ptr< std::vector< const Fiber::Shapeset< BasisFunctionType_ > * > > &trialShapesets) const |
Construct those objects necessary for subsequent local assembler construction that are independent from assembly options. | |
void | collectOptionsDependentDataForAssemblerConstruction (const AssemblyOptions &options, const shared_ptr< Fiber::RawGridGeometry< CoordinateType > > &testRawGeometry, const shared_ptr< Fiber::RawGridGeometry< CoordinateType > > &trialRawGeometry, shared_ptr< Fiber::OpenClHandler > &openClHandler, bool &cacheSingularIntegrals) const |
Construct those objects necessary for subsequent local assembler construction that depend on assembly options. | |
Private Types | |
typedef AbstractBoundaryOperator < BasisFunctionType_, ResultType_ > | Base |
Private Attributes | |
shared_ptr< const AbstractBoundaryOperatorId > | m_id |
Related Functions | |
(Note that these are not member functions.) | |
template<typename BasisFunctionType , typename ResultType > | |
BoundaryOperator < BasisFunctionType, ResultType > | nullOperator (const shared_ptr< const Context< BasisFunctionType, ResultType > > &context, const shared_ptr< const Space< BasisFunctionType > > &domain, const shared_ptr< const Space< BasisFunctionType > > &range, const shared_ptr< const Space< BasisFunctionType > > &dualToRange, const std::string &label="", int symmetry=AUTO_SYMMETRY) |
Construct a BoundaryOperator object wrapping a NullOperator. More... | |
Null operator.
This class represents an operator that always produces a zero function.
See AbstractBoundaryOperator for the documentation of the template parameters.
Use nullOperator() to create a BoundaryOperator object wrapping a null operator.
typedef Base::BasisFunctionType Bempp::NullOperator< BasisFunctionType_, ResultType_ >::BasisFunctionType |
Type of the values of the (components of the) basis functions into which functions acted upon by the operator are expanded.
typedef Base::CoordinateType Bempp::NullOperator< BasisFunctionType_, ResultType_ >::CoordinateType |
Type used to represent coordinates.
typedef Base::QuadratureStrategy Bempp::NullOperator< BasisFunctionType_, ResultType_ >::QuadratureStrategy |
Type of the appropriate instantiation of Fiber::QuadratureStrategy.
typedef Base::ResultType Bempp::NullOperator< BasisFunctionType_, ResultType_ >::ResultType |
Type used to represent elements of the weak form of the operator.
Bempp::NullOperator< BasisFunctionType, ResultType >::NullOperator | ( | const shared_ptr< const Space< BasisFunctionType > > & | domain, |
const shared_ptr< const Space< BasisFunctionType > > & | range, | ||
const shared_ptr< const Space< BasisFunctionType > > & | dualToRange, | ||
const std::string & | label = "" , |
||
int | symmetry = AUTO_SYMMETRY |
||
) |
Constructor.
[in] | domain | Function space being the domain of the operator. |
[in] | range | Function space being the range of the operator. |
[in] | dualToRange | Function space dual to the the range of the operator. |
[in] | label | Textual label of the operator. If empty, a unique label is generated automatically. |
[in] | symmetry | Symmetry of the weak form of the operator. Can be any combination of the flags defined in the enumeration type Symmetry. If set to AUTO_SYMMETRY (default), the symmetry is determined automatically by checking whether its domain and space dual to its range are equal. If so, the operator is marked as symmetric and Hermitian. |
|
protectedvirtual |
Assemble and return the operator's weak form.
This virtual function is invoked by assembleWeakForm() to do the actual work.
Implements Bempp::AbstractBoundaryOperator< BasisFunctionType_, ResultType_ >.
|
virtual |
Return the identifier of this operator.
Null operators are treated as equivalent if they have the same domain, range and dual to range.
Reimplemented from Bempp::AbstractBoundaryOperator< BasisFunctionType_, ResultType_ >.
|
related |
Construct a BoundaryOperator object wrapping a NullOperator.
This convenience function constructs an abstract null operator and wraps it in a BoundaryOperator object.
[in] | context | A Context object that will be used to build the weak form of the identity operator when necessary. |
[in] | domain | Function space being the domain of the identity operator. |
[in] | range | Function space being the range of the identity operator. |
[in] | dualToRange | Function space dual to the the range of the identity operator. |
[in] | label | Textual label of the operator (optional, used for debugging). |
[in] | symmetry | Symmetry of the weak form of the operator. Can be any combination of the flags defined in the enumeration type Symmetry. If set to AUTO_SYMMETRY (default), the symmetry is determined automatically by checking whether its domain and space dual to its range are equal. If so, the operator is marked as symetric and Hermitian. |