16 #ifndef dealii_function_lib_h 17 #define dealii_function_lib_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/function.h> 23 #include <deal.II/base/point.h> 24 #include <deal.II/base/table.h> 28 DEAL_II_NAMESPACE_OPEN
55 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
60 std::vector<double> & values,
61 const unsigned int component = 0)
const override;
64 const unsigned int component = 0)
const override;
69 gradient_list(
const std::vector<
Point<dim>> &points,
71 const unsigned int component = 0)
const override;
74 const unsigned int component = 0)
const override;
77 std::vector<double> & values,
78 const unsigned int component = 0)
const override;
95 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
99 std::vector<double> & values,
100 const unsigned int component = 0)
const override;
108 const unsigned int component = 0)
const override;
111 gradient_list(
const std::vector<
Point<dim>> &points,
113 const unsigned int component = 0)
const override;
125 const unsigned int component = 0)
const override;
132 std::vector<double> & values,
133 const unsigned int component = 0)
const override;
167 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
174 std::vector<double> & values,
175 const unsigned int component = 0)
const override;
182 const unsigned int component = 0)
const override;
188 gradient_list(
const std::vector<
Point<dim>> &points,
190 const unsigned int component = 0)
const override;
197 const unsigned int component = 0)
const override;
204 std::vector<double> & values,
205 const unsigned int component = 0)
const override;
232 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
236 std::vector<double> & values,
237 const unsigned int component = 0)
const override;
245 const unsigned int component = 0)
const override;
248 gradient_list(
const std::vector<
Point<dim>> &points,
250 const unsigned int component = 0)
const override;
254 const unsigned int component = 0)
const override;
258 std::vector<double> & values,
259 const unsigned int component = 0)
const override;
266 const unsigned int component = 0)
const override;
274 const unsigned int component = 0)
const override;
300 value(
const Point<dim> &p,
const unsigned int component)
const override;
305 std::vector<double> & values,
306 const unsigned int component)
const override;
316 gradient_list(
const std::vector<
Point<dim>> &points,
318 const unsigned int component)
const override;
323 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
345 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
352 std::vector<double> & values,
353 const unsigned int component = 0)
const override;
360 const unsigned int component = 0)
const override;
366 gradient_list(
const std::vector<
Point<dim>> &points,
368 const unsigned int component = 0)
const override;
375 const unsigned int component = 0)
const override;
382 std::vector<double> & values,
383 const unsigned int component = 0)
const override;
403 value(
const Point<2> &p,
const unsigned int component = 0)
const override;
407 std::vector<double> & values,
408 const unsigned int component = 0)
const override;
416 const unsigned int component = 0)
const override;
419 gradient_list(
const std::vector<
Point<2>> &points,
421 const unsigned int component = 0)
const override;
426 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
430 const unsigned int component = 0)
const override;
434 std::vector<double> & values,
435 const unsigned int component = 0)
const override;
457 value(
const Point<2> &p,
const unsigned int component)
const override;
461 std::vector<double> & values,
462 const unsigned int component)
const override;
472 gradient_list(
const std::vector<
Point<2>> &points,
474 const unsigned int component)
const override;
479 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
486 std::vector<double> & values,
487 const unsigned int component)
const override;
503 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
507 std::vector<double> & values,
508 const unsigned int component = 0)
const override;
516 const unsigned int component = 0)
const override;
519 gradient_list(
const std::vector<
Point<dim>> &points,
521 const unsigned int component = 0)
const override;
530 const unsigned int component = 0)
const override;
534 std::vector<double> & values,
535 const unsigned int component = 0)
const override;
549 value(
const Point<2> &p,
const unsigned int component = 0)
const override;
553 std::vector<double> & values,
554 const unsigned int component = 0)
const override;
562 const unsigned int component = 0)
const override;
565 gradient_list(
const std::vector<
Point<2>> &points,
567 const unsigned int component = 0)
const override;
572 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
576 const unsigned int component = 0)
const override;
580 std::vector<double> & values,
581 const unsigned int component = 0)
const override;
615 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
622 std::vector<double> & values,
623 const unsigned int component = 0)
const override;
630 const unsigned int component = 0)
const override;
636 gradient_list(
const std::vector<
Point<dim>> &points,
638 const unsigned int component = 0)
const override;
645 const unsigned int component = 0)
const override;
652 std::vector<double> & values,
653 const unsigned int component = 0)
const override;
722 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
730 const unsigned int component = 0)
const override;
737 const unsigned int component = 0)
const override;
777 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
785 const unsigned int component = 0)
const override;
792 const unsigned int component = 0)
const override;
820 const std::vector<double> & weights);
829 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
837 const unsigned int component = 0)
const override;
844 const unsigned int component = 0)
const override;
851 const std::vector<double> weights;
875 const std::vector<double> & weights);
884 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
892 const unsigned int component = 0)
const override;
899 const unsigned int component = 0)
const override;
906 const std::vector<double> weights;
935 const double radius = 1.,
950 new_radius(
const double r);
992 const double radius = 1.,
1001 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1008 std::vector<double> & values,
1009 const unsigned int component = 0)
const override;
1040 const double radius = 1.,
1049 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1056 std::vector<double> & values,
1057 const unsigned int component = 0)
const override;
1089 const double radius = 1.,
1098 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1105 std::vector<double> & values,
1106 const unsigned int component = 0)
const override;
1120 const unsigned int component = 0)
const override;
1155 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1171 std::vector<double> & values,
1172 const unsigned int component = 0)
const override;
1179 const unsigned int component = 0)
const override;
1240 const std::array<std::vector<double>, dim> &coordinate_values,
1254 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1269 const unsigned int component = 0)
const override;
1276 table_index_of_point(
const Point<dim> &p)
const;
1344 const std::array<std::pair<double, double>, dim> &interval_endpoints,
1345 const std::array<unsigned int, dim> & n_subintervals,
1359 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1405 const std::vector<double> &coefficients);
1411 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1419 std::vector<double> & values,
1420 const unsigned int component = 0)
const override;
1427 const unsigned int component = 0)
const override;
1444 DEAL_II_NAMESPACE_CLOSE
const Tensor< 1, dim > exponents
static const unsigned int invalid_unsigned_int
const unsigned int n_components
virtual void value_list(const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void vector_gradient_list(const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim, double >>> &gradients) const
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
const Table< dim, double > data_values
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
const Tensor< 1, dim > fourier_coefficients
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const override
virtual SymmetricTensor< 2, dim, double > hessian(const Point< dim > &p, const unsigned int component=0) const
std::size_t memory_consumption() const
const std::vector< Point< dim > > fourier_coefficients
virtual void hessian_list(const std::vector< Point< dim >> &points, std::vector< SymmetricTensor< 2, dim, double >> &values, const unsigned int component=0) const
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const override
const Table< 2, double > exponents
const std::vector< double > coefficients
const unsigned int selected
const Point< dim > direction
const std::vector< Point< dim > > fourier_coefficients
const std::array< std::vector< double >, dim > coordinate_values
const Tensor< 1, dim > fourier_coefficients
virtual void vector_value_list(const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const
virtual void laplacian_list(const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const override