16#ifndef dealii_function_lib_h
17#define dealii_function_lib_h
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;
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;
94 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
98 std::vector<double> & values,
99 const unsigned int component = 0)
const override;
107 const unsigned int component = 0)
const override;
112 const unsigned int component = 0)
const override;
124 const unsigned int component = 0)
const override;
131 std::vector<double> & values,
132 const unsigned int component = 0)
const override;
165 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
172 std::vector<double> & values,
173 const unsigned int component = 0)
const override;
180 const unsigned int component = 0)
const override;
188 const unsigned int component = 0)
const override;
195 const unsigned int component = 0)
const override;
202 std::vector<double> & values,
203 const unsigned int component = 0)
const override;
229 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
233 std::vector<double> & values,
234 const unsigned int component = 0)
const override;
242 const unsigned int component = 0)
const override;
247 const unsigned int component = 0)
const override;
251 const unsigned int component = 0)
const override;
255 std::vector<double> & values,
256 const unsigned int component = 0)
const override;
263 const unsigned int component = 0)
const override;
271 const unsigned int component = 0)
const override;
296 value(
const Point<dim> &p,
const unsigned int component)
const override;
301 std::vector<double> & values,
302 const unsigned int component)
const override;
314 const unsigned int component)
const override;
319 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
340 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
347 std::vector<double> & values,
348 const unsigned int component = 0)
const override;
355 const unsigned int component = 0)
const override;
363 const unsigned int component = 0)
const override;
370 const unsigned int component = 0)
const override;
377 std::vector<double> & values,
378 const unsigned int component = 0)
const override;
414 value(
const Point<2> &p,
const unsigned int component = 0)
const override;
418 std::vector<double> & values,
419 const unsigned int component = 0)
const override;
427 const unsigned int component = 0)
const override;
432 const unsigned int component = 0)
const override;
437 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
441 const unsigned int component = 0)
const override;
445 std::vector<double> & values,
446 const unsigned int component = 0)
const override;
467 value(
const Point<2> &p,
const unsigned int component)
const override;
471 std::vector<double> & values,
472 const unsigned int component)
const override;
484 const unsigned int component)
const override;
489 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
496 std::vector<double> & values,
497 const unsigned int component)
const override;
512 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
516 std::vector<double> & values,
517 const unsigned int component = 0)
const override;
525 const unsigned int component = 0)
const override;
530 const unsigned int component = 0)
const override;
539 const unsigned int component = 0)
const override;
543 std::vector<double> & values,
544 const unsigned int component = 0)
const override;
557 value(
const Point<2> &p,
const unsigned int component = 0)
const override;
561 std::vector<double> & values,
562 const unsigned int component = 0)
const override;
570 const unsigned int component = 0)
const override;
575 const unsigned int component = 0)
const override;
580 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
584 const unsigned int component = 0)
const override;
588 std::vector<double> & values,
589 const unsigned int component = 0)
const override;
622 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
629 std::vector<double> & values,
630 const unsigned int component = 0)
const override;
637 const unsigned int component = 0)
const override;
645 const unsigned int component = 0)
const override;
652 const unsigned int component = 0)
const override;
659 std::vector<double> & values,
660 const unsigned int component = 0)
const override;
728 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
736 const unsigned int component = 0)
const override;
743 const unsigned int component = 0)
const override;
782 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
790 const unsigned int component = 0)
const override;
797 const unsigned int component = 0)
const override;
824 const std::vector<double> &
weights);
833 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
841 const unsigned int component = 0)
const override;
848 const unsigned int component = 0)
const override;
878 const std::vector<double> &
weights);
887 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
895 const unsigned int component = 0)
const override;
902 const unsigned int component = 0)
const override;
1060 template <
template <
int>
class CutOffFunctionBaseType>
1080 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1087 const unsigned int component = 0)
const override;
1090 std::array<std::unique_ptr<CutOffFunctionBase<1>>, dim>
base;
1116 const double radius = 1.,
1126 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1133 std::vector<double> & values,
1134 const unsigned int component = 0)
const override;
1164 const double radius = 1.,
1174 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1181 std::vector<double> & values,
1182 const unsigned int component = 0)
const override;
1213 const double radius = 1.,
1223 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1230 std::vector<double> & values,
1231 const unsigned int component = 0)
const override;
1245 const unsigned int component = 0)
const override;
1269 const double radius = 1.,
1279 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1286 std::vector<double> & values,
1287 const unsigned int component = 0)
const override;
1301 const unsigned int component = 0)
const override;
1319 template <
int dim,
typename Number =
double>
1336 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1352 std::vector<Number> & values,
1353 const unsigned int component = 0)
const override;
1360 const unsigned int component = 0)
const override;
1501 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1516 const unsigned int component = 0)
const override;
1640 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1655 const unsigned int component = 0)
const override;
1719 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1727 std::vector<double> & values,
1728 const unsigned int component = 0)
const override;
1735 const unsigned int component = 0)
const override;
1761 template <
template <
int>
class CutOffFunctionBaseType>
1767 std::is_base_of<CutOffFunctionBase<1>, CutOffFunctionBaseType<1>>::value,
1768 "You can only construct a CutOffFunctionTensorProduct function from "
1769 "a class derived from CutOffFunctionBase.");
1771 for (
unsigned int i = 0; i < dim; ++i)
1772 base[i].reset(
new CutOffFunctionBaseType<1>(this->radius,
1776 this->integrate_to_one));
const unsigned int n_components
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const override
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
virtual SymmetricTensor< 2, dim > hessian(const Point< dim > &p, const unsigned int component=0) const override
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual void hessian_list(const std::vector< Point< dim > > &points, std::vector< SymmetricTensor< 2, dim > > &hessians, const unsigned int component=0) const override
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component) const override
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component) const override
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component) const override
virtual double value(const Point< dim > &p, const unsigned int component) const override
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const override
virtual double laplacian(const Point< dim > &p, const unsigned int component) const override
virtual void vector_gradient_list(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim > > > &gradients) const override
virtual void set_radius(const double r)
virtual ~CutOffFunctionBase()=default
const unsigned int selected
const double unitary_integral_value
bool integrates_to_one() const
double get_radius() const
virtual void set_center(const Point< dim > &p)
const Point< dim > & get_center() const
static const unsigned int no_component
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, 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 value(const Point< dim > &p, const unsigned int component=0) const override
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
std::array< std::unique_ptr< CutOffFunctionBase< 1 > >, dim > base
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
virtual void set_radius(const double radius) override
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
virtual void set_center(const Point< dim > ¢er) override
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual double value(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
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const override
virtual double value(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
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
const Tensor< 1, dim > fourier_coefficients
const std::vector< Point< dim > > fourier_coefficients
virtual double laplacian(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 value(const Point< dim > &p, const unsigned int component=0) const override
const std::vector< double > weights
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const override
const Tensor< 1, dim > fourier_coefficients
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
const std::vector< Point< dim > > fourier_coefficients
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
virtual double value(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
const std::vector< double > weights
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
const Table< dim, double > & get_data() const
TableIndices< dim > table_index_of_point(const Point< dim > &p) const
virtual std::size_t memory_consumption() const override
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
const std::array< std::vector< double >, dim > coordinate_values
const Table< dim, double > data_values
const Point< dim > direction
virtual std::size_t memory_consumption() const override
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual double laplacian(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 void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const override
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
virtual void laplacian_list(const std::vector< Point< 2 > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< 2 > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual Tensor< 1, 2 > gradient(const Point< 2 > &p, const unsigned int component=0) const override
virtual double laplacian(const Point< 2 > &p, const unsigned int component=0) const override
virtual double value(const Point< 2 > &p, const unsigned int component=0) const override
virtual void vector_gradient_list(const std::vector< Point< 2 > > &, std::vector< std::vector< Tensor< 1, 2 > > > &) const override
virtual void gradient_list(const std::vector< Point< 2 > > &points, std::vector< Tensor< 1, 2 > > &gradients, const unsigned int component=0) const override
virtual void vector_value_list(const std::vector< Point< 2 > > &points, std::vector< Vector< double > > &values) const override
virtual void vector_gradient_list(const std::vector< Point< 2 > > &, std::vector< std::vector< Tensor< 1, 2 > > > &) const override
virtual double laplacian(const Point< 2 > &p, const unsigned int component) const override
virtual void value_list(const std::vector< Point< 2 > > &points, std::vector< double > &values, const unsigned int component) const override
virtual void vector_value_list(const std::vector< Point< 2 > > &points, std::vector< Vector< double > > &values) const override
virtual void laplacian_list(const std::vector< Point< 2 > > &points, std::vector< double > &values, const unsigned int component) const override
LSingularityGradFunction()
virtual void gradient_list(const std::vector< Point< 2 > > &points, std::vector< Tensor< 1, 2 > > &gradients, const unsigned int component) const override
virtual Tensor< 1, 2 > gradient(const Point< 2 > &p, const unsigned int component) const override
virtual double value(const Point< 2 > &p, const unsigned int component) const override
virtual Number value(const Point< dim > &p, const unsigned int component=0) const override
virtual Tensor< 1, dim, Number > gradient(const Point< dim > &p, const unsigned int component=0) const override
const Tensor< 1, dim, Number > exponents
virtual void vector_value(const Point< dim > &p, Vector< Number > &values) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< Number > &values, const unsigned int component=0) const override
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const override
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const override
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 void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
const Table< 2, double > exponents
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual std::size_t memory_consumption() const override
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
const std::vector< double > coefficients
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const override
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual double laplacian(const Point< dim > &p, const unsigned int component=0) const override
virtual void vector_gradient_list(const std::vector< Point< dim > > &, std::vector< std::vector< Tensor< 1, dim > > > &) const override
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
virtual void gradient_list(const std::vector< Point< 2 > > &points, std::vector< Tensor< 1, 2 > > &gradients, const unsigned int component=0) const override
virtual void laplacian_list(const std::vector< Point< 2 > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< 2 > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void vector_gradient_list(const std::vector< Point< 2 > > &, std::vector< std::vector< Tensor< 1, 2 > > > &) const override
virtual double value(const Point< 2 > &p, const unsigned int component=0) const override
virtual void vector_value_list(const std::vector< Point< 2 > > &points, std::vector< Vector< double > > &values) const override
virtual double laplacian(const Point< 2 > &p, const unsigned int component=0) const override
virtual Tensor< 1, 2 > gradient(const Point< 2 > &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
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const override
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void laplacian_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 > > &, std::vector< std::vector< Tensor< 1, dim > > > &) const override
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
virtual double value(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
virtual void value_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const override
virtual void gradient_list(const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const override
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int component=0) const override
virtual void laplacian_list(const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const override
virtual void vector_gradient(const Point< dim > &p, std::vector< Tensor< 1, dim > > &gradient) const override
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static const unsigned int invalid_unsigned_int