MultiBondLib.Mechanics3DwithImpulses.Interfaces

connector elements

MultiBondLib.Mechanics3DwithImpulses.Interfaces.IFrame_a MultiBondLib.Mechanics3DwithImpulses.Interfaces.IFrame_b MultiBondLib.Mechanics3DwithImpulses.Interfaces.MBG2IMech MultiBondLib.Mechanics3DwithImpulses.Interfaces.IMech2MBG MultiBondLib.Mechanics3DwithImpulses.Interfaces.InsertImpulse MultiBondLib.Mechanics3DwithImpulses.Interfaces.ConnectContinousFrame

Information


This package contains the basic connectors of the impulse mechanical elements. 
There are two connector types IFrame_a and IFrame_b, but their only difference is the symbol and the name.
They both contain exactly the same variables and are therefore semantically identical.

The package contains two converter elements, that enable the comfortable wrapping of the continuos bondgraphic models.

NameDescription
IFrame hybrid connector for the mechanical components
IFrame_a hybrid connector for the mechanical components
IFrame_b hybrid connector for the mechanical components
MBG2IMech links the bond graph with the mechanic connector
IMech2MBG links the bond graph with the mechanic connector
InsertImpulse introduces the contact signal to the mechanic system
ConnectContinousFrame interface to the continuous models


MultiBondLib.Mechanics3DwithImpulses.Interfaces.IFrame

hybrid connector for the mechanical components

Information


This is the basic impulse mechanical connector type.
It is an extension of the continuous connector Mechanics3D.Interfaces.Frame.

The extension adds the following potential variables:

The extension adds the following flow variables:

The variables Wm and T are resolved in their body system, that is specified by the orientation R. All other additional variables are resolved in the inertial system.

Do not use this connector directly! Use its two inheritors Frame_a and Frame_b.


Modelica definition

connector IFrame "hybrid connector for the mechanical components" 
                 extends Mechanics3D.Interfaces.Frame;
  import SI = Modelica.SIunits;
  
  Boolean contact;
  SI.Velocity Vm[3];
  SI.AngularVelocity Wm[3];
  flow SI.Impulse F[3];
  flow SI.AngularImpulse T[3];
  
end IFrame;

MultiBondLib.Mechanics3DwithImpulses.Interfaces.IFrame_a MultiBondLib.Mechanics3DwithImpulses.Interfaces.IFrame_a

hybrid connector for the mechanical components

Information


This is a connector for impulse mechanical components. It inherits all its variables
from the basic connector type 'IFrame'.

Modelica definition

connector IFrame_a "hybrid connector for the mechanical components" 
  extends IFrame;
  
end IFrame_a;

MultiBondLib.Mechanics3DwithImpulses.Interfaces.IFrame_b MultiBondLib.Mechanics3DwithImpulses.Interfaces.IFrame_b

hybrid connector for the mechanical components

Information


This is a connector for impulse mechanical components. It inherits all its variables
from the basic connector type 'IFrame'.

Modelica definition

connector IFrame_b "hybrid connector for the mechanical components" 
  extends IFrame;
  
end IFrame_b;

MultiBondLib.Mechanics3DwithImpulses.Interfaces.MBG2IMech MultiBondLib.Mechanics3DwithImpulses.Interfaces.MBG2IMech

links the bond graph with the mechanic connector

MultiBondLib.Mechanics3DwithImpulses.Interfaces.MBG2IMech

Information


This is a converter element. The signals and bond connections of a bondgraphic model
are converted into variables of the impulse mechanical connector. This element enables the wrapping of bondgraphic models and is acausal.

The converter element replaces the classic converter elements of the inherited continuous models.


Modelica definition

model MBG2IMech "links the bond graph with the mechanic connector" 
  import MultiBondLib;
  MultiBondLib.Interfaces.MultiBondCon MultiBondConTrans(n=3);
  IFrame_b frame_b;
  MultiBondLib.Interfaces.RealSignal x[3];
  MultiBondLib.Interfaces.RealSignal R[3,3];
  MultiBondLib.Interfaces.MultiBondCon MultiBondConRot(n=3);
equation 
  MultiBondConTrans.e*MultiBondConTrans.d = frame_b.f;
  MultiBondConRot.e*MultiBondConRot.d = frame_b.t;
  
  MultiBondConTrans.f = frame_b.P.v;
  MultiBondConRot.f = frame_b.P.w;
  
  x = frame_b.P.x;
  R = frame_b.P.R;
end MBG2IMech;

MultiBondLib.Mechanics3DwithImpulses.Interfaces.IMech2MBG MultiBondLib.Mechanics3DwithImpulses.Interfaces.IMech2MBG

links the bond graph with the mechanic connector

MultiBondLib.Mechanics3DwithImpulses.Interfaces.IMech2MBG

Information


This is a converter element. The signals and bond connections of a bondgraphic model
are converted into variables of the impulse mechanical connector. This element enables the wrapping of bondgraphic
models and is acausal.

The converter element replaces the classic converter elements of the inherited continuous models.


Modelica definition

model IMech2MBG "links the bond graph with the mechanic connector" 
  import MultiBondLib;
  IFrame_a frame_a;
  MultiBondLib.Interfaces.MultiBondCon MultiBondConRot(n=3);
  MultiBondLib.Interfaces.RealSignal x[3];
  MultiBondLib.Interfaces.RealSignal R[3,3];
  MultiBondLib.Interfaces.MultiBondCon MultiBondConTrans(n=3);
equation 
  MultiBondConTrans.e*MultiBondConTrans.d = frame_a.f;
  MultiBondConRot.e*MultiBondConRot.d = frame_a.t;
  
  MultiBondConTrans.f = frame_a.P.v;
  MultiBondConRot.f = frame_a.P.w;
  
  x = frame_a.P.x;
  R = frame_a.P.R;
end IMech2MBG;

MultiBondLib.Mechanics3DwithImpulses.Interfaces.InsertImpulse MultiBondLib.Mechanics3DwithImpulses.Interfaces.InsertImpulse

introduces the contact signal to the mechanic system

MultiBondLib.Mechanics3DwithImpulses.Interfaces.InsertImpulse

Information


This interface inducts the contact signal into a mechanical subsystem.
The origin of the contact signal is contact element.

The "InsertImpulse" element can also recieve several contact signals from the collision pool. Just add the corresponding inex numbers to the parameter vector "CPIndedces". Theses contact signals are automatically merged.


Parameters

NameDefaultDescription
CPIndeces[:]zeros(0) 

Modelica definition

model InsertImpulse 
  "introduces the contact signal to the mechanic system" 
  IFrame_a frame_a;
  IFrame_b frame_b;
  Modelica.Blocks.Interfaces.BooleanInput u;
  parameter Integer[:] CPIndeces = zeros(0);
  
protected 
  outer CollisionPool collisionPool;
  Boolean u2;
algorithm 
  u2 := false;
  for i2 in CPIndeces loop
    for i in 1:collisionPool.poolSize loop
      u2 := u2 or (collisionPool.y[i2,i]);
    end for;
  end for;
  
equation 
  connect(frame_a, frame_b);
  frame_b.contact = u;
  if size(CPIndeces,1) > 0 then
    u = u2;
  end if;
  
end InsertImpulse;

MultiBondLib.Mechanics3DwithImpulses.Interfaces.ConnectContinousFrame MultiBondLib.Mechanics3DwithImpulses.Interfaces.ConnectContinousFrame

interface to the continuous models

MultiBondLib.Mechanics3DwithImpulses.Interfaces.ConnectContinousFrame

Information


This interface model enables connections between the hybrid impulse mechanical components of this library
and purely continuous components of the Mechanics3D library.

A force impulse is not transmitted through this element.


Modelica definition

model ConnectContinousFrame "interface to the continuous models" 
  IFrame_b frame_b;
  Mechanics3D.Interfaces.Frame_a frame_a;
equation 
  defineBranch(frame_a.P, frame_b.P);
  frame_a.P = frame_b.P;
  frame_a.f + frame_b.f = zeros(3);
  frame_a.t + frame_b.t = zeros(3);
  frame_b.F = zeros(3);
  frame_b.T = zeros(3);
  
end ConnectContinousFrame;

HTML-documentation generated by Dymola Thu Feb 23 12:19:59 2006.