21 #ifndef bempp_general_hypersingular_integral_operator_imp_hpp
22 #define bempp_general_hypersingular_integral_operator_imp_hpp
24 #include "general_hypersingular_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 typename OffDiagonalKernelFunctor,
39 typename OffDiagonalTestTransformationsFunctor,
40 typename OffDiagonalTrialTransformationsFunctor,
41 typename OffDiagonalIntegrandFunctor>
42 GeneralHypersingularIntegralOperator<
43 BasisFunctionType_, KernelType_, ResultType_>::
44 GeneralHypersingularIntegralOperator(
48 const std::string& label,
50 const KernelFunctor& kernelFunctor,
51 const TestTransformationsFunctor& testTransformationsFunctor,
52 const TrialTransformationsFunctor& trialTransformationsFunctor,
53 const IntegrandFunctor& integrandFunctor,
54 const OffDiagonalKernelFunctor& offDiagonalKernelFunctor,
55 const OffDiagonalTestTransformationsFunctor& offDiagonalTestTransformationsFunctor,
56 const OffDiagonalTrialTransformationsFunctor& offDiagonalTrialTransformationsFunctor,
57 const OffDiagonalIntegrandFunctor& offDiagonalIntegrandFunctor) :
58 Base(domain, range, dualToRange, label, symmetry),
60 new Fiber::DefaultCollectionOfKernels<KernelFunctor>(kernelFunctor)),
61 m_testTransformations(
62 new Fiber::DefaultCollectionOfShapesetTransformations<TestTransformationsFunctor>(
63 testTransformationsFunctor)),
64 m_trialTransformations(
65 new Fiber::DefaultCollectionOfShapesetTransformations<TrialTransformationsFunctor>(
66 trialTransformationsFunctor)),
68 new Fiber::DefaultTestKernelTrialIntegral<IntegrandFunctor>(
71 new Fiber::DefaultCollectionOfKernels<OffDiagonalKernelFunctor>(
72 offDiagonalKernelFunctor)),
73 m_offDiagonalTestTransformations(
74 new Fiber::DefaultCollectionOfShapesetTransformations<OffDiagonalTestTransformationsFunctor>(
75 offDiagonalTestTransformationsFunctor)),
76 m_offDiagonalTrialTransformations(
77 new Fiber::DefaultCollectionOfShapesetTransformations<OffDiagonalTrialTransformationsFunctor>(
78 offDiagonalTrialTransformationsFunctor)),
79 m_offDiagonalIntegral(
80 new Fiber::DefaultTestKernelTrialIntegral<OffDiagonalIntegrandFunctor>(
81 offDiagonalIntegrandFunctor))
85 template <
typename BasisFunctionType_,
typename KernelType_,
typename ResultType_>
86 template <
typename KernelFunctor,
87 typename TestTransformationsFunctor,
88 typename TrialTransformationsFunctor,
89 typename OffDiagonalKernelFunctor,
90 typename OffDiagonalTestTransformationsFunctor,
91 typename OffDiagonalTrialTransformationsFunctor>
93 BasisFunctionType_, KernelType_, ResultType_>
::
98 const std::string& label,
100 const KernelFunctor& kernelFunctor,
101 const TestTransformationsFunctor& testTransformationsFunctor,
102 const TrialTransformationsFunctor& trialTransformationsFunctor,
104 BasisFunctionType_, KernelType_, ResultType_> >& integral,
105 const OffDiagonalKernelFunctor& offDiagonalKernelFunctor,
106 const OffDiagonalTestTransformationsFunctor& offDiagonalTestTransformationsFunctor,
107 const OffDiagonalTrialTransformationsFunctor& offDiagonalTrialTransformationsFunctor,
109 BasisFunctionType_, KernelType_, ResultType_> >& offDiagonalIntegral) :
110 Base(domain, range, dualToRange, label, symmetry),
112 new Fiber::DefaultCollectionOfKernels<KernelFunctor>(kernelFunctor)),
113 m_testTransformations(
114 new Fiber::DefaultCollectionOfShapesetTransformations<TestTransformationsFunctor>(
115 testTransformationsFunctor)),
116 m_trialTransformations(
117 new Fiber::DefaultCollectionOfShapesetTransformations<TrialTransformationsFunctor>(
118 trialTransformationsFunctor)),
119 m_integral(integral),
120 m_offDiagonalKernels(
121 new Fiber::DefaultCollectionOfKernels<OffDiagonalKernelFunctor>(
122 offDiagonalKernelFunctor)),
123 m_offDiagonalTestTransformations(
124 new Fiber::DefaultCollectionOfShapesetTransformations<OffDiagonalTestTransformationsFunctor>(
125 offDiagonalTestTransformationsFunctor)),
126 m_offDiagonalTrialTransformations(
127 new Fiber::DefaultCollectionOfShapesetTransformations<OffDiagonalTrialTransformationsFunctor>(
128 offDiagonalTrialTransformationsFunctor)),
129 m_offDiagonalIntegral(offDiagonalIntegral)
An integral representing the weak form of an integral operator.
Definition: test_kernel_trial_integral.hpp:70
Function space.
Definition: assembled_potential_operator.hpp:35
Standard implementation of a hypersingular singular integral operator.
Definition: general_hypersingular_integral_operator.hpp:65
Hypersingular integral boundary operator.
Definition: hypersingular_integral_operator.hpp:105