โซลูชันที่ผลิตขึ้นสำหรับ Navier-Stokes ที่ไม่สามารถบีบอัดได้ - วิธีหาเขตความเร็วที่ไม่แตกต่างกันอย่างไร


10

ในวิธีการของการแก้ปัญหาที่ผลิต (MMS) อย่างใดอย่างหนึ่ง postulates วิธีการแก้ปัญหาที่แน่นอนแทนมันในสมการและคำนวณคำแหล่งที่มาที่สอดคล้องกัน วิธีการแก้ปัญหานั้นจะใช้สำหรับการตรวจสอบรหัส

สำหรับสมการเนเวียร์ - สโตกส์ที่ไม่สามารถบีบอัดได้ MMS นำไปสู่คำที่มา (ไม่เป็นศูนย์) ได้อย่างง่ายดายในสมการความต่อเนื่อง แต่ไม่ใช่รหัสทั้งหมดที่อนุญาตให้ใช้ข้อกำหนดแหล่งที่มาในสมการความต่อเนื่องดังนั้นสำหรับรหัสเหล่านี้จะมีเพียงโซลูชันที่ผลิตด้วยเขตข้อมูลความเร็วที่ไม่มีความแตกต่างเท่านั้น ฉันพบตัวอย่างนี้สำหรับโดเมน โดยทั่วไปในกรณี 3 มิติหนึ่งจะผลิตสนามความเร็วที่ไม่มีความแตกต่างได้อย่างไรคุณ1Ω=[0,1]2

ยู1=-cos(πx)บาป(πY)ยู2=บาป(πx)cos(πY)

คำตอบ:


7

ใช้ฟังก์ชั่นเวกเตอร์ streamfunction หรือหาผลคูณของการไล่สีสองค่า Ie:

ยู=×A
โดยที่Aเป็นเขตข้อมูลเวกเตอร์ที่คุณเลือกหรือ
ยู=×ก.
โดยที่และก.เป็นสองสเกลาฟิลด์ที่คุณเลือก

ทั้งสองอย่างนั้นยากที่จะมีความเร็วที่แตกต่างกันและกำหนดเงื่อนไขขอบเขต แต่ตราบใดที่รหัสของคุณอนุญาตให้คุณตั้งค่าฟังก์ชันตามอำเภอใจสำหรับเงื่อนไขขอบเขตของคุณคุณควรจะตกลง

การทางพิเศษแห่งประเทศไทย: แน่นอนสมการโมเมนตัมของคุณจะต้องยอมรับฟังก์ชั่นการบังคับ แต่ฉันรู้สึกดีกว่าเสมอเกี่ยวกับการบังคับให้สมการโมเมนตัมกว่าที่ฉันได้เพิ่มด้านขวาไปยังสมการความต่อเนื่อง


ขอบคุณ! (บังคับของสมการความต่อเนื่องเกิดขึ้นเฉพาะในการสร้างแบบจำลองการเกิดโพรงอากาศเท่าที่ผมรู้)
คริส

5

นี่ไม่ใช่คำตอบทั่วไป แต่สำหรับสมการเนเวียร์ - สโตคมีวิธีการผลิตที่อธิบายการไหลที่แท้จริง ตัวอย่างเช่น Kovasznay flow field เป็นตัวเลือกยอดนิยม:

http://link.springer.com/article/10.1007/BF00948290

การอ้างอิงดั้งเดิมคือ: Kovasznay LIG "Laminar flow ด้านหลังตารางสองมิติ" พร Cambridge Philos Soc., หน้า 44, 1948


พ.ศ. 2491 (!) ฉันไม่ทราบว่านี่คือ "การไหลที่แท้จริง" คุณหมายความว่าสามารถวัดได้จริงในการทดสอบทางกายภาพ (ซึ่งต่างจากการจำลองในการทดสอบเชิงตัวเลข)
chris

ฉันเชื่อว่าใช่
Wolfgang Bangerth

ไม่มันเหมาะสำหรับการไหลในระยะทางหลังกริด แต่ไม่มีใครรู้ว่ากริดดูเหมือนว่าและมีแนวโน้มว่ามันจะต้องทำจากวัสดุที่ "นุ่มมาก"
Guido Kanschat

2

นั่นคือสิ่งที่ฉันมักจะทำ

กำหนดฟังก์ชั่นปรับปรุง:

Ψ=[ψxψYψZ]

ความเร็วเท่ากับ:

ยู=×Ψ=[ยูx=YψZ-ZψYยูY=Zψx-xψZยูZ=xψY-Yψx].

ตอนนี้คุณสามารถเลือกความดันที่ไม่มีค่าเฉลี่ยที่เหมาะสมและสร้างคำที่ใช้บังคับได้

ฉันโพสต์โค้ดตัวอย่าง SymPy สำหรับและเงื่อนไขขอบเขตที่เป็นเนื้อเดียวกันให้เพลิดเพลิน:Ω=[0,1]3

 from sympy import *

 x,y,z = symbols('x y z')

 X = Matrix([[x],[y],[z]])

 psi = zeros(3,1)
 psi[0,0] = sin(2*pi*x)*y**2*(1-y)**2*z**2*(1-z)**2
 psi[2,0] = x**2*(1-x)**2*y**2*(1-y)**2*sin(2*pi*z)

 curl_psi = zeros(3,1)
 curl_psi[0] = diff(psi[2],X[1]) - diff(psi[1],X[2])
 curl_psi[1] = diff(psi[0],X[2]) - diff(psi[2],X[0])
 curl_psi[2] = diff(psi[1],X[0]) - diff(psi[0],X[1])
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.