ตัวแก้สมการเชิงอนุพันธ์สามัญสำหรับระบบทางฟิสิกส์
สมการการเคลื่อนที่ส่วนใหญ่ในทางฟิสิกส์เป็นสมการเชิงอนุพันธ์สามัญที่ขึ้นกับเวลา และการแก้สมการเหล่านี้ด้วยคอมพิวเตอร์หมายถึงการก้าวสถานะไปข้างหน้าด้วยตัวรวมที่เลือกมาเพื่อรักษาสมดุลระหว่างความแม่นยำ ความเสถียร และบ่อยครั้งคือการอนุรักษ์พลังงาน
Definition
ตัวแก้สมการเชิงอนุพันธ์สามัญ (ODE solver) คืออัลกอริทึมที่ใช้ในการหาผลเฉลยเชิงตัวเลขของระบบสมการเชิงอนุพันธ์สามัญจากขั้นเวลาหนึ่งไปยังขั้นเวลาถัดไป โดยประมาณวิถีต่อเนื่องด้วยลำดับของสถานะที่ไม่ต่อเนื่อง
Scope
หัวข้อนี้ครอบคลุมการหาปริพันธ์เชิงตัวเลขของสมการเชิงอนุพันธ์สามัญค่าเริ่มต้นที่เกิดขึ้นในกลศาสตร์และพลศาสตร์: ตระกูล Euler และ Runge-Kutta, การควบคุมขนาดขั้นแบบปรับตัว และตัวรวมเชิงซิมเพล็กติกที่เคารพโครงสร้างทางเรขาคณิตของระบบแฮมิลตัน ไม่รวมสมการค่าขอบเขตและสมการเชิงอนุพันธ์ย่อย
Core questions
- สถานะของระบบถูกก้าวไปข้างหน้าตามเวลาได้อย่างไรในขณะที่ควบคุมข้อผิดพลาดจากการตัดทอน?
- เหตุใดแผนการ Runge-Kutta ลำดับสูงจึงมีความแม่นยำต่อขั้นดีกว่าการก้าวแบบ Euler อย่างง่าย?
- การควบคุมขนาดขั้นแบบปรับตัวจัดสรรความพยายามอย่างไรในกรณีที่พลศาสตร์มีความแข็ง (stiff) หรือรวดเร็ว?
- เหตุใดตัวรวมเชิงซิมเพล็กติกจึงอนุรักษ์ค่าคงที่คล้ายพลังงานของระบบในการจำลองระยะยาว?
Key theories
- การหาปริพันธ์แบบ Runge-Kutta
- วิธีการ Runge-Kutta ประเมินอนุพันธ์ที่จุดกึ่งกลางหลายจุดภายในขั้น และรวมเข้าด้วยกันเพื่อยกเลิกพจน์ข้อผิดพลาดลำดับต่ำ โดยแผนการลำดับที่สี่แบบคลาสสิกให้ข้อผิดพลาดต่อขั้นที่ปรับขนาดตามกำลังที่ห้าของขนาดขั้น
- การควบคุมขนาดขั้นแบบปรับตัว
- คู่ Runge-Kutta แบบฝังจะประมาณข้อผิดพลาดเฉพาะที่โดยการเปรียบเทียบผลเฉลยสองแบบที่มีลำดับต่างกัน และปรับขนาดขั้นเพื่อให้ข้อผิดพลาดใกล้เคียงกับค่าความคลาดเคลื่อนเป้าหมาย โดยเน้นการทำงานในส่วนที่ผลเฉลยเปลี่ยนแปลงอย่างรวดเร็ว
- การหาปริพันธ์เชิงซิมเพล็กติก
- ตัวรวมเชิงซิมเพล็กติก เช่น แผนการแบบ leapfrog และ Verlet รักษาโครงสร้างปริภูมิเฟสของระบบแฮมิลตัน โดยจำกัดข้อผิดพลาดพลังงานในระยะยาว และทำให้เป็นตัวเลือกมาตรฐานสำหรับพลศาสตร์วงโคจรและพลศาสตร์โมเลกุล
Clinical relevance
ตัวแก้สมการเชิงอนุพันธ์สามัญใช้ในการหาปริพันธ์ของวงโคจรของดาวเคราะห์และยานอวกาศ พลศาสตร์ของออสซิลเลเตอร์และวงจรไฟฟ้า จลนพลศาสตร์ของปฏิกิริยาเคมี และสมการการเคลื่อนที่ในพลศาสตร์โมเลกุล ทำให้เป็นหนึ่งในเครื่องมือที่ใช้กันอย่างแพร่หลายที่สุดในวิทยาการคำนวณ
History
วิธีการ Runge-Kutta ได้รับการพัฒนาขึ้นประมาณปี 1900 โดย Carl Runge และ Wilhelm Kutta เพื่อเป็นวิธีในการหาปริพันธ์ของวิถีด้วยมือ การถือกำเนิดของคอมพิวเตอร์ทำให้ตัวแปรปรับตัวลำดับสูงมีความเป็นไปได้ในทางปฏิบัติ และการตระหนักถึงแผนการเชิงซิมเพล็กติกในช่วงปลายศตวรรษที่ 20 ได้ให้รากฐานทางเรขาคณิตสำหรับการจำลองระยะยาว
Key figures
- Carl Runge
- Martin Wilhelm Kutta
- Ernst Hairer
Related topics
Seminal works
- hairer1993
- newman2013
Frequently asked questions
- เหตุใดวิธีการ Runge-Kutta ลำดับที่สี่จึงเป็นที่นิยมมาก?
- วิธีนี้ให้การประนีประนอมที่ดีระหว่างความแม่นยำและต้นทุน: การประเมินอนุพันธ์สี่ครั้งต่อขั้นให้ความแม่นยำลำดับที่สี่ ซึ่งมักจะเพียงพอสำหรับปัญหาทางฟิสิกส์ที่ราบรื่นโดยไม่ต้องมีการจัดการที่ซับซ้อนของแผนการลำดับสูงกว่าหรือแบบปรับตัว
- ควรใช้ตัวรวมเชิงซิมเพล็กติกเมื่อใดแทน Runge-Kutta?
- สำหรับการจำลองระยะยาวของระบบแฮมิลตัน เช่น วงโคจรหรือพลศาสตร์โมเลกุล ตัวรวมเชิงซิมเพล็กติกจะรักษาข้อผิดพลาดพลังงานให้มีขอบเขตตลอดหลายล้านขั้น ในขณะที่วิธีการ Runge-Kutta มาตรฐานมักจะมีการเลื่อนไหลของพลังงานอย่างช้าๆ