Untitled
unknown
plain_text
10 months ago
1.8 kB
4
Indexable
function run_simulation
clear;
close all;
clc;
global F V C0 T0 Cp Rho k0 E R dH Th Cph Rhoh Fh
F = 1;
V = 5;
C0 = 5;
T0 = 300;
Cp = 1;
Rho = 1e3;
k0 = 1e7;
E = 1.104e4;
R = 1.987;
dH = 1.1e5;
Th = 363;
Cph = 1;
Rhoh = 1e3;
Fh = 20;
t_start = linspace(0, 20, 1000);
t_end = linspace(20, 40, 1000);
init_vals = [C0; T0];
[t1, y1] = ode15s(@model_eqns, t_start, init_vals);
Fh = 40;
init_vals_2 = y1(end,:);
[t2, y2] = ode15s(@model_eqns, t_end, init_vals_2);
t_combined = [t1; t2];
y_combined = [y1; y2];
figure('Position', [100 100 800 600]);
subplot(2,1,1);
plot(t_combined, y_combined(:,1), 'LineWidth', 2);
grid on;
xlabel('Time (min)', 'FontSize', 12);
ylabel('Concentration (kmol/m^3)', 'FontSize', 12);
title('Concentration Profile', 'FontSize', 14);
hold on;
plot([20 20], [2 5.5], '--k', 'LineWidth', 1.5);
text(21, 4, 'Flow rate change', 'FontSize', 10);
xlim([0 40]);
ylim([2 5.5]);
subplot(2,1,2);
plot(t_combined, y_combined(:,2), 'LineWidth', 2);
grid on;
xlabel('Time (min)', 'FontSize', 12);
ylabel('Temperature (K)', 'FontSize', 12);
title('Temperature Profile', 'FontSize', 14);
hold on;
plot([20 20], [295 335], '--k', 'LineWidth', 1.5);
text(21, 315, 'Flow rate change', 'FontSize', 10);
xlim([0 40]);
ylim([295 335]);
end
function dydt = model_eqns(t, y)
global F V C0 T0 Cp Rho k0 E R dH Th Cph Rhoh Fh
CA = y(1);
T = y(2);
k = k0 * exp(-E/(R*T));
r = k * CA;
Q = 12 * Fh^2 * (Th - T);
dCAdt = (F/V) * (C0 - CA) - r;
dTdt = (F/V) * (T0 - T) + Q / (Rho * V * Cp) + (-dH) * r / (Rho * Cp);
dydt = [dCAdt; dTdt];
end
Editor is loading...
Leave a Comment