hydesign.pv.pv

Classes

pvp

PV power plant model : It computes the solar power output during the lifetime of the plant using solar plant AC capacity, DC/AC ratio, location coordinates and PV module angles

pvp_with_degradation

PV degradation model providing the PV degradation time series throughout the lifetime of the plant

pvp_degradation_linear

PV degradation model providing the PV degradation time series throughout the lifetime of the plant,

shadow

pv loss model due to shadows of wt

Functions

get_solar_time_series(surface_tilt, surface_azimuth, ...)

Computing the output power time series of the PV plant

get_linear_solar_degradation(pv_deg_per_year, life[, ...])

Computes the PV degradation

Module Contents

class hydesign.pv.pv.pvp(weather_fn, N_time, latitude, longitude, altitude, tracking='single_axis')[source]

Bases: openmdao.api.ExplicitComponent

PV power plant model : It computes the solar power output during the lifetime of the plant using solar plant AC capacity, DC/AC ratio, location coordinates and PV module angles

weather_fn[source]
N_time[source]
tracking = 'single_axis'[source]
weather[source]
pvloc[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.pv.pv.pvp_with_degradation(life_y=25, intervals_per_hour=1, pv_deg_yr=[0, 25], pv_deg=[0, 25 * 1 / 100])[source]

Bases: openmdao.api.ExplicitComponent

PV degradation model providing the PV degradation time series throughout the lifetime of the plant

life_y = 25[source]
life_h = 219000[source]
life_intervals = 219000[source]
intervals_per_hour = 1[source]
pv_deg_yr = [0, 25][source]
pv_deg[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.pv.pv.pvp_degradation_linear(life_y=25, intervals_per_hour=1)[source]

Bases: openmdao.api.ExplicitComponent

PV degradation model providing the PV degradation time series throughout the lifetime of the plant, considering a fixed linear degradation of the PV panels

life_y = 25[source]
life_h = 219000[source]
life_intervals = 219000[source]
intervals_per_hour = 1[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.pv.pv.shadow(N_time)[source]

Bases: openmdao.api.ExplicitComponent

pv loss model due to shadows of wt

N_time[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.pv.pv.get_solar_time_series(surface_tilt, surface_azimuth, solar_MW, land_use_per_solar_MW, DC_AC_ratio, tracking, pvloc, weather)[source]

Computing the output power time series of the PV plant

Parameters:
  • surface_tilt (surface tilt of the PV panels)

  • surface_azimuth (azimuth of the PV panels)

  • DC_AC_ratio (DC-AC ratio of the PV converter)

  • solar_MW (AC nominal capacity of the PV power plant)

Returns:

solar_t

Return type:

PV power time series

hydesign.pv.pv.get_linear_solar_degradation(pv_deg_per_year, life, intervals_per_hour=1)[source]

Computes the PV degradation

Parameters:
  • pv_deg_per_year (fixed yearly degradation of PV panels)

  • life (lifetime of the plant in intervals)

Returns:

SoH_pv

Return type:

degradation of the PV plant throughout the lifetime