model BungeeJump "A simple model of a bungee jump" annotation(__Wolfram(useDocumentationTemplate=false), Documentation(info="
More Examples Introductory Videos Documentation Contact Us
 

Bungee Jump: Simulate Multibody Systems

CONTENTS:
ˇ Introductionˇ Automatic 3D Animation
ˇ Instant Plottingˇ Change Parameters
 

Introduction

This is a simple model of a bungee jumper consisting of a mass attached to a platform by a spring and damper.

 

Automatic 3D Animation

Multibody systems have visualizers to show what a real-world system would look like.

\"\"/

To simulate the model and view a 3D animation of it, follow the steps below:

 

Instant Plotting

Explore the how the force on the cord varies with time by simulating and plotting the variable ElasticCord.f.

To plot a variable, mark its checkbox in the Plot tab on the left in Simulation Center.

\"\"/

 

Change Parameters

Changing parameters for the simulation can be done rapidly in Simulation Center. Switch to the Parameters tab and enter a new value for the parameter you would like to vary.

\"\"/

Simulate again to see the effects of your changes.

\"Show\"\"Hide\"Terms and Conditions of Use

This domain example is an informational resource made freely available by Wolfram Research.

Use of This Example

License

All content in this bundle is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. By accessing the content or using it in any way, you accept and agree to be bound by the terms of this license. If you do not agree to these Terms of Use, you may not use this content. Wolfram Research reserves the right to change, modify, add to, or remove portions of these Terms of Use at any time without notice. Please refer back to www.wolfram.com for the latest Terms of Use.

A summary of the licensing terms can be found at:
http://creativecommons.org/licenses/by-nc-sa/3.0

The full legal code can be found at:
http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode

 
", revisions=""), preferredView="info", uses(Modelica(version="3.1")), Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, initialScale=0.1, grid={10,10}), graphics={Text(visible=true, origin={0.0,28.0}, lineColor={255,0,0}, extent={{-120.0,73.0},{120.0,132.0}}, textString="%name", fontName="Arial"),Rectangle(visible=true, lineColor={111,0,0}, fillColor={255,0,0}, fillPattern=FillPattern.HorizontalCylinder, lineThickness=4, extent={{-90.0,-90.0},{90.0,90.0}}, radius=25),Text(visible=true, origin={12.0,20.8333}, fillColor={255,255,255}, fillPattern=FillPattern.Solid, extent={{-102.0,-70.8333},{78.0,29.1667}}, textString="Ex", fontName="Arial")}), Diagram(coordinateSystem(extent={{-105.0,-80.0},{105.0,80.0}}, preserveAspectRatio=true, initialScale=0.1, grid={5,5}), graphics), experiment(StartTime=0.0, StopTime=15, NumberOfIntervals=-1, Algorithm="dassl", Tolerance=0.000001)); inner Modelica.Mechanics.MultiBody.World world(axisShowLabels=false, animateWorld=false, animateGravity=false) annotation(Placement(visible=true, transformation(origin={-80.0,60.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.SpringDamperParallel ElasticCord(c=240.0, d=40.0, s_unstretched=0.01, numberOfWindings=1, s.start=0.2, coilWidth=0.01, color={255,0,0}) annotation(Placement(visible=true, transformation(origin={40.0,20.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation Platform(r={1.5,0.0,0.0}, widthDirection={0,1.0,0}, height=0.7, shapeType="cylinder", width=0.1, color={255,120,12}, r_shape={-0.2,0.0,0.0}) annotation(Placement(visible=true, transformation(origin={0.0,60.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed fixed1(height=0.1, r={0,-10,0}, widthDirection={0.0,0.1,0.0}, animation=false) annotation(Placement(visible=true, transformation(origin={-80.0,-60.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedShape Ground(height=30, length=30, width=0.02, r_shape={-10,0,0}) annotation(Placement(visible=true, transformation(origin={40.0,-60.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body Jumper(I_11=0.8, I_22=8, I_33=0.8, angles_fixed=false, animation=false, cylinderDiameter=0.35, frame_a.r_0.start={3,0.0,0.0}, m=75.0, r_0.start={1,1,1}, r_CM={0.0,1,0}, sphereDiameter=0.25, v_0.start={3.5,2.0,0.0}, w_0_fixed=true, w_0_start={0,0,0.0349065850398866}) annotation(Placement(visible=true, transformation(origin={40.0,-20.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); Modelica.Mechanics.MultiBody.Visualizers.FixedShape JumperTexture(shapeType="DocumentationFiles/jumper.obj", height=1, length=1, width=0.1, lengthDirection={0,-1,0}, r_shape={0,0,0}) annotation(Placement(visible=true, transformation(origin={80.0,-20.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); Modelica.Mechanics.MultiBody.Visualizers.FixedShape BridgeTexture(height(start=10)=10, length(start=10)=10, shapeType="DocumentationFiles/bridge.obj", width(start=10)=10, r_shape={0.0,-2.2,0}, lengthDirection={0,0,1}, widthDirection={5,0,0}) annotation(Placement(visible=true, transformation(origin={-40.0,20.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-360))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation BridgeToPlatform(color={255,120,12}, height=0.7, r={1.5,0.0,0.0}, shapeType="cylinder", width=0.1, widthDirection={0,1.0,0}, animation=false) annotation(Placement(visible=true, transformation(origin={-39.5425,60.0}, extent={{-9.5425,-9.5425},{9.5425,9.5425}}, rotation=0))); equation connect(BridgeTexture.frame_a,BridgeToPlatform.frame_a) annotation(Line(visible=true, origin={-51.3212,40.0}, points={{1.3212,-20.0},{-1.7788,-20.0},{-1.7788,20.0},{2.2362,20.0}})); connect(ElasticCord.frame_a,Platform.frame_b) annotation(Line(visible=true, origin={30.0,50.0}, points={{10.0,-20.0},{10.0,10.0},{-20.0,10.0}})); connect(BridgeToPlatform.frame_b,Platform.frame_a) annotation(Line(visible=true, origin={-20.0,60.0}, points={{-10.0,0.0},{10.0,0.0}})); connect(BridgeToPlatform.frame_a,world.frame_b) annotation(Line(visible=true, origin={-59.5425,60.0}, points={{10.4575,0.0},{-10.4575,0.0}})); connect(fixed1.frame_b,Ground.frame_a) annotation(Line(visible=true, origin={-20.0,-60.0}, points={{-50.0,0.0},{50.0,0.0}})); connect(JumperTexture.frame_a,Jumper.frame_a) annotation(Line(visible=true, origin={30.0,-50.0}, points={{50.0,40.0},{10.0,40.0}})); connect(Jumper.frame_a,ElasticCord.frame_b) annotation(Line(visible=true, origin={40.0,-0.0}, points={{0.0,-10.0},{0.0,10.0}})); end BungeeJump;