موارد ترميز عملية لممارسي CFD الجدد

يبدو أن هناك العديد من الكتب والأوراق التي تشرح العديد من طرق CFD بتفصيل كبير ، ولكن للأسف لم أتمكن من العثور على العديد من الموارد الجيدة لهذه الأساليب التي تم تنفيذها في رموز مثل MATLAB أو Python (بالإضافة إلى أكثر المشاكل الأساسية مثل معادلة advection خطية). على هذا النحو ، كنت أتساءل عما إذا كان هناك أي كتب هناك يمكنني شراءها والتي تأتي مع العديد من الأمثلة المشفرة ، أو إذا كان هناك أي موارد مجانية على الإنترنت التي تظهر واحدة من كيفية حل مختلف مشاكل CFD. أدرك أن CFD يمكن أن يكون مجالًا صعبًا للغاية ، خاصة عند التعامل مع الأشكال الهندسية المعقدة. ومع ذلك ، إذا تمكنت من العثور على مورد يقدم ، على سبيل المثال ، إرشادات خطوة بخطوة حول كيفية حل معادلات أويلر ثنائية الأبعاد (مع هندسة بسيطة جدًا) ، والتي تبدو أنها الخطوة المنطقية عند الانتقال من المعادلات القياسية إلى المتجهات ، ستكون هذه نقطة بداية رائعة لكيفية تعلم المزيد من الموضوعات المتقدمة. لسوء الحظ ، أتعلم من خلال المثال ، ويمكن أن تتورط في الكثير من النظريات. وعلى هذا النحو ، فإن الحصول على أمثلة الكود للعمل من خلال النظرية وفهمها سيكون مساعدة كبيرة. شكرا جزيلا.

4
هل درست 12 خطوة للوصول إلى Navier Stokes بواسطة Lorena Barba؟
وأضاف المؤلف nicoguaro, مصدر
أقترح عليك أولا اتباع "المحاضرات" ، وإذا كنت تعتقد أن هذا النهج لا يكفي إبقاء رأيك. الآن ، أنت تضغط على ذلك.
وأضاف المؤلف nicoguaro, مصدر
لقد نظرت إليها قليلاً قبل نشر هذا ويبدو أنه مورد جيد جدًا. لقد لاحظت على الرغم من أنه يبدو أن القفز من PDEs نسبيا نسبيا إلى معادلات Navier-Stokes ، دون إعطاء أي علاج لمعادلات أويلر ، وهو أمر مؤسف قليلا (على الرغم من أنني قد أكون مخطئا في هذا الشأن).
وأضاف المؤلف plaidshirt, مصدر
يبدو أنها تنص على أنها لا تغطي معادلات أويلر في هذه الصفحة: lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes . مع عدم وجود خبرة كبيرة في CFD ، افترضت أنه من الأفضل تجربة معادلات أويلر قبل القفز إلى معادلات Navier-Stokes المعقدة ، ولكنك على حق ، سوف أتعمق في هذه الدورة ويجب أن يكون ذلك منطقيًا.
وأضاف المؤلف plaidshirt, مصدر

4 إجابة

يعتمد على ما تعنيه بـ CFD. أود التمييز بين المناهج الأكاديمية والتطبيقية.

للأغراض الأكاديمية - على سبيل المثال ، لاكتساب المهارات في التحليل العددي والحوسبة العلمية أو ملعب للشروط المسبقة المطورة حديثًا - يمكنني أن أوصي بالكتاب بواسطة Griebel و Dornseifer و Neunhoeffer المحاكاة العددية في ديناميات الموائع >. يغطي النطاق الكامل:

  1. بيان بالفيزياء و PDEs وظروف الحدود والصعوبات المتوقعة
  2. تقنية التقنين (هنا ، الاختلافات المحدودة )
  3. وشبة الكود </لى>
  4. جاهز لاستخدام الرمز C

