Week 2 Air standard Cycle
TITLE: AIR STANDARD CYCLE
OBJECTIVE: To write a python code to create PV diagram of an air standard cycle and also to determine the thermal efficiency of an engine.
OTTO CYCLE:
1.Isentropic Compression process(1-2)
2.Constant Volume heat addition(2-3)
3.Isentropic Expansion process (3-4)
4.Constant Volume heat rejection(4-1)
Formulae used:
Here
Vc = volume of compression
rc = compression ratio
R = (2*stroke)/connecting rod
PROCEDURE:
- At first I open sublime text and start to write the program.
- Then import the libraries i.e math and matplotlib
- Then I use define function to define bore,stroke,connecting rod,compression ratio,start crank angle,end crank angle.
- Then I find out the volume of stroke and volume of compression using formulae.
- Then I use for loop and append operation to calculate the V in above formula which is nothing but volume trace which we need to find out to plot the diagram.
- Now I define the geometric parameters and done some volumetric computation.
- Then I solve for state point 2 and find the values of T2 and P compression.
- Then I solve for state point 3 and find out the values of p expansion.
- Then I solve for state point 4 and find out the value of T4.
- Then I use plot option to plot the values of volume and pressure to get PV diagram.
- Then I use the formula for thermal efficiency to find out the efficiency of engine.
#otto cycle simulator import math import matplotlib.pyplot as plt def engine_kinematics(bore,stroke,con_rod,cr,start_crank,end_crank): # geometric parametrs a = stroke/2 R = con_rod/a #volumetric parametrs v_s = (math.pi/4)*pow(bore,2)*stroke v_c = v_s/(cr-1) s_c = math.radians(start_crank) e_c = math.radians(end_crank) num_values = 50 dtheta = (e_c - s_c)/(num_values - 1) v = [] for i in range(0,num_values): theta = s_c + 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 #inputs p1 = 101325 t1 = 500 gamma = 1.4 t3 = 2300 #geometric parametrs bore = 0.1 stroke = 0.1 con_rod = 0.15 cr = 8 #volumetric computation 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 #p2v2^gamma=p1vi^gamma p2 = p1*pow(v1,gamma)/pow(v2,gamma) #p2v2/t2 = p1v1/t1|rhs = p1v1/t1|p2v2/t2 = rhs|t2=p2v2/rhs rhs = p1*v1/t1 t2 = p2*v2/rhs V_compression = engine_kinematics(bore,stroke,con_rod,cr,180,0) constant = p1*pow(v1,gamma) P_compression = [] for v in V_compression: P_compression.append(constant/pow(v,gamma)) #state point 3 v3 = v2 #p3v3/t3 = p2v2/t2|rhs = p2v2/t2|p3=rhs*t3/v3 rhs = p2*v2/t2 p3 = rhs*t3/v3 V_expansion = engine_kinematics(bore,stroke,con_rod,cr,0,180) constant = p3*pow(v3,gamma) P_expansion = [] for v in V_expansion: P_expansion.append(constant/pow(v,gamma)) #state point 4 v4 = v1 #p4v4^gamma = p3v3^gamma p4 = p3*pow(v3,gamma)/pow(v4,gamma) #p4v4/t4 = rhs t4 = p4*v4/rhs plt.plot([v2,v3],[p2,p3]) plt.plot(V_compression,P_compression) plt.plot(V_expansion,P_expansion) plt.plot([v4,v1],[p4,p1]) plt.show() #thernal efficiency(n) n = 1 - (pow(cr,(1 - gamma))) print(n)
CODE IMAGE
RESULTS:
- The thermal efficiency of the engine is found to be 56% when the value of compression ration is 8.
CONCLUSION : This code can be modify and use to evaluate Rankine cycle also.