EC3_Feu — EN 1993-1-2¶
Calcul en situation d'incendie pour les structures acier selon EN 1993-1-2.
feu ¶
modele
module-attribute
¶
Plat ¶
Plat(t: mm = 0, h: mm = 0, b: mm = 0, classe_acier: str = CLASSE_STEEL, classe_transv: int = ('1', '2', '3', '4'), **kwargs)
Bases: Projet
Initialise un élément acier de section rectangulaire selon l'EN 1993-1-1.
Définit la géométrie (t, b, h) et les caractéristiques mécaniques (fy, fu) en fonction de la classe d'acier et de l'épaisseur. Classe de base dont héritent Traction, Compression, Cisaillement et Flexion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
t
|
int
|
Épaisseur du plat en mm. Defaults to 0. |
0
|
h
|
int
|
Hauteur du plat en mm. Defaults to 0. |
0
|
b
|
int
|
Largeur du plat en mm. C'est cette dimension qui, avec t, détermine le moment quadratique pour les vérifications. Defaults to 0. |
0
|
classe_acier
|
str
|
Classe d'acier selon EN 1993-1-1 Tableau 3.1 (ex. "S235", "S275", "S355"). Defaults to "S235". |
CLASSE_STEEL
|
classe_transv
|
int
|
Classe transversale de la section (1, 2 ou 3) selon EN 1993-1-1 §5.5. La classe 4 n'est pas implémentée. Defaults to 1. |
('1', '2', '3', '4')
|
**kwargs
|
Arguments transmis à la classe parent Projet. |
{}
|
Raises:
| Type | Description |
|---|---|
ValueError
|
Si classe_acier n'est pas dans CLASSE_STEEL. |
ValueError
|
Si classe_transv n'est pas 1, 2 ou 3. |
_TemperatureGaz ¶
Bases: object
Courbes de température des gaz θ_g(t). Par défaut : feu nominal ISO 834 / EN 1991-1-2 §3.2.1(1): θ_g(t) = 20 + 345 * log10(8 * t_min + 1) (°C)
_CoeffFeu ¶
Bases: object
Calcul des coefficients de réduction au feu selon l'EN 1993-1-2 pour l'acier carbone : - k_y,θ : réduction de la limite d'élasticité (Tableau 3.1) - k_b,θ : réduction de la résistance des boulons (Tableau 3.4)
Les valeurs sont interpolées linéairement entre les températures normalisées du code (en °C).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
theta
|
float
|
température de calcul en °C. |
required |
Feu_acier ¶
Feu_acier(time: int, am_v: float, theta_a0: float = 20.0, epsilon_m: float = 0.7, rho_a: float = 7850.0, k_sh: float = 1.0, **kwargs)
Bases: Plat
Classe permettant le calcul de la température de l'acier θ_a(t) au feu selon EN 1993-1-2, §4.2 et retourne les facteurs de réduction k. Cette classe est hérité de la classe Plat du module EC3_Element_droit.py. Hypothèses : acier non protégé, flux convectif et radiatif simplifiés.
Formule incrémentale (Euler) : θ_a(t+Δt) = θ_a(t) + (k_sh * (A/V) / (ρ_a * c_a)) * (h_c(θ_g-θ_a) + ε_mΦσ((θ_r+273)^4-(θ_a+273)^4)) * Δt
Par défaut : ε_m = 0.7, Φ = 1.0, ρ_a = 7850 kg/m³, c_a = 600 J/kgK. Les températures sont en °C, le temps en minutes, A/V en m⁻¹.
Initialise le calcul thermique d'un élément acier non protégé selon EN 1993-1-2 §4.2.3.
Le calcul incrémental est exécuté automatiquement à l'instanciation (pas de 5 s). La courbe de feu utilisée est la courbe nominale ISO 834. Les résultats sont stockés dans self.fire_data (DataFrame).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
time
|
int
|
Durée totale de l'exposé au feu en minutes. |
required |
am_v
|
float
|
Facteur de massivité A_m/V en m⁻¹ (surface exposée / volume acier). Valeur plancher appliquée à 10 m⁻¹ si am_v < 10. |
required |
theta_a0
|
float
|
Température initiale de l'acier en °C. Defaults to 20. |
20.0
|
epsilon_m
|
float
|
Émissivité de la surface de l'acier (EN 1993-1-2 §2.2). Defaults to 0.7. |
0.7
|
rho_a
|
float
|
Masse volumique de l'acier en kg/m³ (EN 1993-1-2 §3.2.2). Defaults to 7850. |
7850.0
|
k_sh
|
float
|
Facteur de correction d'ombrage (k_sh ≤ 1). Defaults to 1.0. |
1.0
|
**kwargs
|
Arguments transmis à la classe parent Plat. |
{}
|
get_fire_data ¶
Retourne le DataFrame complet de l'évolution thermique et des facteurs de réduction.
Colonnes : t (s), θg (°C), Δθa,t (C°), θa (°C), ky,θ, kp,θ, kE,θ, kb,θ, kw,θ. Pas de temps : 5 secondes.
Returns:
| Type | Description |
|---|---|
|
pandas.DataFrame: Évolution complète de la température acier et des coefficients
de réduction sur la durée |
get_specific_time_data ¶
Retourne une ligne du DataFrame à un instant donné.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
time
|
float
|
Instant à lire en minutes (doit être dans [0, self.time]). |
required |
Returns:
| Type | Description |
|---|---|
|
pandas.Series: Ligne du DataFrame fire_data correspondant à |
Raises:
| Type | Description |
|---|---|
ValueError
|
Si time < 0 ou time > self.time. |
show_temperatures ¶
Affiche ou enregistre le graphique de l'évolution des températures θ_g(t) et θ_a(t).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
screenshot
|
bool
|
Si True, enregistre le graphique au format PNG. Si False, ouvre une fenêtre matplotlib. Defaults to False. |
('False', 'True')
|
filepath
|
str
|
Chemin de fichier PNG pour l'enregistrement. Si None et screenshot=True, une boîte de dialogue PySide6 s'ouvre. |
None
|
Returns:
| Type | Description |
|---|---|
|
str | None: Chemin du fichier enregistré si screenshot=True, None sinon. |
show_reductions_factors ¶
Affiche ou enregistre le graphique des facteurs de réduction au feu k_y,θ, k_p,θ, k_E,θ, k_b,θ, k_w,θ.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
screenshot
|
bool
|
Si True, enregistre le graphique au format PNG. Si False, ouvre une fenêtre matplotlib. Defaults to False. |
('False', 'True')
|
filepath
|
str
|
Chemin de fichier PNG pour l'enregistrement. Si None et screenshot=True, une boîte de dialogue PySide6 s'ouvre. |
None
|
Returns:
| Type | Description |
|---|---|
|
str | None: Chemin du fichier enregistré si screenshot=True, None sinon. |
handcalc ¶
handcalc(override: str = 'short', precision: int = 2, jupyter_display: bool = False, left: str = '\\[', right: str = '\\]')
Remplace handcalcs.decorator.handcalc — compatible Python 3.13+.
Usage identique à l'original :
@handcalc(override="short", precision=2, jupyter_display=self.JUPYTER_DISPLAY,
left="\\[", right="\\]")
def val():
x = a + b
return x
latex_str, result = val()
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
override
|
str
|
"short" (défaut) ou "long". |
'short'
|
precision
|
int
|
Nombre de décimales pour les valeurs numériques. |
2
|
jupyter_display
|
bool
|
Si True, affiche le LaTeX dans Jupyter via IPython.display. |
False
|
left / right
|
Délimiteurs LaTeX du bloc (ex. "$$", "\["). |
required |
Returns:
| Type | Description |
|---|---|
|
Décorateur qui transforme la fonction en un appelable retournant |
|
|
|