You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ALLOCATE( MD_InitInp%PtfmInit(6,farm%p%NumTurbines), MD_InitInp%TurbineRefPos(3,farm%p%NumTurbines), STAT = ErrStat2 )
835
835
if (Failed0("MoorDyn PtfmInit and TurbineRefPos initialization inputs in FAST.Farm.")) return;
836
836
837
-
! gather spatial initialization inputs for Farm-level MoorDyn
838
-
DO nt =1,farm%p%NumTurbines
839
-
MD_InitInp%PtfmInit(:,nt) = farm%FWrap(nt)%m%Turbine%MD%m%PtfmInit ! turbine PRP initial positions and rotations in their respective coordinate systems from each FAST/MD instance
837
+
! gather spatial initialization inputs for Farm-level MoorDyn (platform locations in their respective coordinate systems and locations of the turbines in the farm global coordinate system)
838
+
DO nt =1,farm%p%NumTurbines
839
+
MD_InitInp%PtfmInit(:,nt) = farm%FWrap(nt)%m%Turbine%p_FAST%PlatformPosInit ! platform initial positions in their respective coordinate systems from each FAST/ED instance
840
840
MD_InitInp%TurbineRefPos(:,nt) = farm%p%WT_Position(:,nt) ! reference positions of each turbine in the farm global coordinate system
typedef ^ FAST_ParameterType CHARACTER(4) Tdesc - - - "description of turbine ID (for FAST.Farm) screen printing"
196
+
typedef ^ FAST_ParameterType DbKi PlatformPosInit {6} - - "Platform inital 6 DOF position from ED (this is different from TurbinePos)" -
196
197
197
198
# Parameters for linearization
198
199
typedef ^ FAST_ParameterType LOGICAL CalcSteady - - - "Calculate a steady-state periodic operating point before linearization [unused if Linearize=False]" -
Init%InData_MD%FileName = p_FAST%MooringFile ! This needs to be set according to what is in the FAST input file.
1208
1211
Init%InData_MD%RootName = p_FAST%OutFileRoot
1209
1212
1210
-
Init%InData_MD%PtfmInit(:,1) = Init%OutData_ED%PlatformPos ! initial position of the platform (when a FAST module, MoorDyn just takes one row in this matrix)
1213
+
Init%InData_MD%PtfmInit(:,1) = p_FAST%PlatformPosInit ! initial position of the platform (when a FAST module, MoorDyn just takes one row in this matrix)
1211
1214
Init%InData_MD%FarmSize = 0 ! 0 here indicates normal FAST module use of MoorDyn, for a single turbine
1212
1215
Init%InData_MD%TurbineRefPos(:,1) = 0.0_DbKi ! for normal FAST use, the global reference frame is at 0,0,0
1213
1216
Init%InData_MD%g = p_FAST%Gravity ! This need to be according to g used in ElastoDyn
Copy file name to clipboardExpand all lines: modules/openfast-library/src/FAST_Types.f90
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -207,6 +207,7 @@ MODULE FAST_Types
207
207
REAL(DbKi) :: VTK_fps = 0.0_R8Ki !< number of frames per second to output VTK data [-]
208
208
TYPE(FAST_VTK_SurfaceType) :: VTK_surface !< Data for VTK surface visualization [-]
209
209
CHARACTER(4) :: Tdesc !< description of turbine ID (for FAST.Farm) screen printing [-]
210
+
REAL(DbKi) , DIMENSION(1:6) :: PlatformPosInit = 0.0_R8Ki !< Platform inital 6 DOF position from ED (this is different from TurbinePos) [-]
210
211
LOGICAL :: CalcSteady = .false. !< Calculate a steady-state periodic operating point before linearization [unused if Linearize=False] [-]
211
212
INTEGER(IntKi) :: TrimCase = 0_IntKi !< Controller parameter to be trimmed {1:yaw; 2:torque; 3:pitch} [unused if Linearize=False; used only if CalcSteady=True] [-]
212
213
REAL(ReKi) :: TrimTol = 0.0_ReKi !< Tolerance for the rotational speed convergence (>0) [unused if Linearize=False; used only if CalcSteady=True] [-]
0 commit comments