Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User suggestion: more precise 'Damping' control #116

Open
oliver-phet opened this issue May 3, 2016 · 43 comments
Open

User suggestion: more precise 'Damping' control #116

oliver-phet opened this issue May 3, 2016 · 43 comments

Comments

@oliver-phet
Copy link

I tried to use the new HTML5 veriod of wave-on-a-string, but I ran into a problem. The Damping control is too coarse and the ability to type in the damping values is gone.This means my class can't do a cool resonance experiment that was possible with the Flash version.

So for now, I will keep using the Flash version.

@ariel-phet
Copy link

@arouinfar we could make damping here have a tweaker (so that you could set a repeatable amount of damping) but I believe our reason for removing a readout is that the readout was sort of arbitrary where "100" meant critically damped. We could do zero percent to 100 percent and in the tips explain what "100 %" means, but it seems just having 0-100 (like in the flash sim) is a bit problematic.

Thoughts?

@arouinfar
Copy link

@ariel-phet I think it would be very helpful to add readout/tweakers. The 0-100% range seems reasonable, so long as we keep the % in the readout. I have a feeling it would be challenging to quantify further, as I suspect the damping may also be hollywooded like the tension.

@ariel-phet
Copy link

@arouinfar can you make a mockup with tweakers and a readout, as well as a more granular tension slider? We might need to adjust a few things to make everything fit in the bottom control panel. (and make the slider knobs a bit more slender or such)

We are getting enough requests we should probably have some (perhaps Aadish) address these concerns.

@arouinfar
Copy link

Will do @ariel-phet!

@arouinfar
Copy link

@ariel-phet here are some updated mockups. They're a little Frankensteined, so you may spot some flaws. I haven't resized any of the components, other than creating a longer slider for Tension. I expanded the panel, and it comes a bit close to the edges of the play area, but I kept 40px between the each control. We could probably reduce this a bit and free up some space.

screen shot 2016-09-22 at 10 54 32 am

screen shot 2016-09-22 at 10 54 19 am

I created a tension slider with 7 notches, because the data looks pretty good. The Tension vs. Velocity plot (in arbitrary units) is clearly non-linear.
screen shot 2016-09-22 at 11 01 03 am

With 5 notches, the Tension vs. Velocity plot could be mistaken for a linear relationship.
screen shot 2016-09-22 at 11 01 55 am

@arouinfar arouinfar assigned ariel-phet and unassigned arouinfar Sep 22, 2016
@ariel-phet
Copy link

@arouinfar lets change the Damping slider to be the same style as frequency or amplitude (no tick marks) to distinguish it from the slider with just a few positions.

@ariel-phet ariel-phet assigned arouinfar and unassigned ariel-phet Sep 22, 2016
@arouinfar
Copy link

Ah, good suggestion @ariel-phet. If we go with the smooth slider, I would think the tweakers would need to step by 1% (unless the slider knob would be snappy).

screen shot 2016-09-22 at 11 30 54 am

screen shot 2016-09-22 at 11 29 41 am

@arouinfar arouinfar assigned ariel-phet and unassigned arouinfar Sep 22, 2016
@ariel-phet
Copy link

@arouinfar that all looks good, can you do some polishing so we can give to @aadish an exact mockup at some point soon. Basically just that lower control panel...space things out evenly and bring things together a little between the controls so the panel is not so wide (pretty tight to the reset button and such right now).

@arouinfar
Copy link

Sounds good @ariel-phet. In the most recent screenshot, there are exactly 40 px (red lines) between the controls in the lower panel. I can reduce that somewhat to give more padding to the reset all button.

image

@arouinfar
Copy link

@ariel-phet here's an updated mockup with the space between the controls reduced to 35 px. There are some visual differences between the tweakers because the mockup is a combination of screenshots and Illustrator assets.

image

@arouinfar arouinfar assigned ariel-phet and unassigned arouinfar Oct 19, 2016
@ariel-phet
Copy link

