Line data Source code
1 : // The libMesh Finite Element Library.
2 : // Copyright (C) 2002-2025 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 : // C++ includes
20 :
21 : // Local includes
22 : #include "libmesh/fe.h"
23 : #include "libmesh/elem.h"
24 :
25 :
26 : namespace libMesh
27 : {
28 :
29 :
30 0 : LIBMESH_DEFAULT_VECTORIZED_FE(0,XYZ)
31 :
32 :
33 : template <>
34 0 : Real FE<0,XYZ>::shape(const ElemType,
35 : const Order,
36 : const unsigned int libmesh_dbg_var(i),
37 : const Point &)
38 : {
39 0 : libmesh_assert_less (i, 1);
40 0 : return 1.;
41 : }
42 :
43 :
44 :
45 : template <>
46 0 : Real FE<0,XYZ>::shape(const Elem *,
47 : const Order,
48 : const unsigned int libmesh_dbg_var(i),
49 : const Point &,
50 : const bool)
51 : {
52 0 : libmesh_assert_less (i, 1);
53 0 : return 1.;
54 : }
55 :
56 :
57 :
58 : template <>
59 0 : Real FE<0,XYZ>::shape(const FEType,
60 : const Elem *,
61 : const unsigned int libmesh_dbg_var(i),
62 : const Point &,
63 : const bool)
64 : {
65 0 : libmesh_assert_less (i, 1);
66 0 : return 1.;
67 : }
68 :
69 :
70 :
71 : template <>
72 0 : Real FE<0,XYZ>::shape_deriv(const ElemType,
73 : const Order,
74 : const unsigned int,
75 : const unsigned int,
76 : const Point &)
77 : {
78 0 : libmesh_error_msg("No spatial derivatives in 0D!");
79 : return 0.;
80 : }
81 :
82 :
83 :
84 : template <>
85 0 : Real FE<0,XYZ>::shape_deriv(const Elem *,
86 : const Order,
87 : const unsigned int,
88 : const unsigned int,
89 : const Point &,
90 : const bool)
91 : {
92 0 : libmesh_error_msg("No spatial derivatives in 0D!");
93 : return 0.;
94 : }
95 :
96 :
97 :
98 : template <>
99 0 : Real FE<0,XYZ>::shape_deriv(const FEType,
100 : const Elem *,
101 : const unsigned int,
102 : const unsigned int,
103 : const Point &,
104 : const bool)
105 : {
106 0 : libmesh_error_msg("No spatial derivatives in 0D!");
107 : return 0.;
108 : }
109 :
110 :
111 :
112 : #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES
113 :
114 : template <>
115 0 : Real FE<0,XYZ>::shape_second_deriv(const ElemType,
116 : const Order,
117 : const unsigned int,
118 : const unsigned int,
119 : const Point &)
120 : {
121 0 : libmesh_error_msg("No spatial derivatives in 0D!");
122 : return 0.;
123 : }
124 :
125 :
126 :
127 : template <>
128 0 : Real FE<0,XYZ>::shape_second_deriv(const Elem *,
129 : const Order,
130 : const unsigned int,
131 : const unsigned int,
132 : const Point &,
133 : const bool)
134 : {
135 0 : libmesh_error_msg("No spatial derivatives in 0D!");
136 : return 0.;
137 : }
138 :
139 :
140 :
141 : template <>
142 0 : Real FE<0,XYZ>::shape_second_deriv(const FEType,
143 : const Elem *,
144 : const unsigned int,
145 : const unsigned int,
146 : const Point &,
147 : const bool)
148 : {
149 0 : libmesh_error_msg("No spatial derivatives in 0D!");
150 : return 0.;
151 : }
152 :
153 : #endif
154 :
155 : } // namespace libMesh
|