ourocode 2.1.4__tar.gz → 2.1.5__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.
Files changed (129) hide show
  1. {ourocode-2.1.4/ourocode.egg-info → ourocode-2.1.5}/PKG-INFO +1 -1
  2. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/core/model_result.py +5 -4
  3. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/cvt.py +10 -6
  4. {ourocode-2.1.4 → ourocode-2.1.5/ourocode.egg-info}/PKG-INFO +1 -1
  5. {ourocode-2.1.4 → ourocode-2.1.5}/pyproject.toml +1 -1
  6. {ourocode-2.1.4 → ourocode-2.1.5}/LICENSE +0 -0
  7. {ourocode-2.1.4 → ourocode-2.1.5}/MANIFEST.in +0 -0
  8. {ourocode-2.1.4 → ourocode-2.1.5}/README.md +0 -0
  9. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/__init__.py +0 -0
  10. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/__version__.py +0 -0
  11. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/caracteristique_meca_acier.csv +0 -0
  12. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/caracteristique_meca_beton.csv +0 -0
  13. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/caracteristique_meca_bois.csv +0 -0
  14. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/caracteristique_meca_panel.csv +0 -0
  15. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/carte_action_region.csv +0 -0
  16. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/coeff_psy.csv +0 -0
  17. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/exploitation.csv +0 -0
  18. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/gammaM.csv +0 -0
  19. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/kdef.csv +0 -0
  20. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/kfi.csv +0 -0
  21. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/kmod.csv +0 -0
  22. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/limite_fleche.csv +0 -0
  23. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/profil_acier.csv +0 -0
  24. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/qualite_acier.csv +0 -0
  25. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/screenshot/C90_def.png +0 -0
  26. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/screenshot/CNC2M_4.3.3_tab15.png +0 -0
  27. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/screenshot/CNC2M_4.3.3_tab16.png +0 -0
  28. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/screenshot/EN1993-1-8_fig6_11.png +0 -0
  29. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/screenshot/Kv_def.png +0 -0
  30. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/screenshot/sign_convention.png +0 -0
  31. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/section_boulon.csv +0 -0
  32. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/sismique/categorie_importance.csv +0 -0
  33. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/sismique/categorie_importance_ns.csv +0 -0
  34. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/sismique/classe_sol.csv +0 -0
  35. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/sismique/spectre_eleastique_h_type1.csv +0 -0
  36. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/sismique/spectre_eleastique_h_type2.csv +0 -0
  37. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cp_toiture_isolee_1_versant.csv +0 -0
  38. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cp_toiture_isolee_1_versant.png +0 -0
  39. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cp_toiture_isolee_2_versants.csv +0 -0
  40. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cp_toiture_isolee_2_versants.png +0 -0
  41. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_mur_verticaux.csv +0 -0
  42. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_mur_verticaux.png +0 -0
  43. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_1_versant.png +0 -0
  44. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_1_versant_0_degres.csv +0 -0
  45. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_1_versant_180_degres.csv +0 -0
  46. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_1_versant_90_degres.csv +0 -0
  47. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_2_versants.png +0 -0
  48. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_2_versants_0_degres.csv +0 -0
  49. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_2_versants_90_degres.csv +0 -0
  50. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_terrasse.csv +0 -0
  51. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Cpe_toiture_terrasse.png +0 -0
  52. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/data/vent/vent_Ffr.png +0 -0
  53. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/__init__.py +0 -0
  54. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/core/__init__.py +0 -0
  55. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/core/_renderer.py +0 -0
  56. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/core/batiment.py +0 -0
  57. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/core/combinaison.py +0 -0
  58. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/core/model_generator.py +0 -0
  59. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/core/objet.py +0 -0
  60. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/core/projet.py +0 -0
  61. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec1/__init__.py +0 -0
  62. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec1/exploitation.py +0 -0
  63. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec1/neige.py +0 -0
  64. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec1/vent.py +0 -0
  65. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/__init__.py +0 -0
  66. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/assemblage/__init__.py +0 -0
  67. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/assemblage/platine.py +0 -0
  68. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/assemblage/soudure.py +0 -0
  69. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/assemblage/tige.py +0 -0
  70. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/element_droit/__init__.py +0 -0
  71. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/element_droit/cisaillement.py +0 -0
  72. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/element_droit/compression.py +0 -0
  73. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/element_droit/flexion.py +0 -0
  74. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/element_droit/plat.py +0 -0
  75. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/element_droit/profil.py +0 -0
  76. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/element_droit/traction.py +0 -0
  77. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec3/feu.py +0 -0
  78. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/__init__.py +0 -0
  79. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/assemblage/__init__.py +0 -0
  80. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/assemblage/agrafe.py +0 -0
  81. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/assemblage/assemblage.py +0 -0
  82. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/assemblage/boulon.py +0 -0
  83. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/assemblage/broche.py +0 -0
  84. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/assemblage/embrevement.py +0 -0
  85. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/assemblage/pointe.py +0 -0
  86. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/assemblage/tirefond.py +0 -0
  87. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/blc.py +0 -0
  88. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/element_droit/__init__.py +0 -0
  89. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/element_droit/barre.py +0 -0
  90. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/element_droit/cisaillement.py +0 -0
  91. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/element_droit/compression.py +0 -0
  92. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/element_droit/flexion.py +0 -0
  93. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/element_droit/traction.py +0 -0
  94. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/element_droit/verification_EC5.py +0 -0
  95. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/feu/__init__.py +0 -0
  96. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/feu/cisaillement_feu.py +0 -0
  97. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/feu/compression_feu.py +0 -0
  98. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/feu/feu.py +0 -0
  99. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/feu/flexion_feu.py +0 -0
  100. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec5/feu/traction_feu.py +0 -0
  101. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec8/__init__.py +0 -0
  102. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/ec8/sismique.py +0 -0
  103. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/mixins/__init__.py +0 -0
  104. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/mixins/data_loader.py +0 -0
  105. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/mixins/math_utils.py +0 -0
  106. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/mixins/serialization.py +0 -0
  107. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode/eurocode/mixins/synthese.py +0 -0
  108. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode.egg-info/SOURCES.txt +0 -0
  109. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode.egg-info/dependency_links.txt +0 -0
  110. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode.egg-info/requires.txt +0 -0
  111. {ourocode-2.1.4 → ourocode-2.1.5}/ourocode.egg-info/top_level.txt +0 -0
  112. {ourocode-2.1.4 → ourocode-2.1.5}/setup.cfg +0 -0
  113. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_A0_Projet.py +0 -0
  114. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC0_Combinaison.py +0 -0
  115. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC1_Exploitation.py +0 -0
  116. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC1_Neige.py +0 -0
  117. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC3_Assemblage.py +0 -0
  118. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC3_Element_droit.py +0 -0
  119. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC3_Feu.py +0 -0
  120. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC3_Platine.py +0 -0
  121. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC5_Assemblage.py +0 -0
  122. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC5_BLC.py +0 -0
  123. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC5_CVT.py +0 -0
  124. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC5_Element_droit.py +0 -0
  125. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC5_Embrevement.py +0 -0
  126. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC5_Feu.py +0 -0
  127. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC5_Verification.py +0 -0
  128. {ourocode-2.1.4 → ourocode-2.1.5}/tests/test_EC8_Sismique.py +0 -0
  129. {ourocode-2.1.4 → ourocode-2.1.5}/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.4
