# Introduction¶

## Learning outcomes¶

• Understand hydrostatic forces on inclined surfaces
• Learn about and how to use the concept of the pressure prism
• Understand hydrostatic forces on curved surfaces
• Learn about buoyancy and how heavy things like ships float

## Hydrostatic force on plane surfaces¶

Consider a large rectangular water tank such as a swimming pool. We've already looked at the effect of depth on pressure but now we want to look as the forces exerted by the fluid on its surroundings.

We want to understand the fores the volume of fluid exerts on the bottom and side walls.

Which we can simplify this example into a 2D problem as shown below. Note that the inverted triangle represents the level of the free surface which is subject to atmospheric pressure. We can consider it analogous to an electrical ground.

For the forces acting on the bottom surface (area $A$) we can simply integrate over the pressure distribution on that surface.

$$F_R = \int_A p dA = \gamma h A$$

However on the side walls the calculation is more complicated since the the pressure distribution on the side walls increases with depth. As shown above it is zero at the surface and increases to some maximum value. This is an important engineering problem as it determines the structural strength required in many engineering areas such as hydroelectric power generation, marine engineering and civil engineering.

## Hydrostatic force on an arbitrarily inclined surface¶

In order to determine the force acting on a vertical place surface, as in the case of the swimming pool, it is better to generalise the problem and consider any surface at some angle on inclination $\theta$. The 3D model below shows such a generalised shape. A coordinate system $(x, y, z)$ is inclined at the angle $\theta$ along the wall of interest.

Note, if you are using Google Colaboratory the interactive 3D viewer does not work. You can use this video if required. The HTML version should work fine.

In [1]:
#!pip3 install PyGEL3D

import sys

if sys.platform != 'linux':
from PyGEL3D import gel
from PyGEL3D import js

js.set_export_mode()

# Colour each face of the model
vertex_data = (1,0,0,1, 0,1,0,1, 0,0,0,0, 1,0,0,1)

js.display(m, smooth=False, data=vertex_data, wireframe=True)

else:
print('play video in previous cell')