Hi all,
I am trying to use ROSCO through the python toolbox, coupled with a hydrodynamic model of a FOWT. I can successfully call the ROSCO controller through the control_interface class. However, when I use the call_controller function and pass the fore-aft nacelle acceleration of the FOWT into the NacIMU_FA_Acc argument it seems to have no effect. I ran a coupled simulation of the FOWT operating at rated wind speed with no waves with NacIMU_FA_Acc = 0, and NacIMU_FA_Acc = the nacelle acceleration, and the output blade pitch from ROSCO is the same each time (results of these two simulations are attached below).
Below are some snippets from my code for reference:
nac_FA_pos[i] = current_Hub_Pos[0] # X (surge) coordinate of the turbine hub
nac_FA_vel[i] = (nac_FA_pos[i] - nac_FA_pos[i - 1]) / dt # nacelle fore-aft velocity
nac_FA_accel[i] = (nac_FA_vel[i] - nac_FA_vel[i - 1]) / dt # nacelle fore-aft acceleration
genTorque[i], pitch[i] = controller_int.call_controller(Time, dt, pitch[i - 1], genTorque[i - 1], genSpeed[i], GenEff / 100, rotorSpeed[i], WindSpeed, NacIMU_FA_Acc=nac_FA_accel)
where i is the index corresponding to the current time step in the simulation
Sim 1 (NacIMU_FA_Acc = 0)
Sim 2 (NacIMU_FA_Acc = the nacelle acceleration)
I would hugely appreciate any help you can offer!
best,
Jackson