Ho fatto una strana osservazione mentre calcolavo la soluzione per una semplice equazione di diffusione della reazione 1D:
Il valore iniziale di è una costante ( b ( 0 , x ) = b 0 ) e mi interessa solo l'integrale su a da 0 a 1 ( ∫ 1 0 a ( t , x ) d t ). Lo scopo di c e l'equazione ∂è proprio quello di valutare questo integrale.
Ho usato uno schema di divisione Strang per l'accoppiamento tra diffusione e reazione (una reazione a mezzo passo, poi una diffusione a passo intero e poi ancora una reazione a mezzo passo), uno schema di Crank Nicholson per la diffusione e una soluzione analitica per la reazione ( compresa l'equazione ).
Poiché un passaggio della soluzione analitica era più di un fattore 3 più lento di un passaggio dello schema di Crank Nicholson, ho cercato di fare più di un passaggio di Crank Nicholson per ogni passaggio di reazione. Speravo di cavarmela con meno passaggi dello schema di scissione Strang, in modo da essere complessivamente più veloce.
Tuttavia, si può osservare l'effetto opposto, vale a dire che sono necessari molti più passaggi per lo schema di suddivisione Strang se si utilizza più di un passo Crank Nicholson. (Mi interessa solo l'accuratezza dell'integrale rispetto a , che sembra convergere più velocemente di un se stesso.) Dopo essermi domandato per qualche tempo, ho notato che lo stesso effetto si verifica anche per b ( t , x ) = b 0 = 0 e che capisco persino perché per questo caso. Il punto è che se eseguo esattamente un passo di Crank Nicholson, lo schema complessivo si trasforma in una regola trapezoidale (se b ( t ) = 0 ).
Quindi se trattassi come parte della fase di diffusione, aumentando il numero di passi manovella Nicholson (probabilmente) non porterebbe a ridurre il grado di precisione (come osservato). Ma questo sembra vanificare lo scopo di usare una soluzione analitica per la parte (non lineare e potenzialmente molto rigida) del sistema.
Quindi, ecco la mia domanda: esiste un modo migliore di trattare nel contesto di una scissione Strang, piuttosto che alla trattare come parte della fase di reazione, o per trattare come parte della fase di diffusione. Voglio evitare di essere "costretto" a usare esattamente un passo di Crank Nicholson per la diffusione. (Ad esempio in 3D, preferirei risolvere la diffusione analiticamente con una FFT invece di usare Crank Nicholson. Naturalmente posso anche combinare FFT con Crank Nicholson, quindi non è un grosso problema.)