Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
tria.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2008 - 2020 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_distributed_tria_h
17 #define dealii_distributed_tria_h
18 
19 
20 #include <deal.II/base/config.h>
21 
25 
28 
29 #include <deal.II/grid/tria.h>
30 
31 #include <boost/range/iterator_range.hpp>
32 
33 #include <functional>
34 #include <list>
35 #include <set>
36 #include <tuple>
37 #include <type_traits>
38 #include <utility>
39 #include <vector>
40 
41 #ifdef DEAL_II_WITH_MPI
42 # include <mpi.h>
43 #endif
44 
45 #ifdef DEAL_II_WITH_P4EST
46 # include <p4est.h>
47 # include <p4est_connectivity.h>
48 # include <p4est_ghost.h>
49 # include <p8est.h>
50 # include <p8est_connectivity.h>
51 # include <p8est_ghost.h>
52 #endif
53 
54 
56 
57 #ifdef DEAL_II_WITH_P4EST
58 
59 // Forward declarations
60 # ifndef DOXYGEN
61 
62 namespace FETools
63 {
64  namespace internal
65  {
66  template <int, int, class>
67  class ExtrapolateImplementation;
68  }
69 } // namespace FETools
70 
71 // forward declaration of the data type for periodic face pairs
72 namespace GridTools
73 {
74  template <typename CellIterator>
75  struct PeriodicFacePair;
76 }
77 # endif
78 
79 namespace parallel
80 {
81  namespace distributed
82  {
241  template <int dim, int spacedim = dim>
243  : public ::parallel::DistributedTriangulationBase<dim, spacedim>
244  {
245  public:
263  using cell_iterator =
264  typename ::Triangulation<dim, spacedim>::cell_iterator;
265 
284  using active_cell_iterator =
285  typename ::Triangulation<dim, spacedim>::active_cell_iterator;
286 
287  using CellStatus =
288  typename ::Triangulation<dim, spacedim>::CellStatus;
289 
294  enum Settings
295  {
321  };
322 
323 
324 
356  explicit Triangulation(
358  const typename ::Triangulation<dim, spacedim>::MeshSmoothing
361 
365  virtual ~Triangulation() override;
366 
373  virtual void
374  clear() override;
375 
379  bool
380  is_multilevel_hierarchy_constructed() const override;
381 
391  virtual void
393  const ::Triangulation<dim, spacedim> &other_tria) override;
394 
404  virtual void
405  create_triangulation(const std::vector<Point<spacedim>> &vertices,
406  const std::vector<CellData<dim>> & cells,
407  const SubCellData &subcelldata) override;
408 
409  /*
410  * @copydoc Triangulation::create_triangulation()
411  *
412  * @note Not inmplemented yet.
413  */
414  virtual void
417  &construction_data) override;
418 
448  virtual void
450 
457  virtual bool
459 
500  void
501  repartition();
502 
555  void
557  const std::vector<bool> &vertex_locally_moved);
558 
559 
575  virtual bool
576  has_hanging_nodes() const override;
577 
581  virtual std::size_t
582  memory_consumption() const override;
583 
589  virtual std::size_t
590  memory_consumption_p4est() const;
591 
599  void
600  write_mesh_vtk(const std::string &file_basename) const;
601 
606  unsigned int
607  get_checksum() const;
608 
616  void
617  save(const std::string &filename) const;
618 
637  void
638  load(const std::string &filename, const bool autopartition = true);
639 
748  unsigned int
750  const std::function<std::vector<char>(const cell_iterator &,
751  const CellStatus)> &pack_callback,
752  const bool returns_variable_size_data);
753 
802  void
804  const unsigned int handle,
805  const std::function<void(
806  const cell_iterator &,
807  const CellStatus,
808  const boost::iterator_range<std::vector<char>::const_iterator> &)>
809  &unpack_callback);
810 
817  const std::vector<types::global_dof_index> &
819 
825  const std::vector<types::global_dof_index> &
827 
835  const typename ::internal::p4est::types<dim>::forest *
836  get_p4est() const;
837 
857  virtual void
859  const std::vector<::GridTools::PeriodicFacePair<cell_iterator>> &)
860  override;
861 
862 
863  private:
868 
873 
879  typename ::internal::p4est::types<dim>::connectivity *connectivity;
880 
885  typename ::internal::p4est::types<dim>::forest *parallel_forest;
886 
891  typename ::internal::p4est::types<dim>::ghost *parallel_ghost;
892 
899  {
904  unsigned int n_attached_data_sets;
905 
911 
912  using pack_callback_t = std::function<std::vector<char>(
915 
920  std::vector<pack_callback_t> pack_callbacks_fixed;
921  std::vector<pack_callback_t> pack_callbacks_variable;
922  };
923 
924  CellAttachedData cell_attached_data;
925 
932  using quadrant_cell_relation_t = typename std::tuple<
933  typename ::internal::p4est::types<dim>::quadrant *,
934  CellStatus,
936 
945  std::vector<quadrant_cell_relation_t> local_quadrant_cell_relations;
946 
956  void
958 
969  {
970  public:
972 
982  void
983  pack_data(
984  const std::vector<quadrant_cell_relation_t> &quad_cell_relations,
985  const std::vector<typename CellAttachedData::pack_callback_t>
986  &pack_callbacks_fixed,
987  const std::vector<typename CellAttachedData::pack_callback_t>
988  &pack_callbacks_variable);
989 
1002  void
1004  const typename ::internal::p4est::types<dim>::forest
1005  *parallel_forest,
1006  const typename ::internal::p4est::types<dim>::gloidx
1007  *previous_global_first_quadrant);
1008 
1016  void
1018  std::vector<quadrant_cell_relation_t> &quad_cell_relations) const;
1019 
1032  void
1033  unpack_data(
1034  const std::vector<quadrant_cell_relation_t> &quad_cell_relations,
1035  const unsigned int handle,
1036  const std::function<void(
1037  const typename ::Triangulation<dim, spacedim>::cell_iterator
1038  &,
1039  const typename ::Triangulation<dim, spacedim>::CellStatus &,
1040  const boost::iterator_range<std::vector<char>::const_iterator> &)>
1041  &unpack_callback) const;
1042 
1057  void
1058  save(const typename ::internal::p4est::types<dim>::forest
1059  * parallel_forest,
1060  const std::string &filename) const;
1061 
1080  void
1081  load(const typename ::internal::p4est::types<dim>::forest
1082  * parallel_forest,
1083  const std::string &filename,
1084  const unsigned int n_attached_deserialize_fixed,
1085  const unsigned int n_attached_deserialize_variable);
1086 
1093  void
1094  clear();
1095 
1096  private:
1098 
1103 
1114  std::vector<unsigned int> sizes_fixed_cumulative;
1115 
1120  std::vector<char> src_data_fixed;
1121  std::vector<char> dest_data_fixed;
1122 
1127  std::vector<int> src_sizes_variable;
1128  std::vector<int> dest_sizes_variable;
1129  std::vector<char> src_data_variable;
1130  std::vector<char> dest_data_variable;
1131  };
1132 
1133  DataTransfer data_transfer;
1134 
1148  std::vector<types::global_dof_index>
1150  std::vector<types::global_dof_index>
1152 
1157  typename ::internal::p4est::types<dim>::tree *
1158  init_tree(const int dealii_coarse_cell_index) const;
1159 
1164  void
1166 
1173  void
1174  copy_new_triangulation_to_p4est(std::integral_constant<int, 2>);
1175  void
1176  copy_new_triangulation_to_p4est(std::integral_constant<int, 3>);
1177 
1182  void
1184 
1198  std::vector<unsigned int>
1199  get_cell_weights() const;
1200 
1210  std::vector<bool>
1212 
1213  virtual unsigned int
1215  const types::coarse_cell_id coarse_cell_id) const override;
1216 
1217  virtual types::coarse_cell_id
1219  const unsigned int coarse_cell_index) const override;
1220 
1221  template <int, int, class>
1222  friend class ::FETools::internal::ExtrapolateImplementation;
1223  };
1224 
1225 
1231  template <int spacedim>
1232  class Triangulation<1, spacedim>
1233  : public ::parallel::DistributedTriangulationBase<1, spacedim>
1234  {
1235  public:
1240  {
1244  };
1245 
1250  Triangulation(
1252  const typename ::Triangulation<1, spacedim>::MeshSmoothing
1255 
1259  virtual ~Triangulation() override;
1260 
1267  const std::vector<types::global_dof_index> &
1269 
1303  void
1305  const std::vector<bool> &vertex_locally_moved);
1306 
1311  void
1312  load(const std::string &filename, const bool autopartition = true);
1313 
1318  void
1319  save(const std::string &filename) const;
1320 
1321  bool
1322  is_multilevel_hierarchy_constructed() const override;
1323 
1328  unsigned int
1330  const std::function<std::vector<char>(
1331  const typename ::Triangulation<1, spacedim>::cell_iterator &,
1332  const typename ::Triangulation<1, spacedim>::CellStatus)>
1333  & pack_callback,
1334  const bool returns_variable_size_data);
1335 
1340  void
1342  const unsigned int handle,
1343  const std::function<void(
1344  const typename ::Triangulation<1, spacedim>::cell_iterator &,
1345  const typename ::Triangulation<1, spacedim>::CellStatus,
1346  const boost::iterator_range<std::vector<char>::const_iterator> &)>
1347  &unpack_callback);
1348 
1353  std::vector<types::global_dof_index>
1355  std::vector<types::global_dof_index>
1357 
1362  virtual std::map<unsigned int, std::set<::types::subdomain_id>>
1363  compute_level_vertices_with_ghost_neighbors(
1364  const unsigned int level) const;
1365 
1370  virtual std::vector<bool>
1371  mark_locally_active_vertices_on_level(const unsigned int level) const;
1372 
1373  virtual unsigned int
1375  const types::coarse_cell_id coarse_cell_id) const override;
1376 
1377  virtual types::coarse_cell_id
1379  const unsigned int coarse_cell_index) const override;
1380  };
1381  } // namespace distributed
1382 } // namespace parallel
1383 
1384 
1385 #else // DEAL_II_WITH_P4EST
1386 
1387 namespace parallel
1388 {
1389  namespace distributed
1390  {
1402  template <int dim, int spacedim = dim>
1403  class Triangulation
1404  : public ::parallel::TriangulationBase<dim, spacedim>
1405  {
1406  public:
1411  Triangulation() = delete;
1412  };
1413  } // namespace distributed
1414 } // namespace parallel
1415 
1416 
1417 #endif
1418 
1419 
1421 
1422 #endif
parallel::distributed::Triangulation::clear
virtual void clear() override
Definition: tria.cc:2565
parallel::distributed::Triangulation::DataTransfer::unpack_cell_status
void unpack_cell_status(std::vector< quadrant_cell_relation_t > &quad_cell_relations) const
Definition: tria.cc:1562
parallel::distributed::Triangulation::triangulation_has_content
bool triangulation_has_content
Definition: tria.h:872
parallel::distributed::Triangulation::CellAttachedData::pack_callback_t
std::function< std::vector< char >(typename Triangulation< dim, spacedim >::cell_iterator, CellStatus)> pack_callback_t
Definition: tria.h:914
parallel::distributed::Triangulation::Triangulation
Triangulation(MPI_Comm mpi_communicator, const typename ::Triangulation< dim, spacedim >::MeshSmoothing smooth_grid=(::Triangulation< dim, spacedim >::none), const Settings settings=default_setting)
Definition: tria.cc:2112
GridTools
Definition: grid_tools.h:125
parallel::distributed::Triangulation::add_periodicity
virtual void add_periodicity(const std::vector<::GridTools::PeriodicFacePair< cell_iterator >> &) override
Definition: tria.cc:4575
p4est_wrappers.h
parallel::distributed::Triangulation::connectivity
typename ::internal::p4est::types< dim >::connectivity * connectivity
Definition: tria.h:879
parallel::TriangulationBase::mpi_communicator
MPI_Comm mpi_communicator
Definition: tria_base.h:240
parallel::distributed::Triangulation::execute_coarsening_and_refinement
virtual void execute_coarsening_and_refinement() override
Definition: tria.cc:3812
parallel::DistributedTriangulationBase
Definition: tria_base.h:352
parallel::distributed::Triangulation::update_quadrant_cell_relations
void update_quadrant_cell_relations()
Definition: tria.cc:4844
parallel::distributed::Triangulation::DataTransfer::dest_sizes_variable
std::vector< int > dest_sizes_variable
Definition: tria.h:1128
parallel::distributed::Triangulation::DataTransfer::save
void save(const typename ::internal::p4est::types< dim >::forest *parallel_forest, const std::string &filename) const
Definition: tria.cc:1765
parallel::distributed::Triangulation::CellAttachedData::pack_callbacks_variable
std::vector< pack_callback_t > pack_callbacks_variable
Definition: tria.h:921
CellData
Definition: tria_description.h:67
parallel::distributed::Triangulation::get_p4est_tree_to_coarse_cell_permutation
const std::vector< types::global_dof_index > & get_p4est_tree_to_coarse_cell_permutation() const
Definition: tria.cc:4460
Triangulation
Definition: tria.h:1109
tria.h
parallel::distributed::Triangulation::CellAttachedData::pack_callbacks_fixed
std::vector< pack_callback_t > pack_callbacks_fixed
Definition: tria.h:920
parallel::distributed::Triangulation::load
void load(const std::string &filename, const bool autopartition=true)
Definition: tria.cc:2751
parallel::distributed::Triangulation::DataTransfer::src_sizes_variable
std::vector< int > src_sizes_variable
Definition: tria.h:1127
parallel::distributed::Triangulation::cell_attached_data
CellAttachedData cell_attached_data
Definition: tria.h:924
parallel::distributed::Triangulation::CellAttachedData::n_attached_data_sets
unsigned int n_attached_data_sets
Definition: tria.h:904
parallel::distributed::Triangulation::get_cell_weights
std::vector< unsigned int > get_cell_weights() const
Definition: tria.cc:4881
parallel::distributed::Triangulation::get_coarse_cell_to_p4est_tree_permutation
const std::vector< types::global_dof_index > & get_coarse_cell_to_p4est_tree_permutation() const
Definition: tria.cc:4470
parallel::distributed::Triangulation::DataTransfer::execute_transfer
void execute_transfer(const typename ::internal::p4est::types< dim >::forest *parallel_forest, const typename ::internal::p4est::types< dim >::gloidx *previous_global_first_quadrant)
Definition: tria.cc:1469
MPI_Comm
parallel::distributed::Triangulation::parallel_forest
typename ::internal::p4est::types< dim >::forest * parallel_forest
Definition: tria.h:885
parallel::distributed::Triangulation::notify_ready_to_unpack
void notify_ready_to_unpack(const unsigned int handle, const std::function< void(const cell_iterator &, const CellStatus, const boost::iterator_range< std::vector< char >::const_iterator > &)> &unpack_callback)
Definition: tria.cc:4378
parallel::distributed::Triangulation::CellAttachedData::n_attached_deserialize
unsigned int n_attached_deserialize
Definition: tria.h:910
parallel::distributed::Triangulation< dim >::CellStatus
typename ::Triangulation< dim, dim >::CellStatus CellStatus
Definition: tria.h:288
parallel::distributed::Triangulation::coarse_cell_id_to_coarse_cell_index
virtual unsigned int coarse_cell_id_to_coarse_cell_index(const types::coarse_cell_id coarse_cell_id) const override
Definition: tria.cc:4555
parallel::distributed::Triangulation::DataTransfer::src_data_fixed
std::vector< char > src_data_fixed
Definition: tria.h:1120
parallel::distributed::Triangulation::DataTransfer::clear
void clear()
Definition: tria.cc:2077
parallel::distributed::Triangulation::parallel_ghost
typename ::internal::p4est::types< dim >::ghost * parallel_ghost
Definition: tria.h:891
parallel::distributed::Triangulation::DataTransfer::load
void load(const typename ::internal::p4est::types< dim >::forest *parallel_forest, const std::string &filename, const unsigned int n_attached_deserialize_fixed, const unsigned int n_attached_deserialize_variable)
Definition: tria.cc:1928
level
unsigned int level
Definition: grid_out.cc:4355
parallel::distributed::Triangulation::coarse_cell_index_to_coarse_cell_id
virtual types::coarse_cell_id coarse_cell_index_to_coarse_cell_id(const unsigned int coarse_cell_index) const override
Definition: tria.cc:4565
parallel::distributed::Triangulation::get_p4est
const typename ::internal::p4est::types< dim >::forest * get_p4est() const
Definition: tria.cc:2908
parallel::distributed::Triangulation::write_mesh_vtk
void write_mesh_vtk(const std::string &file_basename) const
Definition: tria.cc:2658
parallel::distributed::Triangulation::DataTransfer
Definition: tria.h:968
parallel::distributed::Triangulation< dim >::quadrant_cell_relation_t
typename std::tuple< typename ::internal::p4est::types< dim >::quadrant *, CellStatus, cell_iterator > quadrant_cell_relation_t
Definition: tria.h:935
parallel::distributed::Triangulation::save
void save(const std::string &filename) const
Definition: tria.cc:2671
parallel::distributed::Triangulation::memory_consumption_p4est
virtual std::size_t memory_consumption_p4est() const
Definition: tria.cc:4765
parallel::distributed::Triangulation::prepare_coarsening_and_refinement
virtual bool prepare_coarsening_and_refinement() override
Definition: tria.cc:3435
mpi.h
subscriptor.h
parallel::distributed::Triangulation::DataTransfer::sizes_fixed_cumulative
std::vector< unsigned int > sizes_fixed_cumulative
Definition: tria.h:1114
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:358
parallel::distributed::Triangulation::no_automatic_repartitioning
@ no_automatic_repartitioning
Definition: tria.h:320
parallel::distributed::Triangulation::DataTransfer::unpack_data
void unpack_data(const std::vector< quadrant_cell_relation_t > &quad_cell_relations, const unsigned int handle, const std::function< void(const typename ::Triangulation< dim, spacedim >::cell_iterator &, const typename ::Triangulation< dim, spacedim >::CellStatus &, const boost::iterator_range< std::vector< char >::const_iterator > &)> &unpack_callback) const
Definition: tria.cc:1598
parallel::distributed::Triangulation::construct_multigrid_hierarchy
@ construct_multigrid_hierarchy
Definition: tria.h:314
parallel::distributed::Triangulation
Definition: tria.h:242
parallel::distributed::Triangulation::init_tree
typename ::internal::p4est::types< dim >::tree * init_tree(const int dealii_coarse_cell_index) const
Definition: tria.cc:2919
parallel::distributed::Triangulation::p4est_tree_to_coarse_cell_permutation
std::vector< types::global_dof_index > p4est_tree_to_coarse_cell_permutation
Definition: tria.h:1151
parallel::distributed::Triangulation::memory_consumption
virtual std::size_t memory_consumption() const override
Definition: tria.cc:4737
parallel::distributed::Triangulation< 1, spacedim >::p4est_tree_to_coarse_cell_permutation
std::vector< types::global_dof_index > p4est_tree_to_coarse_cell_permutation
Definition: tria.h:1356
parallel::distributed::Triangulation::DataTransfer::src_data_variable
std::vector< char > src_data_variable
Definition: tria.h:1129
smartpointer.h
parallel::distributed::Triangulation< 1, spacedim >::Settings
Settings
Definition: tria.h:1239
parallel::distributed::Triangulation::DataTransfer::pack_data
void pack_data(const std::vector< quadrant_cell_relation_t > &quad_cell_relations, const std::vector< typename CellAttachedData::pack_callback_t > &pack_callbacks_fixed, const std::vector< typename CellAttachedData::pack_callback_t > &pack_callbacks_variable)
Definition: tria.cc:1135
parallel::distributed::Triangulation::get_checksum
unsigned int get_checksum() const
Definition: tria.cc:2896
parallel::distributed::Triangulation::mesh_reconstruction_after_repartitioning
@ mesh_reconstruction_after_repartitioning
Definition: tria.h:308
unsigned int
parallel::distributed::Triangulation::mark_locally_active_vertices_on_level
std::vector< bool > mark_locally_active_vertices_on_level(const int level) const
Definition: tria.cc:4480
types::coarse_cell_id
global_cell_index coarse_cell_id
Definition: types.h:114
parallel::distributed::Triangulation::DataTransfer::dest_data_fixed
std::vector< char > dest_data_fixed
Definition: tria.h:1121
parallel::distributed::Triangulation::cell_iterator
typename ::Triangulation< dim, spacedim >::cell_iterator cell_iterator
Definition: tria.h:264
parallel::distributed::Triangulation::~Triangulation
virtual ~Triangulation() override
Definition: tria.cc:2142
parallel::distributed::Triangulation::setup_coarse_cell_to_p4est_tree_permutation
void setup_coarse_cell_to_p4est_tree_permutation()
Definition: tria.cc:2641
parallel::distributed::Triangulation::data_transfer
DataTransfer data_transfer
Definition: tria.h:1133
parallel::distributed::Triangulation::communicate_locally_moved_vertices
void communicate_locally_moved_vertices(const std::vector< bool > &vertex_locally_moved)
Definition: tria.cc:4164
parallel::distributed::Triangulation::is_multilevel_hierarchy_constructed
bool is_multilevel_hierarchy_constructed() const override
Definition: tria.cc:2604
parallel::distributed::Triangulation::DataTransfer::dest_data_variable
std::vector< char > dest_data_variable
Definition: tria.h:1130
parallel::distributed::Triangulation< dim >::Settings
Settings
Definition: tria.h:294
GridTools::PeriodicFacePair
Definition: grid_tools.h:2463
parallel::distributed::Triangulation::DataTransfer::mpi_communicator
MPI_Comm mpi_communicator
Definition: tria.h:1097
Triangulation< dim, dim >::vertices
std::vector< Point< spacedim > > vertices
Definition: tria.h:3848
parallel::distributed::Triangulation::copy_new_triangulation_to_p4est
void copy_new_triangulation_to_p4est(std::integral_constant< int, 2 >)
parallel::distributed::Triangulation::repartition
void repartition()
Definition: tria.cc:4064
Point< spacedim >
FETools
Definition: fe_tools.h:78
parallel::TriangulationBase
Definition: tria_base.h:78
template_constraints.h
config.h
parallel::distributed::Triangulation::copy_triangulation
virtual void copy_triangulation(const ::Triangulation< dim, spacedim > &other_tria) override
Definition: tria.cc:4777
parallel::distributed::Triangulation::settings
Settings settings
Definition: tria.h:867
internal
Definition: aligned_vector.h:369
parallel::distributed::Triangulation::DataTransfer::DataTransfer
DataTransfer(MPI_Comm mpi_communicator)
Definition: tria.cc:1125
parallel::distributed::Triangulation::create_triangulation
virtual void create_triangulation(const std::vector< Point< spacedim >> &vertices, const std::vector< CellData< dim >> &cells, const SubCellData &subcelldata) override
Definition: tria.cc:2163
TriangulationDescription::Description
Definition: tria_description.h:347
SubCellData
Definition: tria_description.h:199
parallel::distributed::Triangulation::register_data_attach
unsigned int register_data_attach(const std::function< std::vector< char >(const cell_iterator &, const CellStatus)> &pack_callback, const bool returns_variable_size_data)
Definition: tria.cc:4348
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:359
parallel::distributed::Triangulation::local_quadrant_cell_relations
std::vector< quadrant_cell_relation_t > local_quadrant_cell_relations
Definition: tria.h:945
parallel::distributed::Triangulation::DataTransfer::variable_size_data_stored
bool variable_size_data_stored
Definition: tria.h:1102
TriaIterator
Definition: tria_iterator.h:578
parallel
Definition: distributed.h:416
parallel::distributed::Triangulation::has_hanging_nodes
virtual bool has_hanging_nodes() const override
Definition: tria.cc:2614
Triangulation< dim, dim >::smooth_grid
MeshSmoothing smooth_grid
Definition: tria.h:3419
tria_base.h
parallel::distributed::Triangulation::default_setting
@ default_setting
Definition: tria.h:299
parallel::distributed::Triangulation::copy_local_forest_to_triangulation
void copy_local_forest_to_triangulation()
Definition: tria.cc:3465
parallel::distributed::Triangulation< 1, spacedim >::coarse_cell_to_p4est_tree_permutation
std::vector< types::global_dof_index > coarse_cell_to_p4est_tree_permutation
Definition: tria.h:1354
parallel::distributed::Triangulation< dim >::active_cell_iterator
typename ::Triangulation< dim, dim >::active_cell_iterator active_cell_iterator
Definition: tria.h:285
parallel::distributed::Triangulation::CellAttachedData
Definition: tria.h:898
parallel::distributed::Triangulation::coarse_cell_to_p4est_tree_permutation
std::vector< types::global_dof_index > coarse_cell_to_p4est_tree_permutation
Definition: tria.h:1149