Openfast: Где доступны данные или какой скрипт создает данные?

Созданный на 19 окт. 2020  ·  54Комментарии  ·  Источник: OpenFAST/openfast

Всем привет,
Я просмотрел документацию, не смог узнать, какой скрипт создает данные? На веб-сайте NREL препроцессор AirfoilPrep помогает создавать данные для Aerodyn, например, присутствуют для многих таких случаев. Но какой модуль здесь работает как препроцессор и как можно загрузить данные или даже получить все файлы .dat?

Заранее большое спасибо.

Usage question

Все 54 Комментарий

Уважаемый @ ai-aspirant,

Я не уверен, что полностью понимаю ваш вопрос, но NREL разработал несколько препроцессоров для OpenFAST, в том числе:

  • AirfoilPrep (для создания данных о профиле для использования в AeroDyn из 2D-данных)
  • TurbSim (для создания окружающего турбулентного ветра для InflowWind)
  • IECWind (для генерации детерминированного ветра для InflowWind)
  • BModes (для создания форм колебаний для ElastoDyn)
  • и т.п.

Из них только TurbSim в настоящее время включен в репозиторий OpenFAST на github.

С наилучшими пожеланиями,

Уважаемый @jjonkman , спасибо за ваш ответ на это.
Если я хочу предоставить данные модели, всегда ли они будут в том же формате, что и в примере в документации?
Или потребуется какой-нибудь скрипт в репозитории openfast, который поможет мне создать данные аналогичного формата в качестве входных?
Имею ли я смысл на этот раз?

Уважаемый @ ai-aspirant,

Формат различных входных файлов OpenFAST фиксирован. Вы можете сгенерировать данные для заполнения этих входных файлов вручную или с помощью сценария ... действительно так, как вы хотите. В своем предыдущем посте я упомянул несколько распространенных препроцессоров, которые NREL разработал для помощи в этом процессе.

Я не уверен, пытаетесь ли вы изменить аэродинамические, структурные или управляющие свойства ветряной турбины или приток ветра, используемый для моделирования. Но разъяснение этого может помочь дать более конкретное руководство.

С наилучшими пожеланиями,

Спасибо за это @jjonkman
Я понимаю, это. Но, как я уже упоминал, я хотел знать, какой файл сопоставления поможет мне в этом процессе. Мне нужно выполнить только один файл? Или исполняемый файл с предоставленным базовым вводом? И если так, то остается ли это одинаковым для всех препроцессоров? Если нет, то я могу попросить вас помочь друг другу в модулях препроцессора.

Итак, в основном @jjonkman идея состоит в том, чтобы полностью выполнить openfast и смоделировать его, но я просто хотел понять формат входных файлов, чтобы я мог соответствующим образом управлять им со своей командой.

Другой вопрос, который у меня есть, заключается в том, что запуск исполняемой модели 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 ,
Это действительно полезно. Я предпочитаю Python, разберусь. Спасибо.

Наконец, я хотел узнать в модели OpenFAST для наземной ветряной мельницы, будет ли достаточно работать вместе комбинации Aerodyn, Servodyn и Elastodyn?
Это отфильтровывается из флагов, используемых в основном файле в качестве входных данных для модуля OpenFAST.

Уважаемый @ ai-aspirant

Следуя ответу Джейсона, если вы хотите создать сценарий для генерации входных файлов, один из способов сделать это - иметь набор «шаблонных» входных файлов из существующей модели OpenFAST. Ваш сценарий будет читать эти файлы шаблонов, изменять значения и записывать их для данной турбины и моделирования. В наборе инструментов Matlab чтение и запись входных файлов выполняется с помощью скриптов FAST2MATLAB и MATLAB2FAST . Для набора инструментов python вам нужно использовать ветку dev . Примеры чтения и записи файлов приведены в readme:
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 мощностью 5 МВт здесь:
https://github.com/OpenFAST/r-test/tree/master/glue-codes/openfast/5MW_Land_DLL_WTurb

Вам нужно знать много данных, чтобы создать полную модель OpenFAST. Вот почему Джейсон рекомендует, возможно, начать с настройки модели «драйвера AeroDyn», в которой вам нужно знать только аэродинамические свойства турбины, которую вы хотите смоделировать. Вы найдете примеры в упомянутой ранее ссылке:
https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix.html#aerodyn -input-files

С Уважением

Отметим, что формат входного файла фиксирован, и ожидается, что входные данные будут с заданным номером строки.

Тем не менее, от одной версии openfast к другой мы иногда вносим изменения в формат файла (добавляя или удаляя пару строк), поэтому важно отслеживать, какую версию OpenFAST (или AeroDyn / драйвера) вы используете.

