-
Notifications
You must be signed in to change notification settings - Fork 117
Description
Desired use case
I am using ROSCO 2.10.1 for normal power production in OrcaFlex, with WE_Mode = 2 and with small pitch offsets on each blade (thanks to PF_Offsets). I run various wind speeds, but here I am specifically talking about below rated conditions.
Description
Out of a large selection of load cases, it appeared that some cases below rated showed erratic rotor speed behaviour which was not present with ROSCO 2.9. Also, this behaviour could be eliminated by reducing slightly the time step (in this case, 0.04s vs. 0.05s). After investigating what differences between v2.9 and v2.10 could explain this, I realised that WE_Op was zero in a lot of time steps, and that this was probably due to BlPitchCMeas being just slightly below PC_MinPit. In the present case, the small (negative / zero / positive) pitch offsets on each blade cancel out when the average is calculated to obtain BlPitchCMeas, but I think a tiny rounding error causes the result to be just below PC_MinPit (I'm talking less than 1e-6 rad).
Solution
The solution I have found is to change the lower bound that delimits the "operating" pitch range.
| WE_Inp_Pitch = saturate(LocalVar%BlPitchCMeas, CntrPar%PC_MinPit,Max_Op_Pitch) |
In my case, the pitch lower bound from the rotor performance file is a good lower bound for that "operating" pitch range because it's lower than PC_MinPit. I made this change in the controller code and it solved the problem (no more zero-WE_op situations, and no more erratic rotor speed variations). It might not be the right solution for other cases though. Maybe consider saturating with PC_MinPit minus an epsilon, to avoid getting zero-WE_Op just because of tiny rounding problems?
An important note: at the moment it's unclear to me why the WE_Op = 0 situations (and the use of "measured" wind speed instead of the estimation) lead to bad rotor speed behaviour. And it is even less clear why this problem arose with time step 0.05s and not with 0.04s...
Anyway, thanks for all the great work on this very useful tool!