मैं तरल पदार्थ सिमुलेशन के अपने परिणाम की शुद्धता की जांच कैसे कर सकता हूं?


9

मैंने एक कण आधारित द्रव अनुकरण कार्यक्रम लिखा। अगर मुझे सही परिणाम मिले तो बताना मुश्किल है। दृश्य परिणाम उचित लगता है, लेकिन इसका कुछ हिस्सा अजीब लगता है। मुझे पता नहीं है कि यह तरल पदार्थ की एक विशेषता है। यदि मेरा कार्यक्रम सही है, तो सत्यापित करने के लिए कोई सटीक तरीका है?

कुछ विवरण संशोधित करना :

मेरा कार्यक्रम एक 2D कण आधारित अनुकरण कार्यक्रम है। द्रव संकुचित होता है। कार्यान्वयन लगभग एक शास्त्रीय कागज पर आधारित है:

मुलर, मथायस, डेविड चारीपर और मार्कस ग्रॉस। "इंटरैक्टिव अनुप्रयोगों के लिए कण-आधारित द्रव सिमुलेशन।" 2003 ACM SIGGRAPH की कार्यवाही

मैंने पुनरावृति विधि के साथ नवियर-स्टोक्स समीकरण को हल किया। यह केवल दबाव, गुरुत्वाकर्षण, चिपचिपाहट और सतह तनाव पर विचार करता था।


हो सकता है कि आप संख्यात्मक समीकरण के साथ एनएस समीकरण की शर्तों को फिर से जोड़ सकते हैं और जांच सकते हैं कि वे कैसे रद्द करते हैं।
यवेस डाएवेट

जवाबों:


2

इसकी तुलना किसी और के सॉफ्टवेयर से करें। कुछ मानकीकृत परीक्षण चलाएं और पता करें कि क्या आप दूसरों के समान ही जवाब देते हैं। यदि आपको एक ही उत्तर मिलता है, तो आपके कोड के सही होने की संभावना काफी अधिक है।

कुछ परीक्षण:

  1. पिछले सिलेंडर को प्रवाहित करें। 2d में आयताकार डोमेन, बीच में सिलेंडर, बाईं ओर इनफ्लो, लड़ाई पर बहिर्वाह और सिलेंडर पर बल की गणना करें। यहाँ बेंचमार्क कोड्स की तुलना करना है।

  2. बौनापन का प्रवाह। बंद बॉक्स, तल पर गर्म प्लेट, शीर्ष पर ठंडी प्लेट, उछाल वाले बल के कारण गर्म तरल पदार्थ उठने लगता है। यहाँ बेंचमार्क है

  3. राइजिंग बबल, बेंचमार्क

लेकिन दुर्भाग्य से आपके कोड की उन बेंचमार्क में वैज्ञानिक कोड से तुलना करना काफी मुश्किल हो सकता है। मुझे लगता है कि आपने एसपीएच या स्थिर तरल पदार्थ के रूप में कुछ लागू किया है जो सटीकता के लिए नहीं बल्कि स्थिरता के लिए बनाया गया है।

उदाहरण के लिए एक सिलेंडर के पिछले प्रवाह को लें। मैं बहुत छोटे रेनॉल्ड्स संख्या के साथ परीक्षण शुरू करूंगा और फिर सिलेंडर पर बल को मापूंगा क्योंकि आप अपने सिमुलेशन की सटीकता बढ़ाते हैं (कम समय के कदम, उपखंड में वृद्धि या कणों की संख्या में वृद्धि)। क्या बल कुछ संख्या में परिवर्तित होता है? यदि नहीं, तो आपको समस्या है, यदि हाँ, तो बेंचमार्क पेपर पर एक नज़र डालें और दूसरों के साथ अपने परिणाम की तुलना करें।


यह विधि एक ऐसी ही तकनीक है, जिसका उपयोग मैं अपनी किरण के परीक्षण के लिए करता हूं। मैं सिर्फ किसी और के रेंडर के साथ परीक्षण दृश्य प्रस्तुत करता हूं और अपने परिणाम के साथ तुलना करता हूं। क्या वे एक ही परिणाम के लिए अभिसरण करते हैं? यदि हाँ, तो मैंने इसे सही माना है, यदि नहीं, तो नहीं।


सॉफ्टवेयर के बजाय ज्ञात वास्तविक दुनिया माप और द्रव गतिकी बर्चमार्क के खिलाफ कीट के खिलाफ परीक्षण करने के लिए। अन्यथा आपकी त्रुटि दागी है। मैं एक ही सवाल कहीं और stackexhange नेटवर्क btw पर पोस्ट
joojaa

1
मुझे लगता है कि यदि आपके पास भौतिकी का अधिकार है तो परीक्षण के लिए वास्तविक दुनिया माप के खिलाफ परीक्षण अच्छा है। यदि आप केवल आपको प्रोग्राम डिबग करना चाहते हैं, तो अन्य कोड के खिलाफ परीक्षण करना बेहतर विचार है। साथ ही कंप्यूटर सिमुलेशन में आप प्रयोग को प्रभावित किए बिना कुछ भी माप सकते हैं। उदाहरण के लिए किसी भी बिंदु पर द्रव की गति को मापना वास्तविक विश्व प्रयोग में असंभव है, लेकिन कंप्यूटर सिमुलेशन में तुच्छ है।
टॉम

हां लेकिन आपको उनके सॉल्वरों की समस्याएं भी विरासत में मिली हैं। मैं मानता हूं कि मैंने ऐसा कई बार किया है कि एक मल्टीबॉडी सिम्युलेटर विकसित करना और परिणामों के खिलाफ जांच करना MSC एडम्स के रूप में है, लेकिन इस दृष्टि से कि यह वास्तव में उपयोगी नहीं था
joojaa

वास्तविक दुनिया के प्रयोग के खिलाफ जाँच करना बेहतर था? मुझे इसमें संदेह है, लेकिन मैं गलत हो सकता हूं। मल्टीबॉडी भौतिकी के साथ स्थिति द्रव भौतिकी के लिए काफी भिन्न है। यहां तक ​​कि बिलियर्ड के रूप में सरल कुछ भी अराजक व्यवहार है। इसके अलावा संपर्कों के साथ कठोर शरीर की गतिशीलता गणितीय समस्या भी अच्छी तरह से सामने नहीं आई है, क्या आप दर्द निवारक विरोधाभास जानते हैं? इसलिए मल्टीबॉडी भौतिकी के संख्यात्मक सिमुलेशन को सामान्य रूप से विफल करने के लिए बर्बाद किया जाता है। कुछ संदर्भ: plus.maths.org/content/chaos-billiard-table en.wikipedia.org/wiki/Painlev%C3%A9_paradox
tom

1
हाँ, मैं जानता हूँ कि मल्टी बॉडी डायनेमिक्स कैसे काम करती है, मैं इसे सिखाता हूँ (और संक्षेप में एक या दो साल तक इस पर शोध किया है)। लेकिन ज्ञात विश्लेषणात्मक समाधानों के खिलाफ कोई जाँच आसान नहीं थी। लेकिन एक वास्तविक तरल पदार्थ एक बहु शरीर गतिशील के समान अराजक होता है। तो एक लामिना के प्रवाह की स्थिति आदि के खिलाफ जांच करने में सक्षम होना चाहिए, हालांकि घर्षण एक कुतिया है।
पूजा 12
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.