انتقل إلى المحتوى

!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, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
المتغير السمة الوصف
NITER I عدد التكرارات (الافتراضي: 100)
iterPREmax I عدد تكرارات التهيئة المسبقة Additive Schwarz (الافتراضي: 1)
(القيمة الموصى بها: 1؛ وقد تكون 2 فعالة في بعض الحسابات المتوازية)
NREST I عدد فضاءات Krylov الفرعية (الافتراضي: 10)
(صالح فقط عند اختيار GMRES كطريقة الحل)
NCOLOR_IN I العدد المستهدف من الألوان للترتيب متعدد الألوان (الافتراضي: 10)
(صالح فقط عندما يكون عدد خيوط OpenMP اثنين أو أكثر)
RECYCLEPRE I عدد مرات إعادة استخدام معلومات إعداد المهيئ المسبق (الافتراضي: 3)
(صالح فقط في التحليل اللاخطي)
(السطر الثالث) RESID, SIGMA_DIAG, SIGMA
المتغير السمة الوصف
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

!SOLVER, METHOD=CG, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

استخدام GMRES مع تهيئة SSOR المسبقة، وضبط عدد فضاءات Krylov الفرعية على 40 والعدد المستهدف للألوان في الترتيب متعدد الألوان على 100

!SOLVER, METHOD=GMRES, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1, 40, 100
  1.0e-8, 1.0, 0.0

استخدام CG مع تهيئة ILU(0) المسبقة، وضبط معامل القياس المطبق على عناصر القطر عند حساب مصفوفة التهيئة المسبقة على 1.1

!SOLVER, METHOD=CG, PRECOND=10, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.1, 0.0

استخدام AMG بواسطة ML كمهيئ مسبق لـ CG

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

استخدام AMG بواسطة ML كمهيئ مسبق لـ CG واستخدام MUMPS كحالّ للشبكة الخشنة (للمسائل الصعبة)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

استخدام AMG بواسطة ML كمهيئ مسبق لـ CG واستخدام W-cycle كدورة multigrid (للمسائل الصعبة)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  1, 1, 2

استخدام AMG بواسطة ML كمهيئ مسبق لـ CG، واستخدام MUMPS كحالّ للشبكة الخشنة، وضبط الحد الأقصى لعدد المستويات على 2 (للمسائل شديدة الصعوبة)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2