Skip to content

Commit

Permalink
p:d:GridRefinement: accept other types of triangulations
Browse files Browse the repository at this point in the history
  • Loading branch information
peterrum committed Jun 28, 2022
1 parent 685249d commit fb14a91
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 32 deletions.
12 changes: 6 additions & 6 deletions include/deal.II/distributed/grid_refinement.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,8 @@ namespace parallel
template <int dim, typename Number, int spacedim>
void
refine_and_coarsen_fixed_number(
parallel::distributed::Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> & criteria,
Triangulation<dim, spacedim> & tria,
const dealii::Vector<Number> & criteria,
const double top_fraction_of_cells,
const double bottom_fraction_of_cells,
const types::global_cell_index max_n_cells =
Expand Down Expand Up @@ -205,10 +205,10 @@ namespace parallel
template <int dim, typename Number, int spacedim>
void
refine_and_coarsen_fixed_fraction(
parallel::distributed::Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> & criteria,
const double top_fraction_of_error,
const double bottom_fraction_of_error,
Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> &criteria,
const double top_fraction_of_error,
const double bottom_fraction_of_error,
const VectorTools::NormType norm_type = VectorTools::NormType::L1_norm);
} // namespace GridRefinement
} // namespace distributed
Expand Down
38 changes: 18 additions & 20 deletions source/distributed/grid_refinement.cc
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,9 @@ namespace
*/
template <int dim, int spacedim, typename Number>
void
get_locally_owned_indicators(
const parallel::distributed::Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> & criteria,
Vector<Number> &locally_owned_indicators)
get_locally_owned_indicators(const Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> & criteria,
Vector<Number> &locally_owned_indicators)
{
Assert(locally_owned_indicators.size() ==
tria.n_locally_owned_active_cells(),
Expand Down Expand Up @@ -170,10 +169,10 @@ namespace
*/
template <int dim, int spacedim, typename Number>
void
mark_cells(parallel::distributed::Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> & criteria,
const double top_threshold,
const double bottom_threshold)
mark_cells(Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> &criteria,
const double top_threshold,
const double bottom_threshold)
{
dealii::GridRefinement::refine(tria, criteria, top_threshold);
dealii::GridRefinement::coarsen(tria, criteria, bottom_threshold);
Expand All @@ -200,10 +199,10 @@ namespace
template <int dim, int spacedim, typename Number>
void
refine_and_coarsen_fixed_fraction_via_l1_norm(
parallel::distributed::Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> & criteria,
const double top_fraction_of_error,
const double bottom_fraction_of_error)
Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> &criteria,
const double top_fraction_of_error,
const double bottom_fraction_of_error)
{
// first extract from the vector of indicators the ones that correspond
// to cells that we locally own
Expand Down Expand Up @@ -492,8 +491,8 @@ namespace parallel
template <int dim, typename Number, int spacedim>
void
refine_and_coarsen_fixed_number(
parallel::distributed::Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> & criteria,
Triangulation<dim, spacedim> & tria,
const dealii::Vector<Number> & criteria,
const double top_fraction_of_cells,
const double bottom_fraction_of_cells,
const types::global_cell_index max_n_cells)
Expand Down Expand Up @@ -564,12 +563,11 @@ namespace parallel

template <int dim, typename Number, int spacedim>
void
refine_and_coarsen_fixed_fraction(
parallel::distributed::Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> & criteria,
const double top_fraction_of_error,
const double bottom_fraction_of_error,
const VectorTools::NormType norm_type)
refine_and_coarsen_fixed_fraction(Triangulation<dim, spacedim> &tria,
const dealii::Vector<Number> &criteria,
const double top_fraction_of_error,
const double bottom_fraction_of_error,
const VectorTools::NormType norm_type)
{
Assert(criteria.size() == tria.n_active_cells(),
ExcDimensionMismatch(criteria.size(), tria.n_active_cells()));
Expand Down
10 changes: 4 additions & 6 deletions source/distributed/grid_refinement.inst.in
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ for (S : REAL_SCALARS; deal_II_dimension : DIMENSIONS)
refine_and_coarsen_fixed_number<deal_II_dimension,
S,
deal_II_dimension>(
parallel::distributed::Triangulation<deal_II_dimension> &,
Triangulation<deal_II_dimension> &,
const dealii::Vector<S> &,
const double,
const double,
Expand All @@ -75,7 +75,7 @@ for (S : REAL_SCALARS; deal_II_dimension : DIMENSIONS)
refine_and_coarsen_fixed_fraction<deal_II_dimension,
S,
deal_II_dimension>(
parallel::distributed::Triangulation<deal_II_dimension> &,
Triangulation<deal_II_dimension> &,
const dealii::Vector<S> &,
const double,
const double,
Expand All @@ -97,8 +97,7 @@ for (S : REAL_SCALARS; deal_II_dimension : DIMENSIONS)
refine_and_coarsen_fixed_number<deal_II_dimension - 1,
S,
deal_II_dimension>(
parallel::distributed::Triangulation<deal_II_dimension - 1,
deal_II_dimension> &,
Triangulation<deal_II_dimension - 1, deal_II_dimension> &,
const dealii::Vector<S> &,
const double,
const double,
Expand All @@ -108,8 +107,7 @@ for (S : REAL_SCALARS; deal_II_dimension : DIMENSIONS)
refine_and_coarsen_fixed_fraction<deal_II_dimension - 1,
S,
deal_II_dimension>(
parallel::distributed::Triangulation<deal_II_dimension - 1,
deal_II_dimension> &,
Triangulation<deal_II_dimension - 1, deal_II_dimension> &,
const dealii::Vector<S> &,
const double,
const double,
Expand Down

0 comments on commit fb14a91

Please sign in to comment.