Challenge

Project 1 - Parsing NASA thermodynamic data

                Parsing NASA thermodynamic data

Aim:- 

To write a code in Matlab to parse the NASA thermodynamic data file and then calculate the thermodynamic properties of various gas species.

Coding Functions:

1. Specific Heat:  

It is the amount of energy that must be added, in the form of heat, to one unit of mass of the substance in order to cause an increase of one unit in its temperature.

Cp = (a1 + a2 T + a3 T^2 + a4 T^3 + a5 T^4)*R

Function for Specific heat

% Specific heat calculation function
 
function Cp = Specificheat(a1,a2,a3,a4,a5,a8,a9,a10,a11,a12,Temp,R,global_medium_temp)
% Comparing with global temperature
% If less than global temperature - minimum coefficients are taken
if Temp <= global_medium_temp
Cp = R*(a8 + (a9*Temp) + (a10*(Temp).^2) + (a11*(Temp).^3) + (a12*(Temp).^4));
else
Cp = R*(a1 + (a2*Temp) + (a3*(Temp).^2) + (a4*(Temp).^3) + (a5*(Temp).^4));
% Else maximum coefficients are taken
end
 
% Specific heat calculation function
 
function Cp = Specificheat(a1,a2,a3,a4,a5,a8,a9,a10,a11,a12,Temp,R,global_medium_temp)          
% Comparing with global temperature
% If less than global temperature - minimum coefficients are taken
if  Temp <= global_medium_temp
Cp = R*(a8 + (a9*Temp) + (a10*(Temp).^2) + (a11*(Temp).^3) + (a12*(Temp).^4)); 
else
Cp = R*(a1 + (a2*Temp) + (a3*(Temp).^2) + (a4*(Temp).^3) + (a5*(Temp).^4));
% Else maximum coefficients are taken
end
 

2. Entropy:

Entropy, the measure of a system’s thermal energy per unit temperature that is unavailable for doing useful work. Because work is obtained from ordered molecular motion, the amount of entropy is also a measure of the molecular disorder, or randomness, of a system. The concept of entropy provides deep insight into the direction of spontaneous change for many everyday phenomena.

S = (a1 lnT + a2 T + a3 T^2 /2 + a4 T^3 /3 + a5 T^4 /4 + a7)*R

Function for Entropy:

% Entropy Calculation function
function S = Entropy_calc(a1,a2,a3,a4,a5,a7,a8,a9,a10,a11,a12,a14,Temp,R,global_medium_temp)
% Comparing with global temperature
% If less than global temperature - minimum coefficients are taken
 
if Temp <= global_medium_temp
S = R.*(a8.*log(Temp) + (a9.*Temp) + (a10*((Temp).^2)/2) + (a11*((Temp).^3)/3) + (a12*((Temp).^4)/4) + a14);
else
 
% Else - maximum coefficients are taken
S = R.*(a1.*log(Temp) + (a2.*Temp) + (a3*((Temp).^2)/2) + (a4*((Temp).^3)/3) + (a5*((Temp).^4)/4) + a7);
end
 
% Entropy Calculation function

function S = Entropy_calc(a1,a2,a3,a4,a5,a7,a8,a9,a10,a11,a12,a14,Temp,R,global_medium_temp)         
% Comparing with global temperature
% If less than global temperature - minimum coefficients are taken
 
    if Temp <= global_medium_temp
        S = R.*(a8.*log(Temp) + (a9.*Temp) + (a10*((Temp).^2)/2) + (a11*((Temp).^3)/3) + (a12*((Temp).^4)/4) + a14);
    else
 
% Else - maximum coefficients are taken
        S = R.*(a1.*log(Temp) + (a2.*Temp) + (a3*((Temp).^2)/2) + (a4*((Temp).^3)/3) + (a5*((Temp).^4)/4) + a7);
end

3. Enthalpy:

Enthalpy, a property of a thermodynamic system, is equal to the system's internal energy plus the product of its pressure and volume. In a system enclosed so as to prevent the mass transfer, for processes at constant pressure, the heat absorbed or released equals the change in enthalpy.

H = (a1 + a2 T /2 + a3 T^2 /3 + a4 T^3 /4 + a5 T^4 /5 + a6/T)*R*T

Function for Enthalpy:

% Enthalpy Calculation function
function H = Enthalpy(a1,a2,a3,a4,a5,a6,a8,a9,a10,a11,a12,a13,Temp,R,global_medium_temp)
% Comparing with global temperature
% If less than global temperature - minimum coefficients are taken
 
