$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 #ifndef LIBMESH_ZERO_FUNCTION_H 00019 #define LIBMESH_ZERO_FUNCTION_H 00020 00021 // Local includes 00022 #include "libmesh/const_function.h" 00023 00024 // C++ includes 00025 00026 namespace libMesh { 00027 00028 template <typename Output=Number> 00029 class ZeroFunction : public ConstFunction<Output> 00030 { 00031 public: 00032 ZeroFunction () : ConstFunction<Output>(0) {} 00033 00034 virtual UniquePtr<FunctionBase<Output> > clone() const { 00035 return UniquePtr<FunctionBase<Output> > 00036 (new ZeroFunction<Output>()); 00037 } 00038 }; 00039 00040 } // namespace libMesh 00041 00042 #endif // LIBMESH_ZERO_FUNCTION_H