3
+ Version: 2.1.5
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
@@ -834,9 +834,10 @@ class Model_result(Projet):
834
834
  Un glisseur retournera une force nulle dans la direction libre.
835
835
  """
836
836
  reaction = {}
837
- supports = self._model_generator.get_all_supports()
838
- for support_id, support in supports.items():
839
- node_id = support["Noeud"]
840
- reaction[support_id] = self._get_node_reaction(node_id, combination)
837
+ all_supports = self._model_generator.get_all_supports()
838
+ for support_type, supports in all_supports.items():
839
+ for support_id, support in supports.items():
840
+ node_id = support["Noeud"]
841
+ reaction[support_id] = self._get_node_reaction(node_id, combination)
841
842
  return reaction
842
843
 
@@ -379,11 +379,11 @@ class MOB(Batiment):
379
379
  if couturage_ext_rive:
380
380
  wall['Couturage ext. rive'] = couturage_ext_rive * si.mm
381
381
  wall['Couturage ext. intermédiaire'] = couturage_ext_inter * si.mm
382
- if Ff_Rk_ext is None:
382
+ if Ff_Rk_ext is None or Ff_Rk_ext == 0 * si.N:
383
383
  wall['Ff,Rk ext'] = self._data_connecteurs['Extérieur']['Ff,Rk']
384
384
  else:
385
385
  wall['Ff,Rk ext'] = Ff_Rk_ext * si.N
386
- if Kser_ext is None:
386
+ if Kser_ext is None or Kser_ext == 0 * si.N/si.mm:
387
387
  wall['Kser ext'] = self._data_connecteurs['Extérieur']['Kser']
388
388
  else:
389
389
  wall['Kser ext'] = Kser_ext * si.N / si.mm
@@ -391,11 +391,11 @@ class MOB(Batiment):
391
391
  if couturage_int_rive:
392
392
  wall['Couturage int. rive'] = couturage_int_rive * si.mm
393
393
  wall['Couturage int. intermédiaire'] = couturage_int_inter * si.mm
394
- if Ff_Rk_int is None:
394
+ if Ff_Rk_int is None or Ff_Rk_int == 0 * si.N:
395
395
  wall['Ff,Rk int'] = self._data_connecteurs['Intérieur']['Ff,Rk']
396
396
  else:
397
397
  wall['Ff,Rk int'] = Ff_Rk_int * si.N
398
- if Kser_int is None:
398
+ if Kser_int is None or Kser_int == 0 * si.N/si.mm:
399
399
  wall['Kser int'] = self._data_connecteurs['Intérieur']['Kser']
400
400
  else:
401
401
  wall['Kser int'] = Kser_int * si.N / si.mm
@@ -529,6 +529,10 @@ class MOB(Batiment):
529
529
  k_ser_r (float): raideur du panneau.
530
530
  k_ser_i (float): raideur du panneau.
531
531
  """