إذا كنت تريد أن تصبح مهندس CFD لشركة ، يجب أن تحصل على بعض المعلومات النظرية حول النمذجة وتقريب التدفقات والاضطرابات. (ربما تجد مذكرة محاضرة حول تدفقات مضطربة ) ثم اذهب وقم بعمل البرامج التعليمية باستخدام أداة CFD التجارية المفضلة لديك. (Ansys، Fluent، Star ...)

6
وأضاف

ما بعد البيع السوبر هنا ، كنت أتمنى أن أكون ليرة تركية ، DR ، ولكن من شأنه أن يكون بريتي

أفترض أنك أنت طالب جامعي ، في الهندسة ، لأنه إذا كنت خريجًا ، فيجب أن تأخذ دورة CFD في القسم المعني أولاً. إذا كنت في الرياضيات ، لا أعرف كيف تتصل بمعرفتك بالأشياء في ديناميكيات السوائل الكلاسيكية.التحرك ...

BACKGROUND FOR ME

أنا أتفهم الموقف الذي أنت فيه بشكل جيد ، كنت أنا نفسي عالقة في نفس المستنقع لبعض الوقت ، وأشياء لم تأتني من الناحية النظرية ، وبقدر خبرتي ، لا تقرأ كتابًا مثل JD Anderson أو Versteeg حقا يساعد كثيرا. وأشعر أنه من غير الحسن أن نطلب من شخص ما أن يقرأ جي دي أندرسون لتغطية ، حتى في الفصول القليلة الأولى ، ثم يسمح له فقط ببدء تشفير حقيقي لعقود CFD. خلال فترة وجودي وأنا أحاول محاولة تعلم CFD ، قضيت عدة ليال في مساكن لمسح الإنترنت للبحث عن دروس لائقة على CFD ، تجوب CFD عبر الإنترنت و reddit. حتى أن البعض أرادوا أن أقرأ JDA بالكامل قبل بدء الترميز (وهو أمر مثير للسخرية) ، ولم أتمكن من صنعه ، وأصابني بالإحباط حقًا. ما زلت لا أستطيع بسهولة جعل نصف الأشياء في هذه الكتب ، وأنا في ثاني دورة متقدمة من CFD في مدرسة grad. آمل أن توضح إجابتي هنا طريقة أفضل للجيل القادم لبدء الترميز بعقد CFD.

SCREW 2D !!!

أول الأشياء أولاً ، إذا كنت طالبًا جامعًا وليس شيئًا من العبقرية ، فسيكون من الصعب جدًا محاربة CFD والدورة الدراسية العادية معًا. أقترح أن تنسى 2D وتلتزم برموز 1D الآن . إن العقود مقابل الفروقات (CFD) صلبة للغاية ، وتحتاج بالتأكيد إلى دورة تدريبية على مستوى الدراسات العليا للبدء في فهم الفروق الدقيقة في طريقة الحجم المحدودة وأسلوب العناصر المحدودة في 2D. أقترح بإصرار ، التمسك بشدة بـ 1D ، وتعلم الطرق العددية المختلفة في Finite Differencing ، مثل مخططات Lax (طبيعية ، فريدريش ، Wendroff ، إلخ) ، مخططات التباين المركزية ، عكس الرياح وخطط تقطيع الوقت. إذا كنت بحاجة إلى أمثلة ، فما عليك سوى البحث عن شيء مثل "Lax Friedrich 1D Advection C ++ code simple" وحاول مطابقة النظرية في تلك الكتب مع الشفرة ، وفهم كيفية عملها ، ولماذا تعمل بالطريقة التي تعمل بها. هل تحليل الخطأ (فون نيومان ، ومتعددة الوضع أيضا). هناك عالم من الأشياء التي يجب تعلمها في 1D ، لن تنفد من الأشياء. والأهم من ذلك ، بالنسبة للفقراء ، فهي سهلة ومنطقية ولا يمكن الاستغناء عنها أثناء بناء المفاهيم.

