101 Real lr4[4] = {-1.0, 1.0, -1.0, 1.0};
102 Real lz4[4] = {-1.0, -1.0, 1.0, 1.0};
103 Real lr9[9] = {-1.0, 0.0, 1.0, -1.0, 0.0, 1.0, -1.0, 0.0, 1.0};
104 Real lz9[9] = {-1.0, -1.0, -1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0};
105 Real lw9[9] = {25.0, 40.0, 25.0, 40.0, 64.0, 40.0, 25.0, 40.0, 25.0};
120 for (
unsigned int i = 0; i < 4; ++i)
122 for (
unsigned int i = 0; i < 4; ++i)
124 sg2[i][0] = (1 / sqrt(3)) * lr4[i];
125 sg2[i][1] = (1 / sqrt(3)) * lz4[i];
132 for (
unsigned int i = 0; i < 9; ++i)
134 for (
unsigned int i = 0; i < 9; ++i)
136 sg2[i][0] = sqrt(0.6) * lr9[i];
137 sg2[i][1] = sqrt(0.6) * lz9[i];
138 sg2[i][2] = (1.0 / 81.0) * lw9[i];
142 mooseError(
"Invalid quadrature order = " + Moose::stringify(iord) +
" for quad elements");
150 sg2[0][0] = 1.0 / 3.0;
151 sg2[0][1] = 1.0 / 3.0;
152 sg2[0][2] = 1.0 / 3.0;
158 for (
unsigned int i = 0; i < 3; ++i)
160 sg2[0][0] = 2.0 / 3.0;
161 sg2[0][1] = 1.0 / 6.0;
162 sg2[0][2] = 1.0 / 6.0;
163 sg2[0][3] = 1.0 / 6.0;
164 sg2[1][0] = 1.0 / 6.0;
165 sg2[1][1] = 2.0 / 3.0;
166 sg2[1][2] = 1.0 / 6.0;
167 sg2[1][3] = 1.0 / 6.0;
168 sg2[2][0] = 1.0 / 6.0;
169 sg2[2][1] = 1.0 / 6.0;
170 sg2[2][2] = 2.0 / 3.0;
171 sg2[2][3] = 1.0 / 6.0;
176 for (
unsigned int i = 0; i < 4; ++i)
178 sg2[0][0] = 1.5505102572168219018027159252941e-01;
179 sg2[0][1] = 1.7855872826361642311703513337422e-01;
180 sg2[0][2] = 1.0 - sg2[0][0] - sg2[0][1];
181 sg2[0][3] = 1.5902069087198858469718450103758e-01;
183 sg2[1][0] = 6.4494897427831780981972840747059e-01;
184 sg2[1][1] = 7.5031110222608118177475598324603e-02;
185 sg2[1][2] = 1.0 - sg2[1][0] - sg2[1][1];
186 sg2[1][3] = 9.0979309128011415302815498962418e-02;
188 sg2[2][0] = 1.5505102572168219018027159252941e-01;
189 sg2[2][1] = 6.6639024601470138670269327409637e-01;
190 sg2[2][2] = 1.0 - sg2[2][0] - sg2[2][1];
191 sg2[2][3] = 1.5902069087198858469718450103758e-01;
193 sg2[3][0] = 6.4494897427831780981972840747059e-01;
194 sg2[3][1] = 2.8001991549907407200279599420481e-01;
195 sg2[3][2] = 1.0 - sg2[3][0] - sg2[3][1];
196 sg2[3][3] = 9.0979309128011415302815498962418e-02;
200 const unsigned int n_wts = 2;
201 const Real wts[n_wts] = {1.1169079483900573284750350421656140e-01L,
202 5.4975871827660933819163162450105264e-02L};
204 const Real a[n_wts] = {4.4594849091596488631832925388305199e-01L,
205 9.1576213509770743459571463402201508e-02L};
207 const Real b[n_wts] = {0., 0.};
208 const unsigned int permutation_ids[n_wts] = {3, 3};
210 std::vector<Point> points;
211 std::vector<Real> weights;
212 dunavant_rule2(wts, a, b, permutation_ids, n_wts, points, weights);
215 for (
unsigned int i = 0; i < 6; ++i)
217 for (
unsigned int i = 0; i < 6; ++i)
219 sg2[i][0] = points[i](0);
220 sg2[i][1] = points[i](1);
221 sg2[i][2] = 1.0 - points[i](0) - points[i](1);
222 sg2[i][3] = weights[i];
226 mooseError(
"Invalid quadrature order = " + Moose::stringify(iord) +
" for triangle elements");
229 mooseError(
"Invalid 2D element type");