!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) Diagonal Scaling
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، Diagonal Scaling، 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-cycle، 2: W-cycle، 3: Full-V-cycle) (طے شدہ قدر: 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-cycle)، 1: V-cycle، 2: W-cycle) (طے شدہ قدر: 0) (Full-V-cycle معاونت یافتہ نہیں ہے) |
| 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-cycle رکھنا (مشکل مسائل کے لیے)
CG طریقے کی پیش شرطی ML کے AMG طریقے پر، موٹے جال کا حل کنندہ MUMPS اور زیادہ سے زیادہ سطحیں 2 رکھنا (انتہائی مشکل مسائل کے لیے)
CG کی پیش شرطی کے طور پر HEC-MW میں شامل SA-AMG استعمال کرنا
CG کی پیش شرطی کے طور پر SA-AMG اور موٹے جال کے حل کنندہ کے طور پر MUMPS استعمال کرنا
رگڑ والے تماسی تجزیے میں BiCGSTAB کے لیے SA-AMG پیش شرطی استعمال کرنا اور AMG پیش شرطی کی مراتبی ساخت اخراج کرنا