A Byte of PhysicsLogo

Buoyancy simulations

Buoyancy is the upward net force caused by pressure being greater on an object's lower surface than its upper surface. In a uniform fluid, it equals the weight of displaced fluid. It is therefore a pressure-gradient result, not a special anti-gravity force added only to objects that look like boats.

Think like a programmer

Calculate displaced volume from geometry and immersion state, then generate a signed force vector from the chosen vertical axis. Keep buoyancy separate from drag: buoyancy responds to displaced volume and fluid density, while drag responds to relative velocity, shape, and a separate model. Preserve the contact/immersion rule that determines volume; it is the hard part of a float/sink simulation.

Model checklist

Inputs
Fluid density, displaced volume or immersed geometry, gravity, object mass/density, vertical-axis convention, drag model, and time step.
State
Position, velocity, immersion fraction, displaced volume, buoyant force, weight, drag, and net force.
Rule
Calculate upward displaced-fluid weight and downward object weight, add declared drag/contact forces, then integrate motion.
Output
Float, sink, neutral equilibrium, or settling behavior with force ledger.
Check
At equal object/fluid density under full submersion, buoyancy equals weight; zero displaced volume gives zero buoyancy; doubling displaced volume doubles buoyancy; force signs agree with vertical convention.
\[F_B=\rho_{\rm fluid}V_{\rm displaced}g\]

Pressure and buoyancy sampler

Change depth and displaced volume. Pressure increases with depth; buoyancy is the weight of displaced fluid.

Depth 2.0 m; pressure 120620 Pa; displaced volume 0.020 m³; buoyant force 196.2 N.

For a fully submerged object of mass m in a uniform fluid, neutral static balance requires ρfluid Vdisplaced g = mg, so the necessary displaced volume is m/ρfluid. If an object can partly submerge, displaced volume grows with immersion until force balance is reached or the object contacts the bottom. The sampler reports a specified displaced volume; it is not a geometry/contact solver and therefore does not decide partial submersion for you.

The net vertical force is the ledger to test: upward buoyancy minus downward weight plus separately modeled drag or contact. A heavy object can float if it displaces enough volume; density compares mass per available volume. In time integration, force balance at one snapshot does not prove stability—an object may oscillate around equilibrium when restoring force and damping are present.

Try this experiment

Prediction: Increasing displaced volume raises buoyant force linearly; full submersion at equal object and fluid density gives zero ideal static net force.

Set an object mass, calculate its weight, and find the displaced volume that balances it in water. Double volume and predict the force ratio. Then list the arrays/state needed to calculate partial immersion without treating drag as buoyancy.

Where this model breaks

Partial submersion changes displaced volume with position and requires geometry/intersection logic. Surface tension, compressibility, stratification, turbulence, wave forces, added mass, and changing fluid density require richer models. A real floating object can rotate, splash, trap air, or take on water; a scalar vertical-force model cannot predict those outcomes.

Summary

Model buoyancy as an upward displaced-fluid weight, derive volume from immersion state, and combine it with gravity and distinct drag/contact rules in a signed force ledger. Test neutral balance separately from dynamic stability.

Glossary

Self-check

  1. What quantity determines buoyant force?
  2. How is drag different?
  3. What balances at neutral buoyancy?
  4. Why does force balance not alone prove stable floating?

Sources

Model contract

Treat the lesson as a small function before treating it as a fact to memorize. Give every value a unit, keep only the state needed for the next step, and make the output easy to inspect.

\[\text{observable output} = f(\text{inputs},\,\text{state})\]
Inputs
Quantities you set or measure, with units and useful bounds.
State
Values the program must retain to reproduce the next result.
Rule
The relationship or update that turns inputs and state into a result.
Check
A known limit, unit check, invariant, or measured result that can expose a bad model.

Implement the idea as a model

For Buoyancy Simulations, write down the quantities you can control, the values your program must retain, and the result a reader could inspect. In Fluids, the useful program is not the drawing: it is the smallest explicit model that makes a prediction you can test.

Guided experiment

Prediction: changing one declared input while holding the others fixed should change only the outputs that the model connects to that input. Choose one input, predict the direction of change, then check a limiting case such as zero, a symmetric arrangement, or a familiar low-speed or small-change approximation.

Where this model breaks

This lesson is a teaching model, not a complete simulator. Before using it outside the stated question, check which interactions, scales, uncertainties, boundary conditions, and measurement limits it leaves out.

Summary

Treat Buoyancy Simulations as a contract: named inputs and units enter a rule, the rule produces an observable result, and a known limit or invariant checks whether the implementation deserves trust.

Glossary

  • Input: a measured value or chosen parameter supplied to a model.
  • State: the smallest set of values needed to continue or reproduce a model.
  • Validation: comparing an output with a known result, limit, invariant, or measurement.

Self-check

  1. Which values are inputs, and which values must remain state?
  2. What observable result would tell you the model is behaving as expected?
  3. Which assumption would you test first before applying the model to a real system?

Model review: turn Buoyancy Simulations into a test

Apply a displaced-fluid force in a motion update and distinguish it from velocity-dependent drag.

  1. Name the inputs and units that the fluids model needs.
  2. Separate the state you must keep from values you can calculate when needed.
  3. Write one rule that maps the current state and inputs to an observable result.
  4. Choose a limiting case, unit check, invariant, or known result before trusting an output.
  5. State one assumption you would change before using this simplified model for a real decision.

Share to: