La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Cinetica Chimica Applicata Applicazione N. 1 (D. Dalle Nogare, P. Canu; a.a. 2006-2007)

Presentazioni simili


Presentazione sul tema: "Cinetica Chimica Applicata Applicazione N. 1 (D. Dalle Nogare, P. Canu; a.a. 2006-2007)"— Transcript della presentazione:

1 Cinetica Chimica Applicata Applicazione N. 1 (D. Dalle Nogare, P. Canu; a.a )

2 Dati del problema La produzione di P da A e B appare avvenire secondo il meccanismo: Sono date le cinetiche k j + e k j + la composizione in ingresso C IN [mol/L] la portata volumetrica [L/s]

3 Richieste (i) i profili di concentrazione di tutte le specie C(z) lungo un reattore tubolare di diametro 5 cm, levoluzione della concentrazione di tutte le specie C(t) in un reattore batch, la lunghezza ottimale del reattore tubolare per avere: la massima concentrazione di P in uscita, la massima selettività a P (= P prodotto sul totale dei prodotti) la massima resa in P di A (= P prodotto per reagente A consumato) la massima conversione di B

4 Richieste (ii) concentrazione di P, selettività a P, resa in P di A e conversione di B (variabili usate ai punti A..D precedenti) in uscita da un reattore CSTR di volume pari al PFR dei casi A, B, C, D precedenti e confrontare con i corrispondenti valori dati dal PFR. [facoltativo] comparare V PFR e V CSTR a cui concentrazione di P, selettività a P, resa in P di A e conversione di B (variabili usate ai punti A..D precedenti) sono massime.

5 Riassunto della teoria Reattore differenziale: Reattore CSTR Velocità di produzione

6 Significato della formula (I) Velocità di produzione: Esempio per C: (v C,1 =1, v C,2 =-2, v C,3 =-1) r C =R 1 -2R 2 -R 3 R 1 = k 1 + · C A · C B - k 1 - · C C · C D R 2 = k 2 + · C C 2 - k 2 - · C P R 3 = k 3 + · C C · C A - k 3 - · C R Specie con c.s.<0 Specie con c.s.>0

7 Applicazione numerica (I) Velocità di produzione: function r = erre(C,nu,k) [Nc,Nr] = size(nu); nur = (nu-abs(nu))/2; % coeff. stech dei reagenti nup = (nu+abs(nu))/2; % coeff. stech dei prodotti for j = 1:Nr Rd = k(j,1)*prod(C.^abs(nur(:,j))) ; % vel. di reazione diretta Ri = k(j,2)*prod(C.^nup(:,j)) ; % vel. di reazione inversa R(j) = Rd-Ri; end r = nu*R'; % velocita' di produzione delle singole specie

8 Significato della formula (II) Reattore differenziale: Noto Vdot si conosce v. Noto C IN si calcola r ed è quindi nota la derivata della composizione in τ =0: dC/d τ| 0. Si può integrare numericamente il sistema di equazioni differenziali.

9 Applicazione numerica (II) Reattore differenziale: % nel programma principale, si chiama lintegratore ode45 options=[]; [tau,C] = tauf],C0,options,nu,k); % % bilancio materiale DIFF function Cprimo = BMidiff(tau,C,nu,k) r = erre(C,nu,k); % velocita' di produzione delle singole specie Cprimo = r; % BMi = derivate nel tempo delle concentrazioni

10 Significato della formula (III) Reattore CSTR: Noto Vdot si conosce θ. Il bilancio è macroscopico: si possono calcolare solo le composizioni in uscita. Poiché r=r(C), si tratta di risolvere un sistema di equazioni algebriche non lineari: richiede una risoluzione numerica.

11 Applicazione numerica (III) Reattore CSTR: % nel programma principale, si chiama il risolutore di equazioni algebriche non lineari fsolve options = optimset('Display','off'); Cguess = CIN./2; % stima della possibile soluzione C= % % bilanci materiali CSTR function err = BMicstr(C,CIN,th,nu,k) r = erre(C,nu,k); % velocita' di produzione delle singole specie DC = C-CIN; % differenza OUT-IN err = r*th - DC; % 0 = BMi

12 Struttura di un file matlab Gli script di matlab, con estensione.m, si strutturano in questo modo: function applicazione1 % Cinetica Chimica Applicata – Appl. 1 – Programma principale |||| Corpo del programma principale: |||| vengono eseguiti tutti i comandi in succesione |||| e tutte le chiamate alle altre funzioni. |||| Solo alla fine del programma principale si posizionano le |||| funzioni chiamate dal programma stesso function Cprimo = BMidiff(tau,C,nu,k) |||| Corpo della funzione function err = BMicstr(C,CIN,th,nu,k) |||| Corpo della funzione function r = erre(C,nu,k) |||| Corpo della funzione

13 Nota Bene help Fare uso il più possibile dellhelp di Matlab, per capire come agiscono le varie funzioni e soprattutto per controllare la sintassi dei vari comandi Mettere ; alla fine di ogni comando per evitare che vengano stampati tutti i risultati. Eliminarlo solo quando serve monitorare un calcolo.

14 Algoritmo Definire tutti i dati Chiamare lintegratore ODE Graficare i risultati (pto 1) Rielaborare i risultati per ottenere il pto 2 Calcolare le proprietà richieste al pto 3 Calcolare i 4 CSTR relativi al pto 4 [facoltativo] Calcolare una serie di CSTR di dimensioni crescenti, analizzare i risultati come al pto 3 e confrontare

15 Algoritmo – dettagli (1) Definire tutti i dati function gruppo1 % Cinetica Chimica Applicata – Appl. 1 – Programma principale % Definizione dati cinetici nu=[ ]; k=[ ]; % Definizione dati di ingresso C0=[..;..]; Vdot=..;

16 Algoritmo – dettagli (2) Chiamare lintegratore ODE N.B. A priori non si conosce il tempo di permanenza totale necassario al completarsi della reazione. Si fa un primo tentativo con 60s e si aumenta o diminuisce a seconda dei risultati. In questo ci si aiuta con il grafico. % Scegliere un tempo di permanenza totale tauf=..; % Chiamare lintegratore di eq. differenziali ode45 (vedi reattore differenziale) % Salvare i dati in una variabile dedicata CPFR=C; tauPFR=tau;

17 Algoritmo – dettagli (3) Graficare i risultati (pto 1) Poichè il testo richiede i profili di concentrazione, il modo più intuitivo di darli è attraverso un grafico. Attenzione: sono richiesti i profili C(z), e non C( τ )! % Grafico profili di concentrazione nel reattore tubolare figure plot(zPFR,CPFR) xlabel(z [cm]),ylabel(C [mol/L]),axis tight legend('A','B','C','D','P','R',-1) title('PFR')

18 Algoritmo – dettagli (4) Rielaborare i risultati per ottenere il pto 2 Anche in questo caso si tratta di graficare i profili di concentrazione C(t). % Grafico profili di concentrazione nel reattore Batch figure plot(t,C) xlabel(t [s]),ylabel(C [mol/L]),axis tight legend('A','B','C','D','P','R',-1) title(Batch)

19 Algoritmo – dettagli (5) Calcolare le proprietà richieste al pto 3 Massime C P S P Y PA X B % Trovare il massimo in un vettore % Definire il vettore CP=CPFR(:,5); % SP=...; YPA=...; XB=...; % Individuare il massimo e lindice corrispondente nel vettore % con la funzione max di matlab [CPmax,ICPmax]=max(CP); % Trovare il corrispondente valore in z zCPmax=z(ICPmax); % Ripetere per SP, YPA e XB, ottenendo SPmax e zSPmax, % YPAmax e zYPAmax, XBmax e zXBmax

20 Algoritmo – dettagli (6) Calcolare i 4 CSTR relativi al pto 4 % CSTR 1: thi=tauPFR(ICPmax); % Chiama il risolutore di eq. algebriche non lineari fsolve (vedi reattore CSTR) % Calcola CP,SP,YPA,XB per il CSTR CP1cstr=...; SP1cstr=...; YPA1cstr=...; XB1cstr=...; % Valuta CP,SP,YPA,XB per il PFR CP1pfr=CP(ICPmax); SP1pfr=SP(ICPmax); YPA1pfr=YP(ICPmax); XB1pfr=XBP(ICPmax); % CSTR 2: thi=tauPFR(ISPmax);...

21 Algoritmo – dettagli (7) [facoltativo] Calcolare una serie di CSTR di dimensioni crescenti, analizzare i risultati come al pto 3 e confrontare con il PFR % Ciclo CSTR: thf=...; % Massimo tempo di permanenza. A scelta, come nel PFR dth=...; % Incremento del theta da un CSTR al successivo th=1:dth:thf; Ccstr=[]; for i=1:length(th) thi=th(i); % Chiama il risolutore di eq. algebriche non lineari fsolve (vedi reattore CSTR) Ccstr=[Ccstr C]; end % Analizzare i risultati come in dettagli(5) e confrontare con PFR

22 Osservazioni sulla relazione Stendere un sintetico resoconto, senza dilungarsi nella teoria Preferire le figure alle tabelle, laddove possibile, e ridurre al minimo la quantità di figure raggruppando il più possibile i risultati Allegare il programma


Scaricare ppt "Cinetica Chimica Applicata Applicazione N. 1 (D. Dalle Nogare, P. Canu; a.a. 2006-2007)"

Presentazioni simili


Annunci Google