Technology

การแก้สมการการแพร่แบบชัดแจ้ง (Solving the Diffusion Equation Explicitly)

2025-05-09 08:28:08


โพสต์นี้เป็นส่วนหนึ่งของชุดบทความเกี่ยวกับวิธีการอนุพันธ์จำกัด โพสต์อื่นในซีรีส์นี้มุ่งเน้นไปที่การประมาณอนุพันธ์ วิธีการแบบแฝงของ Crank-Nicolson และตัวแก้ปัญหาTridiagonal Matrix Solver/Thomas Algorithm:

  • การประมาณอนุพันธ์ด้วยวิธีผลต่างจำกัด
  • การแก้สมการการแพร่แบบชัดแจ้ง (Explicit)
  • วิธี Crank-Nicholson แบบปริยาย
  • การแก้ระบบเมทริกซ์สามแนวทแยงด้วยอัลกอริธึมของโธมัส


ในส่วนที่ 1 ของซีรีส์เกี่ยวกับวิธีการต่างๆ ของอนุพันธ์จำกัด ได้แสดงให้เห็นว่าอนุพันธ์ต่อเนื่องสามารถประมาณค่าและนำไปใช้กับโดเมนเชิงพาณิชย์ได้ ขั้นตอนถัดไปคือการนำอนุพันธ์เหล่านี้ไปใช้กับสมการพาร์โบลิก PDE สมการความร้อนเป็นตัวอย่างมาตรฐานของสมการเชิงอนุพันธ์ย่อยพาราโบลิก และตอนนี้จะถูกทำให้เป็นเชิงเลข


สมการความร้อนพร้อมเงื่อนไขเริ่มต้น g มีดังนี้:


ft=2fx2,f(x,0)=g(x)


สิ่งนี้ถูกแบ่งเป็นช่วงโดยการใช้ความแตกต่างไปข้างหน้าในอนุพันธ์ตามเวลาและความแตกต่างที่สองแบบศูนย์กลางสำหรับเทอมการแพร่กระจายเพื่อให้ได้:


fin+1finΔt=fi+1n2fin+fi1n(Δx)2


สมการนี้สามารถจัดเรียงใหม่สำหรับ fin+1 เพื่อให้ได้:


fin+1=fin+Δt(Δx)2(fi+1n2fin+fi1n)



การคำนวณหาคำตอบ

สำหรับ n=1 การประมาณทั้งหมดของวิธีแก้ปัญหา f เป็นที่ทราบกันอยู่แล้วในด้านขวาของสมการ สิ่งนี้ทำให้สมการชัดเจน ดังนั้นงานที่เหลือเพียงอย่างเดียวคือการกำหนด Δt ซึ่งตั้งไว้ที่ (Δx)2 ดังนั้นสมการจึงลดลงเป็น:


fin+1=fi+1nfin+fi1n


สูตรนี้จะอนุญาตให้คำนวณ fi2 สำหรับ i1,...,I ทั้งหมด เนื่องจากการประมาณค่า g จะให้เงื่อนไขเริ่มต้นแบบแบ่งส่วน ให้ gi เป็นการประมาณค่าเช่นนี้ โดยมี 'ฮีตบัมพ์' สามจุดและใช้ I=13 จากนั้นค่าของ gi จะได้ดังนี้:


0010012100100


สิ่งนี้จะช่วยให้สามารถสร้างวิธีแก้ปัญหาได้โดยการก้าวหน้าออกจากสภาวะเริ่มต้นในลักษณะตามเวลา สิ่งนี้เรียกว่าเป็นการแก้ปัญหาแบบก้าวเวลาขึ้น:


n=10010012100100n=20111110111110n=31231102011321n=43665232325663


สำหรับ n=4 โซลูชันที่ถูกแบ่งส่วนจะมีการแกว่งตัวอย่างรุนแรงและไม่มีความคล้ายคลึงกับโซลูชันที่ต่อเนื่อง ซึ่งมีการตีความทางกายภาพว่าเป็นการกระจายความร้อนที่เป็นคลื่น ชัดเจนว่าหนึ่งในสมมติฐานที่ทำเกี่ยวกับสูตรนั้นไม่ถูกต้อง



ความเสถียรภาพ

ปรากฏว่าปัญหาอยู่ที่การเลือกขนาดของช่วงเวลา Δt เทียบกับขนาดของช่วงเชิงพื้นที่ Δx เกณฑ์ความเสถียรที่ถูกต้องคือ:


Δt(Δx)212


เกินกว่าขอบเขตของบทความนี้ที่จะพิสูจน์ผลลัพธ์นี้ แต่โปรดสังเกตว่ามันได้กำหนดข้อจำกัดที่สำคัญต่อช่วงเวลา - ปัญหาที่จะได้รับการแก้ไขในบทความถัดไป


การใช้เกณฑ์ความเสถียรใหม่นี้ โดยใช้ Δt=0.5×(Δx)2 กับสูตรข้างต้น จะให้ผลลัพธ์ดังนี้:


fin+1=12fi+1n+12fi1n


การคำนวณสำหรับสูตรนี้ให้:


n=10010012100100n=200.500.50.51110.50.500.50n=30.2500.50.250.750.7510.750.750.250.500.25n=400.3750.1250.6250.50.8750.750.8750.50.6250.1250.3750


นี่เป็นการประมาณที่แม่นยำต่อคำตอบที่แท้จริง ไม่มีค่าลบและการตีความทางกายภาพของความร้อนที่แพร่กระจายผ่านแท่ง 1 มิติสอดคล้องกับวิธีแก้ปัญหา



บทสรุป

การเลือกช่วงเวลาเป็นสิ่งที่จำกัดมาก ในทางปฏิบัติ ด้วยตาข่ายเชิงพื้นที่ที่ละเอียด เวลาในการก้าวจะเล็กเกินไป บทความถัดไปจะนำเสนอวิธีการอีกวิธีหนึ่งเพื่อแก้ปัญหาขั้นตอนเวลาที่เล็กเกินไป




อ้างอิง : Solving the Diffusion Equation Explicitly

จาก https://www.quantstart.com/articles/Solving-the-Diffusion-Equation-Explicitly/

ร่วมเเสดงความคิดเห็น :

บทความอื่นๆที่น่าสนใจ

บทความที่น่าสนใจอื่นๆยังมีอีกมากลองเลืือกดูจากด้านล่างนี้ได้นะครับ