Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef bemIntArbKrnlGal000_hh
00007 #define bemIntArbKrnlGal000_hh
00008
00009 #ifdef __GNUG__
00010 #pragma interface
00011 #endif
00012
00013 #include "bem/element.hh"
00014
00015 namespace bem {
00016
00017
00018
00019 template <class F, class K>
00020 class ArbKrnlGal000Traits {
00021 public:
00022 static F eval(K& k, const concepts::Real3d& x, const concepts::Real3d& y) {
00023 return k(x, y);
00024 }
00025 };
00026
00027
00028
00037 template <class F, class K>
00038 class ArbKrnlGal000 {
00039 public:
00040 typedef ArbKrnlGal000Traits<F,K> Traits;
00041
00042
00043 ArbKrnlGal000(K& k) : k_(k) {}
00044
00050 void operator()(const Constant3d000<F>& elmX,
00051 const Constant3d000<F>& elmY, F* em) const;
00052 void operator()(const Constant3d001<F>& elmX,
00053 const Constant3d001<F>& elmY, F* em) const;
00054 void operator()(const Constant3d002<F>& elmX,
00055 const Constant3d002<F>& elmY, F* em) const;
00056 private:
00057 K& k_;
00058
00059 static const concepts::Real N_;
00060 static const concepts::Real radonWght_[21];
00061 };
00062
00063 }
00064
00065 #endif // bemIntArbKrnlGal000_hh