Openfast: 数据在哪里可用或哪个脚本创建数据?

创建于 2020-10-19  ·  54评论  ·  资料来源: OpenFAST/openfast

大家好,
我浏览了文档,找不到哪个脚本创建数据? 在 NREL 网站上,预处理器 AirfoilPrep 有助于为 Aerodyn 创建数据,例如存在许多此类实例。 但是这里哪个模块用作预处理器,如何下载数据甚至获取所有 hte .dat 文件?

非常感谢您提前。

Usage question

所有54条评论

亲爱的@ai-aspirant,

我不确定我是否完全理解你的问题,但 NREL 已经为 OpenFAST 开发了几个预处理器,包括:

  • AirfoilPrep(用于从 2D 数据生成用于 AeroDyn 的翼型数据)
  • TurbSim(用于为 InflowWind 生成环境湍流风)
  • IECWind(用于为 InflowWind 生成确定性风)
  • BModes(用于为 ElastoDyn 生成模态振型)
  • 等等。

其中,目前只有 TurbSim 包含在 github 上的 OpenFAST 存储库中。

此致,

亲爱的@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

按照 Jason 的回答,如果您想编写输入文件的生成脚本,一种方法是从现有的 OpenFAST 模型中获得一组“模板”输入文件。 您的脚本将读取这些模板文件,修改值,并为给定的涡轮机和模拟编写它们。 在 matlab 工具箱中,读取和写入输入文件是使用脚本FAST2MATLABMATLAB2FAST 。 对于 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

我希望有帮助,

伊曼纽尔

亲爱的@ebralard
这会有很大帮助。 我会浏览您共享的链接,并尝试按照 OpenFAST 的要求排列数据。
谢谢你。

此外,当您提到生成涡轮机模型时,您是指将所有这些独立模型组合到 OpenFAST 中还是自定义原始模型?

再次感谢你。

问候,
克尔斯滕

亲爱的克尔斯滕,

陆基风力涡轮机 OpenFAST 模型通常会启用 ElastoDyn(用于结构动力学)、AeroDyn(用于空气动力学)、ServoDyn(用于控制)和 InflowWind(用于环境风流入)模块。 如果您只想在模拟耦合的气动伺服弹性之前研究空气动力学性能,通常 AeroDyn 也可以独立运行(没有气动弹性耦合)。

此致,

嗨,克尔斯滕,

我的猜测是你已经有了一些关于你想要建模的涡轮机的“数据”:例如一些几何特性、空气动力学特性(弦和扭曲分布、极坐标数据)、不同组件的材料/结构特性(质量、刚度、阻尼) .

根据这些数据,您可以编写 OpenFAST 的输入文件。 我将这组输入文件称为“OpenFAST 模型”。
您可以在此处找到陆基 NREL 5MW 涡轮机的 OpenFAST 模型示例:
https://github.com/OpenFAST/r-test/tree/master/glue-codes/openfast/5MW_Land_DLL_WTurb

您需要了解大量数据才能构建完整的 OpenFAST 模型。 这就是为什么 Jason 建议从设置“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”存储库的 master 分支具有始终与 openFAST 的当前版本一致的输入文件。

嗨,伊曼纽尔和@jjonkman
希望你一切顺利。 谢谢大家的回复,对我帮助很大。 但是,我尝试使用 OpenFAST 二进制文件和可执行文件执行_5MW_Land_DLL_WTurb_ 。 在执行它时,我得到了以下结果:
image

二进制文件放在我的可执行文件所在的路径中。 尽管如此,我还是收到了这条消息。 所以,我想知道这是否只是一条普通消息,还是在没有这些模块的情况下实际执行?
如果您需要各种目录的更多详细信息,请告诉我。

我还使用paraview对其进行了可视化。 可能需要一些时间才能更好地理解它。 再次感谢你们两个。

我还想问一下是否有一篇文章可以理解 FAST 输出中提供的每个变量的理想限制。 例如,如果我考虑 Wind1VelX,它的范围在 1.162E+01 到 9.975E+01 之间,那么该变量是否有限制以帮助我了解它是否超出任何限制(如异常)?

谢谢你。

此致,
克尔斯滕

嗨,克里斯汀,

关于“节点输出”警告,这些不会影响模拟结果; 您可以忽略警告。 我向@andrew-platt 询问了这些,这是他的回答:

