OpenSimula 0.3.0__tar.gz → 0.3.2__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.
- {opensimula-0.3.0 → opensimula-0.3.2/OpenSimula.egg-info}/PKG-INFO +19 -21
- opensimula-0.3.2/OpenSimula.egg-info/SOURCES.txt +56 -0
- opensimula-0.3.2/OpenSimula.egg-info/dependency_links.txt +1 -0
- opensimula-0.3.2/OpenSimula.egg-info/requires.txt +21 -0
- opensimula-0.3.2/OpenSimula.egg-info/top_level.txt +3 -0
- opensimula-0.3.2/PKG-INFO +59 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/README.md +2 -3
- {opensimula-0.3.0 → opensimula-0.3.2}/pyproject.toml +7 -4
- opensimula-0.3.2/setup.cfg +4 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/Component.py +2 -2
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/Parameters.py +32 -21
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/Project.py +14 -14
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/__init__.py +1 -1
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Building.py +3 -10
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Exterior_surface.py +0 -20
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/File_met.py +1 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Glazing.py +2 -2
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/HVAC_DX_equipment.py +35 -14
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/HVAC_DX_system.py +135 -88
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/HVAC_perfect_system.py +11 -6
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Opening.py +0 -21
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Space.py +39 -21
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_Calculator.py +2 -2
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_Case_600FF.py +4 -4
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_Case_610.py +4 -4
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_File_met.py +3 -3
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_HVAC_DX_Equipment.py +3 -3
- opensimula-0.3.0/debug.py → opensimula-0.3.2/test/test_HVAC_DX_system.py +59 -26
- opensimula-0.3.0/.gitignore +0 -128
- opensimula-0.3.0/Python_Libraries.txt +0 -32
- opensimula-0.3.0/docs/cinder/404.html +0 -13
- opensimula-0.3.0/docs/cinder/base.html +0 -139
- opensimula-0.3.0/docs/cinder/content.html +0 -9
- opensimula-0.3.0/docs/cinder/css/base.css +0 -289
- opensimula-0.3.0/docs/cinder/css/base.min.css +0 -1
- opensimula-0.3.0/docs/cinder/css/bootstrap-custom.css +0 -5309
- opensimula-0.3.0/docs/cinder/css/bootstrap-custom.min.css +0 -1
- opensimula-0.3.0/docs/cinder/css/cinder.css +0 -88
- opensimula-0.3.0/docs/cinder/css/cinder.min.css +0 -1
- opensimula-0.3.0/docs/cinder/css/highlight.css +0 -99
- opensimula-0.3.0/docs/cinder/css/highlight.min.css +0 -1
- opensimula-0.3.0/docs/cinder/fonts/fontawesome-webfont.eot +0 -0
- opensimula-0.3.0/docs/cinder/fonts/fontawesome-webfont.svg +0 -414
- opensimula-0.3.0/docs/cinder/fonts/fontawesome-webfont.ttf +0 -0
- opensimula-0.3.0/docs/cinder/fonts/fontawesome-webfont.woff +0 -0
- opensimula-0.3.0/docs/cinder/img/favicon.ico +0 -0
- opensimula-0.3.0/docs/cinder/img/grid1.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid10.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid11.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid12.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid13.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid14.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid15.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid16.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid17.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid18.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid19.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid2.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid20.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid3.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid4.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid5.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid6.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid7.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid8.png +0 -0
- opensimula-0.3.0/docs/cinder/img/grid9.png +0 -0
- opensimula-0.3.0/docs/cinder/js/base.js +0 -225
- opensimula-0.3.0/docs/cinder/js/bootstrap-3.0.3.min.js +0 -7
- opensimula-0.3.0/docs/cinder/keyboard-modal.html +0 -40
- opensimula-0.3.0/docs/cinder/main.html +0 -10
- opensimula-0.3.0/docs/cinder/mkdocs_theme.yml +0 -13
- opensimula-0.3.0/docs/cinder/nav-sub.html +0 -14
- opensimula-0.3.0/docs/cinder/nav.html +0 -109
- opensimula-0.3.0/docs/cinder/search-modal.html +0 -27
- opensimula-0.3.0/docs/cinder/toc.html +0 -13
- opensimula-0.3.0/docs/component_list/index.html +0 -253
- opensimula-0.3.0/docs/component_list_HVAC_systems/index.html +0 -400
- opensimula-0.3.0/docs/component_list_building/index.html +0 -640
- opensimula-0.3.0/docs/component_list_constructions/index.html +0 -366
- opensimula-0.3.0/docs/component_list_files/index.html +0 -312
- opensimula-0.3.0/docs/component_list_schedules/index.html +0 -304
- opensimula-0.3.0/docs/component_list_utils/index.html +0 -255
- opensimula-0.3.0/docs/css/base.css +0 -289
- opensimula-0.3.0/docs/css/base.min.css +0 -1
- opensimula-0.3.0/docs/css/bootstrap-custom.css +0 -5309
- opensimula-0.3.0/docs/css/bootstrap-custom.min.css +0 -1
- opensimula-0.3.0/docs/css/cinder.css +0 -88
- opensimula-0.3.0/docs/css/cinder.min.css +0 -1
- opensimula-0.3.0/docs/css/highlight.css +0 -99
- opensimula-0.3.0/docs/css/highlight.min.css +0 -1
- opensimula-0.3.0/docs/developer_guide/index.html +0 -236
- opensimula-0.3.0/docs/draws/Coordinate system.drawio +0 -460
- opensimula-0.3.0/docs/draws/HVAC_draws.drawio +0 -136
- opensimula-0.3.0/docs/draws/global_structure.drawio +0 -49
- opensimula-0.3.0/docs/draws/opensimula_logo.drawio +0 -19
- opensimula-0.3.0/docs/draws/opensimula_logo.drawio.svg +0 -4
- opensimula-0.3.0/docs/draws/paramaters.drawio +0 -45
- opensimula-0.3.0/docs/draws/variables.drawio +0 -45
- opensimula-0.3.0/docs/fonts/fontawesome-webfont.eot +0 -0
- opensimula-0.3.0/docs/fonts/fontawesome-webfont.svg +0 -414
- opensimula-0.3.0/docs/fonts/fontawesome-webfont.ttf +0 -0
- opensimula-0.3.0/docs/fonts/fontawesome-webfont.woff +0 -0
- opensimula-0.3.0/docs/getting_started/index.html +0 -362
- opensimula-0.3.0/docs/img/building_coordinate_system.png +0 -0
- opensimula-0.3.0/docs/img/component_editor.png +0 -0
- opensimula-0.3.0/docs/img/component_in_jupyter.png +0 -0
- opensimula-0.3.0/docs/img/control_type_temperature.png +0 -0
- opensimula-0.3.0/docs/img/day_schedule_linear.png +0 -0
- opensimula-0.3.0/docs/img/day_schedule_step.png +0 -0
- opensimula-0.3.0/docs/img/favicon.ico +0 -0
- opensimula-0.3.0/docs/img/github_logo.png +0 -0
- opensimula-0.3.0/docs/img/global_structure.png +0 -0
- opensimula-0.3.0/docs/img/grid1.png +0 -0
- opensimula-0.3.0/docs/img/grid10.png +0 -0
- opensimula-0.3.0/docs/img/grid11.png +0 -0
- opensimula-0.3.0/docs/img/grid12.png +0 -0
- opensimula-0.3.0/docs/img/grid13.png +0 -0
- opensimula-0.3.0/docs/img/grid14.png +0 -0
- opensimula-0.3.0/docs/img/grid15.png +0 -0
- opensimula-0.3.0/docs/img/grid16.png +0 -0
- opensimula-0.3.0/docs/img/grid17.png +0 -0
- opensimula-0.3.0/docs/img/grid18.png +0 -0
- opensimula-0.3.0/docs/img/grid19.png +0 -0
- opensimula-0.3.0/docs/img/grid2.png +0 -0
- opensimula-0.3.0/docs/img/grid20.png +0 -0
- opensimula-0.3.0/docs/img/grid3.png +0 -0
- opensimula-0.3.0/docs/img/grid4.png +0 -0
- opensimula-0.3.0/docs/img/grid5.png +0 -0
- opensimula-0.3.0/docs/img/grid6.png +0 -0
- opensimula-0.3.0/docs/img/grid7.png +0 -0
- opensimula-0.3.0/docs/img/grid8.png +0 -0
- opensimula-0.3.0/docs/img/grid9.png +0 -0
- opensimula-0.3.0/docs/img/icon_opensimula.ico +0 -0
- opensimula-0.3.0/docs/img/icon_opensimula.png +0 -0
- opensimula-0.3.0/docs/img/logo_opensimula.png +0 -0
- opensimula-0.3.0/docs/img/opening_definition.png +0 -0
- opensimula-0.3.0/docs/img/parameters.png +0 -0
- opensimula-0.3.0/docs/img/plot_example.png +0 -0
- opensimula-0.3.0/docs/img/polygon_surface_coordinate_system.png +0 -0
- opensimula-0.3.0/docs/img/project_editor.png +0 -0
- opensimula-0.3.0/docs/img/project_in_jupyter.png +0 -0
- opensimula-0.3.0/docs/img/rectangular_surface_coordinate_system.png +0 -0
- opensimula-0.3.0/docs/img/schedule_plot.png +0 -0
- opensimula-0.3.0/docs/img/shadows_example.png +0 -0
- opensimula-0.3.0/docs/img/show3D_shadows.png +0 -0
- opensimula-0.3.0/docs/img/simple glazing rho norm.png +0 -0
- opensimula-0.3.0/docs/img/simple glazing rho.png +0 -0
- opensimula-0.3.0/docs/img/simple glazing tau norm.png +0 -0
- opensimula-0.3.0/docs/img/simple glazing tau.png +0 -0
- opensimula-0.3.0/docs/img/variable_dataframe.png +0 -0
- opensimula-0.3.0/docs/img/variables.png +0 -0
- opensimula-0.3.0/docs/index.html +0 -281
- opensimula-0.3.0/docs/js/base.js +0 -225
- opensimula-0.3.0/docs/js/bootstrap-3.0.3.min.js +0 -7
- opensimula-0.3.0/docs/search/lunr.js +0 -3475
- opensimula-0.3.0/docs/search/main.js +0 -109
- opensimula-0.3.0/docs/search/search_index.json +0 -1
- opensimula-0.3.0/docs/search/worker.js +0 -133
- opensimula-0.3.0/docs/sitemap.xml +0 -3
- opensimula-0.3.0/docs/sitemap.xml.gz +0 -0
- opensimula-0.3.0/docs/user_guide/index.html +0 -517
- opensimula-0.3.0/ipynb/docs/day_schedule_images.ipynb +0 -60
- opensimula-0.3.0/ipynb/docs/getting_started.ipynb +0 -18592
- opensimula-0.3.0/ipynb/docs/getting_started.json +0 -68
- opensimula-0.3.0/ipynb/docs/user_guide.ipynb +0 -106487
- opensimula-0.3.0/ipynb/test/ASHRAE_140_CASE_960.ipynb +0 -108593
- opensimula-0.3.0/ipynb/test/ASHRAE_140_CASE_CE100.ipynb +0 -160282
- opensimula-0.3.0/ipynb/test/CE100A.TM2 +0 -8761
- opensimula-0.3.0/ipynb/test/WD100.tmy3 +0 -8762
- opensimula-0.3.0/ipynb/test/test_Constructions.ipynb +0 -304
- opensimula-0.3.0/ipynb/test/test_HVAC_DX_system.ipynb +0 -143800
- opensimula-0.3.0/ipynb/test/test_HVAC_DX_system_ASHRAE_140.ipynb +0 -89927
- opensimula-0.3.0/ipynb/test/test_HVAC_perfect_system.ipynb +0 -144549
- opensimula-0.3.0/ipynb/test/test_Test_components.ipynb +0 -1373
- opensimula-0.3.0/ipynb/test/test_calculator.ipynb +0 -36482
- opensimula-0.3.0/ipynb/test/test_psychrolib.ipynb +0 -122
- opensimula-0.3.0/makefile +0 -44
- opensimula-0.3.0/mkdocs/cinder/404.html +0 -13
- opensimula-0.3.0/mkdocs/cinder/base.html +0 -139
- opensimula-0.3.0/mkdocs/cinder/content.html +0 -9
- opensimula-0.3.0/mkdocs/cinder/css/base.css +0 -289
- opensimula-0.3.0/mkdocs/cinder/css/base.min.css +0 -1
- opensimula-0.3.0/mkdocs/cinder/css/bootstrap-custom.css +0 -5309
- opensimula-0.3.0/mkdocs/cinder/css/bootstrap-custom.min.css +0 -1
- opensimula-0.3.0/mkdocs/cinder/css/cinder.css +0 -88
- opensimula-0.3.0/mkdocs/cinder/css/cinder.min.css +0 -1
- opensimula-0.3.0/mkdocs/cinder/css/highlight.css +0 -99
- opensimula-0.3.0/mkdocs/cinder/css/highlight.min.css +0 -1
- opensimula-0.3.0/mkdocs/cinder/fonts/fontawesome-webfont.eot +0 -0
- opensimula-0.3.0/mkdocs/cinder/fonts/fontawesome-webfont.svg +0 -414
- opensimula-0.3.0/mkdocs/cinder/fonts/fontawesome-webfont.ttf +0 -0
- opensimula-0.3.0/mkdocs/cinder/fonts/fontawesome-webfont.woff +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/favicon.ico +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid1.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid10.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid11.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid12.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid13.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid14.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid15.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid16.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid17.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid18.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid19.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid2.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid20.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid3.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid4.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid5.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid6.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid7.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid8.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/img/grid9.png +0 -0
- opensimula-0.3.0/mkdocs/cinder/js/base.js +0 -225
- opensimula-0.3.0/mkdocs/cinder/js/bootstrap-3.0.3.min.js +0 -7
- opensimula-0.3.0/mkdocs/cinder/keyboard-modal.html +0 -40
- opensimula-0.3.0/mkdocs/cinder/main.html +0 -10
- opensimula-0.3.0/mkdocs/cinder/mkdocs_theme.yml +0 -13
- opensimula-0.3.0/mkdocs/cinder/nav-sub.html +0 -14
- opensimula-0.3.0/mkdocs/cinder/nav.html +0 -109
- opensimula-0.3.0/mkdocs/cinder/search-modal.html +0 -27
- opensimula-0.3.0/mkdocs/cinder/toc.html +0 -13
- opensimula-0.3.0/mkdocs/component_list.md +0 -17
- opensimula-0.3.0/mkdocs/component_list_HVAC_systems.md +0 -178
- opensimula-0.3.0/mkdocs/component_list_building.md +0 -421
- opensimula-0.3.0/mkdocs/component_list_constructions.md +0 -146
- opensimula-0.3.0/mkdocs/component_list_files.md +0 -91
- opensimula-0.3.0/mkdocs/component_list_schedules.md +0 -81
- opensimula-0.3.0/mkdocs/component_list_utils.md +0 -31
- opensimula-0.3.0/mkdocs/developer_guide.md +0 -3
- opensimula-0.3.0/mkdocs/draws/Coordinate system.drawio +0 -460
- opensimula-0.3.0/mkdocs/draws/HVAC_draws.drawio +0 -136
- opensimula-0.3.0/mkdocs/draws/global_structure.drawio +0 -49
- opensimula-0.3.0/mkdocs/draws/opensimula_logo.drawio +0 -19
- opensimula-0.3.0/mkdocs/draws/opensimula_logo.drawio.svg +0 -4
- opensimula-0.3.0/mkdocs/draws/paramaters.drawio +0 -45
- opensimula-0.3.0/mkdocs/draws/variables.drawio +0 -45
- opensimula-0.3.0/mkdocs/getting_started.md +0 -157
- opensimula-0.3.0/mkdocs/img/building_coordinate_system.png +0 -0
- opensimula-0.3.0/mkdocs/img/component_editor.png +0 -0
- opensimula-0.3.0/mkdocs/img/component_in_jupyter.png +0 -0
- opensimula-0.3.0/mkdocs/img/control_type_temperature.png +0 -0
- opensimula-0.3.0/mkdocs/img/day_schedule_linear.png +0 -0
- opensimula-0.3.0/mkdocs/img/day_schedule_step.png +0 -0
- opensimula-0.3.0/mkdocs/img/favicon.ico +0 -0
- opensimula-0.3.0/mkdocs/img/github_logo.png +0 -0
- opensimula-0.3.0/mkdocs/img/global_structure.png +0 -0
- opensimula-0.3.0/mkdocs/img/icon_opensimula.ico +0 -0
- opensimula-0.3.0/mkdocs/img/icon_opensimula.png +0 -0
- opensimula-0.3.0/mkdocs/img/logo_opensimula.png +0 -0
- opensimula-0.3.0/mkdocs/img/opening_definition.png +0 -0
- opensimula-0.3.0/mkdocs/img/parameters.png +0 -0
- opensimula-0.3.0/mkdocs/img/plot_example.png +0 -0
- opensimula-0.3.0/mkdocs/img/polygon_surface_coordinate_system.png +0 -0
- opensimula-0.3.0/mkdocs/img/project_editor.png +0 -0
- opensimula-0.3.0/mkdocs/img/project_in_jupyter.png +0 -0
- opensimula-0.3.0/mkdocs/img/rectangular_surface_coordinate_system.png +0 -0
- opensimula-0.3.0/mkdocs/img/schedule_plot.png +0 -0
- opensimula-0.3.0/mkdocs/img/shadows_example.png +0 -0
- opensimula-0.3.0/mkdocs/img/show3D_shadows.png +0 -0
- opensimula-0.3.0/mkdocs/img/simple glazing rho norm.png +0 -0
- opensimula-0.3.0/mkdocs/img/simple glazing rho.png +0 -0
- opensimula-0.3.0/mkdocs/img/simple glazing tau norm.png +0 -0
- opensimula-0.3.0/mkdocs/img/simple glazing tau.png +0 -0
- opensimula-0.3.0/mkdocs/img/variable_dataframe.png +0 -0
- opensimula-0.3.0/mkdocs/img/variables.png +0 -0
- opensimula-0.3.0/mkdocs/index.md +0 -58
- opensimula-0.3.0/mkdocs/user_guide.md +0 -328
- opensimula-0.3.0/mkdocs.yml +0 -15
- opensimula-0.3.0/requirements.txt +0 -12
- opensimula-0.3.0/test/CE100A.TM2 +0 -8761
- opensimula-0.3.0/test/WD100.tmy3 +0 -8762
- opensimula-0.3.0/test/data_example.csv +0 -27
- opensimula-0.3.0/test/data_example.xlsx +0 -0
- opensimula-0.3.0/test/sevilla.met +0 -8762
- opensimula-0.3.0/test/test_project_1.json +0 -44
- opensimula-0.3.0/test/test_project_1_written.json +0 -1
- opensimula-0.3.0/test/test_project_2.json +0 -14
- opensimula-0.3.0/test/test_project_2_written.json +0 -1
- {opensimula-0.3.0 → opensimula-0.3.2}/LICENSE +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/docs/cinder/__init__.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/mkdocs/cinder/__init__.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/Child.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/Parameter_container.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/Simulation.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/Variable.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Calculator.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Construction.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Day_schedule.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/File_data.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Frame.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Interior_surface.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Material.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Opening_type.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Real_surface.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Shadow_surface.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Space_type.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Surface.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Test_component.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Underground_surface.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Virtual_surface.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Week_schedule.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/Year_schedule.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/__init__.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/src/OpenSimula/components/utils/sun_shadows.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_Construction.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_File_data.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_Project.py +0 -0
- {opensimula-0.3.0 → opensimula-0.3.2}/test/test_Schedules.py +0 -0
|
@@ -1,42 +1,41 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: OpenSimula
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Component-based time simulation environment in Python
|
|
5
|
+
Author-email: "Juan F. Coronel" <jfc@us.es>
|
|
5
6
|
Project-URL: Homepage, http://opensimula.org
|
|
6
7
|
Project-URL: Repository, https://github.com/jfCoronel/OpenSimula
|
|
7
8
|
Project-URL: Bug Tracker, https://github.com/jfCoronel/OpenSimula/issues
|
|
8
|
-
|
|
9
|
-
License-File: LICENSE
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
11
|
Classifier: Operating System :: OS Independent
|
|
12
|
-
Classifier: Programming Language :: Python :: 3
|
|
13
12
|
Requires-Python: >=3.8
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Requires-Dist: dash>=2.0.0
|
|
17
|
-
Requires-Dist: ipywidgets>=8.1.2
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
18
15
|
Requires-Dist: numpy>1.25
|
|
19
16
|
Requires-Dist: pandas>1.5
|
|
20
|
-
Requires-Dist: plotly>=5.17.0
|
|
21
|
-
Requires-Dist: psychrolib>=2.5.0
|
|
22
|
-
Requires-Dist: py-expression-eval>=0.3.14
|
|
23
|
-
Requires-Dist: pyvista>=0.43.5
|
|
24
17
|
Requires-Dist: scipy>=1.1
|
|
25
18
|
Requires-Dist: shapely>=2.0.3
|
|
19
|
+
Requires-Dist: psychrolib>=2.5.0
|
|
20
|
+
Requires-Dist: pyvista>=0.43.5
|
|
21
|
+
Requires-Dist: ipywidgets>=8.1.2
|
|
22
|
+
Requires-Dist: trame>=3.6.0
|
|
26
23
|
Requires-Dist: trame-vtk>=2.8.5
|
|
27
24
|
Requires-Dist: trame-vuetify>=2.4.3
|
|
28
|
-
Requires-Dist:
|
|
25
|
+
Requires-Dist: plotly>=5.17.0
|
|
29
26
|
Requires-Dist: triangle>=20230923
|
|
30
|
-
|
|
31
|
-
Requires-Dist:
|
|
27
|
+
Requires-Dist: dash>=2.0.0
|
|
28
|
+
Requires-Dist: dash-bootstrap-components>=1.0.0
|
|
29
|
+
Requires-Dist: dash-ag-grid>=31.0.0
|
|
32
30
|
Provides-Extra: testing
|
|
33
|
-
Requires-Dist: pytest; extra ==
|
|
34
|
-
|
|
31
|
+
Requires-Dist: pytest; extra == "testing"
|
|
32
|
+
Provides-Extra: docs
|
|
33
|
+
Requires-Dist: mkdocs>=1.5; extra == "docs"
|
|
35
34
|
|
|
36
|
-

