ug4
ug::ProtectSubsetPartitionWeighting Class Reference

#include <partition_weighting_callbacks.h>

+ Inheritance diagram for ug::ProtectSubsetPartitionWeighting:

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
 
MGSubsetHandlerm_sh
 
int m_vWeight
 

Detailed Description

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().

Member Typedef Documentation

◆ vertex_list

Constructor & Destructor Documentation

◆ ProtectSubsetPartitionWeighting()

ug::ProtectSubsetPartitionWeighting::ProtectSubsetPartitionWeighting ( )
inline

◆ ~ProtectSubsetPartitionWeighting()

virtual ug::ProtectSubsetPartitionWeighting::~ProtectSubsetPartitionWeighting ( )
inlinevirtual

Member Function Documentation

◆ operator()() [1/3]

virtual int ug::ProtectSubsetPartitionWeighting::operator() ( Edge e1,
Edge e2 
)
inlinevirtual

Reimplemented from ug::PartitionWeighting.

References weigh().

◆ operator()() [2/3]

virtual int ug::ProtectSubsetPartitionWeighting::operator() ( Face f1,
Face f2 
)
inlinevirtual

Reimplemented from ug::PartitionWeighting.

References weigh().

◆ operator()() [3/3]

virtual int ug::ProtectSubsetPartitionWeighting::operator() ( Volume v1,
Volume v2 
)
inlinevirtual

Reimplemented from ug::PartitionWeighting.

References weigh().

◆ set_weight()

void ug::ProtectSubsetPartitionWeighting::set_weight ( int  si,
int  weight 
)
inline

References m_vSi, and m_vWeights.

◆ weigh()

Member Data Documentation

◆ m_vSi

std::vector<int> ug::ProtectSubsetPartitionWeighting::m_vSi
private

Referenced by set_weight(), and weigh().

◆ m_vWeights

std::vector<int> ug::ProtectSubsetPartitionWeighting::m_vWeights
private

Referenced by set_weight(), and weigh().


The documentation for this class was generated from the following file: