Class ReferenceFrame
source code
record.RecordBase --+            
                    |            
        record.Record --+        
                        |        
       common.BasicObject --+    
                            |    
               BasicReference --+
                                |
                               ReferenceFrame
- Known Subclasses:
 
- 
    interface.references.ReferenceFrame
 
The reference frame interface. When describing a simulation, the first
  instance is usually a ReferenceFrame because this is a construction 
  object.
  In MBDyn, the reference frames are used to describe the initial 
  conditions of the problem. They are not going to be used for the 
  resolution. So this object exists only at the beginning of the simulation
  and its values are saved when Simulation calls the method store_mbdyn_data.
  The reference frames are usually linked. A new reference frame is 
  described relative to another one by the set_relative_from method. The properties of one 
  reference frame is inherited to all the reference frames that are linked 
  to. This feature is for example very useful to give an initial rotational
  speed to many other reference frames, and thus to the nodes attached to 
  them. The drawback is that a mistake done on a base reference frame is 
  propagated to all the other ones. A common mistake is a wrong orientation
  matrix.
  By default a reference is frame is relative to the absolute 
  referential, with a null position, a identity rotation matrix, a null 
  velocity and a null angular velocity. However, it a relative reference 
  frame is used, it is important to call set_relative_from just after the instance creation 
  (otherwise the default values will be applied relative to the global 
  reference frame - a default to fix).
  Example of use:
   import numpy as N
   angle = N.pi/3.
   ref1 = ReferenceFrame()
   ref1.set_orientation_matrix(one=(N.cos(angle),
                                    N.sin(angle),
                                    0.),
                               three=(0., 0., 1.))
   ref2 = ReferenceFrame()
   ref2.set_relative_from(ref1)
   ref2.set_position(10., 0., 0.)
   ref3 = ReferenceFrame()
   ref3.set_relative_from(ref2)
   ref3.set_angular_velocity(0., 0., 2.2)
  The reference frame ref1 is turn of a π/3 angle along the z axis. The 
  reference frame ref2 follows this orientation and is placed 
  at 10 m from the origin. However, but this feature is
  provided by MBDyn, its value in the absolute reference frame is: (10. cos(π/3), 10. sin(π/3), 0.). 
  ref3 gets a angular velocity of 2.2 
  rad/s along the z axis and is at the position of 
  ref2. This kinematic property is going to be transfered to 
  any node attached to this reference frame. The reference frame can also 
  be used to enter element property, but the kinematic properties are in 
  that case not relevant as only the nodes introduced kinematic degrees of 
  freedom.
  At the end, the MBDyn results are always output in the absolute 
  reference frame, from which the integration is performed. However, 
  transformations in a particular reference frame can be easily done by 
  using node rotation matrix that are updated at each 
  iteration.
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
        
          set_to_none(self) 
      No referential and no prefix for the MBDyn input file | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
        
          set_position(self,
        *args,
        **kargs) 
      Set the position relative to its reference frame. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
        
          set_orientation_matrix(self,
        *args,
        **kargs) 
      Set the orientation matrix relative to its reference frame | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
        
          set_velocity(self,
        *args,
        **kargs) 
      Set the velocity relative to its reference frame | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
        
          set_angular_velocity(self,
        *args,
        **kargs) 
      Set the initial angular velocity relative to its reference 
      frame | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
        
          _init_results(self) 
      Initialize the results and set the callbacks for getting MBDyn 
      values. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
      
     | 
  
  
    | 
     Inherited from BasicReference:
      to_mbdyn
       
    Inherited from common.BasicObject:
      get_lines,
      set_comment,
      set_label,
      set_name,
      set_simulation_ref
       
    Inherited from record.Record:
      common_init_results,
      init_results,
      save,
      set_own_parameters,
      will_save,
      will_save_nothing,
      will_save_only
       
    
    Inherited from record.RecordBase:
      collect_own_parameters,
      collect_parameters,
      set_own_para,
      set_parameters
       
    
     | 
  
  
  
  Set the reference frame default. It means a null position, a identity 
  rotation matrix, a null velocity and and null angular velocity relative 
  to its reference frame
  
   
 | 
 
  
  
  Set the relative reference frame. All the values entered will be 
  relative to the given reference frame.
  
   
 | 
 
  
  
  Saved the initial values converted in the absolute reference frame by 
  MBDyn. By default, only the absolute position and absolute orientation 
  matrix are saved. The absolute velocity and absolute angular velocity can
  be added by:
   will_save("velocity",
             "angular_velocity")
  
   
 |