if Temp <= global_medium_temp
H = R*Temp.*(a8 + ((a9*Temp)/2) + ((a10*(Temp).^2)/3) + ((a11*(Temp).^3)/4) + ((a12*(Temp).^4)/5) +((a13./Temp)));
else
% Else maximum coefficients are taken
 
H = R*Temp.*(a1 + ((a2*Temp)/2) + ((a3*(Temp).^2)/3) + ((a4*(Temp).^3)/4) + ((a5*(Temp).^4)/5) +((a6./Temp)));
end
 
% Enthalpy Calculation function

function H = Enthalpy(a1,a2,a3,a4,a5,a6,a8,a9,a10,a11,a12,a13,Temp,R,global_medium_temp)    
% Comparing with global temperature
% If less than global temperature - minimum coefficients are taken
 
       if Temp <= global_medium_temp
        H = R*Temp.*(a8 + ((a9*Temp)/2) + ((a10*(Temp).^2)/3) + ((a11*(Temp).^3)/4) + ((a12*(Temp).^4)/5) +((a13./Temp)));
       else
% Else maximum coefficients are taken 
           
        H = R*Temp.*(a1 + ((a2*Temp)/2) + ((a3*(Temp).^2)/3) + ((a4*(Temp).^3)/4) + ((a5*(Temp).^4)/5) +((a6./Temp)));
end

4. Molecular Weight:

The molecular mass is the mass of a given molecule: it is measured in daltons. Different molecules of the same compound may have different molecular masses because they contain different isotopes of an element.

Function for Molecular Weight:

% Molecular Weight Calculation function
function Molecularweight = Molecular_weight(Species_SP)
% Standard - Atomic Name
atomic_name = ['H','C','O','N','A'];
% Hydrogen, Carbon, Oxygen, Nitrogen, Argon
 
fprintf('Molecular Weight of ');
fprintf(Species_SP);
fprintf(' : ');
% Standard Atomic Number
Atomic_Weight = [1.008 12.011 15.999 14.007 39.948];
% Starting Range of Molecule
Molecularweight = 0;
 
% Adding Atomic number to obtain particular value
for i = 1:length(Species_SP)
for j = 1:length(atomic_name)
if strcmpi(Species_SP(i),atomic_name(j))
Molecularweight = Molecularweight +Atomic_Weight(j);
position = j;
end
end
n = str2num(Species_SP(i));
 
if n>1
 
Molecularweight = Molecularweight + Atomic_Weight(position)*(n-1);
 
end
end
fprintf('molecular weight %s :',Species_SP);
fprintf('%d',Molecularweight);
disp(' ');
end
 
% Molecular Weight Calculation function

function Molecularweight = Molecular_weight(Species_SP)
         % Standard - Atomic Name
         atomic_name = ['H','C','O','N','A'];             
         % Hydrogen, Carbon, Oxygen, Nitrogen, Argon
         
         fprintf('Molecular Weight of ');
         fprintf(Species_SP);
         fprintf(' : ');
         % Standard Atomic Number
         Atomic_Weight = [1.008 12.011 15.999 14.007 39.948];     
         % Starting Range of Molecule           
         Molecularweight = 0;                                   
        
         % Adding Atomic number to obtain particular value
        for i = 1:length(Species_SP)
            for j = 1:length(atomic_name)
                if strcmpi(Species_SP(i),atomic_name(j))
                        Molecularweight = Molecularweight +Atomic_Weight(j);
                    position = j;
                end
            end
            n = str2num(Species_SP(i));
            
            if n>1
            
                Molecularweight = Molecularweight + Atomic_Weight(position)*(n-1);
            
            end
        end
            fprintf('molecular weight %s :',Species_SP);
            fprintf('%d',Molecularweight);
            disp(' ');      
end
5. Parsing NASA thermodynamic data
 
clear all
close all
clc
% Make directory
mkdir 'C:\Users\aleem\OneDrive\Desktop\MATLAB\Parsing NASA thermodynamic'
% Reading Data file - NASA Thermodynamic
% Open a file & 'r' Open the file for reading
f1=fopen('THERMO.dat','r')
gt=fgetl(f1);
% Obtaing Temperatures - by Reading Header Information
global_temp=fgetl(f1);
% Spliting
t=strsplit(global_temp);
% Converting string cells to numbers using str2num,
global_low_temp=str2num(t{2});
global_medium_temp=str2num(t{3});
global_high_temp=str2num(t{4});
% Temperature range & Gas Constant
% Temperature Range assumed
Temp=linspace(global_low_temp,global_high_temp,1000);
% Universal Gas Constant J/(mol-K)
R = 8.314;
 
% skipping three comment lines in the file
for i = 1:3
gt=fgetl(f1);
end
for i = 1:53
gt=fgetl(f1);
A=strsplit(gt,' ');
Species_SP=(A{1})
line_1=fgetl(f1) ;
a=strfind(line_1,'E');
% Extracting higher and lower temperature coefficients
% % Extracting FIRST 7 coefficients i.e HIGH-temperature coefficients
a1=line_1(1:a(1)+3);
a1=str2num(a1); %1
a2=line_1(a(1)+4:a(2)+3);
a2=str2num(a2) ; %2
a3=line_1(a(2)+4:a(3)+3);
a3=str2num(a3) ; %3
a4=line_1(a(3)+4:a(4)+3);
a4=str2num(a4); %4
a5=line_1(a(4)+4:a(5)+3);
a5=str2num(a5) ; 5%
line_2=fgetl(f1);
b=strfind(line_1,'E');;
a6=line_2(1:b(1)+3);
a6=str2num(a6) ; %6
a7=line_2(a(1)+4:b(2)+3);
a7=str2num(a7); 7%
% Extracting SECOND 7 coefficients - LOW-temperature coefficients
a8=line_2(b(2)+4:b(3)+3);
a8=str2num(a8); %8
a9=line_2(b(3)+4:b(4)+3);
a9=str2num(a9) ; .%
a10=line_2(b(4)+4:b(5)+3);
a10=str2num(a10) ; %10
line_3=fgetl(f1);
c=strfind(line_1,'E');
a11=line_3(1:c(1)+3);
a11=str2num(a11); %11
a12=line_3(c(1)+4:c(2)+3);
a12=str2num(a12); %12
a13=line_3(c(2)+4:c(3)+3);
a13=str2num(a13); %13
a14=line_3(c(3)+4:c(4)+3);
a14=str2num(a14); %14
% Specific heat calculation
Cp = Specificheat(a1,a2,a3,a4,a5,a8,a9,a10,a11,a12,Temp,R,global_medium_temp);
 
% Enthalpy calculation
H = Enthalpy(a1,a2,a3,a4,a5,a6,a8,a9,a10,a11,a12,a13,Temp,R,global_medium_temp);
 
% Entropy calculation
S = Entropy_calc(a1,a2,a3,a4,a5,a7,a8,a9,a10,a11,a12,a14,Temp,R,global_medium_temp);
% Calculating molecular weight of species
Molecularweight(i) = Molecular_weight(Species_SP);
 
% Read & Write Molecular list
Molecular_list = fopen('Molecular weight.txt','a+');
fprintf( Molecular_list,'Molecular weight of %s is %d \n',Species_SP,Molecularweight);
fclose(Molecular_list);
% plotting(CP,H,S,Temp,Species_SP)
% Saving as a folder
 
cur_dir=pwd;
mkdir(Species_SP);
cd(Species_SP);
 
% Plot 1, Specific heat (CP) vs Temperature Range (Temp)
 
figure(1)
plot(Temp,Cp,'linewidth',2,'color','r');
xlabel('Temperature [K]');
ylabel('Specific Heat [kJ]');
title(sprintf('Varying Specific Heat with Temperature Range of %s',Species_SP));
grid on
saveas(figure(1),'Specific Heat.jpg');
 
% Plot 2, Enthalpy (H) vs Temperature Range (Temp)
 
figure(2)
plot(Temp,H,'linewidth',2,'color','g');
xlabel('Temperature [K]');
ylabel('Enthalpy in [kJ/(mol)]');
title(sprintf('Varying Enthalpy with Temperature Range of %s',Species_SP));
grid on
saveas(figure(2),'Ethalpy.jpg');
 
% Plot 3, Entropy (S) vs Temperature Range (Temp)
 
figure(3)
plot(Temp,S,'linewidth',2,'color','b');
xlabel('Temperature [K]');
ylabel('Entropy in [kJ/(mol-K)]');
title(sprintf('Varying Entropy with Temperature Range of %s',Species_SP));
grid on
saveas(figure(3),'Entropy.jpg');
 
cd(cur_dir);
 
% Molecular weight
 
