16 #ifndef dealii_tensor_function_h 17 #define dealii_tensor_function_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/exceptions.h> 23 #include <deal.II/base/function.h> 24 #include <deal.II/base/function_time.h> 25 #include <deal.II/base/point.h> 26 #include <deal.II/base/smartpointer.h> 27 #include <deal.II/base/subscriptor.h> 31 DEAL_II_NAMESPACE_OPEN
56 template <
int rank,
int dim,
typename Number =
double>
93 std::vector<value_type> & values)
const;
108 std::vector<gradient_type> & gradients)
const;
120 template <
int rank,
int dim,
typename Number =
double>
132 const Number initial_time = 0.0);
136 virtual typename ::TensorFunction<rank, dim, Number>::value_type
142 std::vector<typename ::TensorFunction<rank, dim, Number>::value_type>
143 &values)
const override;
145 virtual typename ::TensorFunction<rank, dim, Number>::gradient_type
152 typename ::TensorFunction<rank, dim, Number>::gradient_type>
153 &gradients)
const override;
156 const ::Tensor<rank, dim, Number> _value;
168 template <
int rank,
int dim,
typename Number =
double>
182 DEAL_II_NAMESPACE_CLOSE
virtual void value_list(const std::vector< Point< dim >> &points, std::vector< value_type > &values) const
TensorFunction(const Number initial_time=Number(0.0))
virtual gradient_type gradient(const Point< dim > &p) const
virtual void gradient_list(const std::vector< Point< dim >> &points, std::vector< gradient_type > &gradients) const
virtual value_type value(const Point< dim > &p) const
virtual ~TensorFunction() override=default