Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoPietronella Romani Modificato 11 anni fa
1
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
2
Programma ad hoc per sistemi non lineari enormi
Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
3
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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 Ma siamo sicuri che è utile manipolare il sistema per cercare di ridurne le dimensioni? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
4
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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. Per esempio il seguente sistema non lineare: pur essendo di dimensioni molto ridotte mette in difficoltà numerosi programmi di calcolo. 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 un’equazione può essere facilmente risolvibile rispetto ad una variabile e complicata rispetto ad un’altra. Per esempio non è equivalente risolvere la seguente equazione rispetto alla variabile x1 o rispetto alla variabile x2 4. La forma del sistema ridotto può essere molto mal condizionata, mentre il sistema nella forma originaria era ben condizionato. Quest’ultimo punto è molto importante da capire! Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
5
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Si supponga di dover risolvere il seguente sistema lineare: x x4 = 1001 1000x1 + x2 = 1001 1000x2 + x3 = 1001 x1 + x2 + x3 + x4 = 4 Si può utilizzare la seguente sequenza di calcoli: x1 = x4 x2 = x1 x3 = x2 f(x4) = x1 + x2 + x3 + x4 – 4 = 0 Con x4 = si ottiene x1 = Con x1 = si ottiene x2 = Con x2 = si ottiene x3 = f(x4 = ) = 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. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
6
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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 Bisogna cercare di sfruttare la struttura del sistema senza manipolarlo Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
7
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Soluzione del sistema di equazioni che servono per simulare una colonna di distillazione Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
8
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Si consideri il generico piatto: Fj, zij Lj, xij Lj-1, xij-1 Vj, yij Vj+1, yij+1 Qj Per ogni piatto si possono scrivere le stesse equazioni già viste nel caso di un Flash Bilancio Materiale per il componente i: Lj-1xij-1 - Vjyij - Ljxij + Vj+1yij+1 = Fjzi Equilibrio componente i: yij - kijxij = 0 Stechiometrica: j = 1, N Bilancio Materiale: Lj-1 - Vj - Lj + Vj+1 = Fj Bilancio Energetico: Lj-1 hj-1 - Vj Hj - Lj hj + Vj+1 Hj+1 + Qj-1 = Fj HFj Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
9
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Se le equazioni e le variabili vengono ordinate per piatto il sistema non lineare ha la seguente struttura tridiagonale a blocchi. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
10
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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 Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
11
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
I primi programmi viceversa cercavano di ridurre le dimensioni del problema nel seguente modo. Se fossero note le frazioni molari yi1 e la portata vapore V1 del primo piatto si potrebbero usare le equazioni del primo piatto per ricavare xi1, T1, L1, V2, yi2. Il sistema è di dimensioni 2M + 3. Ma se fossero note xi1, T1, L1, V2, yi2 si potrebbero usare le equazioni del secondo piatto per ricavare xi2, T2, L2, V3, yi3. Il sistema è ancora di dimensioni 2M + 3. Si procede allo stesso modo fino all’ultimo piatto che viene usato per portare a convergenza le variabili yi1 e V1 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. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
12
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Soluzione del sistema di equazioni che servono per simulare una fiamma Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
13
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
14
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Se le equazioni e le variabili vengono ordinate per celletta il sistema non lineare ha la seguente struttura. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
15
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Le dimensioni di questo sistema possono essere enormi. Con ventimila celle e 200 specie chimiche si ha un sistema di 4 milioni di equazioni. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
16
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Tutto i sistema può essere visto come composto di tanti reattori CSTR collegati fra loro. Si potrebbe perciò pensare di risolvere il sistema globale risolvendo il sistema di equazioni per ogni cella e iterando il procedimento. 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? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
17
Metodi di sostituzione
I metodi di sostituzione sono concettualmente molto semplici. Per poterli utilizzare è necessario trasformare l’equazione da azzerare: in modo che a sinistra dell’equazione compaia un’espressione che sia molto facile da risolvere rispetto alla variabile t Conoscendo un valore di tentativo, ti, lo si pone a destra dell’equazione in modo da ricavare un valore di ti+1 ottenuto utilizzando la porzione a sinistra dell’equazione. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
18
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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 nell’applicazione iterativa della relazione: Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
19
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
f (t2) f (t1) f (t0) t0 t1 t2 Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
20
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Trovare lo zero dell’equazione: Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
21
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Prima possibilità. L’equazione: viene trasformata nella seguente: ottenuta portando a sinistra t. Le iterazioni che si ottengono sono: 2., 1., -125., Il metodo diverge Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
22
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Seconda possibilità. L’equazione: viene trasformata nella seguente: ottenuta portando a sinistra t3 e dividendo per t2. Le iterazioni che si ottengono sono: 2., 2.25, 1.876, 2.485, 1.638, 3.159, 1.134 Il metodo diverge Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
23
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Terza possibilità. L’equazione: viene trasformata nella seguente: ottenuta portando a sinistra 2t e dividendo per 2. Le iterazioni che si ottengono sono: 2., , , , Il metodo diverge Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
24
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Quarta possibilità. L’equazione: viene trasformata nella seguente: ottenuta cambiando segno all’equazione, dividendo per 10 e sommando t a destra e a sinistra. Le iterazioni che si ottengono sono: 2., 2.1,2.0939, , , , , Il metodo converge ma lentamente Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
25
Soluzione di sistemi non lineari
Tutti i metodi per risolvere sistemi di equazioni non lineari sono iterativi e passano da un punto di tentativo xi ad un altro xi+1. Problema Come si fa a sapere se il punto xi+1 è più vicino alla soluzione di xi? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
26
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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. Con ciò si è spostato semplicemente il problema Come si fa a trovare una funzione di merito ragionevole? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
27
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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 f1 = a11x1 + a12 x2 – b1 = 0 f2 = a21x1 + a22 x2 – b2 = 0 Problema con valli strette!!! Un punto xi+1 vicino alla soluzione ha un valore della funzione F1 peggiore di un punto, xi, più lontano xi+1 xi Ma se i coefficienti della prima sono molto maggiori di quelli della seconda le linee di livello della funzione si addensano intorno alla retta f1 = 0 Se i coefficienti delle due equazioni hanno ordini di grandezza paragonabili le linee di livello sono ellissi abbastanza rotondeggianti Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
28
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Nei problemi reali le diverse equazioni hanno per loro natura ordini di grandezza molto diversi Esempio Nel calcolo di un Flash le due equazioni: Stechiometrica: Bilancio Energetico: V H + L h + Q = F HF 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 xi+1 è migliore di xi non è consigliabile Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
29
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Dal momento che il precedente problema risulta particolarmente evidente nel caso in cui ci sia una sproporzione fra gli ordini di grandezza delle equazioni un’idea ragionevole è quella di pesare le varie equazioni inversamente all’ordine di grandezza dei termini che compaiono nell’equazione stessa Indicando con wj tale peso la nuova funzione di merito diventa: dove W è la matrice diagonale: Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
30
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Proviamo a vedere quali sono le linee di livello di questa nuova funzione pesata nel caso di sistemi lineari Ma sono comunque ellissi!!! f1 = a11x1 + a12 x2 – b1 = 0 f2 = a21x1 + a22 x2 – b2 = 0 Un punto xi+1 vicino alla soluzione ha un valore della funzione F2 peggiore di un punto, xi, più lontano xi+1 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 xi Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
31
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
La funzione pesata F2 è senz’altro migliore della precedente funzione F1 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 è l’ordine di grandezza caratteristico di ogni equazione? Ovviamente non ci si può basare sul valore numerico del residuo che dipende dal punto xi 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? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
32
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Quesito Come si fa a trovare la distanza di un punto da un piano? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
33
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Promemoria Quali sono le equazioni di un piano e di una retta nello spazio a n dimensioni? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
34
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
La seguente equazione lineare: è l’equazione 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: ….. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
35
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Per sapere dove la retta interseca il piano basta inserire le equazioni della retta nell’equazione 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. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
36
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Ritorniamo alla funzione di merito pesata Come si fa a dare un valore ragionevole ai pesi in modo automatico, senza cioè sapere quale è l’ordine 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 all’equazione. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
37
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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 È possibile trovare una funzione per la quale, almeno nel caso lineare, le linee di livello siano cerchi e non ellissi. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
38
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Si consideri un sistema lineare e si supponga di conoscere il valore di x, xs, che lo risolve ossia che rende nulli i residui: b – Axs = 0 In un punto xi diverso da xs il sistema ha un residuo: b – Axi = fi Sottraendo la prima equazione dalla seconda si ottiene: A(xs - xi)= fi La norma euclidea della differenza xs - xi è data formalmente da: Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
39
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
L’interpretazione geometrica di questa relazione è che la quantità: misura la distanza del punto xi dalla soluzione xs. La distanza di un nuovo punto xi+1 dalla soluzione xs è data da: Se perciò risulta: il punto xi+1 risulta più vicino alla soluzione di quanto non lo sia xi. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
40
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
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. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
41
Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.