Collisions: Difference between revisions

From Physics Book
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:
===A Computational Model===
===A Computational Model===


How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]
<div id="glowscript" class="glowscript">
<link type="text/css" href="http://www.glowscript.org/css/redmond/2.1/jquery-ui.custom.css" rel="stylesheet" />
<link href="http://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" type="text/css">
<link type="text/css" href="http://www.glowscript.org/css/ide.css" rel="stylesheet" />
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
<script type="text/javascript" src="http://www.glowscript.org/lib/jquery/2.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.glowscript.org/lib/jquery/2.1/jquery-ui.custom.min.js"></script>
<script type="text/javascript" src="http://www.glowscript.org/package/glow.2.1.min.js"></script>
<script type="text/javascript" src="http://www.glowscript.org/package/RSrun.2.1.min.js"></script>
<script type="text/javascript">
;(function() { var __rt=srequire('streamline/lib/callbacks/runtime').runtime(__filename, false),__func=__rt.__func,__cb=__rt.__cb; function _$rapyd$_print() {
  var args, output;
  args = [].slice.call(arguments, 0);
  output = JSON.stringify(args);
  if (("console" in window)) { console.log(output.substr(1, output.length["-"](2))); };};
 
function main(wait) { var version, box, sphere, cylinder, pyramid, cone, helix, ellipsoid, ring, arrow, graph, display, vector, _$GS_$END, scene, _$rapyd$_Temp, _$rapyd$_print, arange, dT, m1i, v1i, m2i, v2i, m3i, v3i, o1, o2, o3, origin, totalP, totalPX, totalPY, totalPZ, m, m1f, v1f, m2f, m3f, v3f, pOf1and3, t; var __frame = { name: "main", line: 7 }; return __func(wait, this, arguments, main, 0, __frame, function __$main() {
 
    version = ["2.1","glowscript",];
    Array.prototype["+"] = function(r) { return this.concat(r); };
    window.__GSlang = "vpython";
    box = vp_box;
    sphere = vp_sphere;
    cylinder = vp_cylinder;
    pyramid = vp_pyramid;
    cone = vp_cone;
    helix = vp_helix;
    ellipsoid = vp_ellipsoid;
    ring = vp_ring;
    arrow = vp_arrow;
    graph = vp_graph;
    display = canvas;
    vector = vec;
    _$GS_$END = 0;
    scene = canvas();
    _$rapyd$_Temp = 0;
    _$rapyd$_print = GSprint;
    arange = range;
    "6";
    scene.width = 1024;
    "7";
    scene.height = 760;
    "8";
    scene.background = color.black;
    "12";
    dT = 0.1;
    "13";
    m1i = 2;
    "14";
    v1i = vector(10, 0, 2);
    "15";
    m2i = 4;
    "16";
    v2i = vector(0, 6["-u"](), 3);
    "17";
    m3i = 5;
    "18";
    v3i = vector(0, 0, 0);
    "22";
    o1 = sphere({ pos: vector(10["-u"](), 0, 2["-u"]()), radius: 0.5, color: color.red });
    "23";
    o1.v = v1i;
    "24";
    o1.m = m1i;
    "25";
    o1.p = o1.v["*"](o1.m);
    "26";
    o2 = sphere({ pos: vector(0, 6, 3), radius: 0.5, color: color.blue });
    "27";
    o2.v = v2i;
    "28";
    o2.m = m2i;
    "29";
    o2.p = o2.v["*"](o2.m);
    "30";
    o3 = sphere({ pos: vector(0, 0, 0), radius: 0.5, color: color.orange });
    "31";
    o3.v = v3i;
    "32";
    o3.m = m3i;
    "33";
    o3.p = o3.m["*"](o3.v);
    "35";
    origin = sphere({ pos: vector(0, 0, 0), radius: 0.1, color: color.white });
    "39";
    totalP = o1.p["+"](o2.p)["+"](o3.p);
    "40";
    totalPX = totalP.x;
    "41";
    totalPY = totalP.y;
    "42";
    totalPZ = totalP.z;
    "43";
    _$rapyd$_print("The total momentum vector is initially,", totalP);
    "44";
    _$rapyd$_print("This is calculated by adding the x, y, and z components of each");
    "45";
    _$rapyd$_print("objects individual momentum, calculated using P = M*V");
    "46";
    _$rapyd$_print("Take note of the x, y, and z values of this total for later");
    "48";
    m = 0;
    "49"; return (function ___(__break) { var __more; var __loop = __cb(wait, __frame, 0, 0, function __$main() { __more = false;
        var __1 = (m < 15.9); if (__1) {
          "50";
          return rate(10, __cb(wait, __frame, 89, 8, function __$main() {
            "51";
            m = m["+"](0.1); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$main() {
 
      "53";
      t = 0;
      "55"; return (function ___(__break) { var __more; var __loop = __cb(wait, __frame, 0, 0, function __$main() { __more = false;
          var __3 = (t < 0.9); if (__3) {
            "56";
            return rate(10, __cb(wait, __frame, 98, 8, function __$main() {
              "57";
              o1.pos = o1.pos["+"](o1.v["*"](dT));
              "58";
              o2.pos = o2.pos["+"](o2.v["*"](dT));
              "59";
              o3.pos = o3.pos["+"](o3.v["*"](dT));
              "60";
              t = t["+"](dT); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$main() {
 
        "61";
        _$rapyd$_print("The Collision Happens");
        "63";
        m = 0;
        "64"; return (function ___(__break) { var __more; var __loop = __cb(wait, __frame, 0, 0, function __$main() { __more = false;
            var __5 = (m < 1.9); if (__5) {
              "65";
              return rate(10, __cb(wait, __frame, 115, 8, function __$main() {
                "66";
                m = m["+"](0.1); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$main() {
 
          "71";
          m1f = 2;
          "72";
          v1f = vector(5, 6["-u"](), 0);
          "73";
          m2f = 4;
          "75";
          m3f = 5;
          "76";
          v3f = v1f;
          "79";
          o1.v = v1f;
          "80";
          o3.v = v3f;
          "85";
          pOf1and3 = v1f["*"](m1f["+"](m2f));
          "92";
          o2.p = totalP["-"](pOf1and3);
          "95";
          o2.v = o2.p["/"](m2f);
          "98"; return (function ___(__break) { var __more; var __loop = __cb(wait, __frame, 0, 0, function __$main() { __more = false;
              var __7 = (t < 4); if (__7) {
                "99";
                return rate(10, __cb(wait, __frame, 142, 8, function __$main() {
                  "100";
                  o1.pos = o1.pos["+"](o1.v["*"](dT));
                  "101";
                  o2.pos = o2.pos["+"](o2.v["*"](dT));
                  "102";
                  o3.pos = o3.pos["+"](o3.v["*"](dT));
                  "103";
                  t = t["+"](dT); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$main() {
 
            "105";
            _$rapyd$_print("It is observed that object 1 embeds in in object 3, therefore");
            "106";
            _$rapyd$_print("they move together after the collision. They both move with a");
            "107";
            _$rapyd$_print("velocity of ", o1.v, " and their momentum can be calculated as one");
            "108";
            _$rapyd$_print("object with m = m1 + m2. Knowing this we can calculating the velocity");
            "109";
            _$rapyd$_print("of object 2 to be,", o2.v, " using the momentum principle because");
            "110";
            _$rapyd$_print("the final total momentum of the system equals the initial total");
            "111";
            _$rapyd$_print("momentum", totalP, ". Notice that this is the same in every demension");
            "112";
            _$rapyd$_print("x, y, and z. This is different than having the same magnitude of final");
            "113";
            _$rapyd$_print("momentum with different x, y and z components.");
            "114";
            _$rapyd$_print("Feel free to try changing the initial and final values in the code to");
            "115";
            _$rapyd$_print("produce different results using the momentum principle"); wait(); }); }); }); }); });};
 
main;
 
;$(function(){ window.__context = { glowscript_container: $("#glowscript").removeAttr("id") }; main(__func) })})()
</script>
</div>
[[File: CollisionsExample.gif]]
[[File: CollisionsExample.gif]]



Revision as of 15:51, 17 April 2016

SECOND EDIT BY SUNGJAE HYUN IN 2016-04-16 ADDITIONS MADE BY (currently in progress, adding computational model and difficult problem) Sam Webster 4-17-16

This topic covers Collisions, a comprehensive way to combine the Momentum and Energy Principles.

The Main Idea

Collisions are special types of contact interactions between objects. From a physics standpoint, collisions are a way to combine the Momentum and Energy Principles. In the case of collisions, if we choose a system of the two objects interacting, the change in momentum of the system and the change in energy of the system are both zero. With this in mind, calculations with collisions become very simple. There are two types of collisions, Elastic Collisions and Inelastic Collisions.

A Mathematical Model

What are the mathematical equations that allow us to model this topic. For example [math]\displaystyle{ {\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net} }[/math] where p is the momentum of the system and F is the net force from the surroundings.

A Computational Model

<link type="text/css" href="http://www.glowscript.org/css/redmond/2.1/jquery-ui.custom.css" rel="stylesheet" /> <link href="http://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" type="text/css"> <link type="text/css" href="http://www.glowscript.org/css/ide.css" rel="stylesheet" /> <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> <script type="text/javascript" src="http://www.glowscript.org/lib/jquery/2.1/jquery.min.js"></script> <script type="text/javascript" src="http://www.glowscript.org/lib/jquery/2.1/jquery-ui.custom.min.js"></script> <script type="text/javascript" src="http://www.glowscript.org/package/glow.2.1.min.js"></script> <script type="text/javascript" src="http://www.glowscript.org/package/RSrun.2.1.min.js"></script> <script type="text/javascript">

(function() { var __rt=srequire('streamline/lib/callbacks/runtime').runtime(__filename, false),__func=__rt.__func,__cb=__rt.__cb; function _$rapyd$_print() {
 var args, output;
 args = [].slice.call(arguments, 0);
 output = JSON.stringify(args);
 if (("console" in window)) { console.log(output.substr(1, output.length["-"](2))); };};

function main(wait) { var version, box, sphere, cylinder, pyramid, cone, helix, ellipsoid, ring, arrow, graph, display, vector, _$GS_$END, scene, _$rapyd$_Temp, _$rapyd$_print, arange, dT, m1i, v1i, m2i, v2i, m3i, v3i, o1, o2, o3, origin, totalP, totalPX, totalPY, totalPZ, m, m1f, v1f, m2f, m3f, v3f, pOf1and3, t; var __frame = { name: "main", line: 7 }; return __func(wait, this, arguments, main, 0, __frame, function __$main() {

   version = ["2.1","glowscript",];
   Array.prototype["+"] = function(r) { return this.concat(r); };
   window.__GSlang = "vpython";
   box = vp_box;
   sphere = vp_sphere;
   cylinder = vp_cylinder;
   pyramid = vp_pyramid;
   cone = vp_cone;
   helix = vp_helix;
   ellipsoid = vp_ellipsoid;
   ring = vp_ring;
   arrow = vp_arrow;
   graph = vp_graph;
   display = canvas;
   vector = vec;
   _$GS_$END = 0;
   scene = canvas();
   _$rapyd$_Temp = 0;
   _$rapyd$_print = GSprint;
   arange = range;
   "6";
   scene.width = 1024;
   "7";
   scene.height = 760;
   "8";
   scene.background = color.black;
   "12";
   dT = 0.1;
   "13";
   m1i = 2;
   "14";
   v1i = vector(10, 0, 2);
   "15";
   m2i = 4;
   "16";
   v2i = vector(0, 6["-u"](), 3);
   "17";
   m3i = 5;
   "18";
   v3i = vector(0, 0, 0);
   "22";
   o1 = sphere({ pos: vector(10["-u"](), 0, 2["-u"]()), radius: 0.5, color: color.red });
   "23";
   o1.v = v1i;
   "24";
   o1.m = m1i;
   "25";
   o1.p = o1.v["*"](o1.m);
   "26";
   o2 = sphere({ pos: vector(0, 6, 3), radius: 0.5, color: color.blue });
   "27";
   o2.v = v2i;
   "28";
   o2.m = m2i;
   "29";
   o2.p = o2.v["*"](o2.m);
   "30";
   o3 = sphere({ pos: vector(0, 0, 0), radius: 0.5, color: color.orange });
   "31";
   o3.v = v3i;
   "32";
   o3.m = m3i;
   "33";
   o3.p = o3.m["*"](o3.v);
   "35";
   origin = sphere({ pos: vector(0, 0, 0), radius: 0.1, color: color.white });
   "39";
   totalP = o1.p["+"](o2.p)["+"](o3.p);
   "40";
   totalPX = totalP.x;
   "41";
   totalPY = totalP.y;
   "42";
   totalPZ = totalP.z;
   "43";
   _$rapyd$_print("The total momentum vector is initially,", totalP);
   "44";
   _$rapyd$_print("This is calculated by adding the x, y, and z components of each");
   "45";
   _$rapyd$_print("objects individual momentum, calculated using P = M*V");
   "46";
   _$rapyd$_print("Take note of the x, y, and z values of this total for later");
   "48";
   m = 0;
   "49"; return (function ___(__break) { var __more; var __loop = __cb(wait, __frame, 0, 0, function __$main() { __more = false;
       var __1 = (m < 15.9); if (__1) {
         "50";
         return rate(10, __cb(wait, __frame, 89, 8, function __$main() {
           "51";
           m = m["+"](0.1); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$main() {
     "53";
     t = 0;
     "55"; return (function ___(__break) { var __more; var __loop = __cb(wait, __frame, 0, 0, function __$main() { __more = false;
         var __3 = (t < 0.9); if (__3) {
           "56";
           return rate(10, __cb(wait, __frame, 98, 8, function __$main() {
             "57";
             o1.pos = o1.pos["+"](o1.v["*"](dT));
             "58";
             o2.pos = o2.pos["+"](o2.v["*"](dT));
             "59";
             o3.pos = o3.pos["+"](o3.v["*"](dT));
             "60";
             t = t["+"](dT); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$main() {
       "61";
       _$rapyd$_print("The Collision Happens");
       "63";
       m = 0;
       "64"; return (function ___(__break) { var __more; var __loop = __cb(wait, __frame, 0, 0, function __$main() { __more = false;
           var __5 = (m < 1.9); if (__5) {
             "65";
             return rate(10, __cb(wait, __frame, 115, 8, function __$main() {
               "66";
               m = m["+"](0.1); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$main() {
         "71";
         m1f = 2;
         "72";
         v1f = vector(5, 6["-u"](), 0);
         "73";
         m2f = 4;
         "75";
         m3f = 5;
         "76";
         v3f = v1f;
         "79";
         o1.v = v1f;
         "80";
         o3.v = v3f;
         "85";
         pOf1and3 = v1f["*"](m1f["+"](m2f));
         "92";
         o2.p = totalP["-"](pOf1and3);
         "95";
         o2.v = o2.p["/"](m2f);
         "98"; return (function ___(__break) { var __more; var __loop = __cb(wait, __frame, 0, 0, function __$main() { __more = false;
             var __7 = (t < 4); if (__7) {
               "99";
               return rate(10, __cb(wait, __frame, 142, 8, function __$main() {
                 "100";
                 o1.pos = o1.pos["+"](o1.v["*"](dT));
                 "101";
                 o2.pos = o2.pos["+"](o2.v["*"](dT));
                 "102";
                 o3.pos = o3.pos["+"](o3.v["*"](dT));
                 "103";
                 t = t["+"](dT); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$main() {
           "105";
           _$rapyd$_print("It is observed that object 1 embeds in in object 3, therefore");
           "106";
           _$rapyd$_print("they move together after the collision. They both move with a");
           "107";
           _$rapyd$_print("velocity of ", o1.v, " and their momentum can be calculated as one");
           "108";
           _$rapyd$_print("object with m = m1 + m2. Knowing this we can calculating the velocity");
           "109";
           _$rapyd$_print("of object 2 to be,", o2.v, " using the momentum principle because");
           "110";
           _$rapyd$_print("the final total momentum of the system equals the initial total");
           "111";
           _$rapyd$_print("momentum", totalP, ". Notice that this is the same in every demension");
           "112";
           _$rapyd$_print("x, y, and z. This is different than having the same magnitude of final");
           "113";
           _$rapyd$_print("momentum with different x, y and z components.");
           "114";
           _$rapyd$_print("Feel free to try changing the initial and final values in the code to");
           "115";
           _$rapyd$_print("produce different results using the momentum principle"); wait(); }); }); }); }); });};

main;

$(function(){ window.__context = { glowscript_container
$("#glowscript").removeAttr("id") }; main(__func) })})()

</script>

Examples

Be sure to show all steps in your solution and include diagrams whenever possible

Simple

Example 1) A 0.5 kg soccer ball is moving with a speed of 5 m/s directly toward to 0.7 kg basket ball which is at rest. When two balls collide and sticks together what will their final velocity be?

___

m1 = 0.5 kg v1,init = 5 m/s m2 = 0.7 kg v2,init = 0 m/s

So m1 * v1 + m2 * + v2 = (m1 + m2) * vfinal

LHS = 0.5 * 5 + 0.7 * 0 = 2.5 kg*m/s RHS = (0.5 + 0.7) * vfinal = 1.2 * vfinal

LHS = RHS in inelastic collision

2.5 = 1.2 * vfinal

vfinal = 2.5 / 1.2 = 2.08333

Thus, the final velocity is 2.08 m/s.

Middling

Example 2) A bullet of 50 caliber machine gun is 42 grams. It strikes a wooden target block of mass 10 kg stationed on a friction-less surface. The wooden block gains velocity of 1.8 m/s after being embedded with the bullet. What was the velocity of the bullet before it collided with the target?



m1 = 42/1000 = 0.042 kg v1,init = ? m2 = 10 kg v2,init = 0 m1,2 = 0.042kg + 10kg vfinal = 1.8 m/s

m1 * v1,init + m2 * v2,init = (m1 + m2) * vfinal

0.042 kg * v1,init = (0.042 + 10) * 1.8 m/s v1,init = 18.0756 / 0.042 = 430.37 m/s

Final Answer: The bullet's speed is 430.37 m/s.

Difficult

Connectedness

  1. How is this topic connected to something that you are interested in?
  2. How is it connected to your major?
  3. Is there an interesting industrial application?

History

Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.

See also

Are there related topics or categories in this wiki resource for the curious reader to explore? How does this topic fit into that context?

Further reading

Books, Articles or other print media on this topic

External links

Internet resources on this topic

References

This section contains the the references you used while writing this page