OpenSimula 0.0.5__tar.gz → 0.1.1__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.

Potentially problematic release.


This version of OpenSimula might be problematic. Click here for more details.

Files changed (306) hide show
  1. {opensimula-0.0.5 → opensimula-0.1.1}/.gitignore +1 -1
  2. opensimula-0.1.1/PKG-INFO +60 -0
  3. opensimula-0.1.1/Python_Libraries.txt +31 -0
  4. opensimula-0.1.1/README.md +26 -0
  5. opensimula-0.1.1/debug.py +9 -0
  6. {opensimula-0.0.5/examples → opensimula-0.1.1/docs}/component_list.ipynb +1 -1
  7. opensimula-0.1.1/docs/component_list.md +15 -0
  8. opensimula-0.1.1/docs/component_list_building.md +423 -0
  9. opensimula-0.1.1/docs/component_list_constructions.md +146 -0
  10. opensimula-0.1.1/docs/component_list_files.md +89 -0
  11. opensimula-0.0.5/docs/component_list.md → opensimula-0.1.1/docs/component_list_schedules.md +5 -41
  12. opensimula-0.1.1/docs/getting_started.ipynb +18592 -0
  13. opensimula-0.1.1/docs/getting_started.json +68 -0
  14. {opensimula-0.0.5 → opensimula-0.1.1}/docs/getting_started.md +7 -11
  15. opensimula-0.1.1/docs/img/building_coordinate_system.png +0 -0
  16. opensimula-0.1.1/docs/img/opening_definition.png +0 -0
  17. opensimula-0.1.1/docs/img/polygon_surface_coordinate_system.png +0 -0
  18. opensimula-0.1.1/docs/img/rectangular_surface_coordinate_system.png +0 -0
  19. opensimula-0.1.1/docs/img/schedule_plot.png +0 -0
  20. opensimula-0.1.1/docs/img/simple glazing rho norm.png +0 -0
  21. opensimula-0.1.1/docs/img/simple glazing rho.png +0 -0
  22. opensimula-0.1.1/docs/img/simple glazing tau norm.png +0 -0
  23. opensimula-0.1.1/docs/img/simple glazing tau.png +0 -0
  24. opensimula-0.1.1/docs/img/variable_dataframe.png +0 -0
  25. opensimula-0.1.1/docs/index.md +48 -0
  26. opensimula-0.1.1/docs/logos/Coordinate system.drawio +460 -0
  27. opensimula-0.1.1/docs/user_guide.ipynb +106487 -0
  28. opensimula-0.1.1/docs/user_guide.md +333 -0
  29. opensimula-0.1.1/examples/future_dev/ipydatagrid_test.ipynb +87 -0
  30. opensimula-0.1.1/examples/future_dev/test_Constructions.ipynb +304 -0
  31. opensimula-0.1.1/examples/future_dev/test_psychrolib.ipynb +122 -0
  32. opensimula-0.0.5/examples/structure_tests.ipynb → opensimula-0.1.1/examples/test_Test_components.ipynb +673 -369
  33. {opensimula-0.0.5 → opensimula-0.1.1}/makefile +4 -0
  34. {opensimula-0.0.5 → opensimula-0.1.1}/pyproject.toml +19 -7
  35. opensimula-0.1.1/requirements.txt +12 -0
  36. opensimula-0.1.1/site/cinder/404.html +13 -0
  37. opensimula-0.1.1/site/cinder/__init__.py +0 -0
  38. opensimula-0.1.1/site/cinder/base.html +139 -0
  39. opensimula-0.1.1/site/cinder/content.html +9 -0
  40. opensimula-0.1.1/site/cinder/css/base.css +289 -0
  41. opensimula-0.1.1/site/cinder/css/base.min.css +1 -0
  42. opensimula-0.1.1/site/cinder/css/bootstrap-custom.css +5309 -0
  43. opensimula-0.1.1/site/cinder/css/bootstrap-custom.min.css +1 -0
  44. opensimula-0.1.1/site/cinder/css/cinder.css +88 -0
  45. opensimula-0.1.1/site/cinder/css/cinder.min.css +1 -0
  46. opensimula-0.1.1/site/cinder/css/highlight.css +99 -0
  47. opensimula-0.1.1/site/cinder/css/highlight.min.css +1 -0
  48. opensimula-0.1.1/site/cinder/fonts/fontawesome-webfont.eot +0 -0
  49. opensimula-0.1.1/site/cinder/fonts/fontawesome-webfont.svg +414 -0
  50. opensimula-0.1.1/site/cinder/fonts/fontawesome-webfont.ttf +0 -0
  51. opensimula-0.1.1/site/cinder/fonts/fontawesome-webfont.woff +0 -0
  52. opensimula-0.1.1/site/cinder/img/favicon.ico +0 -0
  53. opensimula-0.1.1/site/cinder/img/grid1.png +0 -0
  54. opensimula-0.1.1/site/cinder/img/grid10.png +0 -0
  55. opensimula-0.1.1/site/cinder/img/grid11.png +0 -0
  56. opensimula-0.1.1/site/cinder/img/grid12.png +0 -0
  57. opensimula-0.1.1/site/cinder/img/grid13.png +0 -0
  58. opensimula-0.1.1/site/cinder/img/grid14.png +0 -0
  59. opensimula-0.1.1/site/cinder/img/grid15.png +0 -0
  60. opensimula-0.1.1/site/cinder/img/grid16.png +0 -0
  61. opensimula-0.1.1/site/cinder/img/grid17.png +0 -0
  62. opensimula-0.1.1/site/cinder/img/grid18.png +0 -0
  63. opensimula-0.1.1/site/cinder/img/grid19.png +0 -0
  64. opensimula-0.1.1/site/cinder/img/grid2.png +0 -0
  65. opensimula-0.1.1/site/cinder/img/grid20.png +0 -0
  66. opensimula-0.1.1/site/cinder/img/grid3.png +0 -0
  67. opensimula-0.1.1/site/cinder/img/grid4.png +0 -0
  68. opensimula-0.1.1/site/cinder/img/grid5.png +0 -0
  69. opensimula-0.1.1/site/cinder/img/grid6.png +0 -0
  70. opensimula-0.1.1/site/cinder/img/grid7.png +0 -0
  71. opensimula-0.1.1/site/cinder/img/grid8.png +0 -0
  72. opensimula-0.1.1/site/cinder/img/grid9.png +0 -0
  73. opensimula-0.1.1/site/cinder/js/base.js +225 -0
  74. opensimula-0.1.1/site/cinder/js/bootstrap-3.0.3.min.js +7 -0
  75. opensimula-0.1.1/site/cinder/keyboard-modal.html +40 -0
  76. opensimula-0.1.1/site/cinder/main.html +10 -0
  77. opensimula-0.1.1/site/cinder/mkdocs_theme.yml +13 -0
  78. opensimula-0.1.1/site/cinder/nav-sub.html +14 -0
  79. opensimula-0.1.1/site/cinder/nav.html +109 -0
  80. opensimula-0.1.1/site/cinder/search-modal.html +27 -0
  81. opensimula-0.1.1/site/cinder/toc.html +13 -0
  82. opensimula-0.1.1/site/component_list/index.html +251 -0
  83. opensimula-0.1.1/site/component_list.ipynb +60 -0
  84. opensimula-0.1.1/site/component_list_building/index.html +643 -0
  85. opensimula-0.1.1/site/component_list_constructions/index.html +366 -0
  86. opensimula-0.1.1/site/component_list_files/index.html +311 -0
  87. opensimula-0.1.1/site/component_list_schedules/index.html +304 -0
  88. opensimula-0.1.1/site/css/base.css +289 -0
  89. opensimula-0.1.1/site/css/base.min.css +1 -0
  90. opensimula-0.1.1/site/css/bootstrap-custom.css +5309 -0
  91. opensimula-0.1.1/site/css/bootstrap-custom.min.css +1 -0
  92. opensimula-0.1.1/site/css/cinder.css +88 -0
  93. opensimula-0.1.1/site/css/cinder.min.css +1 -0
  94. opensimula-0.1.1/site/css/highlight.css +99 -0
  95. opensimula-0.1.1/site/css/highlight.min.css +1 -0
  96. opensimula-0.1.1/site/developer_guide/index.html +236 -0
  97. opensimula-0.1.1/site/fonts/fontawesome-webfont.eot +0 -0
  98. opensimula-0.1.1/site/fonts/fontawesome-webfont.svg +414 -0
  99. opensimula-0.1.1/site/fonts/fontawesome-webfont.ttf +0 -0
  100. opensimula-0.1.1/site/fonts/fontawesome-webfont.woff +0 -0
  101. opensimula-0.1.1/site/getting_started/index.html +339 -0
  102. opensimula-0.1.1/site/getting_started.ipynb +18592 -0
  103. opensimula-0.1.1/site/getting_started.json +68 -0
  104. opensimula-0.1.1/site/img/building_coordinate_system.png +0 -0
  105. opensimula-0.1.1/site/img/component_in_jupyter.png +0 -0
  106. opensimula-0.1.1/site/img/day_schedule_linear.png +0 -0
  107. opensimula-0.1.1/site/img/day_schedule_step.png +0 -0
  108. opensimula-0.1.1/site/img/favicon.ico +0 -0
  109. opensimula-0.1.1/site/img/global_structure.png +0 -0
  110. opensimula-0.1.1/site/img/grid1.png +0 -0
  111. opensimula-0.1.1/site/img/grid10.png +0 -0
  112. opensimula-0.1.1/site/img/grid11.png +0 -0
  113. opensimula-0.1.1/site/img/grid12.png +0 -0
  114. opensimula-0.1.1/site/img/grid13.png +0 -0
  115. opensimula-0.1.1/site/img/grid14.png +0 -0
  116. opensimula-0.1.1/site/img/grid15.png +0 -0
  117. opensimula-0.1.1/site/img/grid16.png +0 -0
  118. opensimula-0.1.1/site/img/grid17.png +0 -0
  119. opensimula-0.1.1/site/img/grid18.png +0 -0
  120. opensimula-0.1.1/site/img/grid19.png +0 -0
  121. opensimula-0.1.1/site/img/grid2.png +0 -0
  122. opensimula-0.1.1/site/img/grid20.png +0 -0
  123. opensimula-0.1.1/site/img/grid3.png +0 -0
  124. opensimula-0.1.1/site/img/grid4.png +0 -0
  125. opensimula-0.1.1/site/img/grid5.png +0 -0
  126. opensimula-0.1.1/site/img/grid6.png +0 -0
  127. opensimula-0.1.1/site/img/grid7.png +0 -0
  128. opensimula-0.1.1/site/img/grid8.png +0 -0
  129. opensimula-0.1.1/site/img/grid9.png +0 -0
  130. opensimula-0.1.1/site/img/icon_opensimula.ico +0 -0
  131. opensimula-0.1.1/site/img/icon_opensimula.png +0 -0
  132. opensimula-0.1.1/site/img/logo_opensimula.png +0 -0
  133. opensimula-0.1.1/site/img/opening_definition.png +0 -0
  134. opensimula-0.1.1/site/img/parameters.png +0 -0
  135. opensimula-0.1.1/site/img/polygon_surface_coordinate_system.png +0 -0
  136. opensimula-0.1.1/site/img/project_in_jupyter.png +0 -0
  137. opensimula-0.1.1/site/img/rectangular_surface_coordinate_system.png +0 -0
  138. opensimula-0.1.1/site/img/schedule_plot.png +0 -0
  139. opensimula-0.1.1/site/img/simple glazing rho norm.png +0 -0
  140. opensimula-0.1.1/site/img/simple glazing rho.png +0 -0
  141. opensimula-0.1.1/site/img/simple glazing tau norm.png +0 -0
  142. opensimula-0.1.1/site/img/simple glazing tau.png +0 -0
  143. opensimula-0.1.1/site/img/variable_dataframe.png +0 -0
  144. opensimula-0.1.1/site/img/variables.png +0 -0
  145. opensimula-0.1.1/site/index.html +272 -0
  146. opensimula-0.1.1/site/js/base.js +225 -0
  147. opensimula-0.1.1/site/js/bootstrap-3.0.3.min.js +7 -0
  148. opensimula-0.1.1/site/logos/Coordinate system.drawio +460 -0
  149. opensimula-0.1.1/site/logos/global_structure.drawio +49 -0
  150. opensimula-0.1.1/site/logos/opensimula_logo.drawio +19 -0
  151. opensimula-0.1.1/site/logos/opensimula_logo.drawio.svg +4 -0
  152. opensimula-0.1.1/site/logos/paramaters.drawio +45 -0
  153. opensimula-0.1.1/site/logos/variables.drawio +45 -0
  154. opensimula-0.1.1/site/search/lunr.js +3475 -0
  155. opensimula-0.1.1/site/search/main.js +109 -0
  156. opensimula-0.1.1/site/search/search_index.json +1 -0
  157. opensimula-0.1.1/site/search/worker.js +133 -0
  158. opensimula-0.1.1/site/sitemap.xml +3 -0
  159. opensimula-0.1.1/site/sitemap.xml.gz +0 -0
  160. opensimula-0.1.1/site/user_guide/index.html +525 -0
  161. opensimula-0.1.1/site/user_guide.ipynb +106487 -0
  162. opensimula-0.1.1/src/OpenSimula/Component.py +170 -0
  163. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/Parameter_container.py +5 -2
  164. opensimula-0.1.1/src/OpenSimula/Parameters.py +754 -0
  165. opensimula-0.1.1/src/OpenSimula/Project.py +527 -0
  166. opensimula-0.1.1/src/OpenSimula/Simulation.py +221 -0
  167. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/Variable.py +7 -4
  168. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/__init__.py +1 -2
  169. opensimula-0.1.1/src/OpenSimula/components/Building.py +573 -0
  170. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/components/Construction.py +112 -52
  171. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/components/Day_schedule.py +3 -2
  172. opensimula-0.1.1/src/OpenSimula/components/Exterior_surface.py +131 -0
  173. opensimula-0.1.1/src/OpenSimula/components/File_data.py +119 -0
  174. opensimula-0.1.1/src/OpenSimula/components/File_met.py +380 -0
  175. opensimula-0.1.1/src/OpenSimula/components/Frame.py +35 -0
  176. opensimula-0.1.1/src/OpenSimula/components/Glazing.py +122 -0
  177. opensimula-0.1.1/src/OpenSimula/components/Interior_surface.py +79 -0
  178. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/components/Material.py +3 -3
  179. opensimula-0.1.1/src/OpenSimula/components/Opening.py +209 -0
  180. opensimula-0.1.1/src/OpenSimula/components/Opening_type.py +89 -0
  181. opensimula-0.1.1/src/OpenSimula/components/Real_surface.py +47 -0
  182. opensimula-0.1.1/src/OpenSimula/components/Shadow_surface.py +18 -0
  183. opensimula-0.1.1/src/OpenSimula/components/Space.py +328 -0
  184. opensimula-0.1.1/src/OpenSimula/components/Space_type.py +115 -0
  185. opensimula-0.1.1/src/OpenSimula/components/Surface.py +112 -0
  186. opensimula-0.1.1/src/OpenSimula/components/Test_component.py +82 -0
  187. opensimula-0.1.1/src/OpenSimula/components/Underground_surface.py +76 -0
  188. opensimula-0.1.1/src/OpenSimula/components/Virtual_exterior_surface.py +63 -0
  189. opensimula-0.1.1/src/OpenSimula/components/Virtual_interior_surface.py +27 -0
  190. opensimula-0.1.1/src/OpenSimula/components/Virtual_surface.py +21 -0
  191. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/components/Week_schedule.py +2 -1
  192. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/components/Year_schedule.py +11 -6
  193. opensimula-0.1.1/src/OpenSimula/components/__init__.py +21 -0
  194. opensimula-0.1.1/src/OpenSimula/components/utils/shadows.py +9 -0
  195. opensimula-0.1.1/test/WD100.tmy3 +8762 -0
  196. opensimula-0.1.1/test/test_Construction.py +129 -0
  197. opensimula-0.1.1/test/test_File_data.py +71 -0
  198. opensimula-0.1.1/test/test_File_met.py +71 -0
  199. {opensimula-0.0.5 → opensimula-0.1.1}/test/test_Project.py +27 -12
  200. {opensimula-0.0.5 → opensimula-0.1.1}/test/test_Schedules.py +19 -6
  201. opensimula-0.1.1/test/test_project_1_written.json +1 -0
  202. opensimula-0.1.1/test/test_project_2_written.json +1 -0
  203. opensimula-0.0.5/PKG-INFO +0 -45
  204. opensimula-0.0.5/README.md +0 -23
  205. opensimula-0.0.5/docs/img/schedule_plot.png +0 -0
  206. opensimula-0.0.5/docs/index.md +0 -64
  207. opensimula-0.0.5/docs/user_guide.md +0 -181
  208. opensimula-0.0.5/examples/debug.py +0 -18
  209. opensimula-0.0.5/examples/example_opensimula.py +0 -88
  210. opensimula-0.0.5/examples/input_files/bdd_project.json +0 -38
  211. opensimula-0.0.5/examples/input_files/bdd_project.xlsx +0 -0
  212. opensimula-0.0.5/examples/input_files/example_project.xlsx +0 -0
  213. opensimula-0.0.5/examples/input_files/test_project_1.xlsx +0 -0
  214. opensimula-0.0.5/examples/input_files/test_project_2.xlsx +0 -0
  215. opensimula-0.0.5/examples/test_File_met.ipynb +0 -36420
  216. opensimula-0.0.5/examples/test_schedules.ipynb +0 -36505
  217. opensimula-0.0.5/examples/user_guide.ipynb +0 -2562
  218. opensimula-0.0.5/requirements 24-oct-2023.txt +0 -86
  219. opensimula-0.0.5/requirements.txt +0 -82
  220. opensimula-0.0.5/src/OpenSimula/Component.py +0 -116
  221. opensimula-0.0.5/src/OpenSimula/Parameters.py +0 -437
  222. opensimula-0.0.5/src/OpenSimula/Project.py +0 -356
  223. opensimula-0.0.5/src/OpenSimula/Simulation.py +0 -81
  224. opensimula-0.0.5/src/OpenSimula/components/File_data.py +0 -68
  225. opensimula-0.0.5/src/OpenSimula/components/File_met.py +0 -216
  226. opensimula-0.0.5/src/OpenSimula/components/Space.py +0 -16
  227. opensimula-0.0.5/src/OpenSimula/components/Space_type.py +0 -117
  228. opensimula-0.0.5/src/OpenSimula/components/Test_component.py +0 -62
  229. opensimula-0.0.5/src/OpenSimula/components/Wall.py +0 -17
  230. opensimula-0.0.5/src/OpenSimula/components/__init__.py +0 -11
  231. opensimula-0.0.5/test/test_Construction.py +0 -98
  232. opensimula-0.0.5/test/test_File_data.py +0 -43
  233. opensimula-0.0.5/test/test_File_met.py +0 -47
  234. opensimula-0.0.5/test/test_Simulation.py +0 -13
  235. {opensimula-0.0.5 → opensimula-0.1.1}/LICENSE +0 -0
  236. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/404.html +0 -0
  237. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/__init__.py +0 -0
  238. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/base.html +0 -0
  239. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/content.html +0 -0
  240. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/css/base.css +0 -0
  241. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/css/base.min.css +0 -0
  242. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/css/bootstrap-custom.css +0 -0
  243. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/css/bootstrap-custom.min.css +0 -0
  244. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/css/cinder.css +0 -0
  245. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/css/cinder.min.css +0 -0
  246. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/css/highlight.css +0 -0
  247. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/css/highlight.min.css +0 -0
  248. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/fonts/fontawesome-webfont.eot +0 -0
  249. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/fonts/fontawesome-webfont.svg +0 -0
  250. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/fonts/fontawesome-webfont.ttf +0 -0
  251. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/fonts/fontawesome-webfont.woff +0 -0
  252. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/favicon.ico +0 -0
  253. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid1.png +0 -0
  254. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid10.png +0 -0
  255. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid11.png +0 -0
  256. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid12.png +0 -0
  257. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid13.png +0 -0
  258. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid14.png +0 -0
  259. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid15.png +0 -0
  260. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid16.png +0 -0
  261. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid17.png +0 -0
  262. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid18.png +0 -0
  263. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid19.png +0 -0
  264. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid2.png +0 -0
  265. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid20.png +0 -0
  266. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid3.png +0 -0
  267. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid4.png +0 -0
  268. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid5.png +0 -0
  269. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid6.png +0 -0
  270. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid7.png +0 -0
  271. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid8.png +0 -0
  272. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/img/grid9.png +0 -0
  273. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/js/base.js +0 -0
  274. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/js/bootstrap-3.0.3.min.js +0 -0
  275. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/keyboard-modal.html +0 -0
  276. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/main.html +0 -0
  277. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/mkdocs_theme.yml +0 -0
  278. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/nav-sub.html +0 -0
  279. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/nav.html +0 -0
  280. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/search-modal.html +0 -0
  281. {opensimula-0.0.5 → opensimula-0.1.1}/docs/cinder/toc.html +0 -0
  282. {opensimula-0.0.5 → opensimula-0.1.1}/docs/developer_guide.md +0 -0
  283. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/component_in_jupyter.png +0 -0
  284. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/day_schedule_linear.png +0 -0
  285. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/day_schedule_step.png +0 -0
  286. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/favicon.ico +0 -0
  287. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/global_structure.png +0 -0
  288. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/icon_opensimula.ico +0 -0
  289. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/icon_opensimula.png +0 -0
  290. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/logo_opensimula.png +0 -0
  291. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/parameters.png +0 -0
  292. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/project_in_jupyter.png +0 -0
  293. {opensimula-0.0.5 → opensimula-0.1.1}/docs/img/variables.png +0 -0
  294. {opensimula-0.0.5 → opensimula-0.1.1}/docs/logos/global_structure.drawio +0 -0
  295. {opensimula-0.0.5 → opensimula-0.1.1}/docs/logos/opensimula_logo.drawio +0 -0
  296. {opensimula-0.0.5 → opensimula-0.1.1}/docs/logos/opensimula_logo.drawio.svg +0 -0
  297. {opensimula-0.0.5 → opensimula-0.1.1}/docs/logos/paramaters.drawio +0 -0
  298. {opensimula-0.0.5 → opensimula-0.1.1}/docs/logos/variables.drawio +0 -0
  299. {opensimula-0.0.5 → opensimula-0.1.1}/mkdocs.yml +0 -0
  300. {opensimula-0.0.5 → opensimula-0.1.1}/pyvenv.cfg +0 -0
  301. {opensimula-0.0.5 → opensimula-0.1.1}/src/OpenSimula/Child.py +0 -0
  302. {opensimula-0.0.5/examples/input_files → opensimula-0.1.1/test}/data_example.csv +0 -0
  303. {opensimula-0.0.5/examples/input_files → opensimula-0.1.1/test}/data_example.xlsx +0 -0
  304. {opensimula-0.0.5/examples/met_files → opensimula-0.1.1/test}/sevilla.met +0 -0
  305. {opensimula-0.0.5/examples/input_files → opensimula-0.1.1/test}/test_project_1.json +0 -0
  306. {opensimula-0.0.5/examples/input_files → opensimula-0.1.1/test}/test_project_2.json +0 -0
