# reV.losses.power_curve.LinearStretching

class LinearStretching(power_curve)[source]

Utility for applying a linear stretch to the power curve.

The mathematical representation of this transformation is:

$P_{transformed}(u) = P_{original}(u/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 multiplier).

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:

PowerCurve

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 a linear stretch to the original power curve.

Attributes

 bounds true Bounds on the wind speed multiplier (different from the optimization boundaries) optm_bounds Bounds for scipy optimization, sometimes more generous than the actual fit parameter bounds which are enforced after the optimization.
apply(transformation_var)[source]

Apply a linear 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 linear multiplier of the wind speed scaling.

Returns:

PowerCurve – An new power curve containing the generation values from the shifted power curve.

property bounds

true Bounds on the wind speed multiplier (different from the optimization boundaries)

Type:

tuple

property optm_bounds

Bounds for scipy optimization, sometimes more generous than the actual fit parameter bounds which are enforced after the optimization.