Skip to content

Commit 355419c

Browse files
committed
IfW: if AD is used, set BoxExceedAllow to true
Ideally, we would set this after we initialize AD and decide based on if OLAF is used. But IfW is initialized before AD now, so we don't know if OLAF will need this info.
1 parent 4377c13 commit 355419c

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

modules/aerodyn/src/AeroDyn.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1929,7 +1929,7 @@ subroutine AD_CalcWind_Rotor(t, u, FlowField, p, RotInflow, StartNode, ErrStat,
19291929

19301930
contains
19311931
logical function Failed()
1932-
call SetErrStat(errStat2, errMsg2, errStat, errMsg, 'AD_CalcWind')
1932+
call SetErrStat(errStat2, errMsg2, errStat, errMsg, 'AD_CalcWindRotor')
19331933
Failed = errStat >= AbortErrLev
19341934
end function Failed
19351935
end subroutine

modules/aerodyn/src/AeroDyn_Inflow.f90

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,10 @@ subroutine ADI_InitInflowWind(Root, i_IW, u_AD, o_AD, IW, dt, InitOutData, errSt
388388
endif
389389
InitInData%RootName = trim(Root)//'.IfW'
390390
InitInData%MHK = i_IW%MHK
391+
! OLAF might be used in AD, in which case we need to allow out of bounds for some calcs. To do that
392+
! the average values for the entire wind profile must be calculated and stored (we don't know if OLAF
393+
! is used until after AD_Init below).
394+
InitInData%BoxExceedAllow = .true.
391395
CALL InflowWind_Init( InitInData, IW%u, IW%p, &
392396
IW%x, IW%xd, IW%z, IW%OtherSt, &
393397
IW%y, IW%m, dt, InitOutData, errStat2, errMsg2 )

modules/openfast-library/src/FAST_Subs.f90

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,13 @@ SUBROUTINE FAST_InitializeAll( t_initial, p_FAST, y_FAST, m_FAST, ED, SED, BD, S
520520
Init%InData_IfW%Use4Dext = .false.
521521
END IF
522522

523+
! OLAF might be used in AD, in which case we need to allow out of bounds for some calcs. To do that
524+
! the average values for the entire wind profile must be calculated and stored (we don't know if OLAF
525+
! is used until after AD_Init below).
526+
if (p_FAST%CompAero == Module_AD) then
527+
Init%InData_IfW%BoxExceedAllow = .true.
528+
endif
529+
523530
CALL InflowWind_Init( Init%InData_IfW, IfW%Input(1), IfW%p, IfW%x(STATE_CURR), IfW%xd(STATE_CURR), IfW%z(STATE_CURR), &
524531
IfW%OtherSt(STATE_CURR), IfW%y, IfW%m, p_FAST%dt_module( MODULE_IfW ), Init%OutData_IfW, ErrStat2, ErrMsg2 )
525532
CALL SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName)

0 commit comments

Comments
 (0)