Sierra Toolkit  Version of the Day
stk_classic::rebalance::GeomDecomp Class Reference

Class for determining the optimal partitioning of mesh entities. More...

#include <GeomDecomp.hpp>

Inheritance diagram for stk_classic::rebalance::GeomDecomp:
Collaboration diagram for stk_classic::rebalance::GeomDecomp:

Public Types

typedef mesh::Field< double, mesh::CartesianVectorField
 

Public Member Functions

 GeomDecomp (ParallelMachine comm)
 
- Public Member Functions inherited from stk_classic::rebalance::Partition
 Partition (stk_classic::ParallelMachine comm)
 Constructors.
 
virtual void set_mesh_info (const std::vector< mesh::Entity *> &mesh_entities, const VectorField *nodal_coord_ref, const ScalarField *elem_weight_ref=NULL)=0
 Define mesh entities to balance. More...
 
virtual ~Partition ()
 Destructor.
 
ParallelMachine parallel () const
 Return the parallel communicator for this partition entity.
 
virtual unsigned num_elems () const =0
 Return the total number of mesh entities in all lists.
 
virtual void determine_new_partition (bool &RebalancingNeeded)=0
 determine New Partition. More...
 
virtual int get_new_partition (stk_classic::mesh::EntityProcVec &new_partition)=0
 Perform communication to create new partition. More...
 
virtual bool partition_dependents_needed () const =0
 Query whether element dependents need to be rebalanced outside this Partition.
 

Static Public Member Functions

static void entity_to_point (const mesh::Entity &entity, const VectorField &ref, std::vector< double > &coor)
 Convert a single mesh entity to a single point. More...
 
static std::vector< const mesh::Entity * > entity_coordinates (const mesh::Entity &entity, const VectorField &ref, std::vector< std::vector< double > > &coordinates)
 Used to return the nodal entities that compute_entity_centroid averages. More...
 
static std::vector< std::vector< double > > compute_entity_centroid (const mesh::Entity &entity, const VectorField &ref, std::vector< double > &coor)
 Returns a vector of vectors containing the coordinates of the nodes that were used to compute the centroid. More...
 
static bool confirm (const std::string &param_set_name)
 Check existence of library entry name on domain library. This is a simple one line convenience function.
 

Additional Inherited Members

- Protected Attributes inherited from stk_classic::rebalance::Partition
const stk_classic::ParallelMachine comm_
 

Detailed Description

Class for determining the optimal partitioning of mesh entities.

Derived from the Partition class.

The GeomDecomp class has no data associated with it, only member functions. All data is inherited from the Partition class.

GeomDecomp has two functions. It adds functions to compute geometry information for mesh entities, such as the center point for a mesh entity. And it defines virtual functions to be specialized by other classes that interface to partitioning packages such as Zoltan.

Definition at line 71 of file GeomDecomp.hpp.

Member Function Documentation

◆ entity_to_point()

void stk_classic::rebalance::GeomDecomp::entity_to_point ( const mesh::Entity entity,
const VectorField ref,
std::vector< double > &  coor 
)
static

Convert a single mesh entity to a single point.

Parameters
entityEntity to take centroid of, element, side, face or node.
refCoordinate field to average, usually defined on the nodes.
coorIs the output coordinate and is assumed to be large enough to hold a single coordinate. Note the maximum needed in all cases is length 3.

The entity_to_point function is used in the case where a mesh entity is an element with many nodes. Then something like the element centroid can be used to define a single coordinate point for it.

Definition at line 133 of file GeomDecomp.cpp.

◆ entity_coordinates()

std::vector< const mesh::Entity * > stk_classic::rebalance::GeomDecomp::entity_coordinates ( const mesh::Entity entity,
const VectorField ref,
std::vector< std::vector< double > > &  coordinates 
)
static

Used to return the nodal entities that compute_entity_centroid averages.

Parameters
entityEntity to take coordinates of, element, side, face or node.
refCoordinate field to average, usually defined on the nodes.
coorIs the output coordinates that entity_to_point would average to determine a centroid.

The return value is the mesh entities from which the coordinates were obtained.

Definition at line 34 of file GeomDecomp.cpp.

◆ compute_entity_centroid()

std::vector< std::vector< double > > stk_classic::rebalance::GeomDecomp::compute_entity_centroid ( const mesh::Entity entity,
const VectorField ref,
std::vector< double > &  coor 
)
static

Returns a vector of vectors containing the coordinates of the nodes that were used to compute the centroid.

Parameters
entityEntity to take coordinates of, element, side, face or node.
refCoordinate field to average, usually defined on the nodes.
coorIs the output coordinated and is assumed to be large enough to hold a single coordinate. Note the maximum needed in all cases is length 3.

return value is the output coordinates that entity_to_point would average to determine a centroid.

Definition at line 70 of file GeomDecomp.cpp.


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