يرجى ذكر ما يلي: Barba, Lorena A., and Forsyth, Gilbert F. (2018). CFD Python: الخطوات الـ 12 لمعادلات Navier-Stokes. مجلة التعليم مفتوح المصدر ، 1 (9)، 21، https://doi.org/10.21105/jose.00021
CFD Python ، المعروف أيضًا باسم الخطوات الـ 12 لـ Navier-Stokes ، عبارة عن وحدة عملية لتعلم أسس ديناميكيات الموائع الحسابية (CFD) عن طريق ترميز الحلول للمعادلات التفاضلية الجزئية الأساسية التي تصف فيزياء تدفق الموائع. كانت الوحدة جزءًا من دورة دراسية قامت البروفيسور لورينا باربا بتدريسها بين عامي 2009 و2013 في قسم الهندسة الميكانيكية بجامعة بوسطن (انتقل البروفيسور باربا منذ ذلك الحين إلى جامعة جورج واشنطن).
تفترض الوحدة فقط المعرفة الأساسية بالبرمجة (بأي لغة) وبعض الخلفية في المعادلات التفاضلية الجزئية وميكانيكا الموائع. "الخطوات" مستوحاة من أفكار الدكتور ريو يوكوتا، الذي كان في مرحلة ما بعد الدكتوراه في مختبر البروفيسور باربا حتى عام 2011، وتم تنقيح الدروس من قبل البروفيسور باربا وطلابها على مدى عدة فصول دراسية لتدريس دورة CFD. لقد كتبنا هذه المجموعة من دفاتر ملاحظات Jupyter في عام 2013 لتدريس دورة مكثفة لمدة يومين في ميندوزا، الأرجنتين.
من خلال توجيه الطلاب خلال هذه الخطوات (دون تخطي أي منها!)، يتعلمون العديد من الدروس القيمة. إن الطبيعة المتزايدة للتمارين تعني أنهم يشعرون بالإنجاز في نهاية كل مهمة، ويشعرون أنهم يتعلمون بجهد منخفض. ومع تقدمهم، يمارسون بشكل طبيعي إعادة استخدام التعليمات البرمجية ويتعلمون بشكل تدريجي تقنيات البرمجة والتخطيط. أثناء تحليل نتائجهم، يتعلمون عن الانتشار العددي والدقة والتقارب. وفي غضون أربعة أسابيع تقريبًا من الدورة المقررة بانتظام، يصبحون مبرمجين ذوي كفاءة متوسطة ويتم تحفيزهم لبدء مناقشة المزيد من الأمور النظرية.
في الدورة الجامعية العادية، يمكن للطلاب إكمال دروس CFD Python خلال 4 إلى 5 أسابيع. باعتبارها برنامجًا تعليميًا مكثفًا، يمكن إكمال الوحدة خلال يومين أو ثلاثة أيام كاملة، اعتمادًا على الخبرة السابقة للمتعلم. يمكن أيضًا استخدام الدروس للدراسة الذاتية. في جميع الحالات، يجب على المتعلمين متابعة الأمثلة العملية في كل درس عن طريق إعادة كتابة الكود في دفتر Jupyter جديد، وربما تدوين الملاحظات الأصلية أثناء تجربة الأشياء.
ابدأ جلسة تفاعلية مع هذه الوحدة باستخدام خدمة Binder:
الخطوات من 1 إلى 4 موجودة في بُعد مكاني واحد. الخطوات من 5 إلى 10 تكون في بعدين (2D). الخطوات من 11 إلى 12 تحل معادلة نافييه-ستوكس بشكل ثنائي الأبعاد. تغطي ثلاث دفاتر ملاحظات "إضافية" حالة CFL للاستقرار العددي وعمليات المصفوفة باستخدام NumPy وتحديد الوظائف في Python.
لاستخدام هذه الدروس، تحتاج إلى Python 3، ومجموعة قياسية من لغة Python العلمية: NumPy، Matplotlib، SciPy، Sympy. وبالطبع، أنت بحاجة إلى Jupyter، وهي بيئة حسابية تفاعلية تعمل على متصفح الويب.
تم تصميم هذه الدورة التدريبية المصغرة كمجموعة من دفاتر ملاحظات Jupyter التي تحتوي على المواد المكتوبة والحلول المدروسة حول كود Python. للعمل مع المادة، نوصي ببدء كل درس بدفتر ملاحظات جديد، والمتابعة، وكتابة كل سطر من التعليمات البرمجية (لا تقم بالنسخ واللصق!)، والاستكشاف عن طريق تغيير المعلمات ورؤية ما يحدث.
بعد التثبيت، للتأكد من أن الحزم الخاصة بك محدثة، قم بتشغيل الأوامر التالية في الوحدة الطرفية:
conda update conda
conda update jupyter numpy sympy scipy matplotlib
إذا كنت تفضل Miniconda (إصدار مصغر من Anaconda يوفر لك مساحة على القرص)، فقم بتثبيت جميع المكتبات اللازمة لمتابعة هذه الدورة التدريبية عن طريق تشغيل الأوامر التالية في الوحدة الطرفية:
conda update conda
conda install jupyter
conda install numpy scipy sympy matplotlib
pip install jupyter
يرجى أيضًا التأكد من تثبيت المكتبات الضرورية لديك عن طريق التشغيل
pip install numpy scipy sympy matplotlib
نحن نقبل المساهمات عبر طلب السحب - في الواقع، أرسل العديد من المستخدمين بالفعل طلبات سحب لإجراء تصحيحات أو تحسينات صغيرة. يمكنك أيضًا فتح مشكلة إذا وجدت خطأً أو كان لديك اقتراح.
(ج) 2017 لورينا أ. باربا، جيلبرت إف فورسيث. كل المحتوى تحت Creative Commons Attribution CC-BY 4.0، وكل التعليمات البرمجية تخضع لشرط BSD-3 (سابقًا ضمن MIT، وتم تغييرها في 8 مارس 2018).
نحن سعداء إذا قمت بإعادة استخدام المحتوى بأي شكل من الأشكال!