Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
GaussLegendre_2_19.h
Go to the documentation of this file.
1#ifndef model_GAUSSLEGENDRE_2_19_H_
2#define model_GAUSSLEGENDRE_2_19_H_
3
4namespace model{
5
6template <>
7struct GaussLegendre<2,19>{
8 // Dunavant p=9, ng=19 (weights sum to 0.5 on reference triangle)
9 static Eigen::Matrix<double,3,19> abcsissasAndWeights(){
10 Eigen::Matrix<double,19,3> U;
11
12 const double w0 = 0.5*0.097135796282799;
13
14 const double w1 = 0.5*0.031334700227139;
15 const double a1 = 0.020634961602525;
16 const double b1 = 0.489682519198738;
17
18 const double w2 = 0.5*0.077827541004774;
19 const double a2 = 0.125820817014127;
20 const double b2 = 0.437089591492937;
21
22 const double w3 = 0.5*0.079647738927210;
23 const double a3 = 0.623592928761935;
24 const double b3 = 0.188203535619033;
25
26 const double w4 = 0.5*0.025577675658698;
27 const double a4 = 0.910540973211095;
28 const double b4 = 0.044729513394453;
29
30 const double w5 = 0.5*0.043283539377289;
31 const double a5 = 0.036838412054736;
32 const double b5 = 0.221962989160766;
33 const double c5 = 0.741198598784498;
34
35 U <<
36 // centroid
37 0.333333333333333, 0.333333333333333, w0,
38
39 // (a1,b1,b1)
40 b1, b1, w1,
41 a1, b1, w1,
42 b1, a1, w1,
43
44 // (a2,b2,b2)
45 b2, b2, w2,
46 a2, b2, w2,
47 b2, a2, w2,
48
49 // (a3,b3,b3)
50 b3, b3, w3,
51 a3, b3, w3,
52 b3, a3, w3,
53
54 // (a4,b4,b4)
55 b4, b4, w4,
56 a4, b4, w4,
57 b4, a4, w4,
58
59 // (a5,b5,c5) six permutations
60 b5, c5, w5,
61 c5, b5, w5,
62 a5, c5, w5,
63 c5, a5, w5,
64 a5, b5, w5,
65 b5, a5, w5;
66
67 return U.transpose();
68 }
69};
70
71} // namespace model
72
73#endif
static Eigen::Matrix< double, 3, 19 > abcsissasAndWeights()
Class template defining the GaussLegendre rules for determination of quadrature abscissas and weights...