![]() |
Reference documentation for deal.II version 9.1.1
|
#include <deal.II/base/function_lib.h>
Public Member Functions | |
FourierCosineSum (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 override |
virtual Tensor< 1, dim > | gradient (const Point< dim > &p, const unsigned int component=0) const override |
virtual double | laplacian (const Point< dim > &p, const unsigned int component=0) const override |
![]() | |
Function (const unsigned int n_components=1, const time_type initial_time=0.0) | |
virtual | ~Function () override=0 |
Function & | operator= (const Function &f) |
virtual void | vector_value (const Point< dim > &p, Vector< double > &values) const |
virtual void | value_list (const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const |
virtual void | vector_value_list (const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const |
virtual void | vector_values (const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const |
virtual void | vector_gradient (const Point< dim > &p, std::vector< Tensor< 1, dim, double >> &gradients) const |
virtual void | gradient_list (const std::vector< Point< dim >> &points, std::vector< Tensor< 1, dim, double >> &gradients, const unsigned int component=0) const |
virtual void | vector_gradients (const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim, double >>> &gradients) const |
virtual void | vector_gradient_list (const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim, double >>> &gradients) const |
virtual void | vector_laplacian (const Point< dim > &p, Vector< double > &values) const |
virtual void | laplacian_list (const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const |
virtual void | vector_laplacian_list (const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const |
virtual SymmetricTensor< 2, dim, double > | hessian (const Point< dim > &p, const unsigned int component=0) const |
virtual void | vector_hessian (const Point< dim > &p, std::vector< SymmetricTensor< 2, dim, double >> &values) const |
virtual void | hessian_list (const std::vector< Point< dim >> &points, std::vector< SymmetricTensor< 2, dim, double >> &values, const unsigned int component=0) const |
virtual void | vector_hessian_list (const std::vector< Point< dim >> &points, std::vector< std::vector< SymmetricTensor< 2, dim, double >>> &values) const |
std::size_t | memory_consumption () const |
![]() | |
FunctionTime (const Number initial_time=Number(0.0)) | |
virtual | ~FunctionTime ()=default |
Number | get_time () const |
virtual void | set_time (const Number new_time) |
virtual void | advance_time (const Number delta_t) |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
const std::vector< Point< dim > > | fourier_coefficients |
Additional Inherited Members | |
![]() | |
using | time_type = typename FunctionTime< typename numbers::NumberTraits< double >::real_type >::time_type |
![]() | |
using | time_type = Number |
![]() | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
![]() | |
const unsigned int | n_components |
![]() | |
static const unsigned int | dimension |
Given a sequence of wavenumber vectors and weights generate a sum of cosine 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 cos(\sum_i k_i x_i) = Re(\sum_j w_j \exp(i k.x))\).
Definition at line 868 of file function_lib.h.
Functions::FourierCosineSum< dim >::FourierCosineSum | ( | const std::vector< Point< dim >> & | fourier_coefficients, |
const std::vector< double > & | weights | ||
) |
Constructor. Take the Fourier coefficients in each space direction as argument.
Definition at line 2096 of file function_lib.cc.
|
overridevirtual |
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 >.
Definition at line 2112 of file function_lib.cc.
|
overridevirtual |
Return the gradient of the specified component of the function at the given point.
Reimplemented from Function< dim >.
Definition at line 2130 of file function_lib.cc.
|
overridevirtual |
Compute the Laplacian of a given component at point p
.
Reimplemented from Function< dim >.
Definition at line 2148 of file function_lib.cc.
|
private |
Stored Fourier coefficients and weights.
Definition at line 906 of file function_lib.h.