Untitled

 avatar
unknown
plain_text
a month ago
1.3 kB
2
Indexable
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