Reference documentation for deal.II version 9.3.3
|
#include <deal.II/grid/tria.h>
Public Attributes | |
boost::signals2::signal< void()> | create |
boost::signals2::signal< void()> | pre_refinement |
boost::signals2::signal< void()> | post_refinement |
boost::signals2::signal< void()> | pre_partition |
boost::signals2::signal< void()> | mesh_movement |
boost::signals2::signal< void(const typename Triangulation< dim, spacedim >::cell_iterator &cell)> | pre_coarsening_on_cell |
boost::signals2::signal< void(const typename Triangulation< dim, spacedim >::cell_iterator &cell)> | post_refinement_on_cell |
boost::signals2::signal< void(const Triangulation< dim, spacedim > &destination_tria)> | copy |
boost::signals2::signal< void()> | clear |
boost::signals2::signal< void()> | any_change |
boost::signals2::signal< unsigned int(const cell_iterator &, const CellStatus), CellWeightSum< unsigned int > > | cell_weight |
boost::signals2::signal< void()> | pre_distributed_refinement |
boost::signals2::signal< void()> | post_p4est_refinement |
boost::signals2::signal< void()> | post_distributed_refinement |
boost::signals2::signal< void()> | pre_distributed_repartition |
boost::signals2::signal< void()> | post_distributed_repartition |
boost::signals2::signal< void()> | pre_distributed_save |
boost::signals2::signal< void()> | post_distributed_save |
boost::signals2::signal< void()> | pre_distributed_load |
boost::signals2::signal< void()> | post_distributed_load |
A structure that has boost::signal objects for a number of actions that a triangulation can do to itself. Please refer to the "Getting notice when a triangulation changes" section in the general documentation of the Triangulation class for more information and examples.
For documentation on signals, see http://www.boost.org/doc/libs/release/libs/signals2 .
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::create |
This signal is triggered whenever the Triangulation::create_triangulation or Triangulation::copy_triangulation() is called. This signal is also triggered when loading a triangulation from an archive via Triangulation::load().
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::pre_refinement |
This signal is triggered at the beginning of execution of the Triangulation::execute_coarsening_and_refinement() function (which is itself called by other functions such as Triangulation::refine_global() ). At the time this signal is triggered, the triangulation is still unchanged.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::post_refinement |
This signal is triggered at the end of execution of the Triangulation::execute_coarsening_and_refinement() function when the triangulation has reached its final state.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::pre_partition |
This signal is triggered at the beginning of execution of the GridTools::partition_triangulation() and GridTools::partition_triangulation_zorder() functions. At the time this signal is triggered, the triangulation is still unchanged.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::mesh_movement |
This signal is triggered when a function in deal.II moves the grid points of a mesh, e.g. GridTools::transform. Unfortunately, modification of a vertex in user code through cell_iterator->vertex(v) = xxxx
cannot be detected by this method.
boost::signals2::signal<void( const typename Triangulation<dim, spacedim>::cell_iterator &cell)> Triangulation< dim, spacedim >::Signals::pre_coarsening_on_cell |
boost::signals2::signal<void( const typename Triangulation<dim, spacedim>::cell_iterator &cell)> Triangulation< dim, spacedim >::Signals::post_refinement_on_cell |
boost::signals2::signal<void( const Triangulation<dim, spacedim> &destination_tria)> Triangulation< dim, spacedim >::Signals::copy |
This signal is triggered whenever the triangulation owning the signal is copied by another triangulation using Triangulation::copy_triangulation() (i.e. it is triggered on the old triangulation, but the new one is passed as an argument).
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::clear |
This signal is triggered whenever the Triangulation::clear() function is called and in the destructor of the triangulation. This signal is also triggered when loading a triangulation from an archive via Triangulation::load() as the previous content of the triangulation is first destroyed.
The signal is triggered before the data structures of the triangulation are destroyed. In other words, the functions attached to this signal get a last look at the triangulation, for example to save information stored as part of the triangulation.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::any_change |
This is a catch-all signal that is triggered whenever the create, post_refinement, or clear signals are triggered. In effect, it can be used to indicate to an object connected to the signal that the triangulation has been changed, whatever the exact cause of the change.
pre_coarsening_on_cell
and post_refinement_on_cell
are not connected to this signal. boost::signals2::signal<unsigned int(const cell_iterator &, const CellStatus), CellWeightSum<unsigned int> > Triangulation< dim, spacedim >::Signals::cell_weight |
This signal is triggered for each cell during every automatic or manual repartitioning. This signal is somewhat special in that it is only triggered for distributed parallel calculations and only if functions are connected to it. It is intended to allow a weighted repartitioning of the domain to balance the computational load across processes in a different way than balancing the number of cells. Any connected function is expected to take an iterator to a cell, and a CellStatus argument that indicates whether this cell is going to be refined, coarsened or left untouched (see the documentation of the CellStatus enum for more information). The function is expected to return an unsigned integer, which is interpreted as the additional computational load of this cell. If this cell is going to be coarsened, the signal is called for the parent cell and you need to provide the weight of the future parent cell. If this cell is going to be refined the function should return a weight, which will be equally assigned to every future child cell of the current cell. As a reference a value of 1000 is added for every cell to the total weight. This means a signal return value of 1000 (resulting in a weight of 2000) means that it is twice as expensive for a process to handle this particular cell. If several functions are connected to this signal, their return values will be summed to calculate the final weight.
This function is used in step-68.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::pre_distributed_refinement |
This signal is triggered at the beginning of execution of the parallel::distributed::Triangulation::execute_coarsening_and_refinement() function (which is itself called by other functions such as Triangulation::refine_global() ). At the time this signal is triggered, the triangulation is still unchanged. This signal is different from the pre_refinement signal, because in the parallel distributed case the pre_refinement signal is triggered multiple times without a way to distinguish the last signal call.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::post_p4est_refinement |
This signal is triggered during execution of the parallel::distributed::Triangulation::execute_coarsening_and_refinement() function. At the time this signal is triggered, the p4est oracle has been refined and the cell relations have been updated. The triangulation is unchanged otherwise, and the p4est oracle has not yet been repartitioned.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::post_distributed_refinement |
This signal is triggered at the end of execution of the parallel::distributed::Triangulation::execute_coarsening_and_refinement() function when the triangulation has reached its final state. This signal is different from the post_refinement signal, because in the parallel distributed case the post_refinement signal is triggered multiple times without a way to distinguish the last signal call.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::pre_distributed_repartition |
This signal is triggered at the beginning of execution of the parallel::distributed::Triangulation::repartition() function. At the time this signal is triggered, the triangulation is still unchanged.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::post_distributed_repartition |
This signal is triggered at the end of execution of the parallel::distributed::Triangulation::repartition() function when the triangulation has reached its final state.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::pre_distributed_save |
This signal is triggered at the beginning of execution of the parallel::distributed::Triangulation::save() function. At the time this signal is triggered, the triangulation is still unchanged.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::post_distributed_save |
This signal is triggered at the end of execution of the parallel::distributed::Triangulation::save() function when the triangulation has reached its final state.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::pre_distributed_load |
This signal is triggered at the beginning of execution of the parallel::distributed::Triangulation::load() function. At the time this signal is triggered, the triangulation is still unchanged.
boost::signals2::signal<void()> Triangulation< dim, spacedim >::Signals::post_distributed_load |
This signal is triggered at the end of execution of the parallel::distributed::Triangulation::load() function when the triangulation has reached its final state.