*/
virtual ~Triangulation() override = default;
+ /**
+ * Return if multilevel hierarchy is supported and has been constructed.
+ */
+ virtual bool
+ is_multilevel_hierarchy_constructed() const override;
+
/**
* Coarsen and refine the mesh according to refinement and coarsening
* flags set.
*/
Triangulation() = delete;
+ /**
+ * Return if multilevel hierarchy is supported and has been constructed.
+ */
+ virtual bool
+ is_multilevel_hierarchy_constructed() const override;
+
/**
* A dummy function to return empty vector.
*/
virtual const MPI_Comm &
get_communicator() const;
+ /**
+ * Return if multilevel hierarchy is supported and has been constructed.
+ */
+ virtual bool
+ is_multilevel_hierarchy_constructed() const = 0;
+
/**
* Implementation of the same function as in the base class.
*
const typename dealii::Triangulation<dim, spacedim>::MeshSmoothing
smooth_grid = (dealii::Triangulation<dim, spacedim>::none),
const bool check_for_distorted_cells = false);
-
- /**
- * Return if multilevel hierarchy is supported and has been constructed.
- */
- virtual bool
- is_multilevel_hierarchy_constructed() const = 0;
};
} // namespace parallel
+ template <int dim, int spacedim>
+ bool
+ Triangulation<dim, spacedim>::is_multilevel_hierarchy_constructed() const
+ {
+ return (settings & construct_multigrid_hierarchy);
+ }
+
+
+
template <int dim, int spacedim>
void
Triangulation<dim, spacedim>::partition()
return true;
}
-
+ template <int dim, int spacedim>
+ bool
+ Triangulation<dim, spacedim>::is_multilevel_hierarchy_constructed() const
+ {
+ return false;
+ }
template <int dim, int spacedim>
const std::vector<unsigned int> &