बड़ी 3-डी रैखिक-लोचदार समस्याओं के लिए एक मजबूत, पुनरावृत्त सॉल्वर क्या है?


9

मैं परिमित तत्व विश्लेषण की आकर्षक दुनिया में गोता लगा रहा हूं और एक बड़ी थर्मो-मैकेनिकल समस्या (केवल थर्मल) को हल करना चाहूंगा यांत्रिक, कोई प्रतिक्रिया नहीं)।

यांत्रिक समस्या के लिए, मैं पहले से ही ज्योफ के जवाब से समझ गया , कि मुझे अपने जाल के आकार के कारण पुनरावृत्त सॉल्वर का उपयोग करना होगा। मैं मैट के जवाब में आगे पढ़ता हूं , कि सही पुनरावृत्ति एल्गोरिथ्म का चुनाव एक कठिन काम है।

मैं यहां पूछ रहा हूं कि क्या बड़ी 3-डी रैखिक-लोचदार समस्याओं पर कोई अनुभव मौजूद है जो मुझे सर्वश्रेष्ठ प्रदर्शन के लिए मेरी खोज को कम करने में मदद करेगा? मेरे मामले में, यह पतली, पैटर्न वाली फिल्मों और अनियमित रूप से रखी गई सामग्रियों के साथ एक संरचना है (उच्च-सीटीई और कम-सीटीई दोनों) के । इस थर्मो-मैकेनिकल विश्लेषण में कोई बड़ी विकृति नहीं है। मैं अपने विश्वविद्यालय के HPC [1.314 नोड्स का उपयोग कर सकता हूं, जिसमें 2 AMD Opteron प्रोसेसर (प्रत्येक 2.2 GHz / 8 कोर)] हैं।

मुझे लगता है कि PETScकुछ दिलचस्प हो सकता है, विशेष रूप से एल्गोरिदम जो कुछ प्रकार के डोमेन अपघटन (FETI, मल्टीग्रिड) करते हैं, लेकिन मैं विकल्पों से थोड़ा अभिभूत हूं और कोई अनुभव नहीं है। मुझे यह भी पसंद है " वाक्यांश " ज्यामितीय रूप से सूचित पूर्ववर्तियों " , लेकिन अनिश्चित है अगर यह मेरी मदद करता है। मुझे अभी तक रैखिक निरंतरता यांत्रिकी पर कुछ ध्यान केंद्रित नहीं मिला है।

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


क्या आप स्थैतिक समस्याओं को हल कर रहे हैं? हाँ लगता है। गतिशील या समय-हार्मोनिक समस्याओं के लिए, उत्तर अलग होगा, मुझे लगता है।
हुई जांग

स्थिर हाँ। डायनेमिक बहुत महंगा है।
सेबेस्टियन

जवाबों:


6

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

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

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


इस बहुत जानकारीपूर्ण उत्तर के लिए बहुत बहुत धन्यवाद! वास्तव में एक डिरिचलेट सीमा के करीब होने का क्या मतलब है ? तत्व गणना के संदर्भ में बंद करें?
सेबस्टियन

दूरी के संदर्भ में, तत्वों या उप-क्षेत्रों में मापा जाता है (मजबूत सबडोमेन सॉल्वेस के साथ एक-स्तरीय डोमेन अपघटन के लिए), मजबूत सामग्री के मार्ग के साथ। यदि स्थानीय समाधान का निर्धारण करने के लिए जानकारी को कई उप-डोमेन के माध्यम से यात्रा करना है, तो एक स्तर की विधियाँ धीरे-धीरे परिवर्तित होंगी। ध्यान दें कि लोच के लिए एक मजबूत कनेक्शन पर्याप्त नहीं है, सभी कठोर शरीर मोड को नियंत्रित करना होगा।
जेड ब्राउन

4

मैं कहूंगा कि इस समस्या के लिए विहित विकल्प कॉन्जुगेट ग्रैडिएंट सॉल्वर प्लस एक बीजीय मल्टीग्रेड प्रीकॉन्डिशनर होगा। PETSc के लिए, hypre / boomeramg या ML स्पष्ट पसंद करने वाले विकल्प होंगे।

जब पेट्सक स्केल के माध्यम से इन सभी घटकों को हजारों या दसियों हजार प्रोसेसर तक बहुत अच्छी तरह से उपयोग किया जाता है यदि समस्या काफी बड़ी है (कम से कम ~ 100,000 डिग्री की स्वतंत्रता प्रति एमपीआई प्रक्रिया)।


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

1

आप आसानी से लोच के लिए एक अच्छा पूर्व शर्त बना सकते हैं यदि आपकी सामग्री बहुत अयोग्य नहीं है (पॉइसन राशन <0.4) अलग विस्थापन घटकों का उपयोग करके पूर्ववर्ती । विचार बस 3 ब्लॉक के साथ एक ब्लॉक विकर्ण मैट्रिक्स है, जिनमें से प्रत्येक एक ही भौतिक आयाम के साथ युग्मन का प्रतिनिधित्व करता है(एक्स,y,z) अर्थात: एक्सएक्स, yy, zz

उस मामले में आप प्रत्येक ब्लॉक व्युत्क्रम के एक अनुमान की गणना करने के लिए कम उन्नत एएमजी विधियों का उपयोग कर सकते हैं और एक बहुत अच्छा पूर्व शर्त प्राप्त कर सकते हैं।


1

वाल्टर लैंड्री ने अनुकूली मल्टीग्रिड का उपयोग करके तीन आयामी इलास्टोस्टेटिक विरूपण के लिए एक कोड विकसित किया। आप पर कोड पा सकते हैं

https://bitbucket.org/wlandry/gamra

आप आइसोट्रोपिक आइजनस्ट्रेन और समकक्ष शरीर बलों के साथ थर्मल फोर्सिंग के प्रभाव को शामिल कर सकते हैं। एक बार जब ये जगह पर होते हैं, तो सॉल्वर ठीक काम करेगा।

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