16 #ifndef dealii_function_lib_h 17 #define dealii_function_lib_h 56 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
61 std::vector<double> & values,
62 const unsigned int component = 0)
const override;
65 const unsigned int component = 0)
const override;
72 const unsigned int component = 0)
const override;
75 const unsigned int component = 0)
const override;
78 std::vector<double> & values,
79 const unsigned int component = 0)
const override;
96 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
100 std::vector<double> & values,
101 const unsigned int component = 0)
const override;
109 const unsigned int component = 0)
const override;
114 const unsigned int component = 0)
const override;
126 const unsigned int component = 0)
const override;
133 std::vector<double> & values,
134 const unsigned int component = 0)
const override;
168 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
175 std::vector<double> & values,
176 const unsigned int component = 0)
const override;
183 const unsigned int component = 0)
const override;
191 const unsigned int component = 0)
const override;
198 const unsigned int component = 0)
const override;
205 std::vector<double> & values,
206 const unsigned int component = 0)
const override;
233 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
237 std::vector<double> & values,
238 const unsigned int component = 0)
const override;
246 const unsigned int component = 0)
const override;
251 const unsigned int component = 0)
const override;
255 const unsigned int component = 0)
const override;
259 std::vector<double> & values,
260 const unsigned int component = 0)
const override;
267 const unsigned int component = 0)
const override;
275 const unsigned int component = 0)
const override;
301 value(
const Point<dim> &p,
const unsigned int component)
const override;
306 std::vector<double> & values,
307 const unsigned int component)
const override;
319 const unsigned int component)
const override;
324 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
346 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
353 std::vector<double> & values,
354 const unsigned int component = 0)
const override;
361 const unsigned int component = 0)
const override;
369 const unsigned int component = 0)
const override;
376 const unsigned int component = 0)
const override;
383 std::vector<double> & values,
384 const unsigned int component = 0)
const override;
404 value(
const Point<2> &p,
const unsigned int component = 0)
const override;
408 std::vector<double> & values,
409 const unsigned int component = 0)
const override;
417 const unsigned int component = 0)
const override;
422 const unsigned int component = 0)
const override;
427 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
431 const unsigned int component = 0)
const override;
435 std::vector<double> & values,
436 const unsigned int component = 0)
const override;
458 value(
const Point<2> &p,
const unsigned int component)
const override;
462 std::vector<double> & values,
463 const unsigned int component)
const override;
475 const unsigned int component)
const override;
480 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
487 std::vector<double> & values,
488 const unsigned int component)
const override;
504 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
508 std::vector<double> & values,
509 const unsigned int component = 0)
const override;
517 const unsigned int component = 0)
const override;
522 const unsigned int component = 0)
const override;
531 const unsigned int component = 0)
const override;
535 std::vector<double> & values,
536 const unsigned int component = 0)
const override;
550 value(
const Point<2> &p,
const unsigned int component = 0)
const override;
554 std::vector<double> & values,
555 const unsigned int component = 0)
const override;
563 const unsigned int component = 0)
const override;
568 const unsigned int component = 0)
const override;
573 std::vector<std::vector<
Tensor<1, 2>>> &)
const override;
577 const unsigned int component = 0)
const override;
581 std::vector<double> & values,
582 const unsigned int component = 0)
const override;
616 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
623 std::vector<double> & values,
624 const unsigned int component = 0)
const override;
631 const unsigned int component = 0)
const override;
639 const unsigned int component = 0)
const override;
646 const unsigned int component = 0)
const override;
653 std::vector<double> & values,
654 const unsigned int component = 0)
const override;
723 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
731 const unsigned int component = 0)
const override;
738 const unsigned int component = 0)
const override;
778 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
786 const unsigned int component = 0)
const override;
793 const unsigned int component = 0)
const override;
821 const std::vector<double> & weights);
830 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
838 const unsigned int component = 0)
const override;
845 const unsigned int component = 0)
const override;
876 const std::vector<double> & weights);
885 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
893 const unsigned int component = 0)
const override;
900 const unsigned int component = 0)
const override;
949 const double radius = 1.,
953 const bool integrate_to_one =
false,
954 const double unitary_integral_value = 1.0);
975 new_radius(
const double r);
987 set_radius(
const double r);
1005 integrates_to_one()
const;
1066 double radius = 1.0,
1070 const bool integrate_to_one =
false);
1076 template <
template <
int>
class CutOffFunctionBaseType>
1090 set_radius(
const double radius)
override;
1096 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1103 const unsigned int component = 0)
const override;
1106 std::array<std::unique_ptr<CutOffFunctionBase<1>>, dim>
base;
1133 const double radius = 1.,
1137 const bool integrate_to_one =
false);
1143 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1150 std::vector<double> & values,
1151 const unsigned int component = 0)
const override;
1182 const double radius = 1.,
1186 const bool integrate_to_one =
false);
1192 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1199 std::vector<double> & values,
1200 const unsigned int component = 0)
const override;
1232 const double radius = 1.,
1236 bool integrate_to_one =
false);
1242 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1249 std::vector<double> & values,
1250 const unsigned int component = 0)
const override;
1264 const unsigned int component = 0)
const override;
1289 const double radius = 1.,
1293 bool integrate_to_one =
false);
1299 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1306 std::vector<double> & values,
1307 const unsigned int component = 0)
const override;
1321 const unsigned int component = 0)
const override;
1357 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1373 std::vector<double> & values,
1374 const unsigned int component = 0)
const override;
1381 const unsigned int component = 0)
const override;
1443 const std::array<std::vector<double>, dim> &coordinate_values,
1457 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1472 const unsigned int component = 0)
const override;
1479 table_index_of_point(
const Point<dim> &p)
const;
1548 const std::array<std::pair<double, double>, dim> &interval_endpoints,
1549 const std::array<unsigned int, dim> & n_subintervals,
1563 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1578 const unsigned int component = 0)
const override;
1625 const std::vector<double> &coefficients);
1631 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
1639 std::vector<double> & values,
1640 const unsigned int component = 0)
const override;
1647 const unsigned int component = 0)
const override;
1667 template <
template <
int>
class CutOffFunctionBaseType>
1674 "You can only construct a CutOffFunctionTensorProduct function from " 1675 "a class derived from CutOffFunctionBase.");
1677 for (
unsigned int i = 0; i < dim; ++i)
1678 base[i].reset(
new CutOffFunctionBaseType<1>(this->radius,
1682 this->integrate_to_one));
const Tensor< 1, dim > exponents
const std::vector< double > weights
static const unsigned int invalid_unsigned_int
const unsigned int n_components
const double unitary_integral_value
virtual void vector_gradient_list(const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim, double >>> &gradients) const
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(const Point< dim > &p, std::vector< Tensor< 1, dim >> &gradient) const override
std::array< std::unique_ptr< CutOffFunctionBase< 1 > >, dim > base
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
const Table< dim, double > data_values
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
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 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
const std::vector< double > weights
#define DEAL_II_NAMESPACE_CLOSE
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
#define DEAL_II_NAMESPACE_OPEN
const Tensor< 1, dim > fourier_coefficients
std::size_t memory_consumption() const
#define DEAL_II_DEPRECATED
virtual void laplacian_list(const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const override