ug4
|
#include <partition_weighting_callbacks.h>
Public Types | |
typedef MultiGrid::traits< Vertex >::secure_container | vertex_list |
Public Member Functions | |
virtual int | operator() (Edge *e1, Edge *e2) |
virtual int | operator() (Face *f1, Face *f2) |
virtual int | operator() (Volume *v1, Volume *v2) |
ProtectSubsetPartitionWeighting () | |
void | set_weight (int si, int weight) |
virtual | ~ProtectSubsetPartitionWeighting () |
Public Member Functions inherited from ug::PartitionWeighting | |
PartitionWeighting () | |
void | set_default_weights (int hWeight, int vWeight) |
void | set_subset_handler (MGSubsetHandler *sh) |
virtual | ~PartitionWeighting () |
Private Member Functions | |
template<class TElem > | |
int | weigh (TElem *e1, TElem *e2) |
Private Attributes | |
std::vector< int > | m_vSi |
std::vector< int > | m_vWeights |
Additional Inherited Members | |
Protected Attributes inherited from ug::PartitionWeighting | |
int | m_hWeight |
MGSubsetHandler * | m_sh |
int | m_vWeight |
This PartitionWeighting sets out to protect specific subsets from having vertices in any process boundaries. To that purpose, in the weighing function, it checks both elements for a common vertex in one of the specified subsets to protect. If such a vertex exists, the weight for the division along the two elements is set to the value defined via set_weight().
typedef MultiGrid::traits<Vertex>::secure_container ug::ProtectSubsetPartitionWeighting::vertex_list |
|
inline |
|
inlinevirtual |
Reimplemented from ug::PartitionWeighting.
References weigh().
Reimplemented from ug::PartitionWeighting.
References weigh().
|
inlinevirtual |
Reimplemented from ug::PartitionWeighting.
References weigh().
|
inline |
References m_vSi, and m_vWeights.
|
inlineprivate |
References ug::Grid::associated_elements(), ug::MultiGridSubsetHandler::get_level(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::grid(), ug::PartitionWeighting::m_hWeight, ug::PartitionWeighting::m_sh, m_vSi, ug::PartitionWeighting::m_vWeight, m_vWeights, and UG_THROW.
Referenced by operator()().
|
private |
Referenced by set_weight(), and weigh().
|
private |
Referenced by set_weight(), and weigh().