Untitled
function dCdt = sistema_diffusivo(t, C) % Parametri s = 0.05; %[m] spessore totale del fiocco Cint = 0.2; %[kg/m^3] concentrazione alla superficie Diff = 2e-10; %[m^2/s] diffusività N = 10; % numero di nodi h = (s/2) / N; % passo spaziale (metà spessore diviso i nodi) % Inizializzazione del vettore di output dCdt = zeros(N, 1); % Deve essere un vettore colonna % Condizione al bordo esterno dCdt(1) = Diff * (Cint - 2*C(1) + C(2)) / h^2; % Ciclo sui nodi interni for n = 2:N-1 dCdt(n) = Diff * (C(n-1) - 2*C(n) + C(n+1)) / h^2; end % Condizione al piano di simmetria dCdt(N) = 2 * Diff * (C(N-1) - C(N)) / h^2; end % Parametri per la simulazione tspan = [0, 1e9]; % Intervallo temporale C0 = zeros(N, 1); % Condizioni iniziali (concentrazione nulla in tutti i nodi) % Soluzione del sistema [t, C] = ode45(@sistema_diffusivo, tspan, C0); % Visualizzazione del risultato % Trasforma l'ultima colonna in giorni giorni = t / 86400; % Conversione da secondi a giorni % Plot della concentrazione al centro nel tempo figure; plot(giorni, C(:, end), 'LineWidth', 2); xlabel('Tempo [giorni]'); ylabel('Concentrazione al centro [kg/m^3]'); title('Diffusione del nitrito nel fiocco di carne'); grid on;
Leave a Comment