Source code for foxes.models.axial_induction.madsen
from foxes.core import AxialInductionModel
[docs]
class MadsenAxialInduction(AxialInductionModel):
"""
Computes the induction factor through polynomial
fit, extending validity for high ct values
Notes
-----
Reference:
Helge Aagaard Madsen, Torben Juul Larsen, Georg Raimund Pirrung, Ang Li, and Frederik Zahle
"Implementation of the blade element momentum model on a polar grid and its aeroelastic load impact"
https://doi.org/10.5194/wes-5-1-2020
Attributes
----------
k1: float
Model coefficient
k2: float
Model coefficient
k3: float
Model coefficient
:group: models.axial_induction
"""
[docs]
def __init__(self, k1=0.2460, k2=0.0586, k3=0.0883):
"""
Constructor.
Parameters
----------
k1: float
Model coefficient
k2: float
Model coefficient
k3: float
Model coefficient
"""
super().__init__()
self.k1 = k1
self.k2 = k2
self.k3 = k3
[docs]
def ct2a(self, ct):
"""
Computes induction from ct
Parameters
----------
ct: numpy.ndarray or float
The ct values
Returns
-------
ct: numpy.ndarray or float
The induction values
"""
return self.k1 * ct + self.k2 * ct**2 + self.k3 * ct**3