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

Feature: Add multidimensional Cp/Ct turbine definition support #711

Merged
merged 24 commits into from Oct 26, 2023

Conversation

bayc
Copy link
Collaborator

@bayc bayc commented Sep 15, 2023

Add multidimensional Cp/Ct turbine definition support

This PR adds support for turbine Cp/Ct definitions that depend on an arbitrary number of external variables. This is accomplished by the user supplying Cp/Ct tables for any number of conditions. Interpolants are then created for all the conditions and the interpolant nearest to the defined conditions at the time of computation is selected and used.

Related issue

resolves #619

Impacted areas of the software

Most new code was confined to floris/simulation/turbine_multi_dim.py, with small changes in several other simulation files.

Additional supporting information

Explanation of how to use these new features are included in the example 30_multi_dimensional_cp_ct.py.

To use this functionality, a turbine with a multi-dimensional Cp/Ct definition must be defined, along with multidim_conditions in the flow_field section of the input file. A new solver is used, paired with the multidim_cp_ct velocity deficit model, which used the gch model in its entirety, with some small changes required to down select the correct Ct and power interpolation functions. Examples for all of this are included in 30_multi_dimensional_cp_ct.py.

Currently, the multdim_conditions supplied are considered global and do not support defining local conditions through the farm. The example showcases Cp/Ct values that depend on wave period Tp and wave height Hs, paired with the floating turbine capabilities in FLORIS. Thus, the user must define multidim_conditions for both Tp and Hs. These conditions will then be used internally in a nearest-neighbor selection process to choose the Ct and power interpolants to use.

Test results, if applicable

All tests pass, with an additional unit test added for the multi-dimensional Cp/Ct capbilities, found at tests/turbine_multi_dim_unit_test.py.

@bayc bayc added enhancement An improvement of an existing feature floating-turbine labels Sep 15, 2023
@bayc bayc added this to the v3.5 milestone Sep 15, 2023
@bayc bayc self-assigned this Sep 15, 2023
@bayc bayc requested review from rafmudaf and paulf81 October 18, 2023 05:27
@bayc bayc marked this pull request as ready for review October 18, 2023 05:33
examples/inputs/gch_multi_dim_cp_ct.yaml Show resolved Hide resolved
floris/simulation/__init__.py Outdated Show resolved Hide resolved
floris/simulation/turbine_multi_dim.py Outdated Show resolved Hide resolved
floris/turbine_library/iea_15MW_multi_dim_Tp_Hs.csv Outdated Show resolved Hide resolved
@bayc bayc force-pushed the feature/multidimensional_cp_ct branch from 326f1c8 to 6057a7e Compare October 26, 2023 02:53
@bayc bayc merged commit e9c90aa into develop Oct 26, 2023
10 checks passed
@bayc bayc deleted the feature/multidimensional_cp_ct branch October 26, 2023 19:05
@rafmudaf rafmudaf mentioned this pull request Oct 26, 2023
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
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants