Closed-loop active wake control#450
Merged
Merged
Conversation
dzalkind
self-requested a review
July 11, 2025 20:44
dzalkind
reviewed
Jul 11, 2025
dzalkind
reviewed
Jul 11, 2025
| ! Closed-loop PI / PR controller | ||
| ELSEIF ((CntrPar%AWC_Mode == 3) .OR. (CntrPar%AWC_Mode == 4)) THEN | ||
|
|
||
| !! For now, only works with AWC_NumModes=2 |
Collaborator
There was a problem hiding this comment.
Should we throw an error or warning based on this comment?
Contributor
Author
There was a problem hiding this comment.
It's actually a bit more complicated than that. It only sometimes works. If we really want to, we can still throw a warning, but it would be a lot of if statements.
dzalkind
reviewed
Jul 11, 2025
added 13 commits
July 11, 2025 15:03
dzalkind
reviewed
Jul 30, 2025
| IF (CntrPar%AWC_harmonic(1) == 0) THEN | ||
| ! Calculate mean moments, subtract later to get zero-mean tilt and yaw | ||
| LocalVar%TiltMean = LocalVar%TiltMean + FixedFrameM(1) | ||
| StartTime = 1/CntrPar%AWC_freq(1) |
Collaborator
There was a problem hiding this comment.
What is StartTime if this condition is not met?
Collaborator
|
@jfrederik-nrel, this is passing all the CI tests and is ready to merge. There are 2 minor questions to address. Let me know when you're finished testing and ready to merge. |
added 2 commits
July 30, 2025 17:39
Contributor
Author
|
@dzalkind made tiny changes to address your comments. I'm good to have it merged into develop! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description and Purpose
This PR adds closed-loop (CL) active wake mixing capabilities. It adds 3 new operable
AWC_Modes that use different CL control algorithms to regulate the blade pitch based on a prescribed AWC excitation signal:AWC_Mode = 3: CL AWC using PI controllersAWC_Mode = 4: CL AWC using proportional-resonant (PR) controllersAWC_Mode = 5: CL AWC using the "Strouhal transformation" combined with PI controllersExample 20,
20_active_wake_control.py, has also been updated to document how to use these new modes and show an example of how to run it.Type of change
What types of change is it?
Select the appropriate type(s) that describe this PR
TODO Items General:
TODO Items API Change:
Examples/Testing, if applicable
20_active_wake_control.pyhas been updated. No tests added yet.