Explosionfinalfinal

Explosionfinalfinal preview image

1 collaborator

Default-person Roberto Galindo (Author)

Tags

(This model has yet to be categorized with any tags)
Model group TallerMadero | Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.1.0 • Viewed 189 times • Downloaded 20 times • Run 0 times
Download the 'Explosionfinalfinal' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

This model demonstrates the Doppler effect, the apparent change in the frequency of a wave emitted by a source moving relative to an observer.

When the source of a wave moves towards you, the perceived frequency of the wave increases; when the source moves away from you, the perceived frequency decreases. This phenomena can be observed when a car passes you while the driver honks his horn. The pitch of the sound you hear is higher as the car approaches you and lower when the car is moving away.

In this model, a plane flies above an observer. Yellow circles represent the peaks of sound waves emitted by the plane.

HOW TO USE IT

Press the SETUP button to create a plane and a person. Press GO to start the plane moving. Adjust the PLANE-SPEED slider to control the speed of the plane.
There is also a convenient button that sets the plane speed to exactly the speed of sound. The SHOW-AMPLITUDES? switch lets you see the strength of the sound wave on each patch of air.

THINGS TO NOTICE

Set the speed to zero. When the plane is not moving, the wavelength (the distance between the peaks of each wave) is the same on both sides of the plane. As you increase the speed of the plane, the waves bunch together in front of the plane and spread apart behind the plane. So when the plane is moving towards the person, the wavelength is shorter, so the perceived frequency of the sound is higher. When the plane is moving away from the person, the wavelength is longer, so the perceived frequency of the sound is lower.

When the plane is travelling at the speed of sound (Mach 1, approximately 757mph), notice how all the sound waves overlap at one point. At this point of intersection, the constructive interference of the wave peaks creates a loud bang called a SONIC BOOM.

THINGS TO TRY

Set the plane speed to the speed of sound, 757 miles per hour (Mach 1). Notice that the peaks of the sound waves in front of the plane bunch up completely. Look at the SIGNAL plot when the plane passes the person at the speed of sound? When happens to the perceived amplitude of the sound heard by the person? This phenomena results from a shock wave -- the constructive interference of a large number of wave peaks -- and creates a very loud sound called a sonic boom.

Turn on the SHOW-AMPLITUDES? switch and adjust the plane speed to watch the constructive interference in action as the plane speed approaches Mach 1.

Increase the plane speed beyond the speed of sound. What happens to the shape of the shock wave? What does the person hear?

EXTENDING THE MODEL

Add a second plot that displays the relative frequency heard by the person. Improve the first plot to interpolate the signal data and display the amplitude between signal peaks.

In this model, only the plane is in motion. Add controls to move the person as well.

Use the NetLogo extensions API to write a Java extension that plays a sound at a given amplitude and frequency. Have the person generate the sound he hears so you can listen to the Doppler effect in action.

NETLOGO FEATURES

This model is a vertical cylinder, the plane, moving in the x direction wraps around the world, but the sound waves exit the system when they reach the top or the bottom of the world.

The listener stands at the origin, which is off-center.

HOW TO CITE

If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:

COPYRIGHT AND LICENSE

Copyright 1997 Uri Wilensky.

CC BY-NC-SA 3.0

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.

This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers RED #9552950 and REC #9632612.

This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2004.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

breed [ planes plane ]
breed [ listeners listener ]
breed [ wave-components wave-component ]
breed [ houses house ]

wave-components-own [
  amplitude
  wave-id ;; the wave-id identifies which wave this
          ;; component is a part of
]


globals [
  speed-of-sound  ;; constant
  next-wave-id ;; counters
  wave-interval ;; how many ticks between each wave?
  initial-wave-amplitude
  k
]

to setup
  clear-all
  set-default-shape wave-components "wave particle"
  set-default-shape planes "box"
  set-default-shape listeners "person"
  set-default-shape houses "house"

  set speed-of-sound 757
  set initial-wave-amplitude 20 ; how loud is the wave when first emitted?
  set wave-interval 1           ; how often does the plane emit a wave?

  ;; initialize a counter
  set next-wave-id 0
  
  set k  0

  ;; create the airplane
  create-planes 1 [
    set heading 90
    set ycor 0
    set xcor 0
    set size 2
    set color white
  ]

  ;; create the listener
  create-listeners 5 [
    set size 1
    set color blue
    fd 10
  ]

  ;; create the houses
  create-houses 5 [
    set size 2
    set color green
    fd 15
  ]

  ask patch 5 20 [set plabel "Explosión radiactiva"]
  ask patch 10 -19 [set plabel "Autores: Roberto Galindo del Valle  y Cesiah Lino Contreras"]
  ask patch 10 -20 [set plabel "Fecha: 14-Nov-2014"]


  reset-ticks
end 

to go
  ; we use "fd 0.5" as speed-of-sound movement rate, instead of "fd 1",
  ; because it results in smoother animation of the wave-components.
  ;ask planes [ fd 0.5 * plane-speed / speed-of-sound ]      ;; move the plane
  if ticks mod wave-interval = 0 [ ask planes [ emit-wave ] ] ;; emit the sound wave

  ;; move waves
  ask wave-components [
    if not can-move? 0.2 [ die ]
    fd 0.2
    
    set k k + 1
    
    set amplitude amplitude - 0.2
    
  ifelse k mod (random 2 + 1)  = 0 [
    set color scale-color gray amplitude 0 initial-wave-amplitude]
    [set color scale-color red amplitude 0 initial-wave-amplitude]
       
    
    if amplitude < 0.2 [ die ]
  ]

  ;; listen and plot
  ask listeners [
    fd 0.05
  ]

  tick
end 


;; patch procedure
;; counts the total amplitude of the waves on this patch,
;; making sure not to count two components of the same wave.

to-report amplitude-here [ids-to-exclude]
  let total-amplitude 0
  let components wave-components-here
  if count components > 0 [
    ;; get list of the wave-ids with components on this patch
    let wave-ids-here remove-duplicates [ wave-id ] of components
    foreach ids-to-exclude [ set wave-ids-here remove ? wave-ids-here ]

    ;; for each wave id, sum the maximum amplitude here
    foreach wave-ids-here [ set total-amplitude total-amplitude +
        [amplitude] of max-one-of components with [ wave-id = ? ]
          [ amplitude ]
    ]
  ]
  report total-amplitude
end 

;; plane procedure

to emit-wave
  let j 0
  let num-wave-components 180.0 ;; number of components in each wave
  hatch-wave-components num-wave-components [
    
    ifelse j mod 3 = 0 [
    set color gray]
    [set color red]
    
    set size 1
    set j j + 1
    set amplitude initial-wave-amplitude
    set wave-id next-wave-id
    set heading j * ( 360.0 / num-wave-components )
    ;if show-amplitudes? [ ht ]
  ]
  set next-wave-id next-wave-id + 1
end 




; Copyright 1997 Uri Wilensky.
; See Info tab for full copyright and license.

There is only one version of this model, created over 9 years ago by Roberto Galindo.

Attached files

File Type Description Last updated
Explosionfinalfinal.png preview Preview for 'Explosionfinalfinal' over 9 years ago, by Roberto Galindo Download

This model does not have any ancestors.

This model does not have any descendants.