From ef8a4593b584237611c4895a571c2240da68e6f0 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Thu, 12 Mar 2026 14:24:49 +0000 Subject: [PATCH 1/2] Try to fix simulations failing to converge with structural controller enabled --- modules/openfast-library/src/FAST_Solver.f90 | 14 ++++++++++++-- modules/servodyn/src/ServoDyn.f90 | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/openfast-library/src/FAST_Solver.f90 b/modules/openfast-library/src/FAST_Solver.f90 index 3d07605969..450e10ce9a 100644 --- a/modules/openfast-library/src/FAST_Solver.f90 +++ b/modules/openfast-library/src/FAST_Solver.f90 @@ -488,7 +488,12 @@ subroutine SetVarSolveFlags() do i = 1, size(SrcMod%Vars%y) associate (Var => SrcMod%Vars%y(i)) if (.not. MV_EqualDL(Mapping%SrcDL, Var%DL)) cycle - call MV_SetFlags(Var, VF_Solve) + select case (Var%Field) + case (FieldForce, FieldMoment) + call MV_SetFlags(Var, VF_Solve) + case (FieldScalar) + if (Var%DerivOrder == 2) call MV_SetFlags(Var, VF_Solve) + end select end associate end do @@ -496,7 +501,12 @@ subroutine SetVarSolveFlags() do i = 1, size(DstMod%Vars%u) associate (Var => DstMod%Vars%u(i)) if (.not. MV_EqualDL(Mapping%DstDL, Var%DL)) cycle - call MV_SetFlags(Var, VF_Solve) + select case (Var%Field) + case (FieldForce, FieldMoment) + call MV_SetFlags(Var, VF_Solve) + case (FieldScalar) + if (Var%DerivOrder == 2) call MV_SetFlags(Var, VF_Solve) + end select end associate end do diff --git a/modules/servodyn/src/ServoDyn.f90 b/modules/servodyn/src/ServoDyn.f90 index 38226c0ca7..b1b5dc6fa8 100644 --- a/modules/servodyn/src/ServoDyn.f90 +++ b/modules/servodyn/src/ServoDyn.f90 @@ -643,7 +643,7 @@ subroutine SrvD_InitVars(InitInp, u, p, x, y, m, InitOut, Linearize, ErrStat, Er do k = 1, size(StCInds) call MV_AddVar(InitOut%Vars%x, Desc, FieldScalar, DatLoc(SrvD_x_BStC_StC_x, j), & iAry=StCInds(k), jAry=i, & - Flags=VF_DerivOrder2+VF_RotFrame, & + Flags=ior(VF_DerivOrder2,VF_RotFrame), & LinNames=[trim(Desc)//StCLabels(StCInds(k))], & Perturb=xPerturb) end do @@ -696,7 +696,7 @@ subroutine SrvD_InitVars(InitInp, u, p, x, y, m, InitOut, Linearize, ErrStat, Er call MV_AddVar(InitOut%Vars%u, "BlPitch", FieldScalar, & DatLoc(SrvD_u_BlPitch), & - Flags=VF_RotFrame + VF_2PI, & + Flags=ior(VF_RotFrame, VF_2PI), & Num=size(u%BlPitch), & Perturb=uPerturbAng, & LinNames=[('BlPitch('//trim(Num2LStr(i))//'), rad', i = 1, size(u%BlPitch))]) From abb1f5d872fae11e185826bcc9c4bc097c6124a1 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Thu, 12 Mar 2026 15:51:51 +0000 Subject: [PATCH 2/2] Update r-test pointer --- reg_tests/r-test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reg_tests/r-test b/reg_tests/r-test index 5a8e01081a..30e927ae24 160000 --- a/reg_tests/r-test +++ b/reg_tests/r-test @@ -1 +1 @@ -Subproject commit 5a8e01081ac83baef3598a2009307826c068913b +Subproject commit 30e927ae24facef3e1bbd324bd3b26fcaa321b7c