मैं सोच रहा हूं कि वैश्विक स्पार्स परिमित तत्व मैट्रिसेस में डिरिक्लेट सीमा की स्थिति वास्तव में कुशलता से कैसे लागू की जाती है। उदाहरण के लिए, हम कहते हैं कि हमारा वैश्विक परिमित तत्व मैट्रिक्स था:
फिर पहले नोड पर एक ड्यूरिचलेट स्थिति लागू करने के लिए ( ) हम पहली पंक्ति को शून्य करेंगे, पर 1 , और दाहिने हाथ से पहले कॉलम को । उदाहरण के लिए हमारा सिस्टम बन जाएगा:
यह सिद्धांत में सभी अच्छी तरह से और अच्छा है, लेकिन अगर हमारे K मैट्रिक्स को संपीड़ित पंक्ति प्रारूप (CRS) में संग्रहीत किया जाता है, तो स्तंभों को दाईं ओर स्थानांतरित करना बड़ी प्रणालियों के लिए महंगा हो जाता है (कई नोड्स डीरिचलेट होने के साथ)। एक वैकल्पिक विकल्प यह होगा कि आप डार्किलेट स्थिति के समान कॉलम को दाएं-हाथ की ओर न ले जाएं, अर्थात हमारा सिस्टम बन जाएगा:
हालाँकि, इसमें एक बड़ी भूमिका यह है कि यह प्रणाली अब सममित नहीं है और इसलिए हम अब पहले से तैयार संयुग्म ढाल (या अन्य सममित ठोस) का उपयोग नहीं कर सकते हैं। एक दिलचस्प समाधान जो मेरे सामने आया वह है "मेथड ऑफ लार्ज नंबर्स" जो मुझे गेनैद निकिशकोव की पुस्तक "प्रोग्रामिंग फिनिट एलिमेंट्स इन जावा" में मिला। यह विधि इस तथ्य का उपयोग करती है कि दोहरी सटीकता में केवल सटीकता के लगभग 16 अंक होते हैं। स्थिति में 1 डालने के बजाय हम एक बड़ी संख्या रखते हैं। उदाहरण के लिए हमारी प्रणाली बन जाती है:
इस विधि के लाभ यह हैं कि यह मैट्रिक्स की समरूपता को बनाए रखता है जबकि विरल भंडारण प्रारूपों के लिए भी बहुत कुशल है। मेरे प्रश्न इस प्रकार हैं:
आमतौर पर गर्मी / तरल पदार्थ के लिए परिमित तत्व कोड में डिरिक्लेट सीमा की शर्तें कैसे लागू की जाती हैं? क्या लोग आमतौर पर बड़ी संख्या का उपयोग करते हैं या वे कुछ और करते हैं? क्या बड़ी संख्या की पद्धति का कोई नुकसान है जो कोई देख सकता है? मैं यह मान रहा हूं कि ज्यादातर वाणिज्यिक और गैर-वाणिज्यिक कोड में कुछ मानक कुशल विधि का उपयोग किया जाता है जो इस समस्या को हल करता है (जाहिर है कि मैं लोगों से हर वाणिज्यिक परिमित तत्व सॉल्वर के सभी आंतरिक कामकाज को जानने की उम्मीद नहीं करता हूं, लेकिन यह समस्या मूल / मौलिक लगती है पर्याप्त है कि किसी ने संभवतः ऐसी परियोजनाओं पर काम किया है और मार्गदर्शन प्रदान कर सकता है)।