!SOLVER¶
सोल्भर नियन्त्रण
अनिवार्य नियन्त्रण डेटा।
प्यारामिटर¶
METHOD = समाधान विधि (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : सम्पर्क विश्लेषण बाहेकका लागि प्रत्यक्ष विधि (क्रमिक प्रक्रिया मात्र) (हाल प्रयोग गर्न नसकिने)
DIRECTmkl : Intel MKL द्वारा प्रत्यक्ष विधि
MUMPS : MUMPS द्वारा प्रत्यक्ष विधि
प्रत्यक्ष विधि छान्दा डेटा पङ्क्ति बेवास्ता गरिन्छ।
3 स्वतन्त्रता अंशका लागि पुनरावृत्ति विधिले OpenMP थ्रेड समानान्तरता प्रयोग गर्न सक्छ
PRECOND = पुनरावृत्ति विधिको पूर्वसर्तक विधि (1, 2, 3, 5, 10, 11, 12, 22)
1, 2 : (Block) SSOR (3 स्वतन्त्रता अंशका लागि मात्र बहुरङ्ग क्रमबद्धतासहित)
3 : (Block) विकर्ण स्केलिङ
5 : मल्टिग्रिड पूर्वसर्तकरण प्याकेज ML द्वारा AMG
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
22 : HEC-MW मा अन्तर्निर्मित SA-AMG (Smoothed Aggregation AMG) द्वारा AMG
10, 11, 12 केवल 3 स्वतन्त्रता अंश समस्यामा प्रयोग गर्न सकिन्छ
22 केवल LAPACK सक्षम गरिएको बिल्डमा उपलब्ध छ
OpenMP थ्रेड समानान्तरतामा SSOR, विकर्ण स्केलिङ, ML वा SA-AMG सिफारिस गरिन्छ
ITERLOG = पुनरावृत्ति सोल्भरको अभिसरण इतिहास आउटपुट गर्ने/नगर्ने (YES/NO)(पूर्वनिर्धारित: NO)
TIMELOG = सोल्भर गणना समय आउटपुट गर्ने/नगर्ने (YES/NO/VERBOSE)(पूर्वनिर्धारित: NO)
LOGLEVEL = पूर्वसर्तकको निदान जानकारी आउटपुट स्तर (पूर्णाङ्क)(पूर्वनिर्धारित: आउटपुट छैन)
ITERLOG र TIMELOG बाट स्वतन्त्र रूपमा निर्दिष्ट गरिन्छ
1 वा बढीमा AMG प्रकारका पूर्वसर्तकहरूको (PRECOND=5, 22) पदानुक्रम संरचना आदि आउटपुट हुन्छ
2 वा बढीमा अझ विस्तृत जानकारी (मेमोरी प्रयोग आदि) पनि आउटपुट हुन्छ
USEJAD = भेक्टर मेसिनका लागि क्रमबद्धता प्रयोग गर्ने/नगर्ने (YES/NO)(पूर्वनिर्धारित: NO)
3 स्वतन्त्रता अंश समस्यामा पुनरावृत्ति विधि प्रयोग गर्दा मात्र प्रभावकारी
SCALING = म्याट्रिक्सको विकर्ण अवयवलाई 1 बनाउने स्केलिङ प्रयोग गर्ने/नगर्ने (YES/NO)(पूर्वनिर्धारित: NO)
3 स्वतन्त्रता अंश समस्यामा पुनरावृत्ति विधि प्रयोग गर्दा मात्र प्रभावकारी
DUMPTYPE = म्याट्रिक्स डम्प ढाँचा (NONE, MM, CSR, BSR) (मुख्यतः डिबगिङका लागि)
NONE : डम्प नगर्ने (पूर्वनिर्धारित)
MM : Matrix Market ढाँचा
CSR : Compressed Sparse Row(CSR)ढाँचा
BSR : Blocked CSR ढाँचा
DUMPEXIT = म्याट्रिक्स डम्प गरेलगत्तै कार्यक्रम समाप्त गर्ने (YES/NO)(पूर्वनिर्धारित: NO)
MPCMETHOD = बहुबिन्दु बाधा सर्तको प्रशोधन विधि (1, 3)
1: पेनाल्टी विधि (प्रत्यक्ष विधि प्रयोग गर्दा पूर्वनिर्धारित)
3: स्पष्ट स्वतन्त्रता अंश उन्मूलन विधि (पुनरावृत्ति विधि प्रयोग गर्दा पूर्वनिर्धारित)
पहिले रोज्न सकिने MPC-CG विधि हटाइएको छ; 2 निर्दिष्ट गर्दा चेतावनी दिइन्छ र सम्बन्धित पूर्वनिर्धारित विधि प्रयोग गरिन्छ।
ESTCOND = सर्त सङ्ख्या अनुमानको आवृत्ति (परीक्षणात्मक)
निर्दिष्ट प्रत्येक पुनरावृत्तिमा र पुनरावृत्ति समाप्त हुँदा सर्त सङ्ख्या अनुमान गरिन्छ
0 हुँदा अनुमान गरिँदैन
RECOMPUTE_RESIDUAL = अवशेष भेक्टर पुनः गणना गर्ने आवृत्ति
METHOD मा CG, BiCGSTAB, GPBiCG वा PipeCG निर्दिष्ट हुँदा मात्र प्रभावकारी
पुनरावृत्ति विधिले अवशेष भेक्टरलाई पुनरावृत्ति सम्बन्धबाट अद्यावधिक गर्ने भएकाले गोलाइ त्रुटि सञ्चित हुन्छ
निर्दिष्ट प्रत्येक पुनरावृत्ति अन्तरालमा अवशेष भेक्टर {b}-[A]{x} बाट पुनः गणना गरिन्छ
0 हुँदा प्रत्येक विधिको पूर्वनिर्धारित मान (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50) प्रयोग गरिन्छ
ऋणात्मक मान निर्दिष्ट गर्दा आवधिक पुनर्गणना गरिँदैन
अभिसरण पुष्टि गर्न गरिने पुनर्गणना यस सेटिङको परवाह नगरी सधैँ गरिन्छ
अन्तराल धेरै छोटो गर्दा म्याट्रिक्स-भेक्टर गुणन मात्र बढ्दैन
अभिसरण आफैँ खराब हुन वा समाधान अभिसृत नहुन सक्छ
पूर्वनिर्धारित मानबाट परिवर्तन गरेमा अभिसरण इतिहास र अन्तिम सापेक्ष अवशेष जाँच गर्नुहोस्
METHOD2 = दोस्रो समाधान विधि (BiCGSTAB, GMRES, GPBiCG) (परीक्षणात्मक)
METHOD मा CG निर्दिष्ट हुँदा मात्र प्रभावकारी
CG विधि अपसरण भएमा स्वचालित रूपमा स्विच गरी समाधान गरिन्छ
अन्य प्यारामिटर र डेटा पङ्क्तिको जानकारी उही प्रयोग गरिन्छ
CONTACT_ELIM = सम्पर्क विश्लेषणमा स्वतन्त्रता अंश उन्मूलन गर्ने/नगर्ने निर्दिष्टकरण (0,1)
0: पुनरावृत्ति विधि प्रयोग गर्दा मात्र स्वतन्त्रता अंश उन्मूलन गर्ने (पूर्वनिर्धारित)
1: सधैँ (प्रत्यक्ष विधि प्रयोग गर्दा पनि) स्वतन्त्रता अंश उन्मूलन गर्ने
** दोस्रो पङ्क्ति र त्यसपछिका पङ्क्तिहरू **
| चरको नाम | विशेषता | विवरण |
|---|---|---|
| NITER | I | पुनरावृत्ति संख्या (पूर्वनिर्धारित: 100) |
| iterPREmax | I | Additive Schwarz द्वारा पूर्वसर्तकरण दोहोर्याउने संख्या (पूर्वनिर्धारित: 1) (सिफारिस मान 1 हो; समानान्तर गणनामा 2 प्रभावकारी हुन सक्छ) |
| NREST | I | Krylov उपस्थानको संख्या (पूर्वनिर्धारित: 10) (समाधान विधिका रूपमा GMRES छान्दा मात्र प्रभावकारी) |
| NCOLOR_IN | I | बहुरङ्ग क्रमबद्धतामा लक्षित रङहरूको संख्या (पूर्वनिर्धारित: 10) (OpenMP थ्रेडहरूको संख्या 2 वा बढी हुँदा मात्र प्रभावकारी) |
| RECYCLEPRE | I | पूर्वसर्तक सेटअप जानकारी पुनःप्रयोग संख्या (पूर्वनिर्धारित: 3) (गैररैखिक विश्लेषणमा मात्र प्रभावकारी) |
| चरको नाम | विशेषता | विवरण |
|---|---|---|
| RESID | R | समाप्ति त्रुटि (पूर्वनिर्धारित मान: 1.0e-8) |
| SIGMA_DIAG | R | पूर्वसर्तक म्याट्रिक्स गणना गर्दा विकर्ण अवयवमा गुणा गर्ने गुणक (पूर्वनिर्धारित मान: 1.0) (ILU पूर्वसर्तकरणमा शून्यले भाग वा अपसरण भएमा 1.0 भन्दा ठूलो मान सेट गर्दा समाधान हुन सक्छ) |
| SIGMA | R | प्रयोग नगरिएको (पूर्वनिर्धारित मान: 0.0) |
PRECOND=5 हुँदा (वैकल्पिक)¶
PRECOND मा 5 र 22 बाहेकको मान निर्दिष्ट भए चौथो पङ्क्ति बेवास्ता गरिन्छ।
(चौथो पङ्क्ति) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| चरको नाम | विशेषता | विवरण |
|---|---|---|
| ML_CoarseSolver | I | ML को मोटा-ग्रिड सोल्भर (1: स्मूदरले प्रतिस्थापन, 2: KLU (क्रमिक प्रत्यक्ष विधि), 3: MUMPS (समानान्तर प्रत्यक्ष विधि)) (पूर्वनिर्धारित मान: 1) (सिफारिस: कठिन समस्यामा 3 वा 2, सामान्य समस्यामा 1) |
| ML_Smoother | I | ML स्मूदर (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (पूर्वनिर्धारित मान: 1) (सिफारिस मान 1) |
| ML_MGCycle | I | ML मल्टिग्रिड चक्र (1: V-चक्र, 2: W-चक्र, 3: Full-V-चक्र) (पूर्वनिर्धारित मान: 1) (सिफारिस: कठिन समस्यामा 2, सामान्य समस्यामा 1) |
| ML_MaxLevels | I | ML को अधिकतम तह सङ्ख्या (पूर्वनिर्धारित मान: 10) (सिफारिस: विशेष कठिन समस्यामा मोटा-ग्रिड सोल्भरलाई प्रत्यक्ष विधि बनाई 2 (मेमोरी कम भए 3), सामान्य समस्यामा 10) |
| ML_CoarseningScheme | I | ML मोट्याउने योजना (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (पूर्वनिर्धारित मान: 1) (सिफारिस मान 1 वा 5) |
| ML_NumSweep | I | ML स्मूदरको स्विप सङ्ख्या (Chebyshev प्रयोग गर्दा बहुपदको घात) (पूर्वनिर्धारित मान: 2) (सिफारिस: Chebyshev प्रयोग गर्दा 2, SymBlockGaussSeidel प्रयोग गर्दा 1) |
PRECOND=22 हुँदा (वैकल्पिक)¶
PRECOND मा 22 बाहेकको मान निर्दिष्ट भए पाँचौँ पङ्क्ति बेवास्ता गरिन्छ। चौथो र पाँचौँ पङ्क्ति दुवैलाई पूरै छोड्न सकिन्छ, र प्रत्येक पङ्क्तिका पछिल्ला वस्तुहरू पनि छोड्न सकिन्छ। 0 निर्दिष्ट गरिएको वस्तुमा पूर्वनिर्धारित मान प्रयोग हुन्छ।
चौथो पङ्क्तिका 1 देखि 7 सम्मका वस्तुहरू PRECOND=5 (ML) को विकल्प पङ्क्तिसँग उही क्रममा छन्, त्यसैले ML को विकल्प पङ्क्ति जस्ताको तस्तै पुनःप्रयोग गर्न सकिन्छ। 8 देखि 10 सम्मका वस्तुहरू SA-AMG का लागि विशिष्ट छन्।
(चौथो पङ्क्ति) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (प्रयोग नगरिएको), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (प्रयोग नगरिएको)
| चरको नाम | विशेषता | विवरण |
|---|---|---|
| SA_CoarseSolver | I | मोटा-ग्रिड सोल्भर (0: स्वचालित, 1: स्मूदर प्रयोग गर्ने, 2: घना म्याट्रिक्स प्रत्यक्ष विधि, 3: MUMPS (समानान्तर प्रत्यक्ष विधि)) (पूर्वनिर्धारित मान: 0) (स्वचालित अवस्थामा MUMPS सक्षम गरिएको बिल्डमा MUMPS प्रयोग हुन्छ; अन्यथा घना म्याट्रिक्स प्रत्यक्ष विधि प्रयोग हुन्छ) |
| SA_Smoother | I | स्मूदर (0, 1: Chebyshev) (पूर्वनिर्धारित मान: 0) (Chebyshev मात्र समर्थित छ। अर्को मान निर्दिष्ट भए चेतावनी दिइन्छ र Chebyshev प्रयोग हुन्छ) |
| SA_MGCycle | I | मल्टिग्रिड चक्र (0: पूर्वनिर्धारित (W-चक्र), 1: V-चक्र, 2: W-चक्र) (पूर्वनिर्धारित मान: 0) (Full-V-चक्र समर्थित छैन) |
| SA_MaxLevels | I | अधिकतम तह सङ्ख्या (पूर्वनिर्धारित मान: 20) |
| (प्रयोग नगरिएको) | I | ML को मोट्याउने योजनासँग मेल खाने स्थान। SA-AMG ले सधैँ असम्बद्ध एग्रिगेसन प्रयोग गर्ने भएकाले 0 बाहेकको मानमा चेतावनी दिइन्छ र मान बेवास्ता गरिन्छ |
| SA_ChebyDegree | I | Chebyshev स्मूदरको बहुपद घात (पूर्वनिर्धारित मान: 2) |
| SA_CoarseSize | I | मोटा-ग्रिड कटअफ आकार (पूर्वनिर्धारित मान: मोटा-ग्रिड सोल्भरका रूपमा MUMPS प्रयोग हुँदा 50000, अन्यथा 100) |
| SA_MaxAggSize | I | एग्रिगेटको अधिकतम आकार (पूर्वनिर्धारित मान: 96) |
| SA_GalerkinLowMem | I | मोटा-ग्रिड म्याट्रिक्स गणना विधि (0: सामान्य (गतिलाई प्राथमिकता), धनात्मक मान: मेमोरी बचत) (पूर्वनिर्धारित मान: 0) (सेटअपका समयमा मेमोरी अपर्याप्त भए धनात्मक मान निर्दिष्ट गर्नुहोस्) |
| (प्रयोग नगरिएको) | I | भविष्यका विस्तारका लागि आरक्षित |
पाँचौँ पङ्क्ति SA-AMG का लागि मात्र हो र ML ले यसलाई पढ्दैन।
(पाँचौँ पङ्क्ति) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
| चरको नाम | विशेषता | विवरण |
|---|---|---|
| SA_Theta | R | बलियो जडान निर्धारण गर्ने थ्रेसहोल्ड (पूर्वनिर्धारित मान: 0.0) (0.0 मा म्याट्रिक्सको शून्येतर संरचनालाई जस्ताको तस्तै ग्राफका रूपमा प्रयोग गरिन्छ) |
| SA_ChebyAlpha | R | Chebyshev स्मूदरले लक्षित गर्ने आइगेनमान अन्तरालको तल्लो सीमा निर्धारण गर्ने अनुपात (पूर्वनिर्धारित मान: 20.0) |
| SA_Safety | R | अधिकतम आइगेनमानको अनुमानमा लगाइने सुरक्षा गुणक (पूर्वनिर्धारित मान: 1.1) |
| SA_TaperK | R | मोट्याउने टेपर गुणांक K (पूर्वनिर्धारित मान: 100) (तह 2 देखि कम्तीमा करिब K एग्रिगेट बाँकी रहने गरी मोट्याउने प्रक्रिया क्रमिक बनाइन्छ। ऋणात्मक मानले टेपर निष्क्रिय गर्छ) |
| SA_AggOrder | R | एग्रिगेसन स्क्यान क्रम (0: पूर्वनिर्धारित (BFS क्रम), 1: BFS क्रम, 2: नोड नम्बरको ह्यास क्रम (परीक्षणात्मक), 3: डिग्रीको आरोही क्रम (परीक्षणात्मक), 4: डिग्रीको अवरोही क्रम (परीक्षणात्मक), ऋणात्मक मान: नोड नम्बर क्रम) (पूर्वनिर्धारित मान: 0) |
| SA_MinAggSize | R | एग्रिगेटको न्यूनतम आकार (पूर्वनिर्धारित मान: 3) |
| SA_Verify | R | सेटअपका समयमा स्व-जाँच गर्ने/नगर्ने (0: नगर्ने, धनात्मक मान: गर्ने) (पूर्वनिर्धारित मान: 0) (मुख्यतः डिबगिङका लागि) |
| SA_DumpVTK | R | सबैभन्दा माथिल्लो तहको एग्रिगेसनलाई VTK ढाँचामा आउटपुट गर्ने/नगर्ने (0: आउटपुट नगर्ने, धनात्मक मान: आउटपुट गर्ने) (पूर्वनिर्धारित मान: 0) (मुख्यतः डिबगिङका लागि) |
प्रयोग उदाहरण¶
SSOR पूर्वसर्तकरणसहित CG विधि प्रयोग गरी अधिकतम पुनरावृत्ति संख्या 10000 र समाप्ति त्रुटि 1.0e-8 सेट गर्ने
SSOR पूर्वसर्तकरणसहित GMRES विधि प्रयोग गरी Krylov उपस्थान संख्या 40 र बहुरङ्ग क्रमबद्धताको लक्षित रङ संख्या 100 सेट गर्ने
ILU(0) पूर्वसर्तकरणसहित CG विधि प्रयोग गरी पूर्वसर्तक म्याट्रिक्स गणनामा विकर्ण अवयवमा गुणा गर्ने गुणक 1.1 सेट गर्ने
CG विधिको पूर्वसर्तकलाई ML द्वारा AMG विधि बनाउने
CG विधिको पूर्वसर्तकलाई ML द्वारा AMG विधि बनाई मोटा-ग्रिड सोल्भरलाई MUMPS बनाउने (कठिन समस्याका लागि)
CG विधिको पूर्वसर्तकलाई ML द्वारा AMG विधि बनाई मल्टिग्रिड चक्र लाई W-चक्र बनाउने (कठिन समस्याका लागि)
CG विधिको पूर्वसर्तकलाई ML द्वारा AMG विधि बनाई मोटा-ग्रिड सोल्भरलाई MUMPS र अधिकतम तह सङ्ख्या 2 बनाउने (अत्यन्त कठिन समस्याका लागि)
CG को पूर्वसर्तकका रूपमा HEC-MW मा अन्तर्निर्मित SA-AMG प्रयोग गर्ने
CG को पूर्वसर्तकका रूपमा SA-AMG र मोटा-ग्रिड सोल्भरका रूपमा MUMPS प्रयोग गर्ने
घर्षण सम्पर्क विश्लेषणमा BiCGSTAB का लागि SA-AMG पूर्वसर्तकरण प्रयोग गरी AMG पूर्वसर्तकको पदानुक्रम आउटपुट गर्ने