La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Metodi e Applicazioni numeriche nellIngegneria Chimica 1 Guido Buzzi-Ferraris.

Presentazioni simili


Presentazione sul tema: "Metodi e Applicazioni numeriche nellIngegneria Chimica 1 Guido Buzzi-Ferraris."— Transcript della presentazione:

1 Metodi e Applicazioni numeriche nellIngegneria Chimica 1 Guido Buzzi-Ferraris

2 Metodi e Applicazioni numeriche nellIngegneria Chimica 2 Guido Buzzi-Ferraris Programma ad hoc per sistemi non lineari enormi

3 Metodi e Applicazioni numeriche nellIngegneria Chimica 3 Guido Buzzi-Ferraris Ma siamo sicuri che è utile manipolare il sistema per cercare di ridurne le dimensioni? Un sistema di grandi dimensioni può presentare difficoltà Viene spontaneo cercare di ridurne le dimensioni ricordando che nel caso di sistemi lineari i tempi di calcolo sono proporzionali al cubo delle dimensioni del sistema Molti autori hanno cercato di sviluppare delle tecniche note con i nomi di tearing e partitioning che automaticamente eseguono la ricerca di come manipolare il sistema in modo che sia minimo il massimo numero di equazioni da risolvere contemporaneamente

4 Metodi e Applicazioni numeriche nellIngegneria Chimica 4 Guido Buzzi-Ferraris Non vanno sottovalutati i seguenti problemi 1. A differenza dal caso lineare con matrice densa non è detto che un sistema non lineare di dimensioni minori richieda minor sforzo di calcolo di uno di dimensioni maggiori. 2. Anche nel caso lineare un sistema sparso e strutturato di grandi dimensioni può richiedere minor tempo di calcolo rispetto ad uno di dimensioni minori, ma denso e non strutturato. 3. Nei sistemi non lineari il ruolo delle variabili non è simmetrico. In altre parole unequazione può essere facilmente risolvibile rispetto ad una variabile e complicata rispetto ad unaltra. 4. La forma del sistema ridotto può essere molto mal condizionata, mentre il sistema nella forma originaria era ben condizionato. Per esempio il seguente sistema non lineare: pur essendo di dimensioni molto ridotte mette in difficoltà numerosi programmi di calcolo. Per esempio non è equivalente risolvere la seguente equazione rispetto alla variabile x 1 o rispetto alla variabile x 2 Questultimo punto è molto importante da capire!

5 Metodi e Applicazioni numeriche nellIngegneria Chimica 5 Guido Buzzi-Ferraris Esempio Si supponga di dover risolvere il seguente sistema lineare: Si può utilizzare la seguente sequenza di calcoli: x x 4 = x 1 + x 2 = x 2 + x 3 = 1001 x 1 + x 2 + x 3 + x 4 = 4 x 1 = x 4 x 2 = x 1 x 3 = x 2 f(x 4 ) = x 1 + x 2 + x 3 + x 4 – 4 = 0 In cui invece di dovere risolvere 1 sistema di 4 equazioni in 4 incognite si risolvono 4 equazioni in 1 incognita. Questa forma è però molto mal condizionata. Con x 4 = si ottiene x 1 = Con x 1 = si ottiene x 2 = Con x 2 = si ottiene x 3 = f(x 4 = ) =

6 Metodi e Applicazioni numeriche nellIngegneria Chimica 6 Guido Buzzi-Ferraris Bisogna cercare di sfruttare la struttura del sistema senza manipolarlo Molto spesso non conviene manipolare il sistema per cercare di ridurne le dimensioni. Infatti di solito la forma che proviene dalla modellazione naturale del fenomeno fisico è ben condizionata se lo era il fenomeno stesso. Ciò che invece va sempre fatto è qualcosa che apparentemente è simile, ma che viceversa è concettualmente molto diverso

7 Metodi e Applicazioni numeriche nellIngegneria Chimica 7 Guido Buzzi-Ferraris Esempio Soluzione del sistema di equazioni che servono per simulare una colonna di distillazione

8 Metodi e Applicazioni numeriche nellIngegneria Chimica 8 Guido Buzzi-Ferraris F j, z ij L j, x ij L j-1, x ij-1 V j, y ij V j+1, y ij+1 QjQj Si consideri il generico piatto: Per ogni piatto si possono scrivere le stesse equazioni già viste nel caso di un Flash Bilancio Materiale per il componente i: L j-1 x ij-1 - V j y ij - L j x ij + V j+1 y ij+1 = F j z i Bilancio Materiale: L j-1 - V j - L j + V j+1 = F j Equilibrio componente i: y ij - k ij x ij = 0 Stechiometrica: Bilancio Energetico: L j-1 h j-1 - V j H j - L j h j + V j+1 H j+1 + Q j-1 = F j HF j j = 1, N

9 Metodi e Applicazioni numeriche nellIngegneria Chimica 9 Guido Buzzi-Ferraris Se le equazioni e le variabili vengono ordinate per piatto il sistema non lineare ha la seguente struttura tridiagonale a blocchi.

10 Metodi e Applicazioni numeriche nellIngegneria Chimica 10 Guido Buzzi-Ferraris I moderni programmi di calcolo tengono conto di tale struttura nella soluzione del sistema che viene risolto come un unico sistema di N(2M + 3) equazioni. Il sistema è ben condizionato perché rispecchia la natura fisica del problema

11 Metodi e Applicazioni numeriche nellIngegneria Chimica 11 Guido Buzzi-Ferraris I primi programmi viceversa cercavano di ridurre le dimensioni del problema nel seguente modo. Se fossero note le frazioni molari y i1 e la portata vapore V 1 del primo piatto si potrebbero usare le equazioni del primo piatto per ricavare x i1, T 1, L 1, V 2, y i2. Il sistema è di dimensioni 2M + 3. Ma se fossero note x i1, T 1, L 1, V 2, y i2 si potrebbero usare le equazioni del secondo piatto per ricavare x i2, T 2, L 2, V 3, y i3. Il sistema è ancora di dimensioni 2M + 3. Si procede allo stesso modo fino allultimo piatto che viene usato per portare a convergenza le variabili y i1 e V 1 del primo piatto. Si devono perciò risolvere sequenzialmente dei sistemi di piccole dimensioni Essi però non rispecchiano alcun fenomeno fisico reale e risultano generalmente molto mal condizionati.

12 Metodi e Applicazioni numeriche nellIngegneria Chimica 12 Guido Buzzi-Ferraris Esempio Soluzione del sistema di equazioni che servono per simulare una fiamma

13 Metodi e Applicazioni numeriche nellIngegneria Chimica 13 Guido Buzzi-Ferraris Lo spazio che costituisce la fiamma può essere suddiviso in tante cellette comunicanti fra loro. Per ogni celletta si scrivone le equazioni di bilancio matreiale ed energetico. Si ottiene in tal modo un sistema di equazioni algebriche se si considera la fiamma stazionaria.

14 Metodi e Applicazioni numeriche nellIngegneria Chimica 14 Guido Buzzi-Ferraris Se le equazioni e le variabili vengono ordinate per celletta il sistema non lineare ha la seguente struttura.

15 Metodi e Applicazioni numeriche nellIngegneria Chimica 15 Guido Buzzi-Ferraris Le dimensioni di questo sistema possono essere enormi. Con ventimila celle e 200 specie chimiche si ha un sistema di 4 milioni di equazioni.

16 Metodi e Applicazioni numeriche nellIngegneria Chimica 16 Guido Buzzi-Ferraris Si potrebbe perciò pensare di risolvere il sistema globale risolvendo il sistema di equazioni per ogni cella e iterando il procedimento. Tutto i sistema può essere visto come composto di tanti reattori CSTR collegati fra loro. Tre problemi 1. Come risolvere efficacemente il sistema per ogni CSTR? 2. Come giudicare se il metodo converge alla soluzione? 3. Come giudicare quando si arrivati alla soluzione?

17 Metodi e Applicazioni numeriche nellIngegneria Chimica 17 Guido Buzzi-Ferraris Metodi di sostituzione I metodi di sostituzione sono concettualmente molto semplici. Per poterli utilizzare è necessario trasformare lequazione da azzerare: in modo che a sinistra dellequazione compaia unespressione che sia molto facile da risolvere rispetto alla variabile t Conoscendo un valore di tentativo, t i, lo si pone a destra dellequazione in modo da ricavare un valore di t i+1 ottenuto utilizzando la porzione a sinistra dellequazione.

18 Metodi e Applicazioni numeriche nellIngegneria Chimica 18 Guido Buzzi-Ferraris La forma più semplice ed anche la più utilizzata è quella in cui la funzione g(t) coincide con la variabile t stessa ossia: Il metodo in questo caso consiste nellapplicazione iterativa della relazione:

19 Metodi e Applicazioni numeriche nellIngegneria Chimica 19 Guido Buzzi-Ferraris t0t0 t1t1 f (t 0 ) f (t 1 ) t2t2 f (t 2 )

20 Metodi e Applicazioni numeriche nellIngegneria Chimica 20 Guido Buzzi-Ferraris Esempio Trovare lo zero dellequazione:

21 Metodi e Applicazioni numeriche nellIngegneria Chimica 21 Guido Buzzi-Ferraris Prima possibilità. ottenuta portando a sinistra t. Le iterazioni che si ottengono sono: Il metodo diverge viene trasformata nella seguente: Lequazione: 2., 1., -125.,

22 Metodi e Applicazioni numeriche nellIngegneria Chimica 22 Guido Buzzi-Ferraris Seconda possibilità. ottenuta portando a sinistra t 3 e dividendo per t 2. Le iterazioni che si ottengono sono: Il metodo diverge viene trasformata nella seguente: Lequazione: 2., 2.25, 1.876, 2.485, 1.638, 3.159, 1.134

23 Metodi e Applicazioni numeriche nellIngegneria Chimica 23 Guido Buzzi-Ferraris Terza possibilità. ottenuta portando a sinistra 2t e dividendo per 2. Le iterazioni che si ottengono sono: Il metodo diverge viene trasformata nella seguente: Lequazione: 2., , , ,

24 Metodi e Applicazioni numeriche nellIngegneria Chimica 24 Guido Buzzi-Ferraris Quarta possibilità. ottenuta cambiando segno allequazione, dividendo per 10 e sommando t a destra e a sinistra. Le iterazioni che si ottengono sono: Il metodo converge viene trasformata nella seguente: Lequazione: 2., 2.1,2.0939, , , , , ma lentamente

25 Metodi e Applicazioni numeriche nellIngegneria Chimica 25 Guido Buzzi-Ferraris Tutti i metodi per risolvere sistemi di equazioni non lineari sono iterativi e passano da un punto di tentativo x i ad un altro x i+1. Problema Come si fa a sapere se il punto x i+1 è più vicino alla soluzione di x i ? Soluzione di sistemi non lineari

26 Metodi e Applicazioni numeriche nellIngegneria Chimica 26 Guido Buzzi-Ferraris Si può sperare che le iterazioni convergano alla soluzione e procedere senza alcun controllo Di solito la speranza viene delusa e il metodo diverge È molto più saggio utilizzare una funzione di merito per cercare di capire se il metodo sta convergendo o no. Come si fa a trovare una funzione di merito ragionevole? Con ciò si è spostato semplicemente il problema

27 Metodi e Applicazioni numeriche nellIngegneria Chimica 27 Guido Buzzi-Ferraris Un criterio che sembra ragionevole è quello di rendere minima la somma dei quadrati degli scarti dei residui. Proviamo a vedere quali sono le linee di livello di questa funzione nel caso di sistemi lineari f 1 = a 11 x 1 + a 12 x 2 – b 1 = 0 f 2 = a 21 x 1 + a 22 x 2 – b 2 = 0 Se i coefficienti delle due equazioni hanno ordini di grandezza paragonabili le linee di livello sono ellissi abbastanza rotondeggianti Ma se i coefficienti della prima sono molto maggiori di quelli della seconda le linee di livello della funzione si addensano intorno alla retta f 1 = 0 Problema con valli strette!!! Un punto x i+1 vicino alla soluzione ha un valore della funzione F 1 peggiore di un punto, x i, più lontano x i+1 xixi

28 Metodi e Applicazioni numeriche nellIngegneria Chimica 28 Guido Buzzi-Ferraris Nei problemi reali le diverse equazioni hanno per loro natura ordini di grandezza molto diversi Esempio Stechiometrica: Bilancio Energetico: V H + L h + Q = F HF Nel calcolo di un Flash le due equazioni: hanno ordini di grandezza molto diversi fra loro Morale La scelta della somma dei quadrati degli scarti dei residui come criterio per stabilire se un punto x i+1 è migliore di x i non è consigliabile

29 Metodi e Applicazioni numeriche nellIngegneria Chimica 29 Guido Buzzi-Ferraris Dal momento che il precedente problema risulta particolarmente evidente nel caso in cui ci sia una sproporzione fra gli ordini di grandezza delle equazioni unidea ragionevole è quella di pesare le varie equazioni inversamente allordine di grandezza dei termini che compaiono nellequazione stessa Indicando con w j tale peso la nuova funzione di merito diventa: dove W è la matrice diagonale:

30 Metodi e Applicazioni numeriche nellIngegneria Chimica 30 Guido Buzzi-Ferraris f 1 = a 11 x 1 + a 12 x 2 – b 1 = 0 f 2 = a 21 x 1 + a 22 x 2 – b 2 = 0 Proviamo a vedere quali sono le linee di livello di questa nuova funzione pesata nel caso di sistemi lineari Se i pesi assegnati alle due equazioni sono stati scelti in modo corretto le equazioni hanno ora ordini di grandezza paragonabili e le linee di livello sono ellissi abbastanza rotondeggianti Ma sono comunque ellissi!!! Un punto x i+1 vicino alla soluzione ha un valore della funzione F 2 peggiore di un punto, x i, più lontano x i+1 xixi

31 Metodi e Applicazioni numeriche nellIngegneria Chimica 31 Guido Buzzi-Ferraris La funzione pesata F 2 è senzaltro migliore della precedente funzione F 1 se i pesi sono stati scelti in modo corretto. Ma, punto primo Come si fa a dare un valore ragionevole ai pesi in modo automatico, senza cioè sapere quale è lordine di grandezza caratteristico di ogni equazione? Ovviamente non ci si può basare sul valore numerico del residuo che dipende dal punto x i in cui viene stimato E, punto secondo ancora più importane È possibile trovare una funzione migliore tale che, almeno nel caso lineare, le linee di livello siano cerchi e non ellissi?

32 Metodi e Applicazioni numeriche nellIngegneria Chimica 32 Guido Buzzi-Ferraris Quesito Come si fa a trovare la distanza di un punto da un piano?

33 Metodi e Applicazioni numeriche nellIngegneria Chimica 33 Guido Buzzi-Ferraris Promemoria Quali sono le equazioni di un piano e di una retta nello spazio a n dimensioni?

34 Metodi e Applicazioni numeriche nellIngegneria Chimica 34 Guido Buzzi-Ferraris La seguente equazione lineare: è lequazione di un piano nello spazio a n dimensioni. Le equazioni di una retta che passa per un punto assegnato, x*, ed è perpendicolare al precedente piano nello spazio a n dimensioni sono le seguenti: …..

35 Metodi e Applicazioni numeriche nellIngegneria Chimica 35 Guido Buzzi-Ferraris Per sapere dove la retta interseca il piano basta inserire le equazioni della retta nellequazione del piano: e ricavare t da tale equazione. t rappresenta lo spostamento lungo la retta a partire dal punto assegnato per attraversare il piano. Dal momento che la retta è perpendicolare al piano t è la distanza del punto x* dal piano stesso.

36 Metodi e Applicazioni numeriche nellIngegneria Chimica 36 Guido Buzzi-Ferraris Ritorniamo alla funzione di merito pesata Come si fa a dare un valore ragionevole ai pesi in modo automatico, senza cioè sapere quale è lordine di grandezza caratteristico di ogni equazione? Se si prende come peso: e se il sistema è lineare ogni termine della sommatoria rappresenta la distanza del punto di lavoro dal piano corrispondente allequazione.

37 Metodi e Applicazioni numeriche nellIngegneria Chimica 37 Guido Buzzi-Ferraris È possibile trovare una funzione per la quale, almeno nel caso lineare, le linee di livello siano cerchi e non ellissi. Abbiamo perciò trovato un modo ragionevole per calcolare automaticamente i pesi da dare alle diverse funzioni. La funzione di merito anche nel caso lineare ha comunque ancora linee di livello che sono ellissi. È possibile fare di meglio

38 Metodi e Applicazioni numeriche nellIngegneria Chimica 38 Guido Buzzi-Ferraris Si consideri un sistema lineare e si supponga di conoscere il valore di x, x s, che lo risolve ossia che rende nulli i residui: b – Ax s = 0 In un punto x i diverso da x s il sistema ha un residuo: b – Ax i = f i Sottraendo la prima equazione dalla seconda si ottiene: A(x s - x i )= f i La norma euclidea della differenza x s - x i è data formalmente da:

39 Metodi e Applicazioni numeriche nellIngegneria Chimica 39 Guido Buzzi-Ferraris Linterpretazione geometrica di questa relazione è che la quantità: misura la distanza del punto x i dalla soluzione x s. La distanza di un nuovo punto x i+1 dalla soluzione x s è data da: Se perciò risulta: il punto x i+1 risulta più vicino alla soluzione di quanto non lo sia x i.

40 Metodi e Applicazioni numeriche nellIngegneria Chimica 40 Guido Buzzi-Ferraris Nel caso non lineare il nuovo punto xi+1 deve essere accettato se risulta: Si tenga presente che non deve essere calcolata la matrice inversa dello Jacobiano, ma la relazione precedente va calcolata usando una fattorizzazione della matrice stessa.

41 Metodi e Applicazioni numeriche nellIngegneria Chimica 41 Guido Buzzi-Ferraris


Scaricare ppt "Metodi e Applicazioni numeriche nellIngegneria Chimica 1 Guido Buzzi-Ferraris."

Presentazioni simili


Annunci Google