Problema sulle differenze finite in Matlab

Bubute
Ciao a tutti, sono nuova del forum quindi perdonatemi se commetto qualche errore. Ho un problema da risolvere su Matlab che riguarda il trasporto e la diffusione di un inquinante in un fiume da risolvere con il metodo delle differenze finite. Il testo dell'esercizio mi dice di indicare la concentrazione dell'inquinante con C=C(x,y) e di considerare tre processi : trasporto, diffusione e reazione (batterio che si nutre dell'inquinante). Il problema è stazionario quindi il problema differenziale si riduce così −μΔC+∇(uC)+σC=0 dove:

μ è il coefficiente diffusivo
u è il vettore velocità u=[ux uy]'
σ è il termine reattivo

Ho provato a leggere diversi libri che trattano l'argomento delle differenze finite. Da quello che ho capito il problema è di tipo ellittico e potrei risolverlo attraverso il metodo di Poisson. Penso di dover creare una funzione che definisca l'equazione differenziale ma non so come scriverla su Matlab e come definire l'operatore Laplaciano. Ammetto di avere molta confusione e mi scuso per le domande probabilmente banali o molto generali ma ho proprio bisogno di aiuto per comprendere il problema e capire come impostarlo. C'è qualcuno che mi può aiutare a far luce sul problema e capire come devo ragionare? Grazie mille in anticipo anche solo per aver letto la mia richiesta d'aiuto! :cry:

Risposte
Raptorista1
In un problema standard come questo devi prima definire una mesh sul dominio, che immagino sia un quadrato, e poi in ogni nodo della mesh devi sostituire alle derivate prime e seconde delle opportune differenze finite, cioè espressioni [di solito rapporti incrementali] che dipendono dai valori dell'incognita in alcuni nodi circostanti della mesh.
Fatto ciò otterrai un'equazione per ogni nodo di mesh, che dovrai riunire in un sistema di equazioni da risolvere.
Non so cosa sia il metodo di Poisson, ma immagino sia l'applicazione di un metodo iterativo per risolvere il sistema lineare in questione, che ad alto livello potrebbe tradursi in qualcosa tipo "applicare iterativamente l'operatore differenziale discreto" e bla bla bla...

Bubute
Ti ringrazio per la risposta, ho impostato il problema come mi hai detto creando una mesh ed usando per ogni termine il rapporto incrementale opportuno. Vorrei chiederti qualche informazione in più sul metodo iterativo da usare per risolvere il sistema. Non so infatti come riunire le equazioni trovate e come risolvere il sistema, potresti aiutarmi?

Raptorista1
Sostituendo lo schema a differenze finite per il nodo i-esimo ottieni l'equazione corrispondente da mettere nel sistema lineare. Devi numerare i nodi in una sola dimensione.

Raptorista1
"Raptorista":
Devi numerare i nodi in una sola dimensione.

Riformulo, visto che la frase è ambigua: devi numerare i nodi con un indice solo.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.