M = Molecular_weight(Species_SP)
f2 = fopen('molecular mass','w');
fprintf('%s n %s n %f n','species','Molecular mass',M)
fclose(f2)
end
% Parsing NASA thermodynamic data

clear all
close all
clc

% Make directory
mkdir 'C:\Users\aleem\OneDrive\Desktop\MATLAB\Parsing NASA thermodynamic'

%  Reading Data file - NASA Thermodynamic
% Open a file & 'r' Open the file for reading 
f1=fopen('THERMO.dat','r')
gt=fgetl(f1);

% Obtaing Temperatures - by Reading Header Information
global_temp=fgetl(f1);

% Spliting
t=strsplit(global_temp);

% Converting string cells to numbers using str2num,
global_low_temp=str2num(t{2});
global_medium_temp=str2num(t{3});
global_high_temp=str2num(t{4});

% Temperature range & Gas Constant
    % Temperature Range assumed
Temp=linspace(global_low_temp,global_high_temp,1000);
% Universal Gas Constant J/(mol-K)
    R = 8.314;   
    
% skipping three comment lines in the file
for i = 1:3
    gt=fgetl(f1);
end

 for i = 1:53
gt=fgetl(f1);
A=strsplit(gt,' ');
Species_SP=(A{1})


line_1=fgetl(f1)  ;        
a=strfind(line_1,'E');

% Extracting higher and lower temperature coefficients

% % Extracting FIRST 7 coefficients i.e HIGH-temperature coefficients 
a1=line_1(1:a(1)+3);
a1=str2num(a1);              %1
a2=line_1(a(1)+4:a(2)+3);
a2=str2num(a2) ;             %2
a3=line_1(a(2)+4:a(3)+3);
a3=str2num(a3)  ;            %3
a4=line_1(a(3)+4:a(4)+3);
a4=str2num(a4);              %4
a5=line_1(a(4)+4:a(5)+3);
a5=str2num(a5)  ;            %5

line_2=fgetl(f1);
b=strfind(line_1,'E');;
a6=line_2(1:b(1)+3);
a6=str2num(a6)  ;            %6
a7=line_2(a(1)+4:b(2)+3);
a7=str2num(a7);              %7

 % Extracting SECOND 7 coefficients - LOW-temperature coefficients
a8=line_2(b(2)+4:b(3)+3);         
a8=str2num(a8);              %8
a9=line_2(b(3)+4:b(4)+3);
a9=str2num(a9) ;             %9
a10=line_2(b(4)+4:b(5)+3);
a10=str2num(a10) ;           %10


line_3=fgetl(f1);
c=strfind(line_1,'E');

a11=line_3(1:c(1)+3);
a11=str2num(a11);               %11
a12=line_3(c(1)+4:c(2)+3);
a12=str2num(a12);               %12
a13=line_3(c(2)+4:c(3)+3);
a13=str2num(a13);               %13
a14=line_3(c(3)+4:c(4)+3);
a14=str2num(a14);               %14

% Specific heat calculation
    Cp = Specificheat(a1,a2,a3,a4,a5,a8,a9,a10,a11,a12,Temp,R,global_medium_temp);
 
    % Enthalpy calculation
    H = Enthalpy(a1,a2,a3,a4,a5,a6,a8,a9,a10,a11,a12,a13,Temp,R,global_medium_temp);
 
    % Entropy calculation
    S = Entropy_calc(a1,a2,a3,a4,a5,a7,a8,a9,a10,a11,a12,a14,Temp,R,global_medium_temp);

    % Calculating molecular weight of species
    Molecularweight(i) = Molecular_weight(Species_SP);
    
    % Read & Write Molecular list
     Molecular_list = fopen('Molecular weight.txt','a+');
         fprintf( Molecular_list,'Molecular weight of %s is %d \n',Species_SP,Molecularweight);
         fclose(Molecular_list);

     % plotting(CP,H,S,Temp,Species_SP)
        % Saving as a folder
 
           cur_dir=pwd;
           mkdir(Species_SP);
           cd(Species_SP);
 
        % Plot 1, Specific heat (CP) vs Temperature Range (Temp)
 
        figure(1)
        plot(Temp,Cp,'linewidth',2,'color','r');
        xlabel('Temperature  [K]');
        ylabel('Specific Heat [kJ]');
        title(sprintf('Varying Specific Heat with Temperature Range of %s',Species_SP));
        grid on
        saveas(figure(1),'Specific Heat.jpg');
 
        % Plot 2, Enthalpy (H) vs Temperature Range (Temp)
 
        figure(2)
        plot(Temp,H,'linewidth',2,'color','g');
        xlabel('Temperature [K]');
        ylabel('Enthalpy in [kJ/(mol)]');
        title(sprintf('Varying Enthalpy with Temperature Range of %s',Species_SP));
        grid on
        saveas(figure(2),'Ethalpy.jpg');
 
        % Plot 3, Entropy (S) vs Temperature Range (Temp)
 
        figure(3)
        plot(Temp,S,'linewidth',2,'color','b');
        xlabel('Temperature [K]');
        ylabel('Entropy in [kJ/(mol-K)]');
        title(sprintf('Varying Entropy with Temperature Range of %s',Species_SP));
        grid on
        saveas(figure(3),'Entropy.jpg');
 
        cd(cur_dir);            
 
        % Molecular weight
        
        M = Molecular_weight(Species_SP)
        f2 = fopen('molecular mass','w');
        fprintf('%s n %s n %f n','species','Molecular mass',M)
        fclose(f2)
end
  •  ScreenShot of output 

  • command window(Output of the Main code)
f1 =

     3


Species_SP =

    'O'

Molecular Weight of O : molecular weight O :1.599900e+01 
Molecular Weight of O : molecular weight O :1.599900e+01 

M =

   15.9990

species n Molecular mass n 15.999000 n
ans =

     0


Species_SP =

    'O2'

Molecular Weight of O2 : molecular weight O2 :3.199800e+01 
Molecular Weight of O2 : molecular weight O2 :3.199800e+01 

M =

   31.9980

species n Molecular mass n 31.998000 n
ans =

     0


Species_SP =

    'H'

Molecular Weight of H : molecular weight H :1.008000e+00 
Molecular Weight of H : molecular weight H :1.008000e+00 

M =

    1.0080

species n Molecular mass n 1.008000 n
ans =

     0


Species_SP =

    'H2'

Molecular Weight of H2 : molecular weight H2 :2.016000e+00 
Molecular Weight of H2 : molecular weight H2 :2.016000e+00 

M =

    2.0160

species n Molecular mass n 2.016000 n
ans =

     0


Species_SP =

    'OH'

Molecular Weight of OH : molecular weight OH :1.700700e+01 
Molecular Weight of OH : molecular weight OH :1.700700e+01 

M =

   17.0070

species n Molecular mass n 17.007000 n
ans =

     0


Species_SP =

    'H2O'

Molecular Weight of H2O : molecular weight H2O :1.801500e+01 
Molecular Weight of H2O : molecular weight H2O :1.801500e+01 

M =

   18.0150

species n Molecular mass n 18.015000 n
ans =

     0


Species_SP =

    'HO2'

Molecular Weight of HO2 : molecular weight HO2 :3.300600e+01 
Molecular Weight of HO2 : molecular weight HO2 :3.300600e+01 

M =

   33.0060

species n Molecular mass n 33.006000 n
ans =

     0


Species_SP =

    'H2O2'

Molecular Weight of H2O2 : molecular weight H2O2 :3.401400e+01 
Molecular Weight of H2O2 : molecular weight H2O2 :3.401400e+01 

M =

   34.0140

species n Molecular mass n 34.014000 n
ans =

     0


Species_SP =

    'C'

Molecular Weight of C : molecular weight C :1.201100e+01 
Molecular Weight of C : molecular weight C :1.201100e+01 

M =

   12.0110

species n Molecular mass n 12.011000 n
ans =

     0


Species_SP =

    'CH'

Molecular Weight of CH : molecular weight CH :1.301900e+01 
Molecular Weight of CH : molecular weight CH :1.301900e+01 

M =

   13.0190

species n Molecular mass n 13.019000 n
ans =

     0


Species_SP =

    'CH2'

Molecular Weight of CH2 : molecular weight CH2 :1.402700e+01 
Molecular Weight of CH2 : molecular weight CH2 :1.402700e+01 

M =

   14.0270

species n Molecular mass n 14.027000 n
ans =

     0


Species_SP =

    'CH2(S)'

Molecular Weight of CH2(S) : molecular weight CH2(S) :1.402700e+01 
Molecular Weight of CH2(S) : molecular weight CH2(S) :1.402700e+01 

M =

   14.0270

species n Molecular mass n 14.027000 n
ans =

     0


Species_SP =

    'CH3'

Molecular Weight of CH3 : molecular weight CH3 :1.503500e+01 
Molecular Weight of CH3 : molecular weight CH3 :1.503500e+01 

M =

   15.0350

species n Molecular mass n 15.035000 n
ans =

     0


Species_SP =

    'CH4'

Molecular Weight of CH4 : molecular weight CH4 :1.604300e+01 
Molecular Weight of CH4 : molecular weight CH4 :1.604300e+01 

M =

   16.0430

species n Molecular mass n 16.043000 n
ans =

     0


Species_SP =

    'CO'

Molecular Weight of CO : molecular weight CO :2.801000e+01 
Molecular Weight of CO : molecular weight CO :2.801000e+01 

M =

   28.0100

species n Molecular mass n 28.010000 n
ans =

     0


Species_SP =

    'CO2'

Molecular Weight of CO2 : molecular weight CO2 :4.400900e+01 
Molecular Weight of CO2 : molecular weight CO2 :4.400900e+01 

M =

   44.0090

species n Molecular mass n 44.009000 n
ans =

     0


Species_SP =

    'HCO'

Molecular Weight of HCO : molecular weight HCO :2.901800e+01 
Molecular Weight of HCO : molecular weight HCO :2.901800e+01 

M =

   29.0180

species n Molecular mass n 29.018000 n
ans =

     0


Species_SP =

    'CH2O'

Molecular Weight of CH2O : molecular weight CH2O :3.002600e+01 
Molecular Weight of CH2O : molecular weight CH2O :3.002600e+01 

M =

   30.0260

species n Molecular mass n 30.026000 n
ans =

     0


Species_SP =

    'CH2OH'

Molecular Weight of CH2OH : molecular weight CH2OH :3.103400e+01 
Molecular Weight of CH2OH : molecular weight CH2OH :3.103400e+01 

M =

   31.0340

species n Molecular mass n 31.034000 n
ans =

     0


Species_SP =

    'CH3O'

Molecular Weight of CH3O : molecular weight CH3O :3.103400e+01 
Molecular Weight of CH3O : molecular weight CH3O :3.103400e+01 

M =

   31.0340

species n Molecular mass n 31.034000 n
ans =

     0


Species_SP =

    'CH3OH'

Molecular Weight of CH3OH : molecular weight CH3OH :3.204200e+01 
Molecular Weight of CH3OH : molecular weight CH3OH :3.204200e+01 

M =

   32.0420

species n Molecular mass n 32.042000 n
ans =

     0


Species_SP =

    'C2H'

Molecular Weight of C2H : molecular weight C2H :2.503000e+01 
Molecular Weight of C2H : molecular weight C2H :2.503000e+01 

M =

   25.0300

species n Molecular mass n 25.030000 n
ans =

     0


Species_SP =

    'C2H2'

Molecular Weight of C2H2 : molecular weight C2H2 :2.603800e+01 
Molecular Weight of C2H2 : molecular weight C2H2 :2.603800e+01 

M =

   26.0380

species n Molecular mass n 26.038000 n
ans =

     0


Species_SP =

    'C2H3'

Molecular Weight of C2H3 : molecular weight C2H3 :2.704600e+01 
Molecular Weight of C2H3 : molecular weight C2H3 :2.704600e+01 

M =

   27.0460

species n Molecular mass n 27.046000 n
ans =

     0


Species_SP =

    'C2H4'

Molecular Weight of C2H4 : molecular weight C2H4 :2.805400e+01 
Molecular Weight of C2H4 : molecular weight C2H4 :2.805400e+01 

M =

   28.0540

species n Molecular mass n 28.054000 n
ans =

     0


Species_SP =

    'C2H5'

Molecular Weight of C2H5 : molecular weight C2H5 :2.906200e+01 
Molecular Weight of C2H5 : molecular weight C2H5 :2.906200e+01 

M =

   29.0620

species n Molecular mass n 29.062000 n
ans =

     0


Species_SP =

    'C2H6'

Molecular Weight of C2H6 : molecular weight C2H6 :3.007000e+01 
Molecular Weight of C2H6 : molecular weight C2H6 :3.007000e+01 

M =

   30.0700

species n Molecular mass n 30.070000 n
ans =

     0


Species_SP =

    'CH2CO'

Molecular Weight of CH2CO : molecular weight CH2CO :4.203700e+01 
Molecular Weight of CH2CO : molecular weight CH2CO :4.203700e+01 

M =

   42.0370

species n Molecular mass n 42.037000 n
ans =

     0


Species_SP =

    'HCCO'

Molecular Weight of HCCO : molecular weight HCCO :4.102900e+01 
Molecular Weight of HCCO : molecular weight HCCO :4.102900e+01 

M =

   41.0290

species n Molecular mass n 41.029000 n
ans =

     0


Species_SP =

    'HCCOH'

Molecular Weight of HCCOH : molecular weight HCCOH :4.203700e+01 
Molecular Weight of HCCOH : molecular weight HCCOH :4.203700e+01 

M =

   42.0370

species n Molecular mass n 42.037000 n
ans =

     0


Species_SP =

    'H2CN'

Molecular Weight of H2CN : molecular weight H2CN :2.803400e+01 
Molecular Weight of H2CN : molecular weight H2CN :2.803400e+01 

M =

   28.0340

species n Molecular mass n 28.034000 n
ans =

     0


Species_SP =

    'HCN'

Molecular Weight of HCN : molecular weight HCN :2.702600e+01 
Molecular Weight of HCN : molecular weight HCN :2.702600e+01 

M =

   27.0260

species n Molecular mass n 27.026000 n
ans =

     0


Species_SP =

    'HNO'

Molecular Weight of HNO : molecular weight HNO :3.101400e+01 
Molecular Weight of HNO : molecular weight HNO :3.101400e+01 

M =

   31.0140

species n Molecular mass n 31.014000 n
ans =

     0


Species_SP =

    'N'

Molecular Weight of N : molecular weight N :1.400700e+01 
Molecular Weight of N : molecular weight N :1.400700e+01 

M =

   14.0070

species n Molecular mass n 14.007000 n
ans =

     0


Species_SP =

    'NNH'

Molecular Weight of NNH : molecular weight NNH :2.902200e+01 
Molecular Weight of NNH : molecular weight NNH :2.902200e+01 

M =

   29.0220

species n Molecular mass n 29.022000 n
ans =

     0


Species_SP =

    'N2O'

Molecular Weight of N2O : molecular weight N2O :4.401300e+01 
Molecular Weight of N2O : molecular weight N2O :4.401300e+01 

M =

   44.0130

species n Molecular mass n 44.013000 n
ans =

     0


Species_SP =

    'NH'

Molecular Weight of NH : molecular weight NH :1.501500e+01 
Molecular Weight of NH : molecular weight NH :1.501500e+01 

M =

   15.0150

species n Molecular mass n 15.015000 n
ans =

     0


Species_SP =

    'NH2'

Molecular Weight of NH2 : molecular weight NH2 :1.602300e+01 
Molecular Weight of NH2 : molecular weight NH2 :1.602300e+01 

M =

   16.0230

species n Molecular mass n 16.023000 n
ans =

     0


Species_SP =

    'NH3'

Molecular Weight of NH3 : molecular weight NH3 :1.703100e+01 
Molecular Weight of NH3 : molecular weight NH3 :1.703100e+01 

M =

   17.0310

species n Molecular mass n 17.031000 n
ans =

     0


Species_SP =

    'NO'

Molecular Weight of NO : molecular weight NO :3.000600e+01 
Molecular Weight of NO : molecular weight NO :3.000600e+01 

M =

   30.0060

species n Molecular mass n 30.006000 n
ans =

     0


Species_SP =

    'NO2'

Molecular Weight of NO2 : molecular weight NO2 :4.600500e+01 
Molecular Weight of NO2 : molecular weight NO2 :4.600500e+01 

M =

   46.0050

species n Molecular mass n 46.005000 n
ans =

     0


Species_SP =

    'HCNO'

Molecular Weight of HCNO : molecular weight HCNO :4.302500e+01 
Molecular Weight of HCNO : molecular weight HCNO :4.302500e+01 

M =

   43.0250

species n Molecular mass n 43.025000 n
ans =

     0


Species_SP =

    'HOCN'

Molecular Weight of HOCN : molecular weight HOCN :4.302500e+01 
Molecular Weight of HOCN : molecular weight HOCN :4.302500e+01 

M =

   43.0250

species n Molecular mass n 43.025000 n
ans =

     0


Species_SP =

    'HNCO'

Molecular Weight of HNCO : molecular weight HNCO :4.302500e+01 
Molecular Weight of HNCO : molecular weight HNCO :4.302500e+01 

M =

   43.0250

species n Molecular mass n 43.025000 n
ans =

     0


Species_SP =

    'NCO'

Molecular Weight of NCO : molecular weight NCO :4.201700e+01 
Molecular Weight of NCO : molecular weight NCO :4.201700e+01 

M =

   42.0170

species n Molecular mass n 42.017000 n
ans =

     0


Species_SP =

    'CN'

Molecular Weight of CN : molecular weight CN :2.601800e+01 
Molecular Weight of CN : molecular weight CN :2.601800e+01 

M =

   26.0180

species n Molecular mass n 26.018000 n
ans =

     0


Species_SP =

    'HCNN'

Molecular Weight of HCNN : molecular weight HCNN :4.103300e+01 
Molecular Weight of HCNN : molecular weight HCNN :4.103300e+01 

M =

   41.0330

species n Molecular mass n 41.033000 n
ans =

     0


Species_SP =

    'N2'

Molecular Weight of N2 : molecular weight N2 :2.801400e+01 
Molecular Weight of N2 : molecular weight N2 :2.801400e+01 

M =

   28.0140

species n Molecular mass n 28.014000 n
ans =

     0


Species_SP =

    'AR'

Molecular Weight of AR : molecular weight AR :3.994800e+01 
Molecular Weight of AR : molecular weight AR :3.994800e+01 

M =

   39.9480

species n Molecular mass n 39.948000 n
ans =

     0


Species_SP =

    'C3H8'

Molecular Weight of C3H8 : molecular weight C3H8 :4.409700e+01 
Molecular Weight of C3H8 : molecular weight C3H8 :4.409700e+01 

M =

   44.0970

species n Molecular mass n 44.097000 n
ans =

     0


Species_SP =

    'C3H7'

Molecular Weight of C3H7 : molecular weight C3H7 :4.308900e+01 
Molecular Weight of C3H7 : molecular weight C3H7 :4.308900e+01 

M =

   43.0890

species n Molecular mass n 43.089000 n
ans =

     0


Species_SP =

    'CH3CHO'

Molecular Weight of CH3CHO : molecular weight CH3CHO :4.405300e+01 
Molecular Weight of CH3CHO : molecular weight CH3CHO :4.405300e+01 

M =

   44.0530

species n Molecular mass n 44.053000 n
ans =

     0


Species_SP =

    'CH2CHO'

Molecular Weight of CH2CHO : molecular weight CH2CHO :4.304500e+01 
Molecular Weight of CH2CHO : molecular weight CH2CHO :4.304500e+01 

M =

   43.0450

species n Molecular mass n 43.045000 n
ans =

     0

>> 
  •  Work Space

 

6. Code Explanation:

  • 'clear all' - clear all the variables in the workspace, 'close all' - closes all the plots and figures and 'clc' - clears the command window.

  • Making a directory using 'mkdir' with location address, After that, reading the text file 'Thermo.dat' file and opening it by using ‘fopen’ and 'r' as reading command.
  • For reading the line in a text file using ‘fgetl’.
  • To obtain the temperature range from the Thermo.dat file, using ‘strsplit’ to split the temperature into a particular string cell.
  • Used ‘str2num’ for converting string cell to numbers.
  • Divided the temperature into a string and then converted to a number so that temperature values can be used separately to solve the NASA thermodynamics.
  • Using ‘for & end’ loops to skip the next three comment lines in the text file.
  • Reading all the 53 species to plot specific heat(cp), enthalpy(H), and entropy(S), with temperature values, and to find the molecular weights.
  • Used ‘for’ loop to read 53 species, and Used ‘strfind’ to find string.
  • Using 'linspace' specified the temperature range from low to high.
  • Adding universal gas constant value ‘R’.
  • Extracted higher and lower temperature coefficient by reading line by line from the species.
  • Calling specific heat, enthalpy, entropy function codes.
  • Calculating Molecular weight.

 7. window where all the folders are saved.

8. Specific Heat, Entropy and Enthalpy Plots for O2, N2 and Co2 species :

1. Plots for O2

  • Variation of Specific heat with the temperature of O2 

 

 

2. Plots for N2 :

  • Variation of Specific heat with the temperature of N2 

3. Plots for Co2 :

  • Variation of Specific heat with the temperature of Co2 

9. Google Drive Link for Folders

  • https://drive.google.com/drive/folders/1XiyRN7ktEX8-2xZfOIbv3dJreXNDT2bH?usp=sharing

10. References 

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.