我想运行一个弗洛里斯模拟来计算特定涡轮机的尾迹。目前,FLORIS中给出的输入文件是"example_input.json“,它定义了NREL5 5MW在不同风速下的Cp和Ct值。
我想对不同的涡轮机运行模拟,并且我有该涡轮机的阵列值。我想知道有没有一种更简单的方法来更改FLORIS/python中的重定义Cp/Ct数组值,而不是在.json输入文件中手动输入数组值。
发布于 2021-05-22 00:13:21
您可以使用floris对象中的change_turbine句柄来完成此操作。它的用法如下,假设您想要在名为fi的floris对象中更改涡轮机0、1和2的功率和推力表
fi.change_turbine(
turb_num_array=[0, 1, 2],
turbine_change_dict={
"power_thrust_table": new_power_thrust_table,
}
)其中,new_power_thrust_table是一个有三个键的字典:power (功率系数)、thrust (推力系数)和wind_speed (风速)。每个数组或列表都应该包含一个定义新值的数组或列表(分别是前两个所属的新功率系数、推力系数和风速)。
此外,您可能希望同时更改涡轮机转子直径,例如更改为140 m。您可以使用以下命令执行此操作:
fi.change_turbine(
turb_num_array=[0, 1, 2],
turbine_change_dict={
"power_thrust_table": new_power_thrust_table,
"rotor_diameter": 140.
}
)或者,假设您想从不同的floris对象fi_b的第一个涡轮机复制涡轮机属性,您可以这样做:
fi.change_turbine(
turb_num_array=[0, 1, 2],
turbine_change_dict={
"power_thrust_table": fi_b.floris.farm.turbines[0].power_thrust_table,
"rotor_diameter": fi_b.floris.farm.turbines[0].rotor_diameter
}
)https://stackoverflow.com/questions/66481510
复制相似问题