Openfast: أين تتوفر البيانات أو أي برنامج نصي يقوم بإنشاء البيانات؟

تم إنشاؤها على ١٩ أكتوبر ٢٠٢٠  ·  54تعليقات  ·  مصدر: OpenFAST/openfast

مرحبا بالجميع،
لقد راجعت الوثائق ، ولم أتمكن من معرفة البرنامج النصي الذي ينشئ البيانات؟ على موقع NREL الإلكتروني ، يساعد AirfoilPrep قبل المعالج في إنشاء بيانات لـ Aerodyn على سبيل المثال موجودة في العديد من هذه الحالات. ولكن ما هي الوحدة التي تعمل هنا كمعالج أولي وكيف يمكن تنزيل البيانات أو حتى جلب جميع ملفات hte .dat؟

شكرا جزيلا لك مقدما.

Usage question

ال 54 كومينتر

عزيزي @ ai-aspirant ،

لست متأكدًا من أنني أفهم سؤالك تمامًا ، ولكن NREL طورت العديد من المعالجات المسبقة لـ OpenFAST ، بما في ذلك:

  • AirfoilPrep (لتوليد بيانات الجنيح لاستخدامها في AeroDyn من بيانات ثنائية الأبعاد)
  • TurbSim (لتوليد الرياح المضطربة المحيطة للرياح المتدفقة)
  • IECWind (لتوليد رياح حتمية لـ InflowWind)
  • BModes (لتوليد أشكال الوضع لـ ElastoDyn)
  • إلخ.

من بين هؤلاء ، يتم تضمين TurbSim فقط حاليًا في مستودع OpenFAST على جيثب.

تحياتي الحارة،

عزيزي jjonkman ، شكرًا لك على ردك على هذا.
إذا كنت أرغب في تقديم بيانات إلى نموذج ، فهل سيكون دائمًا بالتنسيق المماثل كما هو مذكور في المثال في الوثائق؟
أو هل سيستغرق الأمر بعض البرامج النصية في مستودع Openfast مما يساعدني في إنشاء بيانات تنسيق مماثلة كمدخل؟
هل أنا أعقل هذه المرة؟

عزيزي @ ai-aspirant ،

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

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

تحياتي الحارة،

شكرا لذلك jjonkman
افهم ذلك. لكن كما ذكرت ، أردت معرفة ملف الخرائط الذي سيساعدني في هذه العملية. هل سيكون مجرد ملف واحد أحتاج إلى تنفيذه؟ أو ملف تنفيذي مع إدخال أساسي مقدم؟ وإذا كان الأمر كذلك ، فهل تظل كما هي لجميع المعالجات المسبقة؟ إذا لم يكن الأمر كذلك ، فيمكنني بعد ذلك أن أطلب منك المساعدة في كل من وحدات ما قبل المعالجة الأخرى.

لذلك، أساساjjonkman والفكرة هي لتنفيذ openfast تماما ومحاكاة ذلك، ولكن أردت فقط أن نفهم شكل ملفات الإدخال بحيث يمكنني التعامل معه وفقا لذلك مع زملائي في الفريق.

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

آسف للأسئلة المستعجلة.

عزيزي @ ai-aspirant ،

لست متأكدًا من أنني أفهم أسئلتك حقًا.

يتطلب تنفيذ محاكاة OpenFAST أن يكون لديك ملف إدخال أساسي (_ *. fst_) ، بالإضافة إلى ملفات إدخال لكل وحدة نمطية (تتطلب بعض الوحدات النمطية ملفات إدخال متعددة). يتم تحديد ملف الإدخال الأساسي فقط عند تنفيذ OpenFAST. يسرد ملف الإدخال الأساسي الوحدات النمطية التي تم تمكينها والأسماء (بما في ذلك المسارات) لملفات الإدخال الخاصة بكل منها. تحدث خطوات المعالجة المسبقة قبل تشغيل محاكاة OpenFAST لإعداد ملفات الإدخال OpenFAST.

يمكن تشغيل OpenFAST إما بشكل مستقل أو متداخل مع Simulink. تكون واجهة Simulink مطلوبة فقط إذا كنت ترغب في تنفيذ منطق التحكم داخل MATLAB / Simulink.

تحياتي الحارة،

مرحبا jjonkman ،
حسنًا ، دعني أكسر الأسئلة. أولاً ، ما يشغلني هو البيانات ، يجب أن تبدو البيانات التي أرغب في إنشائها لوحدة نمطية معينة مشابهة لما يمكنني العثور عليه في الرابط التالي. https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix.html#ad -appendix
إذاً هذا يحتوي على 4 أنواع من البيانات ، يتم استخدام برنامج التشغيل فقط عندما أحتاج إلى تشغيل وحدة قائمة بذاتها ،
الثاني هو ملف الإدخال الأساسي الذي يتكون من عدد قليل من مسارات البيانات التي تحتوي على معلومات حول قيم معينة لطاحونة الرياح ،
ثالثًا ملف الشفرات الذي يخبرني عن هندسة الشفرات وسيختلف من طاحونة هوائية إلى طاحونة هوائية ، أليس كذلك؟
الملف الأخير هو ملف الجنيح الذي يحتوي أيضًا على عدد قليل من المعلمات المتعلقة بهيكل الجنيح مثل زاوية هجوم الجنيح ، والسحب ، والرفع ، إلخ.

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

عزيزي @ ai-aspirant ،

