Coupled AD–Hankel WFLO: A Reproducible Python Framework for Wind-Farm Layout Optimisation Using a Semi-Analytical Actuator-Disk Wake Model
Abstract
Overview Coupled AD–Hankel WFLO is a Python research-software and numerical-reproducibility package developed to support physics-informed wind-farm layout optimisation (WFLO). The framework integrates a two-dimensional, load-resolved, semi-analytical actuator-disk model with a momentum-constrained far-wake continuation. Its objective is to provide a computationally efficient representation of turbine wake interactions suitable for large-scale optimisation campaigns. Mathematical and Computational Framework The proposed methodology combines: Gaussian-regularised actuator-disk modelling with arbitrary annular axial-force distributions. Spectral–Hankel representation of near-field induction. Momentum-constrained wake continuation with downstream diffusion. Precomputed rotor-to-rotor wake-influence matrices. Rotor-averaged wake interactions and quadratic deficit superposition. Wind-farm layout optimisation under prescribed turbine-placement constraints. The framework incorporates Jensen/PARK and Bastankhah Gaussian wake models for comparative numerical investigations. Benchmark and Optimisation Campaign The reproducibility package implements a discrete wind-farm benchmark consisting of 30 turbines distributed over a 10 × 10 candidate grid with a spacing of 5 rotor diameters. The primary numerical campaign includes three wake models, three wind-climate scenarios, six optimisation algorithms and 20 independent random seeds. Each optimisation run uses a budget of 10,000 objective-function evaluations, resulting in 1,080 independent optimisation runs and 10.8 million primary objective evaluations. The six implemented optimisation algorithms are: Binary Genetic Algorithm (BGA) Binary Particle Swarm Optimisation (BPSO) Binary Differential Evolution (BDE) Simulated Annealing (SA) Ant Colony Optimisation (ACO) Covariance Matrix Adaptation Evolution Strategy (CMA-ES) An additional sensitivity campaign investigates the effects of wake-growth coefficients and near/far-wake coupling-plane locations. Numerical Results and Reproducibility The audited numerical package contains 1,080 final layouts, 253,980 convergence-history records, 120 sensitivity runs and 3,240 cross-wake-model comparison records. The archived benchmark reports a pooled median Case-B power of 14.503 MW for the coupled AD–Hankel model, compared with 14.544 MW for the Bastankhah model and 13.731 MW for Jensen/PARK. The package includes source code, numerical input data, optimisation histories, sensitivity results, statistical-analysis scripts, scientific figures, verification utilities and SHA-256 integrity records. The main numerical campaign and its associated analysis products have been checked against the archived numerical results. Validation and Limitations The associated manuscript reports comparisons of the near-field model with digitised New MEXICO measurements and actuator-disk simulation results. The original experimental-validation processing scripts and digitisation workbooks are not included in this software release. Validation Figures 2 and 3 and their associated numerical metrics are preserved as archived original outputs and are not independently regenerated by the supplied Python scripts. The wind-farm study represents a fixed-count, discrete-grid benchmark rather than a complete site-specific wind-project assessment. Its synthetic wind scenarios and annual-energy calculations should not be interpreted as measured site performance. Reproducibility The package provides documented installation instructions, pinned Python dependencies and a unified execution interface. A quick deterministic verification can be performed using: python run_all.py --quick The complete numerical campaign can be regenerated using: python run_all.py --full --workers 4 After completing the full campaign, the verification procedure can be executed using: python run_all.py --verify Python 3.13 is the recommended interpreter for the archived environment. Intended Applications The software is intended for researchers and engineers investigating semi-analytical turbine-wake modelling, wind-farm layout optimisation, numerical reproducibility, wake-model uncertainty and comparative optimisation algorithms.