reV.losses.power_curve.ExponentialStretching
- class ExponentialStretching(power_curve)[source]
Bases:
AbstractPowerCurveTransformation
Utility for applying an exponential stretch to the power curve.
The mathematical representation of this transformation is:
\[P_{transformed}(u) = P_{original}(u^{1/t}),\]where \(P_{transformed}\) is the transformed power curve, \(P_{original}\) is the original power curve, \(u\) is the wind speed, and \(t\) is the transformation variable (wind speed exponent).
The losses in this type of transformation are distributed primarily across regions 2 and 3 of the power curve. In particular, losses are smaller for wind speeds closer to the cut-in speed, and larger for speeds close to rated power:
- power_curve
The “original” input power curve.
- Type:
Abstract Power Curve Transformation class.
- Parameters:
power_curve (
PowerCurve
) – The turbine power curve. This input is treated as the “original” power curve.
Methods
apply
(transformation_var)Apply an exponential stretch to the original power curve.
Attributes
Bounds on the wind speed exponent.
Bounds for scipy optimization, sometimes more generous than the actual fit parameter bounds which are enforced after the optimization.
- apply(transformation_var)[source]
Apply an exponential stretch to the original power curve.
This function stretches the original power curve along the “wind speed” (x) axis. Any power above the cutoff speed (if one was detected) is truncated after the transformation.
- Parameters:
transformation_var (float) – The exponent of the wind speed scaling.
- Returns:
PowerCurve
– An new power curve containing the generation values from the shifted power curve.
- property optm_bounds
Bounds for scipy optimization, sometimes more generous than the actual fit parameter bounds which are enforced after the optimization.