Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Created February 15, 2012 00:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/1832039 to your computer and use it in GitHub Desktop.
Save kenwebb/1832039 to your computer and use it in GitHub Desktop.
Airbus A380 Take-off Distance
<?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