BEM++
2.0
|
Base class of ElementaryIntegralOperator, containing functionality independent from KernelType
.
More...
#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/assembly/elementary_integral_operator_base.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 Fiber::LocalAssemblerForIntegralOperators < ResultType > | LocalAssembler |
Type of the appropriate instantiation of Fiber::LocalAssemblerForOperators. | |
Public Types inherited from Bempp::AbstractBoundaryOperator< BasisFunctionType_, ResultType_ > | |
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 | |
ElementaryIntegralOperatorBase (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... | |
~ElementaryIntegralOperatorBase () | |
Destructor. | |
std::auto_ptr< LocalAssembler > | makeAssembler (const QuadratureStrategy &quadStrategy, const shared_ptr< const GeometryFactory > &testGeometryFactory, const shared_ptr< const GeometryFactory > &trialGeometryFactory, const shared_ptr< const Fiber::RawGridGeometry< CoordinateType > > &testRawGeometry, const shared_ptr< const Fiber::RawGridGeometry< CoordinateType > > &trialRawGeometry, const shared_ptr< const std::vector< const Fiber::Shapeset< BasisFunctionType > * > > &testShapesets, const shared_ptr< const std::vector< const Fiber::Shapeset< BasisFunctionType > * > > &trialShapesets, const shared_ptr< const Fiber::OpenClHandler > &openClHandler, const ParallelizationOptions ¶llelizationOptions, VerbosityLevel::Level verbosityLevel, bool cacheSingularIntegrals) const |
Construct a local assembler suitable for this operator. More... | |
std::auto_ptr< LocalAssembler > | makeAssembler (const QuadratureStrategy &quadStrategy, const AssemblyOptions &options) const |
Construct a local assembler suitable for this operator using a specified quadrature strategy. More... | |
shared_ptr < DiscreteBoundaryOperator < ResultType_ > > | assembleWeakFormInternal (LocalAssembler &assembler, const Context< BasisFunctionType, ResultType > &context) const |
Assemble the operator's weak form using a specified local assembler. More... | |
Public Member Functions inherited from Bempp::AbstractBoundaryOperator< BasisFunctionType_, ResultType_ > | |
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. | |
virtual BEMPP_DEPRECATED shared_ptr< const AbstractBoundaryOperatorId > | id () const |
Return the identifier of this operator. More... | |
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... | |
virtual bool | isLocal () const =0 |
Return whether this operator is local. More... | |
shared_ptr < DiscreteBoundaryOperator < ResultType_ > > | assembleWeakForm (const Context< BasisFunctionType_, ResultType_ > &context) const |
Assemble and return the operator's weak form. More... | |
Private Types | |
typedef AbstractBoundaryOperator < BasisFunctionType_, ResultType_ > | Base |
Private Member Functions | |
virtual std::auto_ptr < LocalAssembler > | makeAssemblerImpl (const QuadratureStrategy &quadStrategy, const shared_ptr< const GeometryFactory > &testGeometryFactory, const shared_ptr< const GeometryFactory > &trialGeometryFactory, const shared_ptr< const Fiber::RawGridGeometry< CoordinateType > > &testRawGeometry, const shared_ptr< const Fiber::RawGridGeometry< CoordinateType > > &trialRawGeometry, const shared_ptr< const std::vector< const Fiber::Shapeset< BasisFunctionType > * > > &testShapesets, const shared_ptr< const std::vector< const Fiber::Shapeset< BasisFunctionType > * > > &trialShapesets, const shared_ptr< const Fiber::OpenClHandler > &openClHandler, const ParallelizationOptions ¶llelizationOptions, VerbosityLevel::Level verbosityLevel, bool cacheSingularIntegrals) const =0 |
Construct a local assembler suitable for this operator. More... | |
virtual shared_ptr < DiscreteBoundaryOperator < ResultType_ > > | assembleWeakFormInternalImpl2 (LocalAssembler &assembler, const Context< BasisFunctionType_, ResultType_ > &options) const =0 |
Assemble the operator's weak form using a specified local assembler. More... | |
Base class of ElementaryIntegralOperator, containing functionality independent from KernelType
.
typedef Base::BasisFunctionType Bempp::ElementaryIntegralOperatorBase< 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::ElementaryIntegralOperatorBase< BasisFunctionType_, ResultType_ >::CoordinateType |
Type used to represent coordinates.
typedef Base::QuadratureStrategy Bempp::ElementaryIntegralOperatorBase< BasisFunctionType_, ResultType_ >::QuadratureStrategy |
Type of the appropriate instantiation of Fiber::QuadratureStrategy.
typedef Base::ResultType Bempp::ElementaryIntegralOperatorBase< BasisFunctionType_, ResultType_ >::ResultType |
Type used to represent elements of the weak form of the operator.
Bempp::ElementaryIntegralOperatorBase< BasisFunctionType, ResultType >::ElementaryIntegralOperatorBase | ( | 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.
[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. |
None of the shared pointers may be null and the spaces range
and dualToRange
must be defined on the same grid, otherwise an exception is thrown.
shared_ptr< DiscreteBoundaryOperator< ResultType > > Bempp::ElementaryIntegralOperatorBase< BasisFunctionType, ResultType >::assembleWeakFormInternal | ( | LocalAssembler & | assembler, |
const Context< BasisFunctionType, ResultType > & | context | ||
) | const |
Assemble the operator's weak form using a specified local assembler.
This function is intended for internal use of the library. End users should not need to call it directly. They should use AbstractBoundaryOperator::assembleWeakForm() instead.
|
privatepure virtual |
Assemble the operator's weak form using a specified local assembler.
This virtual function is invoked by assembleWeakFormInternal() to do the actual work.
Implemented in Bempp::ElementaryIntegralOperator< BasisFunctionType_, KernelType_, ResultType_ >, and Bempp::ElementaryIntegralOperator< BasisFunctionType, KernelType, ResultType >.
std::auto_ptr< typename ElementaryIntegralOperatorBase< BasisFunctionType, ResultType >::LocalAssembler > Bempp::ElementaryIntegralOperatorBase< BasisFunctionType, ResultType >::makeAssembler | ( | const QuadratureStrategy & | quadStrategy, |
const shared_ptr< const GeometryFactory > & | testGeometryFactory, | ||
const shared_ptr< const GeometryFactory > & | trialGeometryFactory, | ||
const shared_ptr< const Fiber::RawGridGeometry< CoordinateType > > & | testRawGeometry, | ||
const shared_ptr< const Fiber::RawGridGeometry< CoordinateType > > & | trialRawGeometry, | ||
const shared_ptr< const std::vector< const Fiber::Shapeset< BasisFunctionType > * > > & | testShapesets, | ||
const shared_ptr< const std::vector< const Fiber::Shapeset< BasisFunctionType > * > > & | trialShapesets, | ||
const shared_ptr< const Fiber::OpenClHandler > & | openClHandler, | ||
const ParallelizationOptions & | parallelizationOptions, | ||
VerbosityLevel::Level | verbosityLevel, | ||
bool | cacheSingularIntegrals | ||
) | const |
Construct a local assembler suitable for this operator.
[in] | quadStrategy | Quadrature strategy to be used to construct the assembler. |
(TODO: finish description of the other parameters.)
std::auto_ptr< typename ElementaryIntegralOperatorBase< BasisFunctionType, ResultType >::LocalAssembler > Bempp::ElementaryIntegralOperatorBase< BasisFunctionType, ResultType >::makeAssembler | ( | const QuadratureStrategy & | quadStrategy, |
const AssemblyOptions & | options | ||
) | const |
Construct a local assembler suitable for this operator using a specified quadrature strategy.
[in] | quadStrategy | Quadrature strategy to be used to construct the assembler. |
[in] | options | Assembly options. |
This is an overloaded function, provided for convenience. It automatically constructs most of the arguments required by the other overload.
References Bempp::AssemblyOptions::parallelizationOptions(), and Bempp::AssemblyOptions::verbosityLevel().
|
privatepure virtual |
Construct a local assembler suitable for this operator.
This function is invoked by both overloads of makeAssembler() to do the actual work.
Implemented in Bempp::ElementaryIntegralOperator< BasisFunctionType_, KernelType_, ResultType_ >, and Bempp::ElementaryIntegralOperator< BasisFunctionType, KernelType, ResultType >.