16 #ifndef dealii_function_lib_h 17 #define dealii_function_lib_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/function.h> 22 #include <deal.II/base/point.h> 23 #include <deal.II/base/table.h> 27 DEAL_II_NAMESPACE_OPEN
56 const unsigned int component = 0)
const;
60 std::vector<double> &values,
61 const unsigned int component = 0)
const;
63 const unsigned int component = 0)
const;
64 virtual void vector_gradient (
const Point<dim> &p,
66 virtual void gradient_list (
const std::vector<
Point<dim> > &points,
68 const unsigned int component = 0)
const;
70 const unsigned int component = 0)
const;
72 std::vector<double> &values,
73 const unsigned int component = 0)
const;
90 const unsigned int component = 0)
const;
93 std::vector<double> &values,
94 const unsigned int component = 0)
const;
100 const unsigned int component = 0)
const;
102 virtual void gradient_list (
const std::vector<
Point<dim> > &points,
104 const unsigned int component = 0)
const;
106 virtual void vector_gradient_list (
const std::vector<
Point<dim> > &,
113 const unsigned int component = 0)
const;
119 std::vector<double> &values,
120 const unsigned int component = 0)
const;
154 const unsigned int component = 0)
const;
160 std::vector<double> &values,
161 const unsigned int component = 0)
const;
167 const unsigned int component = 0)
const;
174 const unsigned int component = 0)
const;
180 const unsigned int component = 0)
const;
186 std::vector<double> &values,
187 const unsigned int component = 0)
const;
213 const unsigned int component = 0)
const;
216 std::vector<double> &values,
217 const unsigned int component = 0)
const;
223 const unsigned int component = 0)
const;
225 virtual void gradient_list (
const std::vector<
Point<dim> > &points,
227 const unsigned int component = 0)
const;
230 const unsigned int component = 0)
const;
233 std::vector<double> &values,
234 const unsigned int component = 0)
const;
240 const unsigned int component = 0)
const;
247 const unsigned int component = 0)
const;
273 const unsigned int component)
const;
277 std::vector<double> &values,
278 const unsigned int component)
const;
284 const unsigned int component)
const;
286 virtual void gradient_list (
const std::vector<
Point<dim> > &points,
288 const unsigned int component)
const;
290 virtual void vector_gradient_list (
const std::vector<
Point<dim> > &points,
294 const unsigned int component)
const;
313 const unsigned int component = 0)
const;
319 std::vector<double> &values,
320 const unsigned int component = 0)
const;
326 const unsigned int component = 0)
const;
333 const unsigned int component = 0)
const;
339 const unsigned int component = 0)
const;
345 std::vector<double> &values,
346 const unsigned int component = 0)
const;
365 virtual double value (
const Point<2> &p,
366 const unsigned int component = 0)
const;
368 virtual void value_list (
const std::vector<
Point<2> > &points,
369 std::vector<double> &values,
370 const unsigned int component = 0)
const;
372 virtual void vector_value_list (
const std::vector<
Point<2> > &points,
376 const unsigned int component = 0)
const;
378 virtual void gradient_list (
const std::vector<
Point<2> > &points,
380 const unsigned int component = 0)
const;
382 virtual void vector_gradient_list (
const std::vector<
Point<2> > &,
385 virtual double laplacian (
const Point<2> &p,
386 const unsigned int component = 0)
const;
388 virtual void laplacian_list (
const std::vector<
Point<2> > &points,
389 std::vector<double> &values,
390 const unsigned int component = 0)
const;
411 virtual double value (
const Point<2> &p,
412 const unsigned int component)
const;
414 virtual void value_list (
const std::vector<
Point<2> > &points,
415 std::vector<double> &values,
416 const unsigned int component)
const;
418 virtual void vector_value_list (
const std::vector<
Point<2> > &points,
422 const unsigned int component)
const;
424 virtual void gradient_list (
const std::vector<
Point<2> > &points,
426 const unsigned int component)
const;
428 virtual void vector_gradient_list (
const std::vector<
Point<2> > &,
431 virtual double laplacian (
const Point<2> &p,
432 const unsigned int component)
const;
434 virtual void laplacian_list (
const std::vector<
Point<2> > &points,
435 std::vector<double> &values,
436 const unsigned int component)
const;
452 const unsigned int component = 0)
const;
455 std::vector<double> &values,
456 const unsigned int component = 0)
const;
462 const unsigned int component = 0)
const;
464 virtual void gradient_list (
const std::vector<
Point<dim> > &points,
466 const unsigned int component = 0)
const;
468 virtual void vector_gradient_list (
const std::vector<
Point<dim> > &,
472 const unsigned int component = 0)
const;
475 std::vector<double> &values,
476 const unsigned int component = 0)
const;
489 virtual double value (
const Point<2> &p,
490 const unsigned int component = 0)
const;
492 virtual void value_list (
const std::vector<
Point<2> > &points,
493 std::vector<double> &values,
494 const unsigned int component = 0)
const;
496 virtual void vector_value_list (
const std::vector<
Point<2> > &points,
500 const unsigned int component = 0)
const;
502 virtual void gradient_list (
const std::vector<
Point<2> > &points,
504 const unsigned int component = 0)
const;
506 virtual void vector_gradient_list (
const std::vector<
Point<2> > &,
509 virtual double laplacian (
const Point<2> &p,
510 const unsigned int component = 0)
const;
512 virtual void laplacian_list (
const std::vector<
Point<2> > &points,
513 std::vector<double> &values,
514 const unsigned int component = 0)
const;
549 const unsigned int component = 0)
const;
555 std::vector<double> &values,
556 const unsigned int component = 0)
const;
562 const unsigned int component = 0)
const;
569 const unsigned int component = 0)
const;
575 const unsigned int component = 0)
const;
581 std::vector<double> &values,
582 const unsigned int component = 0)
const;
650 const unsigned int component = 0)
const;
657 const unsigned int component = 0)
const;
663 const unsigned int component = 0)
const;
702 const unsigned int component = 0)
const;
709 const unsigned int component = 0)
const;
715 const unsigned int component = 0)
const;
742 const std::vector<double> &weights);
751 const unsigned int component = 0)
const;
758 const unsigned int component = 0)
const;
764 const unsigned int component = 0)
const;
770 const std::vector<double> weights;
794 const std::vector<double> &weights);
803 const unsigned int component = 0)
const;
810 const unsigned int component = 0)
const;
816 const unsigned int component = 0)
const;
823 const std::vector<double> weights;
914 const unsigned int component = 0)
const;
920 std::vector<double> &values,
921 const unsigned int component = 0)
const;
959 const unsigned int component = 0)
const;
965 std::vector<double> &values,
966 const unsigned int component = 0)
const;
1005 const unsigned int component = 0)
const;
1011 std::vector<double> &values,
1012 const unsigned int component = 0)
const;
1024 const unsigned int component = 0)
const;
1059 const unsigned int component = 0)
const;
1074 std::vector<double> &values,
1075 const unsigned int component = 0)
const;
1081 const unsigned int component = 0)
const;
1157 const unsigned int component = 0)
const;
1173 const unsigned int component = 0)
const;
1263 const unsigned int component = 0)
const;
1315 const unsigned int component = 0)
const;
1322 std::vector<double> &values,
1323 const unsigned int component = 0)
const;
1329 const unsigned int component = 0)
const;
1347 DEAL_II_NAMESPACE_CLOSE
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 > &p, const unsigned int component=0) const
const Tensor< 1, dim > fourier_coefficients
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const
virtual double value(const Point< dim > &p, const unsigned int component=0) const
static const unsigned int invalid_unsigned_int
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component) const
virtual double value(const Point< dim > &p, const unsigned int component) const
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const
const unsigned int n_components
TableIndices< dim > table_index_of_point(const Point< dim > &p) 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
virtual double laplacian(const Point< dim > &p, 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 > &p, const unsigned int component=0) const
LSingularityGradFunction()
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const
Monomial(const Tensor< 1, dim > &exponents, const unsigned int n_components=1)
Polynomial(const Table< 2, double > &exponents, const std::vector< double > &coefficients)
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const
virtual double value(const Point< dim > &p, const unsigned int component=0) const
CutOffFunctionLinfty(const double radius=1., const Point< dim >=Point< dim >(), const unsigned int n_components=1, const unsigned int select=CutOffFunctionBase< dim >::no_component)
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const
virtual double value(const Point< dim > &p, const unsigned int component=0) const
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
virtual double laplacian(const Point< dim > &p, const unsigned int component) const
const Tensor< 1, dim > fourier_coefficients
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
virtual Tensor< 1, dim > gradient(const Point< dim > &p, 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 gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const
virtual double value(const Point< dim > &p, const unsigned int component=0) const
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const
CosineFunction(const unsigned int n_components=1)
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
const std::array< std::vector< double >, dim > coordinate_values
virtual double value(const Point< dim > &p, const unsigned int component=0) const
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 Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
virtual SymmetricTensor< 2, dim > hessian(const Point< dim > &p, const unsigned int component=0) const
void new_center(const Point< dim > &p)
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
virtual double value(const Point< dim > &p, const unsigned int component=0) const
std::size_t memory_consumption() const
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
const Table< 2, double > exponents
CutOffFunctionBase(const double radius=1., const Point< dim >=Point< dim >(), const unsigned int n_components=1, const unsigned int select=CutOffFunctionBase< dim >::no_component)
const std::vector< Point< dim > > fourier_coefficients
virtual double laplacian(const Point< dim > &p, 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 void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const
virtual Tensor< 1, dim > gradient(const Point< dim > &p, 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 void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
virtual double 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< double > > &values) const
const Table< dim, double > data_values
virtual void hessian_list(const std::vector< Point< dim > > &points, std::vector< SymmetricTensor< 2, dim > > &hessians, const unsigned int component=0) const
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const
virtual double value(const Point< dim > &p, const unsigned int component=0) const
const std::vector< double > coefficients
virtual void laplacian_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
const unsigned int selected
virtual double value(const Point< dim > &p, const unsigned int component=0) const
const Point< dim > direction
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const
const std::vector< Point< dim > > fourier_coefficients
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, 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
PillowFunction(const double offset=0.)
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const
virtual Tensor< 1, dim > gradient(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
InterpolatedTensorProductGridData(const std::array< std::vector< double >, dim > &coordinate_values, const Table< dim, double > &data_values)
virtual double value(const Point< dim > &p, const unsigned int component=0) const
static const unsigned int no_component
virtual double value(const Point< dim > &p, const unsigned int component=0) const
FourierCosineFunction(const Tensor< 1, dim > &fourier_coefficients)
virtual double value(const Point< dim > &p, const unsigned int component=0) const
FourierCosineSum(const std::vector< Point< dim > > &fourier_coefficients, const std::vector< double > &weights)
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, 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
FourierSineFunction(const Tensor< 1, dim > &fourier_coefficients)
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const
const Tensor< 1, dim > exponents
CutOffFunctionCinfty(const double radius=1., const Point< dim >=Point< dim >(), const unsigned int n_components=1, const unsigned int select=CutOffFunctionBase< dim >::no_component)
CutOffFunctionW1(const double radius=1., const Point< dim >=Point< dim >(), const unsigned int n_components=1, const unsigned int select=CutOffFunctionBase< dim >::no_component)
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 Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const
virtual double value(const Point< dim > &p, 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 laplacian(const Point< dim > &p, const unsigned int component=0) const
void new_radius(const double r)
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component) const
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const
virtual double value(const Point< dim > &p, const unsigned int component=0) const
virtual double laplacian(const Point< dim > &p, 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 void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const
JumpFunction(const Point< dim > &direction, const double steepness)
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const
FourierSineSum(const std::vector< Point< dim > > &fourier_coefficients, const std::vector< double > &weights)