वहाँ एक अच्छा, आसान करने के लिए उपयोग, उच्च गुणवत्ता खुला स्रोत CFD solver है?


17

मेरी थीसिस दहन में मॉडल में कमी के लिए संख्यात्मक तरीकों को विकसित करने पर है। मैं अपने तरीकों को विशुद्ध रूप से दहन सिमुलेशन के रसायन विज्ञान भाग पर चलाता हूं, और मेरे पास 0-डी सिमुलेशन (कोई प्रवाह नहीं) के लिए बहुत सारे केस अध्ययन हैं। मैं उन सिमुलेशन को चलाना पसंद करूंगा जो उनमें प्रवाहित हैं, अधिमानतः 2-डी या 3-डी सिमुलेशन।

उच्च कम्प्यूटेशनल आवश्यकताओं के कारण इन सिमुलेशन को समानांतर में होना चाहिए। मुझे कुछ ऐसा भी चाहिए जो रसायन विज्ञान सॉल्वर जैसे कि केमकिन या कैंटेरा के साथ इंटरफेस कर सके, जिसके लिए मेरे पास सोर्स कोड है। (केमकिन फोरट्रान 77 में है, और कैंटरा सी ++ में है।)

आदर्श मामले में, मैं अपने ग्रेड कार्यक्रम और कुछ सीएफडी पैकेज से रसायन विज्ञान को जोड़ने और इसे चलाने के लिए द्रव यांत्रिकी के मूल ज्ञान का उपयोग करके एक प्रवाह पैटर्न निर्दिष्ट कर सकता हूं। यदि मुझे करना है, तो मैं एक पूर्व सहयोगी द्वारा उपयोग किए गए प्रयोगात्मक सेटअप के आधार पर एक साधारण मामले के अध्ययन के लिए द्रव गति और रसायन शास्त्र को नियंत्रित करने वाले समीकरणों को सेट कर सकता हूं, लेकिन मैं तब तक अपना सीएफडी कोड रोल नहीं करना चाहता हूं जब तक कि वहां नहीं थे एक पैकेज या पैकेज जिसने इसे करना बेहद आसान बना दिया। मैं इस पर 2-3 सप्ताह बिताने को तैयार हूँ; मुझे नहीं पता कि क्या यह आवश्यकता PETSc या Trilinos को नियंत्रित करती है। अगर मुझे इस पर कोई खर्च करना है, तो मैं इसे बाद में बंद कर दूंगा, क्योंकि मेरे पास केस स्टडी के लिए सीएफडी कोड की आपूर्ति करने वाला एक सहयोगी है।

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

@FrenchKheldar एक अच्छी बात यह है कि मुझे उन समस्याओं की विशेषताओं का उल्लेख करना चाहिए जिन्हें मैं हल करना चाहता हूं:

  • आदर्श (उत्तम) गैस, एकल-चरण
  • सिकुड़ाया हुआ
  • लामिना का प्रवाह आवश्यक है; अशांत प्रवाह एक प्लस है। (मैं सीएफडी में संख्यात्मक तरीकों में पिछले काम से अशांति के बारे में थोड़ा जानता हूं, लेकिन मैंने पीएचडी सॉल्वर पर काम नहीं किया है; मैं सिर्फ भौतिकी के बारे में थोड़ा जानता हूं।)
  • शून्य-मच-संख्या सूत्रीकरण ठीक है (मुझे झटके या सुपरसोनिक प्रवाह की परवाह नहीं है)
  • दहन रसायन विज्ञान, सोरेट और ड्यूफोर फ्लक्स की अनदेखी, और फ़िकियन के रूप में प्रसार का इलाज
  • ज्यामिति कुछ सरल हो सकती है

मैं इंटरफेस कोड लिख सकता हूं, हालांकि मुझे जितना कम लिखना होगा, उतना बेहतर होगा; @FrenchKheldar यह भी बताता है कि कैंटेरा में फोरट्रान और पायथन बाइंडिंग हैं। मैं तेजी से प्रोटोटाइप के लिए अभी कैंटर पाइथन बाइंडिंग का उपयोग करता हूं, इसलिए मैं उन लोगों के साथ भी सहज हूं।


कैंटर के पास अजगर और फोरट्रान के लिए रैपर हैं, ताकि खोज को थोड़ा चौड़ा किया जा सके।
फ्रेंचकेवलर

क्या आप लामिना के प्रवाह या अशांत प्रवाह को मॉडल करना चाहते हैं? संपीड़ित या अयोग्य? परफेक्ट गैस? एकल चरण? जितना अधिक विवरण आप हमें दे सकते हैं, उतना ही सटीक उत्तर।
फ्रेंचकेवलर

@FrenchKheldar: इसे इंगित करने के लिए धन्यवाद। मैंने कुछ बारीकियाँ जोड़ी हैं।
ज्योफ ऑक्सीबेरी

2
एक और टिप्पणी: यदि आप ध्वनिकी या तरंगों के बारे में परवाह नहीं करते हैं, तो क्या आपको एक असंगत सॉल्वर का उपयोग करने में सक्षम नहीं होना चाहिए? यह आपकी संभावनाओं को चौड़ा करेगा ...
FrenchKheldar

मुझे फिर से समझने दो: मुझे झटके की परवाह नहीं है। चूंकि चरण एक आदर्श गैस है, और दबाव में परिवर्तन होने पर आदर्श गैसें घनत्व में बदल जाती हैं, प्रवाह को संपीड़ित होना चाहिए।
ज्योफ ऑक्सीबेरी

जवाबों:


11

मैं OpenFOAM का भारी उपयोगकर्ता हूं , इसलिए स्वाभाविक रूप से मैं इसकी सिफारिश करूंगा। इसमें दहन मॉडल सहित बड़ी मात्रा में विशेषताएं हैं (हालांकि जरूरी नहीं कि आपको जो चाहिए ठीक है) और अन्य लोगों द्वारा कैंटर्रा के साथ मिलकर इसका उपयोग किया गया हो । यदि आपको एक विशिष्ट समीकरण के लिए एक सॉल्वर की आवश्यकता है जो अभी तक लागू नहीं किया गया है, तो आप बहुत अधिक शाब्दिक रूप से अपने समीकरण लिख सकते हैं । मुझे नहीं पता कि स्ट्रैग-स्प्लिटिंग क्या है (मैं खुद को दहन करने पर काम नहीं करता), लेकिन अन्य लोगों ने इसका इस्तेमाल ओपनफैम में किया है

ट्यूटोरियल की सीमित मात्रा है। उपयोगकर्ता गाइड में प्रलेखित लोगों में रसायन विज्ञान शामिल नहीं है। प्रतिक्रिया सॉल्वरों के लिए कुछ नमूना मामले हैं जिन पर आप नज़र डाल सकते हैं। आपका सबसे अच्छा शर्त है कि Chalmers में OS-CFD ग्रेड पाठ्यक्रम वेबसाइट देखें (लिंक 2011 के लिए है, लेकिन इसमें पिछले वर्षों के पृष्ठों का लिंक है)। वहां के छात्र अक्सर सॉल्वरों को दस्तावेज देते हैं, जिस पर वे काम कर रहे हैं, जैसे यहां

इसे सीखने के प्रयास के बारे में: यदि आप पूर्व-परिभाषित मॉडलों में से एक का उपयोग करके प्राप्त करते हैं, तो यह उपयोग करने के लिए काफी सरल है और आपको हफ्तों के भीतर परिणाम देने में सक्षम होना चाहिए। यदि आपको शीर्ष स्तर से नीचे उतरना है (जैसे कि एक नया ODE सॉल्वर जोड़ने के लिए), तो चीजें अधिक कठिन हो सकती हैं और आप C ++ को जानना चाहेंगे।


सिफ़ारिश के लिए शुक्रिया! मैंने OpenFOAM के बारे में अच्छी बातें सुनी हैं, और मैं भविष्य में इसका उपयोग करना चाहूंगा। आपके अनुभव में, एपीआई सीखना आसान था? क्या कोई अच्छा ट्यूटोरियल या उदाहरण है जो OpenFOAM का उपयोग करते हैं, अधिमानतः रसायन विज्ञान के साथ?
ज्योफ ऑक्सीबेरी

मैंने अपना उत्तर अपडेट किया
एक

1
जल्द ही C ++ सीखना शुरू करें। :) गॉडस्पीड।
टेमरिक

2

आप इस्तेमाल कर सकते हैं PyClaw , के एक समानांतर विस्तार Clawpack (: मैं PyClaw के मुख्य डेवलपर्स में से एक हूं टिप्पणी)। इसमें एक आदर्श गैस के अवैध ईलर समीकरणों (संपीड़ित प्रवाह) के लिए 2 डी और 3 डी सॉल्वर शामिल हैं। इसमें स्ट्रांग विभाजन भी बनाया गया है, लेकिन आपको स्वयं चिपचिपे शब्दों और रसायन विज्ञान के मूल्यांकन को जोड़ने की आवश्यकता है। यह चेंकिन और कैंटेरा के साथ इंटरफ़ेस करने के लिए सीधा होना चाहिए, क्योंकि PyClaw पायथन में लिखा गया है और पहले से ही Fortran 77 और C कोड दोनों शामिल हैं।

PyClaw अपेक्षाकृत नया है (हालांकि अंतर्निहित Clawpack कोड काफी पुराना है) और इस तरह OpenFOAM की तरह कुछ के रूप में स्थापित नहीं किया गया है।


धन्यवाद! मुझे इसकी जांच करनी होगी, हालांकि इसे प्राप्त करने में मुझे कुछ समय लग सकता है। जब मैं इसे उपयोग करने के लिए चारों ओर हो जाता हूं, तो मैं आपको बता दूंगा कि यह कैसे जाता है।
ज्योफ ऑक्सीबेरी

2

NIST के फायर डायनेमिक्स सिम्युलेटर (FDS) जैसा आप चाहते हैं वैसा ही लगता है। एफडीएस एक कम मच नंबर फ्लो सॉल्वर है। घनत्व बदल सकता है, लेकिन ध्वनिक प्रभाव और झटके उपेक्षित हैं।

एफडीएस काफी अच्छी तरह से प्रलेखित है, हालांकि, मैं मानता हूं कि मैंने मुख्य प्रवाह विलायक दिनचर्या में नहीं देखा है। मुझे यह भी पता नहीं है कि एफडीएस दहन रसायन विज्ञान को कैसे संभालता है।

मेरा सुझाव है कि FDS की Google कोड साइट से नवीनतम कोड डाउनलोड करें ।


0

वहाँ बहुत सारे हैं!

OpenFOAM सबसे अच्छा है, IMHO, लेकिन अन्य इस लिंक पर हैं ,


कृपया 'लिंक केवल' उत्तर न दें, क्योंकि लिंक टूट सकते हैं।
जनवरी

मैं वहाँ उल्लिखित सभी विकल्पों को "मेरा" के रूप में प्रस्तुत नहीं करना चाहता था। तकनीकी रूप से, मैं सभी सामग्रियों को कॉपी और पेस्ट कर सकता था, लेकिन मैं वह व्यक्ति नहीं हूं। इसलिए, मैंने मूल लेखक को क्रेडिट देने के लिए सीधे लिंक डाल दिया
T3rmInAt0r

1
ठीक है। लेकिन, उदाहरण के लिए, आप कह सकते हैं कि मैनचेस्टर विश्वविद्यालय में कम्प्यूटेशनल द्रव डायनामिक्स और टर्बुलेंस मैकेनिक्स के लिए कुर्सी ने इंजीनियरों के लिए ओपन सोर्स सॉफ़्टवेयर की एक सूची तैयार की है । यदि आप ऐसा करते हैं, तो साथी आगंतुक इस मामले में इंटरनेट पर खोज कर सकते हैं कि लिंक टूट गया है।
Jan

0

आप खुले स्रोत उन्नत सिमुलेशन लाइब्रेरी का उपयोग कर सकते हैं जो कि हार्डवेयर त्वरित है (मामले में उच्च प्रदर्शन गणना महत्वपूर्ण है)। इसमें लामिना और अशांत प्रवाह और रासायनिक प्रतिक्रियाएं दोनों हैं। एक सुरंग बेंचमार्क में लोकोमोटिव के एयरोडायनामिक्स के स्रोत कोड को देखना भी उपयोग करना आसान है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.