@arouinfar - final tweak in the mockup I think ...could you move the lower control panel to the left so it aligns on the left edge with the top control panel? Or move the top control panels in a bit from both edges (which evener you think looks better. Those top panels seem a bit tight to the edges perhaps.

@ariel-phet ariel-phet assigned arouinfar and unassigned ariel-phet Oct 20, 2016
@arouinfar
Copy link

@ariel-phet here's what it looks like if we move the lower control panel to the left.
image

I think this is a better option. I've moved both of the upper control panels in a bit to have equal padding with the dev boundary. The bottom control panel and reset all have been shifted so that they align with the upper controls.
image

Back to you @ariel-phet.

@arouinfar arouinfar assigned ariel-phet and unassigned arouinfar Oct 20, 2016
@ariel-phet
Copy link

Agreed @arouinfar the second one looks best. Leaving assigned to me until we figure out who is going to make the upgrade.

@arouinfar arouinfar assigned arouinfar and unassigned aadish Mar 9, 2020
@jonathanolson
Copy link
Contributor

For the tension slider, we're going to make it look like the damping control (no interior ticks, same slider behavior), but going from 20% to 80%, with arrows adjusting by 5% and applying a squaring effect (keeping the min and max behaviors the same with the current version).

@jonathanolson
Copy link
Contributor

Implemented the change above, @arouinfar can you see how it looks?

@arouinfar
Copy link

@jonathanolson the control itself look good, but something's still not right with the model. Tension should be proportional to the speed squared. (T = μv^2, where μ is the linear mass density of the string.)

If I assume the tension slider is linear, I'm seeing that tension is linearly proportional to speed. If I instead plot the tension vs. v^2, the data looks sort of linear, but a power series gives a better fit. The published version of the simulation has a power of 2 relationship between the tension tick marks. If I assume the same relationship here, tension increases exponentially with speed squared.
image

@jonathanolson
Copy link
Contributor

I've added what I believe should show that effect above, can you check?

@arouinfar
Copy link

@jonathanolson I think that did the trick! The data now behaves as expected. The speed data is cleaner if I measure it using distance/time, so I will make that recommendation in the Teacher Tips. Wavelength measurements tend to have more error (especially at lower tension) due to the ruler's low precision.

image

@oliver-phet
Copy link
Author

Documenting another email into phethelp:

Is it possible to have lower, non-zero values of damping for your "Waves on a string" simulation? We would like to demonstrate resonance, but the lowest available damping makes the steady-state amplitude at resonance only slightly larger than the amplitude midway between resonance frequencies.

@oliver-phet
Copy link
Author

Documenting another email into phethelp:

I have a concern about the approach to damping as implemented in the Wave on a String 1.1.22 simulation. The simulation behaves very differently as compared to the legacy Flash version where damping is concerned. Specifically, the damping introduced by even the smallest non-zero setting is too strong (certainly stronger than was the case in the legacy version).

The basis for this claim is that, in the past with the legacy version, it was possible to have students explore resonant behaviour by mapping the standing wave amplitude as a function of frequency with a small amount of damping included. However, the current version applies so much damping at even the smallest non-zero setting that no resonant behaviour is observed unless damping is turned off. For example, using settings of two fixed ends, medium tension, and zero damping, driving the string at a frequency of 0.25 Hz and a driving amplitude of 0.05 cm results in the expected resonant behaviour. But apply even one increment of damping and resonant behaviour vanishes almost instantly as if the amount of damping had become huge. That behaviour at the very least not consistent with the intuitive sense one would get from moving the damping slider by 1/10th of its maximum.

Applying less damping would allow for the exploration of the resonance curve, as could be once done with the legacy version. Given that no HTML5 version of the resonance simulation currently exists, this would be a valuable addition to the string simulation's capabilities.

@oliver-phet
Copy link
Author

Documenting another email into phethelp:

The current, HTML5 version of Wave on a String doesn’t allow a truly tiny amount of damping (like the old flash version did).

When we set up standing waves on the string, for example with settings:

  • oscillate, Amplitude 0.05 cm, and frequency 1.25 Hz
  • Tension high
  • fixed end

Setting Damping to None creates lovely standing waves—but they continue to slowly build until the wave peaks don’t fit in the browser view anymore.

Setting Damping to the smallest nonzero setting by contrast damps the motion so quickly that it’s hard to set up a satisfactory standing wave at all.

Consider adding a new, tiny damping amount; or changing the scaling for the damping slider to make it nonlinear so that the first choice is much smaller than currently.
The old Flash version is a good model to compare to.

@oliver-phet
Copy link
Author

Another user email:

Can anyone tell me a frequency I can use to demonstrate a harmonic standing wave? I tried 0.76 Hz to get the 2nd harmonic and it's close but not stable. Any help is appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants