23#ifdef DEAL_II_WITH_P4EST
44 template <
int dim,
int spacedim>
53 return tria.n_active_cells();
56 template <
typename number>
67 template <
typename number>
83 template <
typename number>
113 template <
int dim,
int spacedim,
typename Number>
120 n_locally_owned_active_cells(tria),
124 for (
const auto &cell :
128 criteria(cell->active_cell_index());
167 const double difference =
181 template <
int dim,
int spacedim,
typename Number>
193 for (
const auto &cell : tria.active_cell_iterators())
196 cell->clear_refine_flag();
197 cell->clear_coarsen_flag();
210 template <
int dim,
int spacedim,
typename Number>
223 MPI_Comm mpi_communicator = tria.get_mpi_communicator();
268 namespace distributed
272 template <
typename number>
273 std::pair<number, number>
286 double result[2] = {0, 0};
302 namespace RefineAndCoarsenFixedNumber
304 template <
typename number>
343 return c > test_threshold;
385 namespace RefineAndCoarsenFixedFraction
387 template <
typename number>
439 for (
unsigned int i = 0; i <
criteria.size(); ++i)
497 namespace distributed
501 template <
int dim,
typename Number,
int spacedim>
524 dim>(tria.n_global_active_cells(),
532 n_locally_owned_active_cells(tria));
535 MPI_Comm mpi_communicator = tria.get_mpi_communicator();
551 tria.n_global_active_cells()),
563 tria.n_global_active_cells())),
574 template <
int dim,
typename Number,
int spacedim>
619 [](Number c) { return c * c; });
640# include "distributed/grid_refinement.inst"
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_ASSERT_UNREACHABLE()
#define DEAL_II_NOT_IMPLEMENTED()
#define Assert(cond, exc)
#define AssertThrowMPI(error_code)
static ::ExceptionBase & ExcNegativeCriteria()
static ::ExceptionBase & ExcInvalidParameterValue()
static ::ExceptionBase & ExcInternalError()
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
void refine(Triangulation< dim, spacedim > &tria, const Vector< Number > &criteria, const double threshold, const unsigned int max_to_mark=numbers::invalid_unsigned_int)
void coarsen(Triangulation< dim, spacedim > &tria, const Vector< Number > &criteria, const double threshold)
std::pair< double, double > adjust_refine_and_coarsen_number_fraction(const types::global_cell_index current_n_cells, const types::global_cell_index max_n_cells, const double top_fraction_of_cells, const double bottom_fraction_of_cells)
T sum(const T &t, const MPI_Comm mpi_communicator)
unsigned int this_mpi_process(const MPI_Comm mpi_communicator)
number compute_threshold(const ::Vector< number > &criteria, const std::pair< double, double > &global_min_and_max, const double target_error, const MPI_Comm mpi_communicator)
number compute_threshold(const ::Vector< number > &criteria, const std::pair< double, double > &global_min_and_max, const types::global_cell_index n_target_cells, const MPI_Comm mpi_communicator)
std::pair< number, number > compute_global_min_and_max_at_root(const ::Vector< number > &criteria, const MPI_Comm mpi_communicator)
void refine_and_coarsen_fixed_fraction(::Triangulation< dim, spacedim > &tria, const ::Vector< Number > &criteria, const double top_fraction_of_error, const double bottom_fraction_of_error, const VectorTools::NormType norm_type=VectorTools::L1_norm)
void refine_and_coarsen_fixed_number(::Triangulation< dim, spacedim > &tria, const ::Vector< Number > &criteria, const double top_fraction_of_cells, const double bottom_fraction_of_cells, const types::global_cell_index max_n_cells=std::numeric_limits< types::global_cell_index >::max())
::VectorizedArray< Number, width > min(const ::VectorizedArray< Number, width > &, const ::VectorizedArray< Number, width > &)
::VectorizedArray< Number, width > sqrt(const ::VectorizedArray< Number, width > &)
::VectorizedArray< Number, width > abs(const ::VectorizedArray< Number, width > &)
unsigned int subdomain_id