Hice una observación extraña mientras calculaba la solución a una ecuación de difusión de reacción 1D simple:
El valor inicial de es una constante), y solo me interesa la integral sobre desde a () El propósito de y la ecuación es solo evaluar esta integral.
Utilicé un esquema de división de Strang para el acoplamiento entre difusión y reacción (una reacción de medio paso, luego una difusión de paso completo, y luego una reacción de medio paso), un esquema de Crank Nicholson para la difusión y una solución analítica para la reacción ( incluyendo la ecuación )
Debido a que un paso de la solución analítica fue más de un factor 3 más lento que un paso del esquema de Crank Nicholson, intenté hacer más de un paso de Crank Nicholson para cada paso de reacción. Esperaba sobrevivir con menos pasos del esquema de división de Strang, para ser más rápido en general.
Sin embargo, se puede observar el efecto contrario, a saber, que se requieren muchos más pasos para el esquema de división de Strang si se usa más de un paso de Crank Nicholson. (Solo me preocupa la precisión de la integral sobre, que parece converger más rápido que en sí.) Después de preguntarme por un tiempo, noté que el mismo efecto también ocurre para , y que incluso entiendo por qué para este caso. El punto es que si hago exactamente un paso de Crank Nicholson, entonces el esquema general se convierte en una regla trapezoidal (si)
Entonces si tratara Como parte del paso de difusión, aumentar el número de pasos de Crank Nicholson (probablemente) no conduciría a una precisión general reducida (como se observó). Pero eso parece anular el propósito de usar una solución analítica para la parte de reacción (no lineal y potencialmente muy rígida) del sistema.
Así que aquí está mi pregunta: ¿hay una mejor manera de tratar en el contexto de una división de Strang, que tratarlo como parte del paso de reacción o tratarlo como parte del paso de difusión. Quiero evitar ser "forzado" a usar exactamente un paso de Crank Nicholson para la difusión. (Por ejemplo, en 3D, preferiría resolver la difusión analíticamente mediante una FFT en lugar de usar Crank Nicholson. Por supuesto, también puedo combinar FFT con Crank Nicholson, por lo que no es tan importante).
fuente
Respuestas:
Voy a escribir esto como respuesta, aunque no responde directamente a la pregunta.
Conectando la segunda ecuación y la tercera ecuación a la primera, y conectando la tercera a la segunda, juntas dan:
Sustituciónc por c−c0 , o equivalentemente usando las condiciones iniciales c0(x)=0 , esta ecuación se simplifica a
Solo he recorrido esta derivación dos veces, por lo que puede haber un error o dos en ella, pero me parece correcta. Sib0=0 en todas partes, entonces esta es claramente la solución correcta, y de lo contrario tiene una pizca de plausibilidad.
Resolviendo esto hastat=1 y evaluando c(x,1) debería darte la respuesta que estás buscando.
fuente