Skip to content

relhamoud/TMD-OpenFAST-Optimization

Repository files navigation

MATLAB–OpenFAST Coupled Framework for TMD Optimization (v3.5)

This repository provides a MATLAB-based optimization framework coupled with OpenFAST v3.5 for the design and optimization of a Tuned Mass Damper (TMD) applied to a floating offshore wind turbine.

The framework uses time-domain simulations in OpenFAST and optimizes the TMD parameters using Particle Swarm Optimization (PSO).


⚙️ Software Requirements

  • OpenFAST v3.5.0
  • MATLAB R202x or later
  • Global Optimization Toolbox (for particleswarm and ga)
  • Windows OS (tested configuration)

🎯 Objective

The goal is to optimize two TMD parameters:

  • Damping ratio (ξ)
  • Stiffness (k)

Objective function:

Minimization of the standard deviation of the platform pitch motion obtained from OpenFAST simulations.


🔁 How the Code Works

The coupling between MATLAB and OpenFAST follows a sequential automation process:

1. Optimization starts (MATLAB PSO)

MATLAB generates candidate TMD parameters:

  • damping ratio (ξ)
  • stiffness (k)

2. Input file modification

For each candidate solution:

  • Structural Control input file is updated
  • ServoDyn input file is updated
  • Main OpenFAST .fst file is updated

This ensures that each simulation uses the current TMD design.


3. OpenFAST execution

The modified model is executed using:

  • OpenFAST v3.5 solver
  • Time-domain simulation of floating wind turbine dynamics

4. Output extraction

After simulation:

  • .out file is read into MATLAB
  • Platform pitch response is extracted

5. Objective function evaluation

The performance metric is computed as:

  • Standard deviation of platform pitch motion

This value represents the vibration level of the system.


6. Optimization update

The PSO algorithm updates the TMD parameters and repeats the process until convergence.


🧠 Optimization Method

  • Particle Swarm Optimization (PSO) via MATLAB particleswarm

Optional:

  • Genetic Algorithm (ga)

📁 Main Files

  • main_optimization.m → Main PSO/GA optimization script
  • compute_objective_function.m → Objective function linked to OpenFAST
  • modify_strucCtrl_input_file.m → Updates TMD parameters in structural control file
  • modify_servodyn_input_file.m → Updates ServoDyn input file
  • modify_openfast_input_file.m → Updates OpenFAST .fst file
  • runFAST_optimization_riad.m → Runs OpenFAST simulation

⚠️ Important Notes

User-defined paths

Before running the code, the user must define local paths:

coupling.path_of_openfast_exe
coupling.path_of_openfast_filename
coupling.path_of_servodyn_input_file
coupling.path_of_strucCtrl_input_file

📊 Outputs

The optimization returns:

Optimal damping ratio (ξ)
Optimal stiffness (k)
Objective function value (Standard deviation of platform pitch)

📚 Reference

If you use this work, please cite:

Riad El Hamoud, Philip Alkhoury, Abdul-Hamid Soubra, Mourad Aït-Ahmed,
Bidirectional Vibration and Fatigue Mitigation of a Barge-Type Floating Offshore Wind Turbine Using an Omnidirectional Tuned Mass Damper,
Applied Ocean Research, Volume 171, 2026, 105066
https://doi.org/10.1016/j.apor.2026.105066

📌 Disclaimer

This repository is intended for academic and research use only.
No guarantee is provided for compatibility with future OpenFAST versions.

2026.105066

📚 BibTeX
@article{elhamoud2026tmd,
  title={Bidirectional Vibration and Fatigue Mitigation of a Barge-Type Floating Offshore Wind Turbine Using an Omnidirectional Tuned Mass Damper},
  author={El Hamoud, Riad and Alkhoury, Philip and Soubra, Abdul-Hamid and Aït-Ahmed, Mourad},
  journal={Applied Ocean Research},
  volume={171},
  pages={105066},
  year={2026},
  doi={10.1016/j.apor.2026.105066}
}

About

MATLAB–OpenFAST coupling for TMD optimization (v3.5)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages