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

Add super-Gaussian velocity model for vertical-axis wind turbines #700

Open
wants to merge 38 commits into
base: develop
Choose a base branch
from

Conversation

vallbog
Copy link
Contributor

@vallbog vallbog commented Aug 18, 2023

Super-Gaussian velocity model

This PR adds a super-Gaussian velocity model for vertical-axis wind turbines (VAWTs). The model is based on (Ouro & Lazennec, 2021) and allows the wake to have different characteristics in the cross-stream $y$ and vertical direction $z$. This would be the first velocity model for VAWTs in FLORIS since all existing models are for traditional horizontal-axis wind turbines (HAWTs).

This is a part of a series of PRs (please see #701 for an overview). The focus of this PR is to correctly generate the velocity field behind a single VAWT using the new velocity model. Further infrastructure for VAWTs, e.g. for calculating turbine powers, are added in #701.

In addition to the super-Gaussian model, new solvers vawt_solver and full_flow_vawt_solver are added. No turbulence model is included in these since I don't know if existing turbulence models can be applied to VAWTs. A new example 30_vertical_axis_turbine.py shows a characteristic wake of a VAWT.

Validation of the velocity model

Here we check if this FLORIS-implementation of the super-Gaussian model is correct. A validation script (link in the next section) recreates figures from (Ouro & Lazennec, 2021) showing velocity deficit profiles for 6 different cases (detailed in table 2 of the article mentioned). External Large Eddy Simulation (LES) data from (Shamsoddin & Porté-Agel, 2020) and (Abkar, 2019) is used as a reference.

One of the figures created by the validation script is shown below as an example. It shows velocity deficit profiles at five locations downstream of a single VAWT. For simplicity, one may think of the inflow as homogeneous. Coordinates $x/D$, $y/D$, and $z/D$ are in the streamwise, cross-stream, and vertical direction respectively, and normalized by the turbine diameter $D$. The dashed lines show the extent of the turbine which has a height-to-diameter ratio of about 2 in this case. The red lines are generated by FLORIS and the black circles are external LES data. See #699 for details about how the velocity profiles figure is created in general.

The super-Gaussian model is in good agreeement with the LES data in the case shown above. However, compared to figure 9 in (Ouro & Lazennec, 2021), the FLORIS-implementation gives a slighly lower value of the maximum velocity deficits at $x/D$ = 3.0 and 6.0. This difference (in maximum normalized velocity deficit) is about 0.05 and it's among the largest differences observed between the FLORIS super-Gaussian implementation and the article super-Gaussian results in all 6 cases.

The reason for the difference above is unknown at the moment. I've double-checked the derivation of the model in the article, the implementation in FLORIS, and the model input parameters. Nevertheless, I believe that the results from the FLORIS-implementation are close enough.

Validation script

The validation script validation/validate_super_gaussian_vawt.py can be found in the branch validation/VAWT-super-Gaussian. It is only available to the FLORIS maintainers because I cannot share the LES data. However, all 6 figures created by the script can be found below:
velocity_deficit_profiles.zip

Impacted areas of the software

Compared to #699, the main changes are in:
floris/simulation/wake_velocity/super_gaussian_vawt.py
floris/simulation/solver.py

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.

2 participants