Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support controllable turbine Ct #477

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

genevievestarke
Copy link
Collaborator

Feature or improvement description
This feature allows the turbines to be operated below maximum power through setting the thrust coefficients (similar to setting of yaw) for each turbine

Related issue, if one exists

Impacted areas of the software
farm.py
floris.py
solver.py
floris_interface.py
turbine.py

Additional supporting information
An example of running it with adjusted thrust coefficient values:

# Convert to a simple two turbine layout
fi.reinitialize( layout=( [0, 500.], [0., 0.] ) )

# Single wind speed and wind direction

# Get the turbine powers assuming 1 wind speed and 1 wind direction
fi.reinitialize(wind_directions=[270.], wind_speeds=[8.0])

# Set the yaw angles and C_T values
yaw_angles = np.zeros([1,1,2]) # 1 wind direction, 1 wind speed, 2 turbines
CT_input = np.zeros([1,1,2])+0.75 # 1 wind direction, 1 wind speed, 2 turbines
fi.calculate_wake(yaw_angles=yaw_angles, CT_inputs=CT_input)

Test results, if applicable

@bayc bayc self-requested a review August 2, 2022 16:58
@Halation666
Copy link

Hi,This function is very useful to me. Has he succeeded now?Thx!

@aallpp83
Copy link

aallpp83 commented Apr 9, 2023

Dear @genevievestarke,

Thank you for your helpful suggestion. I am currently working on simulating a wind farm with variable Cp/Ct characteristics for each wind turbine, and I found your modification to be useful. However, I am struggling to understand the logic behind the power calculation part (def power() in turbine.py). Specifically, I am wondering why we should use Cp = 0.77ratio4ai*(1-ai)^2 instead of the simple Cp = 4ai(1-ai)^2 calculation (that differs from the predefined table of a specific turbine). Could you provide a reference for your calculation?

Moreover, I am not familiar with the mechanics of the FLORIS code, and I am curious if your modification takes into account the effect of varying Ct on the wake characteristics.

Thank you in advance for your assistance and answers.

Best regards,

Ali

@rafmudaf rafmudaf changed the title Feature/variable ct Support controllable turbine Ct Nov 8, 2023
@misi9170 misi9170 added this to the v4.1 milestone Nov 28, 2023
@misi9170
Copy link
Collaborator

@genevievestarke @rafmudaf @paulf81

Based on discussions today, I'm tagging this 4.1. However, we may use derating as an example for the turbine operation module (alongside helix), so this might end up in 4.0. Feel free to change the tag to 4.0 if you'd prefer.

@misi9170
Copy link
Collaborator

@genevievestarke I believe that this functionality has now been incorporated into v4 with #783. Rather than specifying the thrust coefficient, users specify the maximum power setpoint, and the thrust coefficient and axial induction are back-computed from that (thrust is assumed to be at the same fraction of available as power).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants