Tôi đã thực hiện một quan sát kỳ lạ trong khi tính toán giải pháp cho phương trình khuếch tán phản ứng 1D đơn giản:
Giá trị ban đầu của là một hằng số ( b ( 0 , x ) = b 0 ), và tôi chỉ quan tâm đến không thể thiếu trong một từ 0 để 1 ( ∫ 1 0 một ( t , x ) d t ). Mục đích của c và phương trình ∂chỉ là để đánh giá tích phân này.
Tôi đã sử dụng sơ đồ phân tách Strang cho sự kết hợp giữa khuếch tán và phản ứng (phản ứng nửa bước, sau đó là khuếch tán toàn bước, rồi lại phản ứng nửa bước), sơ đồ Crank Nicholson để khuếch tán và giải pháp phân tích cho phản ứng ( bao gồm các phương trình ).
Bởi vì một bước của giải pháp phân tích chậm hơn một yếu tố 3 so với một bước của sơ đồ Crank Nicholson, tôi đã cố gắng thực hiện nhiều hơn một bước Crank Nicholson cho mỗi bước phản ứng. Tôi đã hy vọng có được với ít bước hơn trong sơ đồ chia tách Strang, để tôi sẽ nhanh hơn về tổng thể.
Tuy nhiên, hiệu ứng ngược lại có thể được quan sát, cụ thể là cần nhiều bước hơn cho sơ đồ phân tách Strang nếu cần sử dụng nhiều hơn một bước Crank Nicholson. (Tôi chỉ quan tâm đến tính chính xác của các tích phân trên , mà dường như hội tụ nhanh hơn so với một chính nó.) Sau khi tự hỏi một thời gian, tôi nhận thấy rằng tác dụng tương tự cũng xảy ra cho b ( t , x ) = b 0 = 0 , và tôi thậm chí hiểu lý do tại sao cho trường hợp này. Vấn đề là nếu tôi thực hiện chính xác một bước Crank Nicholson, thì sơ đồ tổng thể biến thành quy tắc hình thang (nếu b ( t ) = 0 ).
Vì vậy, nếu tôi sẽ đối xử với như là một phần của bước khuếch tán, tăng số lượng các bước Crank Nicholson (có lẽ) sẽ không dẫn đến giảm độ chính xác tổng thể (như quan sát). Nhưng điều đó dường như đánh bại mục đích sử dụng một giải pháp phân tích cho phần phản ứng (phi tuyến tính và có khả năng rất cứng) của hệ thống.
Vì vậy, đây là câu hỏi của tôi: Có cách nào tốt hơn để điều trị trong bối cảnh phân tách Strang, hơn là coi nó như một phần của bước phản ứng, hoặc coi nó như một phần của bước khuếch tán. Tôi muốn tránh bị "ép buộc" sử dụng chính xác một bước Crank Nicholson để khuếch tán. .