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

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

If you can't read please download the document

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

  • Slide 1
  • Cinetica Chimica Applicata Applicazione N. 1 (D. Dalle Nogare, P. Canu; a.a. 2006-2007)
  • Slide 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]
  • Slide 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
  • Slide 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.
  • Slide 5
  • Riassunto della teoria Reattore differenziale: Reattore CSTR Velocit di produzione
  • Slide 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
  • Slide 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
  • Slide 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.
  • Slide 9
  • Applicazione numerica (II) Reattore differenziale: % nel programma principale, si chiama lintegratore ode45 options=[]; [tau,C] = ode45(@BMidiff,[0 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
  • Slide 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.
  • Slide 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= fsolve(@BMicstr,Cguess,options,CIN,thi,nu,k) %----------------------------------------------------------------------- % 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
  • Slide 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
  • Slide 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.
  • Slide 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
  • Slide 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=..;
  • Slide 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;
  • Slide 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')
  • Slide 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)
  • Slide 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
  • Slide 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);...
  • Slide 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
  • Slide 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