我会将它们更改为 Info 而不是警告。

当我们添加基于节点的输出时,我们保持每个模块的输入文件向后兼容。 节点输出是标准输出部分之后的第二个输出部分。 所以警告/信息只是让用户知道输入文件的这一部分不存在并且他们不会获得基于节点的输出。 这已添加到 ElastoDyn(仅限刀片节点)、BeamDyn 和 AD15,因此所有三个模块可能会在初始化时报告此信息。

关于“C_nalpha is 0”警告,您也可以忽略这些。 当法向力系数曲线的斜率为零时,AeroDyn 的非定常翼型空气动力学模型无效。

我不知道有一篇论文总结了各种 FAST 输出的合理或物理限制。 这些只会随着经验而来。 但是 11.62 到 99.75 m/s 的风速范围确实听起来很极端。

此致,

@jjonkman
明白了。 因此,如果没有生成节点输出,我相信标准输出就足够了。
我遇到的另一件事是,当我浏览生成的_5MW_Land_DLL_WTurb.out_文件时,它只包含 InFlowWind 和 ElastoDyn 模块的输出参数。 它不包括来自 Aerodyn 和 ServoDyn 的输出参数,如 _Output Files_ 部分的 FAST 用户指南中提到的那些参数?
另外,我想了解我之前提到的类似输出文件中范围从 0 到 60 的时间输出参数,这是否表示时间序列范围?

谢谢。
问候,
克尔斯滕

嗨,克里斯汀,

OpenFAST 输出文件将包括您选择的任何模块级输出。 如果您没有从 ServoDyn 和 AeroDyn 获得任何输出,那是因为您没有在 ServoDyn 和 AeroDyn 输入文件中设置输出。

OpenFAST 是一个非线性时域求解器,因此,输出是作为时间函数的风力涡轮机响应。

此致,

你好杰森,
知道了。 我只是包含了一个参数列表,它适用于两个模块。 谢谢。
我很难理解的另一件事是,在我的输出生成文件中,生成了一个参数“Wind1VelX”,它是用户选定的风点 1 处风的 X 分量,因为选定的点数为 1。
但是,如果我需要了解该点的确切位置以便更好地理解,您知道我在哪里可以找到它吗? 还是会在我详细了解风车时出现?

谢谢,关于,
克尔斯滕

嗨,杰森,
只是为了添加上一点我想验证可视化文件到底给出了什么要点? 它是速度值如何帮助运行风车或其他东西的动画吗? 我想知道这一点,以便我了解我在 Paraview 中究竟会看到什么,因为我在 Blade1referene.vlt 文件中获得的值如下所示:

image
那么,这是否表示我的模块作为输出或一些外部计算提供的结构和各种速度?

问候,
克尔斯滕

亲爱的克里斯汀,

InflowWind(Wind1VelX 等)环境风输出的位置由用户通过 InflowWind 输入文件中的输入参数 WindVxiList、WindVyiList 和 WindVziList 指定。 InflowWind 模块在 InflowWind 用户指南中有详细描述,该指南尚未移植到 OpenFAST readthedocs,但可在此处获得: https ://drive.google.com/file/d/1-yJox2Kj-eBHfX2FdjE7RCaOkXRml9Mw/view?usp

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/

此致,

亲爱的杰森,

那么每个模块都有不同的节点吗?

我想询问我们使用的每个模块的“节点”工作表,例如 AeroDyn、ServoDyn、ElastoDyn。
考虑到 AeroDyn 在开始时,AeroDyn 表有一个输出参数 B1N1VUndx,它告诉叶片 1 和节点 1 的风速。
对于塔,它总是在塔节点 1 和塔节点 n 之间,并且相同的坐标将作为输入提供,如https://openfast.readthedocs.io/en/master/source/user所示
同样,对于刀片上的节点编号,它将位于从尖端 t 到刀片底部的本地刀片弦线上,如https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix所示

抱歉所有幼稚的问题,但这是正确的吗?

问候,
克尔斯滕

亲爱的克里斯汀,

对,那是正确的。

ElastoDyn 也有分析和输出节点。

此致,

你好杰森,
当然。 我会调查一下。
我可以使用 ServoDyn 模拟功率曲线吗?
我从中遇到了 Generated Electrical Power 参数。 那是一样的吗?

问候,
克尔斯滕

