首页 > 解决方案 > 访问每个涡轮机的风速

问题描述

我正在寻找一种方法来访问我的每个涡轮机中的风速。尽管就我而言,floris 仅适用于一种风速作为输入,但您应该有一种方法可以查看唤醒涡轮机的风速,因为您最终需要计算它以达到整体风速农场电力。因此,我查阅了文档,发现在 floris.simulation.farm 上有一个吸气剂,它应该能够返回风电场的风速列表。这可以通过以下方式实现:

wind_speed = floris.farm.wind_speed()

但是,当我尝试按照说明进行操作时,我只得到一个整数,即设置的风速。那么,是否有可能获得每个涡轮机的风速值?

标签: floris

解决方案


使用FLORIS v1.1.4,代码:

wind_speed = floris.farm.wind_speed()

返回风电场的风速,正如您所说,这与在输入文件或代码中设置的风速相同。这是因为这是farm该类的属性,旨在返回农场级别的风速(请参阅源代码以了解该属性的定义)。

直接从 FLORIS 对象获取涡轮速度

为了获得单个涡轮机的风速,您可以使用:

turbine_wind_speeds = [turb.average_velocity for turb in floris.farm.turbines]

这将返回一个包含每个涡轮机平均速度的列表。

直接从 FLORIS 对象获取涡轮坐标

速度按照指定涡轮位置的顺序返回。要了解与速度相关的特定涡轮机,您可以从涡轮机地图中获取涡轮机坐标:

turbine_coords = [(coord.x1, coord.x2) for coord in floris.farm.turbine_map.coords]

中返回的第一个速度turbine_wind_speeds是 中第一组涡轮坐标处的速度turbine_coords,依此类推。

显示方法的示例脚本

使用FLORIS 示例文件夹中包含的示例输入文件FlorisInterface以及具有其他几个用于与 FLORIS 对象交互的辅助方法的类,可以在下面找到显示这些方法的用法及其输出的完整脚本。

示例 Python 脚本

# Import the tools module of FLORIS
import floris.tools as wfct

# Initialize the FLORIS interface 'fi'
fi = wfct.floris_utilities.FlorisInterface("example_input.json")

# Calculate wake
fi.calculate_wake()

# Retrieve and print the individual turbine velocities
turbine_wind_speeds = [turb.average_velocity for turb in fi.floris.farm.turbines]
print('turbine_wind_speeds: ', turbine_wind_speeds)

# Retrieve and print the turbine coordinates
turbine_coords = [(coord.x1, coord.x2) for coord in fi.floris.farm.turbine_map.coords]
print('turbine_coords: ', turbine_coords)

示例输出

turbine_wind_speeds:  [7.973632994592287, 5.572642539922095, 7.973632994592287, 5.572642539922095]
turbine_coords:  [(0.0, 0.0), (800.0, 0.0), (0.0, 630.0), (800.0, 630.0)]

推荐阅读