|
cgma
|
#include <TDParallel.hpp>
Public Member Functions | |
| TDParallel (ToolDataUser *owner=NULL, DLIList< int > *shared_bodies=NULL, DLIList< int > *shared_procs=NULL, DLIList< int > *ghost_procs=NULL, int unique_id=-1, int interface=0) | |
| virtual | ~TDParallel () |
| DLIList< int > * | get_shared_body_list () |
| CubitStatus | set_shared_body_list () |
| DLIList< int > * | get_shared_proc_list () |
| void | set_shared_proc_list (DLIList< int > list) |
| DLIList< int > * | get_ghost_proc_list () |
| DLIList< int > * | get_local_body_list () |
| DLIList< int > * | get_non_local_body_list () |
| ToolDataUser * | owner_entity () |
| void | owner_entity (ToolDataUser *owner) |
| unsigned int | get_charge_proc () |
| void | set_charge_proc (unsigned int proc) |
| unsigned int | get_counter_proc () |
| void | set_counter_proc (unsigned int proc) |
| unsigned int | get_unique_id () |
| void | set_unique_id (unsigned int id) |
| int | is_interface () |
| unsigned int | get_n_shared_procs () |
| void | add_shared_proc (unsigned int proc) |
| void | add_ghost_proc (unsigned int proc) |
| bool | is_shared_proc (unsigned int proc) |
Static Public Member Functions | |
| static int | is_parallel (const ToolData *td) |
Private Attributes | |
| DLIList< int > | m_sharedBodyList |
| DLIList< int > | m_bodyToProcList |
| DLIList< int > | m_localBodyList |
| DLIList< int > | m_nonLocalBodyList |
| DLIList< int > | m_sharedProcList |
| DLIList< int > | m_ghostProcList |
| ToolDataUser * | ownerEntity |
| int | m_uniqueId |
| int | m_interface |
Definition at line 17 of file TDParallel.hpp.
| TDParallel::TDParallel | ( | ToolDataUser * | owner = NULL, |
| DLIList< int > * | shared_bodies = NULL, |
||
| DLIList< int > * | shared_procs = NULL, |
||
| DLIList< int > * | ghost_procs = NULL, |
||
| int | unique_id = -1, |
||
| int | interface = 0 |
||
| ) |
Definition at line 18 of file TDParallel.cpp.
: m_uniqueId(unique_id), m_interface(interface) { ownerEntity = owner; // shared bodies if (shared_bodies == NULL) { CubitStatus status = set_shared_body_list(); if (CUBIT_SUCCESS != status) { PRINT_ERROR("Failed to set shared body list.\n"); } } else { int size = shared_bodies->size(); shared_bodies->reset(); m_sharedBodyList.clean_out(); for (int i = 0; i < size; i++) { m_sharedBodyList.append(shared_bodies->get_and_step()); } } if (shared_procs != NULL) { int shared_size = shared_procs->size(); shared_procs->reset(); m_sharedProcList.clean_out(); for (int i = 0; i < shared_size; i++) { m_sharedProcList.append(shared_procs->get_and_step()); } } if (ghost_procs != NULL) { int ghost_size = ghost_procs->size(); ghost_procs->reset(); m_ghostProcList.clean_out(); for (int i = 0; i < ghost_size; i++) { m_ghostProcList.append(ghost_procs->get_and_step()); } } //set_local_non_local_body_list(); ownerEntity->add_TD(this); // update the attribute if this is a CAU CubitAttribUser *cau = CAST_TO(owner, CubitAttribUser); if (cau) { CubitAttrib *attrib = cau->get_cubit_attrib(CA_BODIES); attrib->has_updated(CUBIT_FALSE); attrib->update(); } }
| TDParallel::~TDParallel | ( | ) | [virtual] |
Definition at line 77 of file TDParallel.cpp.
{
}
| void TDParallel::add_ghost_proc | ( | unsigned int | proc | ) | [inline] |
Definition at line 155 of file TDParallel.hpp.
{
if (proc != get_charge_proc()) {
m_ghostProcList.append_unique(proc);
}
}
| void TDParallel::add_shared_proc | ( | unsigned int | proc | ) | [inline] |
Definition at line 150 of file TDParallel.hpp.
{
m_sharedProcList.append_unique(proc);
}
| unsigned int TDParallel::get_charge_proc | ( | ) | [inline] |
Definition at line 115 of file TDParallel.hpp.
{
return m_sharedProcList[0];
}
| unsigned int TDParallel::get_counter_proc | ( | ) | [inline] |
Definition at line 125 of file TDParallel.hpp.
{
return m_sharedProcList[1];
}
| DLIList< int > * TDParallel::get_ghost_proc_list | ( | ) | [inline] |
Definition at line 111 of file TDParallel.hpp.
{
return &m_ghostProcList;
}
| DLIList< int > * TDParallel::get_local_body_list | ( | ) | [inline] |
Definition at line 99 of file TDParallel.hpp.
{
return &m_localBodyList;
}
| unsigned int TDParallel::get_n_shared_procs | ( | ) | [inline] |
Definition at line 145 of file TDParallel.hpp.
{
return m_sharedProcList.size();
}
| DLIList< int > * TDParallel::get_non_local_body_list | ( | ) | [inline] |
Definition at line 103 of file TDParallel.hpp.
{
return &m_nonLocalBodyList;
}
| DLIList< int > * TDParallel::get_shared_body_list | ( | ) |
Definition at line 81 of file TDParallel.cpp.
{
return &m_sharedBodyList;
}
| DLIList< int > * TDParallel::get_shared_proc_list | ( | ) | [inline] |
Definition at line 107 of file TDParallel.hpp.
{
return &m_sharedProcList;
}
| unsigned int TDParallel::get_unique_id | ( | ) | [inline] |
Definition at line 135 of file TDParallel.hpp.
{
return m_uniqueId;
}
| int TDParallel::is_interface | ( | ) | [inline] |
Definition at line 95 of file TDParallel.hpp.
{
return m_interface;
}
| int TDParallel::is_parallel | ( | const ToolData * | td | ) | [static] |
Definition at line 72 of file TDParallel.cpp.
{
return (CAST_TO(const_cast<ToolData*>(td), TDParallel) != NULL);
}
| bool TDParallel::is_shared_proc | ( | unsigned int | proc | ) | [inline] |
Definition at line 162 of file TDParallel.hpp.
{
return m_sharedProcList.is_in_list(p);
}
| ToolDataUser* TDParallel::owner_entity | ( | ) | [inline] |
Definition at line 70 of file TDParallel.hpp.
{return ownerEntity;};
| void TDParallel::owner_entity | ( | ToolDataUser * | owner | ) | [inline] |
Definition at line 72 of file TDParallel.hpp.
{ownerEntity = owner;};
| void TDParallel::set_charge_proc | ( | unsigned int | proc | ) | [inline] |
Definition at line 120 of file TDParallel.hpp.
{
m_sharedProcList.insert_first(proc);
}
| void TDParallel::set_counter_proc | ( | unsigned int | proc | ) | [inline] |
Definition at line 130 of file TDParallel.hpp.
{
m_sharedProcList.append(proc);
}
Definition at line 86 of file TDParallel.cpp.
{
// get the bodies containing ownerEntity
Body *body;
DLIList<Body*> body_list;
int i;
CubitStatus result = (dynamic_cast<TopologyEntity*> (ownerEntity))->bodies(body_list);
if (CUBIT_SUCCESS != result) return result;
// write the data for the bodies to this TD
for(i = body_list.size(); i > 0; i--)
{
// get the body which gets assigned to this TDParallel
body = body_list.get_and_step();
// append to this TDParallel the id of the body;
m_sharedBodyList.append(TDUniqueId::get_unique_id(body));
}
return CUBIT_SUCCESS;
}
| void TDParallel::set_shared_proc_list | ( | DLIList< int > | list | ) |
Definition at line 109 of file TDParallel.cpp.
{
m_sharedProcList.clean_out();
list.reset();
for (int i = list.size(); i > 0; i--) {
m_sharedProcList.append(list.get_and_step());
}
}
| void TDParallel::set_unique_id | ( | unsigned int | id | ) | [inline] |
Definition at line 140 of file TDParallel.hpp.
{
m_uniqueId = id;
}
DLIList<int> TDParallel::m_bodyToProcList [private] |
Definition at line 25 of file TDParallel.hpp.
DLIList<int> TDParallel::m_ghostProcList [private] |
Definition at line 37 of file TDParallel.hpp.
int TDParallel::m_interface [private] |
Definition at line 46 of file TDParallel.hpp.
DLIList<int> TDParallel::m_localBodyList [private] |
Definition at line 28 of file TDParallel.hpp.
DLIList<int> TDParallel::m_nonLocalBodyList [private] |
Definition at line 31 of file TDParallel.hpp.
DLIList<int> TDParallel::m_sharedBodyList [private] |
Definition at line 22 of file TDParallel.hpp.
DLIList<int> TDParallel::m_sharedProcList [private] |
Definition at line 35 of file TDParallel.hpp.
int TDParallel::m_uniqueId [private] |
Definition at line 43 of file TDParallel.hpp.
ToolDataUser* TDParallel::ownerEntity [private] |
Definition at line 40 of file TDParallel.hpp.