Aller au contenu

EC1_Neige — EN 1991-1-3

Charges de neige sur les toitures selon EN 1991-1-3 et l'Annexe Nationale Française.

neige

projet module-attribute

projet = Projet(code_INSEE=73215, alt=400)

bat module-attribute

bat = _from_parent_class(projet, h_bat=5, b_bat=10, d_bat=10, alpha_toit=28, alpha_toit2=12)

Action_snow module-attribute

Action_snow = _from_parent_class(bat, exposition='Normal', type_toit='Versants multiples', blocage=True)

Batiment

Batiment(h_bat: m, d_bat: m, b_bat: m, alpha_toit: float, alpha_toit2: float = 0, *args, **kwargs)

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

S_k_200

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

S_Ad

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

C_e

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

mu

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

Sk_alt

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

Sn

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

Sx

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

Se

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

mu2_construction_attenante(b1: m, b2: m, h: m, alpha_toit_attenant: float)

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

fs(Sn: kN / m ** 2, entraxe: m, alpha: float)

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

(latex_str, résultat_numérique).