libMesh
Loading...
Searching...
No Matches
fe_hierarchic_shape_0D.C
Go to the documentation of this file.
1// The libMesh Finite Element Library.
2// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3
4// This library is free software; you can redistribute it and/or
5// modify it under the terms of the GNU Lesser General Public
6// License as published by the Free Software Foundation; either
7// version 2.1 of the License, or (at your option) any later version.
8
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// Lesser General Public License for more details.
13
14// You should have received a copy of the GNU Lesser General Public
15// License along with this library; if not, write to the Free Software
16// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
18
19// Local includes
20#include "libmesh/fe.h"
21#include "libmesh/elem.h"
22
23
24namespace libMesh
25{
26
27
31
32
33
34template <>
36 const Order,
37 const unsigned int libmesh_dbg_var(i),
38 const Point &)
39{
40 libmesh_assert_less (i, 1);
41 return 1.;
42}
43
44
45
46template <>
48 const Order,
49 const unsigned int libmesh_dbg_var(i),
50 const Point &)
51{
52 libmesh_assert_less (i, 1);
53 return 1.;
54}
55
56
57
58template <>
60 const Order,
61 const unsigned int,
62 const Point &)
63{
64 libmesh_error_msg("No side variables in 0D!");
65 return 1.;
66}
67
68
69
70template <>
72 const Order,
73 const unsigned int libmesh_dbg_var(i),
74 const Point &,
75 const bool)
76{
77 libmesh_assert_less (i, 1);
78 return 1.;
79}
80
81
82
83template <>
85 const Order,
86 const unsigned int libmesh_dbg_var(i),
87 const Point &,
88 const bool)
89{
90 libmesh_assert_less (i, 1);
91 return 1.;
92}
93
94
95
96template <>
98 const Order,
99 const unsigned int,
100 const Point &,
101 const bool)
102{
103 libmesh_error_msg("No side variables in 0D!");
104 return 1.;
105}
106
107
108
109template <>
111 const Elem *,
112 const unsigned int libmesh_dbg_var(i),
113 const Point &,
114 const bool)
115{
116 libmesh_assert_less (i, 1);
117 return 1.;
118}
119
120
121
122template <>
124 const Elem *,
125 const unsigned int libmesh_dbg_var(i),
126 const Point &,
127 const bool)
128{
129 libmesh_assert_less (i, 1);
130 return 1.;
131}
132
133
134
135template <>
137 const Elem *,
138 const unsigned int,
139 const Point &,
140 const bool)
141{
142 libmesh_error_msg("No side variables in 0D!");
143 return 1.;
144}
145
146
147
148template <>
150 const Order,
151 const unsigned int,
152 const unsigned int,
153 const Point &)
154{
155 libmesh_error_msg("No spatial derivatives in 0D!");
156 return 0.;
157}
158
159
160
161template <>
163 const Order,
164 const unsigned int,
165 const unsigned int,
166 const Point &,
167 const bool)
168{
169 libmesh_error_msg("No spatial derivatives in 0D!");
170 return 0.;
171}
172
173
174
175template <>
177 const Elem *,
178 const unsigned int,
179 const unsigned int,
180 const Point &,
181 const bool)
182{
183 libmesh_error_msg("No spatial derivatives in 0D!");
184 return 0.;
185}
186
187
188
189template <>
191 const Order,
192 const unsigned int,
193 const unsigned int,
194 const Point &)
195{
196 libmesh_error_msg("No spatial derivatives in 0D!");
197 return 0.;
198}
199
200
201
202template <>
204 const Order,
205 const unsigned int,
206 const unsigned int,
207 const Point &,
208 const bool)
209{
210 libmesh_error_msg("No spatial derivatives in 0D!");
211 return 0.;
212}
213
214
215template <>
217 const Elem *,
218 const unsigned int,
219 const unsigned int,
220 const Point &,
221 const bool)
222{
223 libmesh_error_msg("No spatial derivatives in 0D!");
224 return 0.;
225}
226
227
228
229template <>
231 const Order,
232 const unsigned int,
233 const unsigned int,
234 const Point &)
235{
236 libmesh_error_msg("No spatial derivatives in 0D!");
237 return 0.;
238}
239
240
241
242template <>
244 const Order,
245 const unsigned int,
246 const unsigned int,
247 const Point &,
248 const bool)
249{
250 libmesh_error_msg("No spatial derivatives in 0D!");
251 return 0.;
252}
253
254
255template <>
257 const Elem *,
258 const unsigned int,
259 const unsigned int,
260 const Point &,
261 const bool)
262{
263 libmesh_error_msg("No spatial derivatives in 0D!");
264 return 0.;
265}
266
267
268#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES
269
270template <>
272 const Order,
273 const unsigned int,
274 const unsigned int,
275 const Point &)
276{
277 libmesh_error_msg("No spatial derivatives in 0D!");
278 return 0.;
279}
280
281
282
283template <>
285 const Order,
286 const unsigned int,
287 const unsigned int,
288 const Point &,
289 const bool)
290{
291 libmesh_error_msg("No spatial derivatives in 0D!");
292 return 0.;
293}
294
295
296template <>
298 const Elem *,
299 const unsigned int,
300 const unsigned int,
301 const Point &,
302 const bool)
303{
304 libmesh_error_msg("No spatial derivatives in 0D!");
305 return 0.;
306}
307
308
309template <>
311 const Order,
312 const unsigned int,
313 const unsigned int,
314 const Point &)
315{
316 libmesh_error_msg("No spatial derivatives in 0D!");
317 return 0.;
318}
319
320
321
322template <>
324 const Order,
325 const unsigned int,
326 const unsigned int,
327 const Point &,
328 const bool)
329{
330 libmesh_error_msg("No spatial derivatives in 0D!");
331 return 0.;
332}
333
334
335template <>
337 const Elem *,
338 const unsigned int,
339 const unsigned int,
340 const Point &,
341 const bool)
342{
343 libmesh_error_msg("No spatial derivatives in 0D!");
344 return 0.;
345}
346
347
348
349template <>
351 const Order,
352 const unsigned int,
353 const unsigned int,
354 const Point &)
355{
356 libmesh_error_msg("No spatial derivatives in 0D!");
357 return 0.;
358}
359
360
361
362template <>
364 const Order,
365 const unsigned int,
366 const unsigned int,
367 const Point &,
368 const bool)
369{
370 libmesh_error_msg("No spatial derivatives in 0D!");
371 return 0.;
372}
373
374
375
376template <>
378 const Elem *,
379 const unsigned int,
380 const unsigned int,
381 const Point &,
382 const bool)
383{
384 libmesh_error_msg("No spatial derivatives in 0D!");
385 return 0.;
386}
387
388#endif // LIBMESH_ENABLE_SECOND_DERIVATIVES
389
390} // namespace libMesh
This is the base class from which all geometric element types are derived.
Definition elem.h:96
class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialize...
Definition fe_type.h:197
static OutputShape shape(const ElemType t, const Order o, const unsigned int i, const Point &p)
static OutputShape shape_second_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)
static OutputShape shape_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)
A Point defines a location in LIBMESH_DIM dimensional Real space.
Definition point.h:40
The libMesh namespace provides an interface to certain functionality in the library.
LIBMESH_DEFAULT_VECTORIZED_FE(template<>Real FE< 0, BERNSTEIN)
ElemType
Defines an enum for geometric element types.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real