Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
repository:terminal_velocity [2020/09/01 16:48] porcaro1 [Answer Key] |
repository:terminal_velocity [2021/02/18 19:17] (current) porcaro1 [Answer Key] |
||
---|---|---|---|
Line 22: | Line 22: | ||
====Activity==== | ====Activity==== | ||
===Handout=== | ===Handout=== | ||
+ | {{ :repository:terminal_velocity.png?nolink&600|}} | ||
** Terminal Velocity ** | ** Terminal Velocity ** | ||
+ | |||
A coin is being dropped from the top of a building. When will it reach terminal velocity? How does the force of gravity compare to the force of air resistance? Take a look at the [[https://www.glowscript.org/#/user/david.pastula/folder/MyPrograms/program/TerminalVelocity-MinimalProgram/edit | unfinished code]] and answer the following questions: | A coin is being dropped from the top of a building. When will it reach terminal velocity? How does the force of gravity compare to the force of air resistance? Take a look at the [[https://www.glowscript.org/#/user/david.pastula/folder/MyPrograms/program/TerminalVelocity-MinimalProgram/edit | unfinished code]] and answer the following questions: | ||
==Pre-coding Questions== | ==Pre-coding Questions== | ||
Line 29: | Line 31: | ||
- Using information provided by the code, calculate the terminal velocity of the falling coin. Label each part of the terminal equation, including units. | - Using information provided by the code, calculate the terminal velocity of the falling coin. Label each part of the terminal equation, including units. | ||
- | ==Post-coding Questions== | + | Now with your group, complete the provided code. Be sure to include arrows showing the magnitude of forces acting on the coin. As well, create a velocity vs. time graph and a forces vs. time graph (Pre-coding Questions 1 and 2). When your code is complete, answer the following questions: |
+ | ==Post-coding Questions/Reflection== | ||
- Describe your contributions to the coding process within your group. | - Describe your contributions to the coding process within your group. | ||
- What did you find the terminal velocity to be based on the graph produced by the code? Does this agree with your calculations? | - What did you find the terminal velocity to be based on the graph produced by the code? Does this agree with your calculations? | ||
- Reflect on your predicted graphs. Explain how they were similar/different than your coding graphs. Revise your graphs as needed. | - Reflect on your predicted graphs. Explain how they were similar/different than your coding graphs. Revise your graphs as needed. | ||
===Code=== | ===Code=== | ||
- | [[https://www.glowscript.org/#/user/david.pastula/folder/MyPrograms/program/TerminalVelocity-MinimalProgram/edit | Link]] | + | [[hthttps://www.glowscript.org/#/user/porcaro1/folder/RepositoryPrograms/program/TerminalVelocity-Incomplete | Link]] |
<code Python [enable_line_numbers="true"]> | <code Python [enable_line_numbers="true"]> | ||
GlowScript 2.8 VPython | GlowScript 2.8 VPython | ||
Line 96: | Line 99: | ||
===Handout=== | ===Handout=== | ||
==Pre-coding Answers== | ==Pre-coding Answers== | ||
- | - INSERT PICTURE | + | - {{:repository:terminal_velocity_velocity.png?nolink&600|}} |
- | - INSERT PICTURE | + | - {{:repository:terminal_velocity_forces.png?nolink&600|}} |
- | - The equation for terminal velocity is $V=\sqrt{\dfrac{2W}{C\rho A}}$, where | + | - The equation for terminal velocity is $v=\sqrt{\dfrac{2W}{C\rho A}}$, where |
- | - $W$ is the weight of the coin (N) | + | * $W$ is the weight of the coin (N) |
- | - this is calculated by multiplying the mass of the coin by the acceleration of gravity: $W= 0.01135 \text{kg} * 9.81 \text{m/s/s} = 0.111 \text{N}$ | + | * this is calculated by multiplying the mass of the coin by the acceleration of gravity: $W= 0.01135 \text{kg} * 9.81 \text{m/s/s} = 0.111 \text{N}$ |
- | - $C$ is the drag coefficient (1.15, no units) | + | * $C$ is the drag coefficient (1.15, no units) |
- | - $\rho$ is the density of air (1.2754 kg/m³) | + | * $\rho$ is the density of air (1.2754 kg/m³) |
- | - $A$ is the area of the coin | + | * $A$ is the area of the coin |
- | - this is calculated by squaring the radius of the coin and multiplying it by pi: $A= (0.015305 \text{m})^2 * \pi = 0.000736 \text{m²}$ | + | * this is calculated by squaring the radius of the coin and multiplying it by pi: $A= (0.015305 \text{m})^2 * \pi = 0.000736 \text{m²}$ |
- | - $v=\sqrt{\dfrac{2*0.111}{1.15*1.275*0.000736}}=14.3 \text{m/s}$ | + | * $v=\sqrt{\dfrac{2*0.111}{1.15*1.275*0.000736}}=14.3 \text{m/s}$ |
+ | |||
+ | ==Post-coding Answers== | ||
+ | Use the previous answers and the completed code below to guide your reflection. | ||
===Code=== | ===Code=== | ||
- | <code Python [enable_line_numbers="true", highlight_lines_extra=""]> | + | [[https://www.glowscript.org/#/user/porcaro1/folder/RepositoryPrograms/program/TerminalVelocity-Solution | Link]] |
+ | <code Python [enable_line_numbers="true", highlight_lines_extra="24,25,28,29,44,46,47,48,49,50,51,54,55,56,57"]> | ||
+ | GlowScript 2.8 VPython | ||
+ | #Window Setup | ||
+ | scene.width = 500 | ||
+ | scene.height = 400 | ||
+ | |||
+ | #Objects | ||
+ | ground = box(pos=vec(0,-250,0), size=vec(700,100,2), texture="https://images.pexels.com/photos/207204/pexels-photo-207204.jpeg?auto=compress&cs=tinysrgb&h=750&w=1260" ) | ||
+ | coin = cylinder(pos=vector(0,0,0), axis=vector(0.5,0,0), radius=15.305, textures=textures.metal) | ||
+ | coin.rotate(angle=90, axis=vector(1,1,1)) | ||
+ | |||
+ | #Initial Object Properties and Constants (time and time step) | ||
+ | g = vec(0,-9.81,0) #Acceleration due to Gravity | ||
+ | coin_m = 0.01135 #mass of the object | ||
+ | drag_co = 1.15 #Drag Coefficient of | ||
+ | t = 0 #Initial Time | ||
+ | dt = 0.05 #Time Step | ||
+ | tf = 0 #Final Time | ||
+ | air_density = 1.2754 #Density of the air | ||
+ | coin_r = .015305 | ||
+ | Fgrav = vector(0,coin_m*g.y,0) | ||
+ | Fdrag = vec(0,0,0) | ||
+ | |||
+ | #Velocity and Momentum Vectors | ||
+ | coin_v = vec(0,0,0) #Initial Velocity | ||
+ | coin_p = coin_m*coin_v #Initial Momentum | ||
+ | |||
+ | #Create an arrow to visualize the particle's forces | ||
+ | FdragArrow = arrow(pos=coin.pos, axis = Fdrag*1000, color = color.green) | ||
+ | FgravArrow = arrow(pos=coin.pos, axis = Fgrav*1000, color = color.red) | ||
+ | |||
+ | #Set up the graphs | ||
+ | force_comparison_graph = graph(title='Comparison of Forces on a Coin Reaching Terminal Velocity',xtitle='time (s)',ytitle='Force (N)',fast=False,width=1000) | ||
+ | velocity_graph = graph(title='Velocity of a Coin in Freefall Over Time',xtitle='time (s)', ytitle='Velocity (m/s)',fast=False,width=1000) | ||
+ | #Drag and Fgrav and Fnet on the same plot | ||
+ | |||
+ | Fdrag_f = gcurve(graph=force_comparison_graph,color=color.red,width=4,markers=False,label='Drag Force') | ||
+ | Fgrav_f = gcurve(graph=force_comparison_graph,color=color.blue,width=4,markers=False,label='Fgrav') | ||
+ | Fnet_f = gcurve(graph=force_comparison_graph,color=color.purple,width=4,markers=False,label='Fnet') | ||
+ | |||
+ | #Velocity on its own plot | ||
+ | velocity_f = gcurve(graph=velocity_graph,color=color.green,width=4,markers=False,label='Coin Velocity') | ||
+ | |||
+ | #Calculation Loop | ||
+ | while coin.pos.y > -200: #Makes the coin stop when it hits the ground | ||
+ | rate(100) | ||
+ | Fgrav = vector(0,coin_m*g.y,0) | ||
+ | Fdrag = vec(0,air_density*drag_co*pi*coin_r**2*coin_v.y**2/2,0) | ||
+ | Fnet = Fgrav+Fdrag | ||
+ | coin_p += Fnet*dt | ||
+ | coin.pos += (coin_p/coin_m)*dt | ||
+ | coin_v = coin_p/coin_m | ||
+ | |||
+ | #Keep the arrow representing the particle's velocity and acceleration | ||
+ | FdragArrow.pos = coin.pos | ||
+ | FdragArrow.axis = Fdrag*1000 | ||
+ | FgravArrow.pos = coin.pos | ||
+ | FgravArrow.axis = Fgrav*1000 | ||
+ | |||
+ | #Plot on the graphs | ||
+ | velocity_f.plot(t,coin_v.y) | ||
+ | Fdrag_f.plot(t,Fdrag.y) | ||
+ | Fgrav_f.plot(t,Fgrav.y) | ||
+ | Fnet_f.plot(t,Fnet.y) | ||
+ | |||
+ | t += dt #Advance the time by 1 time step | ||
</code> | </code> | ||
---- | ---- | ||
====See Also==== | ====See Also==== | ||
- | * | + | *[[beating_the_train | Beating the Train]] |
| |