أقترح تجربة المعادلة الخطية العابرة ، غير القابلة للإنضغاط ، الخطية العابرة ، ثم معادلة الحرارة العابرة ، التي تتلاعب بظروف حدية مختلفة (dirichlet، neumann، periodic، Robin) وخلايا الأشباح. إذا تم ذلك ، يمكنك محاولة الانتقال إلى 1D Euler قابلة للضبط ، ولكن يجب أن يتم القيام بهما أعلاه بشكل تام ودقيق ، بما في ذلك النظرية. سيساعدك هذا على بناء قاعدة مثالية لمدرسة الدراسات العليا ، حيث يمكنك الاسترخاء والتركيز على فهم مفاهيم 2D الخاصة بك.

إذا كنت غير متأكد من أي شيء ، فقط جوجل.

BACKGROUND FOR ME # 2

لإعطائك فكرة ، قمت بمشروعين من طراز 2D Navier-Stokes شملا أساسًا مثل 8 رموز الفصل الدراسي الأخير. بعد ذلك ، ظننت أنه قد تم تصنيفي لعقود CFD ، ثم في منتصف الطريق إلى دورة CFD المتقدمة هذه sem وما زلت أقوم برموز 1D. هذا هو مدى أهمية والتأكيد على الحصول على يد حازمة على 1D هو. لا تخيب ظنك من قلة الألوان والأشكال الجميلة ، فهي ستأتي. :د

SCREW 2D # 2 !!!!!!!

إذا افترضنا أنك فعلت هذا كله بما يرضيك ، فيمكنك محاولة إنشاء حل Poisson 2D. يمكنك عادةً العثور على رموز عينة وشبكة عينة بسيطة على الإنترنت. إذا لم يكن الأمر كذلك ، فيمكنك دائمًا إنشاء الزي المربّع الخاص بك وحلها. إنها نقطة البداية لترميز معادلات NS. يمكنك معرفة مخططات تكرارية مختلفة مثل ILU ، Point Jacobi والاشياء. يمكنك العثور على عينات سهلة من كل شيء على الإنترنت.

نسيان 2D Euler في الوقت الحالي ، حيث تأتي النكهة الرئيسية عندما تحاول تدفق الانضغاط ، والتي لديها بعض الفيزياء صعبة فيها. سوف تعلم مخططات رقمية الآن تجعل الأمر أسهل بكثير بالنسبة لك لفهم 2D أويلر في المستقبل. يمكنك القيام 2D مع الاختلافات المحدودة ، ولكن ذلك سيكون بسيطا جدا ، وغير مجدية ومرهقة بالنسبة للجزء الأكبر إذا لم تكن على درجة الماجستير في 1D. تستخدم معظم الأكواد ثنائية الأبعاد الحديثة طرق "Finite Volume" أو "Galerkin" المتقطعة اليوم ، والتي تعتبر متقدمة جدًا من حيث التركيب.

POINTS TO CONSIDER

أود أن أختتم بتقديم بعض المؤشرات التي قد تساعدك على بدء CFD بشكل واقعي

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

2.) قم بالتبديل إلى C ++ أو Fortran في أسرع وقت ممكن حتى إذا كنت تحلم بالرموز ثنائية الأبعاد. أخبرت أستاذي في الفصل الدراسي الأخير الفصل عن طالب أقدم إليّ قام بكتابة شيفته في بايثون ، واستغرق الأمر أسبوعًا حتى يتلاقى المشروع النهائي الذي استغرق بضع دقائق فقط في C ++ و Fortran. لم يتمكن من تحويل مشروعه بالكامل وحصل على درجة سيئة. Matlab سيئة على قدم المساواة في scicomp. تعلم كيفية إخراج البيانات الخاصة بك في ملف .dat واستخدام Tecplot أو أصل لرسم الرسوم البيانية وحواف. بين C ++ و Fortran ، لا يهم كثيرًا في مرحلتك.

