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> 25 #include <deal.II/base/std_cxx11/array.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;
361 virtual double value (
const Point<2> &p,
362 const unsigned int component = 0)
const;
364 virtual void value_list (
const std::vector<
Point<2> > &points,
365 std::vector<double> &values,
366 const unsigned int component = 0)
const;
368 virtual void vector_value_list (
const std::vector<
Point<2> > &points,
372 const unsigned int component = 0)
const;
374 virtual void gradient_list (
const std::vector<
Point<2> > &points,
376 const unsigned int component = 0)
const;
378 virtual void vector_gradient_list (
const std::vector<
Point<2> > &,
381 virtual double laplacian (
const Point<2> &p,
382 const unsigned int component = 0)
const;
384 virtual void laplacian_list (
const std::vector<
Point<2> > &points,
385 std::vector<double> &values,
386 const unsigned int component = 0)
const;
407 virtual double value (
const Point<2> &p,
408 const unsigned int component)
const;
410 virtual void value_list (
const std::vector<
Point<2> > &points,
411 std::vector<double> &values,
412 const unsigned int component)
const;
414 virtual void vector_value_list (
const std::vector<
Point<2> > &points,
418 const unsigned int component)
const;
420 virtual void gradient_list (
const std::vector<
Point<2> > &points,
422 const unsigned int component)
const;
424 virtual void vector_gradient_list (
const std::vector<
Point<2> > &,
427 virtual double laplacian (
const Point<2> &p,
428 const unsigned int component)
const;
430 virtual void laplacian_list (
const std::vector<
Point<2> > &points,
431 std::vector<double> &values,
432 const unsigned int component)
const;
448 const unsigned int component = 0)
const;
451 std::vector<double> &values,
452 const unsigned int component = 0)
const;
458 const unsigned int component = 0)
const;
460 virtual void gradient_list (
const std::vector<
Point<dim> > &points,
462 const unsigned int component = 0)
const;
464 virtual void vector_gradient_list (
const std::vector<
Point<dim> > &,
468 const unsigned int component = 0)
const;
471 std::vector<double> &values,
472 const unsigned int component = 0)
const;
485 virtual double value (
const Point<2> &p,
486 const unsigned int component = 0)
const;
488 virtual void value_list (
const std::vector<
Point<2> > &points,
489 std::vector<double> &values,
490 const unsigned int component = 0)
const;
492 virtual void vector_value_list (
const std::vector<
Point<2> > &points,
496 const unsigned int component = 0)
const;
498 virtual void gradient_list (
const std::vector<
Point<2> > &points,
500 const unsigned int component = 0)
const;
502 virtual void vector_gradient_list (
const std::vector<
Point<2> > &,
505 virtual double laplacian (
const Point<2> &p,
506 const unsigned int component = 0)
const;
508 virtual void laplacian_list (
const std::vector<
Point<2> > &points,
509 std::vector<double> &values,
510 const unsigned int component = 0)
const;
545 const unsigned int component = 0)
const;
551 std::vector<double> &values,
552 const unsigned int component = 0)
const;
558 const unsigned int component = 0)
const;
565 const unsigned int component = 0)
const;
571 const unsigned int component = 0)
const;
577 std::vector<double> &values,
578 const unsigned int component = 0)
const;
646 const unsigned int component = 0)
const;
653 const unsigned int component = 0)
const;
659 const unsigned int component = 0)
const;
698 const unsigned int component = 0)
const;
705 const unsigned int component = 0)
const;
711 const unsigned int component = 0)
const;
738 const std::vector<double> &weights);
747 const unsigned int component = 0)
const;
754 const unsigned int component = 0)
const;
760 const unsigned int component = 0)
const;
766 const std::vector<double> weights;
790 const std::vector<double> &weights);
799 const unsigned int component = 0)
const;
806 const unsigned int component = 0)
const;
812 const unsigned int component = 0)
const;
819 const std::vector<double> weights;
910 const unsigned int component = 0)
const;
916 std::vector<double> &values,
917 const unsigned int component = 0)
const;
956 const unsigned int component = 0)
const;
962 std::vector<double> &values,
963 const unsigned int component = 0)
const;
1003 const unsigned int component = 0)
const;
1009 std::vector<double> &values,
1010 const unsigned int component = 0)
const;
1022 const unsigned int component = 0)
const;
1057 const unsigned int component = 0)
const;
1072 std::vector<double> &values,
1073 const unsigned int component = 0)
const;
1079 const unsigned int component = 0)
const;
1155 const unsigned int component = 0)
const;
1171 const unsigned int component = 0)
const;
1261 const unsigned int component = 0)
const;
1313 const unsigned int component = 0)
const;
1320 std::vector<double> &values,
1321 const unsigned int component = 0)
const;
1327 const unsigned int component = 0)
const;
1345 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
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
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
const unsigned int n_components
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
const std_cxx11::array< std::vector< double >, dim > coordinate_values
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
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
InterpolatedTensorProductGridData(const std_cxx11::array< std::vector< double >, dim > &coordinate_values, const Table< dim, double > &data_values)
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)