Здесь описаны изменения между версиями:
https://openfast.readthedocs.io/en/master/source/user/api_change.html

Основная ветвь репозитория «r-test», на который я указывал ранее, имеет входные файлы, которые всегда соответствуют текущей версии openFAST.

Привет, Эммануэль и @jjonkman!
Надеюсь у тебя все хорошо. Спасибо за все ваши отзывы, это мне очень помогло. Однако я попытался запустить _5MW_Land_DLL_WTurb_ с двоичными и исполняемыми файлами OpenFAST. Выполняя его, я получил следующий результат:
image

Бинарные файлы помещаются в путь, в котором находятся мои исполняемые файлы. Тем не менее, я получаю это сообщение. Итак, мне было интересно, это просто обычное сообщение или оно действительно выполняется без этих модулей?
Дайте мне знать, если вам понадобится дополнительная информация о различных каталогах.

Я также визуализировал это с помощью paraview . Возможно, потребуется время, чтобы лучше понять это. Еще раз спасибо вам обоим.

Я также хотел спросить, есть ли статья, которая понимала бы идеальный предел для каждой переменной, представленной в выводе FAST. Например, если я рассматриваю Wind1VelX, он находится в диапазоне от 1.162E + 01 до 9.975E + 01, поэтому есть ли предел для этой переменной, который поможет мне понять, выходит ли она за пределы какого-либо предела, как аномалия?

Спасибо.

С уважением,
Кирстен

Привет Кристен,

Что касается предупреждений об "узловом выходе", они не повлияют на результаты моделирования; вы можете игнорировать предупреждения. Я спросил об этом @andrew-platt, и вот его ответ:

Я заменю их на "Информация" вместо предупреждения.

Когда мы добавляли выходы на основе узлов, мы сохранили обратную совместимость входных файлов для каждого модуля. Выводы узла - это вторая секция вывода, следующая за секцией стандартного вывода. Таким образом, предупреждение / информация предназначены только для того, чтобы пользователь знал, что этот раздел входного файла не существует и что они не получат выходных данных на основе узлов. Это было добавлено в ElastoDyn (только блейд-узлы), BeamDyn и AD15, поэтому все три модуля могут сообщать эту информацию при инициализации.

Что касается предупреждений «C_nalpha is 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 readthedocs, но доступно здесь: https://drive.google.com/file/d/1-yJox2Kj-eBHfX2FdjE7RCaOkXRml9Mw/view?usp = обмен.

Функциональные возможности визуализации OpenFAST можно использовать для визуализации неотклоненного состояния или анимации временного ряда отклика турбины (в ее отклоненном состоянии) либо в формате фигурного рисунка, либо с полной визуализацией поверхности. Вы также можете визуализировать различные поля, такие как движения и нагрузки. Функциональность визуализации OpenFAST задокументирована в старом файле ReadMe 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, который сообщает скорость ветра для Blade 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 также имеет узлы анализа и вывода.

С наилучшими пожеланиями,

Привет, Джейсон,
Конечно. Я разберусь с этим.
Могу ли я смоделировать кривую мощности с помощью 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,

В документации, на которую вы ссылаетесь, показан один пример - эталонная наземная ветровая турбина IEA Wind Task 37 с КПД генератора 93,6%. Другой пример - базовая ветряная турбина NREL мощностью 5 МВт с КПД генератора 94,4%. Если вы не имеете в виду конкретную эффективность генератора, вы можете предположить, что она находится в этом диапазоне.

С наилучшими пожеланиями,

Привет, Джейсон,
Верно. Поэтому я считаю, что выходной параметр RtAeroPwr продемонстрирует генерируемую аэродинамическую мощность.

С уважением,

Верный.

Привет, Джейсон,
Итак, в случае, если я хочу включить свои данные в AeroDyn, есть ли какой-либо набор минимальных входных параметров, которые вы, ребята, задокументировали, которые предоставят мне выходную аэродинамическую мощность, или я должен пройти через все входные параметры и хорошо их изучить было бы лучшим вариантом ?

Заранее спасибо.

С уважением,
Кирстен

Привет Кристен,

Документация дает указания, какие входные данные для чего используются. Надеюсь, у вас достаточно опыта в моделировании ветряных турбин, чтобы знать, какие входные данные будут важны для расчета аэродинамической мощности.

С наилучшими пожеланиями,

Привет, Джейсон,
Поэтому я пытался понять файлы, когда обнаружил, что AoA (угол атаки) находится в диапазоне от 180 до -180. Есть ли причина, по которой при реализации AeroDyn в конкретных файлах угол атаки различается для разных профилей?

