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,insulatedwind_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. Seepvdeg.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]