Openfast: Требуется сценарий для преобразования входных файлов FAST v8.16 в OpenFAST v1.0

Созданный на 27 окт. 2017  ·  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-функцию в тестовых файлах.
Модель, над которой я работаю, - это модель Simulink, которая работает с FAST (v8.16.00a-bjj, 27 июля 2016 г.). Я прочитал эту тему и безуспешно пытался работать с различными инструментами преобразования. Я надеялся, что вы можете помочь мне лучше понять, как продолжить преобразование, пожалуйста?

Привет @arminzaribaf!

@bjonkman загрузил обновление для старых сценариев преобразования на основе MATLAB, поддерживаемых FAST v8 выше, но эти сценарии недоступны для каждой версии OpenFAST (следовательно, почему эта проблема все еще открыта).

Тем не менее, изменения входного файла с каждой версией 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 Поскольку я использую последнюю версию разработчика, я использовал вашу вилку и успешно конвертировал (?) после нескольких проб и ошибок, я думаю, вот результат, который я получаю, и я получаю несколько предупреждений, которые могут повлиять на следующие шаг:
ВНИМАНИЕ: ExctnMod не найден в структуре данных HD. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ HydroDyn.dat):
1

ВНИМАНИЕ: BldGagNd не найден в структуре данных FAST. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ ElastoDyn_Primary.dat):
2 3

GetFASTPar :: Параметр 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 встречается несколько раз в структуре данных FAST.
ВНИМАНИЕ: PLExp встречается несколько раз в структуре данных FAST.
ПРЕДУПРЕЖДЕНИЕ: несколько вхождений FileName в структуре данных FAST.
ВНИМАНИЕ: InitPosition (x) не найден в структуре данных FAST. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ InflowWind.dat):
0

ВНИМАНИЕ: CalcSteady не найден в структуре данных FAST. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
Ложь
ВНИМАНИЕ: TrimCase не найден в структуре данных FAST. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
3

ВНИМАНИЕ: TrimTol не найден в структуре данных FAST. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
1.0000e-03

ВНИМАНИЕ: TrimGain не найден в структуре данных FAST. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
0,0100

ВНИМАНИЕ: Twr_Kdmp не найден в структуре данных FAST. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
0

ВНИМАНИЕ: Bld_Kdmp не найден в структуре данных FAST. Вместо этого будет использоваться значение по умолчанию, указанное ниже (из файла шаблона, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
0

В новом каталоге создается 5 файлов (fst, ED, Hydro, Inflow и Servo.) Я заменяю их файлами из основного каталога и получаю эту ошибку при моделировании:
OpenFAST-v2.4.0-грязный
Информация о компиляции:

  • Компилятор: Intel (R) Fortran Compiler 1910
  • Архитектура: 64 бит
  • Точность: одиночная
  • Дата: 6 ноября 2020 г.
  • Время: 13:21:51
    Информация о выполнении:
  • Дата: 10.12.2020
  • Время: 20: 17: 50 + 0100

Запуск ElastoDyn.
Раздел узловых выходов входного файла ElastoDyn не найден или неправильно отформатирован.
Запуск AeroDyn 14.
Запуск InflowWind.

OpenFAST завершен.

Ошибка, сообщенная S-функцией FAST_SFunc в Model05 / System / S-Function:
FAST_Init ializeAll: InflowWind_Init : InflowWind_ ReadInput: недопустимый числовой ввод для файла
". \ v05InflowFile.dat" произошел при попытке чтения HWindSpeed.

В Inflow type 2 ветер используется с входным файлом, я проверил формат и, похоже, можно сравнить его с «ECD_00PR.wnd» в r-тесте. и вот раздел параметров в InFlowFile
================== Параметры для файла Uniform wind [используется только для 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 dev, у вас также могут возникнуть проблемы с именами переменных во входных файлах InflowWind. Самое недавнее изменение теперь требует, чтобы параметры в файле InflowWind были названы определенным образом, но похоже, что эти параметры не обновлялись в файлах преобразования matlab-toolbox (или в документации OpenFAST).

@bjonkman Удивительно, проблема была в строке 7. HWindSpeed ​​был установлен, и перед публикацией попытался удалить и повторно ввести номер, чтобы убедиться, что это номер.
После этого я столкнулся с другой проблемой с файлом Hydro, и после его проверки в конце не было ввода, поэтому конец был привязан к \ r \ n. Я думаю, это связано с преобразованием, когда мне нужно было выбрать, какой синтаксис должен работать в зависимости от ОС.
Я клонировал и скомпилировал около месяца назад, так что, может быть, это не последняя версия. При обновлении буду иметь это в виду.
Большое спасибо за Вашу помощь.

Я просто сообщаю, что я изменил после обновления и компиляции до последней сборки (OpenFAST-v2.4.0-111-g4b5559fb-dirty)

Я добавил обратную строку 7 во вход InflowWind (VFlowAng),
в строке 17 изменил FileName на 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. Если вы используете окна, вам не нужны математические библиотеки.
  3. Не волнуйтесь, потратьте немного времени на несколько примеров, и вы все получите, а здесь, на GitHub, есть много добрых разработчиков :-)

@ armin-zbf Спасибо. Хороших праздников

Была ли эта страница полезной?
0 / 5 - 0 рейтинги