Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Modelica/Mechanics/MultiBody/Forces.mo
Original file line number Diff line number Diff line change
Expand Up @@ -2921,6 +2921,22 @@ values from the outside in order that the model remains balanced
</html>"));
end BasicWorldTorque;

model ZeroForceAndTorque "Set force and torque to zero"
extends Modelica.Blocks.Icons.Block;
Interfaces.Frame_a frame_a
annotation (Placement(transformation(extent={{-116,-16},{-84,16}})));
equation
frame_a.f = zeros(3);
frame_a.t = zeros(3);
annotation (Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,
-100},{100,100}}), graphics={Text(
extent={{-74,24},{80,-20}},
textString="f = t = 0")}), Documentation(info="<html>
<p>Set force and torque vectors on frame connector frame_a to zero.</p>
<!--a placeholder to fulfill minimum documentation length-->
</html>"));
end ZeroForceAndTorque;

function standardGravityAcceleration
"Standard gravity fields (no/parallel/point field)"
extends Modelica.Icons.Function;
Expand Down
4 changes: 2 additions & 2 deletions Modelica/Mechanics/MultiBody/Joints.mo
Original file line number Diff line number Diff line change
Expand Up @@ -2027,9 +2027,9 @@ frame_b of the joint.
annotation (Placement(transformation(extent={{20,-30},{40,-10}})));
Modelica.Blocks.Continuous.Der derz[3] if use_w and use_z
annotation (Placement(transformation(extent={{20,20},{40,40}})));
Modelica.Mechanics.MultiBody.Sensors.Internal.ZeroForceAndTorque zeroForceAndTorque1
Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque zeroForceAndTorque1
annotation (Placement(transformation(extent={{-80,-50},{-60,-30}})));
Modelica.Mechanics.MultiBody.Sensors.Internal.ZeroForceAndTorque zeroForceAndTorque2
Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque zeroForceAndTorque2
annotation (Placement(transformation(extent={{80,-50},{60,-30}})));
Modelica.Mechanics.MultiBody.Visualizers.SignalArrow arrow(
diameter=arrowDiameter,
Expand Down
26 changes: 5 additions & 21 deletions Modelica/Mechanics/MultiBody/Sensors.mo
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,9 @@ package Sensors "Sensors to measure variables"
AbsoluteAngularVelocity absoluteAngularVelocity(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.world) if
get_z
annotation (Placement(transformation(extent={{40,-10},{60,10}})));
Internal.ZeroForceAndTorque zeroForce1
Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque zeroForce1
annotation (Placement(transformation(extent={{-60,20},{-40,40}})));
Internal.ZeroForceAndTorque zeroForce2 if resolveInFrame == Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve
Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque zeroForce2 if resolveInFrame == Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve
annotation (Placement(transformation(extent={{80,20},{60,40}})));
equation
connect(zeroForce1.frame_a, frame_a)
Expand Down Expand Up @@ -552,11 +552,11 @@ and sequence[2] &ne; sequence[3]. Often used values are:
extent={{-10,-10},{0,0}},
rotation=-90,
origin={95,-58})));
Internal.ZeroForceAndTorque zeroForce1
Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque zeroForce1
annotation (Placement(transformation(extent={{-80,40},{-60,60}})));
Internal.ZeroForceAndTorque zeroForce2
Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque zeroForce2
annotation (Placement(transformation(extent={{80,40},{60,60}})));
Internal.ZeroForceAndTorque zeroForce3 if resolveInFrame == Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve
Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque zeroForce3 if resolveInFrame == Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve
annotation (Placement(transformation(extent={{40,70},{20,90}})));

protected
Expand Down Expand Up @@ -3203,22 +3203,6 @@ is always enabled and must be connected</strong>.
</html>"));
end BasicTransformRelativeVector;

model ZeroForceAndTorque "Set force and torque to zero"
extends Modelica.Blocks.Icons.Block;
Interfaces.Frame_a frame_a
annotation (Placement(transformation(extent={{-116,-16},{-84,16}})));
equation
frame_a.f = zeros(3);
frame_a.t = zeros(3);
annotation (Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,
-100},{100,100}}), graphics={Text(
extent={{-74,24},{80,-20}},
textString="f = t = 0")}), Documentation(info="<html>
<p>Set force and torque vectors on frame connector frame_a to zero.</p>
<!--a placeholder to fulfill minimum documentation length-->
</html>"));
end ZeroForceAndTorque;

partial model PartialCutForceSensor
"Base class to measure cut force and/or torque between two frames, defined by components"

Expand Down
2 changes: 1 addition & 1 deletion Modelica/Mechanics/MultiBody/Visualizers.mo
Original file line number Diff line number Diff line change
Expand Up @@ -1207,7 +1207,7 @@ colorMapToSvg(Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.jet(),
redeclare function surfaceCharacteristic = Advanced.SurfaceCharacteristics.rectangle (
lu=length_u, lv=length_v)) if world.enableAnimation and animation
annotation (Placement(transformation(extent={{-20,-10},{0,10}})));
Sensors.Internal.ZeroForceAndTorque zeroForceAndTorque annotation (Placement(transformation(extent={{-80,-10},{-60,10}})));
Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque zeroForceAndTorque annotation (Placement(transformation(extent={{-80,-10},{-60,10}})));

equation
connect(frame_a, zeroForceAndTorque.frame_a) annotation (Line(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ convertClass("Modelica.Fluid.Dissipation.Utilities.Functions.General.CubicInterp
"Modelica.Fluid.Dissipation.Utilities.Functions.General.CubicInterpolation_Re")
convertClass("Modelica.Fluid.Dissipation.Utilities.Functions.General.CubicInterpolation_MFLOW",
"Modelica.Fluid.Dissipation.Utilities.Functions.General.CubicInterpolation_lambda");
convertClass("Modelica.Mechanics.MultiBody.Sensors.Internal.ZeroForceAndTorque",
"Modelica.Mechanics.MultiBody.Forces.Internal.ZeroForceAndTorque");
20 changes: 19 additions & 1 deletion ModelicaTestConversion4.mo
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,31 @@ package ModelicaTestConversion4
Re_lam_min,
Re_turb_leave,
k)/Re_check^2 "Darcy friction factor";
annotation(Documentation(info="<html>
annotation(experiment(StopTime=1), Documentation(info="<html>
<p>
Conversion test for <a href=\"https://github.com/modelica/ModelicaStandardLibrary/issues/2780\">#2780</a>.
</p>
</html>"));
end Issue2780;
end Dissipation;
end Fluid;
package Mechanics
extends Modelica.Icons.ExamplesPackage;
package MultiBody
extends Modelica.Icons.ExamplesPackage;
model Issue2425 "Conversion test for #2425"
extends Modelica.Icons.Example;
inner Modelica.Mechanics.MultiBody.World world;
Modelica.Mechanics.MultiBody.Sensors.Internal.ZeroForceAndTorque zeroForceAndTorque;
equation
connect(world.frame_b, zeroForceAndTorque.frame_a);
annotation(experiment(StopTime=1), Documentation(info="<html>
<p>
Conversion test for <a href=\"https://github.com/modelica/ModelicaStandardLibrary/issues/2425\">#2425</a>.
</p>
</html>"));
end Issue2425;
end MultiBody;
end Mechanics;
annotation(uses(Modelica(version="3.2.3")));
end ModelicaTestConversion4;