الحالّ والمهيئ المسبق¶
يُضبط الحالّ الخطي في FrontISTR باختيار طريقة مباشرة أو تكرارية؛ وتُقرن الطريقة التكرارية بتهيئة مسبقة لحل المعادلات الخطية. وتعد طريقة معالجة MPC وإزالة درجات حرية التلامس اختيارات مساعدة تحدد كيفية التعامل مع نظام خطي يتضمن قيودًا متعددة النقاط أو قيود تلامس.
نظرة عامة¶
تتكون إعدادات الحالّ والتهيئة المسبقة من الاختيارات التالية. اختر أولًا طريقة تكرارية أو مباشرة كحالّ خطي. ولا تُستخدم التهيئة المسبقة إلا مع الطريقة التكرارية.
| الفئة | الخيارات الرئيسية | الدور |
|---|---|---|
| الطرق التكرارية | CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN | حل المصفوفات المتناثرة الكبيرة باستخدام ذاكرة بكفاءة نسبية. |
| المهيئات المسبقة للطرق التكرارية | SSOR، التحجيم القطري، BILU، AMG، SAINV، RIF | تحسين تقارب الطرق التكرارية. لا تُستخدم مع الطرق المباشرة. |
| الطرق المباشرة | MUMPS, MKL | حل المعادلات الخطية بمتانة عن طريق تحليل المصفوفة. |
| طرق معالجة MPC | طريقة العقوبة، الإزالة الصريحة لدرجات الحرية | إدراج القيود متعددة النقاط في النظام الخطي. |
| إزالة درجات حرية التلامس | تلقائي، مفعّلة دائمًا | التحكم في معالجة درجات حرية التلامس المضافة بواسطة تلامس SLAGRANGE. |
| الوظائف المساعدة | تقدير عدد الشرط، تفريغ المصفوفة، التسجيل | دعم التصحيح وتقييم التقارب وتقييم الأداء. |
في التنفيذ المتوازي، يمكن الجمع بين توازٍ MPI المعتمد على تقسيم المجال وتوازٍ خيطي باستخدام OpenMP. الطرق التكرارية هي الاختيار القياسي للتحليلات المتوازية واسعة النطاق، بينما تُستخدم الطرق المباشرة عندما تكون المكتبات المطلوبة مرتبطة ويُحتاج إلى حل أكثر متانة.
اختيار الحالّ والمهيئ المسبق¶
حدّد أولًا ما إذا كنت ستستخدم طريقة تكرارية أم مباشرة. وإذا اخترت طريقة تكرارية، فاختر بعدها المهيئ المسبق.
| عامل القرار | النهج الموصى به |
|---|---|
| حجم المسألة | الطرق المباشرة مستقرة وسهلة الاستخدام للمسائل الصغيرة إلى المتوسطة. الطرق التكرارية أكثر كفاءة في استخدام الذاكرة للمسائل الكبيرة. |
| تماثل المصفوفة | فكّر في CG للمسائل الموجبة التعريف المتماثلة. للمسائل غير المتماثلة، فكّر في BiCGSTAB أو GMRES أو GPBiCG أو طرق مشابهة. |
| البيئة المتوازية | في توازٍ MPI، اجمع طريقة تكرارية مع تقسيم المجال. للتهيئة المسبقة ضمن توازٍ OpenMP، فكّر في تنفيذ SSOR متعدد الألوان. |
| المهيئ المسبق (عند استخدام طريقة تكرارية) | جرّب SSOR الافتراضي أولًا ثم فكّر في AMG. يكون SSOR خفيفًا حسابيًا عندما يكون التقارب جيدًا؛ وتهيئة AMG المسبقة مناسبة للمسائل المعقدة واسعة النطاق. يتوفر AMG في تنفيذ يعتمد على Trilinos-ML وفي SA-AMG المدمج في HEC-MW؛ اختر وفقًا لتكوين البناء. |
| التلامس وMPC | في التحليلات التي تتضمن تلامسًا أو قيودًا متعددة النقاط، يؤثر اختيار طريقة معالجة MPC وإزالة درجات حرية التلامس في التقارب والمتانة. |
| المكتبات الخارجية | تتوفر MUMPS وMKL وAMG (Trilinos-ML) في البنى المرتبطة بالمكتبات المقابلة. ويتوفر AMG (SA-AMG) في البنى التي يكون LAPACK فيها مفعّلًا. |
في التحليلات القياسية، يكون حد التقارب الافتراضي والحد الأقصى لعدد التكرارات ومعامل التصحيح القطري للمهيئ المسبق كافية عمومًا. فقط عندما يكون التقارب بطيئًا أو يتباعد الحل ينبغي إعادة النظر، بالترتيب، في الطريقة التكرارية والمهيئ المسبق وطريقة معالجة MPC وإزالة درجات حرية التلامس. راجع مرجع الكلمة المفتاحية !SOLVER لقيم المعلمات والصيغة.
الطرق التكرارية¶
تحل الطرق التكرارية الأنظمة المتناثرة الكبيرة بتحديث الحل مرارًا من خلال ضرب المصفوفة في المتجه والتهيئة المسبقة. يوفر FrontISTR الطرق التكرارية التالية.
| الطريقة التكرارية | التطبيق النموذجي | ملاحظات |
|---|---|---|
CG | مسائل موجبة التعريف متماثلة | مرشح قياسي للتحليل الإنشائي وتحليل التوصيل الحراري. |
BiCGSTAB | مسائل غير متماثلة | مرشح عندما ينتج التلامس أو تأثيرات الاقتران لا تماثل قويًا. |
GMRES | مسائل غير متماثلة | يُستخدم مع حجم محدد لفضاء Krylov الجزئي. |
GPBiCG | مسائل غير متماثلة | يُستخدم كطريقة محسّنة ضمن عائلة BiCGSTAB. |
GMRESR | مسائل غير متماثلة، تطبيقات متقدمة | خيار يستخدم GMRES في صورة متداخلة. |
GMRESREN | مسائل غير متماثلة، تطبيقات متقدمة | نسخة عودية ضمن عائلة GMRESR. |
يفترض CG أن المصفوفة متماثلة وموجبة التعريف. إذا أدخل التلامس الاحتكاكي أو معالجة القيود غير المتماثلة أو تأثيرات الاقتران أو عوامل مشابهة لا تماثل قويًا، ففكّر في BiCGSTAB أو GMRES أو GPBiCG أو حالّ آخر لامتماثل. في GMRES، قد يؤدي زيادة حجم فضاء Krylov الجزئي إلى تحسين التقارب، لكنه يزيد أيضًا استخدام الذاكرة.
عند تحديد METHOD2، يمكن لـ FrontISTR التحول إلى طريقة تكرارية بديلة إذا تباعد CG أو انهار. هذه الوظيفة احتياطية للحالات التي يكون فيها CG هو الحالّ الأساسي؛ وتستخدم الطريقة البديلة الإعدادات وأسطر البيانات المتبقية نفسها للحالّ الأساسي.
CG وBiCGSTAB وGPBiCG وPipeCG تحدّث متجه المتبقي باستخدام علاقة عودية، لذلك تتراكم أخطاء التقريب مع تزايد عدد التكرارات وقد ينشأ فرق عن المتبقي الحقيقي. ولمنع ذلك، يُعاد حساب متجه المتبقي دوريًا من الطرف الأيمن وحاصل ضرب المصفوفة في المتجه. يمكن تحديد هذه الدورية بواسطة RECOMPUTE_RESIDUAL. إذا أُطيلت الدورية، يقل عدد عمليات ضرب المصفوفة في المتجه، لكن يزداد خطر ابتعاد المتبقي المحسوب بالعلاقة العودية عن المتبقي الحقيقي والحكم على حل غير متقارب بأنه متقارب. وعلى العكس، إذا قُصّرت الدورية أكثر من اللازم، فلا يزداد عدد عمليات ضرب المصفوفة في المتجه فحسب، بل قد تختل العلاقة بين المتبقي والمتجهات المساعدة التي تحافظ عليها العلاقة العودية، فتسوء قابلية التقارب نفسها. توازن القيمة الافتراضية هذا التبادل لكل طريقة حل؛ وإذا غُيّرت، فتحقق من سجل التقارب والمتبقي النسبي النهائي.
التهيئة المسبقة¶
تحوّل التهيئة المسبقة مصفوفة المعاملات لتحسين تقارب الطريقة التكرارية، ولا تُطبق إلا عند اختيار طريقة تكرارية. الطرق المباشرة لا تستخدم تهيئة مسبقة. حتى مع الطريقة التكرارية نفسها، يمكن لاختيار المهيئ المسبق أن يغيّر بصورة كبيرة عدد التكرارات وزمن الحساب المطلوبين للتقارب.
| المهيئ المسبق | الخصائص | التطبيق النموذجي |
|---|---|---|
| SSOR | مهيئ مسبق قياسي؛ يدعم الترتيب متعدد الألوان. | المرشح الأول للتجربة؛ مستخدم على نطاق واسع في التحليل الإنشائي. |
| التحجيم القطري | مهيئ خفيف يستخدم العناصر القطرية. | عندما تكون الكلفة الحسابية المنخفضة مفضلة. |
| BILU | تحليل LU ناقص كتلي. | مرشح للمسائل التي يصعب تقاربها باستخدام SSOR. |
| AMG (Trilinos-ML) | شبكة متعددة جبرية تستخدم مكتبة Trilinos-ML الخارجية. | مرشح للمسائل واسعة النطاق أو المسائل التي تهيمن عليها مكونات خطأ هرمية. |
| AMG (SA-AMG) | شبكة متعددة جبرية من نوع التجميع المنعّم (Smoothed Aggregation) مدمجة في HEC-MW. | كما سبق؛ مرشح عند استخدام AMG من دون إضافة مكتبة خارجية. |
| SAINV | معكوس تقريبي متناثر. | خيار تهيئة مسبقة متخصص لمسائل التلامس أو بيئات الذاكرة الموزعة. |
| RIF | تحليل ناقص متين. | خيار آخر للتحليل الناقص. |
SSOR هو الاختيار القياسي، ويُستخدم إصدار بترتيب متعدد الألوان في توازٍ OpenMP. التحجيم القطري خفيف، إلا أن مقدار تحسينه للتقارب يعتمد على المسألة. يُنفذ BILU كتحليل LU ناقص كتلي ويدعم أيضًا المصفوفات ذات أعداد عامة من درجات الحرية. لعائلة BILU مسار يزيد تلقائيًا معامل التصحيح القطري SIGMA_DIAG ويعيد المحاولة عندما تتباعد الطريقة التكرارية؛ راجع مرجع الكلمات المفتاحية لكيفية تحديد القيمة.
للشبكة المتعددة الجبرية (AMG) تنفيذان: تنفيذ يستخدم مكتبة Trilinos-ML الخارجية، وSA-AMG المدمج في HEC-MW. وهما تنفيذان مستقلان يختلفان في تكوين البناء المطلوب والخيارات المتاحة.
يتطلب AMG المعتمد على Trilinos-ML تمكين ML وقت البناء. ويمكن تحديد المُنعِّم ودورة الشبكة المتعددة وطريقة التخشن وإعدادات أخرى؛ راجع مرجع الكلمات المفتاحية للقيم التفصيلية.
SA-AMG هو مهيئ مسبق لشبكة متعددة جبرية من نوع التجميع المنعّم، ولا يتطلب Trilinos-ML. لكنه يستخدم LAPACK داخليًا، ولذلك يلزم بناء يكون LAPACK فيه مفعّلًا؛ وإذا حُدد في بناء من دون LAPACK، ينتهي التشغيل من دون بدء التحليل. ولحل الشبكة الخشنة، يمكن استخدام MUMPS في البنى التي يكون MUMPS فيها مفعّلًا؛ وإلا تُستخدم الطريقة المباشرة الكثيفة المدمجة.
يستهدف SA-AMG أساسًا الأنظمة المتماثلة موجبة التعريف (CG)، لكنه يدعم أيضًا الأنظمة المختزلة غير المتماثلة الناتجة عن التلامس الاحتكاكي (BiCGSTAB وGMRES وغيرها). ويدعم لكل عقدة 1 (التوصيل الحراري) أو 2 (المستوي) أو 3 (المجسم) أو 6 (القشرة) من درجات الحرية، لكنه لا يدعم المصفوفات التي يختلف فيها عدد درجات الحرية من عقدة إلى أخرى. ويمكن تحديد حالّ الشبكة الخشنة ودورة الشبكة المتعددة ورتبة المُنعِّم وخيارات أخرى، لكن يمكن استخدام القيم الافتراضية في التحليلات القياسية. راجع مرجع الكلمات المفتاحية للقيم والصيغة. وفي البنى التي يكون فيها GPU (OpenACC) مفعّلًا، يُنفَّذ طور تطبيق المهيئ المسبق على GPU.
عند استخدام SAINV في تحليل متوازٍ يحتوي على تلامس أو قيود MPC، قد يؤثر عمق التداخل المستخدم في تقسيم المجال في التقارب.
الطرق المباشرة¶
تحل الطرق المباشرة المعادلات الخطية عن طريق تحليل مصفوفة المعاملات. ولأنها لا تعتمد على عدد التكرارات، فهي متينة ويمكن أن تكون خيارًا مستقرًا للتحليلات التي تحتوي على شروط تلامس أو قيود. لكن استهلاك الذاكرة يزداد مع حجم المسألة.
| الطريقة المباشرة | البيئة المتوازية | التطبيق |
|---|---|---|
MUMPS | توازٍ MPI | يحل المصفوفات المتناثرة بطريقة مباشرة في بيئات الذاكرة الموزعة. |
MKL | Intel MKL / OpenMP | حالّ مباشر يعتمد على Intel MKL. يُستخدم Intel PARDISO داخليًا. مع عدة عمليات MPI، يُستخدم مسار Cluster MKL. DIRECTmkl اسم مستعار لـ MKL. |
يمكن استخدام الطرق المباشرة مع المصفوفات المتماثلة وغير المتماثلة. تتطلب MUMPS وMKL ربط المكتبات المقابلة وقت البناء. ولا يمكن استخدامهما في البيئات التي لا تحتوي على تلك المكتبات، لذلك راجع دليل البناء لمعرفة الاعتماديات المطلوبة وخيارات CMake.
يحتوي FrontISTR أيضًا على مسار حالّ مباشر مدمج لا يستخدم مكتبة خارجية، لكن في التحليلات العادية التي تتطلب طريقة مباشرة، ينبغي عادةً النظر أولًا في MUMPS أو MKL.
لا تُطبق التهيئة المسبقة على الطرق المباشرة. حتى إذا حُدد مهيئ مسبق في !SOLVER، فلا يُرجع إليه في مسار الحالّ المباشر.
طرق معالجة MPC¶
تحدد طريقة معالجة MPC كيفية إدراج درجات الحرية المرتبطة بقيود متعددة النقاط في المعادلات الخطية. حتى مع معادلات القيد نفسها في بيانات الإدخال، تغيّر طريقة المعالجة خصائص مصفوفة المعاملات وسلوك التقارب.
| طريقة معالجة MPC | الموضع | الاستخدام الافتراضي |
|---|---|---|
| طريقة العقوبة | تحقق القيود تقريبًا بإضافة حدود صلابة كبيرة إلى معادلات القيد. | الافتراضي للطرق المباشرة. |
| الإزالة الصريحة لدرجات الحرية | تزيل درجات الحرية المقيدة وتحل النظام الخطي المصغر. | الافتراضي للطرق التكرارية. |
طريقة العقوبة هي الافتراضية للطرق المباشرة، بينما الإزالة الصريحة لدرجات الحرية هي الافتراضية للطرق التكرارية. أُزيلت طريقة MPC-CG التي كانت متاحة سابقًا؛ وعند تحديد MPCMETHOD=2 في المدخلات، يصدر تحذير وتُعالج المدخلات وفق هذه الخيارات الافتراضية.
في الإزالة الصريحة لدرجات الحرية، تُختزل أيضًا الكتل المركزة المستخدمة في التحليل النمطي والتحليل الديناميكي بالطريقة الصريحة باستخدام التحويل نفسه المطبق على مصفوفة الصلابة. ولأن مصفوفة الكتلة بعد الاختزال لا تكون قطرية عمومًا، تُستخدم مجاميع صفوفها ككتل مركزة. في قيود الربط أو الاستيفاء التي يكون مجموع معاملات معادلة القيد فيها 1، تُوزّع كتلة درجة الحرية التابعة على درجات الحرية الرئيسية بالتناسب مع المعاملات.
يمكن تحديد طريقة معالجة MPC صراحة باستخدام MPCMETHOD في !SOLVER. راجع مرجع الكلمات المفتاحية لمعنى وصيغة كل قيمة.
إزالة درجات حرية التلامس¶
تقلل إزالة درجات حرية التلامس درجات حرية التلامس الإضافية التي يدخلها تلامس SLAGRANGE قبل تمرير النظام إلى الحالّ الخطي. ويمكن لإزالة درجات حرية التلامس هذه تحسين خصائص النظام الخطي الذي تتعامل معه طريقة تكرارية.
في الوضع التلقائي الافتراضي، تُفعّل إزالة درجات حرية التلامس للطرق التكرارية وتُعطل للطرق المباشرة. وللطرق المباشرة يوجد مسار يحل النظام الموسع الذي يحتوي على درجات حرية التلامس مباشرة.
عند تحديد CONTACT_ELIM صراحة، يمكن إجراء إزالة درجات حرية التلامس أيضًا عند استخدام طريقة مباشرة. لاختيارات نوع التلامس وزوج التلامس وخوارزمية التلامس من جهة الإدخال، راجع صفحة التلامس والتضمين.
الوظائف المساعدة¶
يمكن استخدام تقدير عدد الشرط وتفريغ المصفوفة والتسجيل للتحقق من تقارب الحالّ وأدائه. هذه الوظائف غير مطلوبة في التحليلات العادية وتُفعّل أساسًا للتصحيح أو تقييم الأداء.
| الوظيفة | الغرض | ملاحظات |
|---|---|---|
| تقدير عدد الشرط | يخرج مؤشرًا لعدد الشرط لـ CG وGMRES. | متاح في البنى التي يكون LAPACK فيها مفعّلًا. |
| تفريغ المصفوفة | يحفظ المصفوفة والطرف الأيمن الممررين إلى الحالّ. | يدعم تنسيقات Matrix Market وCSR وBSR. |
DUMPEXIT | ينهي التحليل بعد تفريغ المصفوفة. | يُستخدم عندما تكون المصفوفة وحدها مطلوبة للتحقق الخارجي. |
ITERLOG | يخرج تاريخ تقارب الطريقة التكرارية. | يُستخدم لفحص اتجاهات المتبقي. |
TIMELOG | يخرج زمن حساب الحالّ. | يخرج VERBOSE تفصيلًا أدق. |
STEPLOG | يخرج معلومات الخطوات. | يُستخدم لفحص إجراء التحليل. |
LOGLEVEL | يخرج معلومات تشخيصية مثل بناء التسلسل الهرمي لمهيئات AMG المسبقة. | يُحدد مستقلًا عن ITERLOG وTIMELOG. تؤدي القيم الأكبر إلى زيادة كمية المخرجات. |
يسمح تفريغ المصفوفة بفحص مصفوفة المعاملات المجمعة بواسطة التحليل باستخدام أدوات خارجية. عند تفعيل DUMPEXIT، ينتهي التحليل بعد حفظ المصفوفة والطرف الأيمن. تقدير عدد الشرط وظيفة تجريبية متاحة مع CG وGMRES ويمكن استخدامها لتشخيص سلوك التقارب.
موضوعات ذات صلة¶
- الحالّ الخطي (النظرية) — المبادئ الرياضية للطرق التكرارية والتهيئة المسبقة.
- التكرار غير الخطي والتكامل الزمني — إطار تكرارات Newton وتكرارات التلامس والتكامل الزمني الذي يستدعي الحالّ الخطي.
- تقسيم الشبكة — تحليل MPI المتوازي وإعدادات عمق التداخل.
- التلامس والتضمين — اختيار أنواع التلامس وخوارزميات التلامس.
- !SOLVER — قيم وصيغة معلمات الحالّ والتهيئة المسبقة.
- المكتبات التابعة المطلوبة والاختيارية — اعتماديات مثل
MUMPSوMKL(Intel PARDISO) وTrilinos-ML وLAPACK.