RAFT for floater optimization

Hi NREL team,
I am looking into creating a floating platform optimiser with RAFT. I intend setting a maximum nacelle acceleration constraint, but RAFT only seem to give 0m/s^2 as maximum nacelle acceleration. Would greatly appreciate any insight on this.
Regards
Salem

Hi Salem,
There are a number of large updates to RAFT currently in progress that will hopefully make things easier in the future. Unfortunately, for now, RAFT often needs some expertise with the code to be used in the loop for optimization, etc. If you dig into the details more and can tell where you think something is going wrong, I could try to offer solution ideas. But it may be easier to wait until we get some updates finished that will somewhat simplify use of the code.
Best,
Matt

Hi Matt,
Many thanks for your response. I have added the following line below RAFT/raft_fowt.py at 7781903e8a798840eee808e97113a0fa2ce344ef · WISDEM/RAFT · GitHub

    results['AxRNA_avg'][iCase] =  np.sum( np.abs(XiHub*self.w**2)* self.dw ) # approx. mean
    results['AxRNA_max'][iCase] = results['AxRNA_avg'][iCase] + 3*results['AxRNA_std'][iCase]

I now obtain Nacelle acceleration mean and max. Can the above be adequate?
Regards
Salem

Hi @Matthew.Hall,
Your input to this post will highly be appreciated.
BR
Salem

Hi Salem,

This looks promising. The calculation for AxRNA_max is consistent with other maximum calculations in RAFT.

The AxRNA_avg calculation is probably not right. Typically the avg values in RAFT refer to the mean values, similar to the average value of a time series. But your calculation looks like it is based on the motion amplitudes (which would be relative to the mean value). Depending on whether you are interested in the acceleration in the global x direction or in the local direction that rotates with the platform pitch, I would suggest either that AxRNA_avg be zero or g*sin(Xi0[4]), respectively.

Hi @Matthew.Hall ,
Many thanks, much appreciated. That’s been updated as AxRNA_avg = self.g*np.sin(Xi0[4]).
BR
Salem