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