abscWght.hh

Go to the documentation of this file.
1 
6 #ifndef abscWght_hh
7 #define abscWght_hh
8 
9 #include "bemInt/exceptns.hh"
10 #include "geometry/topology.hh"
11 
12 namespace bem {
13 
14  using concepts::Real;
15 
16  extern const Real int_1_PI4;
17 
18  // ***************************************************************** match **
19 
26  uint match(const concepts::Triangle& triX, const concepts::Triangle& triY);
27 
28  // ****************************************************** GaussAbscWghtSym **
29 
34  static const Real* const abswght_[8];
35  public:
36  inline const Real* const operator[](uint i) const;
37  };
38 
39  inline const Real* const GaussAbscWghtSym::operator[](uint i) const {
41  return abswght_[i];
42  }
43 
44  // ********************************************************* GaussAbscWght **
45 
49  class GaussAbscWght {
50  static const Real* const abswght_[25];
51  public:
52  inline const Real* const operator[](uint i) const;
53  };
54 
55  inline const Real* const GaussAbscWght::operator[](uint i) const {
56  if (i >= 25) throw conceptsException(NoOfIntegrationPointsToHigh());
57  return abswght_[i];
58  }
59 
60  // ******************************************************** Stroud defines **
61 
62 #define MaxStroudAbsc 7
63 
64  // ******************************************************** StroudAbscWght **
65 
71  static const Real* const abswght_[MaxStroudAbsc];
72  public:
73  inline const Real* const operator[](uint i) const;
74  };
75 
76  inline const Real* const StroudAbscWght::operator[](uint i) const {
77  if (i >= MaxStroudAbsc)
79  return abswght_[i];
80  }
81 
82  // **************************************************** StroudLinTrialWght **
83 
87  static const Real* const abswght_[MaxStroudAbsc];
88  public:
89  inline const Real* const operator[](uint i) const;
90  };
91 
92  inline const Real* const StroudLinTrialWght::operator[](uint i) const {
93  if (i >= MaxStroudAbsc)
95  return abswght_[i];
96  }
97 
98 } // namespace bem
99 
100 #endif // abscWght_hh
Abscissas and weight.
Definition: abscWght.hh:86
#define conceptsException(exc)
Prepares an exception for throwing.
Definition: exceptions.hh:344
uint match(const concepts::Triangle &triX, const concepts::Triangle &triY)
Function to check if two triangles are connected.
static const Real *const abswght_[25]
Definition: abscWght.hh:50
const Real int_1_PI4
const Real *const operator[](uint i) const
Definition: abscWght.hh:39
static const Real *const abswght_[8]
Definition: abscWght.hh:34
static const Real *const abswght_[MaxStroudAbsc]
Definition: abscWght.hh:87
#define MaxStroudAbsc
Definition: abscWght.hh:62
const Real *const operator[](uint i) const
Definition: abscWght.hh:55
Used for the basic classes of the boundary element method.
Definition: bform.hh:13
static const Real *const abswght_[MaxStroudAbsc]
Definition: abscWght.hh:71
Symmetric Gauss abscissas and weights for the interval .
Definition: abscWght.hh:33
Gauss abscissas and weights for the interval .
Definition: abscWght.hh:49
const Real *const operator[](uint i) const
Definition: abscWght.hh:92
Abscissas and weights for Stroud formulas.
Definition: abscWght.hh:70
const Real *const operator[](uint i) const
Definition: abscWght.hh:76
A triangle in the topology.
Definition: topology.hh:193
Exception class to express that the number of integration points exceeds the number of precalculated ...
Definition: exceptns.hh:20
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich