MultiBondLib.Mechanics3D.Interfaces

Connector elements

MultiBondLib.Mechanics3D.Interfaces.Frame_a MultiBondLib.Mechanics3D.Interfaces.Frame_b MultiBondLib.Mechanics3D.Interfaces.Potentials MultiBondLib.Mechanics3D.Interfaces.MBG2Mech MultiBondLib.Mechanics3D.Interfaces.Mech2MBG

Information


This package contains the basic connectors of the 3D-mechanical elements. 
There are two connector types "Frame_a" and "Frame_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 bondgraphic models.

NameDescription
Frame_a connector for the mechanical components
Frame_b connector for the mechanical components
Frame connector for the mechanical components
Potentials redundant part of the connector
MBG2Mech links the bond graph with the mechanic connector
Mech2MBG links the bond graph with the mechanic connector


MultiBondLib.Mechanics3D.Interfaces.Frame_a MultiBondLib.Mechanics3D.Interfaces.Frame_a

connector for the mechanical components

MultiBondLib.Mechanics3D.Interfaces.Frame_a

Information


This is a connector for 3D-mechanical components. It inherits all its variables
from the basic connector type 'Frame'.

Modelica definition

connector Frame_a "connector for the mechanical components" 
  extends Frame;
  
end Frame_a;

MultiBondLib.Mechanics3D.Interfaces.Frame_b MultiBondLib.Mechanics3D.Interfaces.Frame_b

connector for the mechanical components

MultiBondLib.Mechanics3D.Interfaces.Frame_b

Information


This is a connector for 3D-mechanical components. It inherits all its variables
from the basic connector type 'Frame'.

Modelica definition

connector Frame_b "connector for the mechanical components" 
  extends Frame;
  
end Frame_b;

MultiBondLib.Mechanics3D.Interfaces.Frame

connector for the mechanical components

Information


This is the basic 3D-mechanical connector type.

The connectordefines the following potential variables:

The connector defines the following flow variables:

The potential variables are summarized in a record P. So the variable name has to be preceeded by a P. (I. e.: the gain access to the position: Type frame.P.x.)

The variables w and t are resolved in their body system, that is specified by the orientation R. All other 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 Frame "connector for the mechanical components" 
  import SI = Modelica.SIunits;
  
    Potentials P;
  
    flow SI.Force f[3] "Cut-force";
    flow SI.Torque t[3] "Cut-torque";
end Frame;

MultiBondLib.Mechanics3D.Interfaces.Potentials MultiBondLib.Mechanics3D.Interfaces.Potentials

redundant part of the connector

Information


This record contains all potential variables of the mechanical connector.

This potential variables form a redundant set of information. This is causing problems by the closure of kinematic loops. To overcome these problems this record also contains the function 'equalityConstraint'.


Modelica definition

record Potentials "redundant part of the connector" 
                  extends Modelica.Icons.Record;
  import SI = Modelica.SIunits;
  
    SI.Position x[3] "Position";
    Real R[3, 3] "Orientation";
  
    SI.Velocity v[3] "Velocity";
    SI.AngularVelocity w[3] "angular Velocity";
  
  encapsulated function equalityConstraint 
    "Return the constraint residues to express that two frames have the same orientation" 
    
    import Modelica;
    import MultiBondLib.Mechanics3D.Interfaces;
    extends Modelica.Icons.Function;
    input Interfaces.Potentials P1;
    input Interfaces.Potentials P2;
    output Real residue[6];
  algorithm 
    
    residue := {P1.x[1]-P2.x[1],P1.x[2]-P2.x[2],P1.x[3]-P2.x[3],cross(P1.R[1, :], P1.R[2, :])*P2.R[2, :],-cross(P1.R[1, :],
      P1.R[2, :])*P2.R[1, :],P1.R[2, :]*P2.R[1, :]};
    
    //    residue[1:3] := P1.x-P2.x;
    //  residue[4] := cross(P1.R[1, :], P1.R[2, :])*P2.R[2, :];
    //    residue[5] := cross(P1.R[1, :], P1.R[2, :])*P2.R[1, :];
    //    residue[6] := P1.R[2, :]*P2.R[1, :];
    
  end equalityConstraint;
  
end Potentials;

MultiBondLib.Mechanics3D.Interfaces.MBG2Mech MultiBondLib.Mechanics3D.Interfaces.MBG2Mech

links the bond graph with the mechanic connector

MultiBondLib.Mechanics3D.Interfaces.MBG2Mech

Information


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

The converter element separates the translational and rotational domain, because the according bondgraphic variables are resolved in different coordinate systems. The bondgraphic variables of the translational domain are resolved in the inertial system, but the variables of the rotational domain are resolved in the body system, which is specified by the rotational matrix R.


Modelica definition

model MBG2Mech "links the bond graph with the mechanic connector" 
  import MultiBondLib;
  MultiBondLib.Interfaces.MultiBondCon MultiBondConTrans(n=3);
  Frame_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 MBG2Mech;

MultiBondLib.Mechanics3D.Interfaces.Mech2MBG MultiBondLib.Mechanics3D.Interfaces.Mech2MBG

links the bond graph with the mechanic connector

MultiBondLib.Mechanics3D.Interfaces.Mech2MBG

Information


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

The converter element separates the translational and rotational domain, because the according bondgraphic variables are resolved in different coordinate systems. The bondgraphic variables of the translational domain are resolved in the inertial system, but the variables of the rotational domain are resolved in the body system, which is specified by the rotational matrix R.


Modelica definition

model Mech2MBG "links the bond graph with the mechanic connector" 
  import MultiBondLib;
  Frame_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 Mech2MBG;

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