Calculation of Drag Force for different riding positions of a bicyclist
Aim: To calculate the Drag Force against a bicyclist and plot the variation of Drag Force with varying Velocity and Drag coefficient.
Factors Involved: 1)Velocity (v)
2)Drag coefficient (C_d)
3)Frontal Area (A)
4)Density of air (rho)
Formula:
Drag_Force = (0.5*rho*A*v.^2*C_d);
Case (1): To Observe the variation in Drag Force with respect to Velocity.
Assumptions:
1, Frontal Area (A) remains the same throughout the system,
A = 0.12 m^2
2, Drag Coefficient (C_d) remains the same throughout the system,
C_d = 0.09
3, Density of air (rho)
rho = 1.225 kg/m^3
Procedure:
1) We consider a body of Frontal Area (A = 0.12 m^2) and Drag Coefficient (C_d = 0.09).
2) A velocity array is generated of range 10 to 25 m/s using range operator.
3) Using the formula,
Drag_Force = (0.5*rho*A*v.^2*C_d)
an array of drag force for the velocities ranging from 10 to 25 m/s is generated.
4) Now, a graph is plotted between velocity (v) and Drag_Force by using the "plot" function. The width of the line is set by using "linewidth" and the color is set by "color
plot(v,Drag_Force,'linewidth',3,'color','r');
5) After plotting the graph the x-axis and y-axis are labelled accordingly by using the xlabel() and ylabel() functions
Program for Plotting 'v' vs 'Drag_force':
% Program to calculate drag force against a cyclist.
clear all
close all
clc
% Velocity vs Drag Force
% Inputs
% Density in kg/m^3
rho = 1.225;
% Frontal Area in m^2
A = 0.12;
% The Drag Coefficient remains same throughout the system
C_d = 0.09;
% Here we are considering varying Velocities
v = 10:25;
Drag_Force = 0.5*rho*A*C_d*v.^2
plot(v,Drag_Force,'linewidth',3,'color','r')
grid on
xlabel("Velocity");
ylabel("Drag Force")
Result:
The following graph represents the variation of Drag Force with Velocity.
Case (2): To Observe the variation in Drag Force with respect to Drag Coefficient.
Assumptions:
1, Frontal Area (A) remains the same throughout the system,
A = 0.12 m^2
2, Velocity (v) remains the same throughout the system,
v = 35 m/s
3, Density of air (rho)
rho = 1.225 kg/m^3
Procedure:
1) We consider a body of Frontal Area (A = 0.12 m^2) and Velocity (v = 35 m/s)
2) The drag coefficient usually ranges from 0.09 to 1.15 for different shapes of same area.
(source: https://en.wikipedia.org/wiki/Drag_coefficient)
An arrray of Drag coefficients is assigned to C_d ranging from 0.09 to 1.15.
3) Using the formula,
Drag_Force = (0.5*rho*A*v.^2*C_d)
an array of drag force for the drag coefficients ranging from 0.09 to 1.15 is generated.
4) Now, a graph is plotted between Drag Coefficient (C_d) and Drag_Force by using the "plot" function. The width of the line is set by using "linewidth" and the color is set by "color"
plot(C_d,Drag_Force,'linewidth',3,'color','b');
5) After plotting the graph the x-axis and y-axis are labelled accordingly by using the xlabel() and ylabel() functions
Program for Plotting 'C_d' vs 'Drag_force':
% Program to calculate drag force against a cyclist at different riding positions.
clear all
close all
clc
% Drag Co-efficient vs Drag Force
% Inputs
% Density in kg/m^3
rho = 1.225;
% Frontal Area in m^2
A = 0.12;
% Here we are considering different Drag Coefficients for the same frontal area but of different shapes
% The Drag Coefficient usually vary from 0.09 to 1.15 for the different shapes.
C_d = linspace(0.09,1.15,9);
% Velocity is assumed to remain same throughout the system in (m/s)
v = 35;
Drag_Force = 0.5*rho*A*C_d*v^2
grid on
plot(C_d,Drag_Force,'linewidth',3,'color','b')
xlabel("Drag Coefficient");
ylabel("Drag Force")
Result:
The following graph represents the variation of Drag Force with Drag coefficient.
Case (3): To Observe the variation in Drag Force with respect to velocity for different riding positions of a bicyclist.
Assumptions:
The following are the values of Frontal Areas (A) and the Drag coefficients (C_d) for different riding positions of an average bicyclist.
Riding positions Frontal Area (A) Drag coefficient (C_d)
Cyclist (Tops) 0.632 1.15
Cyclist (Hoods) 0.4 1.0
Cyclist (Drops) 0.32 0.88
(source: https://www.cyclingpowerlab.com/CyclingAerodynamics.aspx)
Velocity (v) = 10 to 55 m/s
Density of air (rho) is uniform over the system.
rho = 1.225 kg/m^3
Procedure:
1) We here are considering a body of an average cyclist but riding in different riding positions.
2) The positions considered being when the cyclist "Tops", "Hoods" and "Drops".
3) Two arrays are generated from the values we have for frontal area A and drag coefficient C_d in the order of positions 1, Tops 2, Hoods and 3, Drops respectively.
4) Now find the vector product of A and C_d for the three different riding positions.
AC_d = A.*C_d
This generated an array of AC_d.
5) Using the formula,
Drag_Force = (0.5*rho*AC_d(i)*v.^2)
in the for loop for "i" varying for different riding positions in the order mentioned above.
6) Now, a graph is plotted between Velocity and Drag_Force by using the "plot" function. The width of the line is set by using "linewidth" and the color is set by "color"
plot(v,Drag_Force,'linewidth',3,'color','b');
Now the above procedure generates three plots on the same graph but with same color. So, to get different colors for the plots we need to vary the values in the array representing colors. For that the program is modified as follows with three variables assigned with values between 0 and 1 and then decremented or incremented in the for loop.
7) After plotting the graph the x-axis and y-axis are labelled accordingly by using the xlabel() and ylabel() functions.
8) To represent the variation of Drag forces on the graph, we need to mention that as certain variables in color array are decremented by 0.5 everytime, the lighter color on the color bar represents the 1st position while the darker color represents the last position respectively.
Program for plotting 'v' vs 'Drag_force' for different riding positions of bicyclist:
% Program to calculate drag force against a cyclist at different riding positions.
close all
clear all
clc
% Inputs
% Density in kg/m^3
rho = 1.225;
% The Drag Coefficient varies for different Frontal Areas for different riding positions.
% Let us take the values as arrays and calculate the vecctor product of C_d and Area, for individual positions.
% Drag Coefficient
C_d = [1.15 1.0 0.88];
% Frontal Area in m^2
A = [0.632 0.40 0.32];
% Velocity in m/s^2
v = [10:55];
% Product of Area and Drag Coefficient (AC_d)
AC_d = A.*C_d;
% Positions of the Cyclist
% Cyclist "Tops"
% Cyclist "Hoods"
% Cyclist "Drops"
a = 1;
b = 1;
c = 0;
for i = 1:length(AC_d)
% Drag Force in kg-m/s
Drag_Force = 0.5*rho*AC_d(i)*v.^2
% Plotting Velocity vs Drag Force
grid on
hold on
plot(v,Drag_Force,'linewidth',3,'color',[a,b,c],';AC_d(i);')
xlabel('Velocity')
ylabel('Drag Force')
a = a-0.5;
b = b-0.5;
colorbar
end
printf("\ The increase in the darkness of the color bar represents the order of execution")
Result:
The following graph represents the variation of Velocity with Drag coefficient for different riding positions of a bicyclist.
Conclusion:
From the above graph it is clear that the Drag Force is increasing rapidly with increase in velocity and is high when the cyclist is in "Tops" position while the Drag Force is relatively very less when the cyclist is riding in "Drops" position. So, it's now clear that to experience less Drag Force with increasing velocity the cyclist should ride the bicycle in either "Drops" or "Hoods" positions.
Problems Faced:
1, Couldn't multiply arrays of A and C_d in the formula of Drag Force along with the array of velocity. So, I first multiplied the arrays A and C_d as they are of same size and then used the for loop to get the values of Drag Force for varying velocities.
2, All the curves in the graph of case 3 had the same color at the end of execution. So assigning values to three variables ranging between 0 and 1 and then decrementing them accordingly in the 'for' loop helped in getting darker colors for curves for every iteration.