Dear @Jason.Jonkman
I’m checking OpenFAST for the calculation of wave excitation loads in the case of large amplitude motions. If I understand correctly, HydroDyn seems to use interpolation directly to calculate wave excitation loads when ExctnMod = 1 (DFT method).
! Compute the load contribution from incident waves (i.e., the diffraction problem):
if ( p%ExctnMod == 0 ) then
m%F_Waves1 = 0.0_ReKi
else if ( p%ExctnMod == 1 ) then
! Abort if the wave excitation loads have not been computed yet:
IF ( .NOT. ALLOCATED ( p%WaveExctn ) ) THEN
ErrMsg = ' Routine WAMIT_Init() must be called before routine WAMIT_CalcOutput().'
ErrStat = ErrID_Fatal
RETURN
END IF
DO I = 1,6*p%NBody ! Loop through all wave excitation forces and moments
m%F_Waves1(I) = InterpWrappedStpReal ( REAL(Time, SiKi), WaveTime(:), p%WaveExctn(:,I), &
m%LastIndWave, p%NStepWave + 1 )
END DO ! I - All wave excitation forces and moments
else if ( p%ExctnMod == 2 ) then
call SS_Exc_CalcOutput( Time, m%SS_Exctn_u, p%SS_Exctn, x%SS_Exctn, xd%SS_Exctn, &
z%SS_Exctn, OtherState%SS_Exctn, m%SS_Exctn_y, m%SS_Exctn, ErrStat, ErrMsg )
m%F_Waves1 (:) = m%SS_Exctn_y%y
end if
However, when the platform displacements are large, the displacement phase angle must be considered. The displacement phase angle is defined as the phase of wave propagation between the platform current position and the global coordinate origin. Because the wave excitation coefficients from WAMIT are obtained based on the fixed structure.
Has HydroDyn considered this elsewhere and I missed it?
Best regards,
Tianyuan