532
+ if b == 0 * si.mm or h == 0 * si.mm:
533
+ raise ValueError("Dimensions de panneau invalides: b et h doivent être non nulles.")
534
+ if k_ser_r == 0 * si.N / si.mm**2:
535
+ raise ValueError("Raideur linéique de rive nulle (k_ser_r): vérifier Kser et les couturages de rive.")
532
536
  K_p = (2 / (k_ser_r * (b + h/3) + k_ser_i * h/6) + 2*h**2 / (k_ser_r * b**2 * (h + b/3)))**-1
533
537
  return K_p
534
538
 
@@ -556,11 +560,11 @@ class MOB(Batiment):
556
560
  for sys_name, sys_wall in sys.items():
557
561
  h_sys = sys_wall['Hauteur du système de mur']
558
562
  for wall_name, wall in sys_wall['Murs'].items():
559
- if wall.get('Kser ext', None):
563
+ if wall.get('Kser ext', None) is not None:
560
564
  kser_ext = wall['Kser ext']
561
565
  couturage_ext_rive = wall['Couturage ext. rive']
562
566
  couturage_ext_inter = wall['Couturage ext. intermédiaire']
563
- if wall.get('Kser int', None):
567
+ if wall.get('Kser int', None) is not None:
564
568
  kser_int = wall['Kser int']
565
569
  couturage_int_rive = wall['Couturage int. rive']
566
570
  couturage_int_inter = wall['Couturage int. intermédiaire']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ourocode
3
- Version: 2.1.4
3
+ Version: 2.1.5
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.4"
11
+ version = "2.1.5"
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"}]
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