ourocode 2.1.5__tar.gz → 2.1.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ourocode-2.1.5/ourocode.egg-info → ourocode-2.1.6}/PKG-INFO +1 -1
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec1/neige.py +41 -1
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/cvt.py +10 -0
- {ourocode-2.1.5 → ourocode-2.1.6/ourocode.egg-info}/PKG-INFO +1 -1
- {ourocode-2.1.5 → ourocode-2.1.6}/pyproject.toml +1 -1
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC1_Neige.py +28 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/LICENSE +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/MANIFEST.in +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/README.md +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/__version__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/caracteristique_meca_acier.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/caracteristique_meca_beton.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/caracteristique_meca_bois.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/caracteristique_meca_panel.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/carte_action_region.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/coeff_psy.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/exploitation.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/gammaM.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/kdef.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/kfi.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/kmod.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/limite_fleche.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/profil_acier.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/qualite_acier.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/screenshot/C90_def.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/screenshot/CNC2M_4.3.3_tab15.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/screenshot/CNC2M_4.3.3_tab16.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/screenshot/EN1993-1-8_fig6_11.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/screenshot/Kv_def.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/screenshot/sign_convention.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/section_boulon.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/sismique/categorie_importance.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/sismique/categorie_importance_ns.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/sismique/classe_sol.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/sismique/spectre_eleastique_h_type1.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/sismique/spectre_eleastique_h_type2.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cp_toiture_isolee_1_versant.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cp_toiture_isolee_1_versant.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cp_toiture_isolee_2_versants.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cp_toiture_isolee_2_versants.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_mur_verticaux.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_mur_verticaux.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_1_versant.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_1_versant_0_degres.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_1_versant_180_degres.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_1_versant_90_degres.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_2_versants.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_2_versants_0_degres.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_2_versants_90_degres.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_terrasse.csv +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_terrasse.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Ffr.png +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/core/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/core/_renderer.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/core/batiment.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/core/combinaison.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/core/model_generator.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/core/model_result.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/core/objet.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/core/projet.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec1/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec1/exploitation.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec1/vent.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/assemblage/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/assemblage/platine.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/assemblage/soudure.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/assemblage/tige.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/element_droit/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/element_droit/cisaillement.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/element_droit/compression.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/element_droit/flexion.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/element_droit/plat.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/element_droit/profil.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/element_droit/traction.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec3/feu.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/assemblage/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/assemblage/agrafe.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/assemblage/assemblage.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/assemblage/boulon.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/assemblage/broche.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/assemblage/embrevement.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/assemblage/pointe.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/assemblage/tirefond.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/blc.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/element_droit/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/element_droit/barre.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/element_droit/cisaillement.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/element_droit/compression.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/element_droit/flexion.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/element_droit/traction.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/element_droit/verification_EC5.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/feu/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/feu/cisaillement_feu.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/feu/compression_feu.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/feu/feu.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/feu/flexion_feu.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec5/feu/traction_feu.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec8/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/ec8/sismique.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/mixins/__init__.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/mixins/data_loader.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/mixins/math_utils.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/mixins/serialization.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode/eurocode/mixins/synthese.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode.egg-info/SOURCES.txt +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode.egg-info/dependency_links.txt +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode.egg-info/requires.txt +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/ourocode.egg-info/top_level.txt +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/setup.cfg +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_A0_Projet.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC0_Combinaison.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC1_Exploitation.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC3_Assemblage.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC3_Element_droit.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC3_Feu.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC3_Platine.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC5_Assemblage.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC5_BLC.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC5_CVT.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC5_Element_droit.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC5_Embrevement.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC5_Feu.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC5_Verification.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_EC8_Sismique.py +0 -0
- {ourocode-2.1.5 → ourocode-2.1.6}/tests/test_model_generator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ourocode
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.6
|
|
4
4
|
Summary: Ceci est un catalogue de fonction permettant une utilisation rapide pour la réalisation de note de calcul personnalisée.
|
|
5
5
|
Author-email: Anthony PARISOT <contact@ourea-structure.fr>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -455,7 +455,7 @@ class Neige(Batiment):
|
|
|
455
455
|
"""Retourne la charge de neige en kN/m sur un obstacle ou une barre à neige
|
|
456
456
|
|
|
457
457
|
Args:
|
|
458
|
-
Sn (float): la charge de neige en kN/m²
|
|
458
|
+
Sn (float): la charge de neige normale au sol en kN/m²
|
|
459
459
|
entraxe (int): entraxe horizontal entre deux obstacle à la neige en m
|
|
460
460
|
alpha (float): angle du versant considéré.
|
|
461
461
|
|
|
@@ -470,6 +470,46 @@ class Neige(Batiment):
|
|
|
470
470
|
return F_s
|
|
471
471
|
return val()
|
|
472
472
|
|
|
473
|
+
def poussee_hydrostatique(self, h: si.m):
|
|
474
|
+
"""Retourne la poussée horizontale de neige "hydrostatique" selon l'EN 1991-1-3 §6.2.
|
|
475
|
+
|
|
476
|
+
Modélise l'action horizontale due à une accumulation de neige contre un obstacle
|
|
477
|
+
vertical (parapet, écran, mur...) par une charge triangulaire :
|
|
478
|
+
pression nulle au sommet de la couche de neige et maximale à la base.
|
|
479
|
+
|
|
480
|
+
Formules :
|
|
481
|
+
|
|
482
|
+
- hauteur de neige : h_n = S_n / γ
|
|
483
|
+
- pression maximale à la base : q_h = γ × h_n
|
|
484
|
+
- résultante horizontale par mètre linéaire : F_hl = 0.5 × q_h × h
|
|
485
|
+
- hauteur équivalente d'application de la résultante: h_eq = 1/3 * h_n
|
|
486
|
+
|
|
487
|
+
Args:
|
|
488
|
+
h (float): Hauteur de la paroi verticale en m.
|
|
489
|
+
|
|
490
|
+
Returns:
|
|
491
|
+
tuple: (latex_string, dict) avec :
|
|
492
|
+
- "q_h" : pression horizontale maximale à la base en kN/m².
|
|
493
|
+
- "F_hl" : résultante horizontale par unité de largeur en kN/m.
|
|
494
|
+
- "h_neige" : hauteur de neige en m.
|
|
495
|
+
"""
|
|
496
|
+
h = h * si.m
|
|
497
|
+
gamma = 2 * si.kN/si.m**3
|
|
498
|
+
Sk_alt = self.Sk_alt[1]
|
|
499
|
+
C_e = self.C_e
|
|
500
|
+
C_t = self.C_t
|
|
501
|
+
|
|
502
|
+
@handcalc(override="short", precision=2, jupyter_display=self.JUPYTER_DISPLAY, left="\\[", right="\\]")
|
|
503
|
+
def val():
|
|
504
|
+
mu_i = min(max(gamma * h / Sk_alt, 0.8), 2)
|
|
505
|
+
S_n = Sk_alt * mu_i * C_e * C_t
|
|
506
|
+
h_neige = S_n / gamma # hauteur de neige
|
|
507
|
+
h_eq = h_neige * 1/3 # hauteur équivalente d'application de la résultante
|
|
508
|
+
q_h = gamma * h_neige # pression maximale à la base
|
|
509
|
+
F_hl = 0.5 * q_h * h_neige # résultante horizontale par mètre linéaire
|
|
510
|
+
return q_h, F_hl, h_neige, h_eq
|
|
511
|
+
latex, (q_h, F_hl, h_neige, h_eq) = val()
|
|
512
|
+
return latex, {"q_h": q_h, "F_hl": F_hl, "h_neige": h_neige, "h_equivalent": h_eq}
|
|
473
513
|
|
|
474
514
|
|
|
475
515
|
if __name__ == "__main__":
|
|
@@ -871,6 +871,16 @@ class MOB(Batiment):
|
|
|
871
871
|
long_wall = self.data_walls[wall_name]['Longueur']
|
|
872
872
|
nb_anc_lb = floor(long_wall / e_anc_lb)
|
|
873
873
|
nb_anc_li = floor(long_wall / e_anc_li)
|
|
874
|
+
if nb_anc_lb == 0:
|
|
875
|
+
raise ValueError(
|
|
876
|
+
f"Mur '{wall_name}' (L={long_wall}) : e_anc_lb={e_anc_lb} est supérieur "
|
|
877
|
+
f"à la longueur du mur — aucun ancrage lisse basse possible (nb_anc_lb=0)."
|
|
878
|
+
)
|
|
879
|
+
if nb_anc_li == 0:
|
|
880
|
+
raise ValueError(
|
|
881
|
+
f"Mur '{wall_name}' (L={long_wall}) : e_anc_li={e_anc_li} est supérieur "
|
|
882
|
+
f"à la longueur du mur — aucun ancrage lisse d'implantation possible (nb_anc_li=0)."
|
|
883
|
+
)
|
|
874
884
|
Ft_Rd_wood = (Ft_Rk_wood * K_mod_montant / Assemblage.GAMMA_M_ASS)
|
|
875
885
|
Fv_Rd_anc_lb = (Fv_Rk_anc_lb * K_mod_lb / Assemblage.GAMMA_M_ASS) * nb_anc_lb
|
|
876
886
|
Fv_Rd_anc_li = (Fv_Rk_anc_li * K_mod_li / Assemblage.GAMMA_M_ASS) * nb_anc_li
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ourocode
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.6
|
|
4
4
|
Summary: Ceci est un catalogue de fonction permettant une utilisation rapide pour la réalisation de note de calcul personnalisée.
|
|
5
5
|
Author-email: Anthony PARISOT <contact@ourea-structure.fr>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -8,7 +8,7 @@ include = ["ourocode*"]
|
|
|
8
8
|
|
|
9
9
|
[project]
|
|
10
10
|
name = "ourocode"
|
|
11
|
-
version = "2.1.
|
|
11
|
+
version = "2.1.6"
|
|
12
12
|
description = "Ceci est un catalogue de fonction permettant une utilisation rapide pour la réalisation de note de calcul personnalisée."
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
authors = [{name = "Anthony PARISOT", email = "contact@ourea-structure.fr"}]
|
|
@@ -166,3 +166,31 @@ def test_fs():
|
|
|
166
166
|
# F_s = S_n * entraxe * sin(alpha)
|
|
167
167
|
expected = 1.0 * si.kN/si.m**2 * 1.5 * si.m * math.sin(math.radians(30))
|
|
168
168
|
assert pytest.approx(out[1].value, rel=1e-6) == expected.value
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def test_poussee_hydrostatique():
|
|
172
|
+
n = Neige(
|
|
173
|
+
exposition="Normal",
|
|
174
|
+
type_toit="1 versant",
|
|
175
|
+
blocage=False,
|
|
176
|
+
h_bat=5, d_bat=10, b_bat=10,
|
|
177
|
+
alpha_toit=10,
|
|
178
|
+
code_INSEE=1001,
|
|
179
|
+
alt=100,
|
|
180
|
+
)
|
|
181
|
+
h = 1 * si.m
|
|
182
|
+
latex, res = n.poussee_hydrostatique(h=h)
|
|
183
|
+
gamma = 2 * si.kN/si.m**3
|
|
184
|
+
Sk_alt = n.Sk_alt[1]
|
|
185
|
+
mu_i = min(max(gamma * h / Sk_alt, 0.8), 2)
|
|
186
|
+
S_n = Sk_alt * mu_i * n.C_e * n.C_t
|
|
187
|
+
h_neige_expected = S_n / gamma
|
|
188
|
+
q_expected = gamma * h_neige_expected
|
|
189
|
+
F_expected = 0.5 * q_expected * h_neige_expected
|
|
190
|
+
h_equivalent_expected = h_neige_expected / 3
|
|
191
|
+
|
|
192
|
+
assert set(res.keys()) == {"q_h", "F_hl", "h_neige", "h_equivalent"}
|
|
193
|
+
assert pytest.approx(res["h_neige"].value, rel=1e-6) == h_neige_expected.value
|
|
194
|
+
assert pytest.approx(res["h_equivalent"].value, rel=1e-6) == h_equivalent_expected.value
|
|
195
|
+
assert pytest.approx(res["q_h"].value, rel=1e-6) == q_expected.value
|
|
196
|
+
assert pytest.approx(res["F_hl"].value, rel=1e-6) == F_expected.value
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_1_versant_0_degres.csv
RENAMED
|
File without changes
|
{ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_1_versant_180_degres.csv
RENAMED
|
File without changes
|
{ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_1_versant_90_degres.csv
RENAMED
|
File without changes
|
|
File without changes
|
{ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_2_versants_0_degres.csv
RENAMED
|
File without changes
|
{ourocode-2.1.5 → ourocode-2.1.6}/ourocode/data/vent/vent_Cpe_toiture_2_versants_90_degres.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|