Message Boards Message Boards

1
|
7985 Views
|
4 Replies
|
6 Total Likes
View groups...
Share
Share this post:

Using the bungee jump model in system modeler

Posted 11 years ago
Hi there,

I am new to system modeler and found an example  that was exactly what I wanted for a science fair project. My science fair project is on whether a spider web as thick as a around a pencil is strong and elastic enough to hold and swing anyone weighing under 200lb. Using the bungee jumping exampls, how do I set parameters like max tension before it breaks, momentum of the person and other stuff like that? Is there a source code I can manipulate? Can anyone who might be familiar with this software and this type of project lead me in the right way?

Thank you very much in advance.
POSTED BY: eshwar chandran
4 Replies
Hi, the Bungee jump example has a spring damper that is always attached, so it's not like jumping on a trampoline made out of spider web, where as long as you are in the air, there is no effect on the web.
If you use this model instead, the body wont hit the web until h=1, due to the gap in the ElastoGap model. The force in the spiderWeb component tells you how much tension is imposed on the web, and the momentum of the person depends on it's mass (body.m) and initial condition (height over trampoline).
 model Trampoline
   Modelica.Mechanics.MultiBody.Parts.Body body(r_0.start={0,2,0}, m=80, r_0.fixed=true) annotation(Placement(visible=true, transformation(origin={10,10}, extent={{-10,-10},{10,10}}, rotation=0)));
   inner Modelica.Mechanics.MultiBody.World world(animateWorld=false, animateGravity=false) annotation(Placement(visible=true, transformation(origin={-130,10}, extent={{-10,-10},{10,10}}, rotation=0)));
   Modelica.Mechanics.MultiBody.Forces.LineForceWithMass lineForceWithMass annotation(Placement(visible=true, transformation(origin={-30,10}, extent={{-10,-10},{10,10}}, rotation=0)));
   Modelica.Mechanics.Translational.Components.ElastoGap spiderWebb(c=5000, d=200, s_rel0=2) annotation(Placement(visible=true, transformation(origin={-30.0,50.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=0)));
 equation
   connect(spiderWebb.flange_a,lineForceWithMass.flange_a) annotation(Line(visible=true, origin={-39.6,33.33}, points={{-0.4,16.67},{-3.4,16.67},{-3.4,-10.005},{3.6,-10.005},{3.6,-13.33}}, color={0,127,0}));
   connect(lineForceWithMass.flange_b,spiderWebb.flange_b) annotation(Line(visible=true, origin={-20.31,33.33}, points={{-3.69,-13.33},{-3.69,-10.005},{3.535,-10.005},{3.535,16.67},{0.31,16.67}}, color={0,127,0}));
   connect(lineForceWithMass.frame_a,world.frame_b) annotation(Line(visible=true, origin={-80,10}, points={{40,0},{-40,0}}));
  connect(body.frame_a,lineForceWithMass.frame_b) annotation(Line(visible=true, origin={-10,10}, points={{10,-0},{-10,0}}));
  annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, initialScale=0.1, grid={5,5})));
end Trampoline;
Here's a plot of the force and position:






























I Hope this helps.
POSTED BY: Peter Aronsson
On the example page there is also the link to Download Full Model as a big red button.

POSTED BY: Sam Carrettie
Posted 11 years ago
Thank you, Peter. However, how would I set it such that if it reaches the maximum tension in pounds, so the weight of the jumper is greater than the maximum tension point, it will break and the jumper falls. Another thing is that the spider web is not elastic. How do I put a rule for the amount the rope will extend like say 0.45x, where x is the tension in pascals which will be converted from the jumpers weight divided by the cross section area of the rope which is also variable. These two things are what I need. As you can see, I am simply trying to simulate the extension and how the spider silk swings with a certain weight and moreover if its possible. Thanks for the model and I just need to set the maximum tension and implement these formulas. Please help. 

Thank you.
POSTED BY: eshwar chandran
Changing the animation to do what you ask will require much more work than changing the actual code.

How familiar are you with programming modelica? I would try making a new elastic cord object extending the current one that had a maximum stretch threshold after which the cord object did something to indicate an error. I'm not very familiar with the modelica libraries, so I don't know if there's a really handy block that would do this, but I believe you will want to become familiar with modelica programming before tackling this.
POSTED BY: Sean Clarke
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract