21 #ifndef bempp_general_elementary_singular_integral_operator_imp_hpp
22 #define bempp_general_elementary_singular_integral_operator_imp_hpp
24 #include "general_elementary_singular_integral_operator.hpp"
26 #include "../fiber/default_collection_of_kernels.hpp"
27 #include "../fiber/default_collection_of_basis_transformations.hpp"
28 #include "../fiber/default_test_kernel_trial_integral.hpp"
33 template <
typename BasisFunctionType_,
typename KernelType_,
typename ResultType_>
34 template <
typename KernelFunctor,
35 typename TestTransformationsFunctor,
36 typename TrialTransformationsFunctor,
37 typename IntegrandFunctor>
38 GeneralElementarySingularIntegralOperator<
39 BasisFunctionType_, KernelType_, ResultType_>::
40 GeneralElementarySingularIntegralOperator(
44 const std::string& label,
46 const KernelFunctor& kernelFunctor,
47 const TestTransformationsFunctor& testTransformationsFunctor,
48 const TrialTransformationsFunctor& trialTransformationsFunctor,
49 const IntegrandFunctor& integrandFunctor) :
50 Base(domain, range, dualToRange, label, symmetry),
52 new Fiber::DefaultCollectionOfKernels<KernelFunctor>(kernelFunctor)),
53 m_testTransformations(
54 new Fiber::DefaultCollectionOfShapesetTransformations<TestTransformationsFunctor>(
55 testTransformationsFunctor)),
56 m_trialTransformations(
57 new Fiber::DefaultCollectionOfShapesetTransformations<TrialTransformationsFunctor>(
58 trialTransformationsFunctor)),
60 new Fiber::DefaultTestKernelTrialIntegral<IntegrandFunctor>(
65 template <
typename BasisFunctionType_,
typename KernelType_,
typename ResultType_>
66 template <
typename KernelFunctor,
67 typename TestTransformationsFunctor,
68 typename TrialTransformationsFunctor>
70 BasisFunctionType_, KernelType_, ResultType_>
::
75 const std::string& label,
77 const KernelFunctor& kernelFunctor,
78 const TestTransformationsFunctor& testTransformationsFunctor,
79 const TrialTransformationsFunctor& trialTransformationsFunctor,
81 BasisFunctionType_, KernelType_, ResultType_> >& integral) :
82 Base(domain, range, dualToRange, label, symmetry),
84 new Fiber::DefaultCollectionOfKernels<KernelFunctor>(kernelFunctor)),
85 m_testTransformations(
86 new Fiber::DefaultCollectionOfShapesetTransformations<TestTransformationsFunctor>(
87 testTransformationsFunctor)),
88 m_trialTransformations(
89 new Fiber::DefaultCollectionOfShapesetTransformations<TrialTransformationsFunctor>(
90 trialTransformationsFunctor)),
95 template <
typename BasisFunctionType_,
typename KernelType_,
typename ResultType_>
97 BasisFunctionType_, KernelType_, ResultType_>
::
102 const std::string& label,
108 trialTransformations,
110 BasisFunctionType_, KernelType_, ResultType_> >& integral) :
111 Base(domain, range, dualToRange, label, symmetry),
113 m_testTransformations(testTransformations),
114 m_trialTransformations(trialTransformations),
An integral representing the weak form of an integral operator.
Definition: test_kernel_trial_integral.hpp:70
Collection of kernels.
Definition: collection_of_kernels.hpp:59
Function space.
Definition: assembled_potential_operator.hpp:35
Standard implementation of an elementary singular integral operator.
Definition: general_elementary_singular_integral_operator.hpp:59
Base class of ElementaryIntegralOperator, containing functionality independent from KernelType...
Definition: elementary_integral_operator_base.hpp:53