hydesign.wind.wind

Classes

genericWT_surrogate

Metamodel of the wind turbine.

genericWake_surrogate

Generic wind farm wake model

wpp

Wind power plant model

wpp_with_degradation

Wind power plant model

Functions

get_rotor_area(d)

get_rotor_d(area)

get_WT_curves(genWT_fn, specific_power)

Evaluates a generic WT look-up table

get_wake_affected_pc(genWake_fn, specific_power, Nwt, ...)

Evaluates a generic WT look-up table

get_wind_ts(ws, pcw, wst, wpp_efficiency)

Evaluates a generic WT look-up table

get_prated_end(ws, pc[, tol])

get_shifted_pc(ws, pc, Dws)

get_losses_shift_power_curve(ws, pc, ws_ts, Dws)

get_Dws(ws, pc, ws_ts, wind_deg_end)

get_wind_ts_degradation(ws, pc, ws_ts, yr, wind_deg, life)

Module Contents

class hydesign.wind.wind.genericWT_surrogate(genWT_fn=lut_filepath + 'genWT_v3.nc', N_ws=51)[source]

Bases: openmdao.api.ExplicitComponent

Metamodel of the wind turbine.

It relies on a look-up table (genWT_fn) of the WT performance for different specific powers (sp=p_rated/rotor_area [W/m2]).

WT performance is:
  1. power vs hub height ws curve

  2. thurst coefficient vs hub heigh ws curve.

Parameters:
  • height (Turbine's hub)

  • diameter (Turbine's)

  • power (Turbine's rated)

Returns:

  • Turbine’s ws (wind speed points in the power curve)

  • Turbine’s power curve (power curve of the wind turbine)

  • Turbine’s ct curve (ct curve of the wind turbine)

genWT_fn[source]
N_ws = 51[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

setup_partials()[source]

Declare partials.

This is meant to be overridden by component classes. All partials should be declared here since this is called after all size/shape information is known for all variables.

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.

class hydesign.wind.wind.genericWake_surrogate(genWake_fn=lut_filepath + 'genWake_v3.nc', N_ws=51)[source]

Bases: openmdao.api.ExplicitComponent

Generic wind farm wake model

It relies on a look-up table of the wake losses for different wind farms :param (1) WT specific power: :type (1) WT specific power: sp=p_rated/rotor_area [W/m2] :param (2) Number of wind turbines: :param (3) Wind farm installation density: :type (3) Wind farm installation density: wind_MW_per_km2

Parameters:
  • Nwt (Number of wind turbines)

  • Awpp (Land use area of the wind power plant)

  • d (Turbine's diameter)

  • p_rated (Turbine's rated power)

  • ws (wind speed points in the power curve)

  • pc (Turbine's power curve)

  • ct (Turbine's Ct coefficient curve)

Returns:

pcw

Return type:

Wake affected power curve

genWake_fn[source]
N_ws = 51[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

setup_partials()[source]

Declare partials.

This is meant to be overridden by component classes. All partials should be declared here since this is called after all size/shape information is known for all variables.

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.

class hydesign.wind.wind.wpp(N_time, N_ws=51, wpp_efficiency=0.95)[source]

Bases: openmdao.api.ExplicitComponent

Wind power plant model

Provides the wind power time series using wake affected power curve and the wind speed time series.

Parameters:
  • ws (Turbine's ws)

  • pcw (Wake affected power curve)

  • wst (wind speed time series at the hub height)

Returns:

wind_t

Return type:

power time series at the hub height

N_time[source]
N_ws = 51[source]
wpp_efficiency = 0.95[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.

class hydesign.wind.wind.wpp_with_degradation(N_time, N_ws=51, wpp_efficiency=0.95, life_y=25, intervals_per_hour=1, wind_deg_yr=[0, 25], wind_deg=[0, 25 * 1 / 100], share_WT_deg_types=0.5, weeks_per_season_per_year=None)[source]

Bases: openmdao.api.ExplicitComponent

Wind power plant model

Provides the wind power time series using wake affected power curve and the wind speed time series.

Parameters:
  • N_time (Number of time-steps in weather simulation)

  • life_h (lifetime in hours)

  • N_ws (number of points in the power curves)

  • wpp_efficiency (WPP efficiency)

  • wind_deg_yr (year list for providing WT degradation curve)

  • wind_deg (degradation losses at yr)

  • share_WT_deg_types (share ratio between two degradation mechanism (0: only shift in power curve, 1: degradation as a loss factor ))

  • ws (Power curve wind speed list)

  • pcw (Wake affected power curve)

  • wst (wind speed time series at the hub height)

Returns:

wind_t_ext_deg

Return type:

power time series with degradation extended through lifetime

N_time[source]
life_y = 25[source]
life_h = 219000[source]
life_intervals = 219000[source]
intervals_per_hour = 1[source]
N_ws = 51[source]
wpp_efficiency = 0.95[source]
wind_deg_yr = [0, 25][source]
wind_deg[source]
share_WT_deg_types = 0.5[source]
weeks_per_season_per_year = None[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.

hydesign.wind.wind.get_rotor_area(d)[source]
hydesign.wind.wind.get_rotor_d(area)[source]
hydesign.wind.wind.get_WT_curves(genWT_fn, specific_power)[source]

Evaluates a generic WT look-up table

Parameters:
  • genWT_fn (look-up table filename)

  • specific_power (WT specific power)

Returns:

  • ws (Wind speed vector for power and thrust coefficient curves)

  • pc (Power curve)

  • ct (Thrust coefficient curves)

hydesign.wind.wind.get_wake_affected_pc(genWake_fn, specific_power, Nwt, wind_MW_per_km2, ws, pc, p_rated)[source]

Evaluates a generic WT look-up table

Parameters:
  • genWake_fn (look-up table filename)

  • specific_power (WT specific power)

  • Nwt (Number of wind turbines)

  • wind_MW_per_km2 (Wind plant installation density)

  • ws (Wind speed vector for wake losses curves)

  • pc

Returns:

wl

Return type:

Wind plant wake losses curve

hydesign.wind.wind.get_wind_ts(ws, pcw, wst, wpp_efficiency)[source]

Evaluates a generic WT look-up table

Parameters:
  • ws (Wind speed vector for wake losses curves)

  • pcw (Wake affected plant power curve)

  • wst (Wind speed time series)

Returns:

wind_ts

Return type:

Wind plant power time series

hydesign.wind.wind.get_prated_end(ws, pc, tol=1e-06)[source]
hydesign.wind.wind.get_shifted_pc(ws, pc, Dws)[source]
hydesign.wind.wind.get_losses_shift_power_curve(ws, pc, ws_ts, Dws)[source]
hydesign.wind.wind.get_Dws(ws, pc, ws_ts, wind_deg_end)[source]
hydesign.wind.wind.get_wind_ts_degradation(ws, pc, ws_ts, yr, wind_deg, life, share=0.5, intervals_per_hour=1)[source]