phetsims / buoyancy

"Buoyancy" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
2 stars 2 forks source link

Buoyant force bug when the Boat is fully submerged. #131

Closed zepumph closed 4 weeks ago

zepumph commented 1 month ago

During design meeting today, we all found a bug in the boat application screen.

The buoyant force of the boat, when fully submerged, is still using the liquid inside the boat to calculate the buoyant force. Instead, once we are fully submerged (liquid level above the boat gunnel), then nothing inside of the basin, including the block should use be used to calculate the buoyant force.

@DianaTavares, is this correct? Please assign back with notes.

zepumph commented 1 month ago

Some more questions from a discussion with @AgustinVallejo:

How do we want to handle the mass tag? Right now we count the liquid in the boat as part of its mass: image

That is true even when full: image

If we want the buoyant force to be just calculated from the volume of the shell when the boat is full, should the mass of the system change to reflect that too? @AgustinVallejo is worried about that looking a bit strange (lots of mass at 99% full, then no mass at 100% full, also when removing the full boat out of the pool).

DianaTavares commented 1 month ago

I start to think that the boat with fluid inside is beyond the learning goals.

1) Problem: No reproducible experiments: Now we have a boat+fluid system, then the fluid increases the mass and weight of the boat, but the block doesn't. I think it is ok, because we have labels for the blocks that allow students to make calculations. For example: this boat has water inside it and I have all the values to understand why this is floating. image

But it will be super difficult to reproduce because I cannot control the quantity of fluid inside the boat.

2) No a problem: Change mass, weight, and buoyancy force of the boat when it is floating vs. its sink I doubt that the problem that @AgustinVallejo commented could be strange, one thing is the boat floating and the other one is when it sinks. Then change the mass and the buoyancy force from a giant value to only the mass and value of the shell, I think it is ok!

3) Big problem: understand what I call double buoyancy (the buoyancy force inside the boat when it has fluid)

a. We don't have information about the fluid inside the boat. It is not trivial for students to discover that the fluid inside the boat in this scenario is 100L-93.47L = 6.53L

image

b. It is cool to see that the weight of the boat doesn't increase when I put the wood block because it is floating! (the scale indicates 65.81 N, the same as the gravity force of the boat) image

But the shape inside the boat is not regular, so it is difficult to distinguish when the block is being “held” by the walls of the boat, and, therefore, does not float completely, then it affects the weight. In the picture you can think that the block “is floating” but now the weight on the scale is not the same as the gravity force of the boat.

image

c. all this is harder to distinguish if the boat with fluid is inside the pool because we don't have a big contrast of colors. In the picture, is the same boat that adobe, but now that is in the pool, you can't distinguish that is fluid inside it.

image

I find this dangerous. My suggestion is to stop the simulation once some fluid gets inside the boat and have a "oops!" error message:

image

What do you think @kathy-phet @arouinfar and @ariel-phet ???

DianaTavares commented 1 month ago

I think the two most popular prompts for boat are:

1)Predict: What will be the fluid displaced once I put the block inside the boat: image

I have everything in the simulation to calculate that and next test it. Test with a different block in my calculation process, and then generalize with any block to find a resolution process.

2) what is the biggest block of this material that this boat can carry without sink? This question is hard, no for the calculation (that is challenging, yes), but more because you need to be super careful to test your answer. My calculations indicate that the block needs to have a max mass value of 11.4 kg, and the closer that I get, clicking the buttons the slower that I can, was 11.37 kg because with 11.38 it sink:

honey

I think that the learning of "not put a boat to its max capacity because it is going to sink" is good! But I have to record to identify the extreme values and the moment that the boat sink. So bad that we don't have the play controls. But well, students just have to try several times, and be more precise.

With the simulation solving these two questions, I think is enough for this simulation. We don't need to allow experiments with fluid inside the boat. That is my opinion.

arouinfar commented 1 month ago

@DianaTavares I like your proposal. Things get complicated when there's fluid in the boat, and those situations go beyond the scope of the sim's learning goals. It seems simplest to present an Oops Dialog when any amount of fluid enters the boat. When the dialog is triggered, the sim should automatically empty the boat as if the gray reset button was pressed.

Gas Properties has many situations that can trigger an Oops Dialog, listed here. When triggering the Oops Dialog, the sim automatically takes some action (e.g. emptying the container, switching the "Hold Constant" mode to 'Nothing') and briefly informs the user of what caused the situation. For Buoyancy, I recommend we keep it simple and say:

Oops!

Fluid got into the boat.
DianaTavares commented 4 weeks ago

In the design meeting, we discussed the 4 problems identified when the boat has fluid inside. We agree that the Oops dialog is not necessary and the actions to solve that problems are:

143 (Boat cannot partially fill with water) and #142 (change to the physics of a full boat).

We can close this issue.