คุณกำลังดูสมการการอนุรักษ์โดยรวม:
dม.dเสื้อ= 0
เมื่อพิจารณาถึงวิวัฒนาการมวลต่อปริมาตรหน่วยนี่จะทำให้สมการการพาความหนาแน่นหนาแน่นในรูปฟลักซ์:
∂ρ∂เสื้อ= - ∇ ⋅ ( ρ ยู)
สิ่งที่ดีเกี่ยวกับเรื่องนี้ก็คือมันเป็นเพียงสมการของสนามสเกลาร์ตามอำเภอใจ (ในกรณีของเรานี่คือความหนาแน่น ) และมันเป็น (ค่อนข้าง) ง่ายต่อการแก้ปัญหาให้เวลาและพื้นที่ที่แตกต่างกันอย่างเพียงพอ เงื่อนไขขอบเขต.ρ
เมื่อออกแบบชุดรูปแบบที่แตกต่างกัน จำกัด เรากังวลเกี่ยวกับการลู่เข้าเสถียรภาพและความแม่นยำ แบบแผนกำลังบรรจบกันหากเมื่อΔเสื้อ→0 ความมั่นคงของแผนการเพื่อให้แน่ใจว่าปริมาณยังคง จำกัด เมื่อเสื้อ→การ∞ ความแม่นยำที่เป็นทางการของโครงการบอกว่าข้อผิดพลาดการตัดในชุดการขยายเทย์เลอร์ของอนุพันธ์บางส่วนอยู่ที่ใด ดูใน CFD ตำราเรียนสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับคุณสมบัติพื้นฐานเหล่านี้ของโครงการที่แตกต่างกันΔΔ t→ ∂A∂เสื้อΔ เสื้อ→ 0At → ∞
ตอนนี้วิธีที่ง่ายที่สุดคือตรงไปที่ความแตกต่างต้นน้ำลำดับที่ 1 โครงการนี้มีความชัดเจนแน่นอนอนุรักษ์นิยมและมีประสิทธิภาพในการคำนวณ คุณสมบัติสองประการแรกมีความสำคัญอย่างยิ่งเมื่อเราสร้างแบบจำลองวิวัฒนาการของปริมาณซึ่งเป็นค่าบวกเสมอ (เช่นมวลหรือความหนาแน่น)
เพื่อความง่ายเรามาดูกรณี 1-D:
∂ρ∂เสื้อ= - ∂( ρ u )∂x
ตอนนี้สะดวกที่จะกำหนดฟลักซ์ดังนั้น:Φ = ρ คุณ
∂( ρ u )∂x= ∂Φ∂x≈ Δ ไวΔ x≈ ไวฉัน+ 1 / 2- Φฉัน- 1 / 2Δ x
นี่คือแผนผังของสิ่งที่เรากำลังจำลอง:
u u
| --> --> |
| rho | rho | rho |
x-----o-----x-----o-----x-----o-----x
i-1 i-1/2 i i+1/2 i+1
ρผมΦฉัน- 1 / 2Φฉัน+ 1 / 2. นี่คือที่เราเริ่มแยกออกจากคำตอบของ Paul ในความแตกต่างของการอนุรักษ์ต้นน้ำที่แท้จริงปริมาณที่ศูนย์เซลล์จะถูกดำเนินการโดยความเร็วที่ขอบเซลล์ของมันในทิศทางของการเคลื่อนที่ กล่าวอีกนัยหนึ่งถ้าคุณคิดว่าคุณเป็นปริมาณที่โฆษณาและคุณนั่งอยู่ที่ศูนย์เซลล์คุณจะถูกพาเข้าไปในเซลล์ข้างหน้าคุณด้วยความเร็วที่ขอบเซลล์ การประเมินฟลักซ์ที่ขอบเซลล์ในฐานะผลิตภัณฑ์ที่มีความหนาแน่นและความเร็วทั้งที่ขอบเซลล์ไม่ถูกต้องและไม่ประหยัดปริมาณที่โฆษณา
ฟลักซ์ที่เข้ามาและขาออกถูกประเมินเป็น:
Φฉัน+ 1 / 2= uฉัน+ 1 / 2+ | ยูฉัน+ 1 / 2|2ρผม+ uฉัน+ 1 / 2- | ยูฉัน+ 1 / 2|2ρฉัน+ 1
Φฉัน- 1 / 2= uฉัน- 1 / 2+ | ยูฉัน- 1 / 2|2ρฉัน- 1+ uฉัน- 1 / 2- | ยูฉัน- 1 / 2|2ρผม
การรักษาความแตกต่างของฟลักซ์ข้างต้นช่วยให้แน่ใจได้ถึงความชัดเจน กล่าวอีกนัยหนึ่งมันปรับทิศทางต่างกันตามสัญลักษณ์ของความเร็ว
เกณฑ์ความมั่นคง Courant-Friedrichs-Lewy (CFL) เมื่อทำเวลาแตกต่างกับคำสั่งแรกง่าย ๆ ไปข้างหน้าความแตกต่างออยเลอร์ได้รับ:
μ = u Δ tΔ x≤ 1
โปรดทราบว่าใน 2 มิติเกณฑ์ความมั่นคง CFL เข้มงวดมากขึ้น:
μ = c Δ tΔ x≤ 12-√
คยู2+ v2------√
μ = 1
หากระบบทางกายภาพของคุณพิจารณาคลื่นกระแทกหรือการไล่ระดับสีในระดับสูงคุณควรพิจารณาความแตกต่างของ upstream ของลำดับที่สูงกว่า (เช่นลำดับที่ 3 หรือลำดับที่ 5) นอกจากนี้อาจเป็นการดีที่จะมองไปที่ตระกูลแผนการขนส่ง Flux Corrected Transport (Zalesak, 1979, JCP) การแก้ไขการต่อต้านการแพร่กระจายสำหรับโครงการข้างต้นโดย Smolarkiewicz (1984, JCP); ชุดแผนการ MPDATA โดย Smolarkiewicz (1998, JCP)
สำหรับความแตกต่างของเวลาลำดับที่ 1 การส่งต่อความแตกต่างของออยเลอร์อาจเป็นที่น่าพอใจสำหรับความต้องการของคุณ มิฉะนั้นดูวิธีการเรียงลำดับที่สูงขึ้นเช่น Runge-Kutta (ซ้ำ) หรือ Adams-Bashforth และ Adams-Moulton (หลายระดับ)
มันจะเป็นการดีหากมองหาตำราระดับบัณฑิตศึกษาของ CFD สำหรับการสรุปแผนการเรียนรู้ที่กล่าวถึงข้างต้นและอื่น ๆ อีกมากมาย