Skip to content

Conversation

@vallbog
Copy link
Contributor

@vallbog vallbog commented Aug 18, 2023

Infrastructure for vertical-axis wind turbines

This is a part of a series of PRs aimed to add support for vertical-axis wind turbines in FLORIS. The development structure is outlined in the next section. This PR makes sure that the velocity at each turbine is sampled correctly for both horizontal-axis wind turbines (HAWTs) and vertical-axis wind turbines (VAWTs). It also makes sure that turbine powers are calculated correctly for VAWTs.

More specifically, the PR includes the following:

  • Updated TurbineGrid class: Now supports both HAWTs and VAWTs, including a mix of the two in the same farm. A square grid is used for HAWTs and a rectangular grid is used for VAWTs. The number of grid points in each direction (cross-stream and vertically) may now be different to allow for approximately equidistant grid points in farms with only VAWTs.
  • Added VerticalAxisTurbine class: This class is similar to the existing Turbine class in simulation/turbine.py. The correct rotor cross-sectional area is now used when calculating the turbine power for a VAWT.
  • Updated example 30_vertical_axis_turbine.py: This example was created in Add super-Gaussian velocity model for vertical-axis wind turbines #700 to show a characteristic wake of a VAWT. It now also calculates turbine powers in a layout with tandem VAWTs.
  • Added tests/reg_tests/super_gaussian_vawt_regression_test.py

Related PRs and branches

The following branch structure shows how several PRs are related:

                                                                               validation/VAWT-super-Gaussian
                                                                             /
develop -> feature/velocity-deficit-profiles -> feature/VAWT-super-Gaussian -> feature/VAWT-infrastructure

Links:

Impacted areas of the software

Compared to #700, the main changes are in:
floris/simulation/grid.py
floris/simulation/turbine.py

@rafmudaf
Copy link
Collaborator

rafmudaf commented Sep 7, 2023

Hi @vallbog Sorry for the delay in any response. August and September are very busy months for us, so we haven't had a chance to consider this work. I will be more available to work with you toward the end of September or definitely beginning of October. Thanks for your patience, and thanks for sending this contribution!

@vallbog
Copy link
Contributor Author

vallbog commented Sep 7, 2023

I understand. Thanks for letting me know!

@misi9170
Copy link
Collaborator

misi9170 commented Dec 8, 2025

Hi @vallbog ,

I'm very sorry that we've let these sit so long. Your contributions here have come up various times in internal discussions between @rafmudaf , @paulf81 , and myself on the future of FLORIS over the past couple of years, but we have hesitated when coming to decisions. The problem, for us, is that while your pull requests (this one and #700) are clearly well thought-through and well-formulated, we don't have VAWT experience amongst the core development team and don't feel that we can support the code you've developed going forward. So, unfortunately that leads us to the decision to not merge your PRs.

Now, there may be people in the FLORIS user community who are interested in modeling VAWTs. One option is for you to maintain your fork of FLORIS as a dedicated "FLORIS for VAWTs" model. We would certainly be happy to point people to your work and software if they are interested in modeling VAWTs. You can even change the name of your fork (see point 4 here) to something like "FLORIS_VAWT" to highlight the additions to FLORIS that you've made.

Another important option that I want to highlight, though, is a future ability to have "plug and play" user-provided models for wake models and turbine operation models. The idea for plug-in wake models comes from @RRiva in #1131, also mentioned here. We are planning to restructure the format of wake model solvers to achieve this over the next year or so, but once it is available, this might be a good way for you to maintain a smaller repository that contains your VAWT-specific wake model without needing to keep a full fork of the FLORIS repositories (and again, we could point users to it). Similarly, we have a prototype for user-provided "plug in" turbine operation models that may have the capabilities you need for modeling the VAWT response. This will also likely appear in the next major version of FLORIS in the next year or so. Even with those changes, there may need to be some generalizations of a few parts of the core FLORIS infrastructure (e.g. the Grid classes) to support your implementation; but perhaps we can cross that bridge when (and if) we get there. If you're up for it, we could even use your VAWT models as a good "stress test" for these new user-provided model capabilities.

Again, I'm sorry to be transferring a mostly negative decision here. Please do consider this me honestly saying "it's not you, it's me": I don't have any particular issues with your code, but we don't currently have the ability or expertise in the core FLORIS team to support modeling VAWTs. I'll leave this PR and #700 open for a couple more weeks to give you the time to reply and keep the conversation going, but I do plan to close them without merger around the end of December.

Best,
Misha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants