COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Partitioner Class Reference

#include <Partitioner.hpp>

Inherits MeshPartitioner.

Public Member Functions

 Partitioner (const std::string &name)
 type of pointer to Component More...
 
virtual ~Partitioner ()
 Virtual destructor. More...
 
virtual void build_graph ()
 Partitioning functions. More...
 
virtual void partition_graph ()
 
- Public Member Functions inherited from MeshPartitioner
 MeshPartitioner (const std::string &name)
 type of pointer to Component More...
 
virtual ~MeshPartitioner ()
 Virtual destructor. More...
 
virtual void execute ()
 execute the action More...
 
void initialize (Mesh &mesh)
 
void show_changes ()
 
void migrate ()
 Migrate the elements and nodes to corresponding processors. More...
 
void load_balance (common::SignalArgs &args)
 
void load_balance_signature (common::SignalArgs &node)
 
void build_global_to_local_index (Mesh &mesh)
 location finding functions More...
 
Uint nb_objects_owned_by_part (const Uint part) const
 Graph building functions. More...
 
template<typename VectorT >
void list_of_objects_owned_by_part (const Uint part, VectorT &obj_list) const
 
template<typename VectorT >
Uint nb_connected_objects_in_part (const Uint part, VectorT &nb_connections_per_obj) const
 
template<typename VectorT , typename WeightsT >
void list_of_connected_objects_in_part (const Uint part, VectorT &connections_per_obj, WeightsT &edge_weights) const
 
template<typename VectorT >
void list_of_connected_procs_in_part (const Uint part, VectorT &proc_per_neighbor) const
 
const std::vector< std::vector< Uint > > & exported_nodes ()
 
const std::vector< std::vector< std::vector< Uint > > > & exported_elements ()
 
- Public Member Functions inherited from MeshTransformer
 MeshTransformer (const std::string &name)
 
virtual ~MeshTransformer ()
 Virtual destructor. More...
 
virtual void transform (Handle< Mesh > mesh)
 
virtual void transform (Mesh &mesh)
 
virtual std::string help () const
 extended help that user can query More...
 
void set_mesh (Handle< Mesh > mesh)
 
void set_mesh (Mesh &mesh)
 
Meshmesh ()
 
const Meshmesh () const
 
- Public Member Functions inherited from Action
 Action (const std::string &name)
 
virtual Actioncreate_action (const std::string &action_provider, const std::string &name)
 
void signal_execute (common::SignalArgs &node)
 signal to execute this action More...
 
- Public Member Functions inherited from IAction
virtual ~IAction ()
 
- Public Member Functions inherited from Component
 Component (const std::string &name)
 
virtual ~Component ()
 Virtual destructor. More...
 
const std::string & name () const
 Access the name of the component. More...
 
void rename (const std::string &name)
 Rename the component. More...
 
URI uri () const
 Construct the full path. More...
 
void complete_path (URI &path) const
 
Handle< Componentaccess_component (const URI &path) const
 
Handle< Componentaccess_component_checked (const URI &path)
 
Handle< Component const > access_component_checked (const URI &path) const
 
Handle< Componenthandle ()
 Get a handle to the component. More...
 
Handle< Component const > handle () const
 
template<typename ComponentT >
Handle< ComponentT > handle ()
 
template<typename ComponentT >
Handle< ComponentT const > handle () const
 
Handle< Componentparent () const
 
Handle< Component const > root () const
 
Handle< Componentroot ()
 
Handle< Componentget_child (const std::string &name)
 
Handle< Component const > get_child (const std::string &name) const
 
Handle< Componentget_child_checked (const std::string &name)
 
Handle< Component const > get_child_checked (const std::string &name) const
 
Handle< Componentcreate_component (const std::string &name, const std::string &builder)
 Build a (sub)component of this component using the extended type_name of the component. More...
 
template<typename T >
Handle< T > create_component (const std::string &name)
 Create a (sub)component of this component automatically cast to the specified type. More...
 
template<typename T >
Handle< T > create_static_component (const std::string &name)
 Create a static "always there" subcomponent. More...
 
Componentadd_component (const boost::shared_ptr< Component > &subcomp)
 Add the passed component as a subcomponent. More...
 
void add_link (Component &linked_component)
 
boost::shared_ptr< Componentremove_component (const std::string &name)
 Remove a (sub)component of this component. More...
 
boost::shared_ptr< Componentremove_component (Component &subcomp)
 Remove a (sub)component of this component. More...
 
void clear ()
 Remove all sub-components of this component, except for the static ones. More...
 
void move_to (Component &to_parent)
 
std::string tree (bool basic_mode=false, Uint depth=0, Uint recursion_level=0) const
 
std::string info (const std::string &what=std::string("cospt")) const
 
size_t count_children () const
 
virtual std::string derived_type_name () const =0
 
PropertyListproperties ()
 
const PropertyListproperties () const
 
OptionListoptions ()
 
const OptionListoptions () const
 
void reset_options ()
 Reset all options to their default value. More...
 
void configure_option_recursively (const std::string &optname, const boost::any &val)
 
Componentmark_basic ()
 marks this component as basic. More...
 
template<typename ComponentT >
void put_components (std::vector< boost::shared_ptr< ComponentT > > &vec, const bool recurse)
 
template<typename ComponentT >
void put_components (std::vector< boost::shared_ptr< ComponentT const > > &vec, const bool recurse) const
 
template<>
void put_components (std::vector< boost::shared_ptr< Component > > &vec, const bool recurse)
 
template<>
void put_components (std::vector< boost::shared_ptr< Component const > > &vec, const bool recurse) const
 
Component::iterator begin ()
 The begin iterator for a range containing Components. More...
 
Component::iterator end ()
 The end iterator for a range containing Components. More...
 
Component::const_iterator begin () const
 The begin iterator for a range containing Components (const version) More...
 
Component::const_iterator end () const
 The end iterator for a range containing Components (const version) More...
 
Component::iterator recursive_begin ()
 The begin iterator for a recursive range containing Components. More...
 
Component::iterator recursive_end ()
 The end iterator for a recursive range containing Components. More...
 
Component::const_iterator recursive_begin () const
 The begin iterator for a recursive range containing Components (const version) More...
 
Component::const_iterator recursive_end () const
 The end iterator for a recursive range containing Components (const version) More...
 
template<typename T >
Handle< T > create_component (const std::string &name, const std::string &builder)
 Create a component using the reduced builder name. More...
 
void signal_configure (SignalArgs &args)
 configures all the options on this class More...
 
void signal_create_component (SignalArgs &args)
 creates a component from this component More...
 
void signal_delete_component (SignalArgs &args)
 delete this component More...
 
void signal_move_component (SignalArgs &args)
 moves a component from this component to another More...
 
void signal_list_tree (SignalArgs &args) const
 lists the sub components and puts them on the xml_tree More...
 
void signal_list_tree_recursive (SignalArgs &args) const
 prints tree recursively More...
 
void signal_list_properties (SignalArgs &args) const
 lists the properties of this component More...
 
void signal_list_options (SignalArgs &args) const
 lists the properties of this component More...
 
void signal_list_options_recursive (SignalArgs &args) const
 prints all options recursive More...
 
void signal_list_signals (SignalArgs &args) const
 lists the signals of this component More...
 
void signal_list_signals_recursive (SignalArgs &args) const
 prints all signals recursive More...
 
void signal_print_info (SignalArgs &args) const
 gets info on this component More...
 
void signal_print_tree (SignalArgs &args) const
 signal to print the tree More...
 
void signature_print_tree (SignalArgs &args) const
 signature to signal_print_tree More...
 
void signal_rename_component (SignalArgs &args)
 renames this component More...
 
void signal_save_tree (SignalArgs &args)
 dumps the tree to a file More...
 
void signal_list_content (SignalArgs &args)
 gives information about this component such as options, signals, ... More...
 
void signal_signature (SignalArgs &args)
 Gives a signal signature, if any. More...
 
void signature_create_component (SignalArgs &args)
 
void signature_rename_component (SignalArgs &args)
 
void signature_move_component (SignalArgs &args)
 
void signal_store_timings (SignalArgs &args)
 Signal to store the timings (if enabled) into properties, i.e. for readout from python or the GUI. More...
 
void signal_clear (SignalArgs &args)
 Signal to remove all sub-components. More...
 
void signal_reset_options (SignalArgs &args)
 Signal to set all options to their default value. More...
 
void signal_add_tag (SignalArgs &args)
 Signal to add a tag. More...
 
void signature_add_tag (SignalArgs &args)
 
- Public Member Functions inherited from SignalHandler
 ~SignalHandler ()
 
const storage_tsignal_list () const
 
SignalPtr signal (const SignalID &sname)
 
SignalCPtr signal (const SignalID &sname) const
 
SignalRet call_signal (const SignalID &sname, SignalArgs &sinput)
 Calls the signal by providing its name and input. More...
 
SignalRet call_signal (const SignalID &sname, std::vector< std::string > &sinput)
 Calls the signal by providing its name and input. More...
 
bool signal_exists (const SignalID &sname) const
 Checks if a signal exists or not. More...
 
Signalregist_signal (const SignalID &sname)
 Regist signal. More...
 
void unregist_signal (const SignalID &sname)
 Unregist signal. More...
 
- Public Member Functions inherited from ConnectionManager
 ~ConnectionManager ()
 destructor closes all connections More...
 
Connectionconnection (const std::string &name)
 
Connectionmanage_connection (const std::string &name)
 manages a connection (creates if necessary) More...
 
- Public Member Functions inherited from TaggedObject
 TaggedObject ()
 Constructor. More...
 
bool has_tag (const std::string &tag) const
 
void add_tag (const std::string &tag)
 
std::vector< std::string > get_tags () const
 
void remove_tag (const std::string &tag)
 

Static Public Member Functions

static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from MeshPartitioner
static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from MeshTransformer
static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from Action
static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from Component
static std::string type_name ()
 Get the class name. More...
 

Private Member Functions

Zoltan & zoltan_handle ()
 
void set_partitioning_params ()
 

Static Private Member Functions

static int query_nb_of_objects (void *data, int *ierr)
 
static void query_list_of_objects (void *data, int sizeGID, int sizeLID, ZOLTAN_ID_PTR globalID, ZOLTAN_ID_PTR localID, int wgt_dim, float *obj_wgts, int *ierr)
 
static void query_nb_connected_objects (void *data, int sizeGID, int sizeLID, int num_obj, ZOLTAN_ID_PTR globalID, ZOLTAN_ID_PTR localID, int *numEdges, int *ierr)
 
static void query_list_of_connected_objects (void *data, int sizeGID, int sizeLID, int num_obj, ZOLTAN_ID_PTR globalID, ZOLTAN_ID_PTR localID, int *num_edges, ZOLTAN_ID_PTR nborGID, int *nborProc, int wgt_dim, float *ewgts, int *ierr)
 

Private Attributes

bool m_partitioned
 
int changes
 
int numGidEntries
 
int numLidEntries
 
int numImport
 
ZOLTAN_ID_PTR importGlobalIds
 
ZOLTAN_ID_PTR importLocalIds
 
int * importProcs
 
int * importToPart
 
int numExport
 
ZOLTAN_ID_PTR exportGlobalIds
 
ZOLTAN_ID_PTR exportLocalIds
 
int * exportProcs
 
int * exportToPart
 
boost::shared_ptr< Zoltan > m_zz
 
Real m_zoltan_version
 

Additional Inherited Members

- Public Types inherited from Component
typedef ComponentIterator< Componentiterator
 type of the iterator to Component More...
 
typedef ComponentIterator< Component const > const_iterator
 type of the iterator to constant Component More...
 
- Public Types inherited from SignalHandler
typedef std::vector< SignalPtrstorage_t
 storage type for signals More...
 
- Public Attributes inherited from SignalHandler
storage_t m_signals
 storage of the signals More...
 
- Protected Member Functions inherited from MeshPartitioner
bool is_node (const Uint glb_obj) const
 
bool is_elem (const Uint glb_obj) const
 
boost::tuple< Uint, Uintlocation_idx (const Uint glb_obj) const
 
boost::tuple< Handle< common::Component >, Uintlocation (const Uint glb_obj) const
 
Uint part_of_obj (const Uint obj) const
 
Uint periodic_target_node (Uint node) const
 
- Protected Member Functions inherited from Component
Componentadd_static_component (const boost::shared_ptr< Component > &subcomp)
 Add a static (sub)component of this component. More...
 
void raise_tree_updated_event ()
 raise event that the path has changed More...
 
- Protected Attributes inherited from MeshPartitioner
std::vector< std::vector< Uint > > m_nodes_to_export
 nodes_to_export[part][loc_node_idx] More...
 
std::vector< std::vector< std::vector< Uint > > > m_elements_to_export
 elements_to_export[part][elements_comp_idx][loc_elem_idx] More...
 
- Protected Attributes inherited from MeshTransformer
Handle< Meshm_mesh
 

Detailed Description

MeshPartitioner component class This class serves as a component that that will partition the mesh

Author
Willem Deconinck

Definition at line 25 of file Partitioner.hpp.

Constructor & Destructor Documentation

Partitioner ( const std::string &  name)

type of pointer to Component

type of pointer to constant Component Contructor

Parameters
nameof the component

Definition at line 37 of file Partitioner.cpp.

~Partitioner ( )
virtual

Virtual destructor.

Definition at line 61 of file Partitioner.cpp.

Member Function Documentation

virtual void build_graph ( )
inlinevirtual

Partitioning functions.

Implements MeshPartitioner.

Definition at line 48 of file Partitioner.hpp.

void partition_graph ( )
virtual

Implements MeshPartitioner.

Definition at line 87 of file Partitioner.cpp.

void query_list_of_connected_objects ( void *  data,
int  sizeGID,
int  sizeLID,
int  num_obj,
ZOLTAN_ID_PTR  globalID,
ZOLTAN_ID_PTR  localID,
int *  num_edges,
ZOLTAN_ID_PTR  nborGID,
int *  nborProc,
int  wgt_dim,
float *  ewgts,
int *  ierr 
)
staticprivate

Definition at line 280 of file Partitioner.cpp.

void query_list_of_objects ( void *  data,
int  sizeGID,
int  sizeLID,
ZOLTAN_ID_PTR  globalID,
ZOLTAN_ID_PTR  localID,
int  wgt_dim,
float *  obj_wgts,
int *  ierr 
)
staticprivate

Definition at line 243 of file Partitioner.cpp.

void query_nb_connected_objects ( void *  data,
int  sizeGID,
int  sizeLID,
int  num_obj,
ZOLTAN_ID_PTR  globalID,
ZOLTAN_ID_PTR  localID,
int *  numEdges,
int *  ierr 
)
staticprivate

Definition at line 268 of file Partitioner.cpp.

int query_nb_of_objects ( void *  data,
int *  ierr 
)
staticprivate

Definition at line 233 of file Partitioner.cpp.

void set_partitioning_params ( )
private

zoltan general parameters

zoltan graph parameters

zoltan Query functions

Definition at line 127 of file Partitioner.cpp.

static std::string type_name ( )
inlinestatic

Get the class name.

Definition at line 44 of file Partitioner.hpp.

Zoltan & zoltan_handle ( )
private

returns the handle to zoltan

Precondition
must be called after the PE is initialized

Definition at line 72 of file Partitioner.cpp.

Member Data Documentation

int changes
private

Definition at line 83 of file Partitioner.hpp.

ZOLTAN_ID_PTR exportGlobalIds
private

Definition at line 92 of file Partitioner.hpp.

ZOLTAN_ID_PTR exportLocalIds
private

Definition at line 93 of file Partitioner.hpp.

int* exportProcs
private

Definition at line 94 of file Partitioner.hpp.

int* exportToPart
private

Definition at line 95 of file Partitioner.hpp.

ZOLTAN_ID_PTR importGlobalIds
private

Definition at line 87 of file Partitioner.hpp.

ZOLTAN_ID_PTR importLocalIds
private

Definition at line 88 of file Partitioner.hpp.

int* importProcs
private

Definition at line 89 of file Partitioner.hpp.

int* importToPart
private

Definition at line 90 of file Partitioner.hpp.

bool m_partitioned
private

Definition at line 82 of file Partitioner.hpp.

Real m_zoltan_version
private

Definition at line 98 of file Partitioner.hpp.

boost::shared_ptr<Zoltan> m_zz
private

Definition at line 97 of file Partitioner.hpp.

int numExport
private

Definition at line 91 of file Partitioner.hpp.

int numGidEntries
private

Definition at line 84 of file Partitioner.hpp.

int numImport
private

Definition at line 86 of file Partitioner.hpp.

int numLidEntries
private

Definition at line 85 of file Partitioner.hpp.


The documentation for this class was generated from the following files:
Send comments to:
COOLFluiD Web Admin