Connectors and partial models for 3-dim. mechanical components
This package contains connectors and partial models (i.e., models that are only used to build other models) of the MultiBody library.
Extends from Modelica.Icons.InterfacesPackage (Icon for packages containing interfaces).
Name | Description |
---|---|
Frame | Coordinate system fixed to the component with one cut-force and cut-torque (no icon) |
Frame_a | Coordinate system fixed to the component with one cut-force and cut-torque (filled rectangular icon) |
Frame_b | Coordinate system fixed to the component with one cut-force and cut-torque (non-filled rectangular icon) |
Frame_resolve | Coordinate system fixed to the component used to express in which coordinate system a vector is resolved (non-filled rectangular icon) |
FlangeWithBearing | Connector consisting of 1-dim. rotational flange and its bearing frame |
FlangeWithBearingAdaptor | Adaptor to allow direct connections to the sub-connectors of FlangeWithBearing |
PartialTwoFrames | Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected |
PartialTwoFramesDoubleSize | Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected (default icon size is factor 2 larger as usual) |
PartialOneFrame_a | Base model for components providing one frame_a connector + outer world + assert to guarantee that the component is connected |
PartialOneFrame_b | Base model for components providing one frame_b connector + outer world + assert to guarantee that the component is connected |
PartialElementaryJoint | Base model for elementary joints (has two frames + outer world + assert to guarantee that the joint is connected) |
PartialForce | Base model for force elements (provide frame_b.f and frame_b.t in subclasses) |
LineForceBase | Base model for line force elements |
PartialLineForce | Base model for massless line force elements |
PartialAbsoluteSensor | Base model to measure an absolute frame variable |
PartialRelativeSensor | Base model to measure a relative variable between two frames |
PartialVisualizer | Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected) |
ZeroPosition | Set absolute position vector of frame_resolve to a zero vector and the orientation object to a null rotation |
partialGravityAcceleration | Interface for the gravity function used in the World object |
partialSurfaceCharacteristic | Interface for a function returning surface characteristics |
partialColorMap | Interface for a function returning a color map |
Coordinate system fixed to the component with one cut-force and cut-torque (no icon)
Basic definition of a coordinate system that is fixed to a mechanical component. In the origin of the coordinate system the cut-force and the cut-torque is acting. This component has no icon definition and is only used by inheritance from frame connectors to define different icons.
Name | Description |
---|---|
r_0[3] | Position vector from world frame to the connector frame origin, resolved in world frame [m] |
R | Orientation object to rotate the world frame into the connector frame |
f[3] | Cut-force resolved in connector frame [N] |
t[3] | Cut-torque resolved in connector frame [N.m] |
Coordinate system fixed to the component with one cut-force and cut-torque (filled rectangular icon)
Basic definition of a coordinate system that is fixed to a mechanical component. In the origin of the coordinate system the cut-force and the cut-torque is acting. This component has a filled rectangular icon.
Extends from Frame (Coordinate system fixed to the component with one cut-force and cut-torque (no icon)).
Name | Description |
---|---|
r_0[3] | Position vector from world frame to the connector frame origin, resolved in world frame [m] |
R | Orientation object to rotate the world frame into the connector frame |
f[3] | Cut-force resolved in connector frame [N] |
t[3] | Cut-torque resolved in connector frame [N.m] |
Coordinate system fixed to the component with one cut-force and cut-torque (non-filled rectangular icon)
Basic definition of a coordinate system that is fixed to a mechanical component. In the origin of the coordinate system the cut-force and the cut-torque is acting. This component has a non-filled rectangular icon.
Extends from Frame (Coordinate system fixed to the component with one cut-force and cut-torque (no icon)).
Name | Description |
---|---|
r_0[3] | Position vector from world frame to the connector frame origin, resolved in world frame [m] |
R | Orientation object to rotate the world frame into the connector frame |
f[3] | Cut-force resolved in connector frame [N] |
t[3] | Cut-torque resolved in connector frame [N.m] |
Coordinate system fixed to the component used to express in which coordinate system a vector is resolved (non-filled rectangular icon)
Basic definition of a coordinate system that is fixed to a mechanical component. In the origin of the coordinate system the cut-force and the cut-torque is acting. This coordinate system is used to express in which coordinate system a vector is resolved. A component that uses a Frame_resolve connector has to set the cut-force and cut-torque of this frame to zero. When connecting from a Frame_resolve connector to another frame connector, by default the connecting line has line style "dotted". This component has a non-filled rectangular icon.
Extends from Frame (Coordinate system fixed to the component with one cut-force and cut-torque (no icon)).
Name | Description |
---|---|
r_0[3] | Position vector from world frame to the connector frame origin, resolved in world frame [m] |
R | Orientation object to rotate the world frame into the connector frame |
f[3] | Cut-force resolved in connector frame [N] |
t[3] | Cut-torque resolved in connector frame [N.m] |
Connector consisting of 1-dim. rotational flange and its bearing frame
This hierarchical connector models a 1-dim. rotational flange connector and its optional bearing defined by a 3-dim. frame connector. If a connection to the subconnectors should be clearly visible, connect first an instance of FlangeWithBearingAdaptor to the FlangeWithBearing connector.
Name | Description |
---|---|
includeBearingConnector | = true, if bearing frame connector is present, otherwise not present |
Name | Description |
---|---|
includeBearingConnector | = true, if bearing frame connector is present, otherwise not present |
flange | 1-dim. rotational flange |
bearingFrame | 3-dim. frame in which the 1-dim. shaft is mounted |
Adaptor to allow direct connections to the sub-connectors of FlangeWithBearing
Adaptor object to make a more visible connection to the flange and frame subconnectors of a FlangeWithBearing connector.
Name | Description |
---|---|
includeBearingConnector | = true, if bearing frame connector is present, otherwise not present |
Name | Description |
---|---|
flangeAndFrame | Compound connector consisting of 1-dim. rotational flange and 3-dim. frame mounting |
flange | 1-dim. rotational flange |
frame | 3-dim. frame in which the 1-dim. shaft is mounted |
Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected
This partial model provides two frame connectors, access to the world object and an assert to check that both frame connectors are connected. Therefore, inherit from this partial model if the two frame connectors are needed and if the two frame connectors should be connected for a correct model.
Name | Description |
---|---|
frame_a | Coordinate system a fixed to the component with one cut-force and cut-torque |
frame_b | Coordinate system b fixed to the component with one cut-force and cut-torque |
Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected (default icon size is factor 2 larger as usual)
This partial model provides two frame connectors, access to the world object and an assert to check that both frame connectors are connected. Therefore, inherit from this partial model if the two frame connectors are needed and if the two frame connectors should be connected for a correct model.
When dragging "PartialTwoFrames", the default size is a factor of two larger as usual. This partial model is used by the Joint.Assemblies joint aggregation models.
Name | Description |
---|---|
frame_a | Coordinate system fixed to the component with one cut-force and cut-torque |
frame_b | Coordinate system fixed to the component with one cut-force and cut-torque |
Base model for components providing one frame_a connector + outer world + assert to guarantee that the component is connected
This partial model provides one frame_a connector, access to the world object and an assert to check that the frame_a connector is connected. Therefore, inherit from this partial model if the frame_a connector is needed and if this connector should be connected for a correct model.
Name | Description |
---|---|
frame_a | Coordinate system fixed to the component with one cut-force and cut-torque |
Base model for components providing one frame_b connector + outer world + assert to guarantee that the component is connected
This partial model provides one frame_b connector, access to the world object and an assert to check that the frame_b connector is connected. Therefore, inherit from this partial model if the frame_b connector is needed and if this connector should be connected for a correct model.
Name | Description |
---|---|
frame_b | Coordinate system fixed to the component with one cut-force and cut-torque |
Base model for elementary joints (has two frames + outer world + assert to guarantee that the joint is connected)
All elementary joints should inherit from this base model, i.e., joints that are directly defined by equations, provided they compute either the rotation object of frame_b from the rotation object of frame_a and from relative quantities (or vice versa), or there is a constraint equation between the rotation objects of the two frames. In other cases, a joint object should inherit from Interfaces.PartialTwoFrames (e.g., joint Spherical, because there is no constraint between the rotation objects of frame_a and frame_b or joint Cylindrical because it is not an elementary joint).
This partial model provides two frame connectors, a "Connections.branch" between frame_a and frame_b, access to the world object and an assert to check that both frame connectors are connected.
Name | Description |
---|---|
frame_a | Coordinate system fixed to the joint with one cut-force and cut-torque |
frame_b | Coordinate system fixed to the joint with one cut-force and cut-torque |
Base model for force elements (provide frame_b.f and frame_b.t in subclasses)
All 3-dimensional force and torque elements should be based on this superclass. This model defines frame_a and frame_b, computes the relative translation and rotation between the two frames and calculates the cut-force and cut-torque at frame_a by a force and torque balance from the cut-force and cut-torque at frame_b. As a result, in a subclass, only the relationship between the cut-force and cut-torque at frame_b has to be defined as a function of the following relative quantities:
r_rel_b[3]: Position vector from origin of frame_a to origin of frame_b, resolved in frame_b R_rel : Relative orientation object to rotate from frame_a to frame_b
Assume that force f = {100,0,0} should be applied on the body to which this force element is attached at frame_b, then the definition should be:
model Constant_x_Force extends Modelica.Mechanics.MultiBody.Interfaces.PartialForce; equation frame_b.f = {-100, 0, 0}; frame_b.t = zeros(3); end Constant_x_Force;
Note, that frame_b.f and frame_b.t are flow variables and therefore the negative value of frame_b.f and frame_b.t is acting at the part to which this force element is connected.
Extends from PartialTwoFrames (Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected).
Name | Description |
---|---|
frame_a | Coordinate system a fixed to the component with one cut-force and cut-torque |
frame_b | Coordinate system b fixed to the component with one cut-force and cut-torque |
Base model for line force elements
All line force elements should be based on this base model. This model defines frame_a and frame_b and computes the (guarded) relative distance s. An assertion is raised if the relative distance length became smaller as parameter s_small.
Extends from PartialTwoFrames (Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected).
Name | Description |
---|---|
Advanced | |
s_small | Prevent zero-division if distance between frame_a and frame_b is zero [m] |
If enabled, can give wrong results, see MultiBody.UsersGuide.Tutorial.ConnectionOfLineForces | |
fixedRotationAtFrame_a | =true, if rotation frame_a.R is fixed (to directly connect line forces) |
fixedRotationAtFrame_b | =true, if rotation frame_b.R is fixed (to directly connect line forces) |
Name | Description |
---|---|
frame_a | Coordinate system a fixed to the component with one cut-force and cut-torque |
frame_b | Coordinate system b fixed to the component with one cut-force and cut-torque |
Base model for massless line force elements
All massless line force elements should be based on this base model. This model defines frame_a and frame_b, computes the (guarded) relative distance s and provides the force and torque balance of the cut-forces and cut-torques at frame_a and frame_b, respectively. In sub-models, only the line force f, acting at frame_b on the line from frame_a to frame_b, as a function of the relative distance s and its derivative der(s) has to be defined. Example:
model Spring parameter Real c "spring constant", parameter Real s_unstretched "unstretched spring length"; extends Modelica.Mechanics.MultiBody.Interfaces.PartialLineForce; equation f = c*(s-s_unstretched); end Spring;
Extends from LineForceBase (Base model for line force elements).
Name | Description |
---|---|
Advanced | |
s_small | Prevent zero-division if distance between frame_a and frame_b is zero [m] |
If enabled, can give wrong results, see MultiBody.UsersGuide.Tutorial.ConnectionOfLineForces | |
fixedRotationAtFrame_a | =true, if rotation frame_a.R is fixed (to directly connect line forces) |
fixedRotationAtFrame_b | =true, if rotation frame_b.R is fixed (to directly connect line forces) |
Name | Description |
---|---|
frame_a | Coordinate system a fixed to the component with one cut-force and cut-torque |
frame_b | Coordinate system b fixed to the component with one cut-force and cut-torque |
Base model to measure an absolute frame variable
This is the base class of a 3-dim. mechanics component with one frame and one output port in order to measure an absolute quantity in the frame connector and to provide the measured signal as output for further processing with the blocks of package Modelica.Blocks.
Extends from Modelica.Icons.RotationalSensor (Icon representing a round measurement device).
Name | Description |
---|---|
n_out | Number of output signals |
Name | Description |
---|---|
frame_a | Coordinate system from which absolute quantities are provided as output signals |
y[n_out] | Measured data as signal vector |
Base model to measure a relative variable between two frames
This is a base class for 3-dim. mechanical components with two frames and one output port in order to measure relative quantities between the two frames or the cut-forces/torques in the frame and to provide the measured signals as output for further processing with the blocks of package Modelica.Blocks.
Extends from Modelica.Icons.RotationalSensor (Icon representing a round measurement device).
Name | Description |
---|---|
n_out | Number of output signals |
Name | Description |
---|---|
frame_a | Coordinate system a |
frame_b | Coordinate system b |
y[n_out] | Measured data as signal vector |
Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)
This partial model provides one frame_a connector, access to the world object and an assert to check that the frame_a connector is connected. It is used by inheritance from all visualizer objects.
Name | Description |
---|---|
frame_a | Coordinate system in which visualization data is resolved |
Set absolute position vector of frame_resolve to a zero vector and the orientation object to a null rotation
Element consisting of a frame (frame_resolve) that is fixed in the world frame and has it's position and orientation identical with the world, i.e. the position vector from origin of world frame to frame_resolve is zero vector and the relative orientation between those two frames is identity matrix.
This component provides no visualization.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Name | Description |
---|---|
frame_resolve |
Interface for the gravity function used in the World object
This partial function defines the interface to the gravity function used in the World object. All gravity field functions must inherit from this function. The input to the function is the absolute position vector of a point in the gravity field, whereas the output is the gravity acceleration at this point, resolved in the world frame.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
r[3] | Position vector from world frame to actual point, resolved in world frame [m] |
Name | Description |
---|---|
gravity[3] | Gravity acceleration at position r, resolved in world frame [m/s2] |
Interface for a function returning surface characteristics
This partial function defines the interface of a function that returns surface characteristics for an object visualization, see e.g. Visualizers.Advanced.SurfaceCharacteristics.torus.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
nu | Number of points in u-Dimension |
nv | Number of points in v-Dimension |
multiColoredSurface | = true: Color is defined for each surface point |
Name | Description |
---|---|
X[nu, nv] | [nu,nv] positions of points in x-Direction resolved in surface frame [m] |
Y[nu, nv] | [nu,nv] positions of points in y-Direction resolved in surface frame [m] |
Z[nu, nv] | [nu,nv] positions of points in z-Direction resolved in surface frame [m] |
C[if multiColoredSurface then nu else 0, if multiColoredSurface then nv else 0, 3] | [nu,nv,3] Color array, defining the color for each surface point |
Interface for a function returning a color map
This partial function defines the interface of a function that returns a color map. Predefined color map functions are defined in package Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
n_colors | Number of colors in the color map |
Name | Description |
---|---|
colorMap[n_colors, 3] | Color map to map a scalar to a color |