image
На приведенном выше изображении, как вы можете видеть, значения аэродинамических профилей могут отличаться, начиная с файлов cyl1.dat, обозначающих большую часть левого края изображения, и, следовательно, разные файлы аэродинамических профилей используются соответственно для каждого значения, и на основе этих значений мои узлы определяется правильно?

Исходя из этого, существует ли какое-либо минимальное количество аэродинамических профилей, которое следует рассматривать в OpenFAST, больше 1, которое предлагается, или 1 должен работать? Что бы вы посоветовали, Джейсон?

Изображение, показанное выше, предназначено только для справки.

С уважением,
Кирстен

Дорогая Кристен,

Данные аэродинамического профиля (подъемная сила, осадка, момент по сравнению с AoA) должны быть предоставлены для полного диапазона 360 градусов (от -180 до 180 градусов) AoA, потому что фактическая AoA определяется во время выполнения и может изменяться от шага к шагу по времени.

Как вы отметили, данные профиля должны зависеть от формы профиля. Это также может зависеть от вращательного увеличения (3D-эффекты), если вы применяете их к данным аэродинамического профиля.

Обычно мы рекомендуем порядка 20 узлов аэродинамического анализа вдоль лопасти. Требуется ли для этого несколько таблиц профилей (каждая таблица применяется к нескольким узлам) или множество таблиц профилей (уникальная таблица для каждого узла), зависит от изменчивости формы профиля вдоль лопасти, важности увеличения вращения и желаемой точности решение.

С наилучшими пожеланиями,

Дорогой Джейсон,
Хорошо. Звучит здорово.
Я хотел понять одну вещь: есть ли какие-либо датчики для расчета силы сопротивления или подъемной силы, чтобы я мог рассчитать их коэффициенты?

Еще я хотел отметить, что я пытался уменьшить количество узлов, поэтому я удалил несколько строк из файла «Test01_UAE_AeroDyn_blade.dat», изменил количество NumBlNds до 15 и уменьшил количество параметров NumAFFiles с 10 до 5. , и изменил параметры BlOutNd на 1, 3. Тем не менее, я получаю сообщение об ошибке, показанной ниже: «Произошла при попытке чтения BlOutNd».
Мне нужно менять еще какие-нибудь флаги?

image

Еще раз спасибо за помощь всем, и вам тоже

С уважением,
Кирстен

Дорогая Кристен,

Извините, но я не совсем понимаю ваш первый вопрос.

Что касается второго вопроса, у вас есть два узла для BlOutNd. Означает ли это, что вы установили NBlOuts = 2? В противном случае, как и в случае с любой ошибкой обработки входного файла, включите опцию Echo для отладки ошибок в форматировании входного файла.

С наилучшими пожеланиями,

Привет, Джейсон,

Первый вопрос касался того, как рассчитываются коэффициенты сопротивления и подъемной силы?
Поскольку для силы сопротивления следующая формула:
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)% omega - это скорость ротора. Это вход (u) в подмодуль BEMT AeroDyn, установленный в модуле AeroDyn, который также является дополнительной переменной (MiscVar, m) AeroDyn. Исходный код действительно включает в себя много документации, но для интерпретации потребуется знание Фортрана и структуры модуляции FAST. Эта переменная определена в BEMT_Registry.txt (входная омега) и AeroDyn_Registry.txt (MiscVar BEMT_u).

С наилучшими пожеланиями,

Привет, Джейсон,

Итак, я считаю, что это значения массива, скорость ротора (угловая скорость ротора) и аэродинамическая нагрузка ротора в x-направлении.
Кроме того, есть ли у OpenFAST документация по остальным уравнениям, о которых я упоминал ранее, поскольку пока я просматривал сценарии, я не мог найти MeshType, используемый в HubMotion.

Следовательно, документация по остальным уравнениям представлена ​​на изображении выше в последнем выпуске.

С уважением,
Кирстен

Привет @jjonkman!
Я хотел добавить к вашему вопросу, @ ai-aspirant, и спросить, какой именно будет моя переменная выходной мощности OpenFAST для всей ветряной мельницы? Учитывая параметр GenPwr, почему он колеблется в диапазоне от 3,6 мВт до 5 мВт? Я имею в виду, насколько я понимаю, он следует формату кривой мощности. Скорость включения (мощность продолжает увеличиваться), номинальная скорость (мощность остается постоянной) и скорость отключения (мощность падает до нуля).

С уважением,
Михир

Дорогая Кристен, о какой документации вы спрашиваете? Вы пытаетесь понять сами уравнения (надеюсь, они не требуют пояснений для этих результатов) или документацию по модульной структуре FAST?

