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

PhET-iO design #30

Closed
pixelzoom opened this issue Jul 19, 2018 · 32 comments
Closed

PhET-iO design #30

pixelzoom opened this issue Jul 19, 2018 · 32 comments

Comments

@pixelzoom
Copy link
Contributor

pixelzoom commented Jul 19, 2018

Should PhET-iO API design be part of the initial (1.0) design and implementation?
(ANSWER: No, but prudent to do some initial thinking about requirements and issues.)

@arouinfar and I have determined that this sim's model has the same problems that we encountered in instrumenting Hooke's Law (see phetsims/hookes-law#52, phetsims/hookes-law#57). Should we be proactive about addressing this?

@pixelzoom
Copy link
Contributor Author

pixelzoom commented Feb 26, 2019

As mentioned on my 2/13/19 status report...

The most promising approach for achieving acceptable performance involves few Properties in the model, and treating the entire system of particles as one model element. But Properties are fundamental to PhET-iO. So I recommend that we have a design meeting ASAP to discuss potential PhET-iO design/goals for this sim (what will need to be instrumented, etc.) and make sure that we're all on the same page. The meeting should include the sim design team, plus someone from the PhET-iO team.

@arouinfar
Copy link
Contributor

@pixelzoom there were quite a few design meeting requests for this week, but I've created a reminder to request time for GasProps PhET-iO at next week's design meeting.

@arouinfar arouinfar removed their assignment Feb 27, 2019
@pixelzoom
Copy link
Contributor Author

pixelzoom commented Mar 14, 2019

3/14/19 design meeting (@arouinfar, @kathy-phet, @pixelzoom):

  • No need to instrument individual particles.
  • Want to be able to inspect things like #particle in histogram bins, #particles in left/right sided of container, etc.
  • Need to to think about how to save/restore state. No need for particles to be in same positions with same velocities. But if we don't save state of each particle, then need to evaluate the difficultly of inverting the model, to create a set of particles based on temperature, pressure,... It would be acceptable to save just number of particles (of each type) and velocity magnitudes, then choose random locations and velocity angles when restoring state.

@pixelzoom pixelzoom self-assigned this Mar 19, 2019
@phetsims phetsims deleted a comment from amanda-phet Mar 19, 2019
@pixelzoom pixelzoom removed their assignment Mar 22, 2019
@pixelzoom
Copy link
Contributor Author

When the first (Ideal) screen is feature complete, I think it will be worth revisiting this.

@pixelzoom pixelzoom changed the title PhET-iO support PhET-iO design May 17, 2019
@pixelzoom
Copy link
Contributor Author

See also "PhET-iO instrumentation notes" in #77.

@pixelzoom
Copy link
Contributor Author

@arouinfar do you want to revisit this issue now that the sim is feature complete?

@arouinfar
Copy link
Contributor

Seems like @kathy-phet's call.

@pixelzoom
Copy link
Contributor Author

pixelzoom commented May 29, 2019

Re this issue that we identified on 3/14/19:

Need to to think about how to save/restore state. No need for particles to be in same positions with same velocities. But if we don't save state of each particle, then need to evaluate the difficultly of inverting the model, to create a set of particles based on temperature, pressure,... It would be acceptable to save just number of particles (of each type) and velocity magnitudes, then choose random locations and velocity angles when restoring state.

There is no way that we can invert the model, and that would be a bad design decision for this sim. With the current implementation, we will need to save thousands of particles in order to save the state. And similarly, we will need to save the location and velocities of thousands of particles on each time step in order to record/playback. That will most certainly impact performance.

@pixelzoom
Copy link
Contributor Author

pixelzoom commented May 29, 2019

Added meeting:design label for discussion at 5/30/19 design meeting. We are anticipating feedback from @kathy-phet. Specifically, should we do some more initial thinking about PhET-iO now that the sim is feature complete?

Latest: 1.0.0-dev.32

@pixelzoom
Copy link
Contributor Author

5/30/19 design meeting @arouinfar @ariel-phet @kathy-phet

We briefly discussed issues with getting state of the particle system, record/playback, etc. This sim will be a challenge to instrument. It won't be as simple as just adding tandems and describing the API in Studio. It will require some additional PhET-iO specific code.

Deferring this issue until we begin PhET-iO design.

@pixelzoom pixelzoom assigned pixelzoom and unassigned pixelzoom and kathy-phet May 31, 2019
@pixelzoom
Copy link
Contributor Author

With the exception of particles and histogram samples, I've completed a first pass at instumentation, including Studio tree structure, phetioFeatured, phetioReadOnly, and phetioDocumentation. So I've labeled this as "ready for review".

@arouinfar @Nancy-Salpepi I'll leave it up to you whether you'd like to review now, or wait until particles and histogram samples have been instrumented.

@arouinfar
Copy link
Contributor

@Nancy-Salpepi and I completed the first pass through the Studio tree, and identified the issues tagged above (beginning with #249). There are a few more things we would like to discuss first with @pixelzoom to decide on the best path forward, and haven't created GitHub issues for those, other than #255.

@pixelzoom pixelzoom self-assigned this Jun 10, 2024
@pixelzoom
Copy link
Contributor Author

There are a few more things we would like to discuss first with @pixelzoom ...

To be discussed tomorrow, 6/11/24.

@pixelzoom
Copy link
Contributor Author

We discussed on 6/11/24 and created some other issues.

@arouinfar @Nancy-Salpepi Is this issue ready to close?

@pixelzoom pixelzoom removed their assignment Jun 13, 2024
@pixelzoom
Copy link
Contributor Author

@arouinfar says OK to close.

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

5 participants