1 #ifndef bempp_modified_helmholtz_3d_synthetic_boundary_operator_builder_hpp
2 #define bempp_modified_helmholtz_3d_synthetic_boundary_operator_builder_hpp
4 #include "../common/common.hpp"
5 #include "../common/shared_ptr.hpp"
12 template <
typename BasisFunctionType>
class Space;
13 template <
typename BasisFunctionType,
typename ResultType>
14 class BoundaryOperator;
15 template <
typename BasisFunctionType,
typename ResultType>
class Context;
17 template <
typename BasisFunctionType,
typename KernelType,
typename ResultType>
18 BoundaryOperator<BasisFunctionType, ResultType>
19 modifiedHelmholtz3dSyntheticBoundaryOperator(
20 BoundaryOperator<BasisFunctionType, ResultType>
22 const shared_ptr<
const Context<BasisFunctionType, ResultType> >& ,
23 const shared_ptr<
const Space<BasisFunctionType> >& ,
24 const shared_ptr<
const Space<BasisFunctionType> >& ,
25 const shared_ptr<
const Space<BasisFunctionType> >& ,
31 const shared_ptr<
const Context<BasisFunctionType, ResultType> >& context,
32 const shared_ptr<
const Space<BasisFunctionType> >& domain,
33 const shared_ptr<
const Space<BasisFunctionType> >& range,
34 const shared_ptr<
const Space<BasisFunctionType> >& dualToRange,
35 KernelType waveNumber,
38 bool useInterpolation,
39 int interpPtsPerWavelength,
40 int maximumSyntheseSymmetry);