لم تقدم NREL كود المصدر المستند إلى Fortran لإنشاء ملفات إدخال OpenFAST / AeroDyn المختلفة تلقائيًا. يمكنك دائمًا تعديل ملفات الإدخال يدويًا في أي محرر نصوص. بالطبع ، إذا كنت تنوي تشغيل الآلاف من عمليات المحاكاة ، فلن ترغب في إنشاء ملفات الإدخال يدويًا. بدلاً من ذلك ، تريد إنشاء ملفات الإدخال تلقائيًا بنوع من البرامج النصية. هل هناك لغة برمجة نصية معينة تنوي استخدامها ، على سبيل المثال MATLAB أو Python؟ يحتوي صندوق أدوات MATLAB (https://github.com/OpenFAST/matlab-toolbox) على نصوص برمجية يمكنها قراءة وكتابة ملفات إدخال OpenFAST ، على سبيل المثال ، يمكنك قراءة بيانات ملف الإدخال في MATLAB وتغيير القيم داخل MATLAB و اكتب ملف الإدخال الجديد. يمكنك استخدام هذه كأساس لإنشاء البرامج النصية الخاصة بك. ما أفهمه هو وجود نصوص برمجية مماثلة في مربع أدوات Python (https://github.com/OpenFAST/python-toolbox) ، لكنني أقل دراية بالتفاصيل.

تحياتي الحارة،

عزيزي jjonkman ،
هذا مفيد حقًا. أنا أفضل بايثون ، سأبحث فيها. شكرا لك.

أخيرًا ، أردت أن أعرف في نموذج OpenFAST ، بالنسبة لطاحونة الرياح الأرضية ، هل يمكن الجمع بين Aerodyn و Servodyn و Elastodyn معًا بشكل كافٍ؟
يتم تصفية هذا من العلامات المستخدمة في الملف الأساسي كمدخل إلى وحدة OpenFAST.

عزيزي @ ai-aspirant

متابعة إجابة جايسون ، إذا كنت تريد كتابة إنشاء ملفات الإدخال ، فإن إحدى الطرق للقيام بذلك هي الحصول على مجموعة من ملفات الإدخال "النموذجية" من نموذج OpenFAST الحالي. سيقوم البرنامج النصي الخاص بك بقراءة ملفات القوالب هذه ، وتعديل القيم ، وكتابتها للتوربينات والمحاكاة الخاصة بك. في مربع أدوات matlab ، تتم قراءة ملفات الإدخال وكتابتها باستخدام البرنامج النصي FAST2MATLAB و MATLAB2FAST . بالنسبة لمربع أدوات Python ، تحتاج إلى استخدام فرع dev . يتم تقديم أمثلة على قراءة الملفات وكتابتها في الملف التمهيدي:
https://github.com/OpenFAST/python-toolbox/tree/dev/pyFAST/input_output

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

بمجرد إعداد نموذج التوربينات ، وتريد إنشاء الكثير من عمليات المحاكاة ، يمكن أيضًا استخدام نصوص Matlab و Python. لقد قمت بتحميل مثال حول كيفية القيام بذلك باستخدام Python هنا:
https://github.com/ebranlard/python-toolbox/blob/f/example/pyFAST/case_generation/examples/Example_Parametric.py

أتمنى أن يساعد ذلك،

ايمانويل

عزيزي ebranlard ،
سيكون هذا مفيدا جدا. سأذهب من خلال الروابط التي شاركتها وأحاول ترتيب البيانات كما هو مطلوب بواسطة OpenFAST.
شكرا لك.

أيضًا ، عندما تذكر إنشاء نموذج توربيني ، هل تشير إلى دمج كل تلك النماذج المستقلة في OpenFAST أو تخصيص النموذج الأصلي؟

شكرا مرة اخرى.

يعتبر،
كيرستن

عزيزتي كيرستن ،

عادةً ما يكون نموذج التوربينات الهوائية الأرضية OpenFAST مزودًا بوحدات ElastoDyn (للديناميات الهيكلية) و AeroDyn (للديناميكا الهوائية) و ServoDyn (لعناصر التحكم) و InflowWind (لتدفق الرياح المحيطة). غالبًا ما يتم تشغيل AeroDyn أيضًا بشكل مستقل (بدون اقتران مرن هوائي) إذا كنت ترغب في دراسة الأداء الديناميكي الهوائي فقط قبل محاكاة المطاط المؤازر الهوائي المقترن.

تحياتي الحارة،

مرحبا كيرستن ،

أعتقد أن لديك بالفعل بعض "البيانات" حول التوربين الذي تريد تصميمه: على سبيل المثال ، بعض الخصائص الهندسية ، والخصائص الديناميكية الهوائية (توزيع الوتر واللف ، والبيانات القطبية) ، وخصائص المواد / الهيكلية (الكتل ، والصلابة ، والتخميد) لمكونات مختلفة .

بناءً على هذه البيانات ، يمكنك كتابة ملفات الإدخال لـ OpenFAST. سأطلق على هذه المجموعة من ملفات الإدخال "نموذج OpenFAST".
يمكنك العثور على مثال لنموذج OpenFAST لتوربين NREL 5MW الأرضي هنا:
https://github.com/OpenFAST/r-test/tree/master/glue-codes/openfast/5MW_Land_DLL_WTurb

تحتاج إلى معرفة الكثير من البيانات لعمل نموذج OpenFAST كامل. هذا هو السبب في أن Jason يوصي بالبدء ربما بإعداد نموذج "AeroDyn driver" ، حيث تحتاج فقط إلى معرفة الخصائص الديناميكية الهوائية للتوربين الذي تريد تصميمه. ستجد أمثلة في الرابط الذي ذكرته سابقًا:
https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix.html#aerodyn -input-files

يعتبر

كملاحظة ، تم إصلاح تنسيق ملف الإدخال ، ومن المتوقع أن تكون المدخلات برقم سطر معين.

ومع ذلك ، من إصدار مفتوح سريع إلى آخر ، نقوم أحيانًا بإدخال تغييرات على تنسيق الملف (إضافة أو إزالة سطرين) ، لذلك من المهم تتبع إصدار OpenFAST (أو AeroDyn / driver) الذي تستخدمه.

تم توثيق التغييرات بين الإصدارات هنا:
https://openfast.readthedocs.io/en/master/source/user/api_change.html

يحتوي الفرع الرئيسي لمستودع "r-test" الذي أشرت إليه سابقًا على ملفات إدخال تتوافق دائمًا مع الإصدار الحالي من openFAST.

مرحبًا إيمانويل وجونكمان ،
آمل أن تبلي بلاء حسنا. شكرا لك على كل ردودك ، لقد ساعدتني كثيرا. ومع ذلك ، حاولت تنفيذ _5MW_Land_DLL_WTurb_ مع ثنائيات OpenFAST والملفات التنفيذية. أثناء تنفيذه ، حصلت على النتيجة التالية:
image

يتم وضع الثنائيات في المسار حيث توجد الملفات التنفيذية الخاصة بي. ما زلت أتلقى هذه الرسالة. لذا ، كنت أتساءل عما إذا كانت هذه مجرد رسالة عادية أم أنها نفذت بالفعل بدون هذه الوحدات؟
اسمحوا لي أن أعرف إذا كنت بحاجة إلى مزيد من التفاصيل لمختلف الدلائل.

أنا أيضا تصورته باستخدام

أردت أيضًا أن أسأل عما إذا كان هناك مقال يمكنه فهم الحد المثالي لكل متغير يتم توفيره في إخراج FAST. على سبيل المثال ، إذا اعتبرت Wind1VelX يتراوح بين 1.162E + 01 إلى 9.975E + 01 ، فهل هناك حد لهذا المتغير الذي سيساعدني في فهم ما إذا كان يتجاوز أي حد مثل الانحراف؟

شكرا لك.

تحياتي الحارة،
كيرستن

مرحبا كريستين ،

فيما يتعلق بتحذيرات "المخرجات العقدية" ، لن تؤثر هذه التحذيرات على نتائج المحاكاة ؛ يمكنك تجاهل التحذيرات. سألت @ andrew-platt عن هؤلاء ، وإليكم رده:

سوف أقوم بتغييرها إلى معلومات بدلاً من التحذير.

عندما أضفنا المخرجات المستندة إلى العقدة ، احتفظنا بملفات الإدخال لكل وحدة متوافقة مع الإصدارات السابقة. مخرجات العقدة هي قسم الإخراج الثاني بعد قسم الإخراج القياسي. لذا فإن التحذير / المعلومات هو فقط للسماح للمستخدم بمعرفة أن هذا القسم من ملف الإدخال غير موجود وأنهم لن يحصلوا على مخرجات قائمة على العقدة. تمت إضافة هذا إلى ElastoDyn (عقد النصل فقط) و BeamDyn و AD15 ، لذلك قد تقوم الوحدات الثلاث بالإبلاغ عن هذه المعلومات عند التهيئة.

فيما يتعلق بالتحذيرات "C_nalpha تساوي 0" ، يمكنك تجاهلها أيضًا. نموذج الديناميكا الهوائية غير المستقر لجناح AeroDyn غير صالح عندما يكون ميل منحنى معامل القوة العادي صفرًا.

لست على علم بورقة تلخص الحدود المعقولة أو المادية لمخرجات FAST المختلفة .؛ هذه سوف تأتي فقط مع الخبرة. لكن نطاق سرعة الرياح من 11.62 إلى 99.75 م / ث يبدو متطرفًا بالفعل.

تحياتي الحارة،

مرحبًا jjonkman ،
مفهوم. لذلك في حالة عدم إنشاء المخرجات العقدية ، سيكون الناتج القياسي كافياً على ما أعتقد.
شيء آخر صادفته هو أنه بينما كنت _5MW_Land_DLL_WTurb.out_ الذي تم إنشاؤه ، كان يتألف فقط من معلمات الإخراج لوحدات InFlowWind و ElastoDyn النمطية. ألا يتضمن معلمات الإخراج من Aerodyn و ServoDyn مثل تلك المذكورة في دليل مستخدم FAST في قسم _Output Files_؟
أردت أيضًا أن أفهم معلمة الإخراج الزمنية التي تتراوح من 0 إلى 60 في ملف الإخراج المماثل الذي ذكرته سابقًا ، هل يشير ذلك إلى نطاق سلسلة زمنية؟

شكرا.
يعتبر،
كيرستن

مرحبا كريستين ،

سيتضمن ملف الإخراج OpenFAST أيًا من مخرجات مستوى الوحدة التي حددتها. إذا كنت لا تحصل على أي مخرجات من ServoDyn و AeroDyn ، فذلك لأنك لم تقم بتعيين مخرجات في ملفات الإدخال ServoDyn و AeroDyn.

OpenFAST هو حل غير خطي للمجال الزمني ، لذلك ، الناتج هو استجابة توربينات الرياح كدالة للوقت.

تحياتي الحارة،

مرحبا جايسون ،
فهمتك. لقد قمت للتو بتضمين قائمة من المعلمات وعملت لكلتا الوحدتين. شكرا.
الشيء الآخر الذي كنت أواجه صعوبة في فهمه هو أنه في ملف الإخراج الخاص بي ، يتم إنشاء معلمة 'Wind1VelX' وهي مكون X للرياح عند نقطة الرياح المحددة بواسطة المستخدم 1 نظرًا لأن عدد النقاط المحدد هو 1.
ولكن في حال احتجت إلى فهم مكان هذه النقطة بالضبط من أجل فهم أفضل ، هل لديك أي فكرة أين يمكنني العثور عليها؟ أم أنه سيأتي عندما أتعلم عن طواحين الهواء بتفصيل كبير؟

بفضل فيما يتعلق،
كيرستن

مرحبا جايسون،
فقط لإضافة النقطة السابقة أردت التحقق من ما هي بالضبط ملفات التصور التي تعطي فكرة عن؟ هل هو رسم متحرك يوضح كيف تساعد قيم السرعة في تشغيل طاحونة هوائية أو أي شيء آخر؟ أردت معرفة ذلك حتى أفهم ما الذي سأبحث عنه بالضبط في Paraview ، حيث بدت القيم التي حصلت عليها داخل ملف Blade1referene.vlt كما يلي:

image
إذن ، هل يشير هذا إلى الهيكل والسرعات المختلفة التي توفرها الوحدات النمطية الخاصة بي كناتج أو بعض الحسابات الخارجية؟

يعتبر،
كيرستن

عزيزتي كريستين ،

يتم تحديد موقع (مواقع) مخرجات الرياح المحيطة من InflowWind (Wind1VelX ، وما إلى ذلك) من خلال معلمات الإدخال WindVxiList و WindVyiList و WindVziList في ملف إدخال InflowWind. تم وصف وحدة InflowWind جيدًا في دليل مستخدم InflowWind ، والذي لم يتم نقله إلى محرر OpenFAST للقراءة ، ولكنه متاح هنا: https://drive.google.com/file/d/1-yJox2Kj-eBHfX2FdjE7RCaOkXRml9Mw/view؟ = مشاركة.

يمكن استخدام وظيفة التصور لـ OpenFAST لتصور الحالة غير المنحرفة أو الرسوم المتحركة المتسلسلة الزمنية لاستجابة التوربين (في حالتها المنحرفة) إما بتنسيق شكل عصا أو تصور سطح كامل. يمكنك أيضًا تصور مجالات مختلفة مثل الحركات والأحمال. تم توثيق وظيفة التمثيل المرئي لـ OpenFAST في ملف FAST v8 التمهيدي القديم ، والذي لم يتم نقله بعد إلى محرر OpenFAST readthedocs ، ولكنه متاح هنا: https://drive.google.com/file/d/17LDwMnCVmLfbRWSaVFxxqphVrtawMwlj/view؟usp= مشاركة.

تحياتي الحارة،

مرحبا جايسون،
نشكرك على المساعدة في هذا الفهم الرائع لكل هذا. هل يمكنك مساعدتي في فهم النقاط التي يتم أخذها في الاعتبار في وحدات مختلفة لحساب السرعة والأحمال أيضًا؟ بينما كنت أقوم بالاطلاع على الوثائق ، لم أجد سوى درجة الحرية.
أيضًا ، في OutListParameters.xlsx ، في علامة التبويب العقد ، يتم ذكره في كل عقدة. ولكن ما هي جميع العقد التي يجب أخذها في الاعتبار هل تم ذكرها في مكان ما أم ستكون في قائمة VxiList المتوفرة؟

يعتبر،
كيرستن

مرحبا كريستين ،

أنا آسف ، لكنني لست متأكدًا حقًا من أنني فهمت أسئلتك. ما هي ورقة عمل "العقد" التي تشير إليها؟ هل تشير إلى "AeroDyn_Nodes" أو "ElastoDyn_Nodes" أو أي شيء آخر؟ تشير هذه العقد إلى عقد الإخراج المختلفة للوحدة المقابلة. على سبيل المثال ، تعتبر عُقد الإخراج AeroDyn في الشفرات والبرج مجموعة فرعية يختارها المستخدم من عقد التحليل الديناميكي الهوائي ، كما هو موثق في وثائق AeroDyn - راجع: https://openfast.readthedocs.io/en/master/source/ user / aerodyn / appendix.html # aerodyn -list-of-output-channels.

تحياتي الحارة،

عزيزي جايسون ،

فهل كل وحدة لها عقد مختلفة؟

أردت أن أسأل عن ورقة عمل "العقد" لكل وحدة استخدمناها ، مثل AeroDyn و ServoDyn و ElastoDyn.
بالنظر إلى ، AeroDyn في البداية ، تحتوي ورقة AeroDyn على معلمة إخراج B1N1VUndx والتي تخبر سرعة الرياح للشفرة 1 والعقدة 1.
بالنسبة للأبراج ، ستكون دائمًا بين Tower Node 1 و Tower Node n وسيتم توفير إحداثياتها كمدخلات كما هو موضح في https://openfast.readthedocs.io/en/master/source/user /aerodyn/input.html#ad -tower-geom
وبالمثل ، بالنسبة لأرقام العقد الموجودة على الشفرة ، ستكون على خط الحبل المحلي للنصل بدءًا من الطرف t إلى قاعدة الشفرة كما هو موضح في https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix .html # aerodyn -list-of-output-channels

آسف على كل الأسئلة الساذجة ، لكن هل هذا صحيح؟

يعتبر،
كيرستن

عزيزتي كريستين ،

نعم هذا صحيح.

يحتوي ElastoDyn أيضًا على عقد التحليل والإخراج.

تحياتي الحارة،

مرحبا جايسون ،
بالتأكيد. سانظر بداخلها.
هل يمكنني محاكاة Power Curve باستخدام ServoDyn؟
جئت عبر معلمة الطاقة الكهربائية المولدة من ذلك. هل هذا هو نفسه؟

يعتبر،
كيرستن

عزيزتي كريستين ،

من خلال "منحنى الطاقة" ، أفترض أنك تقصد القوة كدالة لسرعة الرياح. سيعتمد هذا بالطبع على التحكم ، لكن لا يمكن حسابه بواسطة ServoDyn مباشرة. تحتاج إلى نمذجة الديناميكا الهوائية. إذا كنت تعرف بالفعل سرعة الدوار وزاوية الميل عند كل سرعة رياح ، فيمكنك استخدام برنامج تشغيل AeroDyn المستقل لحساب الطاقة الديناميكية الهوائية لكل حالة. إذا كنت لا تعرف ذلك ، ولكن لديك جهاز تحكم ، أو ما يجب تضمينه في المرونة الهيكلية ، يمكنك تشغيل محاكاة OpenFAST إما بشكل منفصل لكل سرعة رياح أو بسرعة رياح موحدة ولكن متدرجة.

تحياتي الحارة،

مرحبا عزيزي جايسون ،
منحنى الطاقة أعني طاقة الخرج المولدة كدالة لسرعة الرياح ومعاملات الطاقة وما إلى ذلك.
هل ستكون مشابهة للقوة الديناميكية الهوائية؟ منذ ذلك الحين ، فإن الصيغة الأساسية التي أعرفها هي
1/2*(Air Density* Max Power coefficient *wind speed^3*swept rotor area)

يعتبر،
كيرستن

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

تحياتي الحارة،

مرحبا جايسون ،
لحساب الطاقة الأيروديناميكية المماثل ، صادفت هذا الرابط https://openfast.readthedocs.io/en/master/source/user/aerodyn-aeroacoustics/03-model-verification.html؟#reference -wind-turbine
بناءً على ذلك ، فإن البيانات التي سأحتاج إلى تقديمها ستكون كفاءة القيادة والمولد. هل لدينا أي بيانات لاستخدامها كمدخلات لحساب الطاقة هذا؟
أعتقد أن AeroAcoustics.f90 قد يساعد في ذلك ، إذا لم أكن مخطئًا.

يعتبر

مرحبًا @ ai-aspirant ،

توضح الوثائق التي تشير إليها مثالاً واحدًا - توربينات الرياح المرجعية الأرضية لمهمة الرياح 37 لوكالة الطاقة الدولية - بكفاءة مولد تبلغ 93.6٪. يوفر توربينات الرياح الأساسية NREL 5-MW مثالًا آخر ، بكفاءة مولد تبلغ 94.4٪. إذا لم يكن لديك كفاءة مولد معينة في الاعتبار ، فيمكنك افتراض وجود واحد في هذا النطاق.

تحياتي الحارة،

مرحبا جايسون ،
حق. لذلك أعتقد أن معلمة الإخراج RtAeroPwr ستعرض الطاقة الأيروديناميكية المولدة.

يعتبر،

صيح.

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

شكرا لكم مقدما.

يعتبر،
كيرستن

مرحبا كريستين ،

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

تحياتي الحارة،

مرحبا جايسون،
لذلك كنت أحاول فهم الملفات عندما صادفت AoA (زاوية الهجوم) لتكون بين النطاق من 180 إلى -180. هل هناك سبب في ملفات معينة أثناء تنفيذ AeroDyn تختلف زاوية الهجوم باختلاف الجنيحات؟

image
في الصورة أعلاه ، كما ترون ، يمكن أن تختلف قيم الجنيح بدءًا من ملف cylinder1.dat الذي يشير إلى الجزء الأيسر من الصورة ، وبالتالي يتم استخدام ملفات انسيابية مختلفة وفقًا لكل القيم وبناءً على هذه القيم ، فإن العقد الخاصة بي هي تحديد الحق؟

بناءً على ذلك ، هل هناك أي حد أدنى من الجنيحات التي يجب أخذها في الاعتبار في OpenFAST أكبر من 1 المقترح أو يجب أن يعمل 1؟ ماذا تقترح يا جايسون؟

الصورة الموضحة أعلاه هي للإشارة فقط.

يعتبر،
كيرستن

عزيزتي كريستين ،

يجب توفير بيانات الجنيح (الرفع ، المسودة ، اللحظة مقابل AoA) للنطاق الكامل 360 درجة (-180 إلى 180 درجة) من AoA لأن AoA الفعلي يتم تحديده في وقت التشغيل ويمكن أن يتغير من خطوة إلى أخرى.

يجب أن تعتمد بيانات الجنيح على شكل الجنيح ، كما أشرت. يمكن أن يعتمد أيضًا على الزيادة الدورانية (التأثيرات ثلاثية الأبعاد) ، إذا كنت تقوم بتطبيقها على بيانات الجنيح.

نوصي عادةً بترتيب 20 عقدة تحليل ديناميكي هوائي على طول الشفرة. ما إذا كان هذا يتطلب بعض جداول الجنيح (مع تطبيق كل جدول على عدة عقد) أو العديد من جداول الجنيح (جدول فريد لكل عقدة) يعتمد على التباين في شكل الجنيح على طول النصل ، وأهمية الزيادة الدورانية ، والدقة المطلوبة من المحلول.

تحياتي الحارة،

عزيزي جايسون ،
تمام. هذا يبدو رائعا.
شيء واحد أردت أن أفهمه هو هل هناك أي أجهزة استشعار لحساب قوة السحب أو قوة الرفع حتى أتمكن من حساب معاملاتها؟

شيء آخر أردت الإشارة إليه هو أنني كنت أحاول تقليل عدد العقد ، لذا أزلت بضعة صفوف من ملف "Test01_UAE_AeroDyn_blade.dat" ، وغيرت عدد NumBlNds إلى 15 وقللت عدد معلمة NumAFFiles من 10 إلى 5 ، وغيرت معلمات BlOutNd إلى 1 ، 3. ومع ذلك ، فإنني أحصل على الجلب الظاهر أدناه خطأ يقول "حدث أثناء محاولة قراءة BlOutNd."
هل يجب علي تغيير المزيد من الأعلام؟

image

شكرًا لك مرة أخرى على كل المساعدة للجميع ولك أيضًا jjonkman وآسف لكل المتاعب.

يعتبر،
كيرستن

عزيزتي كريستين ،

آسف ، لكنني لا أفهم حقًا سؤالك الأول.

فيما يتعلق بالسؤال الثاني ، لديك عقدتان تم تعيينهما لـ BlOutNd. هل هذا يعني أنك قمت بتعيين NBlOuts = 2؟ بخلاف ذلك ، كما هو الحال مع أي خطأ في معالجة ملف الإدخال ، قم بتمكين خيار Echo لتصحيح الأخطاء في تنسيق ملف الإدخال.

تحياتي الحارة،

مرحبا جايسون ،

كان السؤال الأول حول كيفية حساب معاملات السحب والرفع؟
نظرًا لأن Drag Force التالية هي الصيغة:
image

وفقًا لأي من ملفات dat المستخدمة ، لدينا مزيج من زاوية AoA ومعامل السحب ومعامل الرفع و Cm.
أردت معرفة ما إذا كانت المعاملات محسوبة باستخدام الصيغة أعلاه أم أنها ستكون من جهاز استشعار لأن البيانات التي أقوم بتحميلها لاستخدام OpenFAST لا تحتوي على أي قيم Cd أو Cl أو Cm.

شكرا لك.
يعتبر،
كيرستن

عزيزتي كريستين ،

أتفق مع صيغتك وأضيف أن C_D ستعتمد عادةً على AoA (وربما Re). تنطبق نفس المعادلة على قوة الرفع (F_L) ، باستخدام C_L. عادة يتم اشتقاق C_D و C_L كدالة لـ AoA (وربما Re) لجنيح معين يعتمد على نفق الرياح أو الحلول الحسابية. ثم يتم تمديدها إلى النطاق الكامل 360 درجة وتصحيحها لزيادة الدوران قبل إدخالها في AeroDyn للتطبيق ضمن حساب مرن لتوربينات الرياح.

تحياتي الحارة،

مرحبًا جايسون ،

لم أتمكن من الحصول على كيفية توفير قيم معامل السحب أو الرفع كمدخل. أعني ، هل هناك مستشعر إضافي مثل مقياس شدة الريح لسرعة الرياح أو ريشة الرياح لاتجاه الرياح ، وبالمثل بالنسبة لمعامل السحب لدينا أيضًا أو هل تم حسابها بناءً على صيغة معينة.
الصيغة الوحيدة التي يمكن أن أجدها هي:
معامل السحب (Cd) يساوي كثافة الهواء (r) مضروبة في نصف مربع السرعة (V) مضروبة في مساحة الجناح (A).

لم أكن متأكدًا مما إذا كان هذا سيساعدني في إنشاء قيم معامل مختلفة يتم توفيرها كمدخلات لـ AeroDyn. هل تقوم OpenFAST بحساب أي من هذه المعاملات؟ هل يمكنك مساعدتي في الصيغة ، من فضلك؟

يعتبر،
كيرستن

مرحبا كريستين ،

كما قلت من قبل ، يُشتق مُعامل السحب عادةً كدالة لـ AoA (وربما Re) لجناح معين بناءً على نفق الرياح أو الحلول الحسابية. بالنسبة للجنيحات الرقيقة ، يمكن استخدام الأدوات الهندسية مثل XFoil أو RFoil (لم يتم تطويرها بواسطة NREL) لحساب السحب (والرفع) حتى نقطة التوقف.

السحب هو إدخال إلى AeroDyn / OpenFAST ، ولم يتم حسابه بشكل مباشر. لم تقم NREL بتطوير أدوات هندسية لدعم حساب معاملات السحب.

تحياتي الحارة،

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

أردت فقط فهم ما هي المدخلات بالضبط ، دعنا نأخذ في الاعتبار الطاقة الديناميكية الهوائية للدوار (RtAeroPwr) ، تتكون المعادلة من الحمل الديناميكي الهوائي في الاتجاه x ، ما هي باقي المعلمات مثل BEMT_u؟
هل لدى OpenFAST أي توثيق لهذه المعادلات؟

شكرا،
كيرستن

مرحبا كريستين ،

المتغير m٪ BEMT_u (indx)٪ أوميغا هو سرعة الدوار. إنه إدخال (u) إلى وحدة BEMT الفرعية لـ AeroDyn كما تم تعيينه داخل وحدة AeroDyn ، وهو أيضًا متغير متنوع (MiscVar، m) من AeroDyn. تتضمن التعليمات البرمجية المصدر الكثير من التوثيق ، ولكن الأمر يتطلب معرفة Fortran وإطار عمل وحدات FAST لتفسيرها. تم تعريف هذا المتغير في BEMT_Registry.txt (مدخلات omega) و AeroDyn_Registry.txt (MiscVar BEMT_u).

تحياتي الحارة،

مرحبا جايسون،

لذلك أعتقد أن هذه هي قيم الصفيف ، سرعة الدوار (السرعة الزاوية للدوار) ، والحمل الديناميكي الهوائي للدوار في الاتجاه x.
أيضًا ، هل يحتوي OpenFAST على أي توثيق لبقية المعادلات التي ذكرتها سابقًا منذ أن كنت أتصفح البرامج النصية لم أجد

ومن هنا توثيق باقي المعادلات المشتركة في الصورة أعلاه في العدد الأخير.

يعتبر،
كيرستن

مرحبًا jjonkman ،
أردت أن أضيف إلى مشكلتك ، @ ai-aspirant ، وأسأل بالضبط ما هو متغير خرج الطاقة الخاص بي من OpenFAST لمطحنة الرياح بأكملها؟ بالنظر إلى المعلمة GenPwr ، كيف تختلف في نطاق 3.6mW - 5mW؟ أعني بقدر ما أفهمه ، فإنه يتبع تنسيق Power Curve. سرعة القطع (تستمر الطاقة في الزيادة) ، والسرعة المقدرة (تظل الطاقة ثابتة) ، وسرعة القطع (تنخفض الطاقة إلى الصفر).

يعتبر،
ميهير

عزيزتي كريستين - ما نوع التوثيق الذي تسأل عنه؟ هل تحاول فهم المعادلات نفسها (آمل أن تكون هذه تشرح نفسها بنفسها لهذه المخرجات) ، أو التوثيق على إطار العمل المعياري FAST؟

عزيزي ميهير - ناتج GenPwr من ServoDyn هو خرج الطاقة الكهربائية (يتم تحديده بواسطة المولد و / أو جهاز التحكم ، بما في ذلك فقد الكفاءة الكهربائية). فيما يتعلق باختلافه ، يمكن أن يختلف خرج الطاقة كثيرًا عندما يعمل التوربين بتدفق مضطرب أو هبوب. يمثل منحنى القوة متوسط ​​أو سلوك الحالة المستقرة.

تحياتي الحارة،

مرحبا جايسون،
حسنًا ، أردت فقط أن أفهم المدخلات فيه. مثل هل هذه محسوبة أو مقدمة كمدخلات مباشرة. إذاً ، بالنظر إلى القوة الديناميكية الهوائية ، وسرعة الدوار ، ولحظة الحمل الديناميكي الهوائي على الاتجاه x ، فهل هناك نوع من المدخلات يتم توفيرها مثل المصفوفة أو مجرد عدد صحيح؟ لأنني استطعت أن أفهم أنها قيمة عدد صحيح واحد.
سؤال آخر هو أن هذه المدخلات يتم تقديمها كمدخلات أو محسوبة مع معادلة أخرى ، وإذا كان الأمر كذلك ، فما هي المعلمات التي تعتمد عليها والتي يجب أن أغيرها بحيث يكون مخرجاتي النهائية والتي في هذه الحالة ، الطاقة الديناميكية الهوائية (RtAeroPwr) تبعا لذلك.

شكرا لك،
يعتبر،
كيرستن

عزيزتي كيرستن ،

في المعادلات أعلاه ، تمت الإشارة إلى المدخلات على مستوى الوحدة النمطية على أنها u ، والحالات المستمرة مُشار إليها على أنها x ، والمخرجات مُشار إليها على أنها y ، والمعلمات على أنها p ، والمتغيرات المتنوعة مُشار إليها على أنها m. يتم تعريف هذه الأنواع من المتغيرات في كتيب NWTC Programmer: https://drive.google.com/file/d/1bDV1fBkiZUWs6Tkzb6nhCMUQvHpN_OtM/view؟usp=sharing. المدخلات على مستوى الوحدة النمطية ، على وجه التحديد ، هي مدخلات إلى وحدة كما تم حسابها بواسطة وحدة نمطية أخرى داخل OpenFAST (بدلاً من معلمات الإدخال التي يحددها المستخدم). في وضع برنامج التشغيل المستقل (غير المنفصل عن OpenFAST) ، يتم تحديد المدخلات بواسطة رمز برنامج التشغيل المستقل. في روتين CalcOutput ، يتم توفير المدخلات في وقت المحاكاة الحالي. في روتين UpdateStates ، يتم توفير المدخلات كمصفوفة عبر نطاق من المرات بحيث يمكن للوحدة الوصول إلى المدخلات في أي نقطة زمنية ضمن الفاصل الزمني الذي يتم فيه تكامل الوقت عبر (عبر الاستيفاء). يتوفر مزيد من المعلومات في كتيب NWTC Programmer.

تحياتي الحارة،

عزيزي جايسون ،
شكرا على تلك المعلومات. بناءً على ما ذكرته ، فإن المعلمات المستخدمة في حساب RtAeroPwr كلها متغيرات متنوعة. لذا اعتبرهم متغيرات إخراج لكل من Aerodyn Ie RtSpeed ​​و RtAeroMxh.
الآن عندما قمت بضربهما مباشرة ، فإنه لا يشبه ما يقدمه RtAeroPwr كإخراج في ملف .out.
كل القيم مختلفة.
هل من المحتم أن يحدث؟ هل يجب أن أدرج أي معلمة أخرى أثناء حسابها على هذا النحو؟

يعتبر،
كيرستن

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

يعتبر،
ميهير

عزيزي كيرستن - يمكن اعتبار المتغيرات المتنوعة متغيرات محلية يتم تخزينها في أنواع إطارات العمل لتحقيق مكاسب في الكفاءة الحسابية. يمكن أن تكون وظائف للمدخلات أو المخرجات أو الحالات أو المعلمات. يجب أن يكون منتج RtSpeed ​​و RtAeroMxh مساويًا لـ RtAeroPwr إذا كانت الوحدات مناسبة (يجب أن تكون سرعة RtSpeed ​​في rad / s وليس rpm).

عزيزي ميهير - يمكن لبرنامج OpenFAST القيام بأكثر من ذلك بكثير ، ولكن بالطبع يمكن استخدامه لحساب منحنى الطاقة. تمت مناقشة هذا الموضوع في منتدانا: https://wind.nrel.gov/forum/wind. أقترح البحث هناك عن التوجيه.

تحياتي الحارة،

عزيزي جايسون ،
نعم ، لقد قمت بتحويله من rpm إلى rad / s ، لا يزال يختلف قليلاً وليس كثيرًا. ساعد ذلك بفضل.
لدي بعض الأسئلة الأخرى أيضًا ، سأحاول تلخيصها.

  1. وفقًا لما فهمته بمساعدتك ، ترتبط AeroDynamic Power بسرعة الدوار والحمل الأيروديناميكي في اتجاه x (يُطلق عليه أيضًا اسم Rotor Torque حيث كنت أتصفح المنتدى الذي ذكرته). على أساس هذا ، فإن المتغيرين اللذين ذكرتهما كمدخلات هما في الواقع مخرجات وحدة AeroDyn ، لكنني أردت معرفة المدخلات المرتبطة بهذه المعلمات (RtSpeed ​​و Rotor Torque). لم أتمكن من العثور على الاتصال أو حتى المعادلة المتعلقة بالمدخلات المرتبطة بمتغيرات المعادلة هنا. لقد جئت للتو إلى روتين _AD_CalcOutput_ الفرعي ولكن لا توجد اتصالات أخرى. لذلك أردت فقط معرفة الروابط بين نفس الشيء.

  2. لقد تعرفت على التغيير في خرج الطاقة المولدة بالكهرباء وكذلك من المنتدى ، مثل GenPwr ، هل لدينا أي مدخلات تعتمد على ذلك بالإضافة إلى ما يشبه الأسئلة السابقة؟ نظرًا لأن الصيغة التي صادفتها هي GenPwr = 0.001*y%ElecPwr

  3. شيء آخر كنت أحاول فهمه ولكن كان لدي صعوبة في كيفية تهيئة وظائف الوقت. أعني من 0 إلى 60 وظيفة زمنية بها 168 وظيفة لكل مرة ؛ أساس أنني لم أكن متأكدًا من كيفية تغيير المتغيرات ، فهل هذا بسبب مواضع جميع الشفرات أو تم تغيير متغير معين بحيث تنحرف بقية المعلمة وفقًا لذلك أم أنها مرتبطة بشيء ما؟

  4. هل يدعم OpenFAST ويوفر محاكاة لفهم الأعطال في المكونات المختلفة مثل صندوق التروس والشفرات والدوار وما إلى ذلك؟

  5. بأي فرصة ، هل يدعم OpenFAST إعادة إنشاء متغير معين في حالة عدم وجود بيانات عن ذلك؟

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

يعتبر،
كيرستن

عزيزتي كريستين ،

ها هي إجاباتي على _بعض_ أسئلتك ؛

  1. من المهم التمييز بين المدخلات والمخرجات على مستوى الوحدة النمطية (المتعلقة بكيفية تفاعل الوحدات النمطية مع بعضها البعض في OpenFAST ، والمعروف أيضًا باسم u و y في وثائق إطار العمل المعياري وكود المصدر) والمدخلات المحددة من قبل المستخدم والمخرجات التي يختارها المستخدم ( معلمات الإدخال التي يحددها المستخدم في ملف الإدخال وما هو مكتوب في ملف الإخراج). سرعة الدوار هي إدخال على مستوى الوحدة إلى AeroDyn (بمعنى أنه يتم حسابه بواسطة وحدة نمطية مختلفة (ElastoDyn) أو يتم تعيينها بواسطة السائق) ومن الممكن أيضًا تضمين سرعة الدوار في ملف الإخراج. يتم حساب عزم الدوران داخل AeroDyn ويمكن كتابته في ملف الإخراج.

  2. يتم حساب الطاقة الكهربائية بواسطة وحدة ServoDyn ، بناءً على التحكم في عزم الدوران أو نموذج المولد الذي تم تحديده. المعادلة التي تذكرها هي مجرد تحويل من واط إلى كيلو واط.

  3. أنا لا أفهم سؤالك.

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

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

تحياتي الحارة،

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات