सॉल्वर और पूर्वानुकूलन¶
FrontISTR का रैखिक सॉल्वर प्रत्यक्ष या पुनरावृत्त विधि चुनता है, और पुनरावृत्त विधि में पूर्वानुकूलक के साथ रैखिक समीकरण हल किए जाते हैं। MPC प्रसंस्करण विधि और संपर्क स्वतंत्रता-कोटि उन्मूलन सहायक विकल्प हैं, जो बहु-बिंदु या संपर्क बाधाओं वाले रैखिक तंत्र के रूप को निर्धारित करते हैं।
अवलोकन¶
सॉल्वर और पूर्वानुकूलन निम्न विकल्पों से बने हैं। पहले रैखिक सॉल्वर के रूप में पुनरावृत्त या प्रत्यक्ष विधि चुनें; पूर्वानुकूलक केवल पुनरावृत्त विधि के साथ जोड़ा जाता है।
| वर्ग | मुख्य विकल्प | भूमिका |
|---|---|---|
| पुनरावृत्त विधि | CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN | बड़े विरल मैट्रिक्स को मेमोरी-कुशल ढंग से हल करती है। |
| पुनरावृत्त विधि का पूर्वानुकूलक | SSOR, विकर्ण स्केलिंग, BILU, AMG, SAINV, RIF | पुनरावृत्त विधि के अभिसरण में सुधार करता है; प्रत्यक्ष विधि में उपयोग नहीं होता। |
| प्रत्यक्ष विधि | MUMPS, MKL | गुणनखंडन द्वारा रैखिक समीकरणों को सुदृढ़ रूप से हल करती है। |
| MPC प्रसंस्करण विधि | दंड विधि, स्पष्ट स्वतंत्रता-कोटि उन्मूलन | बहु-बिंदु बाधाओं को रैखिक तंत्र में समाहित करती है। |
| संपर्क स्वतंत्रता-कोटि उन्मूलन | स्वचालित, सदैव सक्षम | SLAGRANGE संपर्क में जोड़ी गई संपर्क स्वतंत्रता-कोटि का व्यवहार बदलता है। |
| सहायक कार्य | कंडीशन नंबर का अनुमान, मैट्रिक्स डंप, लॉग आउटपुट | डीबग, अभिसरण जाँच और प्रदर्शन मूल्यांकन में सहायता करते हैं। |
समानांतर निष्पादन में क्षेत्र-विभाजन आधारित MPI समानांतरता और OpenMP थ्रेड समानांतरता को जोड़ा जा सकता है। बड़े समानांतर विश्लेषण में पुनरावृत्त विधि मानक विकल्प है; लिंक की गई उपयुक्त लाइब्रेरी वाले वातावरण में अधिक सुदृढ़ समाधान की आवश्यकता पर प्रत्यक्ष विधि उपयोग की जाती है।
सॉल्वर और पूर्वानुकूलन का चयन¶
पहले पुनरावृत्त और प्रत्यक्ष विधि में से चुनें। यदि पुनरावृत्त विधि चुनी जाए तो उसके बाद पूर्वानुकूलक चुनें।
| निर्णय आधार | अनुशंसित विचार |
|---|---|
| समस्या का आकार | छोटे और मध्यम आकार में प्रत्यक्ष विधि स्थिर और सरल है; बड़े आकार में पुनरावृत्त विधि अधिक मेमोरी-कुशल होती है। |
| मैट्रिक्स सममिति | सममित धन-निश्चित समस्या में CG; असममित समस्या में BiCGSTAB, GMRES, GPBiCG आदि पर विचार करें। |
| समानांतर वातावरण | MPI समानांतरता में पुनरावृत्त विधि को क्षेत्र-विभाजन से जोड़ें। OpenMP के अंतर्गत बहुरंगी क्रमांकन समर्थित SSOR पूर्वानुकूलन पर विचार करें। |
| पूर्वानुकूलक (पुनरावृत्त विधि में) | पहले डिफ़ॉल्ट SSOR आज़माएँ, फिर AMG पर विचार करें। अच्छे अभिसरण वाली समस्या में हल्का SSOR और जटिल बड़े पैमाने की समस्या में AMG उपयुक्त है। AMG, Trilinos-ML कार्यान्वयन या HEC-MW में अंतर्निर्मित SA-AMG के रूप में उपलब्ध है; बिल्ड विन्यास के अनुसार चुनें। |
| संपर्क/MPC | संपर्क या बहु-बिंदु बाधाओं वाले विश्लेषण में MPC प्रसंस्करण और संपर्क स्वतंत्रता-कोटि उन्मूलन का चयन अभिसरण तथा सुदृढ़ता को प्रभावित करता है। |
| बाहरी लाइब्रेरी | MUMPS, MKL और AMG (Trilinos-ML) उन बिल्ड में उपलब्ध हैं जिनमें संबंधित लाइब्रेरी लिंक की गई हैं। AMG (SA-AMG) उन बिल्ड में उपलब्ध है जिनमें LAPACK सक्षम है। |
मानक विश्लेषण में अभिसरण मानदंड, अधिकतम पुनरावृत्ति संख्या और पूर्वानुकूलक का विकर्ण सुधार गुणांक जैसे मान सामान्यतः डिफ़ॉल्ट पर पर्याप्त होते हैं। केवल धीमे अभिसरण या अपसरण की स्थिति में पुनरावृत्त विधि, पूर्वानुकूलक, MPC प्रसंस्करण और संपर्क स्वतंत्रता-कोटि उन्मूलन की क्रमशः समीक्षा करें। मान और प्रारूप के लिए कीवर्ड संदर्भ !SOLVER देखें।
पुनरावृत्त विधियाँ¶
पुनरावृत्त विधियाँ बड़े विरल मैट्रिक्स के लिए मैट्रिक्स-सदिश गुणन और पूर्वानुकूलन को दोहराते हुए समाधान अद्यतन करती हैं। FrontISTR में निम्न विधियाँ उपलब्ध हैं।
| पुनरावृत्त विधि | उपयोग का संकेत | टिप्पणी |
|---|---|---|
CG | सममित धन-निश्चित समस्या | संरचनात्मक और ऊष्मा चालन विश्लेषण का मानक विकल्प। |
BiCGSTAB | असममित समस्या | संपर्क या युग्मन से प्रबल असममिति होने पर विकल्प। |
GMRES | असममित समस्या | Krylov उप-स्थान आकार निर्दिष्ट करके उपयोग। |
GPBiCG | असममित समस्या | BiCGSTAB परिवार की उन्नत विधि। |
GMRESR | असममित समस्या, उन्नत उपयोग | GMRES को नेस्टेड रूप में उपयोग करने वाला विकल्प। |
GMRESREN | असममित समस्या, उन्नत उपयोग | GMRESR परिवार का पुनरावर्ती संस्करण। |
CG मैट्रिक्स के सममित धन-निश्चित होने की धारणा पर आधारित है। घर्षण संपर्क, असममित बाधा प्रसंस्करण या युग्मन प्रभाव से असममिति प्रबल हो तो BiCGSTAB, GMRES, GPBiCG आदि पर विचार करें। GMRES में बड़ा Krylov उप-स्थान अभिसरण सुधार सकता है, पर मेमोरी उपयोग भी बढ़ाता है।
METHOD2 निर्दिष्ट करने पर CG के अपसारित या विफल होने पर वैकल्पिक पुनरावृत्त विधि में स्विच किया जा सकता है। यह CG को मुख्य सॉल्वर बनाने की स्थिति का वैकल्पिक मार्ग है; अन्य सेटिंग और डेटा पंक्तियाँ मुख्य सॉल्वर के समान रहती हैं।
CG, BiCGSTAB, GPBiCG और PipeCG अवशेष सदिश को पुनरावृत्ति संबंध से अद्यतन करते हैं; इसलिए पुनरावृत्तियाँ बढ़ने पर पूर्णांकन त्रुटियाँ संचित होती जाती हैं और वास्तविक अवशेष से विचलन हो सकता है। इसे रोकने के लिए निश्चित संख्या में पुनरावृत्तियों के बाद अवशेष सदिश की दाएँ पक्ष और आव्यूह-सदिश गुणन से पुनः गणना की जाती है। इस आवृत्ति को RECOMPUTE_RESIDUAL से निर्दिष्ट किया जा सकता है। अंतराल लंबा करने से आव्यूह-सदिश गुणनों की संख्या घटती है, लेकिन पुनरावृत्ति संबंध से प्राप्त अवशेष के वास्तविक अवशेष से दूर होने और अभी अभिसरित न हुए समाधान को अभिसरित मान लेने का जोखिम बढ़ता है। इसके विपरीत, अंतराल बहुत छोटा करने से न केवल आव्यूह-सदिश गुणनों की संख्या बढ़ती है, बल्कि पुनरावृत्ति संबंध द्वारा बनाए रखे गए अवशेष और सहायक सदिशों का संबंध भी बिगड़ सकता है, जिससे अभिसरण स्वयं खराब हो सकता है। डिफ़ॉल्ट मान प्रत्येक समाधान विधि के लिए इन प्रभावों का संतुलन रखता है; इसे बदलने पर अभिसरण इतिहास और अंतिम सापेक्ष अवशेष की जाँच करें।
पूर्वानुकूलन¶
पूर्वानुकूलन गुणांक मैट्रिक्स को रूपांतरित करके पुनरावृत्त विधि के अभिसरण को सुधारता है और केवल पुनरावृत्त विधि में लागू होता है। प्रत्यक्ष विधि में इसका उपयोग नहीं होता। एक ही पुनरावृत्त विधि में भी पूर्वानुकूलक बदलने से अभिसरण तक पुनरावृत्तियों और गणना समय में बड़ा अंतर पड़ सकता है।
| पूर्वानुकूलक | विशेषता | उपयोग का संकेत |
|---|---|---|
| SSOR | मानक पूर्वानुकूलक; बहुरंगी क्रमांकन समर्थित। | पहला विकल्प; संरचनात्मक विश्लेषण में व्यापक उपयोग। |
| विकर्ण स्केलिंग | विकर्ण घटकों पर आधारित हल्का पूर्वानुकूलक। | गणना लागत कम रखना हो। |
| BILU | ब्लॉक-आधारित अपूर्ण LU गुणनखंडन। | SSOR से कठिन अभिसरण वाली समस्याएँ। |
| AMG (Trilinos-ML) | बाहरी Trilinos-ML लाइब्रेरी का उपयोग करने वाला बीजीय बहु-जाल। | बड़े पैमाने या पदानुक्रमित त्रुटि-प्रधान समस्याओं के लिए विकल्प। |
| AMG (SA-AMG) | HEC-MW में अंतर्निर्मित Smoothed Aggregation प्रकार का बीजीय बहु-जाल। | ऊपर के समान; बाहरी लाइब्रेरी जोड़े बिना AMG उपयोग करने का विकल्प। |
| SAINV | Sparse Approximate Inverse। | संपर्क समस्याओं या वितरित वातावरण में विशेष विकल्प। |
| RIF | Robust Incomplete Factorization। | अपूर्ण गुणनखंडन का वैकल्पिक विकल्प। |
SSOR मानक विकल्प है और OpenMP समानांतरता में बहुरंगी क्रमांकन संस्करण उपयोग होता है। विकर्ण स्केलिंग हल्की है, पर उसका अभिसरण सुधार समस्या पर निर्भर करता है। BILU ब्लॉक-आधारित अपूर्ण LU गुणनखंडन के रूप में लागू है और सामान्य DOF मैट्रिक्स का समर्थन करता है। BILU परिवार में अपसरण पर SIGMA_DIAG को स्वचालित रूप से बढ़ाकर पुनः प्रयास का मार्ग है; मान की विशिष्टता कीवर्ड संदर्भ में दी गई है।
AMG (बीजीय बहु-जाल) के दो कार्यान्वयन हैं: बाहरी Trilinos-ML लाइब्रेरी वाला कार्यान्वयन और HEC-MW का अंतर्निर्मित SA-AMG। ये स्वतंत्र कार्यान्वयन हैं, जिनके लिए आवश्यक बिल्ड विन्यास और उपलब्ध विकल्प अलग हैं।
Trilinos-ML वाला AMG उपयोग करने के लिए बिल्ड समय पर ML सक्षम होना चाहिए। स्मूदर, बहु-जाल चक्र, स्थूलीकरण विधि और अन्य सेटिंग निर्दिष्ट की जा सकती हैं; विस्तृत मानों के लिए कीवर्ड संदर्भ देखें।
SA-AMG Smoothed Aggregation प्रकार का बीजीय बहु-जाल पूर्वानुकूलक है और इसे Trilinos-ML की आवश्यकता नहीं होती। यह आंतरिक रूप से LAPACK उपयोग करता है, इसलिए LAPACK-सक्षम बिल्ड आवश्यक है; LAPACK के बिना बने बिल्ड में इसे चुनने पर कार्यक्रम विश्लेषण आरंभ किए बिना समाप्त हो जाता है। स्थूल-जाल समाधान के लिए MUMPS-सक्षम बिल्ड में MUMPS उपयोग किया जा सकता है; अन्यथा अंतर्निर्मित सघन-मैट्रिक्स प्रत्यक्ष विधि उपयोग होती है।
SA-AMG मुख्यतः सममित धन-निश्चित तंत्रों (CG) के लिए है, लेकिन घर्षण संपर्क से उत्पन्न असममित संक्षिप्त तंत्रों (BiCGSTAB, GMRES आदि) का भी समर्थन करता है। यह प्रति नोड 1 (ऊष्मा चालन), 2 (समतल), 3 (ठोस) और 6 (शेल) स्वतंत्रता की डिग्रियों का समर्थन करता है, लेकिन ऐसे मैट्रिक्स का समर्थन नहीं करता जिनमें नोड के अनुसार स्वतंत्रता की डिग्रियों की संख्या अलग हो। स्थूल-जाल सॉल्वर, बहु-जाल चक्र, स्मूदर का क्रम और अन्य विकल्प निर्दिष्ट किए जा सकते हैं, पर मानक विश्लेषण में डिफ़ॉल्ट मान उपयोग किए जा सकते हैं। मानों और सिंटैक्स के लिए कीवर्ड संदर्भ देखें। GPU (OpenACC)-सक्षम बिल्ड में पूर्वानुकूलक लागू करने का चरण GPU पर चलता है।
संपर्क समस्या या MPC वाले समानांतर विश्लेषण में SAINV उपयोग करते समय क्षेत्र-विभाजन की ओवरलैप गहराई अभिसरण को प्रभावित कर सकती है।
प्रत्यक्ष विधियाँ¶
प्रत्यक्ष विधि गुणांक मैट्रिक्स का गुणनखंडन करके रैखिक समीकरण हल करती है। पुनरावृत्ति संख्या पर निर्भर न होने से यह सुदृढ़ है और संपर्क या बाधा वाली समस्याओं में स्थिर विकल्प बन सकती है; किंतु समस्या बढ़ने पर मेमोरी उपयोग बढ़ता है।
| प्रत्यक्ष विधि | समानांतर वातावरण | उपयोग |
|---|---|---|
MUMPS | MPI समानांतर | वितरित मेमोरी में विरल मैट्रिक्स को प्रत्यक्ष विधि से हल करता है। |
MKL | Intel MKL / OpenMP | Intel MKL की प्रत्यक्ष विधि; भीतर Intel PARDISO चलता है। अनेक MPI प्रक्रियाओं में Cluster MKL मार्ग उपयोग होता है। DIRECTmkl, MKL का उपनाम है। |
प्रत्यक्ष विधियाँ सममित और असममित दोनों मैट्रिक्स के लिए उपलब्ध हैं। MUMPS और MKL के लिए बिल्ड में संबंधित लाइब्रेरी लिंक होनी चाहिए। आवश्यक निर्भरताओं और CMake विकल्पों के लिए बिल्ड गाइड देखें।
FrontISTR में बाहरी लाइब्रेरी के बिना अंतर्निहित प्रत्यक्ष विधि का मार्ग भी है, पर सामान्य विश्लेषण में MUMPS या MKL प्राथमिक विकल्प हैं।
प्रत्यक्ष विधि में पूर्वानुकूलन लागू नहीं होता। !SOLVER में पूर्वानुकूलक निर्दिष्ट होने पर भी प्रत्यक्ष विधि मार्ग उसे नहीं पढ़ता।
MPC प्रसंस्करण विधि¶
MPC प्रसंस्करण विधि बहु-बिंदु बाधा से जुड़े स्वतंत्रता-कोटि को रैखिक समीकरण में समाहित करती है। इनपुट बाधा समीकरण समान रहने पर भी प्रसंस्करण विधि से गुणांक मैट्रिक्स के गुण और अभिसरण बदलते हैं।
| MPC प्रसंस्करण विधि | स्थिति | डिफ़ॉल्ट उपयोग |
|---|---|---|
| दंड विधि | बाधा समीकरण में बड़ी कठोरता जोड़कर उसे सन्निकट रूप से संतुष्ट करती है। | प्रत्यक्ष विधि का डिफ़ॉल्ट। |
| स्पष्ट स्वतंत्रता-कोटि उन्मूलन | बाधित स्वतंत्रता-कोटि हटाकर संक्षिप्त रैखिक तंत्र हल करता है। | पुनरावृत्त विधि का डिफ़ॉल्ट। |
प्रत्यक्ष विधि में दंड विधि और पुनरावृत्त विधि में स्पष्ट स्वतंत्रता-कोटि उन्मूलन डिफ़ॉल्ट है। पहले उपलब्ध MPC-CG विधि हटा दी गई है; MPCMETHOD=2 वाले इनपुट के लिए चेतावनी देकर इन्हीं डिफ़ॉल्ट विधियों के अनुसार प्रसंस्करण किया जाता है।
स्पष्ट स्वतंत्रता-कोटि उन्मूलन में, मोडल विश्लेषण और स्पष्ट विधि के गतिक विश्लेषण में प्रयुक्त संकेंद्रित द्रव्यमान भी कठोरता मैट्रिक्स वाले ही रूपांतरण से संक्षिप्त किए जाते हैं। संक्षेपण के बाद द्रव्यमान मैट्रिक्स सामान्यतः विकर्ण नहीं होता, इसलिए उसकी पंक्तियों के योग संकेंद्रित द्रव्यमान के रूप में प्रयुक्त होते हैं। संयोजन या अंतर्वेशन की उन बाधाओं में जिनके बाधा समीकरण के गुणांकों का योग 1 होता है, आश्रित स्वतंत्रता-कोटि का द्रव्यमान गुणांकों के अनुपात में मुख्य स्वतंत्रता-कोटियों में वितरित होता है।
MPC प्रसंस्करण विधि !SOLVER के MPCMETHOD में स्पष्ट रूप से दी जा सकती है। मान और प्रारूप के लिए कीवर्ड संदर्भ देखें।
संपर्क स्वतंत्रता-कोटि उन्मूलन¶
संपर्क स्वतंत्रता-कोटि उन्मूलन SLAGRANGE संपर्क में जोड़े गए संपर्क DOF को रैखिक सॉल्वर को देने से पहले संक्षिप्त करता है। इससे पुनरावृत्त विधि में रैखिक तंत्र के गुण सुधर सकते हैं।
डिफ़ॉल्ट स्वचालित मोड में पुनरावृत्त विधि के साथ संपर्क DOF हटाए जाते हैं और प्रत्यक्ष विधि में नहीं। प्रत्यक्ष विधि के लिए संपर्क DOF सहित विस्तारित तंत्र को सीधे संभालने का मार्ग उपलब्ध है।
CONTACT_ELIM स्पष्ट करने पर प्रत्यक्ष विधि में भी संपर्क DOF उन्मूलन किया जा सकता है। संपर्क प्रकार, संपर्क युग्म और एल्गोरिदम के इनपुट चयन के लिए संपर्क/एम्बेडिंग पृष्ठ देखें।
सहायक कार्य¶
सॉल्वर के अभिसरण और प्रदर्शन की जाँच के लिए कंडीशन नंबर का अनुमान, मैट्रिक्स डंप और लॉग आउटपुट उपलब्ध हैं। सामान्य विश्लेषण में इनकी आवश्यकता नहीं होती; डीबग और प्रदर्शन मूल्यांकन में सक्षम करें।
| कार्य | उपयोग | टिप्पणी |
|---|---|---|
| कंडीशन नंबर का अनुमान | CG और GMRES में कंडीशन नंबर का संकेतक आउटपुट। | LAPACK सक्षम बिल्ड में। |
| मैट्रिक्स डंप | सॉल्वर को दिए जाने वाले मैट्रिक्स और दाएँ पक्ष को फ़ाइल में सहेजता है। | Matrix Market, CSR, BSR प्रारूप। |
DUMPEXIT | मैट्रिक्स डंप के बाद विश्लेषण समाप्त करता है। | मैट्रिक्स निकालकर बाहरी सत्यापन के लिए। |
ITERLOG | पुनरावृत्त विधि का अभिसरण इतिहास आउटपुट। | अवशेष का परिवर्तन देखने के लिए। |
TIMELOG | सॉल्वर गणना समय आउटपुट। | VERBOSE में विस्तृत विभाजन। |
STEPLOG | चरण जानकारी आउटपुट। | विश्लेषण प्रक्रिया जाँचने के लिए। |
LOGLEVEL | AMG पूर्वानुकूलकों की पदानुक्रम संरचना जैसी निदान सूचना आउटपुट करता है। | इसे ITERLOG और TIMELOG से स्वतंत्र रूप से निर्दिष्ट किया जाता है। बड़ा मान अधिक आउटपुट देता है। |
मैट्रिक्स डंप विश्लेषण में संयोजित गुणांक मैट्रिक्स को बाहरी टूल से जाँचने देता है। DUMPEXIT सक्षम होने पर मैट्रिक्स और दाएँ पक्ष को सहेजते ही विश्लेषण समाप्त होता है। कंडीशन नंबर का अनुमान CG और GMRES में उपलब्ध प्रायोगिक निदान है।
संबंधित विषय¶
- रैखिक सॉल्वर (सिद्धांत) — पुनरावृत्त विधि और पूर्वानुकूलन का गणितीय आधार।
- अरैखिक पुनरावृत्ति और समय समाकलन — रैखिक सॉल्वर को बुलाने वाली Newton पुनरावृत्ति, संपर्क पुनरावृत्ति और समय समाकलन की रूपरेखा।
- क्षेत्र विभाजन — MPI समानांतर विश्लेषण और ओवरलैप गहराई।
- संपर्क और एम्बेडिंग — संपर्क प्रकार और संपर्क एल्गोरिदम का चयन।
- !SOLVER — सॉल्वर और पूर्वानुकूलक पैरामीटर के मान तथा प्रारूप।
- आवश्यक और वैकल्पिक निर्भरता लाइब्रेरी —
MUMPS,MKL(Intel PARDISO), Trilinos-ML, LAPACK आदि।