Functions::FourierSineSum< dim > Class Template Reference
[Functions]

Inheritance diagram for Functions::FourierSineSum< dim >:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 FourierSineSum (const std::vector< Point< dim > > &fourier_coefficients, const std::vector< double > &weights)
virtual double value (const Point< dim > &p, const unsigned int component=0) const
virtual Tensor< 1, dim > gradient (const Point< dim > &p, const unsigned int component=0) const
virtual double laplacian (const Point< dim > &p, const unsigned int component=0) const

Private Attributes

const std::vector< Point< dim > > fourier_coefficients
const std::vector< doubleweights


Detailed Description

template<int dim>
class Functions::FourierSineSum< dim >

Given a sequence of wavenumber vectors and weights generate a sum of sine functions. Each wavenumber coefficient is given as a $d$-dimensional point $k$ in Fourier space, and the entire function is then recovered as $f(x) = \sum_j w_j sin(\sum_i k_i x_i) = Im(\sum_j w_j \exp(i k.x))$.

Author:
Wolfgang Bangerth, 2001

Constructor & Destructor Documentation

template<int dim>
Functions::FourierSineSum< dim >::FourierSineSum ( const std::vector< Point< dim > > &  fourier_coefficients,
const std::vector< double > &  weights 
)

Constructor. Take the Fourier coefficients in each space direction as argument.


Member Function Documentation

template<int dim>
virtual double Functions::FourierSineSum< dim >::value ( const Point< dim > &  p,
const unsigned int  component = 0 
) const [virtual]

Return the value of the function at the given point. Unless there is only one component (i.e. the function is scalar), you should state the component you want to have evaluated; it defaults to zero, i.e. the first component.

Reimplemented from Function< dim >.

template<int dim>
virtual Tensor<1,dim> Functions::FourierSineSum< dim >::gradient ( const Point< dim > &  p,
const unsigned int  component = 0 
) const [virtual]

Return the gradient of the specified component of the function at the given point.

Reimplemented from Function< dim >.

template<int dim>
virtual double Functions::FourierSineSum< dim >::laplacian ( const Point< dim > &  p,
const unsigned int  component = 0 
) const [virtual]

Compute the Laplacian of a given component at point p.

Reimplemented from Function< dim >.


Member Data Documentation

template<int dim>
const std::vector<Point<dim> > Functions::FourierSineSum< dim >::fourier_coefficients [private]

Stored Fourier coefficients and weights.

template<int dim>
const std::vector<double> Functions::FourierSineSum< dim >::weights [private]


The documentation for this class was generated from the following file:

deal.II documentation generated on Sat Aug 15 16:52:33 2009 by doxygen 1.5.9