1
คุณจะแก้จุดบกพร่องรหัสตัวเลขสิ่งที่อาจเป็นแหล่งที่มาของข้อผิดพลาดการแกว่งนี้
ความเงียบสงบของความเข้าใจอย่างลึกซึ้งจะได้รับประสบการณ์ในแบบฟอร์มฉันแค่สงสัยว่าถ้าใครเคยเห็นบางสิ่งบางอย่างที่คล้ายกันนี้มาก่อน เนื้อเรื่องแสดงสภาพเริ่มต้น (สีเขียว) สำหรับสมการการแพร่ - การแพร่กระจายแล้วสารละลายที่การวนซ้ำ 200 (สีน้ำเงิน) และอีกครั้งที่การทำซ้ำ 400 (สีแดง) คำตอบของสมการการแพร่ - การแพร่กระจายระเบิดขึ้นหลังจากการทำซ้ำสองสามครั้ง จำนวนPéclet และสภาพ CFL เป็นที่พอใจ, C ≈ 0.0015ดังนั้นสมการควรจะมีเสถียรภาพ ฉันคาดว่าฉันมีข้อผิดพลาดในรหัสตัวเลขμ ≈ 0.07μ≈0.07\mu\approx0.07ค≈ 0.0015ค≈0.0015C\approx 0.0015 พื้นหลัง. discretisation คือความแตกต่างที่สำคัญสำหรับทั้งเงื่อนไข advection และ diffusion ฉันเชื่อว่านี่เป็นคำสั่งแรกของการพาและคำสั่งที่สองสำหรับการแพร่ ฉันใช้สิ่งนี้โดยใช้วิธีไฟไนต์วอลลุ่ม (เป็นครั้งแรก) ซึ่งค่าสัมประสิทธิ์ (สัมประสิทธิ์ความเร็วและการแพร่) ที่เซลล์ใบหน้าพบได้โดยการประมาณค่าเชิงเส้นจากค่าเฉลี่ยของเซลล์ ฉันใช้เงื่อนไขขอบเขตของ Robin กับพื้นผิวซ้ายและขวาและตั้งค่าฟลักซ์ที่ขอบเขตเป็นศูนย์ คุณจะดีบักรหัสตัวเลขอย่างไร มีใครบางคนเคยทำอะไรแบบนี้มาก่อนจะเป็นที่ไหนดีที่จะเริ่มมองหา? ปรับปรุง นี่คือบันทึกย่อสไตล์ "หนังสือห้องปฏิบัติการ" ส่วนตัวของฉันเกี่ยวกับการใช้ระเบียบวิธีไฟไนต์วอลลุ่มสำหรับสมการการแพร่ - การแพร่, http://danieljfarrell.github.io/FVM/ …