Week 2 Air standard Cycle
ASSIGNMENT-2 : PLOT A GRAPH FOR AIR STANDARD CYCLE
OBJECTIVE : WRITE A CODE TO PLOT A GRAPH FOR AIR STANDARFD CYCLE AND CALCULATE EFFICIENCY
PROCEDURE:-
- Step 1 : Import the libraries required for ploting and mathematical module provides access to the mathematical functions
- import matplotlib.pyplot as plt
import math
import numpy as np
- Step 2 : Define input variables
- #Pressure
- p1 = 101325
#TemperaturE at starting
t1 = 500 - #Heat Capacity ratio
gamma = 1.4 - bore = 0.1
stroke = 0.1 - CONNECTION ROD
con_rod =0.15 - COMPRESSION RATIO
cr = 8 - a = stroke/2
R = con_rod/a
- p1 = 101325
- Step 3: Define funtion to calculate the Engine kinematics ie .Volume in Isentropic compression and Expansion process
-
# Engine kinematics
def engine_kinematice(bore,stroke,con_rod,cr,start_crank, end_crank):a = stroke/2
R = con_rod/a
theta = math.radians(0)
#Volume parameters
v_s = (math.pi/4)*pow(bore,2)*stroke
v_c = v_s/(cr-1)
sc = math.radians(start_crank)
ec = math.radians(end_crank)
num_values = 50dtheta = (ec-sc)/(num_values-1)
V = []
for i in range (0,num_values):
theta =sc + i*dtheta
term1 = 0.5*(cr-1)
term2 = R + 1 - math.cos(theta)
term3 = pow(R,2) - pow(math.sin(theta),2)
term3 = pow(term3,0.5)V.append((1 + term1*(term2-term3) )*v_c)
return V
-
- Step 4 : Calculate the 4 points required at all for process mainly for ploting pressure and volume graph.
-
v_s = (math.pi/4)*pow(bore,2)*stroke
v_c = v_s/(cr-1)
v1 =v_c+v_s#state point 2
v2 = v_c# p1v1^gamma = p2v2^gamma
p2 = p1*pow(v1,gamma)/pow(v2,gamma)
#p2v2/t2 = p1v1/t1 , rhs = p2v2/t2 ,rhs = p1v1/t1
rhs = p1*v1/t1
t2 = p2*v2/rhs
V_compression = engine_kinematice(bore,stroke,con_rod,cr,180, 0)
constant = p1*pow(v1,gamma)
#P_compression*V_compression= constant
P_compression = []
for v in V_compression:
P_compression.append(constant/pow(v,gamma))#state point 3
t3 = 2300
v3 =v2
# p3v3/t3=p2v2/t2rhs = p2*v2/t2
p3 = rhs*t3/v3#state point 4
v4 = v1#p4v4^gama =p3v3^gamma
p4 = p3*pow(v3,gamma)/pow(v4,gamma)#p4v4/t4 =rhs
t4 = p4*v4/rhsV_expansion = engine_kinematice(bore,stroke,con_rod,cr,0, 180)
constant = p3*pow(v3,gamma)
#P_expansion*V_expansion= constant
P_expansion = []
for v in V_expansion:
P_expansion.append(constant/pow(v,gamma))
-
- Step 5: Efficiency calculation
-
# Efficiency Calculation
E = 1-(1/(pow(cr,(gamma-1))))
print(E)
- Step 6: Plotting the Pressure and Volume Graph
- plt.plot([v2,v3],[p2,p3])
plt.plot(V_expansion,P_expansion)
plt.plot([v1,v4],[p1,p4])
plt.xlabel('Volume')
plt.ylabel('Pressure')
plt.title('P VS V GRAPH FOR AIR STANDARD CYCLE')
plt.legend(['ISENTROPIC COMPRESSION','ISOCHORIC COMPRESSION','ISENTROPIC EXPANSION','ISOCHORIC EXPANSION'])
plt.show()
- Full code for program given below:-
"""
OTTO CYCLE
"""
import matplotlib.pyplot as plt
import math
import numpy as np
# Defining Input Variables
#pressure
p1 = 101325
t1 = 500
gamma = 1.4
bore = 0.1
stroke = 0.1
con_rod =0.15
cr = 8
a = stroke/2
R = con_rod/a
# Engine kinematics
def engine_kinematice(bore,stroke,con_rod,cr,start_crank, end_crank):
a = stroke/2
R = con_rod/a
theta = math.radians(0)
#Volume parameters
v_s = (math.pi/4)*pow(bore,2)*stroke
v_c = v_s/(cr-1)
sc = math.radians(start_crank)
ec = math.radians(end_crank)
num_values = 50
dtheta = (ec-sc)/(num_values-1)
V = []
for i in range (0,num_values):
theta =sc + i*dtheta
term1 = 0.5*(cr-1)
term2 = R + 1 - math.cos(theta)
term3 = pow(R,2) - pow(math.sin(theta),2)
term3 = pow(term3,0.5)
V.append((1 + term1*(term2-term3) )*v_c)
return V
v_s = (math.pi/4)*pow(bore,2)*stroke
v_c = v_s/(cr-1)
v1 =v_c+v_s
#state point 2
v2 = v_c
# p1v1^gamma = p2v2^gamma
p2 = p1*pow(v1,gamma)/pow(v2,gamma)
#p2v2/t2 = p1v1/t1 , rhs = p2v2/t2 ,rhs = p1v1/t1
rhs = p1*v1/t1
t2 = p2*v2/rhs
V_compression = engine_kinematice(bore,stroke,con_rod,cr,180, 0)
constant = p1*pow(v1,gamma)
#P_compression*V_compression= constant
P_compression = []
for v in V_compression:
P_compression.append(constant/pow(v,gamma))
#state point 3
t3 = 2300
v3 =v2
# p3v3/t3=p2v2/t2
rhs = p2*v2/t2
p3 = rhs*t3/v3
#state point 4
v4 = v1
#p4v4^gama =p3v3^gamma
p4 = p3*pow(v3,gamma)/pow(v4,gamma)
#p4v4/t4 =rhs
t4 = p4*v4/rhs
V_expansion = engine_kinematice(bore,stroke,con_rod,cr,0, 180)
constant = p3*pow(v3,gamma)
#P_expansion*V_expansion= constant
P_expansion = []
for v in V_expansion:
P_expansion.append(constant/pow(v,gamma))
# Efficiency Calculation
E = 1-(1/(pow(cr,(gamma-1))))
print(E)
plt.plot([v2,v3],[p2,p3])
plt.plot(V_expansion,P_expansion)
plt.plot([v1,v4],[p1,p4])
plt.xlabel('Volume')
plt.ylabel('Pressure')
plt.title('P VS V GRAPH FOR AIR STANDARD CYCLE')
plt.legend(['ISENTROPIC COMPRESSION','ISOCHORIC COMPRESSION','ISENTROPIC EXPANSION','ISOCHORIC EXPANSION'])
plt.show()
Result
- Graph for AIR STANDARD CYCLE FOR PRESSURE VS VOLUME

- EFFICIENCY CALCULATION
