# 1.10.00 (30671) Apr 21, 2009 4/21/09 Batch deploy as part of IOM milestone with revision 30670 # 1.09.02 (29629) Mar 22, 2009 3/22/09 Batch deploy for Alpha Simulation Tests 2, svn 29628 3/12/09 #1453, remove unused strings from English localization file 2/26/09 - #1288, change clock rewind button tooltip to "Restart" # 1.09.01 (28809) Feb 19, 2009 Batch deploy for alpha Simulation Tests, svn 28773 10/8/08 - use PhetApplicationConfig.launchSim 10/8/08 - moved list of rejected features to Unfuddle 807 9/5/08 - remove uses of DialogUtils, use JOptionPane directly 5/20/08 - reduce vertical spacing in control panel to remove Mac scrollbars > improve fonts 5/20/08 - call new PhetFont explicitly to create fonts 4/28/08 - add PhetLookAndFeel to main # 1.09.00 (18718) 11/29/07 - change name to "Quantum Tunneling and Wave Packets" 11/9/07 - move about.credits property to localization file 10/9/07 - migrate "Reset All" and "set minimum width" features to phetcommon ControlPanel 10/9/07 - switch persistence to phetcommon's XMLPersistenceManager 9/11/07 - rename AbstractModule and AbstractControlPanel, add QT prefix 8/27/07 - replace "Lucida Sans" with PhetDefaultFont.getDefaultFontName() 8/16/07 - convert persistence code to use IProguardKeepInterface instead of QTSerializable # 1.08.00 (17033) 7/27/07 - new version published as part of new website deployment 7/10/07 - fix load/save so that it doesn't change the clock's run state unless it's for the active module 7/10/07 - fix modules so that they don't explicty start the clock 7/2/07 - wrap the body of main in invokeLater 6/15/07 - convert description properties to well-formed HTML 6/12/07 - add Schmidt-Lee and Richardson to credits 5/14/07 - replace QTClockControls with ClockControlPanelWithTimeDisplay 5/10/07 - upgrade jfreechart from 1.0.0 to 1.0.5, test 4/7/07 - encapsulate PhetProjectConfig in QTResources 4/6/07 - set locale in Spanish JNLP file via javaws.locale property 4/6/07 - convert from SimStrings to PhetProjectConfig, encapsulate in QTStrings 3/27/07 - remove canvas argument from all ancestor nodes of PSwing in scenegraph 3/20/07 - use DialogUtils in phetcommon 3/20/07 - move ColorChooserFactory to phetcommon 3/20/07 - move ArgUtils to phet.common.util.CommandLineUtils 3/14/07 - rename SimStrings files to have basename quantumtunneling_strings 3/14/07 - move images to data/quantumtunneling/images to avoid namespace collisions 3/14/07 - get version and credits from properties file (11/29/06) - add workaround for selecting all text when a DoubleSpinner gains focus (10/20/06) - add data/credits.html # 1.07.00 (10/4/06) - published new version to PhET web site (10/4/06) - fix bug in barrier solvers: when k2 or k4 is zero, set it to 0.00001, so that plane wave doesn't disapper when E=V (10/4/06) - increase hbar precision to 0.658212 (10/4/06) - increase electron mass precision to 5.68563 (10/4/06) - get single-char abbreviations (V,B,R,T) from SimStrings (10/4/06) - change R1,R1,... to V1,V2,... in Config Energy dialog (10/4/06) - remove (R) and (T) from RTP checkbox label (9/29/06) - move R= and T= toward top of chart so that they're obscured by prob curve less often (9/29/06) - bugfix: with plane wave, some situations result in R=1.00 T=? (eg, R precision errors make R=1.0000000002) (9/29/06) - when wave function solution is zero, set R=? T=? (9/29/06) - if wave packet's initial position is in last region, R=0 and T=1 (9/29/06) - if wave packet's initial position is not in first/last region, set R=?, T=? (9/29/06) - change AbstractProbabilityNode to observe AbstractWave (9/29/06) - rewrite RTP model, put interface in AbstractWave (9/29/06) - hook up RTP view to model (9/28/06) - add AbstractPlaneWaveSolver.getReflectionProbabity and getTransmissionProbability (9/28/06) - add nodes for RTP, position properly, wire to visibilty and direction controls (9/28/06) - add getB() method to all plane wave solvers, for RTP support (9/28/06) - add RTP support to Color Scheme feature, uses annotation color (9/28/06) - add RTP support to Save/Load feature (9/28/06) - add RTP support to Reset All feature (9/28/06) - add RTP checkbox to control panel (9/28/06) - start work on RTP (reflection and transmission probabilities) feature # 1.06.01 (9/27/06) - change position range to [-8,12] nm (8/24/06) - remove AbstractModule.setHelpEnabled override, problem was fixed by PhetFrameWorkaround (7/27/06) - remove special chars from Spanish JNLP file, causes JDOM SAX parser to throw exception (7/12/06) - change codebase tag in JNLP files to work with PhET installer # 1.06.00 (7/8/06) - change Spanish translation of description in Help>About (6/29/06) - bugfix: bounds of drag handles is computed differently when value is visible (6/29/06) - move Swing/AWT paint workaround to PhetFrameWorkaround (6/29/06) - incorporate workaround for Swing/AWT paint priority problem, see QTApplication.createPhetFrame # 1.05.00 (6/21/06) - change: when making a quantum measurement for a plane wave, set the wave function to zero everywhere # 1.04.00 (6/13/06) - change zoom levels again (6/12/06) - change zoom levels again (6/12/06) - add one zoom level for debugging that shows entire curve (6/12/06) - add additional zoom levels for Wave Function and Prob Density charts # 1.03.00 (5/21/06) - add 0-2PI range to phase label (5/21/06) - add a thin dark line to center of total energy gradient (5/21/06) - change "Total Energy" to "Average Total Energy" in Configure dialog (5/21/06) - change "initial center" to "initial position" # 1.02.00 (5/5/06) - bugfix: zero thresholding of wave function should be based on absolute value # 1.01.00 (5/3/06) - bugfix: potential combo box contains duplicate choices, one for each color scheme (4/21/06) - fix in Spanish translations, Colors -> Colores # 1.00.00 (4/12/06) - use clock control images from phetcommon, delete images from data/images/ (4/12/06) - phetcommon: add constants for clock button images in ClockControlPanel # 0.00.24 (4/10/06) - change dashed line stroke width to 1 when E0 < top of well (4/10/06) - change eigenstate line with from 1 -> 2 (roll into 0.00.24) (4/10/06) - completed new representation of total energy when wave packet is in a well (4/10/06) - implement AbstractPotential.getTopOfWellAt (4/10/06) - fix implementation of AbstractPotential.isInWell (4/10/06) - reorganized TotalEnergyRender to prepare for big changes (4/10/06) - feasibility test of creating an eigenstate mask that is applied to total energy gradient (4/10/06) - change default color scheme to white (4/10/06) - change colors in black color scheme again (4/6/06) - remove misc unused constants and member data (4/6/06) - don't restart the clock when we change total energy as a result of pushing Measure button (4/6/06) - fix behavior when we measure in a region where E "incoming" (4/5/06) - prototype using Schmidt-Lee algorithm to calculate eigenstates # 0.00.23 (4/5/06) - increase real/img/mag/probDensity line widths to 2 pixels, potential to 3 pixels (4/5/06) - change default color scheme to black (4/4/06) - make canvas background slightly darker to improve contrast with white charts (4/4/06) - when changing help item visibility, temporarily pause the clock so that things draw properly (4/4/06) - put Color Scheme menu in menubar, remove Options menu (4/4/06) - change "Wave Function view" -> "Electron Wave Function view" (4/4/06) - change "Wave Function form" -> "Electron Wave Function form" (4/4/06) - change some colors in black color scheme (as requested) (4/4/06) - change default color scheme to white (4/4/06) - Sam M. verified that dt is correct for new position range and dx (3/27/06) - move FastPathRenderer to jfreechart-phet (3/27/06) - add a command line arg (-dev) to enable Developer menu (3/27/06) - fix new warnings that eclipse 3.1.2 found (3/26/06) - upgrade to Eclipse 3.1.2, JProfiler 4.1.3 # 0.00.22 (3/24/06) - set Richardson psi[] to all zero when all values are below some threshold (3/24/06) - in Richardson, add samples between visible samples and damped samples (3/24/06) - set interpolation to "nearest neighbor" in JFreeChartNode to improve JDK 1.5 performance (3/24/06) - add support for plot orientation to FastPathRenderer (3/24/06) - rename QTPathRenderer -> FastPathRenderer (3/24/06) - enabled antialiasing in all custom jfreechart renderers (3/24/06) - use a GeneralPath in TotalEnergyRenderer so that it is pixel-accurate with QTPathRender (3/24/06) - do least expensive checks first in TotalEnergyRenderer.drawItem (3/24/06) - replace all StandardXYItemRenderers with my own QTPathRenderer, big optimization! # 0.00.21... (3/23/06) - move Richardson controls into a Developer menu (fold into 0.00.21) (3/23/06) - make sum/separate radio buttons visible only when wave type = plane wave (fold into 0.00.21) (3/23/06) - make wave packet properties visible when wave type = wave packet, delete associated expand/collapse button (fold into 0.00.21) (3/23/06) - demonstrate that Swing redraw problem occurs even when Richardson propagator is not called at all (3/22/06) - save/load color scheme (3/22/06) - refactor inner classes of QTConfig into their own class files (3/22/06) - redo color scheme class hierarchy (3/22/06) - initialize color scheme and menu state on startup (get rid of QTConstants) (3/22/06) - Spanish translations for color scheme stuff (3/22/06) - change pixels-per-point to 2 for wave packet (3/22/06) - rebuild Potential menus when color scheme changes, so that icon color is correct (3/22/06) - add "annotation" property to color scheme, use to set color of annotations and energy values (3/22/06) - get rid of JLabel coloring in Configure dialog (3/22/06) - set color scheme in Configure dialog (3/22/06) - implement custom color scheme dialog (3/22/06) - setColorScheme for control panel, region markers, legend above charts (3/21/06) - encapsulate white & black color schemes and make it easier to switch between them in QTConstants (3/21/06) - increase pixels-per-sample to 3 for wave packet (3/21/06) - add separate resolution controls (pixels-per-sample) for wave packet and plane wave (3/21/06) - change position range to -4...8 (3/21/06) - increase precision of PhaseRenderer (use GeneralPath instead of Polygon) # 0.00.20 (3/10/06) - hide Richardson controls (3/10/06) - make time display and units fonts "significantly larger" (12->22 pt) (3/10/06) - remove help item for measure button (3/10/06) - change measure button label to "Make Quantum Measurement" # 0.00.19 (3/7/06) - change color scheme to black plot background (3/7/06) - bugfix: total energy band needs to have a 1-pixel overlap at center (3/6/06) - RichardsonSolver: add a developer control for dx, show developer controls # 0.00.18 (3/6/06) - change RichardsonSolver: dt=0.0025, steps=40, hide controls (Sam M request) # 0.00.17 (3/3/06) - fix PotentialEnergyDragHandle and RegionBoundaryDragHandle that I screwed up on 2/20, need to recompute drag bounds more frequently (roll into 0.00.17) (3/3/06) - change x-axis tick spacing to 1, add vertical grid lines (roll into 0.00.17) (3/3/06) - change range of mass and hbar controls (roll into 0.00.17) (3/3/06) - add dx (read only) to Richardson controls (roll into 0.00.17) (3/2/06) - add developer controls for Richardson mass, hbar, dt, steps (3/2/06) - changed IWavePacketSolver interface and all subclasses so that #steps is handled by the solver (3/2/06) - broke out DoubleSpinner into its own class, added getDoubleValue and setDoubleValue convenience methods (3/1/06) - sync & test with Sam's additions for RK4Solver (3/1/06) - bugfix: Richardson propagator was skipping the last psi value when applying EtoV (2/28/06) - sync & test with Sam's additions and changes for SplitOperatorSolver (2/28/06) - fill in all missing javadoc (2/28/06) - extract interface IWavePacketSolver out of RichardsonSolver, so that SamR can experiment with other algorithms (2/28/06) - refactor model.RichardsonSolver.RComplex into util.LightweightComplex (2/28/06) - make WavePacket the only client of RichardsonSolver (2/28/06) - make total energy line dashed when E WavePacketSolver (1/10/06) - clean up Wave class hierarchy (1/10/06) - clean up integration of WavePacket in WaveFunctionPlot (1/10/06) - move # steps out of SchrodingerSolver and into WavePacket model (1/10/06) - simplify the SchrodingerSolver code (1/5/06) - sync with new piccolo which contains pswing, fix imports in QT # 0.00.06 (1/5/06) - multiply Psi[] values by normalization constant at initialization (1/5/06) - damp Richardson algorithm to prevent periodic boundary conditions (SamR's solution) (1/5/06) - temporarily speed up Richardson algorithm by reducing # of sample points (1/5/06) - temporarily fix Richardson algorithm by using same formula for dt that he uses (1/4/06) - reorganize internals of QTClock (1/4/06) - set clock dt=0.1 and get rid of time scaling elsewhere (1/4/06) - change my clock control panel to accommodate more IClock changes # 0.00.05 (1/2/06) - first attempt at integration Richardson algorithm, doesn't work (1/2/06) - changes to support new ModulePanel layout (12/27/05) - piccolo-phet: change CursorHandler to use pushCursor and popCursor (12/23/05) - phetcommon: lots of minor work on the branch (12/23/05) - convert PlaneWave and WavePacket from ModelElements to ClockListeners (12/23/05) - remove BaseModel from QTModule, obsolete for this sim (12/23/05) - fix startup race condition related to componentResized events (12/23/05) - work on moving to phetcommon branch with new Module and Clock, stuck on a race condition (12/22/05) - turn off integer ticks on energy graph (12/22/05) - change energy range to -1...+1, energy precision to 0.01, clock precision to 0.1 (12/22/05) - don't update until wave packet width & center sliders are released (12/22/05) - save/load all 4 potential configs (12/22/05) - change a bunch of set*Enabled methods to set*Visible (12/22/05) - retain state of potential types when switching between potential types (12/22/05) - use Direction enum throughout instead of booleans in some places (12/22/05) - create IRView enum for separate & sum views (12/22/05) - create convenience classes for single & double barriers (12/22/05) - flesh out save/load feature (12/21/05) - put barrier positions above widths in Configure dialog (12/21/05) - make direction selection more obvious (select arrows, hilite arrows) (12/21/05) - fixed 2 bugs in denominator of DoubleBarrierSolver (12/21/05) - fixed 1 bug in denominator of SingleBarrierSolver (12/20/05) - change order of args for common term methods in AbsractPlaneSolver to match equations (12/20/05) - move common code for determining if solution is 0 to AbstractPlaneSolver.isSolutionZero (12/20/05) - handle right-to-left in getters, not in private methods that populate values (12/20/05) - remove calls to jfree.chart.ChartRenderingInfo.getPlotArea, method was removed! (12/20/05) - sync with jfreechart_1.0.0 (12/19/05) - phetcommon: in StartupDialog, replace metal window decoration with a black border # 0.00.04 (12/19/05) - add all configurable items to QTConfig (12/19/05) - add accessors for all settings in control panel (12/19/05) - fix sign of denominator in D coefficient for double barriers (12/17/05) - debug DoubleBarrierSolver (12/17/05) - encapsulate method of flipping region index for right-to-left waves (12/17/05) - bugfix: set wave function to zero when TE AbstractPlaneSolver (12/15/05) - rename AbstractPotentialSpace -> AbstractPotential (12/15/05) - create a wave type hierarchy, so that we can switch between plane & packet (12/15/05) - implement clock Restart button (12/15/05) - extend clock to support notification when running time is reset (12/14/05) - implement left/right wave direction feature (12/14/05) - implement sum/separate feature (12/14/05) - create WaveFunctionSolution class that provides the solution in incident/reflect/sum forms (12/14/05) - minor changes to support separation of phetcommon and phetgraphics into separate CVS projects (12/14/05) - sync with phetcommon (12/13/05) - add data to Probability Density chart (12/13/05) - bugfix: drag problem prevents being able to set interior regions to their min width (12/13/05) - bugfix: dragging fast can cause horizontal drag handle to separate from what it's dragging (12/13/05) - moved more stuff out of subclasses and into AbstractDragHandle (12/13/05) - renamed DragHandle to AbstractDragHandle (12/12/05) - implement single & double barrier solvers (12/12/05) - calc coefficients only when TE or PE changes (12/12/05) - restructure closed-form solvers (12/12/05) - increase sampling frequency so that waves don't appear to travel backwards (12/12/05) - enable direction controls (12/12/05) - set psi(x,t)=0 when TEShowValues (12/2/05) - add stubs for File>Save and File>Load (12/2/05) - optionally show values on drag handles (12/2/05) - create RegionBoundaryDragHandle for setting region boundaries, incorporate into PotentialEnergyControls (12/2/05) - fix AbstractPotentialSpace interface so that regions can never be directly accessed (12/2/05) - attach vertical drag handles to potential energy levels (12/2/05) - add range methods to AbstractPotentialSpace interface so that it's clear that space is finite (12/2/05) - add validation of regions to make sure they remain contiguous (12/2/05) - factor out WaveFunctionPlot and ProbabilityDensityPlot classes (12/2/05) - factor out PositionAxis into one class used by all plots (12/2/05) - generalize and move coordinate transform code into JFreeChartNode (12/1/05) - create a drag handle that controls the total energy (12/1/05) - move piccolo stuff that's not QT-specific into quantum-tunneling.piccolo package (12/1/05) - force update of ChartRenderingInfo before setting drag bounds (12/1/05) - piccolo-phet: create PDebugKeyHandler for toggling Piccolo debug flags (11/30/05) - create horizontal and vertical drag handles (11/30/05) - create a generalized "constrained drag" handler (11/30/05) - hide logo in control panel, reduce vertical spacing so we don't get scrollbars (11/30/05) - sync with phetcommon (11/29/05) - jfreechart: upgrade to jfreechart-1.0.0-rc3 (11/29/05) - sync with piccolo-phet (11/29/05) - piccolo-phet: fix CursorHandler (11/28/05) - use a darker green for total energy label (11/28/05) - handle validation of inputs in Configure dialog, beep and reset if invalid (11/28/05) - label EnergyPlot axes using integer ticks (11/21/05) - declare a bunch of locals and params final (11/21/05) - move "min region width" into AbstractPotential (11/21/05) - make AbstractPotential range match the chart range (11/21/05) - change precision to 1 decimal place in Configure dialog (11/21/05) - integer-only ticks for X-axis lin Configure dialog (11/21/05) - add region and barrier annotations to chart in Configure dialog (11/21/05) - use dashed line for region markers (11/21/05) - add region markers to chart in Configure dialog (11/21/05) - hook up Configure dialog, module & control panel (11/21/05) - check for unsaved changes in Configure dialog (11/21/05) - wire up controls in Configure dialog (11/21/05) - add wait cursor on Configure button (11/21/05) - redo SimStrings file so that keys aren't class specific (11/21/05) - set min size of chart in Configure dialog so it doesn't scale (11/19/05) - start to flesh out the Configure dialog (11/19/05) - collapse BarrierPotential and MultiBarrierPotential hierarchy (11/18/05) - add Observer/Observable relationship between view/model (11/18/05) - create model of total energy (11/18/05) - create model of different types of potential energy "spaces" (11/17/05) - add vertical markers for barrier edges (11/17/05) - use StepPlot for Energy chart, reduces # points required (11/17/05) - create a custom PNode that draws any org.jfree.ui.Drawable (including JFreeChart) (11/17/05) - use JFreeChart "combine" feature to combine the 3 charts, since they have the same x-axis (11/16/05) - tweak some SimStrings (11/16/05) - draw charts using JFreeChart (11/16/05) - delete QTCanvas since it's not really doing anything (11/16/05) - all nodes to "screen", layout in screen coordinates (11/16/05) - simplify canvas layout code (11/16/05) - use fullBounds to layout canvas (11/15/05) - disable sum & separate radio buttons in wave packet mode (11/15/05) - add an "under construction" dialog to Configure button (11/15/05) - sync with piccolo-phet (11/15/05) - put "Configure" button above Energy graph (11/15/05) - put legend above Energy graph (11/15/05) - sync with phetcommon (11/14/05) - put all nodes under one parent node in module (11/14/05) - make PhetPCanvas key listener require Shift-Ctrl modifiers (11/14/05) - sync with piccolo and piccolo-phet projects (11/14/05) - disable zoom/pan behavior of canvas (11/14/05) - QTCanvas wrapper around PhetPCanvas (11/14/05) - position nodes on canvas using proportional layout (11/14/05) - handle registration points myself in AffineTransform (11/14/05) - experiment with RegisterablePNode, discovered it's broken (11/12/05) - fixes to Spanish translations (11/11/05) - put some dummy graphis in play area for graphs and titles (11/11/05) - do some tests with PText (11/11/05) - Spanish translations for control panel, to check layout (11/11/05) - add icons for incident wave direction control (11/11/05) - add width and center slider controls to control panel (11/11/05) - implement general SliderControl (11/10/05) - check new project into CVS (11/10/05) - set up application framework