Ruolo del flusso numerico nella DG-FEM


13

Sto imparando la teoria alla base dei metodi DG-FEM usando il libro di Hesthaven / Warburton e sono un po 'confuso riguardo al ruolo del "flusso numerico". Mi scuso se questa è una domanda di base, ma ho cercato e non ho trovato una risposta soddisfacente.

Considera l'equazione dell'onda scalare lineare:

ut+f(u)x=0
dove il flusso lineare è dato comef(u)=au.

Come introdotto nel libro di Hesthaven, per ogni elemento k , finiamo con N equazioni, una per ogni funzione di base, imponendo che il residuo svanisca debolmente:

Rh(x,t)=uht+auhx

DkRh(x,t)ψn(x)dx=0

Belle. Quindi passiamo attraverso l'integrazione per parti una volta per arrivare alla "forma debole" (1) e integriamo per parti due volte per ottenere la "forma forte" (2). Adotterò la forma integrale della superficie di Hesthaven ma facilmente generalizzabile in 1D:

(1)

Dk(uhktψnauhkdψndx)dx=Dkn^(auh)ψndx1nN

(2)

DkRhψndx=Dkn^(auhk(auh))ψndx1nN

Perché scegliamo un flusso numerico? Perché non usiamo il valore di al limite in (1) invece di usare un flusso? Sì, è vero che il valore di questa quantità può essere moltiplicato per tutti gli elementi, ma ogni equazione supera solo 1 elemento D k , quindi perché è importante?auhkDk

Inoltre, il termine contorno della seconda integrazione per parti produce chiaramente una quantità diversa la seconda volta in (2), che non ha senso per me. Stiamo facendo la stessa operazione! Perché i due termini al limite non si limiterebbero a cancellare, rendendo (2) inutili? Come abbiamo introdotto nuove informazioni?auhk

Chiaramente mi manca qualcosa di cruciale per il metodo e vorrei risolverlo. Ho fatto alcune analisi reali e funzionali, quindi se c'è una risposta più teorica riguardo alla formulazione, vorrei sapere!


6
Una ragione si sceglie un flusso numerico in modo da assicurare la conservazione di . Se il flusso al limite non fosse lo stesso per ciascun elemento che condivide il confine, la quantità di u che fuoriesce da un elemento sarebbe diversa dalla quantità che fluisce nell'elemento adiacente. Questo è generalmente indesiderabile, poiché stai modellando un'equazione di trasporto conservativa. uu
Tyler Olsen,

8
Relativo al commento di Tylers, ma IMO ancora più importante: il flusso introduce anche un accoppiamento tra i diversi sottoproblemi. Altrimenti non potrebbe esserci propagazione di informazioni in senso discreto.
Christian Waluga,

Risposte:


3

Il flusso numerico viene scelto per garantire che le informazioni nel problema viaggino nella direzione delle curve caratteristiche dell'equazione (controvento). Come menzionato nei commenti, il flusso numerico è necessario per accoppiare i sottoproblemi definiti su ciascun elemento.

Un modo per ottenere un'intuizione per il ruolo del flusso numerico è quello di considerare il seguente semplice esempio.

Considera l'equazione di avanzamento scalare (dove per semplicità a=1 )

ut+ux=0on Ω,
dove il dominio è dato daΩ=[0,1] . Poiché si tratta di un'equazione iperbolica e le informazioni si stanno propagando da sinistra a destra, è necessario applicare una condizione al contorno sux=0 (ma non sux=1 ). Per concretezza, supponiamo applichiamo la condizione di Dirichletu(0,t)=gD per un datogD .

D1=[0,1/2]D2=[1/2,1]

(PDE 1):vt+vx=0on D1,(PDE 2):wt+wx=0on D2,

D1D2

D1v(0,t)=gDD2w(1/2,t)=v(1/2,t)

ψDk

D1n^vψdx=[vψ]01/2D2n^wψdx=[wψ]1/21
vwD1D2v(0,t)gDw(1/2,t)v(1/2,t)

uh=gDx=0uh=v(1/2,t)x=1/2

Osservando le cose in questo modo, possiamo considerare le funzioni del flusso numerico come un modo debole per applicare le condizioni al contorno su ciascun elemento necessarie per accoppiare le equazioni in modo tale da rispettare la struttura caratteristica delle equazioni.

Per equazioni più complicate dell'avviso a coefficiente costante, le informazioni potrebbero non propagarsi sempre nella stessa direzione, e quindi il flusso numerico deve essere determinato risolvendo (o avvicinando la soluzione a) un problema di Riemann all'interfaccia. Questo è discusso per problemi lineari nella sezione 2.4 del libro di Hesthaven.


1

In termini molto vaghi, ci sono due cose che la maggior parte delle tecniche di discretizzazione necessitano per convergere alla soluzione effettiva del PDE quando si aumenta la loro qualità di approssimazione, indipendentemente dal fatto che si stia utilizzando DG o meno:

  1. u
  2. Stabilità (piccoli cambiamenti nei dati comportano piccoli cambiamenti nella risposta)

I primi passi di una derivazione DG in cui si integrano le parti su ciascun elemento mesh conservano (1) perché si inizia con il PDE e si applicano solo le operazioni legali da lì.

Questo non ti dà (2) però. Puoi vederlo tu stesso provando a assemblare la matrice di una forma debole DG parzialmente formulata e osservando i suoi autovalori - per problemi dipendenti dal tempo li vogliamo tutti sul mezzo piano sinistro, ma senza un flusso numerico adeguato saranno ovunque. Questo porta a una soluzione che esplode in modo esponenziale nel tempo, anche se il problema fisico non lo fa.

u

Il trucco è prendere combinazioni di salti e medie e combinarle in modo che il tuo schema sia ancora coerente ma anche stabile. Successivamente un teorema di convergenza di solito si rivela.

Queste sono le basi, ma puoi anche portare spesso ulteriore fisica nel flusso numerico in modo che non soddisfi semplicemente questi requisiti matematici, ma giochi anche bene con i principi di conservazione.


0

Quando si sceglie la funzione di test uguale alla funzione di prova nel metodo DG, si crea un problema di ottimizzazione. Cioè, hai un metodo Galerkin piuttosto che un metodo Petrov-Galerkin. Stai cercando le derivate temporali delle ampiezze della funzione di prova che minimizzeranno l'elemento residuo nella norma L2, e fai questa miminimizzazione partendo dal presupposto di una data funzione di flusso in entrata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.