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

Clean up and align Turbine and TurbineMultiDim class architectures #762

Merged
merged 17 commits into from
Dec 13, 2023

Conversation

rafmudaf
Copy link
Collaborator

@rafmudaf rafmudaf commented Dec 12, 2023

Clean up Turbine and TurbineMultiDim class architectures

This pull request contains a variety of improvements to the Turbine and TurbineMultiDim classes:

As a small add on, this pull request updates the plots on the Code Quality page with commits up to v3.5.

Impacted areas of the software

The list of changed files is much larger than the impact of this pull request. It doesn't change any functionality, but it does reduce some complexity and ambiguity in the architecture of the Turbine class. Because of these changes, there are some impacts to the Farm, Grid-subclasses, solvers, and examples.

Note minor change to turbine yaml keys for floating turbines to bring into better alignment with fixed turbines. This may be a breaking change for some users interesting in floating turbines. floating_correct_cp_ct_for_tilt is renamed correct_cp_ct_for_tilt, and wind_speeds in the floating_tilt_table is changed to wind_speed.

Additional supporting information

Simplifying and cleaning up the Turbine classes sets up upcoming work to expand the turbine level controls capabilities.

@rafmudaf rafmudaf added enhancement An improvement of an existing feature floris.simulation labels Dec 12, 2023
@rafmudaf rafmudaf self-assigned this Dec 12, 2023
@rafmudaf rafmudaf added this to the v3.6 milestone Dec 12, 2023
@rafmudaf
Copy link
Collaborator Author

@bayc The nrel_5MW_fixed example input file has the Cp/Ct tilt correction flag on, but it does not provide a tilt table. What is the expected behavior in this case?

power_interp[turb_type](rotor_effective_velocities)
* (turbine_type_map == turb_type)
)
p += power_interp[turb_type](rotor_effective_velocities) * (turbine_type_map == turb_type)

return p * ref_density_cp_ct
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not for this PR, but for future reference, I think we'll need to change this according to @paulf81 's concept of "sliding" along the power curve.

@misi9170 misi9170 self-requested a review December 13, 2023 20:12
@rafmudaf rafmudaf merged commit bbcb8c3 into NREL:develop Dec 13, 2023
@rafmudaf rafmudaf deleted the turbine_cleanup branch December 14, 2023 05:36
@misi9170 misi9170 mentioned this pull request Apr 5, 2024
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An improvement of an existing feature floris.simulation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants