Coefficient of Restitution: Difference between revisions

From Physics Book
Jump to navigation Jump to search
Line 41: Line 41:
===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/1.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/1.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.glowscript.org/lib/jquery/1.1/jquery-ui.custom.min.js"></script>
<script type="text/javascript" src="http://www.glowscript.org/package/glow.1.1.min.js"></script>
<script type="text/javascript" src="http://www.glowscript.org/package/RSrun.1.1.min.js"></script>
<script type="text/javascript">
;(function() {
var __g=typeof global!=='undefined'?global:window;__g=(__g.__streamline||(__g.__streamline={}));__g.setEF=__g.setEF||function(e,f){e.__frame = e.__frame||f};var __srcName='undefined_.js';
function __func(_,__this,__arguments,fn,index,frame,body){if(!_){return __future.call(__this,fn,__arguments,index)}frame.file=__srcName;frame.prev=__g.frame;__g.frame=frame;try{body()}catch(e){__g.setEF(e,frame.prev);__propagate(_,e)}finally{__g.frame=frame.prev}}
function __cb(_,frame,offset,col,fn){frame.offset=offset;frame.col=col;var ctx=__g.context;return function ___(err,result){var oldFrame=__g.frame;__g.frame=frame;__g.context=ctx;try{if(err){__g.setEF(err,frame);return _(err)}return fn(null,result)}catch(ex){__g.setEF(ex,frame);return __propagate(_,ex)}finally{__g.frame=oldFrame}}}
function __future(fn,args,i){var done,err,result;var cb=function(e,r){done=true;err=e,result=r};args=Array.prototype.slice.call(args);args[i]=function ___(e,r){cb(e,r)};fn.apply(this,args);return function ___(_){if(done)_.call(this,err,result);else cb=_.bind(this)}.bind(this)}
function __propagate(_,err){try{_(err)}catch(ex){__trap(ex)}}
function __trap(err){if(err){if(__g.context&&__g.context.errorHandler)__g.context.errorHandler(err);else console.error("UNCAUGHT EXCEPTION: "+err.message+"\n"+err.stack)}}
/*    1 */ 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, ball1, ball2, v1, v2, tmeet, t;
              var __frame = {
                name: "main",
                line: 1
              };
              return __func(wait, this, arguments, main, 0, __frame, function __$main() {
/*    3 */    version = ["1.1","glowscript",];
/*    4 */    window.__GSlang = "vpython";
/*    5 */    box = vp_box;
/*    6 */    sphere = vp_sphere;
/*    7 */    cylinder = vp_cylinder;
/*    8 */    pyramid = vp_pyramid;
/*    9 */    cone = vp_cone;
/*    10 */    helix = vp_helix;
/*    11 */    ellipsoid = vp_ellipsoid;
/*    12 */    ring = vp_ring;
/*    13 */    arrow = vp_arrow;
/*    14 */    graph = vp_graph;
/*    15 */    display = canvas;
/*    16 */    vector = vec;
/*    17 */    _$GS_$END = 0;
/*    18 */    scene = canvas();
/*    19 */    _$rapyd$_Temp = 0;
/*    20 */    _$rapyd$_print = GSprint;
/*    21 */    arange = range;
/*    23 */    ball1 = sphere({
/*    23 */      pos: vec(0, 0, 0),
/*    23 */      color: color.red,
/*    23 */      radius: 0.5
                });
/*    25 */    ball2 = sphere({
/*    25 */      pos: vec(10, 0, 0),
/*    25 */      color: color.blue,
/*    25 */      radius: 0.5
                });
/*    27 */     v1 = vec(0.02, 0, 0);
/*    29 */    v2 = vec(0.1["-u"](), 0, 0);
/*    31 */    tmeet = ball2.pos.x["-"](ball1.pos.x)["/"](v1.x["-"](v2.x));
/*    33 */    t = 0;
                return (function ___(__break) {
                  var __more;
                  var __loop = __cb(wait, __frame, 0, 0, function __$main() {
                    __more = false;
/*    35 */        var __1 = (t < 150);
                    if (__1) {
/*    37 */           return rate(100, __cb(wait, __frame, 36, -1, function __$main() {
/*    39 */            if ((t < tmeet)) {
/*    41 */              ball1.pos = ball1.pos["+"](v1);
/*    43 */              ball2.pos = ball2.pos["+"](v2);
                        }
/*    45 */              else {
/*    47 */              ball1.pos = ball1.pos["+"](v2);
/*    49 */              ball2.pos = ball2.pos["+"](v1);
                        }
                      ;
/*    52 */            t = t["+"](1);
                        while (__more) {
                          __loop();
                        };
                        __more = true;
                      }));
                    }
                    else {
                      __break();
                    }
                  ;
                  });
                  do {
                    __loop();
                  } while (__more);
                  __more = true;
                })(function __$main() {
                  wait();
                });
              });
            };
/*    55 */ main;
 
;$(function(){ window.__context = { glowscript_container: $("#glowscript").removeAttr("id") }; main() })})()
</script>
</div>


==Examples==
==Examples==

Revision as of 17:31, 5 December 2015

Claimed by Maria Moreno

The coefficient of restitution measures the elasticity of a collision.

The Main Idea

The coefficient of restitution is a ratio that describes the degree of elasticity of a collision. It is used to solve problems dealing with collisions that are not perfectly elastic or inelastic. The equation that describes the coefficient of restitution involved dividing the difference in the final velocities by the difference in the initial velocity.

Consider objects A and B with initial velocities vAi and vBi and final velocities vAf and vBf. The coefficient of restitution, e is determined with the following formula:

[math]\displaystyle{ e = \frac{v_{Bf}-v_{Af}}{v_{Ai}-v_{Bi}} }[/math]


A Mathematical Model

Consider a perfectly elastic collision between objects A and B where vAi and vBi refer to the initial velocities of A and B and vAf and vBf refer to the final velocities of A and B.

Start with the conservation of momentum principle which states that
[math]\displaystyle{ \vec{p_i} = \vec{p_f} }[/math]
and
[math]\displaystyle{ m_A\vec{v_{Ai}}+m_A\vec{v_{Bi}}=m_A\vec{v_{Af}}+m_A\vec{v_{Bf}} }[/math] (1)

Remember that for a perfectly elastic collision kinetic energy is also conserved meaning:
[math]\displaystyle{ \vec{KE_i} = \vec{KE_f} }[/math]
and
[math]\displaystyle{ \frac{1}{2}m_A \vec{v^2_{Ai}}+\frac{1}{2}m_A \vec{v^2_{Bi}}=\frac{1}{2}m_A \vec{v^2_{Af}}+\frac{1}{2}m_A \vec{v^2_{Bf}} }[/math] (2)

Dividing (2) by (1) yields:


[math]\displaystyle{ \vec{v_{Ai}}+\vec{v_{Bi}}=\vec{v_{Af}}+\vec{v_{Bf}} }[/math]
[math]\displaystyle{ 1=\frac{\vec{v_{Ai}}+\vec{v_{Bi}}}{\vec{v_{Af}}+\vec{v_{Bf}}} }[/math]

[math]\displaystyle{ e=\frac{\vec{v_{Ai}}+\vec{v_{Bi}}}{\vec{v_{Af}}+\vec{v_{Bf}}} }[/math]

For perfectly elastic collision e=1.

Perfectly Inelastic Collision

Perfectly Elastic Collision

A Computational Model

<link type="text/css" href="http://www.glowscript.org/css/redmond/1.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/1.1/jquery.min.js"></script> <script type="text/javascript" src="http://www.glowscript.org/lib/jquery/1.1/jquery-ui.custom.min.js"></script> <script type="text/javascript" src="http://www.glowscript.org/package/glow.1.1.min.js"></script> <script type="text/javascript" src="http://www.glowscript.org/package/RSrun.1.1.min.js"></script> <script type="text/javascript">