亲爱的克里斯汀,

通过“功率曲线”,我假设您的意思是作为风速函数的功率。 当然,这将取决于控制,但不能由 ServoDyn 直接计算。 您需要对空气动力学进行建模。 如果您已经知道每个风速下的转子速度和桨距角,您可以使用独立的 AeroDyn 驱动程序来计算每种情况的空气动力功率。 如果您不知道这一点,但有一个控制器,或者包含结构灵活性的内容,您可以针对每个风速单独运行 OpenFAST 模拟,或者使用统一但阶梯式风速运行 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-MW 基线风力涡轮机提供了另一个例子,其发电机效率为 94.4%。 如果您没有考虑特定的发电机效率,您可以假设在这个范围内。

此致,

你好杰森,
对。 所以我相信RtAeroPwr输出参数将展示产生的空气动力。

问候,

正确的。

嗨,杰森,
因此,如果我想将我的数据包含在 AeroDyn 中,是否有你们记录的任何一组最小输入参数可以为我提供输出空气动力功率,或者我是否应该检查每个输入参数并仔细研究它们将是更好的选择?

先感谢您。

问候,
克尔斯滕

嗨,克里斯汀,

该文档提供了关于哪些输入用于什么的指导。 希望您在风力涡轮机建模方面拥有足够的专业知识,以了解哪些输入对于气动功率计算很重要。

此致,

嗨,杰森,
因此,当我发现 AoA(攻角)介于 180 到 -180 之间时,我试图了解这些文件。 在实施 AeroDyn 时,特定文件中是否有原因,不同翼型的攻角不同?

image
在上图中,正如您所看到的,翼型值可能会有所不同,从图中最左侧的圆柱 1.dat 文件开始,因此每个值都相应地使用了不同的翼型文件,并且基于这些值,我的节点是确定对吗?

基于此,在 OpenFAST 中是否有任何最少要考虑的翼型数大于 1 建议或 1 应该工作? 你有什么建议,杰森?

上面显示的图像仅供参考。

问候,
克尔斯滕

亲爱的克里斯汀,

翼型数据(升力、吃水、力矩与迎角的关系)应提供完整的 360 度(-180 到 180 度)迎角范围,因为实际迎角是在运行时确定的,并且可以随时间步长变化。

正如您所指出的,翼型数据应取决于翼型形状。 如果您将旋转增强(3D 效果)应用于翼型数据,它也可能依赖于旋转增强(3D 效果)。

通常,我们建议沿叶片大约 20 个空气动力学分析节点。 这是否需要几个翼型表(每个表应用于多个节点)或许多翼型表(每个节点的唯一表)取决于沿叶片的翼型形状的可变性、旋转增强的重要性以及所需的精度解决方案。

此致,

亲爱的杰森,
好的。 这听起来很棒。
我想了解的一件事是是否有任何传感器可以计算阻力或升力,以便我可以计算它们的系数?

我想指出的另一件事是我试图减少节点的数量,所以我从“Test01_UAE_AeroDyn_blade.dat”文件中删除了几行,将 NumBlNds 的数量更改为 15,并将 NumAFFiles 参数的数量从 10 减少到 5 ,并将 BlOutNd 参数更改为 1、3。 尽管如此,我仍然在获取以下显示的错误,提示“尝试读取 BlOutNd 时发生”。
我是否需要更改更多标志?

image

再次感谢大家的帮助,也感谢@jjonkman ,对所有的麻烦

问候,
克尔斯滕

亲爱的克里斯汀,

抱歉,我不太明白你的第一个问题。

关于第二个问题,您为 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 是转子速度。 它是 AeroDyn 的 BEMT 子模块的输入 (u),在 AeroDyn 模块中设置,它也是 AeroDyn 的杂项变量 (MiscVar, m)。 源代码确实包含大量文档,但需要了解 Fortran 和 FAST 模块化框架才能进行解释。 该变量在 BEMT_Registry.txt(输入 omega)和 AeroDyn_Registry.txt(MiscVar BEMT_u)中定义。

此致,

嗨,杰森,

所以我相信这些是数组值、转子速度(转子的角速度)和 x 方向上的转子气动载荷。
此外,OpenFAST 是否有关于我之前提到的其余方程的任何文档,因为在我浏览脚本时我找不到HubMotion 中使用的 MeshType。

因此,上一期上图中共享的其余方程的文档。

问候,
克尔斯滕

@jjonkman
我想补充你的问题,@ai-aspirant,并确切地问我整个风车的 OpenFAST 功率输出变量是多少? 考虑到 GenPwr 参数,它怎么会在 3.6mW - 5mW 的范围内变化? 我的意思是,据我所知,它遵循功率曲线格式。 切入速度(功率不断增加)、额定速度(功率保持不变)、切出速度(功率降为零)。

问候,
米希尔

亲爱的克里斯汀——你问的是什么类型的文件? 您是想了解方程式本身(希望这些对这些输出是不言自明的),还是有关 FAST 模块化框架的文档?

亲爱的 Mihir -- ServoDyn 的 GenPwr 输出是电力输出(由发电机和/或控制器决定,包括电力效率损失)。 关于其变化,当涡轮机在湍流或阵风下运行时,功率输出可能会有很大变化。 功率曲线代表平均或稳态行为。

此致,

嗨,杰森,
是的,我只是想了解它的输入。 就像这些是直接计算或作为输入提供的一样。 因此,考虑到空气动力功率、我的转子速度和 x 方向上的空气动力负载力矩,是否需要提供一种类型的输入,例如数组或整数? 因为我可以理解它是一个整数值。
另一个问题是这些输入是作为输入提供还是用另一个方程计算,如果是这种情况,我应该改变它依赖的参数是什么,以便我的最终输出,在这种情况下,空气动力功率(RtAeroPwr)相应地变化。

谢谢,
问候,
克尔斯滕

亲爱的克尔斯滕,

在上面的等式中,模块级输入用 u 表示,连续状态用 x 表示,输出用 y 表示,参数用 p 表示,杂项变量用 m 表示。 这些变量类型在 NWTC 程序员手册中定义: https ://drive.google.com/file/d/1bDV1fBkiZUWs6Tkzb6nhCMUQvHpN_OtM/view?usp 具体而言,模块级输入 u 是模块的输入,由 OpenFAST 中的另一个模块计算得出(而不是用户定义的输入参数)。 在独立驱动程序模式下(与 OpenFAST 分离),输入由独立驱动程序代码规定。 在 CalcOutput 例程中,输入是在当前模拟时间提供的。 在 UpdateStates 例程中,输入作为一个时间范围内的数组提供,以便模块可以在时间积分(通过插值)的时间间隔内的任何时间点访问输入。 NWTC 程序员手册中提供了更多信息。

此致,

亲爱的杰森,
谢谢你的信息。 所以根据你提到的,用于 RtAeroPwr 计算的参数都是杂项变量。 因此,将它们视为 Aerodyn Ie RtSpeed 和 RtAeroMxh 的输出变量。
现在当我直接将它们相乘时,它与 RtAeroPwr 在 .out 文件中作为输出给出的不同。
所有的值都不一样。
它一定会发生吗? 当我像这样计算时,我应该包括任何其他参数吗?

问候,
克尔斯滕

嗨,杰森,
那么你的意思是我的 GenPwr 在稳态风中大部分是恒定的吗? 如果是这样,那么我的输出功率甚至不接近任何功率曲线。
我可以使用这些 OpenFAST 模块绘制功率曲线吗? 或者它只需要湍流风速?
我可以在 Paraview 上这样做吗?

问候,
米希尔

亲爱的 Kirsten -- 可以将杂项变量视为存储在框架类型中以提高计算效率的局部变量。 它们可以是输入、输出、状态或参数的函数。 如果单位合适,RtSpeed 和 RtAeroMxh 的乘积应等于 RtAeroPwr(RtSpeed 应以 rad/s 为单位,而不是 rpm)。

亲爱的 Mihir——OpenFAST 可以做更多的事情,当然它也可以用来计算功率曲线。 此主题已在我们的论坛上讨论过: https :

此致,

亲爱的杰森,
是的,我确实将它从 rpm 转换为 rad/s,它仍然变化不大。 它帮助谢谢。
我还有其他几个问题,我会试着总结一下。

  1. 根据我在您的帮助下了解到的情况,气动动力与 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. 一些输入参数具有默认设置,由关键字“DEFAULT”指示,但大多数需要用户指定。 有关更多信息,请参阅文档和示例输入文件。

此致,

此页面是否有帮助?
0 / 5 - 0 等级