exercise7.m
% Loesung von Aufgabe 7
% gegebene Werte
t_b = 25; % in Grad Celsius
t_l = 25;
t_v = 90;
mu_c = 0.844;
mu_h = 0.117;
mu_s = 0.039;
% Werte aus Aufgabe 6
l = 0.5627; % in kmol L/kg B
v_f = 0.5920; % in kmol V/kg B
% Heizwert
h_u = (34.0*mu_c + 101.6*mu_h + 19.1*mu_s)*1000 % in kJ/kg B
% Molmase der Luft aus Tabelle
m_l = 28.966; % in kg/kmol
% spez. Waermekapazitaet in kJ/(kg K)
cp_b = 1.88; % Heizoel, angegeben
cp_l = 1.005; % Luft, aus Tabelle
% damit Enthalpie vor Verbrennung
h1 = m_l*l*cp_l*t_l + h_u + cp_b*t_b
% Molmasse des Verbrennungsgases
% Reihenfolge im Vektor: CO2 SO2 H2O N2 O2
% Mol-Anteile aus Aufgabe 6
y_vi = [0.118816, 0.002059, 0.116884, 0.736698, 0.025543];
% Molmassen
m_vi = [44, 64, 18, 28, 32];
m_v = y_vi * m_vi'
% spez. Waermekapazitaet des Verbrennungsgases
% Massenanteile
mu_i = m_vi .* y_vi / m_v
% cp der Komponenten bei 90 C durch lineare Interpolation
cp_i0 = [0.8169, 0.6092, 1.858, 1.039, 0.915]; % bei 0 Grad
cp_i1 = [0.8673, 0.6355, 1.871, 1.039, 0.9227]; % bei 100 Grad
cp_i = cp_i0 + 0.9*(cp_i1-cp_i0); % bei 90 Grad
% cp des Gemischs
cp_v = cp_i * mu_i'
% damit Enthalpie nach Verbrennung
h2 = m_v * v_f * cp_v * t_v
% freiwerdende Waerme
q = h1 - h2 % in kJ/kg
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Berechnung von t_max
% Grundproblem: cp bis t_max geht ein, also raten, iterieren, ..
% allerdings: Berechnung von cp aus Tabellen muss automatisiert werden!
% bis auf cp(t_max) sind alle Groessen bekannt
% im Moment ist nur cp(t_v) bekannt, damit erhaelt man
t_max = h1/(m_v * v_f * cp_v)
% Ergebnis: 2298 Grad -> iterieren!
% zunaechst Tabelle der cp_s der Komponenten einlesen
load 'cp.dat';
T = cp(:,1);
CP = cp(:,2:end);
% Schaetzwert fuer t in Grad Celsius
t_neu = 90;
t_alt = 0; % dummy fuer die Schleife
% wiederhole, bis sich der t-Wert nicht mehr aendert
while abs(t_alt - t_neu) > 0.1,
t_alt = t_neu;
cp_i = interp1(T, CP, t_alt, 'spline'); % cp der Komponenten
cp_v = cp_i * mu_i'; % cp des Gemischs in kJ/(kg K)
% damit neuer t-Wert
t_neu = h1/(m_v * v_f * cp_v)
end