GenericResponse

Defines a generic response. This is the same as the MSOLVE API Rv element.

Example

Assume that you want to determine the total energy required to drive a motion in a revolute joint during a simulation. Assume that the joint is defined with an I MARKER=22, and J MARKER=33. Here is how you would instantiate a response that performs the desired calculation.

First, we begin by noting that the instantaneous power required to drive the motion in a revolute joint is defined as:(1)
I n s t a n t a n e o u s   P o w e r =   | ( T o r q u e   i n   J o i n t ) * ( A n g u l a r   V e l o c i t y   i n   J o i n t ) | =   T 0 T f ( I n s t a n t a n e o u s   P o w e r )   d t =   T 0 T f ( | T o r q u e   i n   J o i n t ) * ( A n g u l a r    V e l o c i t y    i n   J o i n t ) | ) d t MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXafv3ySLgzGmvETj2BSbqefm0B1jxALjhiov2D aebbfv3ySLgzGueE0jxyaibaieYdf9irVeeu0dXdh9vqqj=hEeeu0x Xdbba9frFj0=OqFfea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs 0dXdbPYxe9vr0=vr0=vqpWqaceaabiGadiaacaqaceaadeqabqGaaO abceqabaqVqeaaqqaaaaaaOpGqSvxza8qacaWGjbGaamOBaiaadoha ciGG0bGaaiyyaiaac6gaciGG0bGaaiyyaiaac6gacaWGLbGaam4Bai aadwhacaWGZbGaaeiiaiaadcfacaWGVbGaam4DaiaadwgacaWGYbGa aCzcaiabg2da9iaabccacaGG8bWaaeWaaeaacaWGubGaam4Baiaadk hacaWGXbGaamyDaiaadwgacaqGGaGaamyAaiaad6gacaqGGaGaamOs aiaad+gaciGGPbGaaiOBaiaacshaaiaawIcacaGLPaaacaGGQaWaae WaaeaacaWGbbGaamOBaiaadEgacaWG1bGaamiBaiaadggacaWGYbGa aeiiaiaadAfacaWGLbGaamiBaiaad+gacaWGJbGaamyAaiaadshaca WG5bGaaeiiaiaadMgacaWGUbGaaeiiaiaadQeacaWGVbGaciyAaiaa c6gacaGG0baacaGLOaGaayzkaaGaaiiFaaqaaiaaxMaacqGH9aqpca qGGaWaaCbmaeaadaWdXbqaaiaacIcacaWGjbGaamOBaiaadohaciGG 0bGaaiyyaiaac6gaciGG0bGaaiyyaiaac6gacaWGLbGaam4Baiaadw hacaWGZbGaaeiiaiaadcfacaWGVbGaam4DaiaadwgacaWGYbGaaiyk aiaabccacaWGKbGaamiDaaWcbaGaamivamaaBaaameaacaaIWaaabe aaaSqaaiaadsfadaWgaaadbaGaamOzaaqabaaaniabgUIiYdaaleaa aeaaaaaakeaacaWLjaGaeyypa0JaaeiiamaapehabaGaaiikaiaacY hacaWGubGaam4BaiaadkhacaWGXbGaamyDaiaadwgacaqGGaGaamyA aiaad6gacaqGGaGaamOsaiaad+gaciGGPbGaaiOBaiaacshacaGGPa GaaiOkaiaacIcacaWGbbGaamOBaiaadEgacaWG1bGaamiBaiaadgga caWGYbGaaeiiaiaabAfacaqGLbGaaeiBaiaab+gacaqGJbGaaeyAai aabshacaqG5bGaaeiiaiaadMgacaWGUbGaaeiiaiaadQeacaWGVbGa ciyAaiaac6gacaGG0bGaaiykaiaacYhacaGGPaGaamizaiaadshaaS qaaiaadsfadaWgaaadbaGaaGimaaqabaaaleaacaWGubWaaSbaaWqa aiaadAgaaeqaaaqdcqGHRiI8aaaaaa@CCC0@
Now we can define the total energy expended in driving the motion as follows:

>>> # Instantaneous torque and angular velocity in the revolute joint
>>> torque = “TZ(22,33,33)”
>>> wz     = “WZ(22,33,33)”
>>>
>>> Instantaneous Power
>>> iPower = “ABS({torque}*{wz})”.format(torque=torque, wz=wz)
>>>
>>> #The total energy expended by the motion
>>> energy = GenericResponse ( 
      label    = "Total energy of Motion",
      function = iPower
    )
The calculations in GenericResponse are implemented as:(2)
e n e r g y   =   T 0 T f ( | T Z ( 22 , 33 , 33 ) * W Z ( 22 , 33 , 33 ) | ) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbd9MBZ9 gBHnharuavP1wzZbItLDhis9wBH5garmqr1ngBPrgitLxBI9gBaerb d9wDYLwzYbItLDharqqr1ngBPrgifHhDYfgasaacH8qrps0lbbf9q8 WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=J bba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaacaGacmWadaWaai GacaabbiqafiaakeaaqqaaaaaaOpGqSvxza8qacaWGLbGaamOBaiaa dwgacaWGYbGaam4zaiaadMhacaqGGaGaeyypa0Jaaeiiamaapehaba GaaiikaiaacYhacaWGubGaamOwaiaacIcacaaIYaGaaGOmaiaacYca caaIZaGaaG4maiaacYcacaaIZaGaaG4maiaacMcacaGGQaGaam4vai aadQfacaGGOaGaaGOmaiaaikdacaGGSaGaaG4maiaaiodacaGGSaGa aG4maiaaiodacaGGPaGaaiiFaiaacMcaaSqaaiaadsfadaWgaaadba GaaGimaaqabaaaleaacaWGubWaaSbaaWqaaiaadAgaaeqaaaqdcqGH RiI8aaaa@63DE@