Sierra Toolkit
Version of the Day
|
Class for determining the optimal partitioning of mesh entities. More...
#include <GeomDecomp.hpp>
Public Types | |
typedef mesh::Field< double, mesh::Cartesian > | VectorField |
Public Member Functions | |
GeomDecomp (ParallelMachine comm) | |
![]() | |
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 ¶m_set_name) |
Check existence of library entry name on domain library. This is a simple one line convenience function. | |
Additional Inherited Members | |
![]() | |
const stk_classic::ParallelMachine | comm_ |
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.
|
static |
Convert a single mesh entity to a single point.
entity | Entity to take centroid of, element, side, face or node. |
ref | Coordinate field to average, usually defined on the nodes. |
coor | Is 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.
|
static |
Used to return the nodal entities that compute_entity_centroid averages.
entity | Entity to take coordinates of, element, side, face or node. |
ref | Coordinate field to average, usually defined on the nodes. |
coor | Is 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.
|
static |
Returns a vector of vectors containing the coordinates of the nodes that were used to compute the centroid.
entity | Entity to take coordinates of, element, side, face or node. |
ref | Coordinate field to average, usually defined on the nodes. |
coor | Is 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.