Risoluzione dell'equazione delle onde con semidiscretizzazione spaziale.

Messaggioda astrolabio95 » 27/06/2019, 09:12

Salve a tutti,

Vista l'estrema competenza degli utenti di questo forum, volevo porvi questo altro quesito.

Devo risolvere in maniera numerica la "classica" equazione delle onde

$ (d^2\varphi)/dt^2 = a^2(d^2\varphi)/dx^2 $

Un piccolo appunto (tutto quello che ho di questo argomento...) suggerisce la seguente sostituzione

$ { ( u=\varphi ),( v = (d\varphi)/dt):} $

e dunque

$ { ( (du)/dt=v ),( (dv)/dt = a^2(d^2u)/dx^2):} $

con le seguenti I.C.

$ { ( u(x,0) = u_o(x) = \varphi_o(x) ),( v(x,0) = v_o(x) =(d\varphi_o)/dt):} $

e le seguenti B.C.

$ { ( \varphi(0,t) = \varphi(L,t) = 0 ),((d\varphi)/dt(0,t) = (d\varphi)/dt(L,t) = 0 ):} $

che diventano (e qui nasce il primo dubbio; perche $x_b$ ?)

$ { ( u(x_b,t) = 0 ),( v(x_b,t) = 0):} $


A questo punto si ha un vettore $\omega = [u,v]^T$ tale che

$ ( dul(\omega))/dt = ul(A)*ul(\omega) $

dove A dovrebbe essere una matrice a blocchi fatta così

$ [ ( 0 , I ),( a^2d^2/dx^2 , 0 ) ] $.

Nella pratica, ho capito che si discretizza la derivata spaziale con, ad esempio, un metodo alle differenze finite del secondo ordine centrato e lo si "mette" nel bocco corrispondente della matrice A.
Dopodiché si utilizza il pacchetto ODE di MatLab e si risolve, appunto, la ODE così ricavata passandogli A come variabile globale.
La mia difficoltà sta nell'implementare le B.C. e le I.C. nella matrice A.
Vi è solo un codice svolto senza commento di cui mi sono sforzato di capire qualcosa ma non ho appurato granché.

Se poteste darmi una mano, un suggerimento sarebbe davvero grandioso. Grazie!
astrolabio95
Junior Member
Junior Member
 
Messaggio: 117 di 296
Iscritto il: 27/11/2015, 19:39

Re: Risoluzione dell'equazione delle onde con semidiscretizzazione spaziale.

Messaggioda astrolabio95 » 27/06/2019, 12:09

Ho provato a svolgerla, ma il vettore delle y che fuoriesce dal [t,y] = ode45(...) è un vettore che ha 2*N colonne, con N pari al numero di punti del mesh, mentre la I.C. è, appunto, definita solo su N punti...
astrolabio95
Junior Member
Junior Member
 
Messaggio: 118 di 296
Iscritto il: 27/11/2015, 19:39

Re: Risoluzione dell'equazione delle onde con semidiscretizzazione spaziale.

Messaggioda Raptorista » 03/07/2019, 11:23

Se hai \(n\) punti e \(2\) variabili, ti ritroverai con \(2n\) numeri.

Sinceramente, questa equazione mi sembra che si possa risolvere direttamente con differenze finite in spazio e tempo [metodo noto come LeapFrog].
Quella matrice con dentro un operatore differenziale è una roba astratta, devi prima convertirla in qualcosa di concreto. Nel caso specifico, devi discretizzare l'equazione in qualche modo e poi scrivere l'equazione discretizzata per ogni punto. Per i nodi di bordo scriverai un'equazione diversa che tiene conto delle condizioni al bordo. Quando hai raccolto tutte queste equazioni, le usi per assemblare una matrice [che non è nemmeno necessario in realtà].
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 5266 di 9616
Iscritto il: 28/09/2008, 19:58

Re: Risoluzione dell'equazione delle onde con semidiscretizzazione spaziale.

Messaggioda astrolabio95 » 03/07/2019, 17:14

Raptorista ha scritto:Se hai \(n\) punti e \(2\) variabili, ti ritroverai con \(2n\) numeri.

Sinceramente, questa equazione mi sembra che si possa risolvere direttamente con differenze finite in spazio e tempo [metodo noto come LeapFrog].
Quella matrice con dentro un operatore differenziale è una roba astratta, devi prima convertirla in qualcosa di concreto. Nel caso specifico, devi discretizzare l'equazione in qualche modo e poi scrivere l'equazione discretizzata per ogni punto. Per i nodi di bordo scriverai un'equazione diversa che tiene conto delle condizioni al bordo. Quando hai raccolto tutte queste equazioni, le usi per assemblare una matrice [che non è nemmeno necessario in realtà].


Ti ringrazio per la dritta, sono riuscito ad implementare il codice e a far partire tutto!
astrolabio95
Junior Member
Junior Member
 
Messaggio: 120 di 296
Iscritto il: 27/11/2015, 19:39

Re: Risoluzione dell'equazione delle onde con semidiscretizzazione spaziale.

Messaggioda Raptorista » 04/07/2019, 09:10

Bene!
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 5268 di 9616
Iscritto il: 28/09/2008, 19:58


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite