PhET Progress Report

Sam Reid

October 8, 2009

 

An online version of this report is available here.

Here's a pie chart representation of the time distribution.

 

Motion Series

·         Performance improvements

1.      Used trial JProfiler 5.2.4 to identify issues, my old license is for 4.3.2 series. (Trial ends Oct 12)

·         10+ features/fixes in 1.03.51

·         Improved support for game modes

·         Started refactoring to improve support for moving man

·         Top issues before Ramp/F&M ready for main site:

1.      Interviews

2.      Bugfixes on Mac (about 3 severe bugs)

3.      Control for custom object in drop-down dialog?

4.      Make sure performance acceptable, and no memory leaks

5.      Forces Fn and Fg overlap when in point of origin mode, making it impossible to see the tail of one or the other; this makes it look like one is the wrong magnitude.

6.      Improve game modes?

7.      Internationalization of new features and game modes

8.      What version for initial tigercat version?  Are these 2.0?

9.      Full details here

 

CCK

·         Sam M identified a problem with Capacitor + Battery (with small series resistance), see #1813.  RC Circuit with small time constant (e.g. R<<1) has incorrect behavior.

·         Derived analytical solution (p1, p2) to RC circuit under Thevenin equivalent model

·         Used this to fix the capacitor companion model, was incorrect for RC circuit

·         Used this to isolate and experiment with oscillation problem, related to time step; decreasing dt will give correct solution around time constant<1, but causes poor performance.

·         Profile and investigate tuning down the time step dt.   Could possibly reduce time constant from dt=0.03 to 0.003 without degrading performance too much more, but this doesn’t resolve the R=1E-6 problem.

·         Possible solutions:

1.      Prevent users from creating circuits with too small time constant

2.      Identify RC circuits with too small time constants and apply different physical models (very complex, and would only work for RC circuits, and wouldn’t work e.g. for RCC circuits)

3.      Dynamically select time step (not sure how this could be used to solve the problem, since it would choose time step ~ 1E-6)

4.      Tried using Norton model (supposed to have better DC behavior) , but has the same problem, requires dt = 0.03 * 1E-7 before oscillation stops for V=9 R=1E-6 C=0.1

5.      Change default values to make problematic situations less likely

 

Misc

·         Sun concludes EOL for 1.5 on Oct 30, see here

·         Discussed deployment tags with Chris & John

·         Tests for translation-utility and flash-3d

1.      Flex for 3d?

 

Piccolo

·         John & I noticed several changes to piccolo’s trunk and thought it might resolve some problems.

·         I asked piccolo team about release schedule, now they are considering just 4-5 issues for 1.3 and postponing the rest for 1.4.  None of the upcoming 1.3 changes looks very significant in terms of changing existing functionality or usage (e.g. many related to SWT).

·         See thread here

 

Upcoming Work

·         Ramp simulation, see to-do list

·         CCK - new Physics implementation, testing and performance analysis (with Sam M)

·         E&E graph should have record/playback, use motion series recording controls.

1.      Noah provided a mock-up, see email

2.      Rewrite this component in Java?

·         Discuss MyCanvas layout implementation with Chris, John, Jonathan, after cleanup

·         Posted sim dependencies, and sims for common libraries and a report for ramp in particular

1.      Make common text change logs available to testers

2.      Indicate sims that depend on a library when a library changes

·         Make it possible to redeploy sims with common changes without retesting the sim when we redeploy again, could use git for branching