Risoluzione di un problema di diffusione-trasporto-reazione sul Lago di Garda con Elementi Finiti

Documenti analoghi
Introduzione al Metodo agli Elementi Finiti (FEM) (x, y) Γ Tale formulazione viene detta Formulazione forte del problema.

FREEFEM++ Marcello Bellomi. 18 Aprile Università di Verona FREEFEM++

Introduzione al Calcolo Scientifico - A.A

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore

Corso di Analisi Numerica

I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.

Le derivate parziali

Progetto di Geometria Computazionale: simulazione del movimento ondoso di un fluido utilizzando Kass e Miller

Sistemi di Equazioni Differenziali

Funzioni implicite - Esercizi svolti

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Il teorema di Rouché-Capelli

Istituzioni di Matematiche Modulo B (SG)

ax 1 + bx 2 + c = 0, r : 2x 1 3x = 0.

1 Polinomio di Taylor 1. 2 Formula di Taylor 2. 3 Alcuni sviluppi notevoli 2. 4 Uso della formula di Taylor nel calcolo dei limiti 4

Università degli Studi di Bergamo Matematica II (5 e 7,5 crediti) 18 febbraio 2010 Tema A

Anno 2. Risoluzione di sistemi di primo grado in due incognite

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Soluzioni dei quesiti della maturità scientifica A.S. 2009/2010

2 2 2 A = Il Det(A) = 2 quindi la conica è non degenere, di rango 3.

Prodotto scalare, ortogonalitá e basi ortonormali

Risoluzione di problemi ingegneristici con Excel

Geometria Analitica Domande e Risposte

Massimi e minimi vincolati

Fasci di Coniche. Salvino Giuffrida. 2. Determinare e studiare il fascio Φ delle coniche che passano per A (1, 0) con tangente

1 Il polinomio minimo.

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

Esercizi svolti. Geometria analitica: rette e piani

Precorso di Matematica

Prodotto scalare e ortogonalità

Anno 3 Equazione dell'ellisse

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Corso di Geometria BIAR, BSIR Esercizi 10: soluzioni

1 Disquazioni di primo grado

LE EQUAZIONI DI SECONDO GRADO

Analisi Matematica II Corso di Ingegneria Gestionale Compito del f(x, y) = e (x3 +x) y

MATEMATICA EQUAZIONI FRATTE, DI SECONDO GRADO O SUPERIORE GSCATULLO

Curve e lunghezza di una curva

ELABORAZIONE DELLE IMMAGINI:

Cammini minimi fra tutte le coppie

ECONOMIA APPLICATA ALL INGEGNERIA (Docente: Prof. Ing. Donato Morea)

DEDUZIONE DEL TEOREMA DELL'ENERGIA CINETICA DELL EQUAZIONE SIMBOLICA DELLA DINAMICA

ESERCIZI SULLE MATRICI

SISTEMI LINEARI MATRICI E SISTEMI 1

Analisi Numerica. Debora Botturi ALTAIR. Debora Botturi. Laboratorio di Sistemi e Segnali

+2 3 = = =3 + =3 + =8 =15. Sistemi lineari. nelle stesse due incognite. + = + = = = Esempi + =5. Il sistema è determinato

1 L estrazione di radice

Equazioni differenziali

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Soluzioni delle Esercitazioni VIII 21-25/11/2016. = lnx ln1 = lnx. f(t)dt.

Analisi Matematica II (Prof. Paolo Marcellini)

GEOMETRIA PIANA. 1) sia verificata l uguaglianza di segmenti AC = CB (ossia C è punto medio del segmento AB);

Analisi Matematica 1 e Matematica 1 Geometria Analitica: Rette

Equazioni di secondo grado

y 3y + 2y = 1 + x x 2.

Esercitazione su filtro di Sobel per l elaborazione delle immagini

x1 + 2x 2 + 3x 3 = 0 nelle tre incognite x 1, x 2, x 3. Possiamo risolvere l equazione ricavando l incognita x 1 x 1 = 2x 2 3x 3 2r 1 3r 2 x 2 x 3

Appunti di Algebra Lineare. Distanze

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Funzioni reali di variabile reale

Il metodo del simplesso

