libMesh
fe_scalar_shape_1D.C
Go to the documentation of this file.
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 
31 
32 
33 template <>
35  const Order,
36  const unsigned int,
37  const Point &)
38 {
39  return 1.;
40 }
41 
42 template <>
44  const Order,
45  const unsigned int,
46  const Point &,
47  const bool)
48 {
49  return 1.;
50 }
51 
52 
53 
54 template <>
56  const Elem *,
57  const unsigned int,
58  const Point &,
59  const bool)
60 {
61  return 0.;
62 }
63 
64 
65 template <>
67  const Order,
68  const unsigned int,
69  const unsigned int,
70  const Point &)
71 {
72  return 0.;
73 }
74 
75 template <>
77  const Order,
78  const unsigned int,
79  const unsigned int,
80  const Point &,
81  const bool)
82 {
83  return 0.;
84 }
85 
86 
87 template <>
89  const Elem *,
90  const unsigned int,
91  const unsigned int,
92  const Point &,
93  const bool)
94 {
95  return 0.;
96 }
97 
98 
99 
100 #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES
101 
102 template <>
104  const Order,
105  const unsigned int,
106  const unsigned int,
107  const Point &)
108 {
109  return 0.;
110 }
111 
112 template <>
114  const Order,
115  const unsigned int,
116  const unsigned int,
117  const Point &,
118  const bool)
119 {
120  return 0.;
121 }
122 
123 
124 template <>
126  const Elem *,
127  const unsigned int,
128  const unsigned int,
129  const Point &,
130  const bool)
131 {
132  return 0.;
133 }
134 
135 
136 #endif
137 
138 } // namespace libMesh
class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialize...
Definition: fe_type.h:196
ElemType
Defines an enum for geometric element types.
Order
defines an enum for polynomial orders.
Definition: enum_order.h:40
static OutputShape shape(const ElemType t, const Order o, const unsigned int i, const Point &p)
This is the base class from which all geometric element types are derived.
Definition: elem.h:94
static OutputShape shape_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)
The libMesh namespace provides an interface to certain functionality in the library.
LIBMESH_DEFAULT_VECTORIZED_FE(template<>Real FE< 0, BERNSTEIN)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
A Point defines a location in LIBMESH_DIM dimensional Real space.
Definition: point.h:39
static OutputShape shape_second_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)