EC5_Element_droit — EN 1995-1-1¶
Vérification des éléments droits en bois selon EN 1995-1-1.
element_droit ¶
__all__
module-attribute
¶
__all__ = ['Barre', 'Flexion', 'Traction', 'Compression', 'Compression_perpendiculaire', 'Compression_inclinees', 'Cisaillement', 'Verification_EC5']
Barre ¶
Barre(b: mm, h: mm, section: str = LIST_SECTION, Hi: int = 12, Hf: int = 12, classe: str = CLASSE, cs: int = CS, effet_systeme: bool = ('False', 'True'), **kwargs)
Bases: Projet
Classe définissant les caractéristiques d'un élément droit en bois.
Cette classe décrit la géométrie, la classe de résistance et les conditions d'exploitation d'une barre (poutre, colonne) selon l'EN 1995.
Elle calcule automatiquement les dimensions de section en fonction de l'humidité de pose (retrait/gonflement) et donne accès aux caractéristiques mécaniques normatives du matériau.
Initialise un élément droit en bois avec ses caractéristiques.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
b
|
mm
|
Largeur de pose de la pièce en millimètres (dimension brute). |
required |
h
|
mm
|
Hauteur de pose de la pièce en millimètres (dimension brute). |
required |
section
|
str
|
Type de section transversale. "Rectangulaire" ou "Circulaire". Defaults to "Rectangulaire". |
LIST_SECTION
|
Hi
|
int
|
Humidité initiale de pose en %. Humidité au moment de la fabrication/pose. Defaults to 12. |
12
|
Hf
|
int
|
Humidité finale d'équilibre en % selon l'AN (Hf = 12). Humidité en service. Defaults to 12. |
12
|
classe
|
str
|
Classe de résistance du bois selon l'EC5. Ex: "C24", "GL28h", "LVL". Defaults to "C24". |
CLASSE
|
cs
|
int
|
Classe de service selon l'EC5 §2.3.1.3. 1 = intérieur chauffé, 2 = couvert non chauffé, 3 = extérieur. Defaults to 1. |
CS
|
effet_systeme
|
bool
|
Active l'effet de système (k_sys = 1.1) pour les éléments permettant une redistribution des charges (solives avec répartition continue). Defaults to False. |
('False', 'True')
|
**kwargs
|
Arguments supplémentaires transmis à Projet. |
{}
|
Note
Les dimensions de calcul (b_calcul, h_calcul) sont automatiquement ajustées pour tenir compte du retrait si Hi > Hf (AN B90 = 0.25%).
Raises:
| Type | Description |
|---|---|
ValueError
|
Si la section, la classe ou la classe de service est invalide. |
inertie
property
¶
Retourne le moment quadratique d'une section rectangulaire en mm4 avec pour argument : b ou d : Largeur ou diamètre de la poutre en mm h : Hauteur de la poutre en mm
caract_meca
property
¶
Retourne les caractéristiques méca du bois sous forme de dataframe pandas
gamma_M_table
property
¶
Retourne le tableau des gamma M pour le type de bois sélectionné
k_sys
property
¶
Détermine le Ksys d'un élément si celui-ci permet une redistribution des charges continues.
Emean_fin ¶
Calcule le module de Young final E_mean,fin selon l'EC5 §2.3.2.2.
Le module final tient compte du fluage par la formule : E_mean,fin = E_0,mean / (1 + psi_2 × k_def)
où psi_2 est le coefficient de combinaison quasi-permanente et k_def dépend de la classe de service et du type de bois.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
psy_2
|
float
|
Coefficient psi_2 de la combinaison quasi-permanente. 0 pour le court terme, 1 pour le long terme, ou valeur calculée. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est E_mean,fin en MPa. |
Note
Ce module final est utilisé pour les calculs de flèche en ELS selon l'EC5 §2.2.3 et §7.2.
fleche ¶
fleche(long: mm, Ed_WinstQ: mm = 0, Ed_Wnetfin: mm = 0, Ed_Wfin: mm = 0, Ed_W2: mm = 0, limit_W2: int = 500, type_ele=TYPE_ELE, type_bat=TYPE_BAT) -> tuple
Vérifie les taux de travail des flèches selon l'EC5 §7.2.
Compare les flèches calculées aux limites normatives pour différents critères ELS. Génère automatiquement un tableau de synthèse avec _add_synthese_taux_travail.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
long
|
mm
|
Portée entre appuis à vérifier en millimètres. |
required |
Ed_WinstQ
|
mm
|
Flèche instantanée sous charge variable Q seule. Defaults to 0. |
0
|
Ed_Wnetfin
|
mm
|
Flèche nette finale (sous combinaison quasi-permanente). Defaults to 0. |
0
|
Ed_Wfin
|
mm
|
Flèche finale totale (y compris fluage). Defaults to 0. |
0
|
Ed_W2
|
mm
|
Flèche w2 tenant compte du phasage de pose pour éléments fragiles (cloisons, platrerie). Defaults to 0. |
0
|
limit_W2
|
int
|
Limite de flèche w2 pour éléments fragiles. Valeur courante : 500 (L/500). Defaults to 500. |
500
|
type_ele
|
str
|
Type d'élément selon limite_fleche.csv. |
TYPE_ELE
|
type_bat
|
str
|
Type de bâtiment. |
TYPE_BAT
|
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeurs) où valeurs contient les taux de travail. |
Note
Les limites de flèche sont définies dans le fichier limite_fleche.csv selon les recommandations de l'Annexe Nationale française.
Flexion ¶
Flexion(lo_rel_y: mm, lo_rel_z: mm, coeflef_y: float = 0.9, coeflef_z: float = 0.9, pos: str = LOAD_POS, *args, **kwargs)
Bases: Barre
Classe de vérification à la flexion selon l'EN 1995-1-1 §6.1.6, §6.2.3, §6.2.4 et §6.3.3.
Cette classe effectue les vérifications de résistance à la flexion et de stabilité au déversement (flambement latéral) pour des poutres en bois.
Elle hérite de la classe Barre pour récupérer les caractéristiques géométriques et mécaniques, et utilise le pattern _from_parent_class pour l'enchaînement des vérifications.
Initialise une vérification en flexion avec paramètres de déversement.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lo_rel_y
|
mm
|
Longueur de déversement effective autour de l'axe Y (entre appuis latéraux), en millimètres. |
required |
lo_rel_z
|
mm
|
Longueur de déversement effective autour de l'axe Z, en millimètres. |
required |
coeflef_y
|
float
|
Coefficient de longueur efficace selon l'EC5. - Appuis simple : 1.0 (moment constant), 0.9 (charge répartie), 0.8 (charge concentrée centrale) - Porte-à-faux : 0.5 (charge répartie), 0.8 (charge concentrée bout) Defaults to 0.9. |
0.9
|
coeflef_z
|
float
|
Idem pour l'axe Z. Defaults to 0.9. |
0.9
|
pos
|
str
|
Position de la charge verticale sur la hauteur. "Charge sur fibre comprimée": charge au-dessus de l'axe neutre (aggrave le déversement, +2h sur l_ef) "Charge sur fibre neutre": charge au centre de gravité "Charge sur fibre tendue": charge en dessous de l'axe neutre (favorise la stabilité, -0.5h sur l_ef) |
LOAD_POS
|
*args
|
Arguments transmis à la classe parent Barre. |
()
|
|
**kwargs
|
Arguments nommés transmis à Barre (b, h, classe, etc.). |
{}
|
Note
La longueur efficace de déversement l_ef est calculée par : l_ef = lo_rel × coeflef (+ correction selon pos)
K_h
property
¶
Retourne le coef. Kh qui peut augmenter la resistance caractéristique fm,k et ft,k
K_m
property
¶
Coefficient de distribution des contraintes K_m selon l'EC5 §6.1.6.
Ce coefficient réduit la contrainte de flexion calculée pour les sections rectangulaires en bois massif, BLC ou LVL afin de tenir compte de la redistribution plastique des contraintes.
Returns:
| Name | Type | Description |
|---|---|---|
float |
Valeur de K_m. - 0.7 pour les sections rectangulaires en bois massif, BLC, LVL - 1.0 pour les sections circulaires ou les panneaux dérivés |
sigma_m_crit
property
¶
Contrainte critique de déversement sigma_m,crit selon l'EC5 §6.3.3.
Calculée par la formule de l'EC5 : sigma_m,crit = (0.78 × b² × E_0,05) / (h × l_ef)
Cette contrainte caractérise la stabilité latérale de la poutre. Elle est corrigée en fonction de la position de la charge (pos).
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeurs) où valeurs est un dict {'y': ..., 'z': ...} avec les contraintes critiques pour chaque direction. |
lamb_rel_m
property
¶
Élancement relatif en flexion lambda_rel,m selon l'EC5 §6.3.3.
Rapport entre la résistance caractéristique et la contrainte critique : lambda_rel,m = sqrt(f_m,k / sigma_m,crit)
Cet élancement caractérise le risque de déversement : - lambda_rel,m <= 0.75 : pas de risque de déversement (K_crit = 1) - 0.75 < lambda_rel,m <= 1.4 : zone de transition - lambda_rel,m > 1.4 : risque élevé de déversement
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeurs) où valeurs est un dict {'y': ..., 'z': ...} avec les élancements relatifs pour chaque direction. |
K_crit
property
¶
Coefficient de déversement K_crit selon l'EC5 §6.3.3.
Ce coefficient minore la résistance à la flexion pour tenir compte
du risque de déversement latéral. Il dépend de l'élancement relatif :
- lambda_rel,m <= 0.75 : K_crit = 1 (pas de déversement)
- 0.75 < lambda_rel,m <= 1.4 : K_crit = 1.56 - 0.75 × lambda_rel,m
- lambda_rel,m > 1.4 : K_crit = 1 / lambda_rel,m²
Returns:
tuple: (latex_string, valeurs) où valeurs est un dict {'y': ..., 'z': ...}
avec les coefficients de déversement pour chaque direction.
Note:
La vérification finale utilise : sigma_m,d <= K_crit × f_m,d
f_m_d ¶
Calcule la résistance de calcul en flexion f_m,d selon l'EC5 §6.1.6.
La résistance est déterminée à partir de la résistance caractéristique fm,0,k et des coefficients de modification (kmod, γM).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
loadtype
|
str
|
Classe de durée de chargement (permanent, long terme, etc.). Voir Barre.LOAD_TIME pour les valeurs possibles. |
LOAD_TIME
|
typecombi
|
str
|
Type de combinaison d'actions. "fondamentale" ou "accidentelle". Defaults to "fondamentale". |
TYPE_ACTION
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
Résistance de calcul fm,d en MPa avec unité (si.MPa). |
sigma_m_d ¶
Calcule les contraintes de flexion sigma_m,d selon l'EC5 §6.1.6.
Détermine les contraintes normales dues aux moments fléchissants My et Mz en utilisant la formule de Navier : σ = M·y/I
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
My
|
kN * m
|
Moment fléchissant autour de l'axe y (moment vertical) en kN·m. Mettre 0 si pas de flexion selon cet axe. |
required |
Mz
|
kN * m
|
Moment fléchissant autour de l'axe z (moment horizontal) en kN·m. Mettre 0 si pas de flexion selon cet axe. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeurs) où valeurs est un dictionnaire : {"y": sigma_my_d, "z": sigma_mz_d} en MPa avec unités. |
Note
Les valeurs sont stockées dans l'attribut sigma_m_rd. Pour une section rectangulaire : sigma = M·h/(2·I) = 6·M/(b·h²)
taux_m_d ¶
Calcule les taux de travail en flexion selon l'EC5 §6.1.6, §6.2.3 et §6.3.3.
Vérifie les critères de résistance en flexion pure, flexion déviée, flexo-compression et flexo-traction selon les équations : - 6.11 et 6.12 : Flexion déviée avec K_m (facteur de distribution) - 6.33 : Flexion avec déversement (K_crit) - 6.17-6.20 : Combinaisons flexion + traction/compression - 6.35 : Flexo-compression avec risque de déversement
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
compression
|
Compression
|
Objet Compression déjà calculé pour les combinaisons flexo-compression. Defaults to None. |
None
|
traction
|
Traction
|
Objet Traction déjà calculé pour les combinaisons flexo-traction. Defaults to None. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, taux_dict) où taux_dict contient : - "equ6.11", "equ6.12" : Flexion déviée - "equ6.33y", "equ6.33z" : Flexion avec déversement - "equ6.17", "equ6.18" : Flexion + traction (si traction fournie) - "equ6.19", "equ6.20" : Flexion + compression (si compression fournie) - "equ6.23-6.35" : Combinaisons avancées (si compression fournie) Valeurs en pourcentage (0.85 = 85%). |
Note
Cette méthode met à jour automatiquement la synthèse des taux de travail via _add_synthese_taux_travail.
Traction ¶
Bases: Barre
Classe de vérification des éléments bois en traction axiale selon l'EC5 §6.1.2.
Effectue les calculs de résistance et de contrainte en traction axiale selon l'Eurocode 5 - Partie 1-1. Hérite de Barre pour les caractéristiques géométriques et mécaniques.
La vérification principale est le taux de travail en traction (équation 6.1): σ_t,0,d / (f_t,0,d · k_h) ≤ 1
Initialise un objet de vérification en traction axiale.
Hérite de toutes les caractéristiques de Barre (section, classe de bois, etc.). Aucun paramètre supplémentaire requis à l'initialisation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*args
|
Arguments positionnels transmis à Barre. |
()
|
|
**kwargs
|
Arguments nommés transmis à Barre (b, h, classe, etc.). |
{}
|
K_h
property
¶
Retourne le coef. Kh qui peut augmenter la resistance caractéristique fm,k et ft,k
f_t_0_d ¶
Calcule la résistance de calcul en traction axiale f_t,0,d selon l'EC5 §6.1.2.
Détermine la résistance à partir de la résistance caractéristique ft,0,k et des coefficients de modification (kmod, γM).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
loadtype
|
str
|
Classe de durée de chargement. Voir Barre.LOAD_TIME pour les valeurs possibles. |
LOAD_TIME
|
typecombi
|
str
|
Type de combinaison d'actions. "fondamentale" ou "accidentelle". Defaults to "fondamentale". |
TYPE_ACTION
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
Résistance de calcul ft,0,d en MPa avec unité (si.MPa). |
sigma_t_0_d ¶
Calcule la contrainte de traction axiale sigma_t,0,d selon l'EC5 §6.1.2.
Détermine la contrainte normale due à l'effort de traction axial. Prend en compte une section nette réduite (perçages, entailles) si spécifiée.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
Ft0d
|
kN
|
Effort de traction axial en kN. |
required |
Anet
|
mm ** 2
|
Aire nette de la section en mm² si réduction (perçages, entailles). Doit être ≤ aire brute. Defaults to None. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est sigma_t,0,d en MPa avec unité. |
Raises:
| Type | Description |
|---|---|
ValueError
|
Si Anet > aire brute de la section. |
Note
La valeur est stockée dans l'attribut sigma_t_0_rd. Pour les assemblages boulonnés, utiliser Anet pour tenir compte des trous.
taux_t_0_d ¶
Calcule le taux de travail en traction axiale selon l'EC5 §6.1.2 (Eq. 6.1).
Vérifie le critère : σ_t,0,d / (k_h · f_t,0,d) ≤ 1
Le coefficient k_h (effet de hauteur) est pris comme le minimum des valeurs selon y et z pour être conservateur.
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est le taux en pourcentage (0.75 = 75%). Stocké dans taux_t_0_rd['equ6.1']. |
Note
Cette méthode met à jour automatiquement la synthèse des taux de travail via _add_synthese_taux_travail.
Compression ¶
Compression(lo_y: mm, lo_z: mm, type_appuis_y: str = COEF_LF, type_appuis_z: str = COEF_LF, *args, **kwargs)
Bases: Barre
Classe de vérification des éléments bois en compression axiale selon l'EC5 §6.2 et §6.3.2.
Effectue les calculs de résistance, élancement et flambement selon l'Eurocode 5 - Partie 1-1. Hérite de Barre pour les caractéristiques géométriques et mécaniques.
Vérifie : - La résistance en compression axiale (§6.2.2, Eq. 6.2) - Le flambement avec coefficient kc (§6.3.2, Eq. 6.23-6.24) - Les combinaisons flexo-compression (si objet Flexion fourni)
Initialise un objet de vérification en compression axiale.
Définit les longueurs de flambement et les coefficients de longueur efficace par axe selon les conditions d'appui.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lo_y
|
mm
|
Longueur de flambement suivant l'axe de rotation y en mm (flèche dans la direction z). Mettre 0 si pas de risque de flambement selon cet axe. |
required |
lo_z
|
mm
|
Longueur de flambement suivant l'axe de rotation z en mm (flèche dans la direction y). Mettre 0 si pas de risque de flambement selon cet axe. |
required |
type_appuis_y
|
str
|
Conditions d'appui pour le flambement selon l'axe de rotation y. Détermine β_y dans lf_y = β_y · lo_y. Valeurs possibles (voir COEF_LF): - "Encastré 1 côté" : β = 2.0 (console) - "Rotule - Rotule" : β = 1.0 (articulé-articulé) - "Encastré - Rotule" : β = 0.7 - "Encastré - Encastré" : β = 0.5 - "Encastré - Rouleau" : β = 1.0 (encastré-glissière) Defaults to "Rotule - Rotule". |
COEF_LF
|
type_appuis_z
|
str
|
Conditions d'appui pour le flambement selon l'axe de rotation z. |
COEF_LF
|
*args
|
Arguments positionnels transmis à Barre. |
()
|
|
**kwargs
|
Arguments nommés transmis à Barre (b, h, classe, etc.). |
{}
|
Note
La longueur efficace de flambement est calculée par axe : lf_y = lo_y × β_y ; lf_z = lo_z × β_z
lamb
property
¶
Retourne l'élancement d'un poteau en compression avec risque de flambement suivant son axe de rotation
lamb_rel_Axe
property
¶
Retourne l'élancement relatif d'un poteau en compression avec risque de flambement suivant son axe de rotation
kc_Axe
property
¶
Retourne le coefficient multiplicateur KcAxe (axe = y ou z suivant axe de rotation en flambement) de fc,0,d
f_c_0_d ¶
Calcule la résistance de calcul en compression axiale f_c,0,d selon l'EC5 §6.2.2.
Détermine la résistance à partir de la résistance caractéristique fc,0,k et des coefficients de modification (kmod, γM).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
loadtype
|
str
|
Classe de durée de chargement. Voir Barre.LOAD_TIME pour les valeurs possibles. |
LOAD_TIME
|
typecombi
|
str
|
Type de combinaison d'actions. "fondamentale" ou "accidentelle". Defaults to "fondamentale". |
TYPE_ACTION
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
Résistance de calcul fc,0,d en MPa avec unité (si.MPa). |
Note
Cette valeur est réduite par le coefficient kc en cas de flambement.
sigma_c_0_d ¶
Calcule la contrainte de compression axiale sigma_c,0,d selon l'EC5 §6.2.2.
Détermine la contrainte normale due à l'effort de compression axial. Prend en compte une section nette réduite si spécifiée.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
Fc0d
|
kN
|
Effort de compression axial en kN. |
required |
Anet
|
mm ** 2
|
Aire nette de la section en mm² si réduction (entailles, perçages). Doit être ≤ aire brute. Defaults to None. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est sigma_c,0,d en MPa avec unité. |
Raises:
| Type | Description |
|---|---|
ValueError
|
Si Anet > aire brute de la section. |
Note
La valeur est stockée dans l'attribut sigma_c_0_rd.
taux_c_0_d ¶
Calcule les taux de travail en compression axiale selon l'EC5 §6.2.2 et §6.3.2.
Vérifie les critères de résistance : - Equ. 6.2 : Compression simple (sigma_c,0,d / f_c,0,d) - Equ. 6.23-6.24 : Flambement (sigma_c,0,d / (kc · f_c,0,d)) - Equ. 6.19-6.20 : Flexo-compression (si objet Flexion fourni)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
flexion
|
Flexion
|
Objet Flexion déjà calculé pour les combinaisons flexo-compression. Defaults to None. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, taux_dict) où taux_dict contient : - "equ6.2" : Compression simple sans flambement - "equ6.23", "equ6.24" : Compression avec flambement selon y et z - "equ6.19", "equ6.20" : Flexo-compression (si flexion fournie) Valeurs en pourcentage (0.85 = 85%). |
Note
Cette méthode met à jour automatiquement la synthèse des taux de travail via _add_synthese_taux_travail.
Compression_perpendiculaire ¶
Compression_perpendiculaire(b_appuis: mm, l_appuis: mm, l1d: mm = 10000, l1g: mm = 10000, ad: mm = 0, ag: mm = 0, type_appuis_90: str = TYPE_APPUIS, *args, **kwargs)
Bases: Barre
Classe de vérification des éléments bois en compression perpendiculaire selon l'EC5 §6.1.5.
Effectue les calculs de résistance et de contrainte en compression perpendiculaire au fil du bois (appuis de poutres, abouts de pieux, etc.) selon l'Eurocode 5. Hérite de Barre pour les caractéristiques géométriques et mécaniques.
La vérification utilise l'équation 6.3 avec le coefficient K_c,90 : σ_c,90,d / (K_c,90 · f_c,90,d) ≤ 1
Initialise un objet de vérification en compression perpendiculaire.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
b_appuis
|
mm
|
Largeur d'appuis en mm. |
required |
l_appuis
|
mm
|
Longueur de l'appuis en mm. |
required |
l1d
|
mm
|
Distance entre les charges en mm (l et l) (si pas de l1d ne rien mettre). Defaults to 10000. |
10000
|
l1g
|
mm
|
Distance entre les charges en mm (l et l) (si pas de l1g ne rien mettre). Defaults to 10000. |
10000
|
ad
|
mm
|
Distance depuis le bord jusqu'à l'appuis à droite (l) en mm (si pas de ad et au bord ne rien mettre). Defaults to 0. |
0
|
ag
|
mm
|
Distance depuis le bord jusqu'à l'appuis à gauche (l) en mm (si pas de ad et au bord ne rien mettre). Defaults to 0. |
0
|
type_appuis_90
|
str
|
Type d'appuis (Appui continu, Appui discret). Defaults to TYPE_APPUIS. |
TYPE_APPUIS
|
*args
|
Arguments transmis à Barre (classe, etc.). |
()
|
|
**kwargs
|
Arguments transmis à Barre (b, h, etc.). |
{}
|
Note
La longueur efficace de compression perpendiculaire l_ef est calculée en fonction de la configuration des appuis et des distances entre charges.
K_c90
property
writable
¶
Retourne le facteur K_c,90 qui tient compte de la configuration de chargement, du fendage et de la déformation en compression avec pour argument : h : Hauteur de l'élement subissant la compression en mm lO : Longeur de l'appuis en compression en mm l1 : Distance la plus petite entre deux appuis en mm (l et l)
f_c_90_d ¶
Calcule la résistance de calcul en compression perpendiculaire f_c,90,d selon l'EC5 §6.1.5.
Détermine la résistance à partir de la résistance caractéristique fc,90,k et des coefficients de modification (kmod, γM).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
loadtype
|
str
|
Classe de durée de chargement. Voir Barre.LOAD_TIME pour les valeurs possibles. |
LOAD_TIME
|
typecombi
|
str
|
Type de combinaison d'actions. "fondamentale" ou "accidentelle". Defaults to "fondamentale". |
TYPE_ACTION
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
Résistance de calcul fc,90,d en MPa avec unité (si.MPa). |
sigma_c_90_d ¶
Calcule la contrainte de compression perpendiculaire sigma_c,90,d selon l'EC5 §6.1.5.
Détermine la contrainte en tenant compte de l'aire effective d'appui, qui inclut une diffusion des efforts sur 30 mm ou jusqu'aux bords/entraxe.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
Fc90d
|
kN
|
Effort de compression perpendiculaire en kN. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est sigma_c,90,d en MPa avec unité. |
Note
L'aire effective a_ef = (l_appuis + min(30mm, distance_bord, l_appuis, 0.5×entraxe)) × b_appuis La valeur est stockée dans l'attribut sigma_c_90_rd.
taux_c_90_d ¶
Calcule le taux de travail en compression perpendiculaire selon l'EC5 §6.1.5 (Eq. 6.3).
Vérifie le critère : σ_c,90,d / (K_c,90 · f_c,90,d) ≤ 1
Le coefficient K_c,90 (déterminé par la propriété K_c90) tient compte : - De la configuration des appuis (discrets ou continus) - Du type de bois (massif, BLC, etc.) - De la hauteur de l'élément et des distances entre appuis
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est le taux en pourcentage (0.75 = 75%). Stocké dans taux_c_90_rd['equ6.3']. |
Note
Cette méthode met à jour automatiquement la synthèse des taux de travail via _add_synthese_taux_travail.
show_c90 ¶
Affiche l'image des caractéristiques d'une compression perpendiculaire
Compression_inclinees ¶
Bases: Compression_perpendiculaire
Classe de vérification des éléments bois en compression inclinée selon l'EC5 §6.2.2.
Effectue les calculs de résistance et de contrainte en compression inclinée par rapport au fil du bois selon l'Eurocode 5 - Partie 1-1, article 6.2.2. Hérite de Compression_perpendiculaire pour la gestion des appuis et des coefficients.
La vérification utilise l'équation 6.16 avec la formule de Hankinson : σ_c,α,d ≤ f_c,0,d / [(f_c,0,d/(K_c,90·f_c,90,d))·sin²(α) + cos²(α)]
Initialise un objet de vérification en compression inclinée.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
alpha
|
float
|
Angle d'inclinaison de la compression par rapport au fil du bois en degrés. 0° = compression axiale, 90° = compression perpendiculaire. Defaults to 45°. |
45
|
**kwargs
|
Arguments transmis à Compression_perpendiculaire (b_appuis, l_appuis, etc.). |
{}
|
sigma_c_alpha_d ¶
Calcule la contrainte de compression inclinée sigma_c,alpha,d.
Détermine la contrainte normale due à l'effort de compression inclinée, en utilisant l'aire brute d'appui (sans diffusion).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
Fcad
|
kN
|
Effort de compression inclinée en kN. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est sigma_c,alpha,d en MPa avec unité. |
Note
La valeur est stockée dans l'attribut sigma_c_alpha_rd.
taux_c_alpha_d ¶
Calcule le taux de travail en compression inclinée selon l'EC5 §6.2.2 (Eq. 6.16).
Vérifie le critère de Hankinson : σ_c,α,d ≤ f_c,α,d où f_c,α,d = f_c,0,d / [(f_c,0,d/(K_c,90·f_c,90,d))·sin²(α) + cos²(α)]
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
loadtype
|
str
|
Classe de durée de chargement. Voir Barre.LOAD_TIME pour les valeurs possibles. |
LOAD_TIME
|
typecombi
|
str
|
Type de combinaison d'actions. "fondamentale" ou "accidentelle". Defaults to "fondamentale". |
TYPE_ACTION
|
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est le taux en pourcentage (0.75 = 75%). Stocké dans taux_c_alpha_rd['equ6.16']. |
Note
Cette méthode met à jour automatiquement la synthèse des taux de travail via _add_synthese_taux_travail.
Cisaillement ¶
Bases: Barre
Classe de vérification des éléments bois au cisaillement selon l'EC5 §6.1.7 et §6.5.
Effectue les calculs de contrainte et taux de travail au cisaillement longitudinal pour des poutres en bois selon l'Eurocode 5. Hérite de Barre pour les caractéristiques géométriques et mécaniques.
Vérifie : - La résistance au cisaillement (§6.1.7, Eq. 6.13) - Le cisaillement avec entaille (§6.5, Eq. 6.60) avec facteur K_v
Initialise un objet de vérification au cisaillement.
Hérite de toutes les caractéristiques de Barre. Initialise K_v à 1 (pas d'entaille) et h_ef à la hauteur totale.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
Arguments transmis à Barre (classe, etc.). |
{}
|
K_cr
property
¶
Facteur de réduction de largeur K_cr selon l'EC5 §6.1.7.
Tient compte des fissures de séchage dans le bois massif et BLC. Réduction de 33% (K_cr = 0.67) pour les sections fragilisées.
Returns:
| Name | Type | Description |
|---|---|---|
float |
Valeur de K_cr. - 1.0 : Pas de réduction (bois sans fissuration significative) - 0.67 : Réduction pour bois massif h > 150mm (CS1/CS2) ou BLC (CS2/CS3) |
Note
CS1/CS2 : K_cr = 0.67 si h > 150mm et bois massif CS2 : K_cr = 0.67 pour BLC CS3 : K_cr = 0.67 pour tout bois
Kv ¶
Calcule le facteur de réduction d'entaille K_v selon l'EC5 §6.5.
Ce coefficient réduit la résistance au cisaillement en présence d'une entaille au niveau d'un appui (entaille en dessous ou au dessus de la poutre).
Formule EC5 : K_v = min(1, [K_n(1 + 1.1·i^1.5/√h)] / [√h·(√(α(1-α)) + 0.8·x/h·√(1/α - α²))]) où α = h_ef/h et i = i_lo/h_ef
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hef
|
mm
|
Hauteur efficace de la poutre (hauteur - profondeur entaille) en mm. |
required |
x
|
mm
|
Distance entre le centre de réaction à l'appui et le coin de l'entaille en mm. |
required |
i_lo
|
mm
|
Longueur horizontale de l'entaille en mm. |
required |
ent
|
str
|
Position de l'entaille : "Dessous" ou "Dessus". Defaults to "Dessous". |
('Dessous', 'Dessus')
|
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est le facteur K_v (≤ 1). Si ent="Dessus", retourne K_v = 1 (pas de réduction). |
Note
La valeur est stockée dans l'attribut K_v. K_n dépend du type de bois (voir DICT_KN).
f_v_d ¶
Calcule la résistance de calcul au cisaillement f_v,d selon l'EC5 §6.1.7.
Détermine la résistance à partir de la résistance caractéristique f_v,k et des coefficients de modification (kmod, γM).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
loadtype
|
str
|
Classe de durée de chargement. Voir Barre.LOAD_TIME pour les valeurs possibles. |
LOAD_TIME
|
typecombi
|
str
|
Type de combinaison d'actions. "fondamentale" ou "accidentelle". Defaults to "fondamentale". |
TYPE_ACTION
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
Résistance de calcul f_v,d en MPa avec unité (si.MPa). |
tau_d ¶
Calcule la contrainte de cisaillement tau_d selon l'EC5 §6.1.7.
Détermine la contrainte de cisaillement longitudinal pour une poutre rectangulaire : τ = 1.5·V/(b_ef·h_ef)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
Vd
|
kN
|
Effort tranchant (cisaillement) sur la poutre en kN. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeur) où valeur est tau_d en MPa avec unité. |
Note
La valeur est stockée dans l'attribut tau_rd. Prend en compte K_cr (fissuration) et K_v (entaille si défini).
taux_tau_d ¶
Calcule les taux de travail au cisaillement selon l'EC5 §6.1.7 et §6.5.
Vérifie les critères : - Equ. 6.13 : Cisaillement simple (tau_d / f_v,d) - Equ. 6.60 : Cisaillement avec entaille (tau_d / (K_v · f_v,d))
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
tuple
|
(latex_string, valeurs) où valeurs contient les taux pour equ6.13 (sans entaille) et equ6.60 (avec entaille) en pourcentage. Stockés dans taux_tau_rd['equ6.13'] et ['equ6.60']. |
Note
Cette méthode met à jour automatiquement la synthèse des taux de travail via _add_synthese_taux_travail.
Verification_EC5 ¶
Verification_EC5(combinaison: object, model_result: object, elu_filter: str = ELU_FILTERS, Hi: int = 12, Hf: int = 12, effet_systeme: bool = ('False', 'True'), classe_service: int = Barre.CS, type_bat: str = Barre.TYPE_BAT, type_ele: str = Barre.TYPE_ELE, pos_charge: str = Flexion.LOAD_POS, **kwargs)
Bases: Projet
Vérifie les barres structurales d'un modèle selon l'EC5 (ELU + Flèche ELS).
Hérite de :class:~ourocode.eurocode.core.projet.Projet pour s'insérer
dans la hiérarchie ourocode et bénéficier des méthodes communes
(_from_parent_class, persistence, etc.). La classe stocke en interne
la :class:~ourocode.eurocode.core.combinaison.Combinaison et le
:class:~ourocode.eurocode.core.model_result.Model_result fournis, et
expose :meth:verify et :meth:synthese pour lancer les vérifications.
Les paramètres de vérification (coefficients de longueur efficace,
types d'appui pour compression) sont automatiquement récupérés depuis
le champ Design de chaque barre structurale (déterminés par
group_members). Les arguments type_bat, type_ele, pos_charge,
Hi, Hf, effet_systeme, classe_service définis à l'initialisation
s'appliquent à toutes les barres et peuvent être surchargés ponctuellement
via :meth:verify.
Pour chaque combinaison ELU, :meth:Combinaison.min_type_load et
:meth:Combinaison.type_combi sont utilisées pour déterminer
dynamiquement kmod et γM (EN 1995-1-1 §2.3.1.2 et §2.4.1).
Le taux maximal est ensuite retenu par type de vérification avec la
combinaison gouvernante associée.
Initialise une vérification EC5.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
combinaison
|
Combinaison
|
Instance :class: |
required |
model_result
|
Model_result
|
Instance :class: |
required |
elu_filter
|
str
|
Tag pour filtrer les combinaisons ELU.
Valeurs acceptées : |
ELU_FILTERS
|
Hi
|
int
|
Humidité initiale du bois en service (%).
Defaults to |
12
|
Hf
|
int
|
Humidité finale du bois en service (%).
Defaults to |
12
|
effet_systeme
|
bool
|
Active l'effet système (EN 1995-1-1 §6.7).
Defaults to |
('False', 'True')
|
classe_service
|
str
|
Classe de service globale ( |
CS
|
type_bat
|
str
|
Type de bâtiment pour les limites de flèche
( |
TYPE_BAT
|
type_ele
|
str
|
Type d'élément pour les limites de flèche
( |
TYPE_ELE
|
pos_charge
|
str
|
Position de la charge verticale par rapport
à la section ( |
LOAD_POS
|
**kwargs
|
Transmis à :class: |
{}
|
Note
Les paramètres de vérification (coefficients de longueur efficace,
types d'appui pour la compression) sont désormais automatiquement
récupérés depuis le champ Design de chaque barre structurale
(déterminés par :meth:Model_generator.group_members).
verify ¶
verify(name: str, type_ele: str = Barre.TYPE_ELE, pos_charge: str = Flexion.LOAD_POS, Hi: int = 12, Hf: int = 12, effet_systeme: bool = ('False', 'True'), classe_service: int = Barre.CS, coeflef_y: float = None, coeflef_z: float = None, type_appuis_y: str = None, type_appuis_z: str = None) -> dict
Vérifie une barre structurale en bouclant sur toutes les combos ELU.
Pour chaque combinaison du filtre, les efforts sont extraits puis les
taux Flexion / Cisaillement / Traction ou Compression sont calculés
avec le kmod et la typecombi appropriés. Le taux maximal sur
toutes les combos est retenu par vérification. La flèche ELS est
calculée séparément via les tags W_inst_Q et W_net_fin.
Les paramètres coeflef_y, coeflef_z ainsi que les types d'appui
pour la compression sont automatiquement récupérés depuis le champ
Design du membre structural (déterminés par group_members).
Les arguments fournis ici permettent de surcharger ces valeurs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Nom de la barre structurale (clé dans
:meth: |
required |
type_ele
|
str
|
Surcharge du type d'élément pour les
limites de flèche. Priorité inférieure au champ |
TYPE_ELE
|
pos_charge
|
str
|
Surcharge de la position de charge.
Defaults to |
LOAD_POS
|
Hi
|
int
|
Surcharge de l'humidité initiale (%). Defaults to 12. |
12
|
Hf
|
int
|
Surcharge de l'humidité finale (%). Defaults to 12. |
12
|
effet_systeme
|
bool
|
Surcharge de l'effet système. Defaults to 1. |
('False', 'True')
|
classe_service
|
int
|
Surcharge de la classe de service. Defaults to 1. |
CS
|
coeflef_y
|
float
|
Surcharge du coef. de longueur efficace y.
Si |
None
|
coeflef_z
|
float
|
Surcharge du coef. de longueur efficace z.
Même logique que |
None
|
type_appuis_y
|
str
|
Surcharge du type d'appui de flambement
selon y (ex: |
None
|
type_appuis_z
|
str
|
Surcharge du type d'appui de flambement
selon z. Même logique que |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict
|
|
dict
|
|
|
dict
|
|
|
dict
|
|
Raises:
| Type | Description |
|---|---|
ValueError
|
Si la combinaison ou le résultat MEF est absent, ou si
la section est définie manuellement ( |
KeyError
|
Si |
get_combo_objects ¶
Retourne les objets EC5 instanciés pour une barre et une combinaison.
Lit directement depuis le cache interne peuplé par :meth:verify.
Aucun recalcul n'est effectué.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Nom de la barre structurale. |
required |
combo_name
|
str
|
Nom de la combinaison ELU
(ex: |
required |
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict
|
|
Raises:
| Type | Description |
|---|---|
KeyError
|
Si |
Exemple
verif.verify("SM1") objs = verif.get_combo_objects("SM1", "ELU_STR 1.35G + 1.5Q") flexion = objs["Flexion"] display(Latex(flexion.taux_m_d()[0]))
synthese ¶
Agrège les vérifications EC5 de toutes les barres structurales.
Parcourt toutes les barres structurales via :meth:Model_generator._iter_structural_members
et concatène les tableaux individuels en un unique DataFrame trié par
barre structurale, puis par taux décroissant au sein de chaque barre.
Les paramètres de vérification sont ceux définis à l'initialisation.
Pour des paramètres spécifiques à une barre, utilisez :meth:verify directement.
Returns:
| Type | Description |
|---|---|
DataFrame
|
pd.DataFrame: Colonnes |