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