Reference documentation for deal.II version 8.1.0
function_bessel.h
1 // ---------------------------------------------------------------------
2 // @f$Id: function_bessel.h 30036 2013-07-18 16:55:32Z maier @f$
3 //
4 // Copyright (C) 2010 - 2013 by the deal.II authors
5 //
6 // This file is part of the deal.II library.
7 //
8 // The deal.II library is free software; you can use it, redistribute
9 // it, and/or modify it under the terms of the GNU Lesser General
10 // Public License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 // The full text of the license can be found in the file LICENSE at
13 // the top level of the deal.II distribution.
14 //
15 // ---------------------------------------------------------------------
16 
17 #ifndef __deal2__function_bessel_h
18 #define __deal2__function_bessel_h
19 
20 
21 #include <deal.II/base/config.h>
22 #include <deal.II/base/function.h>
23 #include <deal.II/base/point.h>
24 
26 
27 namespace Functions
28 {
35  template <int dim>
36  class Bessel1 : public Function<dim>
37  {
38  public:
39  Bessel1(const unsigned int order,
40  const double wave_number,
41  const Point<dim> center = Point<dim>());
42  virtual double value (const Point<dim> &points, const unsigned int component) const;
43  virtual void value_list (const std::vector<Point<dim> > &points,
44  std::vector<double> &values,
45  const unsigned int component = 0) const;
46  virtual Tensor<1,dim> gradient (const Point<dim> &p,
47  const unsigned int component = 0) const;
48  virtual void gradient_list (const std::vector<Point<dim> > &points,
49  std::vector<Tensor<1,dim> > &gradients,
50  const unsigned int component = 0) const;
51  private:
52  unsigned int order;
53  double wave_number;
54  Point<dim> center;
55  };
56 }
57 
58 DEAL_II_NAMESPACE_CLOSE
59 
60 #endif
61 
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
virtual double value(const Point< dim > &points, const unsigned int component) const
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const