3.) مرة أخرى ، لا أستطيع أن أؤكد هذا بما فيه الكفاية ، لا تذهب ل 2 D. إنه مرهق وغير ذي صلة بنموك في CFD في هذه المرحلة.

4.) إذا كنت لا تخطط للقيام بدراسات الدراسات العليا ، نسيان ترميز CFD. سيستغرق الأمر منك سنوات لإتقان منطقة فرعية CFD ، والقيام بذلك على كود تجاري سوف يأخذك يومًا أو يومين. تم تصميم الرموز لتكون واقية من الغبي ، وكانت النتائج جيدة أيضًا. سيكون أكثر فائدة في فرق الهندسة غير الأساسية البحثية إذا كنت تفهم أساسيات FM و HT بشكل صحيح.

5.) سيقود CFD مؤخرتك ، وأنت ستحبّ هو. أنا لم أنم أكثر من ما مجموعه 4 ساعات في 3 أيام متتالية ، وهذا هو في منتصف استراحة الربيع (أي القرف). كن مستعدًا لمنحنى التعلم ، ولكن من المؤكد أنه يستحق ذلك عند إنشاء كومة من القمامة الملونة الخاصة بك.

في THE 12 STEPS COURSE

يمكنك محاولة القيام بالخطوات الإثني عشر كهواية ، ولكن بعد فوات الأوان كانت مسعى غير مجدي ، تهنئة بالذات ، مبالغة في التقدير من حيث محاولة الحصول على نظرة ثاقبة لعقود CFD الحقيقية ، حيث أن معظمها جيد التنظيم للغاية وبسيط. إنها دورة رائعة ، أعترف بها ، لكنها جيدة للغاية لدرجة أن تكون غير مجدية في النهاية ، إذا كنت تعرف ما أعنيه. الأستاذ مقنع جدا وذكي ، لكنه سهل جدا على المواضيع. أعلم أن الكثير من الناس هنا يقسمون من خلال دراستهم وقد يشعرون بالإهانة معي ، لكنني أعتقد أن عددًا قليلاً ممن اتخذوا دورة تدريبية في CFD قد يتفقون معي أيضًا.

تعلم هذا عن طريق قلب!

قصيدة ل CFD

بقلم ستيف بوفا وألفريد لوربر مختبر جامعة تكساس CFD

لا تموت الرموز القديمة أبدًا

يتم تسليمهم لك وأنا

إذا لم يكن لديك الكثير من العداء

تحتاج فقط إلى إضافة المزيد من اللزوجة

العديد من مقبض الباب وعدد من التبديل

مطلوبة لتشغيلها دون عقبة

إذا كان معدل التقليب أعلى يجب أن تدرك

ببساطة إنشاء حجم الشبكة أكبر

إذا كان هناك تعديل بسيط يسعى إليه مديرك

تقديري لا يقل عن عشرة أسابيع.

