Class Groups
source code
Gather MBDyn groups of nodes or elements. The nodes and elements are
organised into groups by the DataManager
, described in the
file 'dataman.h'. The SWIG interface to the
DataManager
is able to get back the objects pointers, so
then they can create Python objects as described in mbdyn.bindings.basic_objects. The SWIG interface of the
DataManager
is described in 'dataman.i' and the
instance of that class is pDM
, attribute of the MBDyn
Solver
.
This class will interact with pDM
and get back all the
MBDyn objects. However this step requires to have a corresponding group
where to store the object reference. That is the role of the mbdyn.bindings.groups module.
Moreover MBDyn uses a polymorphism on the Elem
class or
Node
class. This single class definition will try to be
converted to a general class for the group, this is achieved in the
method try_to_convert.
Finally this class is responsible of listing present groups. For
example:
>>> wm = WraptMBDyn("input_file")
>>> wm.init()
>>> wm.elts
[automatic_structurals,
bodies,
joints,
beams,
forces]
elts
is a Groups
instance.
|
__init__(self,
item_key)
Translation of the C++ enumeration done in MBDyn, each key
corresponds to an integer, indice of the group. |
source code
|
|
|
add_group(self,
group)
Add a group of elements or nodes |
source code
|
|
|
__getitem__(self,
key)
Return a group from the MBDyn key (STRUCTURAL, FORCE...) |
source code
|
|
|
|
|
|
|
__repr__(self)
Return all the present groups |
source code
|
|
Try to call the convert method for each group. Due to the
numerous groups, the difficulty is to make a package that work without
having an interface for everyone. That's why this method tests if the
SWIG module has a function to convert the object from the mbdyn.bindings.basic_objects to a general class of the
group. If the SWIG module has a conversion to offer, the
convert method of the group will be called by supplying the
function reference. The conversion details can then be found in mbdyn.bindings.groups.
|
The present groups are set as attribute names. The names used are
defined in the GROUP_TABLE of mbdyn.bindings.groups.
|