You are on page 1of 2

Example 1 – Designing a buoy

This is a simple application of Archimedes principle as the base of a design equation. Let us suppose
that we want to design a spherical buoy for an instrument having a mass M. The buoy shall be made of
3 mm steel plate of density ρs, and shall float so that the centre of the sphere lies on the waterplane.

Solution:
Archimedes states that ρwV = M, where ρw is the water density, V is the submerged volume and M is
the mass.

The volume of the submerged half-sphere is:


1 4
V =   d 3o  , where do is the outer diameter of the sphere
2 3

The mass of the sphere is:


4
M steel = s [d 3o−d o−0.0033]
3

Combining these equations, we have:


1 4 4
 w   d 3o = s [d 3o−d o−0.0033]M instr , where Minstr is the mass of the instrument.
2 3 3

This results in the following design equation:

w 3 3M instr
d o−3×0.003 s d 2o 3×0.003 2 s d o−0.0033 s−
2 4

For a water density of 1.025 tm-3, steel density of 7.850 tm-3 and instrument mass of 0.010 t, this results
in a density of do = 0.2267 using the matlab script shown on the following page:
%BUOY Example of buoy design

%%%%%%%%%%%%%%% define constants %%%%%%%%%%%%%%%%%%%%%%


deltaW = 1.025; % sea-water density, t/m^3
deltaS = 7.850; % steel density, t/m^3
M = 0.010; % instrument mass, t
t = 0.003; % steel thickness, mm
%%%%%%% define polynomial coefficients %%%%%%%%%%%%%%%%
c = zeros(1, 3); % initialize coefficient vector
c(1) = deltaW/2;
c(2) = -3*0.003*deltaS;
c(3) = 3*0.003^2*deltaS;
c(4) = -0.003^3*deltaS - 3*M/(4*pi);
%%%%%%%%%%%%%% solve cubic equation %%%%%%%%%%%%%%%%%%%
disp('The roots of the design equation are ')
do = roots(c)

% check results
for k = 1:3
if isreal(do(k))
disp(['Root No ' num2str(k) ' is real and the results are ' ])
vol = 2*pi*do(1)^3/3;
disp(['Volume of displacement = ' num2str(vol) ' cubic metres'])
Ms = 4*deltaS*pi*(do(1)^3 - (do(1) - 0.003)^3)/3;
disp([ 'Steel mass = ' num2str(Ms) ' t' ])
Mt = Ms + M;
disp([ 'Total buoy mass = ' num2str(Mt) ' t' ])
displ = deltaW*vol;
disp([ 'Displacement = ' num2str(displ) ' t'])
error = Ms + M - deltaW*vol;
disp([ 'Numerical error = ' num2str(error) ' t' ])
else
disp([ 'Root No ' num2str(k) ' is complex' ])
end
end

output:
The roots of the design equation are

do =

0.23
-0.04
-0.04

Root No 1 is real and the results are


Volume of displacement = 0.024397 cubic metres
Steel mass = 0.015007 t
Total buoy mass = 0.025007 t
Displacement = 0.025007 t
Numerical error = 5.2042e-017 t
Root No 2 is complex
Root No 3 is complex

You might also like