Esercizi 2, 1. continuo. Modelli in equazioni di stato Linearizzazione. Prof. Thomas Parisini. Fondamenti di Automatica

Lezione 10: Teorema di Rouchè-Capelli e la classificazione dei sistemi lineari

Sviluppi e derivate delle funzioni elementari

APPLICAZIONI LINEARI

Nel caso particolare in cui il vertice si trovi nell'origine, la parabola assume la forma: y ˆ ax 2.

LUISS Laurea specialistica in Economia e Finanza Anno Accademico 2010/2011

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.

ALGEBRA E GEOMETRIA Esercizi Corso di Laurea in Chimica - anno acc. 2015/2016 docente: Elena Polastri,

1 Equazioni parametriche e cartesiane di sottospazi affini di R n

x 1 Fig.1 Il punto P = P =

dipendenti. Cosa possiamo dire sulla dimensione di V?

Esercizi sui sistemi di equazioni lineari.

TSRR. Vademecum sulle equazioni differenziali I. D. Mugnai( 1 ) ( 1 ) IFAC-CNR, Via Madonna del Piano 10, Sesto Fiorentino (FI), Italy

Esercizi di ripasso: geometria e algebra lineare.

Chi non risolve esercizi non impara la matematica.

( ) le colonne della matrice dei coefficienti, con. , risulta A 3 = A 1 + 4A 2 + 4A 5, A 4 = A 1 + A 2,

Le Derivate. Appunti delle lezioni di matematica di A. Pisani Liceo Classico Dante Alighieri

Correzione 1 a provetta del corso di Fisica 1,2

Matematica e Statistica (A-E, F-O, P-Z)

RICHIAMI MATEMATICI. x( t)

Anno 2. Sistemi di equazioni di secondo grado

Correzione secondo compitino, testo B

y 5z = 7 y +8z = 10 +3z = 3

La circonferenza nel piano cartesiano

Massimi e minimi vincolati

Anno 4 Matrice inversa

Corso di Calcolo Numerico

Esercitazioni di Analisi e Simulazione dei Processi Chimici

Problema (tratto dal 7.42 del Mazzoldi 2)

Giacomo Sacco Appunti di Costruzioni Edili

Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16

DERIVATE E LORO APPLICAZIONE

Per esempio, una matrice 4 4 triangolare alta ha la forma. 0 a. mentre una matrice di ordine 4 triangolare bassa è del tipo

1 Definizione di sistema lineare omogeneo.

L ANALISI ARMONICA DI UN SEGNALE PERIODICO

1 Fattorizzazione di polinomi

Liceo Scientifico Cassini Esercizi di matematica, classe 5F, foglio3, soluzioni. normale parallelo a quello direzionale della retta sarà quindi

= (cioè le due terne di numeri direttori ( devono essere ) proporzionali). Tale uguaglianza non è verificata, poiché risulta ρ

Circonferenza. Matteo Tugnoli. February 26, 2012

Transcript:

Risoluzione di un problema di diffusione-trasporto-reazione sul Lago di Garda con Elementi Finiti Bonazzoli Marcella, Gaburro Elena, Visentin Francesco Università degli studi di Verona Seminario di Calcolo Scientifico 27 Giugno 2013 Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 1 / 37

Introduzione Lo scopo di questo progetto è di simulare la diffusione di una sostanza inquinante all interno del Lago di Garda in diverse condizioni. L equazione che descrive il fenomeno di diffusione-trasporto-reazione di questa sostanza nel tempo è: u = d 2 u + c u + ρ u (1 u) (u 0.5) t Le condizioni al bordo e le condizioni iniziali dipendono dalla particolare situazione presa in esame (esempi: sostanza inquinante scaricata in mezzo al lago, sostanza che continua ad affluire in modo costante dal Sarca, sostanza che esce dal Mincio... ) Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 2 / 37

Introduzione Per risolvere questa equazione abbiamo dovuto occuparci di: Manipolare l equazione: discretizzazione in tempo e calcolo della formulazione debole dell equazione data dal metodo di Newton Costruire una triangolazione del dominio (il lago di Garda) Imporre le condizioni al bordo Abbiamo poi fatto diversi esperimenti: Variando le condizioni al bordo e quelle iniziali Modificando i parametri d, c, e ρ Usando vari solutori di sistemi lineari, più spazi di elementi finiti e diverse tecniche per fare e raffinare la mesh... Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 3 / 37

