Created
February 15, 2012 00:30
-
-
Save kenwebb/1832039 to your computer and use it in GitHub Desktop.
Airbus A380 Take-off Distance
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!--Xholon Workbook http://www.primordion.com/Xholon/wb/ (C) Ken Webb Tue Feb 14 2012 19:30:46 GMT-0500 (EST)--> | |
<XholonWorkbook> | |
<Notes><![CDATA[ | |
Khan Academy | |
------------ | |
Title: Airbus A380 Take-off Distance | |
Description: How long of a runway does as a380 need | |
Url: http://www.khanacademy.org/video/airbus-a380-take-off-distance?playlist=Physics | |
InternalName: airbus-a380-take-off-distance | |
YoutubeId: fQt69_Q2CTw | |
Keywords: airbus, physics, airport, runway | |
My Notes | |
-------- | |
Refer to previous video: Airbus A380 Take-off Time | |
How long of a runway does the A380 need? | |
- the displacement (in meters) as the plane accelerates to 78 m/s | |
- we assume constant acceleration | |
When the acceleration is constant: | |
average velocity = (final velocity + initial velocity) / 2 | |
= (78m/s + 0m/s) / 2 = 39m/s | |
magnitude of the displacement = average velocity (m/s) * duration (s/1) = 39m/s * 78s = 3042 m | |
Sal includes a graph of velocity vs time 3:45 | |
- slope of the curve is 1 in this example | |
average velocity and displacement are vectors (they have magnitude and direction) | |
The runway must be at least 3042 meters long. This is over 3 kilometers. | |
]]></Notes> | |
<script implName="lang:python:inline:"><![CDATA[ | |
duration = 78.0 # seconds (see previous video) | |
initialVelocity = 0.0 # m/s | |
finalVelocity = 78.0 # m/s | |
averageVelocity = (finalVelocity + initialVelocity) / 2.0 # m/s | |
displacement = averageVelocity * duration # m | |
print("The runway must be at least = " + str(displacement) + " meters long.") | |
#http://ideone.com/ECxul | |
# result: The runway must be at least = 3042.0 meters long. | |
]]></script> | |
<script implName="lang:javascript:inline:"><![CDATA[ | |
var duration = 78.0; // seconds (see previous video) | |
var initialVelocity = 0.0; // m/s | |
var finalVelocity = 78.0; // m/s | |
var averageVelocity = (finalVelocity + initialVelocity) / 2.0; // m/s | |
var displacement = averageVelocity * duration; // m | |
print("The runway must be at least " + displacement + " meters long.\n"); | |
//http://ideone.com/zQhQg | |
// result: The runway must be at least 3042 meters long. | |
]]></script> | |
<_-.XholonClass> | |
<!-- domain objects --> | |
<PhysicalSystem/> | |
<AirbusA380/> | |
<Runway/> | |
<!-- quantities --> | |
<Displacement superClass="Length"/> | |
</_-.XholonClass> | |
<xholonClassDetails> | |
<AirbusA380> | |
<!-- take-off quantities --> | |
<port name="duration" connector="#xpointer(Duration)"/> | |
<port name="initialVelocity" connector="#xpointer(Velocity[1])"/> | |
<port name="finalVelocity" connector="#xpointer(Velocity[2])"/> | |
<port name="averageVelocity" connector="#xpointer(Velocity[3])"/> | |
<port name="displacement" connector="#xpointer(Displacement)"/> | |
</AirbusA380> | |
<Runway> | |
<!-- minimum langth of the runway --> | |
<port name="airplaneDisplacement" connector="#xpointer(../AirbusA380/Displacement)"/> | |
<port name="length" connector="#xpointer(Length)"/> | |
</Runway> | |
<Length> | |
<Format>The runway must be at least %.0f meters long.</Format> | |
</Length> | |
</xholonClassDetails> | |
<PhysicalSystem> | |
<AirbusA380> | |
<Duration>78.0 s</Duration> | |
<Velocity>0.0 m/s</Velocity> <!-- initial velocity --> | |
<Velocity>78.0 m/s</Velocity> <!-- final velocity --> | |
<Velocity>0.0 m/s</Velocity> <!-- average velocity (to be calculated) --> | |
<Displacement>0.0 m</Displacement> <!-- (to be calculated) --> | |
</AirbusA380> | |
<Runway> | |
<Length>0.0 m</Length> <!-- (to be determined from the airbus displacement) --> | |
</Runway> | |
</PhysicalSystem> | |
<Blockbehavior implName="lang:python:inline:"><![CDATA[ | |
# TODO | |
]]></Blockbehavior> | |
<AirbusA380behavior implName="lang:javascript:inline:"><![CDATA[ | |
averageVelocity.setVal((finalVelocity.val + initialVelocity.val) / 2.0); | |
displacement.setVal(averageVelocity.val * duration.val); | |
]]></AirbusA380behavior> | |
<Runwaybehavior implName="lang:javascript:inline:"><![CDATA[ | |
length.setVal(airplaneDisplacement.val); | |
println(length); | |
]]></Runwaybehavior> | |
<Blockbehavior implName="lang:jruby:inline:"><![CDATA[ | |
#require 'java' | |
# This works if pasted in as a last child of Block. | |
#$height.incVal(0.02) | |
#puts "Ruby wants something to do. Height: #{$height}" | |
]]></Blockbehavior> | |
<Blockbehavior implName="lang:groovy:inline:"><![CDATA[ | |
// This works if pasted in as a last child of Block. | |
//height.incVal(0.02); | |
//System.out.print("Groovy wants something to do. Height:" + height + "\n"); | |
]]></Blockbehavior> | |
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml, | |
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient> | |
</XholonWorkbook> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment