طريقة ماكورماك

في ديناميكا الموائع الحسابية ، تُعدّ طريقة ماكورماك (MacCormack) من أكثر طرق التقطيع استخدامًا لحلّ المعادلات التفاضلية الجزئية الزائدية عدديًا. وقد طوّر روبرت دبليو ماكورماك هذه الطريقة من الدرجة الثانية للفروق المحدودة عام ١٩٦٩. [ ١ ] تتميز طريقة ماكورماك ببساطتها وسهولة فهمها وبرمجتها. [ ٢ ]

الخوارزمية

صُممت طريقة ماكورماك لحل المعادلات التفاضلية الجزئية الزائدية من الشكل التالي:

uت+و(u)x=0{\displaystyle {\frac {\partial u}{\partial t}}+{\frac {\partial f(u)}{\partial x}}=0}

لتحديث هذه المعادلة خطوة زمنية واحدةΔت{\displaystyle \Delta t}على شبكة ذات مسافاتΔx{\displaystyle \Delta x}في خلية الشبكةأنا{\displaystyle i}، تستخدم طريقة ماكورماك "خطوة تنبؤ" و "خطوة تصحيح"، كما هو موضح أدناه [ 3 ]

uأناص=uأنان-ΔتΔx(وأنا+1ن-وأنان)uأنان+1=12(uأنان+uأناص)-Δت2Δx(وأناص-وأنا-1ص){\displaystyle {\begin{aligned}&u_{i}^{p}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}\left(f_{i+1}^{n}-f_{i}^{n}\right)\\&u_{i}^{n+1}={\frac {1}{2}}(u_{i}^{n}+u_{i}^{p})-{\frac {\Delta t}{2\Delta x}}(f_{i}^{p}-f_{i-1}^{p})\end{aligned}}}

طالب خطي

لتوضيح الخوارزمية، ضع في اعتبارك المعادلة القطعية من الدرجة الأولى التالية

uت+أux=0.{\displaystyle \qquad {\frac {\partial u}{\partial t}}+a{\frac {\partial u}{\partial x}}=0.}

يتم تطبيق طريقة ماكورماك على المعادلة المذكورة أعلاه في خطوتين؛ خطوة تنبؤية تليها خطوة تصحيحية .

خطوة التنبؤ: في خطوة التنبؤ، يتم استخدام قيمة "مؤقتة" لـu{\displaystyle u}على مستوى الوقتن+1{\displaystyle n+1}(يرمز إليه بـuأناص{\displaystyle u_{i}^{p}}يتم تقدير ) على النحو التالي

uأناص=uأنان-أΔتΔx(uأنا+1ن-uأنان){\displaystyle u_{i}^{p}=u_{i}^{n}-a{\frac {\Delta t}{\Delta x}}\left(u_{i+1}^{n}-u_{i}^{n}\right)}

تم الحصول على المعادلة أعلاه عن طريق استبدال المشتقات المكانية والزمانية في معادلة القطع الزائد من الدرجة الأولى السابقة باستخدام الفروق الأمامية .

خطوة التصحيح: في خطوة التصحيح، القيمة المتوقعةuأناص{\displaystyle u_{i}^{p}}يتم تصحيحها وفقًا للمعادلة

uأنان+1=uأنان+1/2-أΔت2Δx(uأناص-uأنا-1ص){\displaystyle u_{i}^{n+1}=u_{i}^{n+1/2}-a{\frac {\Delta t}{2\Delta x}}\left(u_{i}^{p}-u_{i-1}^{p}\right)}

لاحظ أن خطوة التصحيح تستخدم تقريبات الفروق المحدودة العكسية للمشتقة المكانية. الخطوة الزمنية المستخدمة في خطوة التصحيح هيΔت/2{\displaystyle \Delta t/2}على النقيض منΔت{\displaystyle \Delta t}يُستخدم في خطوة التنبؤ.

استبدالuأنان+1/2{\displaystyle u_{i}^{n+1/2}}المصطلح بواسطة المتوسط ​​الزمني

uأنان+1/2=uأنان+uأناص2{\displaystyle u_{i}^{n+1/2}={\frac {u_{i}^{n}+u_{i}^{p}}{2}}}

للحصول على خطوة التصحيح كـ

uأنان+1=uأنان+uأناص2-أΔت2Δx(uأناص-uأنا-1ص){\displaystyle u_{i}^{n+1}={\frac {u_{i}^{n}+u_{i}^{p}}{2}}-a{\frac {\Delta t}{2\Delta x}}\left(u_{i}^{p}-u_{i-1}^{p}\right)}

بعض الملاحظات

تُعدّ طريقة ماكورماك مناسبةً تمامًا للمعادلات غير الخطية ( معادلة برجر غير اللزجة ، معادلات أويلر ، إلخ). يمكن عكس ترتيب التفاضل للخطوة الزمنية (أي، التفاضل الأمامي/الخلفي متبوعًا بالتفاضل الخلفي/الأمامي). تُعطي هذه الطريقة أفضل النتائج للمعادلات غير الخطية. أما بالنسبة للمعادلات الخطية، فإنّ طريقة ماكورماك تُكافئ طريقة لاكس-ويندروف . [ 4 ]

بخلاف مخطط الانحدار العكسي من الدرجة الأولى ، لا يُدخل مخطط ماكورماك أخطاءً انتشارية في الحل. ومع ذلك، من المعروف أنه يُدخل أخطاءً تشتتية ( ظاهرة جيبس ) في المنطقة التي يكون فيها التدرج عاليًا.

انظر أيضاً

مراجع

  1. ماكورماك، آر دبليو، تأثير اللزوجة في تكوين الفوهات الناتجة عن الصدمات فائقة السرعة ، ورقة بحثية مقدمة إلى AIAA، 69-354 (1969).
  2. أندرسون، جيه دي، الابن ، ديناميكا الموائع الحسابية: الأساسيات مع التطبيقات، ماكجرو هيل (1994).
  3. كاميرون، ماريا (2011). "ملاحظات حول معادلة برجر" (ملف PDF) . جامعة ميريلاند .
  4. Tannehill, JC, Anderson, DA , and Pletcher, RH, Computational Fluid Mechanics and Heat Transfer, 2nd ed., Taylor & Francis (1997).