Week 6 - Data analysis
1. AIM:- Write a programme read data from the file containing the engine's data and plot PV diagram.
2. BODY:-
import matplotlib.pyplot as plt
import numpy as np
from numpy import trapz
import time
# Basic Initilization
line_count =1
crank = []
volume = []
# FILE PARSING STARTS HERE
try :
open('engine_data.out')
except :
print('File not recognized. Please provide a valid CONVERGE output fileFile not recognized. Please provide a valid CONVERGE output file"')
for line in open('engine_data.out'):
if '#' not in line:
crank.append(float(line.split()[0]))
volume.append(float(line.split()[7]))
line_count = line_count +1
#figure
plt.plot(crank, volume,linewidth=3)
plt.xlabel('CRANK')
plt.ylabel('VOLUME')
plt.title('PLOT BETWEEN CRANK AND VOLUME')
plt.show()
# AREA UNDER PV DIAGRAM
volume = []
pressure = []
for k in open('engine_data.out','r'):
if '#' not in k:
pressure.append(float(k.split()[1]))
volume.append(float(k.split()[7]))
# calculating area under pv diagram
area = np.trapz(pressure,volume)
print('Area under PV diagram',area)
#calculating Power
rpm = 1500
power = area * 1e+06 * rpm/1500
print('Power output of the engine',power,'kw')
##calculating specific fuel consumption
fuel_per_stroke = 20*1e-06
mass_flow_rate = 2.99*1e-10
specific_fuel_consumption = mass_flow_rate/(power)
print('The specific fuel consumption is',specific_fuel_consumption,'g/kw')
plt.plot(volume,pressure)
plt.xlabel("VOLUME")
plt.ylabel("PRESSURE")
plt.show()
STEPS TAKEN WRITE A PROGRAMME
- Get an empty array for crank and volume.
- Give a condition for reading the file.
- use append the command to store a value in crank and volume.
- plot the result between crank and volume. Labels it.
- then put get empty array for pressure and volume
- again use append command for storing values in Array.
- calculate the area, power and specific fuel consumption.
- Plot the graph between pressure and volume. and label it
PLOT
PLOT
RESULT
3.CONCLUSION
With this we can store any value.