Hi, I am using the userline subroutine to model a floating platform with some intereting stability characteristics. The X,Y locaction of the platform’s center of mass is an imporatant determinant of overall platform stability. Can anybody recomend a good way to manipulate the x,y location of the platform mass center? I see how to adjust the vertical mass center in the platform data file but can’t figure out how to modify the lateral center. Thanks.
Adding a horizontal offset to the platform CM will require a small modification to FAST. All that needs to happen is to modify one radial vector. Here is the change:
Near the top of SUBROUTINE FAST.f90/RtHS is this logic: “rZY = rZYzt a2”. The variable rZY is the position vector from the platform reference (point Z) to the platform mass center (point Y). The variable rZYzt is calculated as PtfmRef - PtfmCM earlier in the code, which is the distance separating point Z from point Y along the zt-axis (see the FAST User’s Guide for a definition of the xt/yt/zt coordinate system). The variable a2 is the unit vector directed along the tower centerline (along the zt-axis).
All you will have to do is modify the equation defining rZY to include the horizontal offset. If the offsets are PtfmCMxt and PtfmCMyt along the xt- and yt-axes, respectively, the proper equation would be: “rZY = rZYzt a2 + PtfmCMxta1 – PtfmCMyta3”. As you can here, the internal unit vectors are related to the tower-base coordinate as follows: a1 = xt, a2 = zt, a3 = -yt.
*Of course, you could also modify the input routines so that PtfmCMxt and PtfmCMyt are read-in from the platform input file. To do this, search the source code for how input parameter PtfmCM is currently processed.
Also, if the platform center of buoyancy is not along the tower centerline, than you should add a static moment equal to WtrDensGravityPtfmVol0*offset. This should be added to F_HS near the top of SUBROUTINE HydroCalc.f90/FltngPtfmLd.
I hope that helps!
Thanks for the tip. I was able to modify the source code and the platform is behaving as expected when I shift the lateral position of the CG. The CB is also not alligned with the tower axis, so I applied the buoyant force/moment via the userline subroutine and set the platform volume to zero in the platform data file. It seems like a reasonable approach but please let me know if you can see any pitfalls.
I suggested how you can add a lateral offset to the center of buoyancy calculation in my prior post. You could add it in a UserLine routine, but this will prevent you from being able to use the built-in quasi-static mooring line module.