صورة جميلة وثلاثة أسئلة
يعرض عليك طالب صورة كفافية جميلة للجريان حول سيارة. ألوان ناعمة، وخطوط انسياب معقولة، ومعامل سحب بثلاث خانات عشرية. تسأله ثلاثة أسئلة: كم كانت قيمة y+ على الهيكل، وهل أُغلق ميزان الكتلة، وكم تغيّر السحب حين نُعّمت الشبكة؟ لا جواب عن أي منها.
هذا الطالب تعلّم برنامج CFD. لكنه لم يتعلم CFD بعد.
لكي تتعلم CFD من الصفر، تعلّم أن تميّز الجواب الصحيح من الجواب الواثق. وهذا عملياً أربع مراحل بهذا الترتيب: القليل من الرياضيات الذي يفسر لماذا تخطئ الحلول العددية، وحلّال صغير تكتبه بنفسك وتكسره عمداً، وسلّم من حالات مرجعية لها أجوبة منشورة، ثم برنامج تجاري أو مفتوح المصدر في النهاية فقط. يعرض هذا المقال هذا المسار، مع مثال محسوب يبيّن أهم درس في هذا العلم في عشرة أسطر من الجبر، وخطة أسبوعية في الختام.
ماذا يعني أن تتعلم CFD؟
ثلاثة أشياء، والبرنامج رابعها وأقلها أهمية.
- الفيزياء. ما الذي تقوله معادلات الحفظ، وما الذي يفعله كل حد، وأي الحدود يسود في مسألتك. عدد رينولدز وعدد بيكليه وعدد ماخ تخبرك عن الجريان قبل بناء الشبكة أكثر مما تخبرك معظم الصور الملونة بعد الحساب.
- الطرق العددية. كيف تتحول معادلة متصلة إلى جبر، وأي خطأ يدخله ذلك. كل جواب بطريقة الحجوم المحدودة خاطئ بمقدار خطأ التقطيع، والمهارة أن تعرف حجمه وطبيعته.
- الحكم الهندسي. أن تقرر ماذا تنمذج، وأن تتحقق من أن الأرقام متقاربة والموازين مغلقة والنتيجة غير حساسة للشبكة، وأن تقارن بشيء مستقل. هذا هو التحقق والمصادقة، وهو ما يدفع أصحاب العمل والعملاء ثمنه.
- البرنامج واجهة إلى الثلاثة كلها. يمكن تعلمه في أسابيع قليلة متى كان الباقي في مكانه، وهو يتغير مع كل إصدار على أي حال.
الرياضيات التي تحتاج إليها، ولماذا
أقل مما يخشاه كثيرون، وأكثر مما تعترف به معظم الدروس التعليمية.
تحتاج إلى حساب المتجهات (التباعد، والتدرج، ومبرهنة التباعد)، لأن طريقة الحجوم المحدودة هي مبرهنة التباعد مطبّقة على حجم صغير. وتحتاج إلى تمييز الأصناف الثلاثة من المعادلات التفاضلية الجزئية، لأنها تتصرف بشكل مختلف: المسائل الإهليلجية (الانتشار المستقر، الضغط) تشعر بكل الحدود دفعة واحدة، والمسائل المكافئة (الانتشار العابر) تتقدم في الزمن، والمسائل الزائدية (الحمل الخالص، الأمواج، الصدمات) تنقل المعلومة على امتداد الخطوط المميزة وتعاقب المخططات التي تتجاهل اتجاه الجريان.
وتحتاج إلى متسلسلات تايلور، لأن خطأ التقطيع يأتي منها. انشر دالة ملساء حول نقطة وخذ الفروق:
هنا D_c هو الفرق المركزي وD_u الفرق الأمامي باتجاه المنبع. الفرق المركزي من الرتبة الثانية: إذا نصّفت حجم الخلية انخفض الخطأ الرئيسي إلى الربع. والفرق باتجاه المنبع من الرتبة الأولى، وحدّ خطئه الرئيسي يتناسب مع مشتقة ثانية. احفظ هذه الفكرة. فعليها يقوم القسم التالي كله.
اكتب حلّالاً صغيراً واكسره
قبل أن تفتح واجهة تجارية، اكتب حلّالاً من نحو أربعين سطراً. ستتعلم من مشاهدته وهو يفشل أكثر مما تتعلم من شهر من الدروس.
نقطة انطلاق مجانية ومتقنة هي CFD Python، أي «12 خطوة إلى نافييه-ستوكس» من إعداد لورينا باربا وجيلبرت فورسيث: دفاتر Jupyter تبدأ بالحمل الخطي أحادي البعد وتمر بالانتشار ومعادلة برغرز ومعادلتي لابلاس وبواسون وصولاً إلى الجريان ثنائي البعد في تجويف وفي قناة. المحتوى مرخّص بـ CC-BY 4.0 والشيفرة بـ BSD-3، فيمكنك استخدامها وتكييفها بحرية.
ثم أجرِ التجربة الوحيدة التي ينبغي أن يكون كل مهندس CFD قد أجراها بيديه.
مثال محسوب: عدد بيكليه الخلوي
خذ الحمل والانتشار المستقرين أحاديي البعد لكمية قياسية φ على المجال 0 ≤ x ≤ L، مع φ(0) = 0 وφ(L) = 1. المعادلة وحلها الدقيق هما:
عند Pe = 50 يكون الحل قريباً من الصفر على المجال كله ويرتفع بحدة في طبقة رقيقة عند الطرف الأيمن. وعند x = 0.9 L تكون القيمة الدقيقة نحو exp(−5) ≈ 0.007.
قطّع المجال إلى N خلية منتظمة. الكمية التي تتحكم في كل شيء هي عدد بيكليه الخلوي Pe_Δ = ρuΔx / Γ = Pe / N. على شبكة منتظمة يؤول كل مخطط إلى علاقة تكرارية تنمو حلولها من عقدة إلى أخرى بنسبة ثابتة، وهذه النسبة تخبرك بما يفعله المخطط:
السطر الأول هو النسبة الدقيقة بين العقد المتجاورة، وr_c النسبة التي يعطيها المخطط المركزي، وr_u النسبة التي يعطيها مخطط المنبع من الرتبة الأولى.
على 10 خلايا يكون Pe_Δ = 5:
| المخطط | النسبة بين العقد المتجاورة | ما الذي تراه |
|---|---|---|
| الحل الدقيق | exp(5) ≈ 148 | طبقة حادة في الخلية الأخيرة |
| المركزي | (1 + 2.5)/(1 − 2.5) ≈ −2.33 | تنقلب الإشارة من عقدة إلى أخرى: تذبذبات وقيم خارج المجال من 0 إلى 1 |
| باتجاه المنبع | 1 + 5 = 6 | أملس ورتيب، وطبقة أسمك بكثير مما ينبغي |
على 40 خلية يكون Pe_Δ = 1.25: يعطي المخطط المركزي نسبة نحو 4.3 مقابل 3.5 للحل الدقيق، أملس وقريب؛ ويعطي مخطط المنبع 2.25، وما زال التلطيخ ظاهراً.
ينتج عن ذلك درسان، وهما أهم ما في هذا المقال.
المخطط المركزي يتذبذب حين يكون Pe_Δ > 2. تصبح النسبة سالبة، ويظهر في الحل تذبذب لا علاقة له بالفيزياء. هذه هي النتيجة الكلاسيكية في كتاب باتانكار، ولهذا لا تستخدم الحلّالات التجارية الفرق المركزي الخالص للحمل في معظم أنواع الجريان.
مخطط المنبع لا يتذبذب أبداً، ويخطئ بطريقة تبدو صحيحة. خطأ البتر من منشور تايلور أعلاه، (Δx/2)φ″، يعمل تماماً كانتشار إضافي. ويتصرف المخطط كما لو كان معامل الانتشار:
على 10 خلايا يساوي ذلك 3.5 Γ. فحلك الأملس بمخطط المنبع هو، في الرتبة الرئيسية، حلّ مسألة عدد بيكليه فيها نحو 50/3.5 ≈ 14 وليس 50. ولا شيء على الشاشة يخبرك بذلك. خطوط التساوي نظيفة، والبواقي تهبط بجمال، والجواب يعود إلى جريان آخر.
لهذا أفضّل أن يرى المبتدئ أولاً حلاً مركزياً متذبذباً. فالتذبذب صادق.
كل حلّال حديث يقدّم مخططات محدودة من رتب أعلى (المنبع من الرتبة الثانية مع محددات، QUICK، عائلات TVD) تقع بين الطرفين. ولن تفهم ما تفعله هذه الإعدادات إلا بعد أن ترى الطرفين يفشلان.
تحقق من رتبة الدقة
نعّم الشبكة الآن. احسب الخطأ مقارنة بالحل الدقيق على شبكتين بنسبة تنعيم r. إذا كان e₁ الخطأ على الشبكة الخشنة وe₂ الخطأ على الناعمة، فالرتبة المرصودة هي:
مثال محسوب بأرقام توضيحية. مخطط من الرتبة الثانية يعطي خطأين قدرهما 0.020 و0.0051 على شبكتين خطوتاهما Δx وΔx/2، إذن p = ln(3.92)/ln(2) ≈ 1.97. صحيح. وإذا حصلت على 1.0 من مخطط يفترض أنه من الرتبة الثانية، ففي مكان ما شيء من الرتبة الأولى: شرط حدي، أو تدرج، أو استيفاء على الوجوه. والعثور عليه أفضل تعليم عددي على الإطلاق. هذا هو الحساب نفسه الذي يقوم عليه مؤشر تقارب الشبكة، المشروح خطوة بخطوة في مقالنا عن استقلالية الشبكة.
اصعد سلّماً من الحالات ذات الأجوبة المنشورة
متى انضبط سلوك شيفرتك، انتقل إلى حالات نشر غيرك جوابها. كل درجة تعلّمك صعوبة جديدة واحدة، ولكل منها فحص تنجح فيه أو ترسب.
| الدرجة | الحالة | ما الذي تعلّمه | المرجع | الفحص |
|---|---|---|---|---|
| 1 | الحمل والانتشار أحادي البعد | المخططات، وعدد بيكليه، ورتبة الدقة | الحل الدقيق أعلاه | الرتبة المرصودة تطابق رتبة المخطط |
| 2 | تجويف ذو غطاء متحرك، Re 100 و1000 | الربط بين الضغط والسرعة في بعدين | Ghia وGhia وShin (1982)، السرعات على الخطوط المركزية | منحنياتك تمر بنقاطهم المجدولة |
| 3 | جريان طباقي في أنبوب | طول المدخل، والتدرجات عند الجدار | هاغن-بوازوي: f = 64/Re | يقترب معامل الاحتكاك من 64/Re مع تنعيم الشبكة |
| 4 | درجة خلفية، جريان طباقي | الانفصال وإعادة الالتصاق | Armaly وزملاؤه (1983)، قياسات | طول إعادة الالتصاق بدلالة عدد رينولدز |
| 5 | أسطوانة في قناة، DFG 2D-2 | الجريان العابر، والخطوة الزمنية | FeatFlow: C_D,max = 3.2200 وSt = 0.30188 | يظهر انفصال الدوامات وتقترب القيمتان |
| 6 | قناة مضطربة | معالجة الجدار وحدود RANS | DNS عند Re_τ من 180 إلى 5200 (Lee وMoser، 2015؛ بيانات Oden Institute) | السرعة المتوسطة بوحدات الجدار مقارنة بمنحنى DNS |
| 7 | أنبوب مسخّن، جريان مضطرب | معاملات انتقال الحرارة | علاقة غنيلينسكي | عدد نسلت ضمن تشتت العلاقة |
الدرجة 3 تستحق ملاحظة. طول المدخل الطباقي نحو 0.05 Re D، فعند Re = 1000 يحتاج المنحنى إلى نحو 50 قطراً ليكتمل. والأنبوب القصير يعطي معامل احتكاك أعلى بوضوح من 64/Re، وهذا هو الجريان النامي يفعل ما ينبغي له. وتعلّم التمييز بين الأمرين هو الهدف بعينه.
في الدرجة 6 يكتشف معظم المتعلمين الذاتيين أن نموذج الاضطراب نموذج. قارن منحنى السرعة المتوسطة بوحدات الجدار مع DNS، مرة والخلية الأولى عند y+ ≈ 1 ومرة مع دوال الجدار عند y+ ≈ 50. ويشرح مقال k-omega SST وk-epsilon في هذه المدونة لماذا يختلف سلوكهما.
والدرجة 5 أيضاً اختبار جيد لأي إنسان أو أداة تدّعي أنها تعدّ حالات CFD نيابة عنك؛ ومقال وكلاء الذكاء الاصطناعي لـ CFD يستخدمها لهذا الغرض بالذات.
ثم تعلّم البرنامج
عند هذه المرحلة ستصبح القوائم مفهومة، لأن كلاً منها قرار اتخذته بيدك من قبل: مخطط الحمل، والربط بين الضغط والسرعة، ومعالجة الجدار، والخطوة الزمنية.
تعلّم برنامجاً واحداً جيداً قبل أن تجرب عدة برامج. طريقان مجانيان يكفيان للتعلم. OpenFOAM مفتوح المصدر ويعمل على Linux، أو على Windows عبر WSL. وAnsys Student مجاني للطلاب والمدرّسين، ويعمل على Windows، ويسمح بما يصل إلى مليون خلية لمسائل الموائع على أربع أنوية كحد أقصى، للاستخدام التعليمي فقط. والمليون خلية تكفي لكل درجة من السلّم أعلاه، وليس ذلك مصادفة.
أعد الدرجات 2 و3 و5 في البرنامج. إذا اتفق تجويفك المكتوب يدوياً والتجويف التجاري أحدهما مع الآخر ومع Ghia، فقد تحققت من الاثنين، وتعلّمت إعدادات البرنامج بالمقارنة لا بالثقة.
كتب تستحق الاقتناء
- Versteeg وMalalasekera، An Introduction to Computational Fluid Dynamics: The Finite Volume Method. أوضح كتاب أول في طريقة الحجوم المحدودة التي تستخدمها البرامج التجارية.
- Patankar، Numerical Heat Transfer and Fluid Flow. قصير وقديم وما زال أفضل شرح لسبب تصرف المخططات كما تتصرف.
- Ferziger وPerić وStreet، Computational Methods for Fluid Dynamics. المرجع في الطرق العددية بعد تجاوز الأساسيات.
- Moukalled وMangani وDarwish، The Finite Volume Method in Computational Fluid Dynamics. جسر من النظرية إلى التنفيذ في OpenFOAM.
- Pope، Turbulent Flows. لليوم الذي يصبح فيه سؤال «أي نموذج اضطراب؟» سؤالاً حقيقياً.
خطة من 16 أسبوعاً
اقتراحي لمن يحمل شهادة هندسية ولديه نحو ثماني إلى عشر ساعات أسبوعياً. كل مرحلة تنتهي بشيء يمكنك عرضه.
| الأسابيع | العمل | المُخرَج |
|---|---|---|
| 1 و2 | متسلسلات تايلور وأصناف المعادلات؛ الخطوات 1 إلى 4 من CFD Python | شيفرة انتشار أحادي البعد مع حلها الدقيق |
| 3 و4 | الحمل والانتشار؛ تجربة بيكليه؛ رتبة الدقة | رسم للحل الدقيق والمركزي وحل المنبع عند Pe_Δ = 5 و1.25 |
| 5 و6 | الخطوات 9 إلى 11 من CFD Python؛ تجويف ذو غطاء متحرك | تجويفك مقارنة بـ Ghia وزملائه عند Re 100 |
| 7 و8 | تثبيت برنامج واحد؛ إعادة التجويف؛ جريان طباقي في أنبوب | معامل الاحتكاك مقارنة بـ 64/Re مع تنعيم الشبكة |
| 9 و10 | بناء الشبكات: الطبقات الحدية، ومقاييس الجودة؛ دراسة على ثلاث شبكات | مؤشر تقارب الشبكة للأنبوب |
| 11 و12 | الاضطراب والجدران؛ قناة مضطربة | u+ بدلالة y+ مقارنة بـ DNS لطريقتين في معالجة الجدار |
| 13 و14 | الجريان العابر؛ أسطوانة DFG | عدد ستروهال وأقصى سحب مقارنة بالمرجع |
| 15 و16 | مشروع صغير خاص بك | تقرير قصير فيه التقارب والموازين ودراسة الشبكة ومقارنة واحدة بالبيانات |
المُخرَج الأخير هو الذي يجلب لك الوظيفة. تقرير يقول «هبوط الضغط 1245 Pa بعدم يقين عددي قدره 1.6%، ويتفق مع العلاقة ضمن 4%» يساوي أكثر من أي عدد من الصور الملونة.
أخطاء شائعة كما تبدو على الشاشة
- حل أملس لم يُقارن بأي شيء. أنتجه مخطط المنبع. وقد يكون خاطئاً بأضعاف، كما يبيّن المثال.
- تذبذب «عولج» بالانتقال إلى الرتبة الأولى. كان التذبذب يقول إن الشبكة أخشن من أن يناسبها المخطط. والرتبة الأولى تخفي الرسالة وتبقي الخطأ.
- درس تعليمي أعيد نقرة بنقرة. يعمل، ولا تستطيع أن تقول لماذا كان أي إعداد على ما هو عليه. غيّر إعداداً واحداً في كل مرة وتوقع أثره قبل التشغيل.
- معامل احتكاك «خاطئ» بنسبة 30% في أنبوب قصير. إنه طول المدخل، والحلّال محق.
- حالة مضطربة بلا فحص لـ y+. لم تكن معالجة الجدار قط ضمن مجال صلاحيتها، ولم يكن النموذج يفعل ما تظن.
- البواقي دليلاً وحيداً على التقارب. راقب الكمية التي ستذكرها وتحقق من ميزان الكتلة؛ ومقال التقارب في هذه المدونة يشرح السبب.
ما الذي كنت سأفعله
إذا كنت تحمل شهادة هندسية ولديك بضع ساعات أسبوعياً، فاتبع الترتيب أعلاه: رياضيات تفسر الخطأ، ثم حلّال صغير، ثم حالات مرجعية، ثم البرنامج. لا تتجاوز تجربة بيكليه. فهي تستغرق أمسية وتغيّر طريقة قراءتك لكل صورة ملونة طوال مسيرتك.
وإذا كنت تستخدم برنامجاً تجارياً في عملك من دون خلفية عددية، فاسلك المسار نفسه بصيغة مكثفة: تجربة بيكليه، والتجويف مقارنة بـ Ghia، ودراسة على ثلاث شبكات لحالة تعرفها. ثلاث عطلات أسبوعية. وستبدأ ترى أي نتائجك القديمة ما زلت تقبل أن توقّع عليها.
وإذا أردت مساعدة منظمة، فدورتنا «نمذجة CFD لجريان السوائل والغازات» تسير بالترتيب نفسه: صياغة المسألة، والفيزياء، والمحاكاة، والتحقق، والتفسير، ودورة «انتقال الحرارة في التطبيقات الهندسية» تغطي الدرجة 7 وما بعدها. وفي كل الأحوال التزم القاعدة: لا تغادر أي نتيجة مكتبك قبل أن تقارنها بشيء لم تحسبه بنفسك.
المصادر والمطالعة
- Barba and Forsyth: CFD Python, 12 steps to Navier-Stokes
- FeatFlow, TU Dortmund: DFG flow around cylinder benchmark 2D-2 (Re = 100)
- Oden Institute, University of Texas at Austin: turbulent channel DNS data
- Ansys Student: free student software and its limits
- Ghia, Ghia and Shin (1982), Journal of Computational Physics: high-Re solutions for incompressible flow
خدمة ذات صلة
مراجعة النماذج والدراسات المخصصة
معرفة ما يدعمه النموذج، وأين يبقى عدم اليقين، وما يحتاج إلى تحقق.
استعرض الخدمات