ฉันสังเกตอย่างประหลาดขณะคำนวณวิธีแก้ปัญหาไปยังสมการการแพร่กระจายปฏิกิริยา 1D แบบง่าย:
ค่าเริ่มต้นของคือค่าคงที่ ( ) และฉันสนใจอินทิกรัลมากกว่าตั้งแต่ถึง ( ) วัตถุประสงค์ของและสมการเป็นเพียงการประเมินอินทิกรัลนี้
ฉันใช้รูปแบบการแยก Strang สำหรับการมีเพศสัมพันธ์ระหว่างการแพร่และปฏิกิริยา (ปฏิกิริยาครึ่งขั้นตอนจากนั้นเป็นการแพร่กระจายแบบเต็มขั้นตอนและจากนั้นอีกครึ่งปฏิกิริยาแบบขั้นตอน) แผน Crank Nicholson สำหรับการแพร่และโซลูชันการวิเคราะห์สำหรับปฏิกิริยา ( รวมถึงสมการ )
เนื่องจากหนึ่งขั้นตอนของโซลูชันการวิเคราะห์เป็นมากกว่า 3 ปัจจัยที่ช้ากว่าหนึ่งขั้นตอนของแผนการ Crank Nicholson ฉันจึงพยายามทำมากกว่าหนึ่งขั้นตอนของ Crank Nicholson สำหรับแต่ละขั้นตอนของปฏิกิริยา ฉันหวังว่าจะได้ผ่านขั้นตอนที่น้อยลงของแผนการแบ่ง Strang เพื่อที่ฉันจะได้เร็วขึ้นโดยรวม
อย่างไรก็ตามผลตรงกันข้ามสามารถสังเกตได้คือจำเป็นต้องใช้ขั้นตอนมากขึ้นสำหรับการแบ่ง Strang หากใช้ขั้นตอน Crank Nicholson มากกว่าหนึ่งขั้น (ฉันเกี่ยวข้องเฉพาะกับความถูกต้องของหนึ่งในช่วงซึ่งดูเหมือนว่าจะมาบรรจบกันได้เร็วกว่าตัวเอง.) หลังจากที่สงสัยว่าบางครั้งผมสังเกตเห็นว่าผลเช่นเดียวกันยังเกิดขึ้นสำหรับและฉันก็เข้าใจว่าทำไมในกรณีนี้ ประเด็นก็คือว่าถ้าฉันทำหนึ่งขั้นตอน Crank Nicholson แล้วรูปแบบโดยรวมจะเปลี่ยนเป็นกฎสี่เหลี่ยมคางหมู (ถ้า )
ดังนั้นถ้าฉันจะปฏิบัติต่อเป็นส่วนหนึ่งของขั้นตอนการแพร่การเพิ่มจำนวนของขั้นตอน Crank Nicholson (อาจ) จะไม่ทำให้ความแม่นยำโดยรวมลดลง (เท่าที่สังเกต) แต่ดูเหมือนว่าจะเอาชนะวัตถุประสงค์ของการใช้โซลูชันการวิเคราะห์สำหรับส่วนปฏิกิริยา (ไม่เชิงเส้นและแข็งมาก) ของระบบ
ดังนั้นนี่คือคำถามของฉัน: มีวิธีที่ดีกว่าในการรักษาในบริบทของการแยก Strang มากกว่าที่จะถือว่าเป็นส่วนหนึ่งของขั้นตอนการเกิดปฏิกิริยาหรือ มันเป็นส่วนหนึ่งของขั้นตอนการแพร่กระจาย ฉันต้องการหลีกเลี่ยงการถูก "บังคับ" ให้ใช้ขั้นตอน Crank Nicholson เพียงจุดเดียวสำหรับการแพร่กระจาย (ตัวอย่างเช่นใน 3D ฉันต้องการแก้ไขการแพร่กระจายโดย FFT แทนที่จะใช้ Crank Nicholson แน่นอนว่าฉันสามารถรวม FFT กับ Crank Nicholson ได้ด้วยดังนั้นจึงไม่ใช่เรื่องใหญ่อะไร)