|
|
37
36
|
Component-based time simulation environment in Python
|
|
38
37
|
|
|
39
|
-
[Documentation page](https://
|
|
38
|
+
[Documentation page](https://app.opensimula.org/)
|
|
40
39
|
|
|
41
40
|
## Main Developers
|
|
42
41
|
|
|
@@ -46,7 +45,6 @@ Component-based time simulation environment in Python
|
|
|
46
45
|
- numpy
|
|
47
46
|
- pandas
|
|
48
47
|
- scipy
|
|
49
|
-
- py-expression-eval
|
|
50
48
|
- shapely
|
|
51
49
|
- psychrolib
|
|
52
50
|
- plotly
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
OpenSimula.egg-info/PKG-INFO
|
|
5
|
+
OpenSimula.egg-info/SOURCES.txt
|
|
6
|
+
OpenSimula.egg-info/dependency_links.txt
|
|
7
|
+
OpenSimula.egg-info/requires.txt
|
|
8
|
+
OpenSimula.egg-info/top_level.txt
|
|
9
|
+
docs/cinder/__init__.py
|
|
10
|
+
mkdocs/cinder/__init__.py
|
|
11
|
+
src/OpenSimula/Child.py
|
|
12
|
+
src/OpenSimula/Component.py
|
|
13
|
+
src/OpenSimula/Parameter_container.py
|
|
14
|
+
src/OpenSimula/Parameters.py
|
|
15
|
+
src/OpenSimula/Project.py
|
|
16
|
+
src/OpenSimula/Simulation.py
|
|
17
|
+
src/OpenSimula/Variable.py
|
|
18
|
+
src/OpenSimula/__init__.py
|
|
19
|
+
src/OpenSimula/components/Building.py
|
|
20
|
+
src/OpenSimula/components/Calculator.py
|
|
21
|
+
src/OpenSimula/components/Construction.py
|
|
22
|
+
src/OpenSimula/components/Day_schedule.py
|
|
23
|
+
src/OpenSimula/components/Exterior_surface.py
|
|
24
|
+
src/OpenSimula/components/File_data.py
|
|
25
|
+
src/OpenSimula/components/File_met.py
|
|
26
|
+
src/OpenSimula/components/Frame.py
|
|
27
|
+
src/OpenSimula/components/Glazing.py
|
|
28
|
+
src/OpenSimula/components/HVAC_DX_equipment.py
|
|
29
|
+
src/OpenSimula/components/HVAC_DX_system.py
|
|
30
|
+
src/OpenSimula/components/HVAC_perfect_system.py
|
|
31
|
+
src/OpenSimula/components/Interior_surface.py
|
|
32
|
+
src/OpenSimula/components/Material.py
|
|
33
|
+
src/OpenSimula/components/Opening.py
|
|
34
|
+
src/OpenSimula/components/Opening_type.py
|
|
35
|
+
src/OpenSimula/components/Real_surface.py
|
|
36
|
+
src/OpenSimula/components/Shadow_surface.py
|
|
37
|
+
src/OpenSimula/components/Space.py
|
|
38
|
+
src/OpenSimula/components/Space_type.py
|
|
39
|
+
src/OpenSimula/components/Surface.py
|
|
40
|
+
src/OpenSimula/components/Test_component.py
|
|
41
|
+
src/OpenSimula/components/Underground_surface.py
|
|
42
|
+
src/OpenSimula/components/Virtual_surface.py
|
|
43
|
+
src/OpenSimula/components/Week_schedule.py
|
|
44
|
+
src/OpenSimula/components/Year_schedule.py
|
|
45
|
+
src/OpenSimula/components/__init__.py
|
|
46
|
+
src/OpenSimula/components/utils/sun_shadows.py
|
|
47
|
+
test/test_Calculator.py
|
|
48
|
+
test/test_Case_600FF.py
|
|
49
|
+
test/test_Case_610.py
|
|
50
|
+
test/test_Construction.py
|
|
51
|
+
test/test_File_data.py
|
|
52
|
+
test/test_File_met.py
|
|
53
|
+
test/test_HVAC_DX_Equipment.py
|
|
54
|
+
test/test_HVAC_DX_system.py
|
|
55
|
+
test/test_Project.py
|
|
56
|
+
test/test_Schedules.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
numpy>1.25
|
|
2
|
+
pandas>1.5
|
|
3
|
+
scipy>=1.1
|
|
4
|
+
shapely>=2.0.3
|
|
5
|
+
psychrolib>=2.5.0
|
|
6
|
+
pyvista>=0.43.5
|
|
7
|
+
ipywidgets>=8.1.2
|
|
8
|
+
trame>=3.6.0
|
|
9
|
+
trame-vtk>=2.8.5
|
|
10
|
+
trame-vuetify>=2.4.3
|
|
11
|
+
plotly>=5.17.0
|
|
12
|
+
triangle>=20230923
|
|
13
|
+
dash>=2.0.0
|
|
14
|
+
dash-bootstrap-components>=1.0.0
|
|
15
|
+
dash-ag-grid>=31.0.0
|
|
16
|
+
|
|
17
|
+
[docs]
|
|
18
|
+
mkdocs>=1.5
|
|
19
|
+
|
|
20
|
+
[testing]
|
|
21
|
+
pytest
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: OpenSimula
|
|
3
|
+
Version: 0.3.2
|
|
4
|
+
Summary: Component-based time simulation environment in Python
|
|
5
|
+
Author-email: "Juan F. Coronel" <jfc@us.es>
|
|
6
|
+
Project-URL: Homepage, http://opensimula.org
|
|
7
|
+
Project-URL: Repository, https://github.com/jfCoronel/OpenSimula
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/jfCoronel/OpenSimula/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Requires-Python: >=3.8
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: numpy>1.25
|
|
16
|
+
Requires-Dist: pandas>1.5
|
|
17
|
+
Requires-Dist: scipy>=1.1
|
|
18
|
+
Requires-Dist: shapely>=2.0.3
|
|
19
|
+
Requires-Dist: psychrolib>=2.5.0
|
|
20
|
+
Requires-Dist: pyvista>=0.43.5
|
|
21
|
+
Requires-Dist: ipywidgets>=8.1.2
|
|
22
|
+
Requires-Dist: trame>=3.6.0
|
|
23
|
+
Requires-Dist: trame-vtk>=2.8.5
|
|
24
|
+
Requires-Dist: trame-vuetify>=2.4.3
|
|
25
|
+
Requires-Dist: plotly>=5.17.0
|
|
26
|
+
Requires-Dist: triangle>=20230923
|
|
27
|
+
Requires-Dist: dash>=2.0.0
|
|
28
|
+
Requires-Dist: dash-bootstrap-components>=1.0.0
|
|
29
|
+
Requires-Dist: dash-ag-grid>=31.0.0
|
|
30
|
+
Provides-Extra: testing
|
|
31
|
+
Requires-Dist: pytest; extra == "testing"
|
|
32
|
+
Provides-Extra: docs
|
|
33
|
+
Requires-Dist: mkdocs>=1.5; extra == "docs"
|
|
34
|
+
|
|
35
|
+

|
|
36
|
+
Component-based time simulation environment in Python
|
|
37
|
+
|
|
38
|
+
[Documentation page](https://app.opensimula.org/)
|
|
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
|
+
- shapely
|
|
49
|
+
- psychrolib
|
|
50
|
+
- plotly
|
|
51
|
+
- dash
|
|
52
|
+
- dash_bootstrap_components
|
|
53
|
+
- dash_ag_grid
|
|
54
|
+
- pyvista
|
|
55
|
+
- trame
|
|
56
|
+
- trame-vtk
|
|
57
|
+
- trame-vuetify
|
|
58
|
+
- ipywidgets
|
|
59
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-

|
|
2
2
|
Component-based time simulation environment in Python
|
|
3
3
|
|
|
4
|
-
[Documentation page](https://
|
|
4
|
+
[Documentation page](https://app.opensimula.org/)
|
|
5
5
|
|
|
6
6
|
## Main Developers
|
|
7
7
|
|
|
@@ -11,7 +11,6 @@ Component-based time simulation environment in Python
|
|
|
11
11
|
- numpy
|
|
12
12
|
- pandas
|
|
13
13
|
- scipy
|
|
14
|
-
- py-expression-eval
|
|
15
14
|
- shapely
|
|
16
15
|
- psychrolib
|
|
17
16
|
- plotly
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
[build-system]
|
|
2
2
|
# Minimum requirements for the build system to execute.
|
|
3
|
-
requires = ["
|
|
4
|
-
build-backend = "hatchling.build"
|
|
3
|
+
requires = ["setuptools>=61.2", "wheel"]
|
|
5
4
|
|
|
6
5
|
[project]
|
|
7
6
|
name = "OpenSimula"
|
|
8
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.2"
|
|
9
8
|
authors = [
|
|
10
9
|
{ name="Juan F. Coronel", email="jfc@us.es" },
|
|
11
10
|
]
|
|
@@ -21,7 +20,6 @@ dependencies = [
|
|
|
21
20
|
"numpy>1.25",
|
|
22
21
|
"pandas>1.5",
|
|
23
22
|
"scipy>=1.1",
|
|
24
|
-
"py-expression-eval>=0.3.14",
|
|
25
23
|
"shapely>=2.0.3",
|
|
26
24
|
"psychrolib>=2.5.0",
|
|
27
25
|
"pyvista>=0.43.5",
|
|
@@ -49,3 +47,8 @@ docs = [
|
|
|
49
47
|
"Repository" = "https://github.com/jfCoronel/OpenSimula"
|
|
50
48
|
"Bug Tracker" = "https://github.com/jfCoronel/OpenSimula/issues"
|
|
51
49
|
|
|
50
|
+
|
|
51
|
+
[tool.setuptools]
|
|
52
|
+
packages.find.include = ['src*','mkdocs*','docs*']
|
|
53
|
+
packages.find.exclude = ['test*','ipynb*','ASHRAE_140*','mets*','venv*']
|
|
54
|
+
include-package-data = false
|
|
@@ -28,7 +28,7 @@ class Component(Parameter_container):
|
|
|
28
28
|
self._variables_[variable.key] = variable
|
|
29
29
|
|
|
30
30
|
def del_variable(self, variable):
|
|
31
|
-
self._variables_.
|
|
31
|
+
self._variables_.pop(variable.key,None)
|
|
32
32
|
|
|
33
33
|
def variable(self, key):
|
|
34
34
|
return self._variables_[key]
|
|
@@ -164,7 +164,7 @@ class Component(Parameter_container):
|
|
|
164
164
|
self.variable(
|
|
165
165
|
value.symbol[i]).values[time_index] = value.variable[i].values[time_index]
|
|
166
166
|
|
|
167
|
-
def iteration(self, time_index, date, daylight_saving):
|
|
167
|
+
def iteration(self, time_index, date, daylight_saving, n_iter):
|
|
168
168
|
return True
|
|
169
169
|
|
|
170
170
|
def post_iteration(self, time_index, date, daylight_saving, converged):
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import sys
|
|
2
|
-
from py_expression_eval import Parser
|
|
2
|
+
#from py_expression_eval import Parser
|
|
3
|
+
import math
|
|
3
4
|
from OpenSimula.Child import Child
|
|
4
5
|
|
|
5
6
|
# ___________________ Parameter _________________________
|
|
@@ -271,7 +272,7 @@ class Parameter_int_list(Parameter):
|
|
|
271
272
|
|
|
272
273
|
|
|
273
274
|
class Parameter_float(Parameter_int):
|
|
274
|
-
def __init__(self, key, value=0.0, unit="", min=
|
|
275
|
+
def __init__(self, key, value=0.0, unit="", min=float("-inf"), max=float("inf")):
|
|
275
276
|
Parameter_int.__init__(self, key, float(
|
|
276
277
|
value), unit, float(min), float(max))
|
|
277
278
|
|
|
@@ -297,7 +298,7 @@ class Parameter_float(Parameter_int):
|
|
|
297
298
|
|
|
298
299
|
|
|
299
300
|
class Parameter_float_list(Parameter_int_list):
|
|
300
|
-
def __init__(self, key, value=[0.0], unit="", min=
|
|
301
|
+
def __init__(self, key, value=[0.0], unit="", min=float("-inf"), max=float("inf")):
|
|
301
302
|
Parameter_int_list.__init__(
|
|
302
303
|
self, key, value, unit, float(min), float(max))
|
|
303
304
|
|
|
@@ -689,7 +690,7 @@ class Parameter_math_exp(Parameter):
|
|
|
689
690
|
def __init__(self, key, value="0.0", unit=""):
|
|
690
691
|
Parameter.__init__(self, key, value)
|
|
691
692
|
self._unit_ = unit
|
|
692
|
-
self._parser_ = Parser()
|
|
693
|
+
#self._parser_ = Parser()
|
|
693
694
|
|
|
694
695
|
@property
|
|
695
696
|
def unit(self):
|
|
@@ -703,22 +704,27 @@ class Parameter_math_exp(Parameter):
|
|
|
703
704
|
def value(self, value):
|
|
704
705
|
self._value_ = str(value)
|
|
705
706
|
|
|
706
|
-
def check(self):
|
|
707
|
-
try:
|
|
708
|
-
self._parser_.parse(self.value)
|
|
709
|
-
except Exception as error:
|
|
710
|
-
return [self._get_error_header_()+f"{str(error)}"]
|
|
711
|
-
return []
|
|
707
|
+
# def check(self):
|
|
708
|
+
# try:
|
|
709
|
+
# self._parser_.parse(self.value)
|
|
710
|
+
# except Exception as error:
|
|
711
|
+
# return [self._get_error_header_()+f"{str(error)}"]
|
|
712
|
+
# return []
|
|
712
713
|
|
|
713
714
|
def evaluate(self, values_dic):
|
|
714
|
-
|
|
715
|
+
try:
|
|
716
|
+
val = eval(self.value,globals(),values_dic)
|
|
717
|
+
return val
|
|
718
|
+
except Exception as error:
|
|
719
|
+
self._sim_.print(self._get_error_header_()+str(error))
|
|
720
|
+
return 0
|
|
715
721
|
|
|
716
722
|
|
|
717
723
|
class Parameter_math_exp_list(Parameter):
|
|
718
724
|
def __init__(self, key, value=["0.0"], unit=""):
|
|
719
725
|
Parameter.__init__(self, key, value)
|
|
720
726
|
self._unit_ = unit
|
|
721
|
-
self._parser_ = Parser()
|
|
727
|
+
#self._parser_ = Parser()
|
|
722
728
|
|
|
723
729
|
@property
|
|
724
730
|
def unit(self):
|
|
@@ -741,14 +747,19 @@ class Parameter_math_exp_list(Parameter):
|
|
|
741
747
|
el = str(el)
|
|
742
748
|
self._value_ = value
|
|
743
749
|
|
|
744
|
-
def check(self):
|
|
745
|
-
errors = []
|
|
746
|
-
for n in self.value:
|
|
747
|
-
try:
|
|
748
|
-
self._parser_.parse(n)
|
|
749
|
-
except Exception as error:
|
|
750
|
-
errors.append(self._get_error_header_()+f"{str(error)}")
|
|
751
|
-
return errors
|
|
750
|
+
# def check(self):
|
|
751
|
+
# errors = []
|
|
752
|
+
# for n in self.value:
|
|
753
|
+
# try:
|
|
754
|
+
# self._parser_.parse(n)
|
|
755
|
+
# except Exception as error:
|
|
756
|
+
# errors.append(self._get_error_header_()+f"{str(error)}")
|
|
757
|
+
# return errors
|
|
752
758
|
|
|
753
759
|
def evaluate(self, i, values_dic):
|
|
754
|
-
|
|
760
|
+
try:
|
|
761
|
+
val = eval(self.value[i],globals(),values_dic)
|
|
762
|
+
return val
|
|
763
|
+
except Exception as error:
|
|
764
|
+
self._sim_.print(self._get_error_header_()+str(error))
|
|
765
|
+
return 0
|
|
@@ -127,7 +127,7 @@ class Project(Parameter_container):
|
|
|
127
127
|
else:
|
|
128
128
|
msg = self._get_error_header_(
|
|
129
129
|
) + f'Component does not contain "type" parameter {component}'
|
|
130
|
-
self.
|
|
130
|
+
self._sim_.print(msg)
|
|
131
131
|
else:
|
|
132
132
|
if key in self._parameters_:
|
|
133
133
|
self.parameter(key).value = value
|
|
@@ -341,7 +341,7 @@ class Project(Parameter_container):
|
|
|
341
341
|
|
|
342
342
|
return errors
|
|
343
343
|
|
|
344
|
-
def simulate(self):
|
|
344
|
+
def simulate(self, show_percentage = 10):
|
|
345
345
|
"""Project Time Simulation"""
|
|
346
346
|
n = self.parameter("n_time_steps").value
|
|
347
347
|
date = dt.datetime.strptime(
|
|
@@ -361,16 +361,15 @@ class Project(Parameter_container):
|
|
|
361
361
|
self._sim_df["n_iterations"] = 0
|
|
362
362
|
self._sim_df["last_component"] = "None"
|
|
363
363
|
|
|
364
|
-
self._sim_.print(
|
|
365
|
-
f"Simulating {self.parameter('name').value}: ", add_new_line=False
|
|
366
|
-
)
|
|
364
|
+
self._sim_.print(f"Simulating {self.parameter('name').value}: ...")
|
|
367
365
|
|
|
368
|
-
show_percent =
|
|
366
|
+
show_percent = show_percentage
|
|
367
|
+
n_iter_acum = 0
|
|
369
368
|
for i in range(n):
|
|
370
369
|
if ((100.0*(i+1) / n) >= show_percent):
|
|
371
|
-
self._sim_.print(
|
|
372
|
-
|
|
373
|
-
|
|
370
|
+
self._sim_.print(f"{int(show_percent)}%: N_iter: {(n_iter_acum/(n*show_percentage/100)):.2f}")
|
|
371
|
+
show_percent = show_percent + show_percentage
|
|
372
|
+
n_iter_acum = 0
|
|
374
373
|
daylight_saving = False
|
|
375
374
|
if (self.parameter("daylight_saving").value):
|
|
376
375
|
if (date > date_dls_start and date < date_dls_end):
|
|
@@ -380,14 +379,15 @@ class Project(Parameter_container):
|
|
|
380
379
|
converge = False
|
|
381
380
|
n_iter = 0
|
|
382
381
|
while (not converge and n_iter < self.parameter("n_max_iteration").value):
|
|
383
|
-
|
|
384
|
-
if self._iteration_(i, date, daylight_saving):
|
|
382
|
+
if self._iteration_(i, date, daylight_saving,n_iter):
|
|
385
383
|
converge = True
|
|
384
|
+
n_iter += 1
|
|
386
385
|
self._sim_df.at[i, "n_iterations"] = n_iter
|
|
386
|
+
n_iter_acum += n_iter
|
|
387
387
|
self._post_iteration_(i, date, daylight_saving, converge)
|
|
388
388
|
date = date + dt.timedelta(0, delta_t)
|
|
389
389
|
|
|
390
|
-
self._sim_.print("
|
|
390
|
+
self._sim_.print("Simulation completed.")
|
|
391
391
|
self._post_simulation_()
|
|
392
392
|
|
|
393
393
|
def _pre_simulation_(self, n_time_steps, delta_t):
|
|
@@ -402,10 +402,10 @@ class Project(Parameter_container):
|
|
|
402
402
|
for comp in self._ordered_component_list_:
|
|
403
403
|
comp.pre_iteration(time_index, date, dayligth_saving)
|
|
404
404
|
|
|
405
|
-
def _iteration_(self, time_index, date, dayligth_saving):
|
|
405
|
+
def _iteration_(self, time_index, date, dayligth_saving, n_iter):
|
|
406
406
|
converge = True
|
|
407
407
|
for comp in self._ordered_component_list_:
|
|
408
|
-
if not comp.iteration(time_index, date, dayligth_saving):
|
|
408
|
+
if not comp.iteration(time_index, date, dayligth_saving, n_iter):
|
|
409
409
|
self._sim_df.at[time_index, "last_component"] = comp.parameter("name").value
|
|
410
410
|
converge = False
|
|
411
411
|
return converge
|
|
@@ -594,16 +594,9 @@ class Building(Component):
|
|
|
594
594
|
self.KZS_matrix, np.matmul(self.KS_inv_matrix, self.FS_vector)
|
|
595
595
|
)
|
|
596
596
|
|
|
597
|
-
def iteration(self, time_index, date, daylight_saving):
|
|
598
|
-
super().iteration(time_index, date, daylight_saving)
|
|
599
|
-
|
|
600
|
-
# #self._calculate_Q_dir(time_index)
|
|
601
|
-
# self._calculate_FS_vector(time_index)
|
|
602
|
-
# self._calculate_FIN_WS_matrices(time_index)
|
|
603
|
-
# self._update_space_K_F(time_index)
|
|
604
|
-
# self._first_iteration = False
|
|
605
|
-
# return False # Force iteration
|
|
606
|
-
# else:
|
|
597
|
+
def iteration(self, time_index, date, daylight_saving, n_iter):
|
|
598
|
+
super().iteration(time_index, date, daylight_saving, n_iter)
|
|
599
|
+
|
|
607
600
|
self._update_space_K_F(time_index)
|
|
608
601
|
self._store_surfaces_values(time_index)
|
|
609
602
|
return True
|
|
@@ -105,26 +105,6 @@ class Exterior_surface(Real_surface):
|
|
|
105
105
|
T_rm = self.variable("T_rm").values[time_index]
|
|
106
106
|
self.f_0 = self.area * (- p_0 - self.parameter("h_cv").value[0] * self._T_ext - h_rd * T_rm - q_sol)
|
|
107
107
|
|
|
108
|
-
def iteration(self, time_index, date, daylight_saving):
|
|
109
|
-
super().iteration(time_index, date, daylight_saving)
|
|
110
|
-
# Calculate shadows only once
|
|
111
|
-
# if not self._shadow_calculated:
|
|
112
|
-
# direct_sunny_fracion = self.building().get_direct_sunny_fraction(self)
|
|
113
|
-
# E_dir = self.variable(
|
|
114
|
-
# "E_dir_sunny").values[time_index] * direct_sunny_fracion
|
|
115
|
-
# self.variable("E_dir").values[time_index] = E_dir
|
|
116
|
-
# self.variable(
|
|
117
|
-
# "q_sol0").values[time_index] += self.radiant_property("alpha", "solar_diffuse", 0) * E_dir
|
|
118
|
-
# q_sol = self.variable("q_sol0").values[time_index]
|
|
119
|
-
# p_0 = self.variable("p_0").values[time_index]
|
|
120
|
-
# h_rd = self.H_RD * self.radiant_property("alpha", "long_wave", 0)
|
|
121
|
-
# T_rm = self.variable("T_rm").values[time_index]
|
|
122
|
-
# self.f_0 = self.area * \
|
|
123
|
-
# (- p_0 - self.parameter("h_cv").value[0]
|
|
124
|
-
# * self._T_ext - h_rd * T_rm - q_sol)
|
|
125
|
-
# self._shadow_calculated = True
|
|
126
|
-
return True
|
|
127
|
-
|
|
128
108
|
def post_iteration(self, time_index, date, daylight_saving, converged):
|
|
129
109
|
super().post_iteration(time_index, date, daylight_saving, converged)
|
|
130
110
|
self._calculate_T_s0(time_index)
|
|
@@ -155,6 +155,7 @@ class File_met(Component):
|
|
|
155
155
|
self.temperature = data["DryBulb"].to_numpy()/10
|
|
156
156
|
self.sol_diffuse = data["DHI"].to_numpy()
|
|
157
157
|
self.sol_direct = data["GHI"].to_numpy() - self.sol_diffuse
|
|
158
|
+
self.sol_direct[self.sol_direct < 0] = 0 # Eliminate negative values if exist
|
|
158
159
|
self.rel_humidity = data["RHum"].to_numpy()
|
|
159
160
|
|
|
160
161
|
self.wind_speed = data["Wspd"].to_numpy()/10
|
|
@@ -20,8 +20,8 @@ class Glazing(Component):
|
|
|
20
20
|
self.add_parameter(Parameter_float(
|
|
21
21
|
"U", 5.686, "W/m²K", min=0))
|
|
22
22
|
self.add_parameter(Parameter_math_exp(
|
|
23
|
-
"f_tau_nor", "1.3186 * cos_theta
|
|
24
|
-
f_rho = "1.8562 * cos_theta
|
|
23
|
+
"f_tau_nor", "1.3186 * cos_theta**3 - 3.5251 * cos_theta**2 + 3.2065 * cos_theta", "frac"))
|
|
24
|
+
f_rho = "1.8562 * cos_theta**3 - 4.4739 * cos_theta**2 + 3.6177 * cos_theta"
|
|
25
25
|
self.add_parameter(Parameter_math_exp_list(
|
|
26
26
|
"f_1_minus_rho_nor", [f_rho, f_rho], "frac"))
|
|
27
27
|
|
|
@@ -12,6 +12,7 @@ class HVAC_DX_equipment(Component):
|
|
|
12
12
|
self.add_parameter(Parameter_float("nominal_sensible_cooling_capacity", 0, "W", min=0))
|
|
13
13
|
self.add_parameter(Parameter_float("nominal_cooling_power", 0, "W", min=0))
|
|
14
14
|
self.add_parameter(Parameter_float("no_load_power", 0, "W", min=0))
|
|
15
|
+
self.add_parameter(Parameter_float("no_load_heat", 0, "W", min=0))
|
|
15
16
|
self.add_parameter(Parameter_float_list("nominal_cooling_conditions", [27, 19, 35], "ºC"))
|
|
16
17
|
self.add_parameter(Parameter_math_exp("total_cooling_capacity_expression", "1", "frac"))
|
|
17
18
|
self.add_parameter(Parameter_math_exp("sensible_cooling_capacity_expression", "1", "frac"))
|
|
@@ -25,6 +26,8 @@ class HVAC_DX_equipment(Component):
|
|
|
25
26
|
self.add_parameter(Parameter_math_exp("COP_expression", "1", "frac"))
|
|
26
27
|
self.add_parameter(Parameter_options("dry_coil_model", "SENSIBLE", ["TOTAL", "SENSIBLE"]))
|
|
27
28
|
self.add_parameter(Parameter_boolean("power_dry_coil_correction", True))
|
|
29
|
+
self.add_parameter(Parameter_float_list("expression_max_values", [60,30,60,30,1.5,1], "-"))
|
|
30
|
+
self.add_parameter(Parameter_float_list("expression_min_values", [0,0,-30,-30,0,0], "-"))
|
|
28
31
|
|
|
29
32
|
def check(self):
|
|
30
33
|
errors = super().check()
|
|
@@ -39,7 +42,7 @@ class HVAC_DX_equipment(Component):
|
|
|
39
42
|
total_capacity = self.parameter("nominal_total_cooling_capacity").value
|
|
40
43
|
if total_capacity > 0:
|
|
41
44
|
# variables dictonary
|
|
42
|
-
var_dic =
|
|
45
|
+
var_dic = self._var_state_dic([T_idb, T_iwb,T_odb,T_owb,F_air,0])
|
|
43
46
|
# Total
|
|
44
47
|
f = self.parameter("total_cooling_capacity_expression").evaluate(var_dic)
|
|
45
48
|
total_capacity = total_capacity * f
|
|
@@ -60,7 +63,7 @@ class HVAC_DX_equipment(Component):
|
|
|
60
63
|
capacity = self.parameter("nominal_heating_capacity").value
|
|
61
64
|
if capacity > 0:
|
|
62
65
|
# variables dictonary
|
|
63
|
-
var_dic =
|
|
66
|
+
var_dic = self._var_state_dic([T_idb, T_iwb,T_odb,T_owb,F_air,0])
|
|
64
67
|
# Capacity
|
|
65
68
|
capacity = capacity * self.parameter("heating_capacity_expression").evaluate(var_dic)
|
|
66
69
|
return capacity
|
|
@@ -72,18 +75,19 @@ class HVAC_DX_equipment(Component):
|
|
|
72
75
|
if total_capacity > 0:
|
|
73
76
|
if (F_load > 0):
|
|
74
77
|
# variables dictonary
|
|
75
|
-
var_dic =
|
|
78
|
+
var_dic = self._var_state_dic([T_idb, T_iwb,T_odb,T_owb,F_air,F_load])
|
|
76
79
|
# con
|
|
77
80
|
power_full = self._get_correct_cooling_power(total_capacity,sensible_capacity,var_dic)
|
|
78
81
|
|
|
79
82
|
EER_full = total_capacity/power_full
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
F_EER = self.parameter("EER_expression").evaluate(var_dic)
|
|
84
|
+
EER = EER_full * F_EER
|
|
85
|
+
power = total_capacity*F_load/EER + self.parameter("no_load_power").value
|
|
86
|
+
return (total_capacity*F_load, sensible_capacity*F_load, power, F_EER)
|
|
83
87
|
else:
|
|
84
|
-
return ( 0 , 0 , self.parameter("no_load_power").value )
|
|
88
|
+
return ( 0 , 0 , self.parameter("no_load_power").value, 0 )
|
|
85
89
|
else:
|
|
86
|
-
return (0,0,0)
|
|
90
|
+
return (0,0,0,0)
|
|
87
91
|
|
|
88
92
|
def _get_correct_cooling_power(self,total_capacity, sensible_capacity, var_dic):
|
|
89
93
|
power = self.parameter("nominal_cooling_power").value
|
|
@@ -108,18 +112,35 @@ class HVAC_DX_equipment(Component):
|
|
|
108
112
|
if capacity > 0:
|
|
109
113
|
if (F_load > 0):
|
|
110
114
|
# variables dictonary
|
|
111
|
-
var_dic =
|
|
115
|
+
var_dic = self._var_state_dic([T_idb, T_iwb,T_odb,T_owb,F_air,F_load])
|
|
112
116
|
# Compressor
|
|
113
117
|
power_full = self.parameter("nominal_heating_power").value
|
|
114
118
|
power_full = power_full * self.parameter("heating_power_expression").evaluate(var_dic)
|
|
115
119
|
COP_full = capacity/power_full
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
120
|
+
F_COP = self.parameter("COP_expression").evaluate(var_dic)
|
|
121
|
+
COP = COP_full * F_COP
|
|
122
|
+
power = capacity*F_load/COP + + self.parameter("no_load_power").value
|
|
123
|
+
return (capacity*F_load, power, F_COP)
|
|
119
124
|
else:
|
|
120
|
-
return (0,self.parameter("no_load_power").value)
|
|
125
|
+
return (0,self.parameter("no_load_power").value, 0)
|
|
121
126
|
else:
|
|
122
|
-
return (0,0)
|
|
127
|
+
return (0,0,0)
|
|
128
|
+
|
|
129
|
+
def _var_state_dic(self, values):
|
|
130
|
+
max = self.parameter("expression_max_values").value
|
|
131
|
+
min = self.parameter("expression_min_values").value
|
|
132
|
+
for i in range(len(values)):
|
|
133
|
+
if (values[i] > max[i]):
|
|
134
|
+
values[i] = max[i]
|
|
135
|
+
elif (values[i] < min[i]):
|
|
136
|
+
values[i] = min[i]
|
|
137
|
+
return {"T_idb":values[0],
|
|
138
|
+
"T_iwb":values[1],
|
|
139
|
+
"T_odb":values[2],
|
|
140
|
+
"T_owb":values[3],
|
|
141
|
+
"F_air":values[4],
|
|
142
|
+
"F_load":values[5]}
|
|
143
|
+
|
|
123
144
|
|
|
124
145
|
|
|
125
146
|
|