FragilityCurve
FragilityCurve()Class met een aantal gemakkelijke methoden om fragility curves op te slaan en aan te passen
Attributes
| Name | Type | Description |
|---|---|---|
| data_adapter | DataAdapter | DataAdapter object om data in te laden |
| hydraulicload | Optional[np.ndarray] | None | Array met de belastingen |
| failure_probability | Optional[np.ndarray] | None | Array met de faalkansen |
| lower_limit | float | Ondergrens voor de interpolatie van de faalkans, standaard 1e-200 |
| interp_x_func | Callable | Functie waarmee x waardes geinterpoleerd worden |
| interp_y_func | Callable | Functie waarmee y waardes geinterpoleerd worden |
| enforce_monotonic | bool | Forceert monotoon stijgende faalkansen, standaard True |
| fragility_curve_schema | ClassVar[dict[str, str]] | Schema waaraan de fragility curve moet voldoen:{hydraulicload: float, failure_probability: float} |
| cached_fragility_curves | Optional[dict[str | int, str | pd.DataFrame]] | None | Cache voor fragility curves die al zijn berekend, de key is een string of int met een bijbehorende DataAdapter naam Afhankelijk van de implementatie kan deze cache worden gebruikt om fragility curves in te laden zonder deze opnieuw te berekenen. De logica om de selectie van de cache te kiezen moet op een hoger abstractieniveau worden ge�mplementeerd. |
| measure_to_effect | Optional[dict[str | int, float]] | None | Mapping van maatregel id’s naar effect waarden (float) om verschuivingen van de fragility curve te bepalen. Deze mapping kan worden gebruikt in combinatie met de ‘shift’ methode om fragility curves aan te passen op basis van specifieke maatregelen. |
Methods
| Name | Description |
|---|---|
| as_array | Geef curve terug als NumPy array. Deze kunnen vervolgens worden gestacked en in een database geplaatst |
| as_dataframe | Geef curve terug als pandas dataframe |
| calculate_fragility_curve | |
| check_monotonic_curve | Forceert monotoon stijgende faalkansen |
| copy | Maak een kopie van de fragility curve |
| find_jump_indices | |
| from_dataframe | Zet een dataframe om naar een fragility curve |
| hydraulic_load_from_failure_probability | Zoek de hydraulische belasting behorende bij een faalkans |
| interp_x_func | interpolate_1d met y-waardes omgezet naar log-waardes |
| interp_y_func | interpolate_1d met x-waardes omgezet naar log-waardes |
| load | Laadt een fragility curve in |
| load_effect_from_data_adapter | Gebruik een zelf opgegeven DataAdapter om de fragility curve in te laden |
| load_effect_from_dataframe | Gebruik een zelf opgegeven DataAdapter om de fragility curve in te laden |
| log_exceptions | Stuurt exceptions eerst naar de logger van de DataAdapter |
| refine | Interpoleert de fragility curve op de gegeven waterstanden |
| reliability_update | Voer een versimpelde reliability updating uit |
| run | |
| shift | Schuift de hydraulische belasting van de fragility curve op om |
| sort_curve | Sorteert de fragility curve eerst op waterstand en vervolgens op faalkans |
as_array
FragilityCurve.as_array()Geef curve terug als NumPy array. Deze kunnen vervolgens worden gestacked en in een database geplaatst
as_dataframe
FragilityCurve.as_dataframe()Geef curve terug als pandas dataframe
calculate_fragility_curve
FragilityCurve.calculate_fragility_curve(*args, **kwargs)check_monotonic_curve
FragilityCurve.check_monotonic_curve()Forceert monotoon stijgende faalkansen
copy
FragilityCurve.copy()Maak een kopie van de fragility curve
find_jump_indices
FragilityCurve.find_jump_indices()from_dataframe
FragilityCurve.from_dataframe(df)Zet een dataframe om naar een fragility curve
hydraulic_load_from_failure_probability
FragilityCurve.hydraulic_load_from_failure_probability(
failure_probability_value,
)Zoek de hydraulische belasting behorende bij een faalkans
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| failure_probability_value | float | Faalkans waarvoor de hydraulische belasting gezocht wordt | required |
Returns
| Name | Type | Description |
|---|---|---|
| float | Hydraulische belasting behorende bij de faalkans |
interp_x_func
FragilityCurve.interp_x_func(x, xp, fp, ll=1e-200, clip01=False)interpolate_1d met y-waardes omgezet naar log-waardes
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| x | np.ndarray | X-waardes waarop geinterpoleerd moet worden | required |
| xp | np.ndarray | Referentievector van x-waardes | required |
| fp | np.ndarray | Referentievector van y-waardes | required |
| ll | float | Ondergrens voor de interpolatie, deze waarde of kleiner wordt als 0 gezien | 1e-200 |
| clip01 | bool | Begrens resultaat tussen [0, 1] | False |
Returns
| Name | Type | Description |
|---|---|---|
| np.array | geinterpoleerde vector |
interp_y_func
FragilityCurve.interp_y_func(y, xp, fp, ll=1e-200)interpolate_1d met x-waardes omgezet naar log-waardes
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| y | np.ndarray | Y-waardes waarop geinterpoleerd moet worden | required |
| xp | np.ndarray | Referentievector van x-waardes | required |
| fp | np.ndarray | Referentievector van y-waardes | required |
| ll | float | Ondergrens voor de interpolatie, deze waarde of kleiner wordt als 0 gezien | 1e-200 |
Returns
| Name | Type | Description |
|---|---|---|
| np.array | geinterpoleerde vector |
load
FragilityCurve.load(input)Laadt een fragility curve in
load_effect_from_data_adapter
FragilityCurve.load_effect_from_data_adapter(cached_value)Gebruik een zelf opgegeven DataAdapter om de fragility curve in te laden
load_effect_from_dataframe
FragilityCurve.load_effect_from_dataframe(cached_value)Gebruik een zelf opgegeven DataAdapter om de fragility curve in te laden
log_exceptions
FragilityCurve.log_exceptions(method)Stuurt exceptions eerst naar de logger van de DataAdapter
refine
FragilityCurve.refine(new_hydraulicload, add_steps=True)Interpoleert de fragility curve op de gegeven waterstanden
reliability_update
FragilityCurve.reliability_update(update_level, trust_factor=1)Voer een versimpelde reliability updating uit
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| update_level | int | float | hydraulic load level to which the fragility curve is updated | required |
| trust_factor | int | float | by default 1 | 1 |
run
FragilityCurve.run(*args, **kwargs)shift
FragilityCurve.shift(effect)Schuift de hydraulische belasting van de fragility curve op om bijvoorbeeld het effect van een noodmaatregel te implementeren. Een positieve verschuiving levert bij dezelfde faalkans dan een hogere hydraulische belasting op. Of bij dezelfde hydraulische belasting een lagere faalkans.
sort_curve
FragilityCurve.sort_curve()Sorteert de fragility curve eerst op waterstand en vervolgens op faalkans