Perché la conservazione locale è importante quando si risolvono le PDE?


30

Gli ingegneri spesso insistono sull'uso di metodi localmente conservativi come volume finito, differenza finita conservativa o metodi Galerkin discontinui per risolvere i PDE.

Cosa può andare storto quando si utilizza un metodo non localmente conservativo?

Ok, quindi la conservazione locale è importante per le PDE iperboliche, che dire delle PDE ellittiche?

Risposte:


30

Nella soluzione di PDE iperbolici non lineari, le discontinuità ("shock") compaiono anche quando la condizione iniziale è regolare. In presenza di discontinuità, la nozione di soluzione può essere definita solo in senso debole. La velocità numerica di uno shock dipende dall'imposizione delle condizioni corrette di Rankine-Hugoniot, che a loro volta dipendono dal soddisfacimento numerico della legge integrale di conservazione a livello locale. Il teorema di Lax-Wendroff garantisce che un metodo numerico convergente converge in una soluzione debole della legge di conservazione iperbolica solo se il metodo è conservativo.

Non solo devi usare un metodo conservativo, ma devi anche usare un metodo che conservi le giuste quantità. C'è un bell'esempio che spiega questo in "Metodi a volume finito per problemi iperbolici" di LeVeque, Sezione 11.12 e Sezione 12.9. Se discretizzi l'equazione di Burgers

ut+1/2(u2)x=0

tramite la discretizzazione coerente

Uin+1=UinΔtΔxUin(UinUi1n)

noterai che gli shock si muovono alla velocità sbagliata, non importa quanto raffini la griglia. Cioè, la soluzione numerica non converge alla soluzione reale . Se invece usi la discretizzazione conservativa

Uin+1=UinΔt2Δx((Uin)2(Ui1n)2)

in base alla differenza di flusso, gli shock si sposteranno alla velocità corretta (che è la media degli stati a sinistra e a destra dello shock, per questa equazione). Questo esempio è illustrato in questo notebook IPython che ho scritto .

Per i PDE iperbolici lineari e per altri tipi di PDE che in genere hanno soluzioni lisce, la conservazione locale non è un ingrediente necessario per la convergenza. Tuttavia, può essere importante per altri motivi (ad esempio, se la massa totale è una quantità di interesse).


6

Penso che una risposta alla tua domanda sia che alcune comunità hanno sempre usato schemi conservativi e quindi è diventata parte del "modo in cui è stata fatta". Si potrebbe discutere se questo sia il modo migliore per farlo, ma è altrettanto fruttuoso come chiedere agli inglesi di guidare a destra perché sarebbe semplicemente più conveniente avere solo sul lato standard.

u+Kp=0u=ftS+uS=q.
h0, ma l'insistenza nel garantire che questa proprietà sia valida anche per maglie finite ha un senso.

3

Molte volte, le equazioni da risolvere rappresentano una legge di conservazione fisica. Ad esempio, le equazioni di Eulero per la fluidodinamica sono rappresentazioni della conservazione di massa, quantità di moto ed energia. Dato che la realtà di base che stiamo modellando è conservativa, è vantaggioso scegliere metodi che siano anche conservativi

Puoi anche vedere qualcosa di simile con i campi elettromagnetici. Le leggi di Maxwell includono la condizione libera da divergenze per il campo magnetico, ma quell'equazione non è sempre usata per l'evoluzione dei campi. Un metodo che conserva questa condizione (ad esempio: trasporto vincolato) aiuta ad abbinare la fisica della realtà.

Modifica: @hardmath ha sottolineato che ho dimenticato di affrontare la parte "cosa potrebbe andare storto" della domanda (Grazie!). La domanda si riferisce specificamente agli ingegneri, ma fornirò alcuni esempi dal mio campo (astrofisica) e spero che possano aiutare a illustrare le idee abbastanza da generalizzare a ciò che potrebbe andare storto in un'applicazione di ingegneria.

(1) Quando simuli una supernova, hai una dinamica dei fluidi collegata a una rete di reazione nucleare (e altra fisica, ma la ignoreremo). Molte reazioni nucleari dipendono fortemente dalla temperatura, che (per un'approssimazione del primo ordine) è una misura dell'energia. Se non riesci a conservare l'energia, la tua temperatura sarà troppo alta (nel qual caso le tue reazioni corrono troppo velocemente e introducerai molta più energia e otterrai una fuga che non dovrebbe esistere) o troppo bassa (nel qual caso le tue reazioni corri troppo lentamente e non puoi alimentare una supernova).

(2) Quando si simulano le stelle binarie, è necessario rifondere l'equazione del momento per preservare il momento angolare. Se non riesci a conservare il momento angolare, le tue stelle non possono orbitarsi correttamente l'una con l'altra. Se ottengono un momento angolare extra, si separano e smettono di interagire correttamente. Se perdono il momento angolare, si schiantano l'uno contro l'altro. Problemi simili si verificano durante la simulazione di dischi stellari. La conservazione del momento (lineare) è desiderabile, perché le leggi della fisica conservano il momento lineare, ma a volte devi abbandonare il momento lineare e conservare il momento angolare perché questo è più importante per il problema in questione.

Devo ammettere che, nonostante citi la condizione libera da divergenze dei campi magnetici, non sono così ben informato lì. Il mancato mantenimento della condizione priva di divergenze può generare monopoli magnetici (di cui non abbiamo prove al momento), ma non ho buoni esempi di problemi che potrebbero causare in una simulazione.


I metodi che non impongono esplicitamente una condizione priva di divergenze (ad esempio sulle funzioni di prova di un metodo Galerkin) sembrano essere una buona illustrazione di ciò che la domanda chiede, ma sarebbe un miglioramento discutere "[w] hat potrebbe andare storto "in tale contesto. So che ci sono stati documenti a riguardo nel contesto dell'incomprimibile Navier-Stokes.
Hardmath,

Grazie, @hardmath, per aver sottolineato che non ho affrontato l'aspetto "cosa potrebbe andare storto" della domanda. Non uso l'incomprimibile Navier-Stokes, ma ho fornito alcuni esempi con cui ho familiarità. Non ho molta conoscenza della conservazione nei PDE ellittici, quindi l'ho lasciato fuori.
Brendan,

1

Oggi mi imbatto in una tesi The EMAC Scheme for Navier-Stokes Simulazioni e Application to Flow Past Bluff Bodies e noto che la Sezione 1.2 di essa risponde alla domanda di OP, almeno in parte. Le parti rilevanti sono:

È ampiamente creduto nella comunità della fluidodinamica computazionale ( CFD ) che più la fisica è integrata nella discretizzazione, più accurate e stabili sono le soluzioni discrete, specialmente su intervalli di tempo più lunghi. Nel 1959 N. Phillips [42] costruì un esempio per l'equazione barotropica della vorticità non lineare (usando uno schema a differenza finita), in cui l'integrazione a lungo termine dei termini di convezione si traduce in un fallimento di simulazioni numeriche per qualsiasi fase temporale. In [4] Arakawa ha dimostrato che si possono evitare problemi di instabilità con l'integrazione a lungo se l'energia cinetica e l'astrofia (in 2D) sono conservate da uno schema di discretizzazione. ... Nel 2004, Liu e Wang si sono sviluppati per conservare l'elicità e l'energia per i flussi tridimensionali. In [35] , presentano uno schema di conservazione dell'energia e dell'elicità per i flussi assimmetrici. Mostrano anche che il loro doppio schema di conservazione elimina la necessità di una grande viscosità numerica non fisica. ...

... È noto da decenni nel CFD che più quantità fisiche sono conservate da uno schema a elementi finiti, più accurata è la previsione, specialmente su lunghi intervalli di tempo. Pertanto, le soluzioni fornite da uno schema più accurato fisicamente sono anche più rilevanti dal punto di vista fisico. Se uno potesse permettersi una mesh completamente risolta e un passo temporale infinitamente piccolo, si ritiene che tutti gli schemi di elementi finiti comunemente usati forniscano le stesse soluzioni numeriche. Tuttavia, in pratica non è possibile permettersi una mesh completamente risolta nelle simulazioni 3D, soprattutto per problemi dipendenti dal tempo. Ad esempio nel capitolo 2 abbiamo bisogno di 50-60 mila passi temporali, in cui ogni passo temporale richiede la risoluzione di un sistema lineare sparso con 4 milioni di incognite. Ciò ha richiesto 2-3 settimane di tempo di calcolo con codice altamente parallelo su 5 nodi con 24 core ciascuno.

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.