pvdeg.fatigue.solder_fatigue#

pvdeg.fatigue.solder_fatigue(weather_df: DataFrame, meta: dict, time_range: Series = None, temp_cell: Series = None, reversal_temp: float = 54.8, n: float = 1.9, b: float = 0.33, C1: float = 405.6, Q: float = 0.12, wind_factor: float = 0.33, temp_model='sapm', conf='open_rack_glass_polymer', model_kwarg={}, irradiance_kwarg={}) float[source]#

Get the Thermomechanical Fatigue of flat plate photovoltaic module solder joints.

Damage will be returned as the rate of solder fatigue for one year. Based on:

Bosco, N., Silverman, T. and Kurtz, S. (2020). Climate specific thermomechanical fatigue of flat plate photovoltaic module solder joints. [online] Available at: https://www.sciencedirect.com/science/article/pii/S0026271416300609 [Accessed 12 Feb. 2020].

This function uses the default values for 60-min input intervals from Table 4 of the above paper. For other use cases, please refer to the paper for recommended values of C1 and the reversal temperature.

Parameters:
  • weather_df (pd.dataframe) – Must contain dni, dhi, ghi, temp_air, windspeed, and datetime index

  • meta (dict) – site location meta-data

  • wind_factor (float, optional) – Wind speed correction exponent to account for different wind speed measurement heights between weather database (e.g. NSRDB) and the tempeature model (e.g. SAPM). The NSRDB provides calculations at 2 m (i.e module height) but SAPM uses a 10m height. It is recommended that a power-law relationship between height and wind speed of 0.33 be used*. This results in a wind speed that is 1.7 times higher. It is acknowledged that this can vary significantly.

  • time_range (timestamp series, optional) – Local time of specific site by the hour year-month-day hr:min:sec (Example) 2002-01-01 01:00:00 If a time range is not give, function will use dt index from weather_df

  • temp_cell (float series, optional) – Photovoltaic module cell temperature [°C] for every hour of a year

  • reversal_temp (float, optional) – Temperature threshold to cross above and below [°C] See the paper for other use cases

  • n (float) – fit parameter for daily max temperature amplitude

  • b (float) – fit parameter for reversal temperature

  • C1 (float) – scaling constant, see the paper for details on appropriate values

  • Q (float) – activation energy [eV]

  • temp_model ((str, optional)) – Specify which temperature model from pvlib to use. Current options:

  • conf ((str)) –

    The configuration of the PV module architecture and mounting configuration. Currently only used for ‘sapm’ and ‘pvsys’. With different options for each.

    ’sapm’ options: open_rack_glass_polymer (default), open_rack_glass_glass, close_mount_glass_glass, insulated_back_glass_polymer

    ’pvsys’ options: freestanding, insulated

  • wind_factor – Wind speed correction exponent to account for different wind speed measurement heights between weather database (e.g. NSRDB) and the tempeature model (e.g. SAPM). The NSRDB provides calculations at 2 m (i.e module height) but SAPM uses a 10m height. It is recommended that a power-law relationship between height and wind speed of 0.33 be used*. This results in a wind speed that is 1.7 times higher. It is acknowledged that this can vary significantly.

  • irradiance_kwarg ((dict, optional)) – keyword argument dictionary used for the poa irradiance caluation. options: sol_position, tilt, azimuth, sky_model. See pvdeg.spectral.poa_irradiance.

  • model_kwarg ((dict, optional)) – keyword argument dictionary used for the pvlib temperature model calculation. See https://pvlib-python.readthedocs.io/en/stable/reference/pv_modeling/temperature.html # noqa for more.

Returns:

damage (float series) – Solder fatigue damage for a time interval depending on time_range [kPa]