17 #include <deal.II/base/utilities.h> 18 #include <deal.II/base/memory_consumption.h> 19 #include <deal.II/base/logstream.h> 20 #include <deal.II/lac/sparsity_tools.h> 21 #include <deal.II/lac/sparsity_pattern.h> 22 #include <deal.II/lac/vector_memory.h> 23 #include <deal.II/grid/tria.h> 24 #include <deal.II/grid/tria_accessor.h> 25 #include <deal.II/grid/tria_iterator.h> 26 #include <deal.II/grid/grid_tools.h> 27 #include <deal.II/distributed/tria_base.h> 36 DEAL_II_NAMESPACE_OPEN
41 template <
int dim,
int spacedim>
43 const typename ::Triangulation<dim,spacedim>::MeshSmoothing smooth_grid,
44 const bool check_for_distorted_cells)
46 ::
Triangulation<dim,spacedim>(smooth_grid,check_for_distorted_cells),
47 mpi_communicator (mpi_communicator),
48 my_subdomain (
Utilities::MPI::this_mpi_process (this->mpi_communicator)),
49 n_subdomains(
Utilities::MPI::n_mpi_processes (this->mpi_communicator))
51 #ifndef DEAL_II_WITH_MPI 53 "which parallel::Triangulation is not available."));
60 template <
int dim,
int spacedim>
65 #ifndef DEAL_II_WITH_MPI 68 "which parallel::Triangulation is not available."));
72 if (const ::parallel::Triangulation<dim,spacedim> *
73 other_tria_x =
dynamic_cast<const ::parallel::Triangulation<dim,spacedim> *
>(&other_tria))
79 ::internal::GrowingVectorMemory::release_all_unused_memory();
86 template <
int dim,
int spacedim>
101 template <
int dim,
int spacedim>
106 ::internal::GrowingVectorMemory::release_all_unused_memory();
109 template <
int dim,
int spacedim>
116 template <
int dim,
int spacedim>
123 template <
int dim,
int spacedim>
130 template <
int dim,
int spacedim>
137 template <
int dim,
int spacedim>
138 const std::vector<unsigned int> &
144 template <
int dim,
int spacedim>
151 #ifdef DEAL_II_WITH_MPI 152 template <
int dim,
int spacedim>
187 if (cell->is_ghost())
196 cell != this->
end(); ++cell)
200 unsigned int send_value
202 const int ierr = MPI_Allgather (&send_value,
208 this->mpi_communicator);
219 template <
int dim,
int spacedim>
228 template <
int dim,
int spacedim>
235 template <
int dim,
int spacedim>
236 const std::set<types::subdomain_id> &
243 template <
int dim,
int spacedim>
244 const std::set<types::subdomain_id> &
257 #include "tria_base.inst" 259 DEAL_II_NAMESPACE_CLOSE
virtual unsigned int n_global_levels() const
types::global_dof_index n_global_active_cells
virtual void copy_triangulation(const Triangulation< dim, spacedim > &other_tria)
unsigned int n_global_levels
cell_iterator end() const
types::subdomain_id my_subdomain
std::set< types::subdomain_id > ghost_owners
virtual void copy_triangulation(const ::Triangulation< dim, spacedim > &old_tria)
const std::vector< unsigned int > & n_locally_owned_active_cells_per_processor() const
Triangulation(MPI_Comm mpi_communicator, const typename::Triangulation< dim, spacedim >::MeshSmoothing smooth_grid=(::Triangulation< dim, spacedim >::none), const bool check_for_distorted_cells=false)
MPI_Comm mpi_communicator
std::set< types::subdomain_id > level_ghost_owners
unsigned int n_levels() const
const std::set< types::subdomain_id > & level_ghost_owners() const
virtual MPI_Comm get_communicator() const
std::vector< unsigned int > n_locally_owned_active_cells
static::ExceptionBase & ExcMessage(std::string arg1)
unsigned int global_dof_index
#define Assert(cond, exc)
virtual void update_number_cache()
virtual std::size_t memory_consumption() const
types::subdomain_id locally_owned_subdomain() const
unsigned int n_locally_owned_active_cells() const
unsigned int subdomain_id
unsigned int n_mpi_processes(const MPI_Comm &mpi_communicator)
virtual types::global_dof_index n_global_active_cells() const
std_cxx11::enable_if< std_cxx11::is_fundamental< T >::value, std::size_t >::type memory_consumption(const T &t)
#define AssertThrowMPI(error_code)
static::ExceptionBase & ExcNotImplemented()
active_cell_iterator begin_active(const unsigned int level=0) const
const std::set< types::subdomain_id > & ghost_owners() const
T max(const T &t, const MPI_Comm &mpi_communicator)
types::subdomain_id n_subdomains
static::ExceptionBase & ExcInternalError()
virtual std::size_t memory_consumption() const