È possibile risolvere PDE non lineari senza utilizzare l'iterazione di Newton-Raphson?


15

Sto cercando di capire alcuni risultati e apprezzerei alcuni commenti generali sulla lotta ai problemi non lineari.

Equazione di Fisher (una PDE non lineare di reazione-diffusione),

ut=duxx+βu(1u)=F(u)

in forma discreta,

uj=Lu+βuj(1uj)=F(u)

dove L è l'operatore differenziale e u=(uj1,uj,uj+1) è lo stencil di discretizzazione.

Metodo

Desidero applicare uno schema implicito perché ho bisogno di stabilità e di tempi illimitati. A questo scopo sto usando il metodo θ (nota che θ=1 fornisce uno schema completamente implicito e θ=0.5 dà lo schema trapezoidale o "Crank-Nicolson"),

uj=θF(un+1)+(1θ)F(un)

Tuttavia, per problemi non lineari questo non può essere fatto perché l'equazione non può essere scritta in una forma lineare.

Per aggirare questo problema ho esplorato due approcci numerici,

  1. Metodo IMEX

    uj=θLun+1+(1θ)Lunθmethod diffusion term+βujn(1ujn)Fully explicit reaction term

    La via più ovvia è ignorare la parte non lineare del termine di reazione e semplicemente aggiornare il termine di reazione con il miglior valore possibile, cioè quello della fase temporale precedente. Ciò comporta il metodo IMEX.

  2. Risolutore di Newton

νk+1=νk(IθτAn)1(νkun(1θ)τF(wn)θτF(wn+1))

L' equazione del metodo completa può essere risolta usando l'iterazione di Newton-Raphson per trovare la futura variabile di soluzione. Dove è l'indice di iterazione ( ) e è la matrice giacobina di . Qui uso i simboli per le variabili di iterazione in modo tale che si distinguano dalla soluzione dell'equazione in un punto in tempo reale . Questo è in realtà un risolutore Newton modificato perché Jacobian non viene aggiornato con ogni iterazione.k k 0 A n F ( w n ) ν k u nθkk0AnF(wn)νkun

risultati

Confronto di equazioni di Fisher di metodi numerici.

I risultati sopra riportati sono calcolati per un intervallo di tempo ragionevolmente ampio e mostrano la differenza tra l'approccio di stepping temporale e un solutore di iterazioni di Newton completo.

Cose che non capisco:

  1. Sono sorpreso che il metodo del time stepping faccia "OK", ma alla fine è in ritardo rispetto alla soluzione analitica col passare del tempo. ( NB se avessi scelto un passo temporale più piccolo, l'approccio del passo temporale dà risultati chiusi al modello analitico). Perché l'approccio time-stepping dà risultati ragionevoli a un'equazione non lineare?

  2. Il modello di Newton fa molto meglio, ma inizia a guidare il modello analitico col passare del tempo. Perché l'accuratezza dell'approccio di Newton diminuisce nel tempo? È possibile migliorare la precisione?

  3. Perché c'è una caratteristica generale che dopo molte iterazioni poi il modello numerico e il modello analitico iniziano a divergere? È solo perché il passo temporale è troppo grande o accadrà sempre?


Consiglio di leggere l'analisi degli errori di base dei solutori ODE, ad esempio in Hairer / Nørsett / Wanner, oltre ad alcune analisi di stabilità. Alla maggior parte delle tue domande verrà data risposta.
Guido Kanschat,

1
@boyfarrell, per evitare confusione con gli altri lettori, dovresti mettere la terminologia giusta spiegando il tuo metodo: 1. IMEX - esplicito nella non linearità e implicito nella parte lineare. 2. questo è lo standard -scheme, che in genere richiedono il metodo di Newton per risolvere per l'aggiornamentoθ
gen

1
Ciao @Jan, penso di aver ottenuto tutto. Grazie ancora per il vostro aiuto.
boyfarrell,

Risposte:


9

Presumo che tu abbia condotto una discretizzazione dello spazio, in modo che tu stia risolvendo l'ODE (con valori vettoriali) tramite uno schema numerico che fa avanzare l'approssimazione nell'istanza temporale attuale al valore successivo at .Φu n h t=tnu n + 1 h t=tn+1:=tn+τ

u˙h(t)=Fh(t,uh(t)), on [0,T] ,uh(0)=α.
Φuhnt=tnuhn+1t=tn+1:=tn+τ

Quindi le tue domande si riferiscono alle proprietà di esplicito , dove l'aggiornamento scrive come

uhn+1=uhn+Φe(tn,τ,uhn),

implicito , scritto come

uhn+1=uhn+Φi(tn,τ,uhn+1,uhn),()

o una combinazione di entrambi (' IMEX ', vedi la risposta di @Jed Brown) schemi a passo singolo in un solo passaggio.

In questa configurazione, il metodo Newton è semplicemente un approccio per risolvere i sistemi possibilmente non lineari in risultanti da . ( )uhn+1()

E le mie risposte si basano sui risultati dell'analisi numerica dei metodi a passo singolo.

  1. Se si utilizzano schemi convergenti, in termini di ordine di convergenza, non vi è alcun vantaggio generale nell'utilizzare schemi impliciti (vedere. 2.). Tuttavia, per i sistemi rigidi, ad esempio il sistema che contiene un Laplaciano, esistono schemi impliciti che sono stabili senza restrizioni temporali. Tuttavia, in teoria, per lo schema esplicito, si ottengono risultati migliori con intervalli di tempo più piccoli, purché l'equazione stessa sia stabile (ad esempio, facendo riferimento al teorema di Picard-Lindelof, se è Lipshitz nel secondo argomento) e il tuo tempo -step non è troppo piccolo.Fh
  2. Puoi trovare esempi in cui gli schemi espliciti funzionano meglio. (Teoricamente, puoi invertire il tempo nel tuo esempio, iniziare dal valore del terminale e trovare impliciti ed espliciti interscambiati.) Se l'errore Newton è sufficientemente piccolo, puoi comunque migliorare l'accuratezza diminuendo il tempo o usando il tempo schemi di avanzamento di ordine superiore.
  3. La costante nella stima dell'errore per l'errore globale cresce esponenzialmente con la lunghezza dell'intervallo di tempo. Vedi, ad esempio, qui per lo schema esplicito di Eulero. Questo è vero per ogni metodo a singolo passaggio. Poiché la stima è di tipo , , una fase temporale più piccola rimanda solo questo effetto.e r r C τ p p > 0 τCerrCτpp>0τ

Qualche commento in più e la risposta finale:

  • Gli schemi IMEX possono essere usati per trattare implicitamente solo la parte lineare che evita i risolti non lineari. Vedi la risposta di Jed Brown.
  • Crank-Nicolson è un metodo a passo singolo. Il 'multi' nei metodi multi-step si riferisce all'uso di un numero di timestep precedenti per definire l'aggiornamento corrente. Ad esempio, Questo è molto diverso dai metodi a passaggio singolo e anche a passaggi divisi o IMEX, in cui l'aggiornamento è definito non ricorrente ai valori precedenti.
    uhn+1=Φm(tn,τ,uhn+1,uhn,uhn1).

Quindi, la mia risposta è: , è possibile risolvere PDE non lineari senza il metodo di Newton. È possibile utilizzare schemi espliciti, schemi "IMEX" o cosiddetti metodi linearmente impliciti (ad esempio i metodi Rosenbrock). Inoltre, è possibile utilizzare altri approcci per risolvere i sistemi da come l'iterazione in virgola fissa o, in casi particolari, i solutori algebrici.()


Sì, ho applicato lo stencil di differenza centrale standard al termine di diffusione. Non riesco a usare uno schema esplicito (per il vero problema che voglio risolvere) perché il passo temporale stabile è irrealisticamente piccolo. Questo è il motivo per cui sto esplorando IMEX o opzioni implicite. Per quanto riguarda il tuo terzo punto, per evitare l'accumulo di errori devo usare un metodo a più fasi. Lo schema Crank-Nicolson che ho usato sopra (con il solutore Newton) è classificato come un metodo a più fasi (ha due punti nel tempo)? Sono rimasto sorpreso dall'errore aumentato nel tempo quando ho usato il metodo del solutore Newton.
boyfarrell,

Crank-Nicolson è un metodo a passaggio singolo, poiché scrive come . Inoltre, non vedo perché gli schemi a più passaggi dovrebbero evitare l'accumulo di errori. uhn+1=uhn+Φ(tn,τn,uhn,uhn+1)
Jan

1
OK grazie per aver spiegato il metodo CN. Sì, è interessante il motivo per cui i metodi a più fasi sembrano avere un accumulo di errori inferiore. Il motivo per cui il solutore di Newton ha accumulato errori è perché è un metodo a passo singolo, lo capisco ora. A proposito, so che ti piace Python. Ho fatto tutto quanto sopra usando scipy, numpy e matplotlib, gist.github.com/danieljfarrell/6353776
boyfarrell

Ho rimosso il collegamento al documento di Trefethen et. al. sull'integrazione IMEX di alto livello dalla mia risposta in quanto vi sono riferimenti migliori per conoscere gli schemi IMEX.
Jan

12

Risposta breve

Se desideri solo la precisione del secondo ordine e nessuna stima dell'errore incorporata, è probabile che sarai soddisfatto della suddivisione di Strang: mezzo passo di reazione, pieno passo di diffusione, mezzo passo di reazione.

Risposta lunga

La reazione-diffusione, anche con reazione lineare, è famosa per dimostrare l'errore di scissione. In effetti, può essere molto peggio, incluso "convergere" in stati stazionari errati, scambiare stati stazionari per cicli limite, confondere configurazioni stabili e instabili e altro ancora. Vedi Ropp, Shadid e Ober (2004) e Knoll, Chacon, Margolin e Mousseau (2003) per la prospettiva dei fisici computazionali su questo. Per l'analisi del matematico in termini di condizioni d'ordine, vedi il libro di Hairer e Wanner sull'ODE rigido (i metodi Rosenbrock-W sono un metodo IMEX linearmente implicito), Kennedy e Carpenter (2003) per "additivo" IMEX non implicitamente lineare Runge-Kutta, e la pagina di Emil Constantinescu per i metodi IMEX più recenti.

In generale, i metodi IMEX hanno più condizioni dell'ordine rispetto ai soli metodi impliciti ed espliciti sottostanti. Le coppie di metodi IMEX possono essere progettate con la stabilità lineare e non lineare desiderata e in modo tale da soddisfare tutte le condizioni dell'ordine fino all'ordine di progettazione del metodo. Soddisfare tutte le condizioni dell'ordine manterrà l'errore di divisione asintotica della stessa scala dell'errore in ogni schema separatamente. Non dice nulla sul regime pre-asintotico (grandi intervalli di tempo / requisiti di bassa precisione), ma raramente è più rigoroso della risoluzione di ciascuna parte separatamente. In ogni caso, l'errore di divisione è visibile allo stimatore di errori incorporato (quando si utilizza il controllo adattativo degli errori).

PETSc ha molti metodi IMEX delle famiglie Rosenbrock-W e additiva Runge-Kutta e avrà estrapolazione e IMEX multistep lineare nella prossima versione.

Dichiarazione di non responsabilità: ho scritto gran parte del supporto per l'integrazione temporale di PETSc e ho collaborato con Emil (link sopra).


Sicuramente mi sto avvicinando a questo dal punto di vista della fisica, quindi tutti i dettagli tecnici richiedono del tempo perché io non conosca molti dei termini. In realtà sono uno sperimentatore! Spiegheresti qualcosa in più sulle condizioni dell'ordine? IMEX sono questi metodi a più fasi menzionati da Jan?
boyfarrell,

Le condizioni dell'ordine sono relazioni tra coefficienti dei metodi ODE (ad esempio, voci in un tabellone Butcher per i metodi Runge-Kutta) che devono essere soddisfatte per avere un ordine di accuratezza. Le condizioni dell'ordine sono discusse in qualsiasi libro o documento che progetta metodi di integrazione ODE, ma sostanzialmente equivale ad applicare ripetutamente derivati ​​e termini corrispondenti in un'espansione di Taylor. Il numero di condizioni di ordine aumenta rapidamente per i metodi di ordine elevato, motivo per cui diventa difficile progettare metodi di ordine elevato. Le barriere vengono stabilite mostrando che le condizioni dell'ordine sono reciprocamente incompatibili.
Jed Brown,
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.