Closed zepumph closed 3 months ago
I find it complicated to include the fluid pressure in the scale reading because that goes beyond the learning goal. The scale there is to measure the apparent weight, that corresponds to the equilibrium of forces. The block has a weight of 132.3 N, but inside the water its apparent weight of 83.3 N because the buoyancy force is 49 N. For students, it is easy to make the subtraction:
I see that in the boat screen the behavior is strange because the scale includes the weight of the water inside the boat. My solution: no scale under the water in the boat screen. Apparent weigh can be a learning goal of the other 3 screens, and clearly this screen has other goals that don't need an scale under the water.
What developers think about that solution?
I worry that we'll immediately get complaints once it's online due to incorrect behavior (due to the scale showing zero force if there is no block/boat on it). This applies to any screens.
Is there a potential way we can indicate "this is the difference between the force applied currently, and the force of the water if there was no object pressing against it"? It's a tricky concept, and seems like it could lead students to misconceptions ("the water is not pushing against the bottom of the pool") that would break understanding.
Perhaps we can bring this up at a design meeting?
Yes, I will request a design meeting, I guess they still being Thursdays. But I have two points: 1) Flash works that way and we didn't have any complaint (I know it is not a good justification). 2) It is not strange that scales have a zero set-up. Thinking in scales in lab school and even in kitchens, you can put a plate, set the scale at zero, and now measure the weight of the thing that you want.
Seems like at the very least, a good candidate for doc in the teacher tips and model.md.
It is not strange that scales have a zero set-up. Thinking in scales in lab school and even in kitchens, you can put a plate, set the scale at zero, and now measure the weight of the thing that you want.
That was my first thought as well, maybe clicking on the scale could bring it back to 0 from whatever readout it had previously.
The problem, I think, is that if you set the new 0 based on the current water level, then after submerging an object you'll raise the water level even more, so the readout on the scale would be of the net object's weight + the new water level. Not sure if my intuition is right on that part...
Unassigning until we talk at design meeting.
Discussed during design meeting today. We will remove the underwater scale from the applications screen, since the boat is behaving as a "closed system" and the scale isn't important to the learning goals of that screen.
Removed scale from pool. Tossing back to @zepumph for review and closing
Looks great. the other three models all have this code copied, I'd like to see about adding it as a super type option instead of copying it:
// Pool scale
const poolScale = new Scale( this.engine, this.gravityProperty, {
matrix: Matrix3.translation( 0.3, -Scale.SCALE_BASE_BOUNDS.minY + this.poolBounds.minY ),
displayType: DisplayType.NEWTONS,
tandem: tandem.createTandem( 'poolScale' ),
canMove: true
} );
this.availableMasses.push( poolScale );
This is done bye
While discussing https://github.com/phetsims/buoyancy/issues/75 with @jonathanolson @AgustinVallejo and @zepumph, we had some worries about how the underwater scale was being modeled:
We recommend addressing water pressure on the scale in some way, and to not ignore it completely.