Source code for py_wake.literature.turbopark

from py_wake.deficit_models.gaussian import TurboGaussianDeficit
from py_wake.ground_models.ground_models import Mirror
from py_wake.rotor_avg_models.gaussian_overlap_model import GaussianOverlapAvgModel
from py_wake.superposition_models import SquaredSum
from py_wake.wind_farm_models.engineering_models import PropagateDownwind
from py_wake.deficit_models.utils import ct2a_mom1d


[docs]class Nygaard_2022(PropagateDownwind): """ Implemented similar to: Ørsted's TurbOPark model (https://github.com/OrstedRD/TurbOPark/blob/main/TurbOPark%20description.pdf) Features: - Velocity deficit defined as in Bastankhah and Porté-Agel (2014) with a Gaussian profile. - Wake expansion calculation considers the combination of the ambient turbulence intensity (I0) and the turbulence generated by the wake itself. - The expression by Frandsen (2007) is used to model the turbulence in the turbine's wake, which depends on the thrust coefficient and downstream distance. - Wake expansion parameter (A) calibrated from data and constant at A = 0.04. - The squared sum wake superposition model from Katic et al (1986) is used as default. - The mirror model is used as the default ground model. """
[docs] def __init__(self, site, windTurbines): wake_deficitModel = TurboGaussianDeficit( ct2a=ct2a_mom1d, groundModel=Mirror(), rotorAvgModel=GaussianOverlapAvgModel()) # Ørsted scales the deficit with respect to the ambient wind speed of the downstream turbine: wake_deficitModel.WS_key = 'WS_jlk' PropagateDownwind.__init__(self, site, windTurbines, wake_deficitModel=wake_deficitModel, superpositionModel=SquaredSum())