(function() {

var __g=typeof global!=='undefined'?global:window;__g=(__g.__streamline||(__g.__streamline={}));__g.setEF=__g.setEF||function(e,f){e.__frame = e.__frame||f};var __srcName='undefined_.js'; function __func(_,__this,__arguments,fn,index,frame,body){if(!_){return __future.call(__this,fn,__arguments,index)}frame.file=__srcName;frame.prev=__g.frame;__g.frame=frame;try{body()}catch(e){__g.setEF(e,frame.prev);__propagate(_,e)}finally{__g.frame=frame.prev}} function __cb(_,frame,offset,col,fn){frame.offset=offset;frame.col=col;var ctx=__g.context;return function ___(err,result){var oldFrame=__g.frame;__g.frame=frame;__g.context=ctx;try{if(err){__g.setEF(err,frame);return _(err)}return fn(null,result)}catch(ex){__g.setEF(ex,frame);return __propagate(_,ex)}finally{__g.frame=oldFrame}}} function __future(fn,args,i){var done,err,result;var cb=function(e,r){done=true;err=e,result=r};args=Array.prototype.slice.call(args);args[i]=function ___(e,r){cb(e,r)};fn.apply(this,args);return function ___(_){if(done)_.call(this,err,result);else cb=_.bind(this)}.bind(this)} function __propagate(_,err){try{_(err)}catch(ex){__trap(ex)}} function __trap(err){if(err){if(__g.context&&__g.context.errorHandler)__g.context.errorHandler(err);else console.error("UNCAUGHT EXCEPTION: "+err.message+"\n"+err.stack)}} /* 1 */ 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, ball1, ball2, v1, v2, tmeet, t;
             var __frame = {
               name: "main",
               line: 1
             };
             return __func(wait, this, arguments, main, 0, __frame, function __$main() {

/* 3 */ version = ["1.1","glowscript",]; /* 4 */ window.__GSlang = "vpython"; /* 5 */ box = vp_box; /* 6 */ sphere = vp_sphere; /* 7 */ cylinder = vp_cylinder; /* 8 */ pyramid = vp_pyramid; /* 9 */ cone = vp_cone; /* 10 */ helix = vp_helix; /* 11 */ ellipsoid = vp_ellipsoid; /* 12 */ ring = vp_ring; /* 13 */ arrow = vp_arrow; /* 14 */ graph = vp_graph; /* 15 */ display = canvas; /* 16 */ vector = vec; /* 17 */ _$GS_$END = 0; /* 18 */ scene = canvas(); /* 19 */ _$rapyd$_Temp = 0; /* 20 */ _$rapyd$_print = GSprint; /* 21 */ arange = range; /* 23 */ ball1 = sphere({ /* 23 */ pos: vec(0, 0, 0), /* 23 */ color: color.red, /* 23 */ radius: 0.5

               });

/* 25 */ ball2 = sphere({ /* 25 */ pos: vec(10, 0, 0), /* 25 */ color: color.blue, /* 25 */ radius: 0.5

               });

/* 27 */ v1 = vec(0.02, 0, 0); /* 29 */ v2 = vec(0.1["-u"](), 0, 0); /* 31 */ tmeet = ball2.pos.x["-"](ball1.pos.x)["/"](v1.x["-"](v2.x)); /* 33 */ t = 0;

               return (function ___(__break) {
                 var __more;
                 var __loop = __cb(wait, __frame, 0, 0, function __$main() {
                   __more = false;

/* 35 */ var __1 = (t < 150);

                   if (__1) {

/* 37 */ return rate(100, __cb(wait, __frame, 36, -1, function __$main() { /* 39 */ if ((t < tmeet)) { /* 41 */ ball1.pos = ball1.pos["+"](v1); /* 43 */ ball2.pos = ball2.pos["+"](v2);

                       }

/* 45 */ else { /* 47 */ ball1.pos = ball1.pos["+"](v2); /* 49 */ ball2.pos = ball2.pos["+"](v1);

                       }
                     ;

/* 52 */ t = t["+"](1);

                       while (__more) {
                         __loop();
                       };
                       __more = true;
                     }));
                   }
                    else {
                     __break();
                   }
                 ;
                 });
                 do {
                   __loop();
                 } while (__more);
                 __more = true;
               })(function __$main() {
                 wait();
               });
             });
           };

/* 55 */ main;

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

</script>

Examples

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

Simple

Middling

Difficult

Bouncing Ball Example:

File:Http://www.saburchill.com/physics/images6/201103006.jpg

Connectedness

  1. How is this topic connected to something that you are interested in?
  2. How is it connected to your major (Mechanical Engineering)?

The coefficient of restitution is a key concept in the study of Dynamics which is the foundation of many aspects of mechanical engineering.

  1. Is there an interesting industrial application?

golf

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

References

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