A class implementing a repartitioning policy for immersed triangulations. More...
#include <immersed_repartitioner.h>
Public Member Functions | |
ImmersedRepartitioner (const Triangulation< spacedim > &tria_background) | |
Constructor for the ImmersedRepartitioner class. | |
virtual LinearAlgebra::distributed::Vector< double > | partition (const Triangulation< dim, spacedim > &tria_immersed) const override |
Repartition the given immersed triangulation. | |
![]() | |
virtual | ~Base ()=default |
void | serialize (Archive &ar, const unsigned int version) |
unsigned int | n_subscriptions () const |
unsigned int | n_subscriptions () const |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
![]() | |
EnableObserverPointer () | |
EnableObserverPointer (const EnableObserverPointer &) | |
EnableObserverPointer (EnableObserverPointer &&) noexcept | |
virtual | ~EnableObserverPointer () |
EnableObserverPointer & | operator= (const EnableObserverPointer &) |
EnableObserverPointer & | operator= (EnableObserverPointer &&) noexcept |
void | serialize (Archive &ar, const unsigned int version) |
unsigned int | n_subscriptions () const |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
unsigned int | n_subscriptions () const |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
Private Attributes | |
const Triangulation< spacedim > & | tria_background |
A reference to the background triangulation used for repartitioning. | |
const MappingQ1< spacedim > | mapping |
A mapping object for the background triangulation. | |
Additional Inherited Members | |
![]() | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
![]() | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
A class implementing a repartitioning policy for immersed triangulations.
This class provides functionality to repartition an immersed triangulation based on a background triangulation. It inherits from the RepartitioningPolicyTools::Base class and overrides the partition method. The rank of the immersed cell is assigned to the processor that own the background cell where the center of the immersed cell is located.
dim | The dimension of the immersed triangulation. |
spacedim | The dimension of the space in which the triangulation is embedded. Defaults to the same value as dim . |
Definition at line 47 of file immersed_repartitioner.h.
ImmersedRepartitioner< dim, spacedim >::ImmersedRepartitioner | ( | const Triangulation< spacedim > & | tria_background | ) |
Constructor for the ImmersedRepartitioner class.
tria_background | A reference to the background triangulation used for repartitioning. |
Definition at line 22 of file immersed_repartitioner.cc.
References tria_background.
|
overridevirtual |
Repartition the given immersed triangulation.
This method computes a new partitioning for the immersed triangulation based on the background triangulation provided during construction.
tria_immersed | A reference to the immersed triangulation to be repartitioned. |
Implements RepartitioningPolicyTools::Base< dim, dim >.
Definition at line 29 of file immersed_repartitioner.cc.
References Triangulation< int dim, int spacedim >::active_cell_iterators(), mapping, VectorTools::EvaluationFlags::min, VectorTools::point_values(), Utilities::MPI::this_mpi_process(), and tria_background.
|
private |
A mapping object for the background triangulation.
Definition at line 80 of file immersed_repartitioner.h.
Referenced by partition().
|
private |
A reference to the background triangulation used for repartitioning.
Definition at line 75 of file immersed_repartitioner.h.
Referenced by ImmersedRepartitioner(), and partition().