21 #ifndef bempp_potential_operator_hpp
22 #define bempp_potential_operator_hpp
24 #include "../common/common.hpp"
26 #include "../fiber/quadrature_strategy.hpp"
27 #include "../common/scalar_traits.hpp"
28 #include "../common/shared_ptr.hpp"
30 #include "../common/armadillo_fwd.hpp"
37 class EvaluationOptions;
38 class EvaluationOptions;
39 class GeometryFactory;
41 template <
typename BasisFunctionType,
typename ResultType>
class GridFunction;
42 template <
typename ResultType>
class InterpolatedFunction;
43 template <
typename BasisFunctionType>
class Space;
44 template <
typename BasisFunctionType,
typename ResultType>
45 class AssembledPotentialOperator;
74 template <
typename BasisFunctionType_,
typename ResultType_>
122 virtual std::auto_ptr<InterpolatedFunction<ResultType> >
evaluateOnGrid(
124 const Grid& evaluationGrid,
160 const arma::Mat<CoordinateType>& evaluationPoints,
191 const shared_ptr<
const arma::Mat<CoordinateType> >& evaluationPoints,
Traits of scalar types.
Definition: scalar_traits.hpp:40
Fiber::QuadratureStrategy< BasisFunctionType, ResultType, GeometryFactory > QuadratureStrategy
Type of the appropriate instantiation of Fiber::QuadratureStrategy.
Definition: potential_operator.hpp:88
Options controlling evaluation of potentials.
Definition: evaluation_options.hpp:44
Base class for quadrature strategies.
Definition: quadrature_strategy.hpp:242
Function space.
Definition: assembled_potential_operator.hpp:35
ResultType_ ResultType
Type of the values of the (components of the) potential.
Definition: potential_operator.hpp:82
virtual arma::Mat< ResultType > evaluateAtPoints(const GridFunction< BasisFunctionType, ResultType > &argument, const arma::Mat< CoordinateType > &evaluationPoints, const QuadratureStrategy &quadStrategy, const EvaluationOptions &options) const =0
Evaluate the potential of a given charge distribution at prescribed points.
Abstract wrapper of a grid.
Definition: grid.hpp:50
BasisFunctionType_ BasisFunctionType
Type of the values of the (components of the) basis functions into which functions acted upon by the ...
Definition: potential_operator.hpp:80
virtual int componentCount() const =0
Number of components of the values of the potential.
virtual std::auto_ptr< InterpolatedFunction< ResultType > > evaluateOnGrid(const GridFunction< BasisFunctionType, ResultType > &argument, const Grid &evaluationGrid, const QuadratureStrategy &quadStrategy, const EvaluationOptions &options) const =0
Evaluate the potential of a given charge distribution on a prescribed grid.
Function defined on a grid.
Definition: assembled_potential_operator.hpp:34
virtual ~PotentialOperator()
Destructor.
Definition: potential_operator.hpp:91
ScalarTraits< ResultType >::RealType CoordinateType
Type used to represent coordinates.
Definition: potential_operator.hpp:84
virtual AssembledPotentialOperator< BasisFunctionType, ResultType > assemble(const shared_ptr< const Space< BasisFunctionType > > &space, const shared_ptr< const arma::Mat< CoordinateType > > &evaluationPoints, const QuadratureStrategy &quadStrategy, const EvaluationOptions &options) const =0
Create and return an AssembledPotentialOperator object.
Potential operator.
Definition: potential_operator.hpp:75
Assembled potential operator.
Definition: assembled_potential_operator.hpp:50