libMesh
Loading...
Searching...
No Matches
fe_szabab_shape_3D.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
20// Local includes
21#include "libmesh/libmesh_config.h"
22
23#ifdef LIBMESH_ENABLE_HIGHER_ORDER_SHAPES
24
25#include "libmesh/fe.h"
26
27
28namespace libMesh
29{
30
31
33
34
35template <>
37 const Order,
38 const unsigned int,
39 const Point &)
40{
41 libmesh_error_msg("Szabo-Babuska polynomials are not defined in 3D");
42 return 0.;
43}
44
45
46
47template <>
49 const Order,
50 const unsigned int,
51 const Point &,
52 const bool)
53{
54 libmesh_error_msg("Szabo-Babuska polynomials are not defined in 3D");
55 return 0.;
56}
57
58
59template <>
61 const Elem *,
62 const unsigned int,
63 const Point &,
64 const bool)
65{
66 libmesh_error_msg("Szabo-Babuska polynomials are not defined in 3D");
67 return 0;
68}
69
70
71template <>
73 const Order,
74 const unsigned int,
75 const unsigned int,
76 const Point &)
77{
78 libmesh_error_msg("Szabo-Babuska polynomials are not defined in 3D");
79 return 0.;
80}
81
82
83
84template <>
86 const Order,
87 const unsigned int,
88 const unsigned int,
89 const Point &,
90 const bool)
91{
92 libmesh_error_msg("Szabo-Babuska polynomials are not defined in 3D");
93 return 0.;
94}
95
96
97template <>
99 const Elem *,
100 const unsigned int,
101 const unsigned int,
102 const Point &,
103 const bool)
104{
105 libmesh_error_msg("Szabo-Babuska polynomials are not defined in 3D");
106 return 0;
107}
108
109
110#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES
111
112template <>
114 const Order,
115 const unsigned int,
116 const unsigned int,
117 const Point &)
118{
119 libmesh_error_msg("Szabo-Babuska polynomials are not defined in 3D");
120 return 0.;
121}
122
123
124
125template <>
127 const Order,
128 const unsigned int,
129 const unsigned int,
130 const Point &,
131 const bool)
132{
133 libmesh_error_msg("Szabo-Babuska polynomials are not defined in 3D");
134 return 0.;
135}
136
137
138template <>
140 const Elem *,
141 const unsigned int,
142 const unsigned int,
143 const Point &,
144 const bool)
145{
146 static bool warning_given = false;
147
148 if (!warning_given)
149 libMesh::err << "Second derivatives for Szabab elements "
150 << " are not yet implemented!"
151 << std::endl;
152
153 warning_given = true;
154 return 0.;
155}
156
157#endif
158
159} // namespace libMesh
160
161#endif //LIBMESH_ENABLE_HIGHER_ORDER_SHAPES
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.
OStreamProxy err
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