21 #ifndef _aspect_compat_h
22 #define _aspect_compat_h
33 #if !DEAL_II_VERSION_GTE(9,7,0)
45 using ::Utilities::MPI::broadcast;
51 #if DEAL_II_VERSION_GTE(9,9,0)
52 template <
int dim,
typename NumberType>
55 template <
int dim,
typename NumberType>
61 #if DEAL_II_VERSION_GTE(9,7,0)
62 template <
int dim,
typename NumberType>
65 template <
int dim,
typename NumberType>
70 #if !DEAL_II_VERSION_GTE(9,7,0)
77 template <
typename T,
typename P =
void>
87 using ::SphericalManifold;
93 #if !DEAL_II_VERSION_GTE(9,7,0)
131 template <
int dim,
typename RangeNumberType =
double>
133 :
public Function<dim, RangeNumberType>
154 &tensor_function_object,
155 const unsigned int selected_component = 0,
156 const unsigned int n_components = dim);
167 virtual RangeNumberType
168 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
196 const std::function<Tensor<1, dim, RangeNumberType>(
const Point<dim> &)>
209 template <
int dim,
typename RangeNumberType>
213 &tensor_function_object,
214 const unsigned int selected_component,
215 const unsigned int n_components)
216 :
Function<dim, RangeNumberType>(n_components)
217 , tensor_function_object(tensor_function_object)
218 , selected_component(selected_component)
227 template <
int dim,
typename RangeNumberType>
228 inline RangeNumberType
231 const unsigned int component)
const
237 if ((component < selected_component) ||
238 (component >= selected_component + dim))
246 tensor_function_object(p);
248 return tensor_value[component - selected_component];
252 template <
int dim,
typename RangeNumberType>
258 Assert(values.size() == this->n_components,
266 tensor_function_object(p);
273 for (
unsigned int i = 0; i < dim; ++i)
274 values(i + selected_component) = tensor_value[i];
285 template <
int dim,
typename RangeNumberType>
291 Assert(value_list.size() == points.size(),
294 const unsigned int n_points = points.size();
296 for (
unsigned int p = 0; p < n_points; ++p)
298 points[p], value_list[p]);
305 #if !DEAL_II_VERSION_GTE(9,7,0)
311 const double inner_radius,
312 const double outer_radius);
320 #if !DEAL_II_VERSION_GTE(9,8,0)
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