@@ -117,7 +117,7 @@ venv.bak/
117
117
  .ropeproject
118
118
 
119
119
  # mkdocs documentation
120
- /site
120
+ #/site
121
121
 
122
122
  # mypy
123
123
  .mypy_cache/
@@ -0,0 +1,60 @@
1
+ Metadata-Version: 2.3
2
+ Name: OpenSimula
3
+ Version: 0.1.1
4
+ Summary: Component-based time simulation environment in Python
5
+ Project-URL: Homepage, https://github.com/jfCoronel/OpenSimula/Site
6
+ Project-URL: Repository, https://github.com/jfCoronel/OpenSimula
7
+ Project-URL: Bug Tracker, https://github.com/jfCoronel/OpenSimula/issues
8
+ Author-email: "Juan F. Coronel" <jfc@us.es>
9
+ License-File: LICENSE
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Requires-Python: >=3.8
14
+ Requires-Dist: dash-ag-grid>=31.2.0
15
+ Requires-Dist: dash-bootstrap-components>=1.6.0
16
+ Requires-Dist: dash>=2.17.1
17
+ Requires-Dist: ipywidgets>=8.1.3
18
+ Requires-Dist: numpy>=1.25.2
19
+ Requires-Dist: pandas>=2.2.2
20
+ Requires-Dist: plotly>=5.23.0
21
+ Requires-Dist: psychrolib>=2.5.0
22
+ Requires-Dist: py-expression-eval>=0.3.14
23
+ Requires-Dist: pyvista>=0.43.4
24
+ Requires-Dist: scipy>=1.14.0
25
+ Requires-Dist: shapely>=2.0.5
26
+ Requires-Dist: trame-vtk>=2.8.9
27
+ Requires-Dist: trame-vuetify>=2.6.2
28
+ Requires-Dist: trame>=3.6.3
29
+ Provides-Extra: docs
30
+ Requires-Dist: mkdocs; extra == 'docs'
31
+ Provides-Extra: testing
32
+ Requires-Dist: pytest; extra == 'testing'
33
+ Description-Content-Type: text/markdown
34
+
35
+ ![Logo](docs/img/logo_opensimula.png)
36
+ Component-based time simulation environment in Python
37
+
38
+ [Documentation page](https://jfcoronel.github.io/OpenSimula/site/)
39
+
40
+ ## Main Developers
41
+
42
+ * [Juan F. Coronel](http://jfc.us.es), Universidad de Sevilla
43
+
44
+ ## Package dependencies
45
+ - numpy
46
+ - pandas
47
+ - scipy
48
+ - py-expression-eval
49
+ - shapely
50
+ - psychrolib
51
+ - plotly
52
+ - dash
53
+ - dash_bootstrap_components
54
+ - dash_ag_grid
55
+ - pyvista
56
+ - trame
57
+ - trame-vtk
58
+ - trame-vuetify
59
+ - ipywidgets
60
+
@@ -0,0 +1,31 @@
1
+ Python libraries needed for OpenSimula:
2
+ In a clean python version:
3
+ - numpy
4
+ - pandas
5
+ - scipy
6
+ - py-expression-eval
7
+ - shapely
8
+ - psychrolib
9
+ - plotly
10
+ - dash
11
+ - dash_bootstrap_components
12
+ - dash_ag_grid
13
+ - pyvista
14
+ - trame
15
+ - trame-vtk
16
+ - trame-vuetify
17
+ - ipywidgets
18
+
19
+ For jupyter with VSC: try to run one ipynb file and VSC will isntall all packages it needed
20
+
21
+ Development tools:
22
+ - pipreqs: Revisa el código y mira que packages necesita el código
23
+ - pytest: Para ejecutar los test que se encuentran en el directorio test
24
+ - mkdocs: Para generar la documentación (mkdcos serve, mkdocs build --clean)
25
+
26
+
27
+
28
+
29
+
30
+
31
+
@@ -0,0 +1,26 @@
1
+ ![Logo](docs/img/logo_opensimula.png)
2
+ Component-based time simulation environment in Python
3
+
4
+ [Documentation page](https://jfcoronel.github.io/OpenSimula/site/)
5
+
6
+ ## Main Developers
7
+
8
+ * [Juan F. Coronel](http://jfc.us.es), Universidad de Sevilla
9
+
10
+ ## Package dependencies
11
+ - numpy
12
+ - pandas
13
+ - scipy
14
+ - py-expression-eval
15
+ - shapely
16
+ - psychrolib
17
+ - plotly
18
+ - dash
19
+ - dash_bootstrap_components
20
+ - dash_ag_grid
21
+ - pyvista
22
+ - trame
23
+ - trame-vtk
24
+ - trame-vuetify
25
+ - ipywidgets
26
+
@@ -0,0 +1,9 @@
1
+ import OpenSimula.Simulation as Simulation
2
+
3
+ sim = Simulation()
4
+ pro = sim.new_project("First example project")
5
+ pro.read_json('docs/getting_started.json')
6
+ pro.simulate()
7
+
8
+ data = [pro.component("year").variable("values")]
9
+ sim.plotly(pro.dates(), data)
@@ -2,7 +2,7 @@
2
2
  "cells": [
3
3
  {
4
4
  "cell_type": "code",
5
- "execution_count": 12,
5
+ "execution_count": 1,
6
6
  "metadata": {},
7
7
  "outputs": [
8
8
  {
@@ -0,0 +1,15 @@
1
+ ## Component List
2
+
3
+ ### Common parameters
4
+ All the components include these three parameters:
5
+
6
+ - **name** [_string_]: Name of the component.
7
+ - **type** [_string_]: Type of the component.
8
+ - **description** [_string_]: Description of the component.
9
+
10
+ We have divided the list of all components into several groups of related components:
11
+
12
+ - [Components to define shedules](component_list_schedules.md): Day_schedule, Week_schedule, Year_schedule.
13
+ - [Components for reading files](component_list_files.md): File_met, File_data.
14
+ - [Constructive components](component_list_constructions.md): Material, Construction, Glazing, Frame, Opening_type.
15
+ - [Building definition components](component_list_building.md): Building, Space_type, Space, Exterior_surface, Interior_surface, Underground_surface, Virtual_exterior_surface, Virtual_interior_surface, Opening.
@@ -0,0 +1,423 @@
1
+ ## Component List for building definition elements
2
+ ### Building
3
+
4
+ Base component for the definition of a building. The building is made up of a set of spaces (Space component).
5
+
6
+ #### Parameters
7
+ - **file_met** [_component_, default = "not_defined", component type = File_met]: Reference to the component where the weather file is defined.
8
+ - **azimuth** [_float_, unit = "°", default = 0, min = -180, max = 180]: Angle formed between the x-axis of the building and the east (Global x-axis). The coordinates of all building elements refer to the building coordinate system.
9
+ - **albedo** [_float_, unit = "frac", default = 0.3, min = 0, max = 1]: Solar reflectivity of the ground surrounding the building. Used to calculate the solar radiation reflected to the exterior surfaces of the building.
10
+ - **initial_temperature** [_float_, unit = "°C", default = 20]: Initial temperature of all building components at the beginning of the simulation.
11
+ - **initial_humidity** [_float_, unit = "g/kg", default = 7.3]: Initial absolute humidity of all building spaces at the beginning of the simulation.
12
+
13
+ The following figure shows the building's coordinate system:
14
+
15
+ ![Building coordinate system](img/building_coordinate_system.png)
16
+
17
+ **Example:**
18
+ <pre><code class="python">
19
+ ...
20
+
21
+ building = osm.components.Building("building",project)
22
+ param = {
23
+ "file_met": "met"
24
+ "azimuth": 90,
25
+ "albedo": 0.4
26
+ }
27
+ building.set_parameters(param)
28
+ </code></pre>
29
+
30
+ ### Space_type
31
+
32
+ Component used to define the type of space. This component will be referenced by all spaces that are of the same type. This component defines the internal loads and some of the functional characteristics of the space.
33
+
34
+ #### Parameters
35
+
36
+ - **input_variables** [_variable_list_, default = []]: List of variables from other components used in this component. They may be used in parameters of the type math_exp.
37
+ - **people_density** [_math_exp_, unit = "p/m²", default = "0.1"]: Occupancy density, defined in persons per m² of floor. The mathematical expression may contain any of the variables declared in the "input_variables" parameter, to be able to reflect the time variation of this value. See example below
38
+ - **people_sensible** [_float_, unit = "W/p", default = 70, min = 0]: Sensible heat generated by each of the occupants of the space.
39
+ - **people_latent** [_float_, unit = "W/p", default = 35, min = 0]: Latent heat generated by each of the occupants of the space.
40
+ - **people_radiant_fraction** [_float_, unit = "frac", default = 0.6, min = 0, max = 1]: Long wave radiant fraction of heat generated by occupants. The rest of the heat is assumed to be convective.
41
+ - **light_density** [_math_exp_, unit = "W/m²", default = "10"]: Lighting density, defined as the electrical lighting power [W] per m² of floor. The mathematical expression may contain any of the variables declared in the "input_variables" parameter, to be able to reflect the time variation of this value. See example below.
42
+ - **light_radiant_fraction** [_float_, unit = "frac", default = 0.6, min = 0, max = 1]: Short wave radiant fraction of heat generated by lights. The rest of the heat is assumed to be convective.
43
+ - **other_gains_density** [_math_exp_, unit = "W/m²", default = "10"]: Other gains density, defined as the heat generated by other gains (Household appliances, office automation, miscellaneous electrical equipment, etc.) [W] per m² of floor. The mathematical expression may contain any of the variables declared in the "input_variables" parameter, to be able to reflect the time variation of this value. See example below.
44
+ - **other_gains_radiant_fraction** [_float_, unit = "frac", default = 0.5, min = 0, max = 1]: Long wave radiant fraction of the heat generated by other gains. The convective fraction is calculated by subtracting the radiant and latent fractions.
45
+ - **other_gains_latent_fraction** [_float_, unit = "frac", default = 0.0, min = 0, max = 1]: Latent fraction of the heat generated by other gains. The convective fraction is calculated by subtracting the radiant and latent fractions.
46
+ - **infiltration** [_math_exp_, unit = "1/h", default = "1"]: Air flow rate infiltrated into the space from outside and expressed in volumes of the space per hour. The mathematical expression may contain any of the variables declared in the "input_variables" parameter, to be able to reflect the time variation of this value.
47
+ - **heating_setpoint** [_math_exp_, unit = "°C", default = "20"]: Heating setpoint temperature. The mathematical expression may contain any of the variables declared in the "input_variables" parameter, to be able to reflect the time variation of this value.
48
+ - **cooling_setpoint** [_math_exp_, unit = "°C", default = "25"]: Cooling setpoint temperature. The mathematical expression may contain any of the variables declared in the "input_variables" parameter, to be able to reflect the time variation of this value.
49
+ - **heating_on_off** [_math_exp_, unit = "on/off", default = "1"]: If this value is 0, the heating will be off, otherwise it will be on. The mathematical expression may contain any of the variables declared in the "input_variables" parameter, to be able to reflect the time variation of this value.
50
+ - **cooling_on_off** [_math_exp_, unit = "on/off", default = "1"]: If this value is 0, the cooling will be off, otherwise it will be on. The mathematical expression may contain any of the variables declared in the "input_variables" parameter, to be able to reflect the time variation of this value.
51
+
52
+ Assuming that the variation of occupancy, lighting and other loads has been defined in a "Year_schedule" component, named "schedule" with values between 0 and 1, the following example would capture that variation.
53
+
54
+ **Example:**
55
+ <pre><code class="python">
56
+ ...
57
+
58
+ office_space = osm.components.Space_type("office_space",project)
59
+ param = {
60
+ "input_variables": ["f = schedule.value"]
61
+ "people_density": "0.1*f",
62
+ "light_density": "10*f",
63
+ "other_gains_density": "4.2*f",
64
+ "other_gains_radiant_fraction": 0.6,
65
+ "infiltration": "0.5",
66
+ "heating_setpoint": "20",
67
+ "cooling_setpoint": "25",
68
+ "heating_on_off": "f",
69
+ "cooling_on_off": "f",
70
+ }
71
+ office_space.set_parameters(param)
72
+ </code></pre>
73
+
74
+ #### Variables
75
+
76
+ After the simulation we will have the following variables of this component:
77
+
78
+ - __people_convective__ [W/m²]: Convective heat due to occupancy.
79
+ - __people_radiant__ [W/m²]: Radiant heat (long wave) due to occupancy.
80
+ - __people_latent__ [W/m²]: Latent heat due to occupancy.
81
+ - __light_convective__ [W/m²]: Convective heat due to lighting.
82
+ - __light_radiant__ [W/m²]: Radiant heat (short wave) due to lighting.
83
+ - __other_gains_convective__ [W/m²]: Convective heat due to other gains.
84
+ - __other_gains_radiant__ [W/m²]: Radiant heat (long wave) due to other gains.
85
+ - __other_gains_latent__ [W/m²]: Latent heat due to other gains.
86
+ - __infiltration_rate__ [1/h]: Air flow rate infiltrated into the space from outside, expressed in volumes of the space per hour.
87
+ - __heating_setpoint__ [°C]: Heating setpoint temperature.
88
+ - __cooling_setpoint__ [°C]: Cooling setpoint temperature.
89
+ - __heating_on_off__ [on/off]: Heating on (1), off (0).
90
+ - __heating_on_off__ [on/off]: Cooling on (1), off (0).
91
+
92
+ ### Space
93
+
94
+ Component used to define each of the building's spaces. The spaces of a building are each of the volumes of the building where we can find a different temperatures. The spaces will be referenced by the different surfaces that comprise them.
95
+
96
+ #### Parameters
97
+
98
+ - **building** [_component_, default = "not_defined", component type = Building]: Reference to the "Building" component of which it is a part.
99
+ - **space_type** [_component_, default = "not_defined", component type = Space_type]: Reference to the "Space_type" component that defines its occupational and functional characteristics.
100
+ - **floor_area** [_float_, unit = "m²", default = 1, min = 0]: Floor area of the space.
101
+ - **volume** [_float_, unit = "m³", default = 1, min = 0]: Volume of the space.
102
+ - **furniture_weight** [_float_, unit = "kg/m²", default = 10, min = 0]: Weight of the furniture in the space. Used to increase the thermal inertia of the space which will be added to that of the air (for the furniture a specific heat of 1000 J/kg·K will be used).
103
+ - **perfect_conditioning** [_boolean_, default = False]: If the value is "True" the space shall be perfectly conditioned using the setpoints and operating periods specified in its space_type,therefore the temperature will be maintained exactly at the value indicated in the setpoint if necessary. For "False" value the space will evolve freely according to the actual conditioning systems available.
104
+
105
+ **Example:**
106
+ <pre><code class="python">
107
+ ...
108
+
109
+ space_1 = osm.components.Space("space_1",project)
110
+ param = {
111
+ "building": "building",
112
+ "space_type": "office_space",
113
+ "floor_area": 30,
114
+ "volume": 90
115
+ }
116
+ space_1.set_parameters(param)
117
+ </code></pre>
118
+
119
+ #### Variables
120
+
121
+ After the simulation we will have the following variables of this component:
122
+
123
+ - __temperatura__ [°C]: Space dry air temperatura.
124
+ - __abs_humidity__ [g/kg]: Absolute space air humidity.
125
+ - __rel_humidity__ [%]: Relative space air humidity.
126
+ - __people_convective__ [W]: Convective heat due to occupancy.
127
+ - __people_radiant__ [W]: Radiant heat (long wave) due to occupancy.
128
+ - __people_latent__ [W]: Latent heat due to occupancy.
129
+ - __light_convective__ [W]: Convective heat due to lighting.
130
+ - __light_radiant__ [W]: Radiant heat (short wave) due to lighting.
131
+ - __other_gains_convective__ [W]: Convective heat due to other gains.
132
+ - __other_gains_radiant__ [W]: Radiant heat (long wave) due to other gains.
133
+ - __other_gains_latent__ [W]: Latent heat due to other gains.
134
+ - __solar_direct_gains__ [W]: Direct solar radiation gains.
135
+ - __infiltration_flow__ [m³/s]: Air flow rate infiltrated into the space from outside.
136
+ - __infiltration_sensible_heat__ [W]: Sensible heat due to air infiltration from outdoor.
137
+ - __infiltration_latent_heat__ [W]: Latent heat due to air infiltration from outdoor.
138
+
139
+ ### Exterior_surface
140
+
141
+ Component to define the exterior surfaces of the building: vertical or inclined walls and horizontal or inclined roofs.
142
+
143
+ #### Parameters
144
+
145
+ - **shape** [_option_, default = "RECTANGLE", options = ["RECTANGLE","POLYGON"]]: Shape of the surface, for a rectangle the parameters "width" and "height" will be used and for a polygon the parameters "x-polygon" and "y-polygon".
146
+ - **width** [_float_, unit = "m", default = 1, min = 0]: Width of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
147
+ - **height** [_float_, unit = "m", default = 1, min = 0]: Height of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
148
+ - **ref_point** [_float-list_, unit = "m", default = [0,0,0]]: Three-dimensional coordinate of the surface reference point. For rectangular surfaces the lower left corner of the surface viewed from the outside, for surfaces defined by polygons the three-dimensional location of the coordinate origin used to define the polygon in two dimensions.
149
+ - **x_polygon** [_float-list_, unit = "m", default = [0,10,10,0]]: List with the x-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
150
+ - **y_polygon** [_float-list_, unit = "m", default = [0,0,10,10]]: List with the y-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
151
+ - **azimuth** [_float_, unit = "°", default = 0, min = -180, max = 180]: Angle formed between the x-axis of the building and the projection of the x-axis of the surface.
152
+ - **altitude** [_float_, unit = "°", default = 0, min = -90, max = 90]: Angle formed between the z-axis of the building and the y-axis of the surface.
153
+ - **construction** [_component_, default = "not_defined", component type = Construction]: Reference to the "Construction" component that defines its composition.
154
+ - **space** [_component_, default = "not_defined", component type = Space]: Reference to the "Space" component to which it belongs.
155
+ - **h_cv** [_float-list_, unit = "W/m²K", default = [19.3,2], min = 0]: Convective film coefficients of the exterior and interior surfaces, respectively.
156
+
157
+ The following figures show the surface coordinate system versus the building coordinate system for rectangular or polygonal surfaces.
158
+
159
+ ![Rectangular surface coordinate system](img/rectangular_surface_coordinate_system.png)
160
+
161
+ ![Polygon surface coordinate system](img/polygon_surface_coordinate_system.png)
162
+
163
+ **Example:**
164
+ <pre><code class="python">
165
+ ...
166
+
167
+ north_wall = osm.components.Exterior_surface("north_wall",project)
168
+ param = {
169
+ "ref_point": [8,0,-6],
170
+ "width": 8,
171
+ "height": 2.7,
172
+ "azimuth": 180,
173
+ "altitude": 0,
174
+ "construction": "Multilayer_wall",
175
+ "space": "space_1"
176
+ }
177
+ north_wall.set_parameters(param)
178
+ </code></pre>
179
+
180
+ #### Variables
181
+
182
+ After the simulation we will have the following variables of this component, all variables ending in 0 refer to the outer surface and those ending in 1 to the inner surface:
183
+
184
+ - __T_s0, T_s1__ [°C]: Surface temperatures
185
+ - __q_cd0, q_cd1__ [W/m²]: Conductive heat flux at the surfaces.
186
+ - __q_cv0, q_cv1__ [W/m²]: Convective heat flux at the surfaces.
187
+ - __q_sol0, q_sol1__ [W/m²]: Solar heat flux at the surfaces.
188
+ - __q_swig0, q_swig1__ [W/m²]: Radiant short wave heat flux at the surfaces due to internal gains.
189
+ - __q_lwig0, q_lwig1__ [W/m²]: Radiant long wave heat flux at the surfaces due to internal gains.
190
+ - __q_lwt0, q_lwt1__ [W/m²]: Radiant long wave heat flux at the surfaces due other surfaces temperatures.
191
+ - __p_0, p_1__ [W/m²]: Conductive heat flux at the surfaces due to previous time steps.
192
+ - __T_rm__ [°C]: Exterior radiant mean temperature.
193
+ - __E_dir__ [W/m²]: Direct solar radiation incident on the exterior surface.
194
+ - __E_dif__ [W/m²]: Diffuse solar radiation incident on the exterior surface.
195
+
196
+ ### Interior_surface
197
+
198
+ Component to define the interior surfaces of the building: vertical or inclined interior walls and slabs between floors.
199
+
200
+ #### Parameters
201
+
202
+ - **shape** [_option_, default = "RECTANGLE", options = ["RECTANGLE","POLYGON"]]: Shape of the surface, for a rectangle the parameters "width" and "height" will be used and for a polygon the parameters "x-polygon" and "y-polygon".
203
+ - **width** [_float_, unit = "m", default = 1, min = 0]: Width of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
204
+ - **height** [_float_, unit = "m", default = 1, min = 0]: Height of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
205
+ - **ref_point** [_float-list_, unit = "m", default = [0,0,0]]: Three-dimensional coordinate of the surface reference point. For rectangular surfaces the lower left corner of the surface viewed the "0" side, for surfaces defined by polygons the three-dimensional location of the coordinate origin used to define the polygon in two dimensions.
206
+ - **x_polygon** [_float-list_, unit = "m", default = [0,10,10,0]]: List with the x-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
207
+ - **y_polygon** [_float-list_, unit = "m", default = [0,0,10,10]]: List with the y-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
208
+ - **azimuth** [_float_, unit = "°", default = 0, min = -180, max = 180]: Angle formed between the x-axis of the building and the projection of the x-axis of the surface.
209
+ - **altitude** [_float_, unit = "°", default = 0, min = -90, max = 90]: Angle formed between the z-axis of the building and the y-axis of the surface.
210
+ - **construction** [_component_, default = "not_defined", component type = Construction]: Reference to the "Construction" component that defines its composition.
211
+ - **spaces** [_component-list_, default = ["not_defined","not_defined], component type = Space]: Reference to the "Space" components for the side 0 and the side 1.
212
+ - **h_cv** [_float-list_, unit = "W/m²K", default = [2,2], min = 0]: Convective film coefficients of the 0 an 1 side, respectively.
213
+
214
+ See figures of the coordinate systems in the "Exterior_surface" component.
215
+
216
+ **Example:**
217
+ <pre><code class="python">
218
+ ...
219
+
220
+ interior_wall = osm.components.Interior_surface("interior_wall",project)
221
+ param = {
222
+ "ref_point": [8,0,-3],
223
+ "width": 8,
224
+ "height": 2.7,
225
+ "azimuth": 0,
226
+ "altitude": 0,
227
+ "construction": "Multilayer_wall",
228
+ "spaces": ["space_0", "space_1"]
229
+ }
230
+ interior_wall.set_parameters(param)
231
+ </code></pre>
232
+
233
+ #### Variables
234
+
235
+ After the simulation we will have the following variables of this component, all variables ending in 0 refer "0" surface and those ending in 1 to the "1" surface:
236
+
237
+ - __T_s0, T_s1__ [°C]: Surface temperatures
238
+ - __q_cd0, q_cd1__ [W/m²]: Conductive heat flux at the surfaces.
239
+ - __q_cv0, q_cv1__ [W/m²]: Convective heat flux at the surfaces.
240
+ - __q_sol0, q_sol1__ [W/m²]: Solar heat flux at the surfaces.
241
+ - __q_swig0, q_swig1__ [W/m²]: Radiant short wave heat flux at the surfaces due to internal gains.
242
+ - __q_lwig0, q_lwig1__ [W/m²]: Radiant long wave heat flux at the surfaces due to internal gains.
243
+ - __q_lwt0, q_lwt1__ [W/m²]: Radiant long wave heat flux at the surfaces due other surfaces temperatures.
244
+ - __p_0, p_1__ [W/m²]: Conductive heat flux at the surfaces due to previous time steps.
245
+
246
+
247
+ ### Underground_surface
248
+
249
+ Component define the surfaces in contact with the ground. Floors or vertical undergorund enclosures.
250
+
251
+ #### Parameters
252
+
253
+ - **shape** [_option_, default = "RECTANGLE", options = ["RECTANGLE","POLYGON"]]: Shape of the surface, for a rectangle the parameters "width" and "height" will be used and for a polygon the parameters "x-polygon" and "y-polygon".
254
+ - **width** [_float_, unit = "m", default = 1, min = 0]: Width of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
255
+ - **height** [_float_, unit = "m", default = 1, min = 0]: Height of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
256
+ - **ref_point** [_float-list_, unit = "m", default = [0,0,0]]: Three-dimensional coordinate of the surface reference point. For rectangular surfaces the lower left corner of the surface viewed the "0" side, for surfaces defined by polygons the three-dimensional location of the coordinate origin used to define the polygon in two dimensions.
257
+ - **x_polygon** [_float-list_, unit = "m", default = [0,10,10,0]]: List with the x-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
258
+ - **y_polygon** [_float-list_, unit = "m", default = [0,0,10,10]]: List with the y-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
259
+ - **azimuth** [_float_, unit = "°", default = 0, min = -180, max = 180]: Angle formed between the x-axis of the building and the projection of the x-axis of the surface.
260
+ - **altitude** [_float_, unit = "°", default = 0, min = -90, max = 90]: Angle formed between the z-axis of the building and the y-axis of the surface.
261
+ - **construction** [_component_, default = "not_defined", component type = Construction]: Reference to the "Construction" component that defines its composition.
262
+ - **space** [_component_, default = "not_defined", component type = Space]: Reference to the "Space" component to which it belongs.
263
+ - **h_cv** [_float_, unit = "W/m²K", default = 2, min = 0]: Convective film coefficient of interior surface.
264
+
265
+ See figures of the coordinate systems in the "Exterior_surface" component.
266
+
267
+ **Example:**
268
+ <pre><code class="python">
269
+ ...
270
+
271
+ floor = osm.components.Underground_surface("floor",project)
272
+ param = {
273
+ "shape": "POLYGON",
274
+ "ref_point": [0,0,0],
275
+ "x_polygon": [0,8,8,0],
276
+ "y_polygon": [0,0,6,6],
277
+ "azimuth": 0,
278
+ "altitude": -90,
279
+ "construction": "Multilayer wall",
280
+ "space": "space_1"
281
+ }
282
+ floor.set_parameters(param)
283
+ </code></pre>
284
+
285
+ #### Variables
286
+
287
+ After the simulation we will have the following variables of this component, all variables ending in 0 refer to the underground surface and those ending in 1 to the interior surface:
288
+
289
+ - __T_s0, T_s1__ [°C]: Surface temperatures
290
+ - __q_cd0, q_cd1__ [W/m²]: Conductive heat flux at the surfaces.
291
+ - __q_cv1__ [W/m²]: Convective heat flux at the ineterior surface.
292
+ - __q_sol1__ [W/m²]: Solar heat flux at the surfaces.
293
+ - __q_swig1__ [W/m²]: Radiant short wave heat flux at the interior surface due to internal gains.
294
+ - __q_lwig1__ [W/m²]: Radiant long wave heat flux at the interior surface due to internal gains.
295
+ - __q_lwt1__ [W/m²]: Radiant long wave heat flux at the interior surface due other surfaces temperatures.
296
+ - __p_0, p_1__ [W/m²]: Conductive heat flux at the surfaces due to previous time steps.
297
+
298
+
299
+ ### Virtual_exterior_surface
300
+
301
+ Virtual surfaces are used to define gaps between a space and the outside "Virtual_exterior_surface" or between two spaces "Virtual_interior_surface". Spaces in OpenSimula must be completely enclosed by surfaces for the radiant exchange calculation to work correctly.
302
+
303
+ #### Parameters
304
+
305
+ - **shape** [_option_, default = "RECTANGLE", options = ["RECTANGLE","POLYGON"]]: Shape of the surface, for a rectangle the parameters "width" and "height" will be used and for a polygon the parameters "x-polygon" and "y-polygon".
306
+ - **width** [_float_, unit = "m", default = 1, min = 0]: Width of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
307
+ - **height** [_float_, unit = "m", default = 1, min = 0]: Height of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
308
+ - **ref_point** [_float-list_, unit = "m", default = [0,0,0]]: Three-dimensional coordinate of the surface reference point. For rectangular surfaces the lower left corner of the surface viewed from the outside, for surfaces defined by polygons the three-dimensional location of the coordinate origin used to define the polygon in two dimensions.
309
+ - **x_polygon** [_float-list_, unit = "m", default = [0,10,10,0]]: List with the x-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
310
+ - **y_polygon** [_float-list_, unit = "m", default = [0,0,10,10]]: List with the y-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
311
+ - **azimuth** [_float_, unit = "°", default = 0, min = -180, max = 180]: Angle formed between the x-axis of the building and the projection of the x-axis of the surface.
312
+ - **altitude** [_float_, unit = "°", default = 0, min = -90, max = 90]: Angle formed between the z-axis of the building and the y-axis of the surface.
313
+ - **space** [_component_, default = "not_defined", component type = Space]: Reference to the "Space" component to which it belongs.
314
+
315
+ See figures of the coordinate systems in the "Exterior_surface" component.
316
+
317
+ **Example:**
318
+ <pre><code class="python">
319
+ ...
320
+
321
+ north_hole = osm.components.Virtual_exterior_surface("north_hole",project)
322
+ param = {
323
+ "ref_point": [8,0,-6],
324
+ "width": 8,
325
+ "height": 2.7,
326
+ "azimuth": 180,
327
+ "altitude": 0,
328
+ "space": "space_1"
329
+ }
330
+ north_hole.set_parameters(param)
331
+ </code></pre>
332
+
333
+ #### Variables
334
+
335
+ After the simulation we will have the following variables of this component:
336
+
337
+ - __T_rm__ [°C]: Exterior radiant mean temperature.
338
+ - __E_dir__ [W/m²]: Direct solar radiation incident on the exterior surface.
339
+ - __E_dif__ [W/m²]: Diffuse solar radiation incident on the exterior surface.
340
+
341
+ ### Virtual_interior_surface
342
+
343
+ Virtual surfaces are used to define gaps between a space and the outside "Virtual_exterior_surface" or between two spaces "Virtual_interior_surface". Spaces in OpenSimula must be completely enclosed by surfaces for the radiant exchange calculation to work correctly.
344
+
345
+ #### Parameters
346
+
347
+ - **shape** [_option_, default = "RECTANGLE", options = ["RECTANGLE","POLYGON"]]: Shape of the surface, for a rectangle the parameters "width" and "height" will be used and for a polygon the parameters "x-polygon" and "y-polygon".
348
+ - **width** [_float_, unit = "m", default = 1, min = 0]: Width of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
349
+ - **height** [_float_, unit = "m", default = 1, min = 0]: Height of the rectangular surface. Only used if "shape" is equal to "RECTANGLE".
350
+ - **ref_point** [_float-list_, unit = "m", default = [0,0,0]]: Three-dimensional coordinate of the surface reference point. For rectangular surfaces the lower left corner of the surface viewed from the outside, for surfaces defined by polygons the three-dimensional location of the coordinate origin used to define the polygon in two dimensions.
351
+ - **x_polygon** [_float-list_, unit = "m", default = [0,10,10,0]]: List with the x-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
352
+ - **y_polygon** [_float-list_, unit = "m", default = [0,0,10,10]]: List with the y-coordinates of the points defining the surface polygon. Only used if "shape" is equal to "POLYGON".
353
+ - **azimuth** [_float_, unit = "°", default = 0, min = -180, max = 180]: Angle formed between the x-axis of the building and the projection of the x-axis of the surface.
354
+ - **altitude** [_float_, unit = "°", default = 0, min = -90, max = 90]: Angle formed between the z-axis of the building and the y-axis of the surface.
355
+ - **spaces** [_component-list_, default = ["not_defined","not_defined], component type = Space]: Reference to the "Space" components for the side 0 and the side 1.
356
+
357
+ See figures of the coordinate systems in the "Exterior_surface" component.
358
+
359
+ **Example:**
360
+ <pre><code class="python">
361
+ ...
362
+
363
+ interior_hole = osm.components.Virtual_interior_surface("interior_hole",project)
364
+ param = {
365
+ "ref_point": [8,0,-3],
366
+ "width": 8,
367
+ "height": 2.7,
368
+ "azimuth": 0,
369
+ "altitude": 0,
370
+ "spaces": ["space_0","space_1"]
371
+ }
372
+ interior_hole.set_parameters(param)
373
+ </code></pre>
374
+
375
+ ### Opening
376
+
377
+ Component for defining openings in exterior surfaces, e.g. windows or doors. These elements must be rectangular.
378
+
379
+ #### Parameters
380
+
381
+ - **surface** [_component_, default = "not_defined", component type = Exterior_surface]: Reference to the "Exterior_surface" in which it is located.
382
+ - **width** [_float_, unit = "m", default = 1, min = 0]: Width of the opening.
383
+ - **height** [_float_, unit = "m", default = 1, min = 0]: Height of the opening.
384
+ - **ref_point** [_float-list_, unit = "m", default = [0,0]]: Two-dimensional coordinate of the opening reference point in the exterior wall coordinate system. The reference point is the lower left corner of the opening viewed from the outside.
385
+ - **opening_type** [_component_, default = "not_defined", component type = Opening_type]: Reference to the "Opening_type" component that defines its composition.
386
+ - **h_cv** [_float-list_, unit = "W/m²K", default = [19.3,2], min = 0]: Convective film coefficients of the exterior and interior surfaces, respectively.
387
+
388
+ The following figure show geometrical definition of the opening in the surface coordinate system.
389
+
390
+ ![Opening gemetrical definition](img/opening_definition.png)
391
+
392
+ **Example:**
393
+ <pre><code class="python">
394
+ ...
395
+
396
+ south_window = osm.components.Opening("south_window",project)
397
+ param = {
398
+ "surface": "south_wall"
399
+ "ref_point": [2,1],
400
+ "width": 3,
401
+ "height": 1.3,
402
+ "opening_type": "double_glazed_window"
403
+ }
404
+ south_window.set_parameters(param)
405
+ </code></pre>
406
+
407
+ #### Variables
408
+
409
+ After the simulation we will have the following variables of this component, all variables ending in 0 refer to the outer surface and those ending in 1 to the inner surface:
410
+
411
+ - __T_s0, T_s1__ [°C]: Surface temperatures
412
+ - __q_cd__ [W/m²]: Conductive heat flux.
413
+ - __q_sol_dir_trans__ [W/m²]: Direct solar radiation passing through into space.
414
+ - __q_cv0, q_cv1__ [W/m²]: Convective heat flux at the surfaces.
415
+ - __q_sol0, q_sol1__ [W/m²]: Solar heat flux at the surfaces.
416
+ - __q_sol01, q_sol10__ [W/m²]: Solar heat flux appearing on surface "i" due to the absorption of solar radiation on surface "j".
417
+ - __q_swig0, q_swig1__ [W/m²]: Radiant short wave heat flux at the surfaces due to internal gains.
418
+ - __q_lwig0, q_lwig1__ [W/m²]: Radiant long wave heat flux at the surfaces due to internal gains.
419
+ - __q_lwt0, q_lwt1__ [W/m²]: Radiant long wave heat flux at the surfaces due other surfaces temperatures.
420
+ - __T_rm__ [°C]: Exterior radiant mean temperature.
421
+ - __E_dir__ [W/m²]: Direct solar radiation incident on the exterior surface.
422
+ - __E_dif__ [W/m²]: Diffuse solar radiation incident on the exterior surface.
423
+