EC1_Neige — EN 1991-1-3¶
Charges de neige sur les toitures selon EN 1991-1-3 et l'Annexe Nationale Française.
neige ¶
bat
module-attribute
¶
Action_snow
module-attribute
¶
Action_snow = _from_parent_class(bat, exposition='Normal', type_toit='Versants multiples', blocage=True)
Batiment ¶
Bases: Projet
Classe définissant la géométrie d'un bâtiment pour les calculs de structure.
Cette classe décrit les dimensions principales du bâtiment et les caractéristiques de sa toiture, nécessaires pour le calcul des charges climatiques (neige, vent) et sismiques.
Attributs de classe
ETAGE (tuple): Liste des niveaux courants (RDC à Toiture).
Initialise les dimensions du bâtiment.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
h_bat
|
m
|
Hauteur totale du bâtiment en mètres, mesurée depuis le soubassement rigide ou les fondations (référence sismique). |
required |
d_bat
|
m
|
Largeur du bâtiment en mètres (dimension perpendiculaire au vent dominant pour le calcul du vent). |
required |
b_bat
|
m
|
Longueur du bâtiment en mètres. |
required |
alpha_toit
|
float
|
Pente du premier versant de toiture en degrés. 0° pour un toit plat, valeur positive pour un versant. |
required |
alpha_toit2
|
float
|
Pente du second versant pour les toits à deux pans (0° si toit à un seul versant ou plat). Defaults to 0. |
0
|
*args
|
Arguments positionnels transmis à la classe parent Projet. |
()
|
|
**kwargs
|
Arguments nommés transmis à la classe parent Projet (ingenieur, code_INSEE, alt, etc.). |
{}
|
Neige ¶
Neige(exposition: str = EXPOSITION, type_toit: str = TYPE_TOIT, blocage: bool = ('False', 'True'), **kwargs)
Bases: Batiment
Initialise le calcul de l'action variable de neige selon l'EN 1991-1-3 et son Annexe Nationale française.
Hérite de Batiment. La zone de neige et l'altitude sont issues des attributs du projet (code_INSEE → région de neige, alt → correction altimétrique).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
exposition
|
str
|
Type d'exposition du bâtiment selon EN 1991-1-3 AN §5.2.7 : - "Normal" : terrain sans protection particulière (C_e = 1.0). - "Protégé" : protégé par bâtiments alentour, déplacement de neige inexistant (C_e = 1.25). Defaults to "Normal". |
EXPOSITION
|
type_toit
|
str
|
Forme du toit pour le calcul des coefficients de forme : "1 versant", "2 versants" ou "Versants multiples". Defaults to "2 versants". |
TYPE_TOIT
|
blocage
|
bool
|
True si un dispositif bloque le glissement de la neige sur la toiture (mu1 = 0.8 quel que soit l'angle). Defaults to False. |
('False', 'True')
|
**kwargs
|
Arguments transmis à la classe parent Batiment. |
{}
|
S_k_200
property
¶
Retourne la valeur caractéristique de la neige au sol à 200 m d'altitude S_k,200 en kN/m².
Valeur issue du tableau des zones de neige de l'AN français (EN 1991-1-3 NA) en fonction de la région de neige déterminée par le code_INSEE du projet.
Returns:
| Type | Description |
|---|---|
|
forallpeople.Physical: S_k,200 en kN/m². |
S_Ad
property
¶
Retourne la valeur de neige au sol pour la situation accidentelle S_Ad en kN/m².
Valeur issue du tableau des zones de neige de l'AN français. Utilisée pour le calcul de la charge de neige accidentelle S_x (EN 1991-1-3 NA §4.3).
Returns:
| Type | Description |
|---|---|
|
forallpeople.Physical: S_Ad en kN/m² (0 si la zone ne prévoit pas de situation accidentelle). |
C_e
property
¶
Retourne le coefficient d'exposition C_e selon EN 1991-1-3 AN §5.2.7.
- "Normal" : C_e = 1.0.
- "Protégé" : C_e = 1.25 (bâtiment protégé par obstacles environnants).
Returns:
| Name | Type | Description |
|---|---|---|
float |
Coefficient d'exposition (1.0 ou 1.25). |
mu
property
¶
Retourne les coefficients de forme de neige μ selon l'EN 1991-1-3 §5.3.
Ne prend pas en compte les constructions proches ou plus élevées, ni les toitures cylindriques. Les valeurs dépendent de l'angle du versant alpha_toit (et alpha_toit2 pour 2 versants).
Returns:
| Name | Type | Description |
|---|---|---|
dict |
Selon le type de toit : - "1 versant" : {"mu1": valeur ou tuple (latex, valeur)}. - "2 versants" : {"mu2 versant 1": ..., "mu2 versant 2": ...}. - "Versants multiples" : {"mu2 versant 1": ..., "mu2 versant 2": ..., "mu3": ...}. |
Sk_alt
property
¶
Retourne la charge de neige caractéristique au sol S_k à l'altitude du projet en kN/m².
Appliquer la correction altimétrique selon l'AN français de l'EN 1991-1-3 §4.1(1) : ≤ 200 m : S_k = S_k,200 ; > 200 m : incrément croissant selon la zone (A, B1, E).
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
(latex_string, S_k_alt) où S_k_alt est la charge caractéristique au sol en kN/m² (avec unité si.kN/si.m²). |
Sn
property
¶
Retourne les charges de neige normale sur toiture S_n en kN/m² selon EN 1991-1-3 §5.3.
Formule : S_n = C_e × C_t × S_k,alt × μ. Majoration de 0.2 kN/m² appliquée automatiquement pour les faibles pentes (alpha < 1.718°).
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
(latex_string, valeur) où valeur dépend du type de toit : - "1 versant" : float (charge unique en kN/m²). - "2 versants" : dict {"Versant 1": {"cas 1": ..., "cas 2": ...}, "Versant 2": ...}. - "Versants multiples" : dict {"cas 1": {"Versant 1": ..., "Versant 2": ...}, "cas 2": ...}. |
Sx
property
¶
Retourne les charges de neige accidentelle sur toiture S_x en kN/m² selon EN 1991-1-3 AN §4.3.
Formule : S_x = C_e × C_t × S_Ad × μ. Utilisé uniquement pour les zones prévoyant une situation accidentelle (S_Ad > 0).
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
(latex_string, valeur) où valeur dépend du type de toit : - "1 versant" : float (charge en kN/m²). - "2 versants" / "Versants multiples" : dict {"Versant 1 cas 1": ..., "Versant 2 cas 1": ...}. |
Se
property
¶
Retourne la charge linéaire de neige en débord de toiture S_e en kN/m.
Applicable uniquement pour altitude > 900 m selon EN 1991-1-3 AN §5.7. En dessous de 900 m, retourne 0.
Returns:
| Type | Description |
|---|---|
|
float | dict: Charge en débord de toiture en kN/m : - "1 versant" : float. - "2 versants" : dict {"Versant 1": ..., "Versant 2": ...}. |
mu2_construction_attenante ¶
Calcule le coefficient de forme μ2 pour une construction attenante selon EN 1991-1-3 §5.3.4.
Détermine mu_W (neige apportée par le vent), mu_S (neige glissante depuis le toit attenant), mu2 = mu_W + mu_S, et la longueur d'application ls.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
b1
|
float
|
Longueur du bâtiment attenant (dans la direction perpendiculaire à la façade) en m. |
required |
b2
|
float
|
Longueur du bâtiment considéré (dans la même direction) en m. |
required |
h
|
float
|
Différence de hauteur entre les toitures des deux bâtiments en m. |
required |
alpha_toit_attenant
|
float
|
Angle de la toiture de la construction attenante en °. Si > 15°, mu_S ne peut être calculé directement (avertissement émis). |
required |
Returns:
| Name | Type | Description |
|---|---|---|
dict |
{"mu_W": ..., "mu_S": ..., "mu2": ..., "ls": ...} avec ls la longueur d'application en m. |
fs ¶
Retourne la charge de neige en kN/m sur un obstacle ou une barre à neige
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
Sn
|
float
|
la charge de neige en kN/m² |
required |
entraxe
|
int
|
entraxe horizontal entre deux obstacle à la neige en m |
required |
alpha
|
float
|
angle du versant considéré. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
La charge en kN/m |
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 |
|
|
|