Уважаемый Михир! Выходной сигнал GenPwr от ServoDyn - это выходная электрическая мощность (определяемая генератором и / или контроллером, включая потери электрического КПД). Что касается его изменения, выходная мощность может сильно варьироваться, когда турбина работает с турбулентным притоком или порывами ветра. Кривая мощности представляет собой среднее или стационарное поведение.

С наилучшими пожеланиями,

Привет, Джейсон,
Правильно, я просто хотел понять, что это за вклад. Как они рассчитываются или предоставляются непосредственно в качестве входных данных. Итак, учитывая аэродинамическую мощность, скорость моего ротора и момент аэродинамической нагрузки в направлении оси x, есть ли тип входных данных, которые должны быть предоставлены в виде массива или просто целого числа? Потому что я мог понять, что это одно целое число.
Другой вопрос заключается в том, что эти входные данные предоставляются в качестве входных данных или рассчитываются с помощью другого уравнения, и если это так, то какие параметры зависят от того, что я должен изменить, чтобы мой окончательный результат, который в данном случае, аэродинамическая мощность (RtAeroPwr) соответственно меняется.

Спасибо,
С уважением,
Кирстен

Дорогая Кирстен,

В приведенных выше уравнениях входы уровня модуля отмечены как u, непрерывные состояния отмечены как x, выходы отмечены как y, параметры отмечены как p, а различные переменные отмечены как m. Эти типы переменных определены в Руководстве программиста NWTC: https://drive.google.com/file/d/1bDV1fBkiZUWs6Tkzb6nhCMUQvHpN_OtM/view?usp=sharing. Входы уровня модуля, в частности u, являются входами для модуля, вычисляемыми другим модулем в OpenFAST (а не входными параметрами, определяемыми пользователем). В режиме автономного драйвера (не связанного с OpenFAST) входные данные предписываются кодом автономного драйвера. В программе CalcOutput входные данные предоставляются в текущее время моделирования. В подпрограмме UpdateStates входные данные предоставляются в виде массива за определенный период времени, так что модуль может получить доступ к входу в любой момент времени в пределах временного интервала, по которому он интегрируется по времени (посредством интерполяции). Более подробная информация представлена ​​в Руководстве программиста NWTC.

С наилучшими пожеланиями,

Дорогой Джейсон,
Спасибо за эту информацию. Итак, исходя из того, что вы упомянули, параметры, которые используются для расчета RtAeroPwr, являются разными переменными. Поэтому рассмотрите их как выходные переменные Aerodyn Ie RtSpeed ​​и RtAeroMxh.
Теперь, когда я напрямую умножил их обоих, это не похоже на то, что RtAeroPwr дает в качестве вывода в файле .out.
Все значения разные.
Это обязательно случится? Должен ли я включать какой-либо другой параметр, когда я рассчитываю его таким образом?

С уважением,
Кирстен

Привет, Джейсон,
Так вы имеете в виду, что мой GenPwr в основном будет постоянным при установившемся ветре? Если это так, то моя выходная мощность даже близко не подходит к каким-либо кривым мощности.
Могу ли я построить кривые мощности с помощью этих модулей OpenFAST? Или для этого потребуется только турбулентный ветер?
Могу я сделать это в Paraview?

С уважением,
Михир

Уважаемая Кирстен! Разные переменные можно рассматривать как локальные переменные, которые хранятся в типах фреймворков для повышения эффективности вычислений. Они могут быть функциями входов, выходов, состояний или параметров. Произведение RtSpeed ​​и RtAeroMxh должно равняться RtAeroPwr, если единицы подходят (RtSpeed ​​должен быть в рад / с, а не об / мин).

Уважаемый Михир, OpenFAST может намного больше, но, конечно, его можно использовать для вычисления кривой мощности. Эта тема обсуждалась на нашем форуме: https://wind.nrel.gov/forum/wind. Я предлагаю поискать там руководство.

С наилучшими пожеланиями,

Дорогой Джейсон,
Да, я преобразовал его из об / мин в рад / с, он все равно немного меняется. Помогло спасибо.
У меня тоже было несколько других вопросов, я просто попытаюсь их подвести.

  1. Как я понял с вашей помощью, AeroDynamic Power связана со скоростью ротора и аэродинамической нагрузкой в ​​x-направлении (также называемым крутящим моментом ротора, поскольку я просматривал форум, о котором вы упомянули). Таким образом, две переменные, которые я упомянул как входные, на самом деле являются выходами модуля 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. Некоторые входные параметры имеют настройки по умолчанию, обозначенные ключевым словом «ПО УМОЛЧАНИЮ», но большинство требуют указания пользователя. См. Документацию и образцы входных файлов для получения дополнительной информации.

С наилучшими пожеланиями,

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