Skip to content

Conversation

@andrew-platt
Copy link
Collaborator

Ready to merge, pending test results.

Feature or improvement description
If a wake plane center leaves the domain, set the velocity of the plane to zero. In low wind speed cases where the center of a skewed wake plane was leaving domain, the remaining sampled region of the plane could get very small and have negative weighting. If this happens with a bit of flow reversal, the plane could suddenly jump backwards by a substantial distance. This was leading to some strange looking results and odd interactions with turbines near that edge of the domain.

Related issue, if one exists
Issue reported internally

Impacted areas of the software
Wake velocity calculations in the AWAE module only.

Additional supporting information
Screenshot 2025-10-06 at 5 17 26 PM
Wakes at T=t

Screenshot 2025-10-06 at 5 17 44 PM Wakes at `T=t+1`. The wake jumps backwards as a result of an unusual weighting calculation on a partial wake region with flow reversal at the far right low resolution boundary.

Test results, if applicable
No test results change.

If a wake plane center leaves the domain, set the velocity of the plane to zero.  In low wind speed cases where the center of a skewed wake plane was leaving domain, the remaining sampled region of the plane could get very small and have negative weighting.  If this happens with a bit of flow reversal, the plane could suddenly jump backwards by a substantial distance.  This was leading to some strange looking results and odd interactions with turbines near that edge of the domain.
Copy link
Collaborator

@jjonkman jjonkman left a comment

Choose a reason for hiding this comment

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

Looks like we discussed; thanks!

Copy link
Contributor

@ptrbortolotti ptrbortolotti left a comment

Choose a reason for hiding this comment

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

Screenshot 2025-10-07 at 3 45 26 PM

some planes get stuck at the outlet now, but they no longer interfere with the simulation

@ptrbortolotti
Copy link
Contributor

and thank you @andrew-platt and @jjonkman !

@jjonkman
Copy link
Collaborator

jjonkman commented Oct 7, 2025

@ptrbortolotti -- Thanks for verifying that the algorithm works as intended. @andrew-platt and I discussed a small change whereby the wake planes get pushed outside of boundary of the low-resolution domain once their wake centers cross the boundary; @andrew-platt will implement this change before this PR is finalized.

@jjonkman
Copy link
Collaborator

jjonkman commented Oct 8, 2025

Hi @andrew-platt,

Thanks for making this change. I agree this is the approach we discussed. However, I can still foresee a problem if one wake plane gets pushed out of the domain and those around it get close to the boundary, but don't get pushed out (e.g. when flow is nominally along X and a plane gets pushed out from the Y or Z boundaries). This could stretch the wake volumes between the plane that gets pushed out and those that remain in the domain. Getting around this would require adding some nominal free-stream velocity to the wake plan that gets pushed out, e.g., as is calculated to move the WAT box.

@andrew-platt
Copy link
Collaborator Author

andrew-platt commented Oct 8, 2025

Could we run into an issue with the free-stream velocity at the wake plane where the velocity is low so the plane only partially exits the domain? Could that land us back in the scenario that started this issue?

Or are you thinking we could apply this over multiple timesteps until the entire wake plane has fully left the domain?

@ptrbortolotti
Copy link
Contributor

I've run a comparison between the two recent commits and I see some minor differences in some signals. Here I plot rotor speed for T3
image

T2 also shows these minor differences, whereas T1s are identical

@jjonkman
Copy link
Collaborator

jjonkman commented Oct 8, 2025

@andrew-platt -- I'm thinking we should sum the nominal free-stream velocity with the velocity normal to the boundary that you already added. Likewise, use the nominal free-stream-velocity for any wake plane that has already left the domain. In this way, any wake plane that crosses a boundary will be pushed out, but once it is out, it will continue propagating downstream to prevent wakes from "bunching" up" near the boundaries where they exited the domain.

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