L equazione... Discretizzazione nel tempo Per prima cosa discretizziamo l equazione nel tempo usando il metodo di Eulero Implicito: u n+1 u n t = d 2 u n+1 + c u n+1 + ρ u n+1 (1 u n+1 ) (u n+1 0.5) moltiplicando per t entrambi i membri e portando a sinistra otteniamo u n+1 u n t [ d 2 u n+1 + c u n+1 + ρ u n+1 (1 u n+1 ) (u n+1 0.5) ] = 0 quindi per trovare la soluzione al tempo n + 1, avendo quella al tempo n, sarà necessario trovare gli zeri della funzione F(u) = u un t [ d 2 u + c u + ρ u (1 u) (u 0.5) ] Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 4 / 37

L equazione... Calcolo della matrice Jacobiana Per trovare gli zeri di F scegliamo di utilizzare il Metodo di Newton. E quindi necessario calcolare la matrice Jacobiana J(u). Per migliorare l efficienza dell algoritmo calcoliamo direttamente la matrice applicata a un vettore v, cioè J(u)v (usando le derivate di Gateaux): J(u)v = v 0 t [ d 2 v + c v+ ρ (1 u)(u 0.5)v ρ u (u 0.5)v + ρ u (1 u)v ] e dopo aver raccolto otteniamo { J(u)v = v t d 2 v + c v+ ρ [ (1 u)(u 0.5) u (u 0.5) + u (1 u) ] } v Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 5 / 37

L equazione Struttura base dell algoritmo La struttura base dell algoritmo è la seguente: 1: Sia u 0 la soluzione al tempo zero 2: for n = 0, 1, 2... numero intervalli temporali do 3: Algoritmo di Newton per trovare u n+1 : 4: u r = u n approssimazione iniziale per Newton 5: while norma (δ r ) > tol do 6: J(u r )δ r = F(u r ) 7: u r+1 = u r + δ r 8: end while 9: u n+1 = u r 10: end for Ora quindi dobbiamo risolvere J(u r )δ r + F(u r ) = 0 cioè... Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 6 / 37

L equazione... J(u r )δ r + F (u r ) = 0 δ r t {d 2 δ r + c δ r + ρ [ (1 u r )(u r 0.5) u r (u r 0.5) + u r (1 u r ) ] } δ r + u r u n t [ d 2 u r + c u r + ρu r (1 u r )(u r 0.5) ] = 0 In questo modo abbiamo ottenuto un equazione con dipendenza lineare dall incognita δ r e quindi possiamo scriverne la formulazione variazionale da passare a FreeFem. Moltiplichiamo perciò entrambi i membri per una funzione test ϕ e integriamo sul dominio Ω: δ r ϕ t d 2 δ r ϕ t c δ r ϕ Ω Ω Ω t ρ [ (1 u r )(u r 0.5) u r (u r 0.5) + u r (1 u r ) ] δ r ϕ + Ω u r ϕ u n ϕ t d 2 u r ϕ t c u r ϕ + Ω Ω Ω Ω t ρ u r (1 u r )(u r 0.5) ϕ = 0 Ω Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 7 / 37

L equazione... J(u r )δ r + F (u r ) = 0 Ora, applicando la formula di Green ai termini in cui compaiono i laplaciani, otteniamo: δ r ϕ + t d δ r ϕ t d δ r ˆn ϕ t c δ r ϕ Ω Ω Ω Ω t ρ [ (1 u r )(u r 0.5) u r (u r 0.5) + u r (1 u r ) ] δ r ϕ + Ω u r ϕ u n ϕ + t d u r ϕ t d u r ˆn ϕ Ω Ω Ω Ω t c u r ϕ t ρu r (1 u r )(u r 0.5) ϕ = 0 Ω Formula di Green: 2 u v = Ω Ω Ω u v + Ω u ˆn v con u ˆn = u ˆn Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 8 / 37

Triangolazione del Dominio Ora che siamo riusciti ad avere l equazione nella forma adatta per farla risolvere a FreeFem++, dobbiamo occuparci del dominio. Il dominio su cui vogliamo risolvere l equazione è il Lago di Garda. Il lavoro che abbiamo fatto per ottenere la triangolazione del dominio è suddiviso in tre parti: Creazione di un immagine in bianco e nero a partire da un immagine trovata su internet Estrazione del bordo Costruzione e raffinamento della mesh Per le prime due fasi abbiamo utilizzato MatLab e poi abbiamo creato la mesh sia con MatLab che con FreeFem++. Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 9 / 37

Triangolazione del Dominio vs immagine in bianco e nero Il comando imread legge l immagine a colori (a sx nella figura) e restituisce un array I di dimensione NxMx3, nel quale è indicata la concentrazione rispettivamente di rosso, verde e blu, in ogni pixel. Poi selezionando solo la componente rossa con I = I(:, :, 1) otteniamo un immagine in scala di grigi (a dx), con sfumature più chiare dove c era il rosso e più scure dove c era il blu. 1: I = imread(...... lago_sat.jpg ); 2: I = I(:, :, 1); Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 10 / 37

Triangolazione del Dominio vs immagine in bianco e nero Ora vogliamo ottenere un immagine in bianco e nero, dove solo il lago sia bianco. Con BW = im2bw(i, graythresh(i)) mettiamo un 1 dove la sfumatura è più chiara e uno 0 dove è più scura. Rimangono però troppi rumori. Quindi usiamo BW = imfill(bw, holes ), che controllando le vicinanze di ogni punto trasforma, per esempio, un 1 in 0 se tutti i suoi vicini sono 0. Con BW= BW invertiamo gli 0 e gli 1 (per comodità nell uso delle funzioni successive). 1: BW = im2bw(i, graythresh(i)); 2: BW = imfill(bw, holes ); 3: BW = BW; Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 11 / 37

Triangolazione del Dominio vs immagine in bianco e nero Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 12 / 37

Triangolazione del Dominio vs immagine in bianco e nero Per eliminare le regioni bianche non connesse con il lago: Diamo un etichetta ad ogni regione bianca (nell immagine ad ogni etichetta è associato un colore). Misuriamo l area di ogni regione bianca (contando i pixel). Se l area è inferiore a 7900 mettiamo a zero la sua etichetta. 1: [L, N] = bwlabel(bw); 2: areath = 7900; 3: for k = 1:N do 4: s = regionprops(l==k, Area ); 5: if(s.area < areath) 6: L(L == k) = 0; 7: end 8: end for Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 13 / 37

Triangolazione del Dominio vs immagine in bianco e nero Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 14 / 37

Triangolazione del Dominio vs immagine in bianco e nero Però sono rimasti ancora sia il Sarca che il Mincio e inoltre i bordi non sono ben definiti. Usiamo quindi: Di nuovo BW = imfill(bw, holes ) E imerode(bw,se) che erode l immagine attraverso la struttura circolare se. 1: se = strel( disk,5); 2: BW = imerode(bw,se); Ora abbiamo l immagine da cui ricavare il bordo del nostro dominio! (quella in mezzo nella figura successiva) Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 15 / 37

Triangolazione del Dominio vs immagine in bianco e nero Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 16 / 37

Triangolazione del Dominio Estrazione del bordo Ricaviamo i bordi con il comando [B,L] = bwboundaries(bw, noholes ) che ci permette di trovare i nodi di bordo e la lista dei lati Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 17 / 37

Triangolazione del Dominio Costruzione e Raffinamento della Mesh Ora per la costruzione e il raffinamento della mesh abbiamo 2 opzioni: Fare direttamente la mesh in Matlab: In questo caso si usa il comando [p,t] = mesh2d(node, edgelst) (pacchetto esterno) che restituisce l elenco dei vertici e dei triangoli da cui è possibile estrarre i dati necessari affinché FreeFem++ debba solo leggere la mesh già fatta (con readmesh) e già raffinata. Questa mesh è molto accurata (i triangoli che la compongono non sono sbilanciati). Essendo così dettagliata il calcolo della soluzione è sia più accurato sia più lento! Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 18 / 37

Triangolazione del Dominio Costruzione e Raffinamento della Mesh Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 19 / 37

Triangolazione del Dominio Costruzione e Raffinamento della Mesh Fare la mesh con FreeFem++ e successivamente raffinarla: Per prima cosa dobbiamo fornire a FreeFem++ il contorno del lago, ottenuto in Matlab, in forma parametrica. Perciò ci calcoliamo le rette passanti per ogni coppia dei nodi del bordo restituiti da MatLab. Poi usiamo il comando border nomebordo(t = a, b)(x = x{t}, y{t}). Infine con i comandi: 1: func geom= C1(n) + C2(n) + C3(n)... Diciamo quanti punti prendere su ogni parte del contorno 2: mesh Th = buildmesh(geom,...) Costruiamo la mesh Il risultato che si ottiene è il seguente: Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 20 / 37

Triangolazione del Dominio Costruzione e Raffinamento della Mesh Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 21 / 37

Triangolazione del Dominio Costruzione e Raffinamento della Mesh Ora quindi è necessario raffinare la mesh, allo lo scopo di: Migliorare la forma dei triangoli: in modo che siano sbilanciati il meno possibile. Diminuire il numero dei triangoli dove possibile: cioè dove sia il dominio che la soluzione che ci si aspetta di trovare hanno una forma regolare. Infittirla ai bordi e dove la soluzione subisce bruschi cambiamenti. Per migliorare sempre più la mesh abbiamo usato le seguenti procedure ripetendole più volte. Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 22 / 37

Triangolazione del Dominio Costruzione e Raffinamento della Mesh Procedure per raffinare la mesh: Adaptmesh: è un comando di FreeFem++ che si occupa in modo automatico di raffinare la mesh. Abbiamo aggiunto un contorno circolare all interno del dominio in corrispondenza della sostanza inquinante al tempo 0: così otteniamo una miglior definizione del dato iniziale. Adaptmesh(Th, u0) che adatta la mesh in riferimento alla soluzione iniziale u0 in modo che sia più fitta dove il gradiente della soluzione è più alto. Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 23 / 37

Triangolazione del Dominio Costruzione e Raffinamento della Mesh Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 24 / 37

Condizioni al bordo Per prima cosa vediamo come vanno imposte, in generale, le condizioni al bordo in FreeFem++, facendo riferimento ad un problema semplice, del tipo 2 u = f Condizioni di Neumann: Si trova la formulazione debole del problema Si sostituisce il valore della derivata normale, dato dalla condizione che si vuole imporre, nell integrale di bordo che proviene dal laplaciano. In particolare se la condizione è nulla: non si deve scrivere niente se la condizione non è nulla (su un certo bordo Γ) si scrive: int1d(th, Γ)(valore derivata normale su Γ funzione test ϕ) Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 25 / 37

Condizioni al bordo Condizioni di Dirichlet Si scrive la formulazione debole come se le funzioni test ϕ fossero nulle ai bordi (quindi senza scrivere gli integrali di bordo provenienti dai laplaciani) Si aggiunge (in fondo) alla formulazione del problema: on(γ, u = condizione di Dirichlet al bordo) Torniamo ora al nostro problema: ovvero alla formulazione debole di J(u r )δ r + F(u r ) = 0 nel quale la funzione incognita è δ r. Nell equazione ci sono due integrali di bordo: t d δ r ˆn ϕ e t d u r ˆn ϕ Ω Ω Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 26 / 37

Condizioni al bordo Occupiamoci del secondo: Ω t d ur ˆn ϕ Facciamo subito notare che in questo compare solo u r che è sempre nota (al passo r = 0 è la soluzione iniziale e, ad un generico passo dell algoritmo di Newton, è la soluzione calcolata al passo precedente). Quindi la scrittura di questo integrale non è influenzata dalle condizioni al bordo, ma è semplicemente: int1d(th, Γ)(dt d (N.x dx(ur) + N.y dy(ur)) phi) Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 27 / 37

Condizioni al bordo Per quanto riguarda il primo: Ω t d δr ˆn ϕ Se vogliamo che la soluzione u sia nulla su alcuni bordi, vuol dire che anche δ r = u r+1 u r deve essere nulla su quei bordi: on (Γ, δ r = 0) Se vogliamo che la soluzione u sia costante su alcuni bordi, vuol dire che δ r = u r+1 u r deve essere comunque nulla su quei bordi. Se vogliamo che la soluzione u abbia derivata normale nulla su alcuni bordi, poiché δ r = u r+1 u r, si ha δ r ˆn = ur+1 ˆn ur ˆn δr ˆn = 0 0 = 0. Quindi non dobbiamo scrivere nessun termine. Ovviamente affinché tutto funzioni la condizione iniziale deve essere coerente con le condizioni imposte al bordo! Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 28 / 37

Risultati ottenuti Sostanza in alto Vediamo ora quali sono i risultati che abbiamo ottenuto. Iniziamo col considerare il caso in cui La sostanza è penetrata da poco nel lago, quindi si trova nella parte superiore Ha smesso di entrare: quindi Dirichlet nullo sul Sarca e su tutte le altre parti del bordo (tranne il Mincio) La sostanza può uscire in modo uniforme dal Mincio: quindi Neumann nullo sul Mincio La mesh adattata alle condizioni iniziali è proprio quella vista nelle slide precedenti. Abbiamo usato lo spazio di elementi finiti P1 e come solutore GMRES. Parametri d = 10000, c = [100, 500], ρ = 0.1 Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 29 / 37

Risultati ottenuti Sostanza in alto Usando come spazio degli elementi finiti P2 non notiamo sostanziali cambiamenti, però i calcoli richiedono un tempo maggiore. Tornando allo spazio P1, proviamo a variare qualche parametro: Manteniamo d e ρ come prima e proviamo con c = [0, 500] (la sostanza raggiunge il Mincio senza rimanere nel golfo di Desenzano). Oppure con parametri un po più realistici d = 10, c = [100, 500], ρ = 0.1. La sostanza un po si diffonde, infatti il livello più alto scende, ma il fenomeno è molto lento. Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 30 / 37

Risultati ottenuti Sostanza al centro Consideriamo ora il caso in cui la sostanza è stata scaricata in mezzo al lago, quindi mettiamo condizioni di Dirichlet nulle su tutti i bordi tranne sul Mincio, sul quale imponiamo Neumann nullo, in quanto la soluzione può uscire in modo uniforme. Con d = 10000, c = [ 30, 100] e ρ = 0.1, siccome il fattore che descrive il trasporto è molto inferiore alla diffusione, la sostanza scende verso il Mincio ma si diffonde molto nel lago. Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 31 / 37

Risultati ottenuti Sostanza al centro Scegliendo invece c = [ 50, 1000], essendo maggiore il fattore che descrive il trasporto, la sostanza invade meno il lago. Si noti l uso della mesh adattata alla soluzione ad ogni passo (scelta dovuta al fatto che i triangoli della mesh iniziale in questa zona sono molto grandi). Abbiamo provato a risolvere i vari problemi con diversi solutori, ma il risultato e il tempo impiegato non cambiano. Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 32 / 37

Risultati ottenuti La sostanza entra dal Sarca Supponiamo ora che la sostanza provenga dal Sarca e continui a riversarsi in modo costante nel Garda. Imponiamo quindi: Condizioni di Dirichlet nulle sui bordi del lago (fiumi esclusi) Condizione di Dirichlet costante sul Sarca (la sostanza entra in modo costante) Condizione di Neumann nulla sul Mincio (la sostanza può uscire in modo uniforme) Usiamo come soluzione iniziale la soluzione del seguente problema 2 u = 0 u = 1 sul Sarca u = 0 sul resto del contorno Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 33 / 37

Risultati ottenuti La sostanza entra dal Sarca Soluzione iniziale Mesh adattata alla soluzione: Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 34 / 37

Risultati ottenuti La sostanza entra dal Sarca Scegliamo come parametri: d = 10000, c = [800, 4000], ρ = 0.1 La soluzione all inizio si diffonde come previsto. Da un certo punto in poi però non si riesce più a notare alcun cambiamento. Abbiamo provato con entrambe le mesh e variando molto i parametri iniziali; quello presentato è il miglior risultato. Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 35 / 37

Risultati ottenuti Reazione elevata Vediamo cosa succede se aumentiamo il parametro ρ : Con la sostanza nella parte superiore del lago: d = 100, c = [0.01, 0.05], ρ = 50 Con la sostanza in mezzo al lago: d = 1000, c = [ 0.01, 0.1], ρ = 500 Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 36 / 37

Conclusione Marcella, Elena & Francesco (UniVR) Diffusione sul Lago di Garda 06/06/2013 37 / 37