Openfast: تحتاج إلى برنامج نصي للتحويل من FAST v8.16 إلى OpenFAST v1.0 Input Files

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

تاريخياً ، دعمت NREL صندوق أدوات MATLAB (https://github.com/OpenFAST/matlab-toolbox) الذي يمكن استخدامه لتحويل ملفات إدخال FAST من إصدار إلى آخر لمساعدة المستخدمين في ترقية نماذجهم عند ترقية إصدارات FAST. ومع ذلك ، لم يتم تحديث مربع الأدوات هذا بعد (أو تم توفير نص برمجي مكافئ في مكانه) لدعم تحويل ملفات الإدخال من FAST v8.16 إلى تنسيق OpenFAST v1.0. لا يختلف تنسيق OpenFAST v1.0 كثيرًا عن تنسيق FAST v8.16 (بدون تغيير طفيف واحد فقط لملف الإدخال الأساسي FAST والعديد من الإضافات إلى ملف الإدخال الأساسي AeroDyn) ، ولكن هذه الاختلافات ستزداد بمرور الوقت ، لذلك ، يجب تحديث البرنامج النصي باستمرار مع OpenFAST.

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

Help wanted Enhancement

ال 12 كومينتر

أهلا
أنا جديد تمامًا على OpenFAST.
لقد قمت بتنزيل الكود المصدري وقمت بتجميعه على windows باستخدام استوديو متوازي واستوديو مرئي. لقد اتبعت الأساليب والأسئلة المطروحة هنا وهناك وتمكنت من الحصول على وظيفة S ولدي هذه الملفات الآن ويمكنني تشغيل S-Function في ملفات الاختبار بنجاح.
النموذج الذي أعمل عليه هو نموذج Simulink يعمل مع FAST (v8.16.00a-bjj ، 27-Jul-2016). لقد قرأت هذا الموضوع وحاولت العمل باستخدام أدوات التحويل المختلفة دون نجاح. كنت أتمنى أن ترشدني بشكل أفضل حول كيفية متابعة التحويل ، من فضلك؟

مرحبا arminzaribaf ،

bjonkman حمّل تحديثًا

بغض النظر ، فإن ملف الإدخال يتغير مع كل إصدار من OpenFAST (بدءًا من FAST v8.16) موثق جيدًا هنا: https://openfast.readthedocs.io/en/master/source/user/api_change.html.

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

arminzaribaf ، يجب أن تكون قادرًا على استخدام https://github.com/OpenFAST/matlab-toolbox/blob/master/ConvertFASTversions/ConvertFAST8_16to17.m للتحويل من FAST 8.16 إلى الإصدار الحالي (الرئيسي؟) من OpenFAST.

إذا كنت تريد التحويل إلى أحدث إصدار مطور من OpenFAST ، فإنني أوصي باستخدام الملفات الموجودة في مفترقتي: https://github.com/bjonkman/matlab-toolbox/blob/master/ConvertFASTversions/ConvertFAST8_16to17.m

عندما أقوم بتحديث ملفات الإدخال r-test لإصدار جديد من OpenFAST ، أقوم بتشغيل هذا البرنامج النصي الذي يستدعي البرنامج النصي ConvertFAST8_16to17.m : https://github.com/OpenFAST/r-test/blob/master/updateInputFiles .m

أشكركم على الاستجابة السريعة حقًا :-)

jjonkman شكرًا على هذا الرابط ، لقد مررت بالوثائق عدة مرات ، وفي كل مرة أتعلم شيئًا جديدًا.

bjonkman نظرًا لأنني أستخدم أحدث إصدار من dev ، فقد استخدمت fork الخاص بك وقمت بالتحويل بنجاح (؟) بعد بعض التجارب والخطأ ، أعتقد أن هذه هي النتيجة التي أحصل عليها وأحصل على بعض التحذيرات التي قد تؤثر على التالي خطوة:
تحذير: لم يتم العثور على ExctnMod في بنية البيانات عالية الدقة. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ HydroDyn.dat) بدلاً من ذلك:
1

تحذير: لم يتم العثور على BldGagNd في بنية بيانات FAST. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ ElastoDyn_Primary.dat) بدلاً من ذلك:
2 3

GetFASTPar :: Parameter RefHt_Uni غير موجود.
لم يتم العثور على المعلمة RefHt_Uni ؛ إضافته إلى بنية البيانات.
لم يتم العثور على المعلمة RefHt_Hawc ؛ إضافته إلى بنية البيانات.
لم يتم العثور على المعلمة PLExp_Hawc ؛ إضافته إلى بنية البيانات.
لم يتم العثور على المعلمة Filename_BTS ؛ إضافته إلى بنية البيانات.
تحذير: لم يتم العثور على PropagationDir في بنية بيانات FAST. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ InflowWind.dat) بدلاً من ذلك:
0

تحذير: لم يتم العثور على VFlowAng في بنية بيانات FAST. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ InflowWind.dat) بدلاً من ذلك:
0

تحذير: تكرارات متعددة لـ RefHt في بنية البيانات السريعة.
تحذير: تكرارات متعددة لـ PLExp في بنية البيانات السريعة.
تحذير: تكرارات متعددة لـ FileName في بنية البيانات السريعة.
تحذير: لم يتم العثور على InitPosition (x) في بنية البيانات FAST. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ InflowWind.dat) بدلاً من ذلك:
0

تحذير: لم يتم العثور على CalcSteady في بنية بيانات FAST. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ OpenFAST.fst) بدلاً من ذلك:
خاطئة
تحذير: TrimCase غير موجود في بنية بيانات FAST. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ OpenFAST.fst) بدلاً من ذلك:
3

تحذير: لم يتم العثور على TrimTol في بنية البيانات السريعة. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ OpenFAST.fst) بدلاً من ذلك:
1.0000e-03

تحذير: لم يتم العثور على TrimGain في بنية بيانات FAST. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ OpenFAST.fst) بدلاً من ذلك:
0.0100

تحذير: لم يتم العثور على Twr_Kdmp في بنية البيانات السريعة. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ OpenFAST.fst) بدلاً من ذلك:
0

تحذير: لم يتم العثور على Bld_Kdmp في بنية بيانات FAST. سيتم استخدام القيمة الافتراضية المدرجة أدناه (من ملف القالب ، .. \ matlab \ TemplateFiles \ OpenFAST.fst) بدلاً من ذلك:
0

تم إنشاء 5 ملفات في الدليل الجديد (fst ، و ED ، و Hydro ، و Inflow ، و Servo.) استبدلت هذه بالملفات الموجودة في الدليل الرئيسي وأحصل على هذا الخطأ في المحاكاة:
OpenFAST-v2.4.0-dirty
تجميع المعلومات:

  • المترجم: Intel (R) Fortran Compiler 1910
  • العمارة: 64 بت
  • الدقة: مفرد
  • التاريخ: 06 نوفمبر 2020
  • الوقت: 13:21:51
    معلومات التنفيذ:
  • التاريخ: 12/10/2020
  • الوقت: 20: 17: 50 + 0100

تشغيل ElastoDyn.
لم يتم العثور على قسم المخرجات العقدية لملف إدخال ElastoDyn أو تم تنسيقه بشكل غير صحيح.
تشغيل AeroDyn14.
تشغيل InflowWind.

تم إكمال OpenFAST.

تم الإبلاغ عن خطأ بواسطة S-function 'FAST_SFunc' في 'Model05 / System / S-Function':
FAST_Init ializeAll: InflowWind_Init : InflowWind_ ReadInput: إدخال رقمي
حدث ". \ v05InflowFile.dat" أثناء محاولة قراءة HWindSpeed.

في Inflow type 2 wind مع ملف إدخال ، راجعت التنسيق ويبدو أنه من المقبول مقارنته بـ "ECD_00PR.wnd" في اختبار r. وهنا قسم المعلمات في InFlowFile
================== معلمات لملف الرياح الموحد [يُستخدم فقط مع WindType = 2] ==================== =========
"16d0.wnd" FileName - اسم ملف بيانات السلاسل الزمنية لحقل الرياح المنتظم. (-)
129 RefHt_Uni - الارتفاع المرجعي لسرعة الرياح الأفقية (م)
135.88 RefLength - الطول المرجعي للشفاف الخطي الأفقي والرأسي (-)

arminzaribaf ، يبدو أنه غير قادر على قراءة قيمة رقمية في السطر 13 ( HWindSpeed ). على الرغم من تجاهل InflowWind لهذه القيمة بنوع الرياح الذي حددته ، إلا أنها لا تزال بحاجة إلى احتواء رقم. هل يمكنك التأكد من ضبط هذا الخط بشكل صحيح؟

أيضًا ، تشير إلى أنك تستخدم إصدارًا معدلًا من OpenFAST v2.4.0 ، ولكن إذا كنت تستخدم بالفعل أحدث فرع مطور ، أتوقع أن يكون لديك بعض أرقام الالتزام التي تتبع هذا الإصدار (وقبل "-dirty"). لذلك ، أعتقد أنه من المحتمل أن يكون لديك سطر إضافي في ملف إدخال InflowWind (على سبيل المثال ، قم بإزالة السطر 7 الذي يحتوي على VFlowAng وهو جديد في فرع dev).

إذا قمت بالترقية إلى أحدث فرع مطور OpenFAST ، فقد تواجه أيضًا مشكلات مع أسماء المتغيرات في ملفات إدخال InflowWind. يتطلب التغيير الأخير الآن تسمية المعلمات الموجودة في ملف InflowWind بطرق معينة ، ولكن يبدو أن هذه المعلمات لم يتم تحديثها في ملفات تحويل matlab-toolbox (أو وثائق OpenFAST أيضًا).

bjonkman مذهل ، كان السطر 7 هو المشكلة. تم تعيين HWindSpeed ​​وقبل النشر حاول إزالة وإعادة كتابة الرقم للتأكد من أنه رقم.
بعد ذلك واجهت مشكلة أخرى مع ملف Hydro وبعد التحقق من ذلك لم يكن هناك إدخال في النهاية ، لذا تم تعليق النهاية على \ r \ n. أعتقد أن الأمر يتعلق بالتحويل حيث اضطررت إلى اختيار البنية التي يجب تشغيلها بناءً على نظام التشغيل.
لقد قمت بالاستنساخ والتجميع منذ حوالي شهر ، لذا ربما هذا هو السبب في أنه ليس أحدث إصدار. عندما أقوم بالترقية سأضع ذلك في الاعتبار.
شكرا جزيلا لمساعدتكم.

أنا أبلغ للتو عما قمت بتغييره بعد التحديث والترجمة إلى أحدث إصدار (OpenFAST-v2.4.0-111-g4b5559fb-dirty)

لقد أضفت السطر الخلفي 7 إلى إدخال InflowWind (VFlowAng) ،
في السطر 17 تم تغيير اسم الملف إلى FileName_Uni ،
وتوقعت SumPrint في السطر 51 لذلك قمت بإزالة سطر "== OUTPUT ==" وعمل بدون مشكلة ، مع إعطاء نفس النتائج.
تلقيت تحذيرًا جديدًا فقط:

FAST_InitializeAll: IfW_ Init: IfW_UniformWind_Init : تعذر قراءة عمود التدفق الصاعد في الرياح الموحدة
الملفات. بافتراض أن التدفق لأعلى هو 0.

مرحبًا @ armin-zbf ،

يدعم ملف UniformWind الآن زاوية التدفق الصاعد (العمود 9). انظر هنا للحصول على مثال.
يمكن العثور على وثائق حول InflowWind هنا: https://openfast.readthedocs.io/en/dev/source/user/inflowwind/index.html

هتافات!

@ armin-zbf
أهلا
أنا أيضًا جديد جدًا على OpenFAST وأنا أيضًا جديد في التعليمات البرمجية المصدر.
لقد قمت بتنزيل الكود المصدري وقمت بتجميعه على windows باستخدام استوديو متوازي واستوديو مرئي. لكن لدي بعض الأسئلة.
1.يتم تنزيل ملفاتي الثنائية ، أين يجب أن أضعها

  1. هل يجب على مكتبات الرياضيات تثبيته؟ ما يجب القيام به؟
    3-وغيرها الكثير ......
    قد يضيع هذا وقتك ، لكني ما زلت آمل أن تتمكن من إعطائي بعض الاقتراحات ، حتى خطوات التثبيت الحمقاء.

شكرا لك! ~~

2020-12-24
تم حل المشكلة ~~~

مرحبا @ haojunjie0429
آسف على الرد المتأخر ، إنه موسم الأعياد.

  1. إذا قمت بالتجميع بنجاح ، فلن تحتاج إلى الملفات الثنائية التي تم تنزيلها ، فكل ما تحتاجه موجود في المجلد build\bin .
  2. إذا كنت تستخدم windows ، فلن تحتاج إلى مكتبات الرياضيات.
  3. لا تقلق ، اقض بعض الوقت مع بعض الأمثلة وستحصل على كل شيء ، وهنا على GitHub يوجد العديد من المطورين اللطفاء :-)

@ armin-zbf شكرا لك. اتمنى لك عطلة سعيدة

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