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).
- OpenFAST v3.5.0
- MATLAB R202x or later
- Global Optimization Toolbox (for
particleswarmandga) - Windows OS (tested configuration)
The goal is to optimize two TMD parameters:
- Damping ratio (ξ)
- Stiffness (k)
Minimization of the standard deviation of the platform pitch motion obtained from OpenFAST simulations.
The coupling between MATLAB and OpenFAST follows a sequential automation process:
MATLAB generates candidate TMD parameters:
- damping ratio (ξ)
- stiffness (k)
For each candidate solution:
- Structural Control input file is updated
- ServoDyn input file is updated
- Main OpenFAST
.fstfile is updated
This ensures that each simulation uses the current TMD design.
The modified model is executed using:
- OpenFAST v3.5 solver
- Time-domain simulation of floating wind turbine dynamics
After simulation:
.outfile is read into MATLAB- Platform pitch response is extracted
The performance metric is computed as:
- Standard deviation of platform pitch motion
This value represents the vibration level of the system.
The PSO algorithm updates the TMD parameters and repeats the process until convergence.
- Particle Swarm Optimization (PSO) via MATLAB
particleswarm
Optional:
- Genetic Algorithm (
ga)
main_optimization.m→ Main PSO/GA optimization scriptcompute_objective_function.m→ Objective function linked to OpenFASTmodify_strucCtrl_input_file.m→ Updates TMD parameters in structural control filemodify_servodyn_input_file.m→ Updates ServoDyn input filemodify_openfast_input_file.m→ Updates OpenFAST.fstfilerunFAST_optimization_riad.m→ Runs OpenFAST simulation
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}
}