## Flow over Bicycle

Objective:   The objective of this  study to understand the change in drag force with respect to velocity different cycling positions and drag coefficeint for constant frontal area and constant velocity.

Theory: Cyclists tend to experience a drag force as they increase their cycling velocity. For reducing the drag force they change thier postion as they speed up thereby reducing the frontal area and drag coefficeint so as to lower the resistive force and attain higher velocities. The figure below provides an idea of different positions and frontal areas for the same.

Fig: Frontal Area and Drag Coefficent for Different Cycling Positions

Drag force experience by a body moving within a fluid domain is given by

F_d=C_d*rho*A*V^2/2

Where,

F_d is Drag force,

C_d= Coefficient of Drag

rho= Density of the fluid

A= Frontal Area

V= Velocity

Procedure:

The following python program was used to calculate the drag force for different velocities and cycling positions (i.,e frontal area & coefficient of drag)

"""
program for calculating drag force by Gaurav Samanta

Frontal Areas and Coefficeinet of Drag for Diffenent Cycling Positions

P1= Sprint Regular
A_p1= 0.460 m^2
C_dp1= 0.670

P2= Sprint Low
A_p2= 0.374 m^2
C_dp2= 0.626

P3= Back up
A_p3= 0.423 m^2
C_dp3= 0.655

P4= Back Horizontal
A_p4= 0.37 m^2
C_dp4=0.638

P5= Back Down
A_p5=0.339 m^2
C_dp5=0.655

"""

import matplotlib.pyplot as plt

#Inputs
#c_d=drag coefficient, index of the value represent the cycling position
C_d = [0.670, 0.626, 0.655, 0.638, 0.655]

#Frontal Area for different cycling positions
A = [0.460, 0.374, 0.423, 0.370, 0.339]

# Density
rho=1.2
#Velocity
velocities=[1,2,3,4,5,6,7,8,9,10]

#for computing drag forces at different velocities and cycling positions
#for position 1

drag_forces1=[]

for Velocity in velocities:
drag_forces1.append((0.5*C_d[0]*rho*A[0]*Velocity*Velocity))

#plt.plot(velocities, drag_forces1)
#plt.xlabel('Velocity')
#plt.ylabel('Drag Force')
#plt.show()

#for position 2

drag_forces2=[]

for Velocity in velocities:
drag_forces2.append((0.5*C_d[1]*rho*A[1]*Velocity*Velocity))

#for position 3

drag_forces3=[]

for Velocity in velocities:
drag_forces3.append((0.5*C_d[2]*rho*A[2]*Velocity*Velocity))

#for position 4

drag_forces4=[]

for Velocity in velocities:
drag_forces4.append((0.5*C_d[3]*rho*A[3]*Velocity*Velocity))

#for position 5

drag_forces5=[]

for Velocity in velocities:
drag_forces5.append((0.5*C_d[4]*rho*A[4]*Velocity*Velocity))

plt.plot(velocities, drag_forces1, label='position 1')
plt.plot(velocities, drag_forces2, label='position 2')
plt.plot(velocities, drag_forces3, label='position 3')
plt.plot(velocities, drag_forces4, label='position 4')
plt.plot(velocities, drag_forces5, label='position 5')
plt.xlabel('Velocity (m/s)')
plt.ylabel('Drag Force (N)')
plt.legend(loc='best')
plt.show()

#for plotting Drag force vs coefficient of drag
drag_force = []
c=0
#considering frontal area = 0.3 m^2
a= 0.3
for i in C_d:
#9th index of velocities array is 5 m/s
drag_force.append(0.5*C_d[c]*rho*a*velocities[6]*velocities[6])
c=c+1
print(velocities[6])
plt.plot(C_d,drag_force)
plt.xlabel('Drag Coefficient')
plt.ylabel('Drag Force (N)')
plt.show()

#end of program

Results:

Fig 1: Velocity Vs Drag Force

Inference: From the plot of Velocities vs Drag Force for different cycling postions it can be observed that how the change in the cycling position w.r.t speed can be done to reduce the drag force experienced by the cyclist at different velocities

Fig 2: Velocity Vs Drag Force

Inference: The figure above denotes the change in drag coefficient w.r.t drag coefficient at constant velocity (V=7 m/s) and frontal area. It is evident that as the coefficeint of drag increases the drag force increases linearly

### Data Analysis Gaurav Samanta · 2020-01-08 12:32:09

Objective: The objective of this project is to write a code for data analysis from an input file and perform the following operations 1. Compatibility Check: The program will ask for the file name with valid extension which if provided incorrect will terminate the prog Read more

### Constraint Minimization Gaurav Samanta · 2020-01-08 11:52:01

Objective: The objective of this project is to minimize a simple non-linear funtion using Lagrange Multiplier The target equation is: f(x,y)=5-(x-2)^2-2(y-1)^2 & the constrain equation: x+4y=3 Theory: In real engineering applications there is a Read more

### Curve Fitting Gaurav Samanta · 2019-12-27 19:42:51

Objective: The objective of this project is to perform a curve fitting between the temperature and Cp values given the data file   Theory:  Curve Fitting: it is a process of constructing a curve that best fits the provided data series. Curve fitting in gene Read more

### Ice Breaking Challenge Gaurav Samanta · 2019-12-27 19:01:57

Objective:  The objective of this project is to determine the minimum pressure required to break a given thickness of ice using an air cushion vehicle through Newton Raphson Method Equation: `p^3(1-beta^2)+(0.4hbeta^2-(sigmah^2)/r^2)p^2+((sigma^2h^4)/(3r^4))p-((s Read more

### 3D CAD Modelling in Star CCM+ Gaurav Samanta · 2019-12-17 17:47:36

Objective: The objective of this report is to understand the CAD modeller features in Star CCM+ and use it to generate a 3D model of an Ahmed Body and a Convergent Divergent Nozzle in the same as per the drawing given below   Procedure & Results: Conv Read more

### Air Standard Cycle Gaurav Samanta · 2019-12-10 14:51:18

Objective: The objective of this report is to create a python based Otto Cycle simulator which can create the  PV diagram and give the thermal efficiency of the engine as output  Theory: Otto cycle is the set of processes used by the spark ignition Read more

### 2R Robotic Arm Gaurav Samanta · 2019-12-10 14:33:33

Objective: The objective of this report is to simulate the foward kinematics of a 2R robotic arm using python programming   Theory: Robotic arm manipulators are used in various industry verticals such as automotive, electronics, warehouses and logistic Read more

### Solving 2nd order ODE Gaurav Samanta · 2019-12-10 08:14:29

Objective: The objective of this report is the simulate the transient behaviour of a simple pendulum and the create the animation of its motion for a given time interval Theory: The following equation (Ordinary Differential Equation) for the position of the bob w. Read more

### Steps involved in any CFD Simulations & Industrial Applications of CFD Gaurav Samanta · 2019-11-09 05:13:29

Objective: The objective of this report is to understand the different steps involved in any CFD simulation and the applications of CFD in Medical, Oil & Gas and Construction Industry 1. Steps involved in a CFD Simulation  Step 1. CAD Modelling/Geometry Impor Read more