โดย "ง่ายที่สุด" ฉันหมายถึงวิธีที่ง่ายที่สุดในการเรียนรู้และนำไปปฏิบัติตั้งแต่เริ่มต้น ฉันหวังว่าคำถามของฉันสามารถตอบได้มากหรือน้อย
โดย "ง่ายที่สุด" ฉันหมายถึงวิธีที่ง่ายที่สุดในการเรียนรู้และนำไปปฏิบัติตั้งแต่เริ่มต้น ฉันหวังว่าคำถามของฉันสามารถตอบได้มากหรือน้อย
คำตอบ:
ในสองมิติการกำหนดความเร็ว - vorticity เป็นวิธีที่ง่ายที่สุดที่จะนำมาใช้เพราะตัวแปร collocated แต่เงื่อนไขขอบเขตอาจซับซ้อนและเป็นปัญหาโดยตรงน้อยกว่า สำหรับสูตรดั้งเดิมตัวแปรวิธีการหาผลต่าง จำกัด อันแปรผันของHarlow and Welch (1965)เป็นจุดเริ่มต้นที่ดี
คุณสามารถค้นหาการดำเนินงานเอกสารครบถ้วนของง่ายมากเลยที่มีประสิทธิภาพมากวิธีแก้ปัญหา (วิธีการแยกโช) ที่นี่
สำหรับวิธีการอื่น ๆ ที่ได้รับความนิยมลองดูบทที่ 21 ในหนังสือเล่มนี้
ข้อจำกัดความรับผิดชอบ: ฉันเป็นผู้แต่ง (ร่วม) ของทั้งโปรแกรมตัวอย่างและหนังสือ สามารถดาวน์โหลดหนังสือได้ฟรี
เรียบง่ายที่สุดจะสัมพันธ์กับความสนใจและความต้องการเฉพาะของคุณเสมอ ฉันเห็นด้วยกับ Anders ว่าสำหรับการไหลที่ไม่สามารถบีบอัดในโดเมนที่มีรูปทรงเรขาคณิตที่เรียบง่ายคุณจะยากที่จะเอาชนะวิธีการฉายภาพ (เช่นวิธีการแบ่งของ Chorin) หากคุณจัดลำดับความสำคัญในการใช้งานง่ายและแม่นยำ
หากต้องการทราบรายละเอียดเพิ่มเติมเล็กน้อยวิธีการคือคำถามถูกแนะนำใน [1] วิธีการประมาณภาพที่ทันสมัยขึ้นลำดับที่สองและประมาณได้ถูกอธิบายไว้อย่างดีใน [2] แรงจูงใจคือการแก้สมการเนเวียร์ - สโตคที่ไม่สามารถบีบอัดได้เต็มรูปแบบจำเป็นต้องแก้ไขสำหรับสนามความเร็วและความดันพร้อมกันและระบบเชิงเส้นที่เกิดขึ้นนั้นค่อนข้างจะมีสภาพที่ไม่ดี วิธีการฉายภาพกำจัดปัญหานี้โดยการแยกแต่ละขั้นตอนเป็นความเร็วแก้โดยใช้แรงกดดันจากการประทับเวลาก่อนหน้านี้ตามด้วยการอัปเดตแรงดันซึ่งบังคับให้ฟิลด์ความเร็วยังคงบีบอัดไม่ได้
ในการดำเนินการนี้คุณจะต้องมีองค์ประกอบอื่น ๆ เพียงเล็กน้อย แต่ทุกอย่างสามารถเรียนรู้และตั้งโปรแกรมได้อย่างง่ายดาย
สำหรับความดันแก้สมมติว่าคุณสนใจระบบที่มีความหนาแน่นคงที่คุณจะต้องแก้สมการของปัวซอง แน่นอนว่ามีอัลกอริทึมหลายสิบวิธีที่จะแก้ไขปัญหานี้ แต่โดยวิธีที่ง่ายที่สุดที่จะนำไปใช้ - ถ้าบางทีไม่เข้าใจอย่างสมบูรณ์ - อัลกอริทึมคอนจูเกต (CG) หนึ่งในคำอธิบายที่ดีที่สุดของการกำกับดูแลกิจการที่ฉันได้อ่านถูกเขียนโดยโจนาธานชิชัคและสามารถพบได้ที่นี่ อย่างไรก็ตามคุณไม่จำเป็นต้องอ่านบทความทั้งหมดเพื่อให้สามารถใช้อัลกอริทึมได้
คุณจะต้องใช้อัลกอริทึมอื่นในการจัดการคำที่ใช้ในการ Navier-Stokes ในหลายมิติการเขียนโปรแกรมใช้งานอย่างมีประสิทธิภาพของวิธีที่ยืดหยุ่นที่สุดเช่น Godunov นั้นค่อนข้างท้าทาย อย่างไรก็ตามหากคุณสนใจกระแสที่มีจำนวน Reynolds ค่อนข้างน้อย (เช่นด้วยความหนืดที่ไม่สามารถเพิกเฉยได้) ซึ่งเป็นหนึ่งในวิธีการแบบ non-oscillatory (ENO) ที่เหมาะกับการใช้งานอย่างมาก มีภาพรวมที่ยอดเยี่ยมของทั้งทฤษฎีและการนำไปใช้ใน [3]
คุณจะต้องจัดการกับคำที่มีความหนืดโดยใช้วิธีการโดยปริยายโดยทั่วไปแล้ว Crank-Nicolson นี่คือคำอธิบายรายละเอียดในเอกสารวิธีการฉายภาพและคุณสามารถใช้ CG สำหรับการแก้ปัญหาเมทริกซ์ได้อย่างง่ายดายหากความหนืดคงที่
[1] AJ Chorin, คำตอบเชิงตัวเลขของสมการเนเวียร์ - สโตค , เจคณิตศาสตร์ คำนวณ, 22 (1968), หน้า 745-762
[2] A. Almgren, JB Bell, และ W. Szymczak, วิธีการเชิงตัวเลขสำหรับสมการเนเวียร์ - สโตกส์ที่ไม่สามารถบีบอัดได้จากการประมาณโดยประมาณ , SIAM J. Sci คอมพิวเต 17 (1996), หน้า 258-369
[3] เอสอาร์และ Osher Fedkiw, วิธีการตั้งค่าระดับพื้นผิวและ Dynamic โดยปริยาย Springer-Verlag นิวยอร์ก วิทยาศาสตร์คณิตศาสตร์ประยุกต์, 153, 2002
คอมพิวเตอร์กราฟิกและเกมได้เห็นการระเบิดที่น่าสนใจอย่างมากในการจำลองของเหลวในช่วงไม่กี่ปีที่ผ่านมา นี่เป็นกระดาษที่ยอดเยี่ยมจาก Jos Stam ที่กล่าวถึงการใช้งานซอฟแวร์สำหรับการใช้งานแบบเรียลไทม์ มันมาพร้อมกับซอร์สโค้ดที่เข้าใจง่ายมาก ฉันไม่รู้ว่ามันแม่นยำแค่ไหน แต่อาจเป็นสิ่งที่คุณต้องการ
อีกวิธีที่ดีและเรียบง่ายจริงๆคือการใช้ระบบเซลลูลาร์อัตโนมัติสำหรับการแยกส่วน มีโมเดลให้เลือกมากมายเช่น LBA, FHP และอื่น ๆ อีกมากมาย สิ่งเหล่านี้เป็นสิ่งที่ดีมากเนื่องจากสามารถจำลองแบบเรียลไทม์บนคอมพิวเตอร์ที่ทันสมัยและยังสามารถนำไปใช้กับ GPU พวกเขายังมีข้อเสียและผลลัพธ์ขึ้นอยู่กับรูปร่างของขัดแตะ ตารางขัดแตะไม่เพียงพอเพราะมันขาดอิสระในการหมุนและนั่นคือ von kaarman vortices จะเป็นรูปสี่เหลี่ยมซึ่งไม่ดี :)