include/deal.II/base/function_bessel.h

00001 //---------------------------------------------------------------------------
00002 //    @f$Id: function_bessel.h 25345 2012-03-31 08:37:04Z bangerth @f$
00003 //
00004 //    Copyright (C) 2010, 2012 by the deal.II authors
00005 //
00006 //    This file is subject to QPL and may not be  distributed
00007 //    without copyright and license information. Please refer
00008 //    to the file deal.II/doc/license.html for the  text  and
00009 //    further information on this license.
00010 //
00011 //---------------------------------------------------------------------------
00012 #ifndef __deal2__function_bessel_h
00013 #define __deal2__function_bessel_h
00014 
00015 
00016 #include <deal.II/base/config.h>
00017 #include <deal.II/base/function.h>
00018 #include <deal.II/base/point.h>
00019 
00020 DEAL_II_NAMESPACE_OPEN
00021 
00022 namespace Functions
00023 {
00030   template <int dim>
00031   class Bessel1 : public Function<dim>
00032   {
00033     public:
00034       Bessel1(const unsigned int order,
00035               const double wave_number,
00036               const Point<dim> center = Point<dim>());
00037       virtual double value (const Point<dim>& points, const unsigned int component) const;
00038       virtual void value_list (const std::vector<Point<dim> > &points,
00039                                std::vector<double>            &values,
00040                                const unsigned int              component = 0) const;
00041       virtual Tensor<1,dim> gradient (const Point<dim>   &p,
00042                                       const unsigned int  component = 0) const;
00043       virtual void gradient_list (const std::vector<Point<dim> > &points,
00044                                   std::vector<Tensor<1,dim> >    &gradients,
00045                                   const unsigned int              component = 0) const;
00046     private:
00047       unsigned int order;
00048       double wave_number;
00049       Point<dim> center;
00050   };
00051 }
00052 
00053 DEAL_II_NAMESPACE_CLOSE
00054 
00055 #endif
00056 
00057 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Tue May 22 2012 12:06:05 by doxygen 1.7.3