16#ifndef dealii_hp_refinement_h
17#define dealii_hp_refinement_h
33template <
typename Number>
36template <
int dim,
int spacedim>
137 template <
typename Number>
139 std::function<
bool(
const Number &,
const Number &)>;
155 template <
int dim,
int spacedim>
173 template <
int dim,
int spacedim>
176 const ::DoFHandler<dim, spacedim> &dof_handler,
177 const std::vector<bool> & p_flags);
204 template <
int dim,
typename Number,
int spacedim>
207 const ::DoFHandler<dim, spacedim> &dof_handler,
209 const Number p_refine_threshold,
210 const Number p_coarsen_threshold,
212 &compare_refine = std::greater_equal<Number>(),
214 &compare_coarsen = std::less_equal<Number>());
247 template <
int dim,
typename Number,
int spacedim>
250 const ::DoFHandler<dim, spacedim> &dof_handler,
252 const double p_refine_fraction = 0.5,
253 const double p_coarsen_fraction = 0.5,
255 &compare_refine = std::greater_equal<Number>(),
257 &compare_coarsen = std::less_equal<Number>());
291 template <
int dim,
typename Number,
int spacedim>
294 const ::DoFHandler<dim, spacedim> &dof_handler,
296 const double p_refine_fraction = 0.5,
297 const double p_coarsen_fraction = 0.5,
299 &compare_refine = std::greater_equal<Number>(),
301 &compare_coarsen = std::less_equal<Number>());
329 template <
int dim,
typename Number,
int spacedim>
332 const ::DoFHandler<dim, spacedim> &dof_handler,
355 template <
int dim,
typename Number,
int spacedim>
358 const ::DoFHandler<dim, spacedim> & dof_handler,
593 template <
int dim,
typename Number,
int spacedim>
595 predict_error(const ::DoFHandler<dim, spacedim> &dof_handler,
599 const double gamma_h = 2.,
600 const double gamma_n = 1.);
622 template <
int dim,
int spacedim>
670 template <
int dim,
int spacedim>
715 template <
int dim,
int spacedim>
718 const ::DoFHandler<dim, spacedim> &dof_handler,
719 const unsigned int max_difference = 1,
720 const unsigned int contains_fe_index = 0);
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
void p_adaptivity_from_reference(const ::DoFHandler< dim, spacedim > &dof_handler, const Vector< Number > &criteria, const Vector< Number > &references, const ComparisonFunction< typename identity< Number >::type > &compare_refine, const ComparisonFunction< typename identity< Number >::type > &compare_coarsen)
bool limit_p_level_difference(const ::DoFHandler< dim, spacedim > &dof_handler, const unsigned int max_difference=1, const unsigned int contains_fe_index=0)
void choose_p_over_h(const ::DoFHandler< dim, spacedim > &dof_handler)
void p_adaptivity_from_flags(const ::DoFHandler< dim, spacedim > &dof_handler, const std::vector< bool > &p_flags)
void p_adaptivity_from_relative_threshold(const ::DoFHandler< dim, spacedim > &dof_handler, const Vector< Number > &criteria, const double p_refine_fraction=0.5, const double p_coarsen_fraction=0.5, const ComparisonFunction< typename identity< Number >::type > &compare_refine=std::greater_equal< Number >(), const ComparisonFunction< typename identity< Number >::type > &compare_coarsen=std::less_equal< Number >())
void p_adaptivity_fixed_number(const ::DoFHandler< dim, spacedim > &dof_handler, const Vector< Number > &criteria, const double p_refine_fraction=0.5, const double p_coarsen_fraction=0.5, const ComparisonFunction< typename identity< Number >::type > &compare_refine=std::greater_equal< Number >(), const ComparisonFunction< typename identity< Number >::type > &compare_coarsen=std::less_equal< Number >())
void force_p_over_h(const ::DoFHandler< dim, spacedim > &dof_handler)
void full_p_adaptivity(const ::DoFHandler< dim, spacedim > &dof_handler)
void p_adaptivity_from_absolute_threshold(const ::DoFHandler< dim, spacedim > &dof_handler, const Vector< Number > &criteria, const Number p_refine_threshold, const Number p_coarsen_threshold, const ComparisonFunction< typename identity< Number >::type > &compare_refine=std::greater_equal< Number >(), const ComparisonFunction< typename identity< Number >::type > &compare_coarsen=std::less_equal< Number >())
void predict_error(const ::DoFHandler< dim, spacedim > &dof_handler, const Vector< Number > &error_indicators, Vector< Number > &predicted_errors, const double gamma_p=std::sqrt(0.4), const double gamma_h=2., const double gamma_n=1.)
std::function< bool(const Number &, const Number &)> ComparisonFunction
void p_adaptivity_from_regularity(const ::DoFHandler< dim, spacedim > &dof_handler, const Vector< Number > &sobolev_indices)
::VectorizedArray< Number, width > sqrt(const ::VectorizedArray< Number, width > &)