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