16 #ifndef dealii__function_h 17 #define dealii__function_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/exceptions.h> 22 #include <deal.II/base/function_time.h> 23 #include <deal.II/base/subscriptor.h> 24 #include <deal.II/base/tensor.h> 25 #include <deal.II/base/symmetric_tensor.h> 26 #include <deal.II/base/point.h> 27 #include <deal.II/base/std_cxx11/function.h> 31 DEAL_II_NAMESPACE_OPEN
34 template <
typename number>
class Vector;
130 template <
int dim,
typename Number=
double>
151 Function (
const unsigned int n_components = 1,
152 const Number initial_time = 0.0);
192 const unsigned int component = 0)
const;
214 std::vector<Number> &values,
215 const unsigned int component = 0)
const;
239 std::vector<std::vector<Number> > &values)
const;
246 const unsigned int component = 0)
const;
262 const unsigned int component = 0)
const;
291 const unsigned int component = 0)
const;
304 std::vector<Number> &values,
305 const unsigned int component = 0)
const;
318 const unsigned int component = 0)
const;
332 const unsigned int component = 0)
const;
363 template <
int dim,
typename Number=
double>
379 const unsigned int component)
const;
385 std::vector<Number> &values,
386 const unsigned int component = 0)
const;
392 const unsigned int component = 0)
const;
399 const unsigned int component = 0)
const;
424 template <
int dim,
typename Number=
double>
459 const unsigned int component)
const;
465 std::vector<Number> &return_values,
466 const unsigned int component = 0)
const;
495 template <
int dim,
typename Number=
double>
513 const unsigned int n_components);
523 const unsigned int n_components);
649 template <
int dim,
typename Number=
double>
665 const unsigned int component = 0)
const;
672 const std_cxx11::function<Number (const Point<dim> &)> function_object;
710 template <
int dim,
typename Number=
double>
726 const unsigned int selected_component,
734 const unsigned int component = 0)
const;
749 const std_cxx11::function<Number (const Point<dim> &)> function_object;
793 template <
int dim,
typename Number=
double>
814 const unsigned int selected_component=0,
827 const unsigned int component = 0)
const;
864 DEAL_II_NAMESPACE_CLOSE
virtual void vector_value(const Point< dim > &p, Vector< Number > &values) const
virtual void vector_values(const std::vector< Point< dim > > &points, std::vector< std::vector< Number > > &values) const
virtual void vector_gradient(const Point< dim > &p, std::vector< Tensor< 1, dim, Number > > &gradients) const
virtual void vector_hessian(const Point< dim > &p, std::vector< SymmetricTensor< 2, dim, Number > > &values) const
virtual void vector_gradients(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim, Number > > > &gradients) const
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim, Number > > &gradients, const unsigned int component=0) const
std::size_t memory_consumption() const
virtual void vector_gradient_list(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim, Number > > > &gradients) const
Function(const unsigned int n_components=1, const Number initial_time=0.0)
virtual Number laplacian(const Point< dim > &p, const unsigned int component=0) const
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< Number > > &values) const
Function & operator=(const Function &f)
static const unsigned int dimension
const unsigned int n_components
const TensorFunction< 1, dim, Number > & tensor_function
virtual Tensor< 1, dim, Number > gradient(const Point< dim > &p, const unsigned int component=0) const
const std::pair< unsigned int, unsigned int > selected_components
virtual void vector_hessian_list(const std::vector< Point< dim > > &points, std::vector< std::vector< SymmetricTensor< 2, dim, Number > > > &values) const
virtual Number value(const Point< dim > &p, const unsigned int component=0) const
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< Number > &values, const unsigned int component=0) const
virtual SymmetricTensor< 2, dim, Number > hessian(const Point< dim > &p, const unsigned int component=0) const
const unsigned int selected_component
virtual void hessian_list(const std::vector< Point< dim > > &points, std::vector< SymmetricTensor< 2, dim, Number > > &values, const unsigned int component=0) const
std::vector< Number > function_value_vector
virtual void vector_laplacian_list(const std::vector< Point< dim > > &points, std::vector< Vector< Number > > &values) const
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< Number > &values, const unsigned int component=0) const
const unsigned int selected_component
virtual void vector_laplacian(const Point< dim > &p, Vector< Number > &values) const