![]() |
Reference documentation for deal.II version 8.1.0
|
#include <tria.h>
Public Types | |
enum | Settings { default_setting = 0x0, mesh_reconstruction_after_repartitioning = 0x1, construct_multigrid_hierarchy = 0x2 } |
![]() | |
enum | MeshSmoothing |
typedef TriaIterator < CellAccessor< dim, spacedim > > | cell_iterator |
typedef TriaActiveIterator < CellAccessor< dim, spacedim > > | active_cell_iterator |
typedef TriaIterator < TriaAccessor< dim-1, dim, spacedim > > | face_iterator |
typedef TriaActiveIterator < TriaAccessor< dim-1, dim, spacedim > > | active_face_iterator |
typedef IteratorSelector::line_iterator | line_iterator |
typedef IteratorSelector::active_line_iterator | active_line_iterator |
typedef IteratorSelector::quad_iterator | quad_iterator |
typedef IteratorSelector::active_quad_iterator | active_quad_iterator |
typedef IteratorSelector::hex_iterator | hex_iterator |
typedef IteratorSelector::active_hex_iterator | active_hex_iterator |
Public Member Functions | |
Triangulation (MPI_Comm mpi_communicator) | |
virtual | ~Triangulation () |
MPI_Comm | get_communicator () const |
types::global_dof_index | n_global_active_cells () const |
virtual unsigned int | n_global_levels () const |
const std::vector < types::global_dof_index > & | get_p4est_tree_to_coarse_cell_permutation () const |
types::subdomain_id | locally_owned_subdomain () const |
void | fill_vertices_with_ghost_neighbors (std::map< unsigned int, std::set<::types::subdomain_id > > &vertices_with_ghost_neighbors) |
![]() | |
Triangulation (const MeshSmoothing smooth_grid=none, const bool check_for_distorted_cells=false) | |
Triangulation (const Triangulation< dim, spacedim > &t) | |
virtual void | clear () |
virtual void | set_mesh_smoothing (const MeshSmoothing mesh_smoothing) |
void | set_boundary (const types::boundary_id number, const Boundary< dim, spacedim > &boundary_object) |
void | set_boundary (const types::boundary_id number) |
const Boundary< dim, spacedim > & | get_boundary (const types::boundary_id number) const |
std::vector< types::boundary_id > | get_boundary_indicators () const |
virtual void | copy_triangulation (const Triangulation< dim, spacedim > &old_tria) |
virtual void | create_triangulation (const std::vector< Point< spacedim > > &vertices, const std::vector< CellData< dim > > &cells, const SubCellData &subcelldata) |
virtual void | create_triangulation_compatibility (const std::vector< Point< spacedim > > &vertices, const std::vector< CellData< dim > > &cells, const SubCellData &subcelldata) |
void | flip_all_direction_flags () |
void | distort_random (const double factor, const bool keep_boundary=true) DEAL_II_DEPRECATED |
virtual std::size_t | memory_consumption () const |
void | save (Archive &ar, const unsigned int version) const |
void | load (Archive &ar, const unsigned int version) |
void | set_all_refine_flags () |
void | refine_global (const unsigned int times=1) |
virtual void | execute_coarsening_and_refinement () |
bool | prepare_coarsening_and_refinement () |
void | save_refine_flags (std::ostream &out) const |
void | save_refine_flags (std::vector< bool > &v) const |
void | load_refine_flags (std::istream &in) |
void | load_refine_flags (const std::vector< bool > &v) |
void | save_coarsen_flags (std::ostream &out) const |
void | save_coarsen_flags (std::vector< bool > &v) const |
void | load_coarsen_flags (std::istream &out) |
void | load_coarsen_flags (const std::vector< bool > &v) |
bool | get_anisotropic_refinement_flag () const |
void | clear_user_flags () |
void | save_user_flags (std::ostream &out) const |
void | save_user_flags (std::vector< bool > &v) const |
void | load_user_flags (std::istream &in) |
void | load_user_flags (const std::vector< bool > &v) |
void | clear_user_flags_line () |
void | save_user_flags_line (std::ostream &out) const |
void | save_user_flags_line (std::vector< bool > &v) const |
void | load_user_flags_line (std::istream &in) |
void | load_user_flags_line (const std::vector< bool > &v) |
void | clear_user_flags_quad () |
void | save_user_flags_quad (std::ostream &out) const |
void | save_user_flags_quad (std::vector< bool > &v) const |
void | load_user_flags_quad (std::istream &in) |
void | load_user_flags_quad (const std::vector< bool > &v) |
void | clear_user_flags_hex () |
void | save_user_flags_hex (std::ostream &out) const |
void | save_user_flags_hex (std::vector< bool > &v) const |
void | load_user_flags_hex (std::istream &in) |
void | load_user_flags_hex (const std::vector< bool > &v) |
void | clear_user_data () |
void | clear_user_pointers () DEAL_II_DEPRECATED |
void | save_user_indices (std::vector< unsigned int > &v) const |
void | load_user_indices (const std::vector< unsigned int > &v) |
void | save_user_pointers (std::vector< void * > &v) const |
void | load_user_pointers (const std::vector< void * > &v) |
void | save_user_indices_line (std::vector< unsigned int > &v) const |
void | load_user_indices_line (const std::vector< unsigned int > &v) |
void | save_user_indices_quad (std::vector< unsigned int > &v) const |
void | load_user_indices_quad (const std::vector< unsigned int > &v) |
void | save_user_indices_hex (std::vector< unsigned int > &v) const |
void | load_user_indices_hex (const std::vector< unsigned int > &v) |
void | save_user_pointers_line (std::vector< void * > &v) const |
void | load_user_pointers_line (const std::vector< void * > &v) |
void | save_user_pointers_quad (std::vector< void * > &v) const |
void | load_user_pointers_quad (const std::vector< void * > &v) |
void | save_user_pointers_hex (std::vector< void * > &v) const |
void | load_user_pointers_hex (const std::vector< void * > &v) |
cell_iterator | begin (const unsigned int level=0) const |
active_cell_iterator | begin_active (const unsigned int level=0) const |
cell_iterator | end () const |
cell_iterator | end (const unsigned int level) const |
active_cell_iterator | end_active (const unsigned int level) const |
cell_iterator | last () const |
active_cell_iterator | last_active () const |
face_iterator | begin_face () const |
active_face_iterator | begin_active_face () const |
face_iterator | end_face () const |
unsigned int | n_lines () const |
unsigned int | n_lines (const unsigned int level) const |
unsigned int | n_active_lines () const |
unsigned int | n_active_lines (const unsigned int level) const |
unsigned int | n_quads () const |
unsigned int | n_quads (const unsigned int level) const |
unsigned int | n_active_quads () const |
unsigned int | n_active_quads (const unsigned int level) const |
unsigned int | n_hexs () const |
unsigned int | n_hexs (const unsigned int level) const |
unsigned int | n_active_hexs () const |
unsigned int | n_active_hexs (const unsigned int level) const |
unsigned int | n_cells () const |
unsigned int | n_cells (const unsigned int level) const |
unsigned int | n_active_cells () const |
unsigned int | n_active_cells (const unsigned int level) const |
unsigned int | n_faces () const |
unsigned int | n_active_faces () const |
unsigned int | n_levels () const |
unsigned int | n_vertices () const |
const std::vector< Point < spacedim > > & | get_vertices () const |
unsigned int | n_used_vertices () const |
bool | vertex_used (const unsigned int index) const |
const std::vector< bool > & | get_used_vertices () const |
unsigned int | max_adjacent_cells () const |
unsigned int | n_raw_lines () const |
unsigned int | n_raw_lines (const unsigned int level) const |
unsigned int | n_raw_quads () const |
unsigned int | n_raw_quads (const unsigned int level) const |
unsigned int | n_raw_hexs () const |
unsigned int | n_raw_hexs (const unsigned int level) const |
unsigned int | n_raw_cells (const unsigned int level) const |
unsigned int | n_raw_faces () const |
DeclException1 (ExcInvalidLevel, int,<< "The given level "<< arg1<< " is not in the valid range!") | |
DeclException1 (ExcEmptyLevel, int,<< "You tried to do something on level "<< arg1<< ", but this level is empty.") | |
DeclException0 (ExcTriangulationNotEmpty) | |
DeclException0 (ExcGridReadError) | |
DeclException0 (ExcFacesHaveNoLevel) | |
DeclException0 (ExcNonOrientableTriangulation) | |
void | add_refinement_listener (RefinementListener &listener) const DEAL_II_DEPRECATED |
void | remove_refinement_listener (RefinementListener &listener) const DEAL_II_DEPRECATED |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.") | |
DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1) | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Public Attributes | |
std::vector < types::global_dof_index > | coarse_cell_to_p4est_tree_permutation |
std::vector < types::global_dof_index > | p4est_tree_to_coarse_cell_permutation |
Settings | settings |
![]() | |
Signals | signals |
Additional Inherited Members | |
![]() | |
static const StraightBoundary < dim, spacedim > | straight_boundary |
static const unsigned int | dimension |
static const unsigned int | space_dimension |
![]() | |
static void | write_bool_vector (const unsigned int magic_number1, const std::vector< bool > &v, const unsigned int magic_number2, std::ostream &out) |
static void | read_bool_vector (const unsigned int magic_number1, std::vector< bool > &v, const unsigned int magic_number2, std::istream &in) |
![]() | |
MeshSmoothing | smooth_grid |
Specialization of the general template for the 1d case. There is currently no support for distributing 1d triangulations. Consequently, all this class does is throw an exception.
enum parallel::distributed::Triangulation< 1, spacedim >::Settings |
parallel::distributed::Triangulation< 1, spacedim >::Triangulation | ( | MPI_Comm | mpi_communicator | ) |
Constructor. The argument denotes the MPI communicator to be used for the triangulation.
|
virtual |
Destructor.
Reimplemented from Triangulation< 1, spacedim >.
MPI_Comm parallel::distributed::Triangulation< 1, spacedim >::get_communicator | ( | ) | const |
Return the MPI communicator used by this triangulation.
types::global_dof_index parallel::distributed::Triangulation< 1, spacedim >::n_global_active_cells | ( | ) | const |
Return the sum over all processors of the number of active cells owned by each processor. This equals the overall number of active cells in the distributed triangulation.
|
virtual |
Return the number of levels in use. This function is equivalent to n_levels() for a serial Triangulation, but gives the maximum of n_levels() over all processors for a parallel::distributed::Triangulation and therefore can be larger than n_levels().
Reimplemented from Triangulation< 1, spacedim >.
const std::vector<types::global_dof_index>& parallel::distributed::Triangulation< 1, spacedim >::get_p4est_tree_to_coarse_cell_permutation | ( | ) | const |
Returns a permutation vector for the order the coarse cells are handed of to p4est. For example the first element i in this vector denotes that the first cell in hierarchical ordering is the ith deal cell starting from begin(0).
|
virtual |
Return the subdomain id of those cells that are owned by the current processor. All cells in the triangulation that do not have this subdomain id are either owned by another processor or have children that only exist on other processors.
Reimplemented from Triangulation< 1, spacedim >.
void parallel::distributed::Triangulation< 1, spacedim >::fill_vertices_with_ghost_neighbors | ( | std::map< unsigned int, std::set<::types::subdomain_id > > & | vertices_with_ghost_neighbors | ) |
Like above, this method, which is only implemented for dim = 2 or 3, needs a stub because it is used in dof_handler_policy.cc
std::vector<types::global_dof_index> parallel::distributed::Triangulation< 1, spacedim >::coarse_cell_to_p4est_tree_permutation |
Settings parallel::distributed::Triangulation< 1, spacedim >::settings |