Refactor wake models and solvers - #1197
Merged
Merged
Conversation
… no longer available
misi9170
marked this pull request as ready for review
July 24, 2026 02:44
Collaborator
Author
|
I've run some profiling similar to what I did here. Here is the profiling on the base dev/v5-beta branch:
And again on the refactored ehmt/solvers branch:
The upshot is that there is not much of a performance change, and I was not expecting there to be. The refactored code seems to run slightly faster, but that could be just a fluke. |
12 tasks
Collaborator
Author
|
Assuming all checks and tests pass, I'm will merge this without review, since it is going into a secondary development branch. There may be some bugs; if that is the case, I will open bugfixes to dev/v5-beta as they come up. |
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.


This is a major PR that restructures how FLORIS implements wake models and solvers. In particular, it removes the capability of mixing and matching wake deficit, deflection, and turbulence models, instead unifying these into a single "model," and it combined the "solver" with the wake model itself.
This has the following benefits:
FlorisModellevel, making the structure more flexible in being able to handle different ways in which the turbine quantities are evaluated.However, the following support will be removed:
In making this change, I have also been working with the
FarmandTurbineclasses some. At this stage, I'm not sure whether I'll keep those changes or revert them, or create a separate PR for them. Time will tell. EDIT: these were separated into #1200, which is now merged.Still to do:
WakeModelManagerusageGauss,CumulativeCurlwake models) is addressed]Update documentation[I'm going to leave this out of this PR. It'll certainly be needed, but with other possible structural changes to come in v5, it'll be easier to document them all in one dedicated PR.]Farm[Leaving for a separate PR; edit: decided to go ahead with this after all, so it's now in]Some items on this TODO list may be left for a future PR, depending on how I get on.
This PR supersedes #503.