clear all
close all
clc
f1 = fopen('THERMO.dat','r')
fgetl(f1)
Golbal_Temperature_Ranges = fgetl(f1)

Global_Temperatures = strsplit(Golbal_Temperature_Ranges, ' ')

Global_Low_Temperature = str2num(Global_Temperatures{2})
Global_Medium_Temperature = str2num(Global_Temperatures{3})
Global_High_Temperature = str2num(Global_Temperatures{4})

fgetl(f1)
fgetl(f1)
fgetl(f1)

Data_of_Line_1 = fgetl(f1);

Split = strsplit(Data_of_Line_1);
Species = Split{1}
Low_Temperature = Split{end-3}
Medium_Temperature = Split{end-1}
High_Temperature = Split{end-2}

Data_of_Line_2 = fgetl(f1);

Splitting = findstr(Data_of_Line_2, 'E');

Co_efficient_1 = Data_of_Line_2(1: Splitting(1)+3)
Co_eff_1 = str2num(Co_efficient_1)

Co_efficient_2 = Data_of_Line_2(Splitting(1)+4: Splitting(2)+3);
Co_eff_2 = str2num(Co_efficient_2);
Co_efficient_3 = Data_of_Line_2(Splitting(2)+4: Splitting(3)+3);
Co_eff_3 = str2num(Co_efficient_3);
Co_efficient_4 = Data_of_Line_2(Splitting(3)+4: Splitting(4)+3);
Co_eff_4 = str2num(Co_efficient_4);
Co_efficient_5 = Data_of_Line_2(Splitting(4)+4: Splitting(5)+3);
Co_eff_5 = str2num(Co_efficient_5);

Data_of_Line_3 = fgetl(f1);

Co_efficient_6 = Data_of_Line_3(1: Splitting(1)+3);
Co_eff_6 = str2num(Co_efficient_6);
Co_efficient_7 = Data_of_Line_3(Splitting(1)+4: Splitting(2)+3);
Co_eff_7 = str2num(Co_efficient_7);
Co_efficient_8 = Data_of_Line_3(Splitting(2)+4: Splitting(3)+3);
Co_eff_8 = str2num(Co_efficient_8);
Co_efficient_9 = Data_of_Line_3(Splitting(3)+4: Splitting(4)+3);
Co_eff_9 = str2num(Co_efficient_9);
Co_efficient_10 = Data_of_Line_3(Splitting(4)+4: Splitting(5)+3);
Co_eff_10 = str2num(Co_efficient_10);

Data_of_Line_4 = fgetl(f1);
Co_efficient_11 = Data_of_Line_4(1: Splitting(1)+3);
Co_eff_11 = str2num(Co_efficient_11);
Co_efficient_12 = Data_of_Line_4(Splitting(1)+4: Splitting(2)+3);
Co_eff_12 = str2num(Co_efficient_12);
Co_efficient_13 = Data_of_Line_4(Splitting(2)+4: Splitting(3)+3);
Co_eff_13 = str2num(Co_efficient_13);
Co_efficient_14 = Data_of_Line_4(Splitting(3)+4: Splitting(4)+3);
Co_eff_14 = str2num(Co_efficient_14);

for i = 1: inf
% Reading the line 1, Which indicates the species as Mono-Atomic oxygen:-
Data_of_Line_1 = fgetl(f1);
if strcmp(Data_of_Line_1, 'END')
break
end

function [Cp, H, S] = Function_for_CPHS(Co_eff_1, Co_eff_2, Co_eff_3, Co_eff_4, Co_eff_5, Co_eff_6, Co_eff_7,T)
R = 8.314;
Cp = (Co_eff_1 + (Co_eff_2*T) + (Co_eff_3*T^2) + (Co_eff_4*T^3) + (Co_eff_5*T^4)) * R;
H = ((Co_eff_1)+(Co_eff_2*(T/2))+(Co_eff_3*(T^2/3))+(Co_eff_4*(T^3/4))+(Co_eff_5*(T^4/5))+(Co_eff_6/T))*R*T;
S = (((Co_eff_1)*log(T))+(Co_eff_2*(T))+(Co_eff_3*(T^2/2))+(Co_eff_4*(T^3/3))+(Co_eff_5*(T^4/4))+Co_eff_7)*R;
end
Temp = linspace( Low_Temperature,High_Temperature, 1000)
for j = 1:length(Temp)
if Temp(j) > Medium_Temperature
[Cp(j), H(j), S(j)] = Function_for_CPHS(Co_eff_1, Co_eff_2, Co_eff_3, Co_eff_4, Co_eff_5, Co_eff_6, Co_eff_7, Temp(j));
else
[Cp(j), H(j), S(j)] = Function_for_CPHS( Co_eff_8, Co_eff_9, Co_eff_10, Co_eff_11, Co_eff_12, Co_eff_13, Co_eff_14, Temp(j));
end
end
I = ['C','H', 'N', 'O', 'A'];
At_wt = [12, 1, 14, 16, 40];
Molecular_weight = 0;
for k = 1:length(Species)
for l = 1: length(I)
if strcmp(Species(k), I(l)) == 1
position = l;
Molecular_weight = At_wt(l)+Molecular_weight;
end
end
x = str2double(Species(k));
if x > 1
Molecular_weight = Molecular_weight +((x-1)*At_wt(position));
end
end