Skip to content

Comments

Include ServoDyn in Option 1 solve if structural controllers are enabled#3213

Open
deslaughter wants to merge 5 commits intoOpenFAST:devfrom
deslaughter:SrvD_Option1
Open

Include ServoDyn in Option 1 solve if structural controllers are enabled#3213
deslaughter wants to merge 5 commits intoOpenFAST:devfrom
deslaughter:SrvD_Option1

Conversation

@deslaughter
Copy link
Collaborator

This PR is ready to merge pending testing from @RBergua.

Feature or improvement description

This PR changes the glue code to add ServoDyn to the Option 1 implicit input-output solve for modules whose forces and accelerations significantly affect the structural dynamics of the model if any structural controllers are enabled in the module. As part of this improvement, the original ServoDyn Jacobian calculation routines were replaced with central difference routines to match the other modules which were revised during tight-coupling development. This change highlighted a couple of differences in the Jacobians, related to structural controllers, and several test baselines were updated as a result.

While processing this PR it was found that the Simulink build was no longer working for the Visual Studio projects, so they were modified to address this separate issue.

Related issue, if one exists

This feature was added as a result of discussion in #3189 where modeling a Wave Energy Converter failed because the model would quickly go unstable.

Impacted areas of the software

  • ServoDyn.f90
  • FAST_Solver.f90
  • Visual Studio Projects

Test results, if applicable

  • r-test branch merging required

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR integrates ServoDyn into the Option 1 implicit input-output solver when structural controllers are enabled, replacing the original Jacobian calculation routines with central difference methods. This change addresses instability issues in models with structural controllers (e.g., Wave Energy Converters). Additionally, Visual Studio project configurations were updated to fix Simulink build issues.

Changes:

  • Added ServoDyn to Option 1 solve when structural controllers are active
  • Replaced ServoDyn Jacobian calculation with central difference routines
  • Updated Visual Studio project files for Matlab/Simulink builds

Reviewed changes

Copilot reviewed 36 out of 37 changed files in this pull request and generated no comments.

Show a summary per file
File Description
modules/servodyn/src/ServoDyn_Types.f90 Removed legacy Jacobian parameters from ServoDyn parameter type
modules/servodyn/src/ServoDyn_Registry.txt Removed linearization parameter definitions from registry
modules/openfast-library/src/FAST_Solver.f90 Added ServoDyn to Option 1 modules when structural controllers present, updated state update logic
modules/openfast-library/src/FAST_Funcs.f90 Updated ServoDyn Jacobian function signatures to accept ModData%Vars
modules/awae/src/vtk.cpp Changed loop counter type from unsigned to signed
vs-build/modules/*.vfproj (multiple) Added Matlab_Debug and Matlab_Release configurations
vs-build/glue-codes/OpenFAST-Simulink.vfproj Added additional source files to Simulink project
vs-build/OpenFAST.sln Updated build configuration mappings for Matlab configurations and removed dependency
reg_tests/r-test Updated subproject commit reference
Comments suppressed due to low confidence (5)

vs-build/modules/WakeDynamics.vfproj:1

  • Extraneous 's' character after closing Configuration tag. Remove the 's' to fix XML syntax.
    vs-build/modules/VersionInfo.vfproj:1
  • Extraneous 's' character after closing Configuration tag. Remove the 's' to fix XML syntax.
    vs-build/modules/SubDyn.vfproj:1
  • Extraneous 's' character after closing Configuration tag. Remove the 's' to fix XML syntax.
    vs-build/modules/SoilDyn.vfproj:1
  • Extraneous 's' character after closing Configuration tag. Remove the 's' to fix XML syntax.
    vs-build/modules/SeaState.vfproj:1
  • Missing 's' character after closing Configuration tag to match pattern in other files, or the 's' in other files should be removed. Verify correct XML syntax and ensure consistency.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@deslaughter deslaughter linked an issue Feb 19, 2026 that may be closed by this pull request
Copy link
Collaborator

@andrew-platt andrew-platt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issues with TMD in ServoDyn-Stc

2 participants