BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
fn_intpoints_gauss_tet46.hpp
Go to the documentation of this file.
1/*
2 * BELFEM -- The Berkeley Lab Finite Element Framework
3 * Copyright (c) 2026, The Regents of the University of California,
4 * through Lawrence Berkeley National Laboratory (subject to receipt of any required
5 * approvals from the U.S. Dept. of Energy). All rights reserved.
6 *
7 * Developers: Christian Messe, Gregory Giard
8 *
9 * See the top-level LICENSE file for the complete license and disclaimer.
10 */
11
12#ifndef BELFEM_FN_INTPOINTS_GAUSS_TET46_HPP
13#define BELFEM_FN_INTPOINTS_GAUSS_TET46_HPP
14
15#include "typedefs.hpp"
16#include "cl_Vector.hpp"
17#include "cl_Matrix.hpp"
18
19namespace belfem
20{
21 namespace integration
22 {
23// ----------------------------------------------------------------------------
24
33 inline void
35 Vector< real > & aWeights,
36 Matrix< real > & aPoints )
37 {
38 aPoints.set_size( 4, 46 );
39
40 aPoints( 0, 0 ) = 0.1079527249622109;
41 aPoints( 1, 0 ) = 0.1079527249622109;
42 aPoints( 2, 0 ) = 0.1079527249622109;
43
44 aPoints( 0, 1 ) = 0.1851094877825866;
45 aPoints( 1, 1 ) = 0.1851094877825866;
46 aPoints( 2, 1 ) = 0.1851094877825866;
47
48 aPoints( 0, 2 ) = 0.04231654368476728;
49 aPoints( 1, 2 ) = 0.04231654368476728;
50 aPoints( 2, 2 ) = 0.04231654368476728;
51
52 aPoints( 0, 3 ) = 0.314181709124039;
53 aPoints( 1, 3 ) = 0.314181709124039;
54 aPoints( 2, 3 ) = 0.314181709124039;
55
56 aPoints( 0, 4 ) = 0.1079527249622109;
57 aPoints( 1, 4 ) = 0.1079527249622109;
58 aPoints( 2, 4 ) = 0.6761418251133673;
59
60 aPoints( 0, 5 ) = 0.1851094877825866;
61 aPoints( 1, 5 ) = 0.1851094877825866;
62 aPoints( 2, 5 ) = 0.44467153665224024;
63
64 aPoints( 0, 6 ) = 0.04231654368476728;
65 aPoints( 1, 6 ) = 0.04231654368476728;
66 aPoints( 2, 6 ) = 0.8730503689456981;
67
68 aPoints( 0, 7 ) = 0.314181709124039;
69 aPoints( 1, 7 ) = 0.314181709124039;
70 aPoints( 2, 7 ) = 0.05745487262788307;
71
72 aPoints( 0, 8 ) = 0.1079527249622109;
73 aPoints( 1, 8 ) = 0.6761418251133673;
74 aPoints( 2, 8 ) = 0.1079527249622109;
75
76 aPoints( 0, 9 ) = 0.1851094877825866;
77 aPoints( 1, 9 ) = 0.44467153665224024;
78 aPoints( 2, 9 ) = 0.1851094877825866;
79
80 aPoints( 0, 10 ) = 0.04231654368476728;
81 aPoints( 1, 10 ) = 0.8730503689456981;
82 aPoints( 2, 10 ) = 0.04231654368476728;
83
84 aPoints( 0, 11 ) = 0.314181709124039;
85 aPoints( 1, 11 ) = 0.05745487262788307;
86 aPoints( 2, 11 ) = 0.314181709124039;
87
88 aPoints( 0, 12 ) = 0.6761418251133673;
89 aPoints( 1, 12 ) = 0.1079527249622109;
90 aPoints( 2, 12 ) = 0.1079527249622109;
91
92 aPoints( 0, 13 ) = 0.44467153665224024;
93 aPoints( 1, 13 ) = 0.1851094877825866;
94 aPoints( 2, 13 ) = 0.1851094877825866;
95
96 aPoints( 0, 14 ) = 0.8730503689456981;
97 aPoints( 1, 14 ) = 0.04231654368476728;
98 aPoints( 2, 14 ) = 0.04231654368476728;
99
100 aPoints( 0, 15 ) = 0.05745487262788307;
101 aPoints( 1, 15 ) = 0.314181709124039;
102 aPoints( 2, 15 ) = 0.314181709124039;
103
104 aPoints( 0, 16 ) = 0.4355913285838302;
105 aPoints( 1, 16 ) = 0.4355913285838302;
106 aPoints( 2, 16 ) = 0.0644086714161698;
107
108 aPoints( 0, 17 ) = 0.4355913285838302;
109 aPoints( 1, 17 ) = 0.0644086714161698;
110 aPoints( 2, 17 ) = 0.4355913285838302;
111
112 aPoints( 0, 18 ) = 0.0644086714161698;
113 aPoints( 1, 18 ) = 0.4355913285838302;
114 aPoints( 2, 18 ) = 0.4355913285838302;
115
116 aPoints( 0, 19 ) = 0.4355913285838302;
117 aPoints( 1, 19 ) = 0.0644086714161698;
118 aPoints( 2, 19 ) = 0.0644086714161698;
119
120 aPoints( 0, 20 ) = 0.0644086714161698;
121 aPoints( 1, 20 ) = 0.4355913285838302;
122 aPoints( 2, 20 ) = 0.0644086714161698;
123
124 aPoints( 0, 21 ) = 0.0644086714161698;
125 aPoints( 1, 21 ) = 0.0644086714161698;
126 aPoints( 2, 21 ) = 0.4355913285838302;
127
128 aPoints( 0, 22 ) = 0.02143393012713057;
129 aPoints( 1, 22 ) = 0.02143393012713057;
130 aPoints( 2, 22 ) = 0.7174640634263083;
131
132 aPoints( 0, 23 ) = 0.2041393338760291;
133 aPoints( 1, 23 ) = 0.2041393338760291;
134 aPoints( 2, 23 ) = 0.5837973783021444;
135
136 aPoints( 0, 24 ) = 0.02143393012713057;
137 aPoints( 1, 24 ) = 0.7174640634263083;
138 aPoints( 2, 24 ) = 0.02143393012713057;
139
140 aPoints( 0, 25 ) = 0.2041393338760291;
141 aPoints( 1, 25 ) = 0.5837973783021444;
142 aPoints( 2, 25 ) = 0.2041393338760291;
143
144 aPoints( 0, 26 ) = 0.7174640634263083;
145 aPoints( 1, 26 ) = 0.02143393012713057;
146 aPoints( 2, 26 ) = 0.02143393012713057;
147
148 aPoints( 0, 27 ) = 0.5837973783021444;
149 aPoints( 1, 27 ) = 0.2041393338760291;
150 aPoints( 2, 27 ) = 0.2041393338760291;
151
152 aPoints( 0, 28 ) = 0.02143393012713057;
153 aPoints( 1, 28 ) = 0.7174640634263083;
154 aPoints( 2, 28 ) = 0.23966807631943055;
155
156 aPoints( 0, 29 ) = 0.2041393338760291;
157 aPoints( 1, 29 ) = 0.5837973783021444;
158 aPoints( 2, 29 ) = 0.007923953945797368;
159
160 aPoints( 0, 30 ) = 0.7174640634263083;
161 aPoints( 1, 30 ) = 0.02143393012713057;
162 aPoints( 2, 30 ) = 0.23966807631943055;
163
164 aPoints( 0, 31 ) = 0.5837973783021444;
165 aPoints( 1, 31 ) = 0.2041393338760291;
166 aPoints( 2, 31 ) = 0.007923953945797368;
167
168 aPoints( 0, 32 ) = 0.7174640634263083;
169 aPoints( 1, 32 ) = 0.23966807631943055;
170 aPoints( 2, 32 ) = 0.02143393012713057;
171
172 aPoints( 0, 33 ) = 0.5837973783021444;
173 aPoints( 1, 33 ) = 0.007923953945797368;
174 aPoints( 2, 33 ) = 0.2041393338760291;
175
176 aPoints( 0, 34 ) = 0.02143393012713057;
177 aPoints( 1, 34 ) = 0.02143393012713057;
178 aPoints( 2, 34 ) = 0.23966807631943055;
179
180 aPoints( 0, 35 ) = 0.2041393338760291;
181 aPoints( 1, 35 ) = 0.2041393338760291;
182 aPoints( 2, 35 ) = 0.007923953945797368;
183
184 aPoints( 0, 36 ) = 0.02143393012713057;
185 aPoints( 1, 36 ) = 0.23966807631943055;
186 aPoints( 2, 36 ) = 0.02143393012713057;
187
188 aPoints( 0, 37 ) = 0.2041393338760291;
189 aPoints( 1, 37 ) = 0.007923953945797368;
190 aPoints( 2, 37 ) = 0.2041393338760291;
191
192 aPoints( 0, 38 ) = 0.23966807631943055;
193 aPoints( 1, 38 ) = 0.02143393012713057;
194 aPoints( 2, 38 ) = 0.02143393012713057;
195
196 aPoints( 0, 39 ) = 0.007923953945797368;
197 aPoints( 1, 39 ) = 0.2041393338760291;
198 aPoints( 2, 39 ) = 0.2041393338760291;
199
200 aPoints( 0, 40 ) = 0.02143393012713057;
201 aPoints( 1, 40 ) = 0.23966807631943055;
202 aPoints( 2, 40 ) = 0.7174640634263083;
203
204 aPoints( 0, 41 ) = 0.2041393338760291;
205 aPoints( 1, 41 ) = 0.007923953945797368;
206 aPoints( 2, 41 ) = 0.5837973783021444;
207
208 aPoints( 0, 42 ) = 0.23966807631943055;
209 aPoints( 1, 42 ) = 0.02143393012713057;
210 aPoints( 2, 42 ) = 0.7174640634263083;
211
212 aPoints( 0, 43 ) = 0.007923953945797368;
213 aPoints( 1, 43 ) = 0.2041393338760291;
214 aPoints( 2, 43 ) = 0.5837973783021444;
215
216 aPoints( 0, 44 ) = 0.23966807631943055;
217 aPoints( 1, 44 ) = 0.7174640634263083;
218 aPoints( 2, 44 ) = 0.02143393012713057;
219
220 aPoints( 0, 45 ) = 0.007923953945797368;
221 aPoints( 1, 45 ) = 0.5837973783021444;
222 aPoints( 2, 45 ) = 0.2041393338760291;
223
224 for( uint k=0; k<46; ++k )
225 {
226 aPoints( 3, k ) = 1.0
227 - aPoints( 0, k )
228 - aPoints( 1, k )
229 - aPoints( 2, k );
230 }
231
232
233 aWeights.set_size( 46 );
234
235 aWeights( 0 ) = 0.004404441818068139;
236 aWeights( 1 ) = 0.008671957927289755;
237 aWeights( 2 ) = 0.0012542093589233666;
238 aWeights( 3 ) = 0.006960630476155816;
239 aWeights( 4 ) = 0.004404441818068139;
240 aWeights( 5 ) = 0.008671957927289755;
241 aWeights( 6 ) = 0.0012542093589233666;
242 aWeights( 7 ) = 0.006960630476155816;
243 aWeights( 8 ) = 0.004404441818068139;
244 aWeights( 9 ) = 0.008671957927289755;
245 aWeights( 10 ) = 0.0012542093589233666;
246 aWeights( 11 ) = 0.006960630476155816;
247 aWeights( 12 ) = 0.004404441818068139;
248 aWeights( 13 ) = 0.008671957927289755;
249 aWeights( 14 ) = 0.0012542093589233666;
250 aWeights( 15 ) = 0.006960630476155816;
251 aWeights( 16 ) = 0.006046821710218136;
252 aWeights( 17 ) = 0.006046821710218136;
253 aWeights( 18 ) = 0.006046821710218136;
254 aWeights( 19 ) = 0.006046821710218136;
255 aWeights( 20 ) = 0.006046821710218136;
256 aWeights( 21 ) = 0.006046821710218136;
257 aWeights( 22 ) = 0.0011928171484740721;
258 aWeights( 23 ) = 0.0025755810251600567;
259 aWeights( 24 ) = 0.0011928171484740721;
260 aWeights( 25 ) = 0.0025755810251600567;
261 aWeights( 26 ) = 0.0011928171484740721;
262 aWeights( 27 ) = 0.0025755810251600567;
263 aWeights( 28 ) = 0.0011928171484740721;
264 aWeights( 29 ) = 0.0025755810251600567;
265 aWeights( 30 ) = 0.0011928171484740721;
266 aWeights( 31 ) = 0.0025755810251600567;
267 aWeights( 32 ) = 0.0011928171484740721;
268 aWeights( 33 ) = 0.0025755810251600567;
269 aWeights( 34 ) = 0.0011928171484740721;
270 aWeights( 35 ) = 0.0025755810251600567;
271 aWeights( 36 ) = 0.0011928171484740721;
272 aWeights( 37 ) = 0.0025755810251600567;
273 aWeights( 38 ) = 0.0011928171484740721;
274 aWeights( 39 ) = 0.0025755810251600567;
275 aWeights( 40 ) = 0.0011928171484740721;
276 aWeights( 41 ) = 0.0025755810251600567;
277 aWeights( 42 ) = 0.0011928171484740721;
278 aWeights( 43 ) = 0.0025755810251600567;
279 aWeights( 44 ) = 0.0011928171484740721;
280 aWeights( 45 ) = 0.0025755810251600567;
281 }
282
283// ----------------------------------------------------------------------------
284 } /* namespace integration */
285} /* end namespace belfem */
286
287#endif // BELFEM_FN_INTPOINTS_GAUSS_TET46_HPP
void set_size(const size_t aNumRows, const size_t aNumCols)
Definition cl_AR_Matrix.hpp:186
void set_size(const size_t aNumRows)
change the size of the vector
Definition cl_AR_Vector.hpp:237
Definition fn_intpoints.cpp:576
void gauss_tet46(Vector< real > &aWeights, Matrix< real > &aPoints)
8th order interpolation
Definition fn_intpoints_gauss_tet46.hpp:34
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30