Module probabilistic
Analyses probabilistes et statistiques selon EurOtop (2018)
Distributions, incertitudes, fiabilité et bandes de confiance
- openeurotop.probabilistic.weibull_distribution_overtopping(Hm0, Tm_10, h, Rc, alpha_deg, gamma_f=1.0, gamma_beta=1.0, gamma_b=1.0, N_waves=1000, g=9.81)[source]
Distribution de Weibull pour les volumes de franchissement par vagues individuelles
EurOtop 2018 - Section 5.5.2
La distribution de Weibull à 2 paramètres : P(V > v) = exp(-(v/a)^b)
- Parameters:
Hm0 (float) – Hauteur significative spectrale (m)
Tm_10 (float) – Période spectrale (s)
h (float) – Profondeur d’eau (m)
Rc (float) – Revanche (m)
alpha_deg (float) – Angle de pente (degrés)
gamma_f (float, optional) – Facteurs de réduction
gamma_beta (float, optional) – Facteurs de réduction
gamma_b (float, optional) – Facteurs de réduction
N_waves (int, optional) – Nombre de vagues
g (float, optional) – Accélération de la pesanteur (m/s²)
- Returns:
Paramètres de Weibull et statistiques
- Return type:
References
EurOtop (2018) - Équation 5.21
- openeurotop.probabilistic.volume_exceedance_weibull(v, a, b)[source]
Probabilité de dépassement d’un volume selon Weibull
P(V > v) = exp(-(v/a)^b)
- openeurotop.probabilistic.uncertainty_overtopping(Hm0, Tm_10, h, Rc, alpha_deg, structure_type='smooth_slope', gamma_f=1.0, gamma_beta=1.0, gamma_b=1.0)[source]
Estimation des incertitudes sur le franchissement
EurOtop 2018 - Section 5.8
L’incertitude est exprimée par l’écart-type du logarithme : - Digues lisses : σ_ln(q) ≈ 0.13 - Digues rugueuses : σ_ln(q) ≈ 0.15 - Murs verticaux : σ_ln(q) ≈ 0.14
- Parameters:
Hm0 (float) – Paramètres de la structure
Tm_10 (float) – Paramètres de la structure
h (float) – Paramètres de la structure
Rc (float) – Paramètres de la structure
alpha_deg (float) – Paramètres de la structure
structure_type (str) – Type de structure (“smooth_slope”, “rough_slope”, “vertical_wall”)
gamma_f (float) – Facteurs de réduction
gamma_beta (float) – Facteurs de réduction
gamma_b (float) – Facteurs de réduction
- Returns:
Statistiques avec bandes de confiance
- Return type:
References
EurOtop (2018) - Section 5.8
- openeurotop.probabilistic.reliability_freeboard(q_limit, Hm0, Tm_10, h, alpha_deg, gamma_f=1.0, gamma_beta=1.0, gamma_b=1.0, sigma_ln_q=0.15)[source]
Calcul de la revanche nécessaire pour un débit limite avec un niveau de fiabilité
- Parameters:
q_limit (float) – Débit limite tolérable (m³/s/m)
Hm0 (float) – Hauteur significative spectrale (m)
Tm_10 (float) – Période spectrale (s)
h (float) – Profondeur d’eau (m)
alpha_deg (float) – Angle de pente (degrés)
gamma_f (float) – Facteurs de réduction
gamma_beta (float) – Facteurs de réduction
gamma_b (float) – Facteurs de réduction
sigma_ln_q (float, optional) – Écart-type du logarithme de q (incertitude)
- Returns:
Revanches pour différents niveaux de confiance
- Return type:
Examples
>>> # Revanche nécessaire pour q < 1 l/s/m avec 95% de confiance >>> result = reliability_freeboard(0.001, Hm0=2.5, Tm_10=6.0, h=10.0, alpha_deg=35.0) >>> print(f"Rc (95% confiance) = {result['Rc_95']:.2f} m")
- openeurotop.probabilistic.monte_carlo_overtopping(Hm0_mean, Hm0_std, Tm_10_mean, Tm_10_std, h, Rc, alpha_deg, gamma_f=1.0, n_simulations=10000)[source]
Simulation Monte Carlo pour évaluer la variabilité du franchissement
Prend en compte la variabilité de Hm0 et Tm-1,0
- Parameters:
Hm0_mean (float) – Moyenne et écart-type de Hm0 (m)
Hm0_std (float) – Moyenne et écart-type de Hm0 (m)
Tm_10_mean (float) – Moyenne et écart-type de Tm-1,0 (s)
Tm_10_std (float) – Moyenne et écart-type de Tm-1,0 (s)
h (float) – Profondeur d’eau (m)
Rc (float) – Revanche (m)
alpha_deg (float) – Angle de pente (degrés)
gamma_f (float, optional) – Facteur de rugosité
n_simulations (int, optional) – Nombre de simulations Monte Carlo
- Returns:
Statistiques des résultats Monte Carlo
- Return type:
Examples
>>> # Variabilité climatique : Hm0 = 2.5 ± 0.5 m >>> result = monte_carlo_overtopping(2.5, 0.5, 6.0, 0.8, 10.0, 3.0, 35.0) >>> print(f"q moyen = {result['q_mean']:.6f} m³/s/m") >>> print(f"q 95% = {result['q_95']:.6f} m³/s/m")
- openeurotop.probabilistic.confidence_bands_overtopping(Hm0, Tm_10, h, Rc_range, alpha_deg, gamma_f=1.0, structure_type='rough_slope')[source]
Calcule les bandes de confiance pour différentes revanches
- Parameters:
Hm0 (float) – Paramètres de vague et profondeur
Tm_10 (float) – Paramètres de vague et profondeur
h (float) – Paramètres de vague et profondeur
Rc_range (array_like) – Gamme de revanches à évaluer (m)
alpha_deg (float) – Angle de pente (degrés)
gamma_f (float) – Facteur de rugosité
structure_type (str) – Type de structure pour l’incertitude
- Returns:
Arrays avec q_mean, q_lower, q_upper pour chaque Rc
- Return type:
Examples
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> Rc_range = np.linspace(1, 5, 20) >>> result = confidence_bands_overtopping(2.5, 6.0, 10.0, Rc_range, 35.0) >>> plt.fill_between(Rc_range, result['q_lower']*1000, result['q_upper']*1000, alpha=0.3) >>> plt.plot(Rc_range, result['q_mean']*1000) >>> plt.xlabel('Rc (m)') >>> plt.ylabel('q (l/s/m)') >>> plt.show()
- openeurotop.probabilistic.failure_probability_overtopping(q_critical, Hm0, Tm_10, h, Rc, alpha_deg, gamma_f=1.0, sigma_ln_q=0.15)[source]
Calcule la probabilité de défaillance (q > q_critical)
En supposant une distribution log-normale de q
- Parameters:
q_critical (float) – Débit critique au-delà duquel il y a défaillance (m³/s/m)
Hm0 (float) – Paramètres de la structure
Tm_10 (float) – Paramètres de la structure
h (float) – Paramètres de la structure
Rc (float) – Paramètres de la structure
alpha_deg (float) – Paramètres de la structure
gamma_f (float) – Facteur de rugosité
sigma_ln_q (float) – Écart-type du logarithme de q
- Returns:
Probabilité de défaillance Pf
- Return type:
Examples
>>> # Probabilité que q dépasse 10 l/s/m >>> Pf = failure_probability_overtopping(0.01, 2.5, 6.0, 10.0, 3.0, 35.0) >>> print(f"Probabilité de défaillance : {Pf*100:.2f}%")
- openeurotop.probabilistic.design_overtopping_rate(return_period_years, acceptable_rate_per_year=0.1)[source]
Calcule le débit de franchissement de conception basé sur une période de retour
- Parameters:
- Returns:
Informations sur le niveau de conception
- Return type:
Examples
>>> # Conception pour tempête centennale >>> design = design_overtopping_rate(100)
Analyses d’incertitudes
uncertainty_overtopping
- openeurotop.probabilistic.uncertainty_overtopping(Hm0, Tm_10, h, Rc, alpha_deg, structure_type='smooth_slope', gamma_f=1.0, gamma_beta=1.0, gamma_b=1.0)[source]
Estimation des incertitudes sur le franchissement
EurOtop 2018 - Section 5.8
L’incertitude est exprimée par l’écart-type du logarithme : - Digues lisses : σ_ln(q) ≈ 0.13 - Digues rugueuses : σ_ln(q) ≈ 0.15 - Murs verticaux : σ_ln(q) ≈ 0.14
- Parameters:
Hm0 (float) – Paramètres de la structure
Tm_10 (float) – Paramètres de la structure
h (float) – Paramètres de la structure
Rc (float) – Paramètres de la structure
alpha_deg (float) – Paramètres de la structure
structure_type (str) – Type de structure (“smooth_slope”, “rough_slope”, “vertical_wall”)
gamma_f (float) – Facteurs de réduction
gamma_beta (float) – Facteurs de réduction
gamma_b (float) – Facteurs de réduction
- Returns:
Statistiques avec bandes de confiance
- Return type:
References
EurOtop (2018) - Section 5.8
confidence_bands_overtopping
- openeurotop.probabilistic.confidence_bands_overtopping(Hm0, Tm_10, h, Rc_range, alpha_deg, gamma_f=1.0, structure_type='rough_slope')[source]
Calcule les bandes de confiance pour différentes revanches
- Parameters:
Hm0 (float) – Paramètres de vague et profondeur
Tm_10 (float) – Paramètres de vague et profondeur
h (float) – Paramètres de vague et profondeur
Rc_range (array_like) – Gamme de revanches à évaluer (m)
alpha_deg (float) – Angle de pente (degrés)
gamma_f (float) – Facteur de rugosité
structure_type (str) – Type de structure pour l’incertitude
- Returns:
Arrays avec q_mean, q_lower, q_upper pour chaque Rc
- Return type:
Examples
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> Rc_range = np.linspace(1, 5, 20) >>> result = confidence_bands_overtopping(2.5, 6.0, 10.0, Rc_range, 35.0) >>> plt.fill_between(Rc_range, result['q_lower']*1000, result['q_upper']*1000, alpha=0.3) >>> plt.plot(Rc_range, result['q_mean']*1000) >>> plt.xlabel('Rc (m)') >>> plt.ylabel('q (l/s/m)') >>> plt.show()
Distribution de Weibull
weibull_parameters
individual_overtopping_volume
distribution_individual_volumes
Monte Carlo
monte_carlo_overtopping
- openeurotop.probabilistic.monte_carlo_overtopping(Hm0_mean, Hm0_std, Tm_10_mean, Tm_10_std, h, Rc, alpha_deg, gamma_f=1.0, n_simulations=10000)[source]
Simulation Monte Carlo pour évaluer la variabilité du franchissement
Prend en compte la variabilité de Hm0 et Tm-1,0
- Parameters:
Hm0_mean (float) – Moyenne et écart-type de Hm0 (m)
Hm0_std (float) – Moyenne et écart-type de Hm0 (m)
Tm_10_mean (float) – Moyenne et écart-type de Tm-1,0 (s)
Tm_10_std (float) – Moyenne et écart-type de Tm-1,0 (s)
h (float) – Profondeur d’eau (m)
Rc (float) – Revanche (m)
alpha_deg (float) – Angle de pente (degrés)
gamma_f (float, optional) – Facteur de rugosité
n_simulations (int, optional) – Nombre de simulations Monte Carlo
- Returns:
Statistiques des résultats Monte Carlo
- Return type:
Examples
>>> # Variabilité climatique : Hm0 = 2.5 ± 0.5 m >>> result = monte_carlo_overtopping(2.5, 0.5, 6.0, 0.8, 10.0, 3.0, 35.0) >>> print(f"q moyen = {result['q_mean']:.6f} m³/s/m") >>> print(f"q 95% = {result['q_95']:.6f} m³/s/m")