21 #ifndef _aspect_compat_h
22 #define _aspect_compat_h
31 #if !DEAL_II_VERSION_GTE(9,6,0)
42 #if !DEAL_II_VERSION_GTE(9,7,0)
54 using ::Utilities::MPI::broadcast;
60 #if DEAL_II_VERSION_GTE(9,9,0)
61 template <
int dim,
typename NumberType>
64 template <
int dim,
typename NumberType>
70 #if DEAL_II_VERSION_GTE(9,7,0)
71 template <
int dim,
typename NumberType>
74 template <
int dim,
typename NumberType>
79 #if !DEAL_II_VERSION_GTE(9,7,0)
86 template <
typename T,
typename P =
void>
99 #if !DEAL_II_VERSION_GTE(9,6,0)
110 template <
int dim,
int spacedim = dim>
125 virtual std::unique_ptr<Manifold<dim, spacedim>>
138 const double w)
const override;
204 std::pair<double, Tensor<1, spacedim>>
246 using ::SphericalManifold;
253 #if !DEAL_II_VERSION_GTE(9,7,0)
291 template <
int dim,
typename RangeNumberType =
double>
293 :
public Function<dim, RangeNumberType>
314 &tensor_function_object,
315 const unsigned int selected_component = 0,
316 const unsigned int n_components = dim);
327 virtual RangeNumberType
328 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
356 const std::function<Tensor<1, dim, RangeNumberType>(
const Point<dim> &)>
369 template <
int dim,
typename RangeNumberType>
373 &tensor_function_object,
374 const unsigned int selected_component,
375 const unsigned int n_components)
376 :
Function<dim, RangeNumberType>(n_components)
377 , tensor_function_object(tensor_function_object)
378 , selected_component(selected_component)
387 template <
int dim,
typename RangeNumberType>
388 inline RangeNumberType
391 const unsigned int component)
const
397 if ((component < selected_component) ||
398 (component >= selected_component + dim))
406 tensor_function_object(p);
408 return tensor_value[component - selected_component];
412 template <
int dim,
typename RangeNumberType>
418 Assert(values.size() == this->n_components,
426 tensor_function_object(p);
433 for (
unsigned int i = 0; i < dim; ++i)
434 values(i + selected_component) = tensor_value[i];
445 template <
int dim,
typename RangeNumberType>
451 Assert(value_list.size() == points.size(),
454 const unsigned int n_points = points.size();
456 for (
unsigned int p = 0; p < n_points; ++p)
458 points[p], value_list[p]);
465 #if !DEAL_II_VERSION_GTE(9,7,0)
471 const double inner_radius,
472 const double outer_radius);
480 #if !DEAL_II_VERSION_GTE(9,8,0)
std::array< Tensor< 1, spacedim >, GeometryInfo< dim >::vertices_per_face > FaceVertexNormals
virtual Tensor< 1, spacedim > get_tangent_vector(const Point< spacedim > &x1, const Point< spacedim > &x2) const override
void do_get_new_points(const ArrayView< const Point< spacedim >> &surrounding_points, const ArrayView< const double > &weights, ArrayView< Point< spacedim >> new_points) const
virtual void get_normals_at_vertices(const typename Triangulation< dim, spacedim >::face_iterator &face, typename Manifold< dim, spacedim >::FaceVertexNormals &face_vertex_normals) const override
virtual Tensor< 1, spacedim > normal_vector(const typename Triangulation< dim, spacedim >::face_iterator &face, const Point< spacedim > &p) const override
virtual Point< spacedim > get_intermediate_point(const Point< spacedim > &p1, const Point< spacedim > &p2, const double w) const override
virtual Point< spacedim > get_new_point(const ArrayView< const Point< spacedim >> &vertices, const ArrayView< const double > &weights) const override
const Point< spacedim > center
virtual void get_new_points(const ArrayView< const Point< spacedim >> &surrounding_points, const Table< 2, double > &weights, ArrayView< Point< spacedim >> new_points) const override
SphericalManifold(const Point< spacedim > center=Point< spacedim >())
std::pair< double, Tensor< 1, spacedim > > guess_new_point(const ArrayView< const Tensor< 1, spacedim >> &directions, const ArrayView< const double > &distances, const ArrayView< const double > &weights) const
const PolarManifold< spacedim > polar_manifold
virtual std::unique_ptr< Manifold< dim, spacedim > > clone() const override
const std::function< Tensor< 1, dim, RangeNumberType >const Point< dim > &)> tensor_function_object
VectorFunctionFromTensorFunctionObject(const std::function< Tensor< 1, dim, RangeNumberType >(const Point< dim > &)> &tensor_function_object, const unsigned int selected_component=0, const unsigned int n_components=dim)
virtual RangeNumberType value(const Point< dim > &p, const unsigned int component=0) const override
const unsigned int selected_component
virtual void vector_value_list(const std::vector< Point< dim >> &points, std::vector< Vector< RangeNumberType >> &value_list) const override
virtual void vector_value(const Point< dim > &p, Vector< RangeNumberType > &values) const override
virtual ~VectorFunctionFromTensorFunctionObject() override=default
#define Assert(cond, exc)
#define AssertIndexRange(index, range)
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
void colorize_quarter_hyper_shell(Triangulation< dim > &tria, const Point< dim > ¢er, const double inner_radius, const double outer_radius)
::ReferenceCell ReferenceCell