Control of TMDs

Dear All,

I am currently writing my Master’s Thesis on the use of actively controlled TMDs in the nacelle of turbines. I am trying to create a control algorithm, coupled with a full state estimator, that would allow for the control of vibrations.
I have 2 questions I hope you can help me with;

  1. I have downloaded the TMD module developed by Mr. La Cava and MR. Lackner. I have been unable to run the TMD with an active control strategy, as I am continuously met with the error when setting the TMD_CMode to 2, for active control:

FAST_InitializeAll:SrvD_Init:TMD_Init:Control mode (TMD_CMode) must be 0 (none) or 1
(semi-active) in this version of TMD

I have consulted the FAST literature and that released by the developers of the module and cannot find anything regarding this error. Are there certain conditions for which the active control strategy can not run, and if so what are they?

  1. I would like to be able to provide an input actuator force to the TMDs. I have seen posts regarding this on this forum and know it is not yet part of FAST. I was instead wondering if anyone who has worked on a similar topic and has customised the code to allow for user input to the TMD? If so I would really appreciate some guidance on the matter.

Thank you all for your time and hoping to hear from you soon,

Luke Cunningham
Master’s Student
Trinity College Dublin

Dear Luke,

Looking briefly at the TMD source code, it appears that the TMD submodule only supports TMD_CMode = 0 or 1. Source code changes would be required to support active TMD control through TMD_CMode = 2. My guess is UMASS–the developers of this TMD submodule–have implemented active TMD control through a custom TMD_CMode = 2 option, but they have not made this code public. I would reach out to Prof. Matt Lackner of UMASS directly for assistance (I’m not sure whether Matt checks this forum regularly).

Best regards,

Hello Jason,

I have tried incorporating the TMD source code that has an option for an “active control mode” in its TMD_CMode with OpenFAST v2.4 and I keep getting the same error that Luke highlighted in this post:

FAST_InitializeAll:SrvD_Init:TMD_Init:Control mode (TMD_CMode) must be 0 (none) or 1
(semi-active) in this version of TMD.

Am I using the wrong TMD source file or TMD control isn’t supported by OpenFAST?

Dear Younis,

Active TMD control through TMD_CMode = 2 is not currently available in OpenFAST. We are, however, working on a major overhaul of the TMD submodule of ServoDyn (which has now been renamed to Structural Control, StC) at the moment, so, improvements will be coming soon.

Best regards,