4
وأضاف
إذا كنت مهتمًا بالتدفقات غير القابلة للإنضغاط ، فببساطة لا يوجد 1D ، فترة. عليك أن تفعل 2D أو 3D.
وأضاف المؤلف nsanders, مصدر
أوافق على وجهة نظرك لفهم أول 1D بشكل كامل ، حيث أن الحالات ذات الأبعاد الأعلى تطغى على الطلاب مع التقنيات التي لا صلة لها بالتعلم عن أساسيات CFD. لكن 2D/3D هو المكان الذي يكون فيه الترميز والاختيار الصحيح للخوارزميات أمرًا ممتعًا وحيث يمكن معالجة المشكلات المادية ذات الصلة. لن أبدأ هنا دون معرفة قوية حول الفيزياء والرياضيات الأساسية. تميل العديد من أدلة الممارسين إلى تعليم التقنيات المتطورة التي يبدو أنها تظهر من العدم في البداية ، لكن العديد من الحيل "واضحة" من وجهة نظر رياضية.
وأضاف المؤلف Christian Waluga, مصدر
+1 لهذا التشدق ، حيث تساعد بعض الآراء الشخصية في بعض الأحيان الوافد الجديد على فهم ما يجري. ومع ذلك ، أنا أختلف تماما مع الحجج "المسمار 2D" الخاص بك. لا توجد معادلة Navier-Stokes أو Euler في 1D ...
وأضاف المؤلف Jan, مصدر
@ جيان حسنا ، أنا لم أقصد أي شيء يشبه كثيرا CFD لكنني أعرف أن هناك رموز 1D موجودة ل NS و Euler على سبيل المثال. في نمذجة الاحتراق وأنابيب صدمة. يمكنك تبسيط NS وربطها بفيزياء أكثر تعقيدًا في 1D. أردت ببساطة أن أؤكد على أن 1D هو المكان الذي سيكتسب فيه الشخص الذي يبدأ cfd المزيد من العمق والبصيرة. إذا كان هو/هي يذهب إلى 2D الآن ، أخشى أن يتم تهميش المفاهيم أعمق. على أي حال ، شكرا ل upvoting! اكتشفت للتو وبدأت هنا في stackexchange (أنا أحب ذلك!) وبدأت تعتقد أن التشدق قد حصلت بعيدا جدا. :د
وأضاف المؤلف sebastian, مصدر
لقد قمت بالفعل من خلال بعض التقنيات في الدورة التدريبية باستخدام معادلات 1D ، ولهذا السبب أردت البحث عن أمثلة ثنائية الأبعاد أكثر تقدمًا لمحاولة.
وأضاف المؤلف plaidshirt, مصدر

ساعدني دليل CFD بواسطة Blazek أكثر من أي كتاب آخر. يشرح طرق حجم محدود للغاية. باستخدام هذا الكتاب ، كتبت 2D Euler حلالا و 2D قابلة للضغط Navier - ستوكر حلالا.

كما أقترح أيضًا أن تشاهد مقاطع فيديو محاضرات تشى تشى وانغ . ليس الديناميكا الهوائية بالطبع السوائل لزجة - انتقل لأسفل ، ويجب أن ترى أشرطة الفيديو مع محاضرة 20 ... محاضرة 1. هذه أشرطة الفيديو هي من دورة طرق رقمية في معهد ماساتشوستس للتكنولوجيا. هذا هو المكان الذي تعلمت فيه حقا كيفية كتابة رموز حجم منتهية. وهو يشرح النظرية/كيفية عمل الأساليب ثم يقوم بتطوير الأمثلة في MATLAB حتى تتمكن من المتابعة. يعلم بشكل جيد للغاية ويسهل متابعته.

2
وأضاف

هذا السؤال واسع للغاية. وكما ذكرنا سابقًا ، قد تكون CFD مرتبطة بالصناعة أو قائمة على موضوع بحثي. علاوة على ذلك ، هناك فرق كبير بين مشاكل التدفق والانضغاط غير القابل للضغط. إذا كنت تركز على تدفق الانضغاط ، فإن التعرف على قوانين الحفاظ على المحتوى الزائد هو بداية جيدة. وكما قال جيمس أعلاه ، فإن تنفيذ حل محدود للمجلدات في شبكة ديكاردية بسيطة ثنائية الأبعاد هو خطوة جيدة أخرى.

أوصي كتب مثل:

  • طرق الحجم المحدود للمشكلات الزائدية بواسطة Randall J. LeVeque
  • طرق Galerkin المتقطعة ذات العقدة التي كتبها Jan S. Hesthaven و Tim Warburton

تمتلك كل من Hesthaven و Warburton رموز MATLAB و C ++ لتنفيذ مخططات DG لمعادلات Euler في 1D و 2 D. طرق حجم محدود هي DG مع تقريب ثابت تقريبياً.

1
وأضاف