$extrastylesheet
00001 // The libMesh Finite Element Library. 00002 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner 00003 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public 00006 // License as published by the Free Software Foundation; either 00007 // version 2.1 of the License, or (at your option) any later version. 00008 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 00019 // C++ includes 00020 00021 // Local includes 00022 #include "libmesh/fe.h" 00023 #include "libmesh/elem.h" 00024 00025 00026 // FIXME: 3D C1 finite elements are still a work in progress 00027 00028 namespace libMesh 00029 { 00030 00031 00032 template <> 00033 Real FE<3,CLOUGH>::shape(const ElemType, 00034 const Order, 00035 const unsigned int, 00036 const Point&) 00037 { 00038 libmesh_error_msg("Clough-Tocher elements require the real element \nto construct gradient-based degrees of freedom."); 00039 return 0.; 00040 } 00041 00042 00043 00044 template <> 00045 Real FE<3,CLOUGH>::shape(const Elem* libmesh_dbg_var(elem), 00046 const Order, 00047 const unsigned int, 00048 const Point&) 00049 { 00050 libmesh_assert(elem); 00051 00052 libmesh_not_implemented(); 00053 return 0.; 00054 } 00055 00056 00057 00058 template <> 00059 Real FE<3,CLOUGH>::shape_deriv(const ElemType, 00060 const Order, 00061 const unsigned int, 00062 const unsigned int, 00063 const Point&) 00064 { 00065 libmesh_error_msg("Clough-Tocher elements require the real element \nto construct gradient-based degrees of freedom."); 00066 return 0.; 00067 } 00068 00069 00070 00071 template <> 00072 Real FE<3,CLOUGH>::shape_deriv(const Elem* libmesh_dbg_var(elem), 00073 const Order, 00074 const unsigned int, 00075 const unsigned int, 00076 const Point&) 00077 { 00078 libmesh_assert(elem); 00079 libmesh_not_implemented(); 00080 return 0.; 00081 } 00082 00083 00084 00085 template <> 00086 Real FE<3,CLOUGH>::shape_second_deriv(const Elem* libmesh_dbg_var(elem), 00087 const Order, 00088 const unsigned int, 00089 const unsigned int, 00090 const Point&) 00091 { 00092 libmesh_assert(elem); 00093 libmesh_not_implemented(); 00094 return 0.; 00095 } 00096 00097 } // namespace libMesh