!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)
1, 2 : (Block) SSOR (مع ترتيب متعدد الألوان فقط لمسائل 3 درجات حرية)
3 : (Block) Diagonal Scaling
5 : AMG باستخدام حزمة التهيئة المسبقة متعددة الشبكات ML
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
القيم 10 و11 و12 متاحة فقط لمسائل 3 درجات حرية
للتنفيذ المتوازي بخيوط OpenMP، يوصى بـ SSOR أو Diagonal Scaling أو ML
ITERLOG = ما إذا كان سيُخرج سجل تقارب الحالّ التكراري (YES/NO)(الافتراضي: NO)
TIMELOG = ما إذا كان سيُخرج زمن حساب الحالّ (YES/NO/VERBOSE)(الافتراضي: NO)
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, 2, 3)
1: طريقة الجزاء (الافتراضي عند استخدام طريقة مباشرة)
2: طريقة MPC-CG (مهملة)
3: حذف صريح لدرجات الحرية (الافتراضي عند استخدام طريقة تكرارية)
ESTCOND = تردد تقدير عدد الشرط (تجريبي)
يُقدَّر عدد الشرط عند كل فاصل تكرار محدد وعند نهاية التكرارات
لا يُجرى أي تقدير عند تحديد 0
METHOD2 = طريقة حل ثانوية (BiCGSTAB, GMRES, GPBiCG) (تجريبية)
صالحة فقط عند تحديد CG لـ METHOD
إذا تباعد 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 اثنين أو أكثر) |
| RECYCLEPRE | I | عدد مرات إعادة استخدام معلومات إعداد المهيئ المسبق (الافتراضي: 3) (صالح فقط في التحليل اللاخطي) |
| المتغير | السمة | الوصف |
|---|---|---|
| RESID | R | خطأ القطع (الافتراضي: 1.0e-8) |
| SIGMA_DIAG | R | معامل القياس المطبق على عناصر القطر عند حساب مصفوفة التهيئة المسبقة (الافتراضي: 1.0) (إذا حدثت قسمة على صفر أو تباعد مع تهيئة ILU المسبقة، فقد تتقارب المسألة عند تحديد قيمة أكبر من 1.0) |
| SIGMA | R | غير مستخدم (الافتراضي: 0.0) |
عند PRECOND=5 (اختياري)¶
إذا حُددت أي قيمة أخرى لـ PRECOND، يُتجاهل السطر الرابع.
(السطر الرابع) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| المتغير | السمة | الوصف |
|---|---|---|
| ML_CoarseSolver | I | حالّ الشبكة الخشنة لـ ML (1: استخدام smoother، 2: KLU (طريقة مباشرة تسلسلية)، 3: MUMPS (طريقة مباشرة متوازية)) (الافتراضي: 1) (الموصى به: 3 أو 2 للمسائل الصعبة، و1 للمسائل العادية) |
| ML_Smoother | I | smoother لـ ML (1: Chebyshev، 2: SymBlockGaussSeidel، 3: Jacobi) (الافتراضي: 1) (الموصى به: 1) |
| ML_MGCycle | I | دورة multigrid لـ ML (1: V-cycle، 2: W-cycle، 3: Full-V-cycle) (الافتراضي: 1) (الموصى به: 2 للمسائل الصعبة، و1 للمسائل العادية) |
| ML_MaxLevels | I | الحد الأقصى لعدد مستويات ML (الافتراضي: 10) (للمسائل شديدة الصعوبة، استخدم حالًّا مباشرًا للشبكة الخشنة ومستويين (أو 3 إذا كانت الذاكرة غير كافية)؛ وللمسائل العادية يوصى بـ10) |
| ML_CoarseningScheme | I | مخطط coarsening لـ ML (1: UncoupledMIS، 2: METIS، 4: Zoltan، 5: DD) (الافتراضي: 1) (الموصى به: 1 أو 5) |
| ML_NumSweep | I | عدد sweeps لـ smoother في ML (درجة كثير الحدود لـ Chebyshev) (الافتراضي: 2) (الموصى به: 2 لـ Chebyshev و1 لـ SymBlockGaussSeidel) |
أمثلة¶
استخدام CG مع تهيئة SSOR المسبقة، وضبط الحد الأقصى لعدد التكرارات على 10000 وخطأ القطع على 1.0e-8
استخدام GMRES مع تهيئة SSOR المسبقة، وضبط عدد فضاءات Krylov الفرعية على 40 والعدد المستهدف للألوان في الترتيب متعدد الألوان على 100
استخدام CG مع تهيئة ILU(0) المسبقة، وضبط معامل القياس المطبق على عناصر القطر عند حساب مصفوفة التهيئة المسبقة على 1.1
استخدام AMG بواسطة ML كمهيئ مسبق لـ CG
استخدام AMG بواسطة ML كمهيئ مسبق لـ CG واستخدام MUMPS كحالّ للشبكة الخشنة (للمسائل الصعبة)
استخدام AMG بواسطة ML كمهيئ مسبق لـ CG واستخدام W-cycle كدورة multigrid (للمسائل الصعبة)
استخدام AMG بواسطة ML كمهيئ مسبق لـ CG، واستخدام MUMPS كحالّ للشبكة الخشنة، وضبط الحد الأقصى لعدد المستويات على 2 (للمسائل شديدة الصعوبة)