21 #ifndef fiber_numerical_quadrature_strategy_imp_hpp
22 #define fiber_numerical_quadrature_strategy_imp_hpp
24 #include "numerical_quadrature_strategy.hpp"
26 #include "default_local_assembler_for_grid_functions_on_surfaces.hpp"
27 #include "default_local_assembler_for_integral_operators_on_surfaces.hpp"
28 #include "default_local_assembler_for_local_operators_on_surfaces.hpp"
29 #include "default_local_assembler_for_potential_operators_on_surfaces.hpp"
30 #include "default_evaluator_for_integral_operators.hpp"
31 #include "default_quadrature_descriptor_selector_factory.hpp"
33 #include "default_double_quadrature_rule_family.hpp"
34 #include "default_single_quadrature_rule_family.hpp"
36 #include "default_test_trial_integral_imp.hpp"
37 #include "simple_test_trial_integrand_functor.hpp"
39 #include "../common/boost_make_shared_fwd.hpp"
46 template <
typename BasisFunctionType,
typename ResultType,
47 typename GeometryFactory,
typename Enable>
48 NumericalQuadratureStrategyBase<
49 BasisFunctionType, ResultType, GeometryFactory, Enable>::
50 NumericalQuadratureStrategyBase(
51 const shared_ptr<
const QuadratureDescriptorSelectorFactory<BasisFunctionType> >&
52 quadratureDescriptorSelectorFactory,
53 const shared_ptr<
const SingleQuadratureRuleFamily<CoordinateType> >&
54 singleQuadratureRuleFamily,
55 const shared_ptr<
const DoubleQuadratureRuleFamily<CoordinateType> >&
56 doubleQuadratureRuleFamily) :
57 m_quadratureDescriptorSelectorFactory(
58 quadratureDescriptorSelectorFactory),
59 m_singleQuadratureRuleFamily(singleQuadratureRuleFamily),
60 m_doubleQuadratureRuleFamily(doubleQuadratureRuleFamily)
64 template <
typename BasisFunctionType,
typename ResultType,
65 typename GeometryFactory,
typename Enable>
66 std::auto_ptr<LocalAssemblerForLocalOperators<ResultType> >
67 NumericalQuadratureStrategyBase<
68 BasisFunctionType, ResultType, GeometryFactory, Enable>::
69 makeAssemblerForIdentityOperators(
70 const shared_ptr<const GeometryFactory>& geometryFactory,
71 const shared_ptr<
const RawGridGeometry<CoordinateType> >& rawGeometry,
72 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& testShapesets,
73 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& trialShapesets,
74 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& testTransformations,
75 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& trialTransformations,
76 const shared_ptr<const OpenClHandler>& openClHandler)
const
80 shared_ptr<TestTrialIntegral<BasisFunctionType, ResultType> > integral(
83 return makeAssemblerForLocalOperators(
84 geometryFactory, rawGeometry,
85 testShapesets, trialShapesets,
86 testTransformations, trialTransformations, integral,
90 template <
typename BasisFunctionType,
typename ResultType,
91 typename GeometryFactory,
typename Enable>
92 std::auto_ptr<LocalAssemblerForLocalOperators<ResultType> >
93 NumericalQuadratureStrategyBase<
94 BasisFunctionType, ResultType, GeometryFactory, Enable>::
95 makeAssemblerForLocalOperators(
96 const shared_ptr<const GeometryFactory>& geometryFactory,
97 const shared_ptr<
const RawGridGeometry<CoordinateType> >& rawGeometry,
98 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& testShapesets,
99 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& trialShapesets,
100 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& testTransformations,
101 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& trialTransformations,
102 const shared_ptr<
const TestTrialIntegral<BasisFunctionType, ResultType> >& integral,
103 const shared_ptr<const OpenClHandler>& openClHandler)
const
105 typedef DefaultLocalAssemblerForLocalOperatorsOnSurfaces<
106 BasisFunctionType, ResultType, GeometryFactory>
107 LocalAssemblerForLocalOperators_;
108 return std::auto_ptr<LocalAssemblerForLocalOperators<ResultType> >(
109 new LocalAssemblerForLocalOperators_(
110 geometryFactory, rawGeometry,
111 testShapesets, trialShapesets,
112 testTransformations, trialTransformations, integral,
114 this->quadratureDescriptorSelectorFactory()->
115 makeQuadratureDescriptorSelectorForLocalOperators(
116 rawGeometry, testShapesets, trialShapesets),
117 this->singleQuadratureRuleFamily()));
120 template <
typename BasisFunctionType,
typename ResultType,
121 typename GeometryFactory,
typename Enable>
122 std::auto_ptr<LocalAssemblerForIntegralOperators<ResultType> >
123 NumericalQuadratureStrategyBase<
124 BasisFunctionType, ResultType, GeometryFactory, Enable>::
125 makeAssemblerForIntegralOperatorsImplRealKernel(
126 const shared_ptr<const GeometryFactory>& testGeometryFactory,
127 const shared_ptr<const GeometryFactory>& trialGeometryFactory,
128 const shared_ptr<
const RawGridGeometry<CoordinateType> >& testRawGeometry,
129 const shared_ptr<
const RawGridGeometry<CoordinateType> >& trialRawGeometry,
130 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& testShapesets,
131 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& trialShapesets,
132 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& testTransformations,
133 const shared_ptr<
const CollectionOfKernels<CoordinateType> >& kernels,
134 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& trialTransformations,
135 const shared_ptr<
const TestKernelTrialIntegral<BasisFunctionType, CoordinateType, ResultType> >& integral,
136 const shared_ptr<const OpenClHandler>& openClHandler,
137 const ParallelizationOptions& parallelizationOptions,
138 VerbosityLevel::Level verbosityLevel,
139 bool cacheSingularIntegrals)
const
141 typedef CoordinateType KernelType;
142 typedef DefaultLocalAssemblerForIntegralOperatorsOnSurfaces<
143 BasisFunctionType, KernelType, ResultType, GeometryFactory>
144 LocalAssemblerForIntegralOperators_;
145 return std::auto_ptr<LocalAssemblerForIntegralOperators<ResultType> >(
146 new LocalAssemblerForIntegralOperators_(
147 testGeometryFactory, trialGeometryFactory,
148 testRawGeometry, trialRawGeometry,
149 testShapesets, trialShapesets,
150 testTransformations, kernels, trialTransformations, integral,
151 openClHandler, parallelizationOptions,
153 cacheSingularIntegrals,
154 this->quadratureDescriptorSelectorFactory()->
155 makeQuadratureDescriptorSelectorForIntegralOperators(
156 testRawGeometry, trialRawGeometry,
157 testShapesets, trialShapesets),
158 this->doubleQuadratureRuleFamily()));
161 template <
typename BasisFunctionType,
typename ResultType,
162 typename GeometryFactory,
typename Enable>
163 std::auto_ptr<LocalAssemblerForGridFunctions<ResultType> >
164 NumericalQuadratureStrategyBase<
165 BasisFunctionType, ResultType, GeometryFactory, Enable>::
166 makeAssemblerForGridFunctionsImplRealUserFunction(
167 const shared_ptr<const GeometryFactory>& geometryFactory,
168 const shared_ptr<
const RawGridGeometry<CoordinateType> >& rawGeometry,
169 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& testShapesets,
170 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& testTransformations,
171 const shared_ptr<
const Function<CoordinateType> >&
function,
172 const shared_ptr<const OpenClHandler>& openClHandler)
const
174 typedef CoordinateType UserFunctionType;
175 typedef DefaultLocalAssemblerForGridFunctionsOnSurfaces<
176 BasisFunctionType, UserFunctionType, ResultType, GeometryFactory>
177 LocalAssemblerForGridFunctions_;
178 return std::auto_ptr<LocalAssemblerForGridFunctions<ResultType> >(
179 new LocalAssemblerForGridFunctions_(
180 geometryFactory, rawGeometry,
182 testTransformations,
function,
184 this->quadratureDescriptorSelectorFactory()->
185 makeQuadratureDescriptorSelectorForGridFunctions(
186 rawGeometry, testShapesets),
187 this->singleQuadratureRuleFamily()));
190 template <
typename BasisFunctionType,
typename ResultType,
191 typename GeometryFactory,
typename Enable>
192 std::auto_ptr<EvaluatorForIntegralOperators<ResultType> >
193 NumericalQuadratureStrategyBase<
194 BasisFunctionType, ResultType, GeometryFactory, Enable>::
195 makeEvaluatorForIntegralOperatorsImplRealKernel(
196 const shared_ptr<const GeometryFactory>& geometryFactory,
197 const shared_ptr<
const RawGridGeometry<CoordinateType> >& rawGeometry,
198 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& trialShapesets,
199 const shared_ptr<
const CollectionOfKernels<CoordinateType> >& kernels,
200 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& trialTransformations,
201 const shared_ptr<
const KernelTrialIntegral<BasisFunctionType, CoordinateType, ResultType> >& integral,
202 const shared_ptr<
const std::vector<std::vector<ResultType> > >& argumentLocalCoefficients,
203 const shared_ptr<const OpenClHandler>& openClHandler,
204 const ParallelizationOptions& parallelizationOptions)
const
206 typedef CoordinateType KernelType;
207 typedef DefaultEvaluatorForIntegralOperators<
208 BasisFunctionType, KernelType, ResultType, GeometryFactory>
209 EvaluatorForIntegralOperators_;
210 return std::auto_ptr<EvaluatorForIntegralOperators<ResultType> >(
211 new EvaluatorForIntegralOperators_(
212 geometryFactory, rawGeometry,
214 kernels, trialTransformations, integral,
215 argumentLocalCoefficients,
217 parallelizationOptions,
218 this->quadratureDescriptorSelectorFactory()->
219 makeQuadratureDescriptorSelectorForPotentialOperators(
220 rawGeometry, trialShapesets),
221 this->singleQuadratureRuleFamily()));
224 template <
typename BasisFunctionType,
typename ResultType,
225 typename GeometryFactory,
typename Enable>
226 std::auto_ptr<LocalAssemblerForPotentialOperators<ResultType> >
227 NumericalQuadratureStrategyBase<
228 BasisFunctionType, ResultType, GeometryFactory, Enable>::
229 makeAssemblerForPotentialOperatorsImplRealKernel(
230 const arma::Mat<CoordinateType>& evaluationPoints,
231 const shared_ptr<const GeometryFactory>& geometryFactory,
232 const shared_ptr<
const RawGridGeometry<CoordinateType> >& rawGeometry,
233 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& trialShapesets,
234 const shared_ptr<
const CollectionOfKernels<CoordinateType> >& kernels,
235 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& trialTransformations,
236 const shared_ptr<
const KernelTrialIntegral<BasisFunctionType, CoordinateType, ResultType> >& integral,
237 const shared_ptr<const OpenClHandler>& openClHandler,
238 const ParallelizationOptions& parallelizationOptions,
239 VerbosityLevel::Level verbosityLevel)
const
241 typedef CoordinateType KernelType;
242 typedef DefaultLocalAssemblerForPotentialOperatorsOnSurfaces<
243 BasisFunctionType, KernelType, ResultType, GeometryFactory>
244 LocalAssemblerForPotentialOperators_;
245 return std::auto_ptr<LocalAssemblerForPotentialOperators<ResultType> >(
246 new LocalAssemblerForPotentialOperators_(
248 geometryFactory, rawGeometry,
250 kernels, trialTransformations, integral,
251 parallelizationOptions,
253 this->quadratureDescriptorSelectorFactory()->
254 makeQuadratureDescriptorSelectorForPotentialOperators(
255 rawGeometry, trialShapesets),
256 this->singleQuadratureRuleFamily()));
259 template <
typename BasisFunctionType,
typename ResultType,
260 typename GeometryFactory,
typename Enable>
261 shared_ptr<const QuadratureDescriptorSelectorFactory<BasisFunctionType> >
262 NumericalQuadratureStrategyBase<
263 BasisFunctionType, ResultType, GeometryFactory, Enable>::
264 quadratureDescriptorSelectorFactory()
const
266 return m_quadratureDescriptorSelectorFactory;
269 template <
typename BasisFunctionType,
typename ResultType,
270 typename GeometryFactory,
typename Enable>
271 shared_ptr<
const DoubleQuadratureRuleFamily<
272 typename NumericalQuadratureStrategyBase<
273 BasisFunctionType, ResultType, GeometryFactory, Enable>::CoordinateType> >
274 NumericalQuadratureStrategyBase<
275 BasisFunctionType, ResultType, GeometryFactory, Enable>::
276 doubleQuadratureRuleFamily()
const
278 return m_doubleQuadratureRuleFamily;
281 template <
typename BasisFunctionType,
typename ResultType,
282 typename GeometryFactory,
typename Enable>
283 shared_ptr<
const SingleQuadratureRuleFamily<
284 typename NumericalQuadratureStrategyBase<
285 BasisFunctionType, ResultType, GeometryFactory, Enable>::CoordinateType> >
286 NumericalQuadratureStrategyBase<
287 BasisFunctionType, ResultType, GeometryFactory, Enable>::
288 singleQuadratureRuleFamily()
const
290 return m_singleQuadratureRuleFamily;
294 template <
typename BasisFunctionType,
typename ResultType,
295 typename GeometryFactory,
typename Enable>
296 NumericalQuadratureStrategy<
297 BasisFunctionType, ResultType, GeometryFactory, Enable>::
298 NumericalQuadratureStrategy() :
309 template <
typename BasisFunctionType,
typename ResultType,
310 typename GeometryFactory,
typename Enable>
312 BasisFunctionType, ResultType, GeometryFactory, Enable>
::
326 template <
typename BasisFunctionType,
typename ResultType,
327 typename GeometryFactory,
typename Enable>
329 BasisFunctionType, ResultType, GeometryFactory, Enable>
::
333 singleQuadratureRuleFamily,
335 doubleQuadratureRuleFamily) :
339 singleQuadratureRuleFamily,
340 doubleQuadratureRuleFamily)
344 template <
typename BasisFunctionType,
typename ResultType,
345 typename GeometryFactory,
typename Enable>
347 BasisFunctionType, ResultType, GeometryFactory, Enable>
::
350 quadratureDescriptorSelectorFactory,
352 singleQuadratureRuleFamily,
354 doubleQuadratureRuleFamily) :
356 quadratureDescriptorSelectorFactory,
357 singleQuadratureRuleFamily,
358 doubleQuadratureRuleFamily)
362 template <
typename BasisFunctionType,
typename ResultType,
363 typename GeometryFactory,
typename Enable>
364 std::auto_ptr<LocalAssemblerForIntegralOperators<ResultType> >
366 BasisFunctionType, ResultType, GeometryFactory, Enable>::
367 makeAssemblerForIntegralOperatorsImplComplexKernel(
368 const shared_ptr<const GeometryFactory>& testGeometryFactory,
369 const shared_ptr<const GeometryFactory>& trialGeometryFactory,
378 const shared_ptr<const OpenClHandler>& openClHandler,
380 VerbosityLevel::Level verbosityLevel,
381 bool cacheSingularIntegrals)
const
383 typedef ResultType KernelType;
385 BasisFunctionType, KernelType, ResultType, GeometryFactory>
386 LocalAssemblerForIntegralOperators_;
387 return std::auto_ptr<LocalAssemblerForIntegralOperators<ResultType> >(
388 new LocalAssemblerForIntegralOperators_(
389 testGeometryFactory, trialGeometryFactory,
390 testRawGeometry, trialRawGeometry,
391 testShapesets, trialShapesets,
392 testTransformations, kernels, trialTransformations, integral,
393 openClHandler, parallelizationOptions,
395 cacheSingularIntegrals,
396 this->quadratureDescriptorSelectorFactory()->
397 makeQuadratureDescriptorSelectorForIntegralOperators(
398 testRawGeometry, trialRawGeometry,
399 testShapesets, trialShapesets),
400 this->doubleQuadratureRuleFamily()));
403 template <
typename BasisFunctionType,
typename ResultType,
404 typename GeometryFactory,
typename Enable>
405 std::auto_ptr<LocalAssemblerForGridFunctions<ResultType> >
406 NumericalQuadratureStrategy<
407 BasisFunctionType, ResultType, GeometryFactory, Enable>::
408 makeAssemblerForGridFunctionsImplComplexUserFunction(
409 const shared_ptr<const GeometryFactory>& geometryFactory,
410 const shared_ptr<
const RawGridGeometry<CoordinateType> >& rawGeometry,
411 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& testShapesets,
412 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& testTransformations,
413 const shared_ptr<
const Function<ResultType> >&
function,
414 const shared_ptr<const OpenClHandler>& openClHandler)
const
416 typedef ResultType UserFunctionType;
417 typedef DefaultLocalAssemblerForGridFunctionsOnSurfaces<
418 BasisFunctionType, UserFunctionType, ResultType, GeometryFactory>
419 LocalAssemblerForGridFunctions_;
420 return std::auto_ptr<LocalAssemblerForGridFunctions<ResultType> >(
421 new LocalAssemblerForGridFunctions_(
422 geometryFactory, rawGeometry,
424 testTransformations,
function,
426 this->quadratureDescriptorSelectorFactory()->
427 makeQuadratureDescriptorSelectorForGridFunctions(
428 rawGeometry, testShapesets),
429 this->singleQuadratureRuleFamily()));
432 template <
typename BasisFunctionType,
typename ResultType,
433 typename GeometryFactory,
typename Enable>
434 std::auto_ptr<EvaluatorForIntegralOperators<ResultType> >
435 NumericalQuadratureStrategy<
436 BasisFunctionType, ResultType, GeometryFactory, Enable>::
437 makeEvaluatorForIntegralOperatorsImplComplexKernel(
438 const shared_ptr<const GeometryFactory>& geometryFactory,
439 const shared_ptr<
const RawGridGeometry<CoordinateType> >& rawGeometry,
440 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& trialShapesets,
441 const shared_ptr<
const CollectionOfKernels<ResultType> >& kernels,
442 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& trialTransformations,
443 const shared_ptr<
const KernelTrialIntegral<BasisFunctionType, ResultType, ResultType> >& integral,
444 const shared_ptr<
const std::vector<std::vector<ResultType> > >& argumentLocalCoefficients,
445 const shared_ptr<const OpenClHandler>& openClHandler,
446 const ParallelizationOptions& parallelizationOptions)
const
448 typedef ResultType KernelType;
449 typedef DefaultEvaluatorForIntegralOperators<
450 BasisFunctionType, KernelType, ResultType, GeometryFactory>
451 EvaluatorForIntegralOperators_;
452 return std::auto_ptr<EvaluatorForIntegralOperators<ResultType> >(
453 new EvaluatorForIntegralOperators_(
454 geometryFactory, rawGeometry,
456 kernels, trialTransformations, integral,
457 argumentLocalCoefficients,
459 parallelizationOptions,
460 this->quadratureDescriptorSelectorFactory()->
461 makeQuadratureDescriptorSelectorForPotentialOperators(
462 rawGeometry, trialShapesets),
463 this->singleQuadratureRuleFamily()));
466 template <
typename BasisFunctionType,
typename ResultType,
467 typename GeometryFactory,
typename Enable>
468 std::auto_ptr<LocalAssemblerForPotentialOperators<ResultType> >
469 NumericalQuadratureStrategy<
470 BasisFunctionType, ResultType, GeometryFactory, Enable>::
471 makeAssemblerForPotentialOperatorsImplComplexKernel(
472 const arma::Mat<CoordinateType>& evaluationPoints,
473 const shared_ptr<const GeometryFactory>& geometryFactory,
474 const shared_ptr<
const RawGridGeometry<CoordinateType> >& rawGeometry,
475 const shared_ptr<
const std::vector<
const Shapeset<BasisFunctionType>*> >& trialShapesets,
476 const shared_ptr<
const CollectionOfKernels<ResultType> >& kernels,
477 const shared_ptr<
const CollectionOfShapesetTransformations<CoordinateType> >& trialTransformations,
478 const shared_ptr<
const KernelTrialIntegral<BasisFunctionType, ResultType, ResultType> >& integral,
479 const shared_ptr<const OpenClHandler>& openClHandler,
480 const ParallelizationOptions& parallelizationOptions,
481 VerbosityLevel::Level verbosityLevel)
const
483 typedef ResultType KernelType;
484 typedef DefaultLocalAssemblerForPotentialOperatorsOnSurfaces<
485 BasisFunctionType, KernelType, ResultType, GeometryFactory>
486 LocalAssemblerForPotentialOperators_;
487 return std::auto_ptr<LocalAssemblerForPotentialOperators<ResultType> >(
488 new LocalAssemblerForPotentialOperators_(
490 geometryFactory, rawGeometry,
492 kernels, trialTransformations, integral,
493 parallelizationOptions,
495 this->quadratureDescriptorSelectorFactory()->
496 makeQuadratureDescriptorSelectorForPotentialOperators(
497 rawGeometry, trialShapesets),
498 this->singleQuadratureRuleFamily()));
501 template <
typename BasisFunctionType,
typename ResultType,
typename GeometryFactory>
502 NumericalQuadratureStrategy<
503 BasisFunctionType, ResultType, GeometryFactory,
504 typename boost::enable_if<
505 boost::is_same<ResultType,
506 typename ScalarTraits<ResultType>::RealType> >::type>::
507 NumericalQuadratureStrategy() :
510 DefaultQuadratureDescriptorSelectorFactory<BasisFunctionType> >(),
512 DefaultSingleQuadratureRuleFamily<CoordinateType> >(),
514 DefaultDoubleQuadratureRuleFamily<CoordinateType> >())
518 template <
typename BasisFunctionType,
typename ResultType,
typename GeometryFactory>
519 NumericalQuadratureStrategy<
520 BasisFunctionType, ResultType, GeometryFactory,
521 typename boost::enable_if<
522 boost::is_same<ResultType,
523 typename ScalarTraits<ResultType>::RealType> >::type>::
524 NumericalQuadratureStrategy(
525 const AccuracyOptionsEx& accuracyOptions) :
528 DefaultQuadratureDescriptorSelectorFactory<BasisFunctionType> >(
531 DefaultSingleQuadratureRuleFamily<CoordinateType> >(),
533 DefaultDoubleQuadratureRuleFamily<CoordinateType> >())
537 template <
typename BasisFunctionType,
typename ResultType,
typename GeometryFactory>
538 NumericalQuadratureStrategy<
539 BasisFunctionType, ResultType, GeometryFactory,
540 typename boost::enable_if<
541 boost::is_same<ResultType,
542 typename ScalarTraits<ResultType>::RealType> >::type>::
543 NumericalQuadratureStrategy(
544 const AccuracyOptionsEx& accuracyOptions,
545 const shared_ptr<
const SingleQuadratureRuleFamily<CoordinateType> >&
546 singleQuadratureRuleFamily,
547 const shared_ptr<
const DoubleQuadratureRuleFamily<CoordinateType> >&
548 doubleQuadratureRuleFamily) :
551 DefaultQuadratureDescriptorSelectorFactory<BasisFunctionType> >(accuracyOptions),
552 singleQuadratureRuleFamily,
553 doubleQuadratureRuleFamily)
557 template <
typename BasisFunctionType,
typename ResultType,
typename GeometryFactory>
558 NumericalQuadratureStrategy<
559 BasisFunctionType, ResultType, GeometryFactory,
560 typename boost::enable_if<
561 boost::is_same<ResultType,
562 typename ScalarTraits<ResultType>::RealType> >::type>::
563 NumericalQuadratureStrategy(
564 const shared_ptr<
const QuadratureDescriptorSelectorFactory<BasisFunctionType> >&
565 quadratureDescriptorSelectorFactory,
566 const shared_ptr<
const SingleQuadratureRuleFamily<CoordinateType> >&
567 singleQuadratureRuleFamily,
568 const shared_ptr<
const DoubleQuadratureRuleFamily<CoordinateType> >&
569 doubleQuadratureRuleFamily) :
571 quadratureDescriptorSelectorFactory,
572 singleQuadratureRuleFamily,
573 doubleQuadratureRuleFamily)
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
Base class for quadrature strategies.
Definition: quadrature_strategy.hpp:242
Parallel operation settings.
Definition: parallelization_options.hpp:32
Collection of shape functions defined on a reference element.
Definition: default_local_assembler_for_operators_on_surfaces_utilities.hpp:34
Builder of quadrature descriptor selectors.
Definition: numerical_quadrature_strategy.hpp:33
Definition: default_local_assembler_for_integral_operators_on_surfaces.hpp:67
Quadrature strategy according to which integrals are evaluated by numerical quadrature.
Definition: numerical_quadrature_strategy.hpp:248
Definition: default_test_trial_integral.hpp:30
New-style options controlling quadrature accuracy.
Definition: accuracy_options.hpp:53
Definition: default_local_assembler_for_operators_on_surfaces_utilities.hpp:35
Family of quadrature rules over single elements.
Definition: numerical_quadrature_strategy.hpp:35
Family of quadrature rules over pairs of elements.
Definition: double_quadrature_rule_family.hpp:52
Definition: default_quadrature_descriptor_selector_factory.hpp:31
Default family of quadrature rules over single elements.
Definition: default_single_quadrature_rule_family.hpp:31
Functor evaluating the integrand of the standard identity operator.
Definition: simple_test_trial_integrand_functor.hpp:43
Default family of quadrature rules over pairs of elements.
Definition: default_double_quadrature_rule_family.hpp:35