44 const double *points1,
45 const double *weights1,
46 std::vector<QuadPoint>& points,
47 std::vector<double>& weights) {
49 weights.resize(
n *
n);
52 for (
unsigned int j = 0; j <
n; ++j) {
53 for (
unsigned int i = 0; i <
n; ++i) {
54 points[q] = {points1[i], points1[j], 0.0};
55 weights[q] = weights1[i] * weights1[j];
104 A = sqrt(3.0 / 7.0 - (2.0 / 7.0) * sqrt(6.0 / 5.0)),
105 B = sqrt(3.0 / 7.0 + (2.0 / 7.0) * sqrt(6.0 / 5.0)),
106 points4[4] = {-B, -A, A, B};
111 w1 = (18.0 + sqrt(30.0)) / 36.0,
112 w2 = (18.0 - sqrt(30.0)) / 36.0,
113 weights4[4] = {w2, w1, w1, w2};
139 one_over_six = 1.0 / 6.0,
140 two_over_three = 2.0 / 3.0;
142 m_points = {{two_over_three, one_over_six, 0.0},
143 {one_over_six, two_over_three, 0.0},
144 {one_over_six, one_over_six, 0.0}};
146 m_weights = {one_over_six, one_over_six, one_over_six};
150 double xis[8] = {-1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0};
151 double etas[8] = {-1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0};
152 double zetas[8] = {-1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0};
157 double C = 1.0 / sqrt(3.0);
159 for (
int k = 0;
k < 8; ++
k) {
172 A = sqrt(3.0 / 7.0 - (2.0 / 7.0) * sqrt(6.0 / 5.0)),
173 B = sqrt(3.0 / 7.0 + (2.0 / 7.0) * sqrt(6.0 / 5.0)),
174 pt[4] = {-B, -A, A, B};
179 w1 = (18.0 + sqrt(30.0)) / 36.0,
180 w2 = (18.0 - sqrt(30.0)) / 36.0,
181 w[4] = {w2, w1, w1, w2};
186 for (
int i = 0; i < 4; ++i) {
187 for (
int j = 0; j < 4; ++j) {
188 for (
int k = 0;
k < 4; ++
k) {