Reference documentation for deal.II version 9.3.3
|
#include <deal.II/distributed/shared_tria.h>
Public Member Functions | |
TemporarilyRestoreSubdomainIds (const Triangulation< dim, spacedim > &tria) | |
~TemporarilyRestoreSubdomainIds () | |
Private Attributes | |
const SmartPointer< const ::parallel::shared::Triangulation< dim, spacedim > > | shared_tria |
std::vector< unsigned int > | saved_subdomain_ids |
Subscriptor functionality | |
Classes derived from Subscriptor provide a facility to subscribe to this object. This is mostly used by the SmartPointer class. | |
std::atomic< unsigned int > | counter |
std::map< std::string, unsigned int > | counter_map |
std::vector< std::atomic< bool > * > | validity_pointers |
const std::type_info * | object_info |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
using | map_value_type = decltype(counter_map)::value_type |
using | map_iterator = decltype(counter_map)::iterator |
static std::mutex | mutex |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
void | check_no_subscribers () const noexcept |
This class temporarily modifies the subdomain ID of all active cells to their respective "true" owner.
The modification only happens on parallel::shared::Triangulation objects with artificial cells, and persists for the lifetime of an instantiation of this class.
The TemporarilyRestoreSubdomainIds class should only be used for temporary read-only purposes. For example, whenever your implementation requires to treat artificial cells temporarily as locally relevant to access their dof indices.
This class has effect only if artificial cells are allowed. Without artificial cells, the current subdomain IDs already correspond to the true subdomain IDs. See the glossary for more information about artificial cells.
Definition at line 507 of file shared_tria.h.
internal::parallel::shared::TemporarilyRestoreSubdomainIds< dim, spacedim >::TemporarilyRestoreSubdomainIds | ( | const Triangulation< dim, spacedim > & | tria | ) |
Constructor.
Stores the subdomain ID of all active cells if the provided Triangulation is of type parallel::shared::Triangulation.
Replaces them by their true subdomain ID equivalent.
Definition at line 479 of file shared_tria.cc.
internal::parallel::shared::TemporarilyRestoreSubdomainIds< dim, spacedim >::~TemporarilyRestoreSubdomainIds |
Destructor.
Returns the subdomain ID of all active cells on the parallel::shared::Triangulation into their previous state.
Definition at line 506 of file shared_tria.cc.
|
private |
The modified parallel::shared::Triangulation.
Definition at line 535 of file shared_tria.h.
|
private |
A vector that temporarily stores the subdomain IDs on all active cells before they have been modified on the parallel::shared::Triangulation.
Definition at line 542 of file shared_tria.h.