diff --git a/README.md b/README.md index ecfa3d745..ea0c96e56 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +![E.ON EBC RWTH Aachen University](./doc/EBC_Logo.png) + # TEASER - Tool for Energy Analysis and Simulation for Efficient Retrofit The TEASER (Tool for Energy Analysis and Simulation for Efficient Retrofit) tool @@ -47,12 +49,18 @@ IEA-EBC [Annex60](https://github.com/iea-annex60/modelica-annex60). ### Version -The current version is 0.4.2, which is a pre-release. +The current version is 0.4.3, which is a pre-release. ### How to cite TEASER A Journal Paper presenting TEASER is already submitted and is in review. +If you are using TEASER, please cite us: + ++ CityGML Import and Export for Dynamic Building Performance Simulation in Modelica. Remmen P., +Lauster M., Mans M., Osterhage T., Müller D.. BSO16, p.329-336, September 2016, +[pdf](http://www.ibpsa.org/proceedings/BSO2016/p1047.pdf), +[bibtex](https://github.com/RWTH-EBC/TEASER/tree/master/doc/cite.bib) ### How to use TEASER diff --git a/doc/EBC_Logo.png b/doc/EBC_Logo.png new file mode 100644 index 000000000..d823af967 Binary files /dev/null and b/doc/EBC_Logo.png differ diff --git a/doc/cite.bib b/doc/cite.bib new file mode 100644 index 000000000..fcfd9ae27 --- /dev/null +++ b/doc/cite.bib @@ -0,0 +1,13 @@ + +@inproceedings{Remmen.2016, + author = {Remmen, Peter and Lauster, Moritz and Mans, Michael and Osterhage, Tanja and M{\"u}ller, Dirk}, + title = {CityGML Import and Export for Dynamic Building Performance Simulation in Modelica}, + pages = {329--336}, + booktitle = {Building Simulation and Optimization conference (BSO16)}, + editor = {Hamza, N. and Unerdwood, C.}, + month = sept, + year = {2016}, + publisher = {Newcastle University}, + venue = {Newcastle upon Tyne, England}, + isbn = {978-0-7017-0254-0}, + } \ No newline at end of file diff --git a/doc/conf.py b/doc/conf.py index bf6d5f9a0..0fa8a8563 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -60,7 +60,7 @@ # The short X.Y version. version = '0.4.' # The full version, including alpha/beta/rc tags. -release = '0.4.2' +release = '0.4.3' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/index.rst b/doc/index.rst index 533ae6fc3..3f4d55e32 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -60,7 +60,7 @@ IEA-EBC `Annex60 `_. Version ================== -The current version is 0.4.2, which is a pre-release. +The current version is 0.4.3, which is a pre-release. How to cite TEASER ================== diff --git a/setup.py b/setup.py index 2290b930a..90aab886f 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup(name='teaser', - version='0.4.2', + version='0.4.3', description='Tool for Energy Analysis and Simulation for Efficient Retrofit ', url='https://github.com/RWTH-EBC/TEASER', author='RWTH Aachen University, E.ON Energy Research Center, Institute of Energy Efficient Buildings and Indoor Climate', diff --git a/teaser/data/output/modelicatemplate/AixLib/AixLib_base b/teaser/data/output/modelicatemplate/AixLib/AixLib_base index 1e9818e98..012ac71f3 100644 --- a/teaser/data/output/modelicatemplate/AixLib/AixLib_base +++ b/teaser/data/output/modelicatemplate/AixLib/AixLib_base @@ -2,7 +2,7 @@ within ${mod_prj}.${bldg.name}.${bldg.name}_DataBase; record ${bldg.name}_base "${bldg.name}_base" extends AixLib.DataBase.Buildings.BuildingBaseRecord( numZones = ${get_n(bldg.thermal_zones)}, - buildingID = ${bldg.building_id}, + buildingID = "${bldg.building_id}", zoneSetup = { %for i in bldg.thermal_zones: %if i == bldg.thermal_zones[-1]: diff --git a/teaser/data/output/modelicatemplate/AixLib/AixLib_model b/teaser/data/output/modelicatemplate/AixLib/AixLib_model index 0aa8b79b5..a8d14bf17 100644 --- a/teaser/data/output/modelicatemplate/AixLib/AixLib_model +++ b/teaser/data/output/modelicatemplate/AixLib/AixLib_model @@ -36,6 +36,8 @@ model ${bldg.name} annotation (Placement(transformation(extent={{-26,-14},{28,36}}))); AixLib.Building.Components.Weather.Weather weather( + redeclare model RadOnTiltedSurface = + AixLib.Building.Components.Weather.RadiationOnTiltedSurface.RadOnTiltedSurf_Perez, Outopt=1, Air_temp=true, Mass_frac=true, @@ -173,6 +175,8 @@ end ${bldg.name}; annotation (Placement(transformation(extent={{-26,-14},{28,36}}))); AixLib.Building.Components.Weather.Weather weather( + redeclare model RadOnTiltedSurface = + AixLib.Building.Components.Weather.RadiationOnTiltedSurface.RadOnTiltedSurf_Perez, Outopt=1, Air_temp=true, Mass_frac=true, diff --git a/teaser/data/output/modelicatemplate/AixLib/AixLib_zone b/teaser/data/output/modelicatemplate/AixLib/AixLib_zone index 16e788a2d..0e2f538fa 100644 --- a/teaser/data/output/modelicatemplate/AixLib/AixLib_zone +++ b/teaser/data/output/modelicatemplate/AixLib/AixLib_zone @@ -13,7 +13,7 @@ record ${bldg.name}_${zone.name.replace(" ", "")} "${bldg.name}_${zone.name.repl Vair = ${zone.volume}, alphaiwi = ${zone.alpha_conv_inner_iw}, alphaowi = ${zone.alpha_conv_inner_ow}, - alphaowo = ${zone.alpha_comb_outer_ow}, + alphaowo = ${zone.alpha_conv_outer_ow}, g = ${zone.weighted_g_value}, NrPeople = ${zone.use_conditions.persons}, NrPeopleMachines = ${zone.use_conditions.machines}, @@ -34,7 +34,7 @@ record ${bldg.name}_${zone.name.replace(" ", "")} "${bldg.name}_${zone.name.repl UWin = ${zone.ua_value_win/zone.area_win}, alphaConvWinInner = ${zone.alpha_conv_inner_win}, alphaConvWinOuter = ${zone.alpha_conv_outer_win}, - Ao = ${zone.area_ow}, + Ao = ${zone.area_ow+zone.area_win}, withOuterwalls = ${element_check(zone.outer_walls)}, R1o = ${zone.r1_ow}, RRest = ${zone.r_rest_ow}, diff --git a/teaser/logic/buildingobjects/thermalzone.py b/teaser/logic/buildingobjects/thermalzone.py index edb9dea86..0b72abb16 100644 --- a/teaser/logic/buildingobjects/thermalzone.py +++ b/teaser/logic/buildingobjects/thermalzone.py @@ -1024,8 +1024,10 @@ def sum_building_elements(self): sum_r_rad_outer_win += 1/ win.r_outer_rad sum_r_comb_outer_win += 1/ win.r_outer_comb sum_g_value += win.g_value * win.area - sum_solar_absorp_win += win.layer[-1].material.solar_absorp - sum_ir_emissivity_win += win.layer[-1].material.ir_emissivity + sum_solar_absorp_win += win.layer[-1].material.solar_absorp * \ + win.area + sum_ir_emissivity_win += win.layer[-1].material.ir_emissivity * \ + win.area self.r_conv_inner_win = 1 / sum_r_conv_inner_win self.r_rad_inner_win = 1 / sum_r_rad_inner_win @@ -1251,19 +1253,19 @@ def calc_heat_load(self, number_of_elements=2): if number_of_elements == 1 or number_of_elements == 2: self.heating_load = ((self.ua_value_ow + self.ua_value_win) + - self.volume * self.infiltration_rate *\ + self.volume * self.infiltration_rate / 3.6 *\ _heat_capac_air * _density_air) * \ (self.t_inside - self.t_outside) elif number_of_elements == 3: self.heating_load = ((self.ua_value_ow + self.ua_value_gf + self.ua_value_win) + - self.volume * self.infiltration_rate *\ + self.volume * self.infiltration_rate / 3.6 *\ _heat_capac_air * _density_air) * \ (self.t_inside - self.t_outside) elif number_of_elements == 4: self.heating_load = ((self.ua_value_ow + self.ua_value_gf + self.ua_value_rt + self.ua_value_win) + - self.volume * self.infiltration_rate *\ + self.volume * self.infiltration_rate / 3.6 *\ _heat_capac_air*_density_air) * \ (self.t_inside - self.t_outside) diff --git a/teaser/logic/simulation/aixlib.py b/teaser/logic/simulation/aixlib.py index ea0673ddf..936ac3717 100644 --- a/teaser/logic/simulation/aixlib.py +++ b/teaser/logic/simulation/aixlib.py @@ -87,7 +87,7 @@ def compare_orientation(bldg): if wins == []: zone.weightfactor_win.append(0.0) zone.window_area_list.append(0.0) - zone.g_sunblind_list.append(0.0) + zone.g_sunblind_list.append(1.0) zone.window_areas.append(0.0) else: zone.weightfactor_win.append( diff --git a/teaser/logic/simulation/annex.py b/teaser/logic/simulation/annex.py index e5a1ac2ad..7a6f31665 100644 --- a/teaser/logic/simulation/annex.py +++ b/teaser/logic/simulation/annex.py @@ -103,14 +103,14 @@ def compare_orientation(bldg, number_of_elements=3): if number_of_elements != 4: zone.weightfactor_win.append(0.0) zone.window_area_list.append(0.0) - zone.g_sunblind_list.append(0.0) + zone.g_sunblind_list.append(1.0) zone.window_areas.append(0.0) zone.tilt_win.append(i[1]) zone.orientation_win.append(i[0]) elif number_of_elements == 4 and i[1] >= 90: zone.weightfactor_win.append(0.0) zone.window_area_list.append(0.0) - zone.g_sunblind_list.append(0.0) + zone.g_sunblind_list.append(1.0) zone.window_areas.append(0.0) zone.tilt_win.append(i[1]) zone.orientation_win.append(i[0]) diff --git a/tests/test_data.py b/tests/test_data.py index f03b3b535..9dbf0ed79 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -781,7 +781,7 @@ def test_calc_building_parameter(self): assert round(prj.buildings[-1].volume, 1) == 490.0 assert round( - prj.buildings[-1].sum_heating_load, 4) == 15210.3459 + prj.buildings[-1].sum_heating_load, 4) == 8118.4126 #methods in therm_zone @@ -802,7 +802,7 @@ def test_heating_load(self): prj.buildings[-1].thermal_zones[-1].calc_heat_load() assert round( prj.buildings[-1].thermal_zones[-1].heating_load, - 4) == 15210.3459 + 4) == 8118.4126 def test_sum_building_elements(self): '''test of combine_building_elements'''