From 2f4cb16d782b42ffce3b471da0c221b348afa5e4 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:06:36 +0200 Subject: [PATCH 01/16] update readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f9d266470..8b4e98a16 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ TEASER (Tool for Energy Analysis and Simulation for Efficient Retrofit) allows fast generation of archetype buildings with low input requirements and the export of individual dynamic simulation models for Modelica libraries [AixLib](https://github.com/RWTH-EBC/AixLib) and -[IEA-EBC Annex60](https://github.com/iea-annex60/modelica-annex60). It is being +[Modelica IBPSA library](https://github.com/ibpsa/modelica). It is being developed at the [RWTH Aachen University, E.ON Energy Research Center, Institute for Energy Efficient Buildings and Indoor Climate](https://www.ebc.eonerc.rwth-aachen.de/cms/~dmzz/E-ON-ERC-EBC/?lidx=1). @@ -41,12 +41,12 @@ present the TEASER tool, an open framework for urban energy modeling of building stocks. TEASER provides an easy interface for multiple data sources, data enrichment (where necessary) and export of ready-to-run Modelica simulation models for [AixLib](https://github.com/RWTH-EBC/AixLib) and -[IEA-EBC Annex60](https://github.com/iea-annex60/modelica-annex60). +[Modelica IBPSA library](https://github.com/ibpsa/modelica). ## Version -TEASER is a ongoing research project, the current version is 0.5.0, which is +TEASER is a ongoing research project, the current version is 0.5.0, which is still a pre-release. ## How to use TEASER @@ -95,7 +95,7 @@ The workflow for changes is described in our [Wiki](https://github.com/RWTH-EBC/ ## How to cite TEASER -+ TEASER: an open tool for urban energy modelling of building stocks. Remmen P., Lauster M., Mans M., Fuchs M., Osterhage T., Müller D.. Journal of Building Performance Simulation, February 2017, ++ TEASER: an open tool for urban energy modelling of building stocks. Remmen P., Lauster M., Mans M., Fuchs M., Osterhage T., Müller D.. Journal of Building Performance Simulation, February 2017, [pdf](http://dx.doi.org/10.1080/19401493.2017.1283539), [bibtex](https://github.com/RWTH-EBC/TEASER/tree/master/doc/cite_jbps.bib) From 046cd19cdb3e8388d2b64845b45d7311851f2f98 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:10:16 +0200 Subject: [PATCH 02/16] data.output to IBPSA --- teaser/data/output/aixlib_output.py | 4 ++-- teaser/data/output/annex60_output.py | 20 ++++++++-------- .../IBPSA_FourElements} | 24 +++++++++---------- .../IBPSA_OneElement} | 18 +++++++------- .../IBPSA_ThreeElements} | 18 +++++++------- .../IBPSA_TwoElements} | 18 +++++++------- 6 files changed, 51 insertions(+), 51 deletions(-) rename teaser/data/output/modelicatemplate/{Annex60/Annex60_FourElements => IBPSA/IBPSA_FourElements} (94%) rename teaser/data/output/modelicatemplate/{Annex60/Annex60_OneElement => IBPSA/IBPSA_OneElement} (93%) rename teaser/data/output/modelicatemplate/{Annex60/Annex60_ThreeElements => IBPSA/IBPSA_ThreeElements} (94%) rename teaser/data/output/modelicatemplate/{Annex60/Annex60_TwoElements => IBPSA/IBPSA_TwoElements} (94%) diff --git a/teaser/data/output/aixlib_output.py b/teaser/data/output/aixlib_output.py index 15a5af778..23ee749f7 100644 --- a/teaser/data/output/aixlib_output.py +++ b/teaser/data/output/aixlib_output.py @@ -24,7 +24,7 @@ def export_multizone(buildings, prj, path=None): glazing (corG) and decoupled heat conduction through windows ( merge_windows=False). In contrast to versions < 0.5 TEASER now does not support any other model options, as we observed no need, since single - ThermalZones are identical with Annex60 models. If you miss one of the + ThermalZones are identical with IBPSA models. If you miss one of the old options please contact us. This function uses Mako Templates specified in @@ -104,7 +104,7 @@ def export_multizone(buildings, prj, path=None): for i, bldg in enumerate(buildings): - ass_error = "You chose Annex60 calculation, " \ + ass_error = "You chose IBPSA calculation, " \ "but want to export AixLib models, " \ "this is not possible" diff --git a/teaser/data/output/annex60_output.py b/teaser/data/output/annex60_output.py index e75f8b6ba..7dc483bc7 100644 --- a/teaser/data/output/annex60_output.py +++ b/teaser/data/output/annex60_output.py @@ -3,7 +3,7 @@ """annex60_output -This module contains function to call Templates for Annex60 model generation +This module contains function to call Templates for IBPSA model generation """ import teaser.data.output.aixlib_output as aixlib_output @@ -17,10 +17,10 @@ def export_annex60( buildings, prj, path=None): - """Exports models for Annex60 library + """Exports models for IBPSA library Export a building to several models for - Annex60.ThermalZones.ReducedOrder. Depending on the chosen calculation + IBPSA.ThermalZones.ReducedOrder. Depending on the chosen calculation method models for 1, 2, 3, or 4 element model are exported. In addition you can specify if windows should be lumped into the walls, like it is done in VDI 6007 (merge_windows=True) or not. For each zone, one model is @@ -62,25 +62,25 @@ def export_annex60( uses = uses = [ 'Modelica(version="' + prj.modelica_info.version + '")', - 'Annex60(version="' + prj.buildings[-1].library_attr.version + '")'] + 'IBPSA(version="' + prj.buildings[-1].library_attr.version + '")'] lookup = TemplateLookup(directories=[utilities.get_full_path( os.path.join('data', 'output', 'modelicatemplate'))]) model_template_1 = Template( filename=utilities.get_full_path( - "data/output/modelicatemplate/Annex60/Annex60_OneElement"), + "data/output/modelicatemplate/IBPSA/IBPSA_OneElement"), lookup=lookup) model_template_2 = Template( filename=utilities.get_full_path( - "data/output/modelicatemplate/Annex60/Annex60_TwoElements"), + "data/output/modelicatemplate/IBPSA/IBPSA_TwoElements"), lookup=lookup) model_template_3 = Template( filename=utilities.get_full_path( - "data/output/modelicatemplate/Annex60/Annex60_ThreeElements"), + "data/output/modelicatemplate/IBPSA/IBPSA_ThreeElements"), lookup=lookup) model_template_4 = Template( filename=utilities.get_full_path( - "data/output/modelicatemplate/Annex60/Annex60_FourElements"), + "data/output/modelicatemplate/IBPSA/IBPSA_FourElements"), lookup=lookup) aixlib_output._help_package( @@ -97,10 +97,10 @@ def export_annex60( for i, bldg in enumerate(buildings): ass_error = "You chose AixLib calculation, " \ - "but want to export Annex60 models, " \ + "but want to export IBPSA models, " \ "this is not possible" - assert bldg.used_library_calc == 'Annex60', ass_error + assert bldg.used_library_calc == 'IBPSA', ass_error bldg_path = os.path.join(path, bldg.name) diff --git a/teaser/data/output/modelicatemplate/Annex60/Annex60_FourElements b/teaser/data/output/modelicatemplate/IBPSA/IBPSA_FourElements similarity index 94% rename from teaser/data/output/modelicatemplate/Annex60/Annex60_FourElements rename to teaser/data/output/modelicatemplate/IBPSA/IBPSA_FourElements index f01612998..cb2629361 100644 --- a/teaser/data/output/modelicatemplate/Annex60/Annex60_FourElements +++ b/teaser/data/output/modelicatemplate/IBPSA/IBPSA_FourElements @@ -3,13 +3,13 @@ within ${zone.parent.parent.name}.${zone.parent.name}.${zone.parent.name}_Models model ${zone.parent.name}_${zone.name} "This is the simulation model of ${zone.name} within building ${zone.parent.name} with traceable ID ${zone.parent.building_id}" - Annex60.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( - calTSky=Annex60.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation, + IBPSA.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( + calTSky=IBPSA.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation, computeWetBulbTemperature=false, filNam="${zone.parent.parent.weather_file_path.replace("\\", "/")}") "Weather data reader" annotation (Placement(transformation(extent={{-98,52},{-78,72}}))); - Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[${zone.model_attr.n_outer}]( + IBPSA.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[${zone.model_attr.n_outer}]( each outSkyCon=true, each outGroCon=true, til=${get_list(deg_to_rad(zone.model_attr.tilt_facade))}, @@ -17,17 +17,17 @@ model ${zone.parent.name}_${zone.name} azi = ${get_list(azmiut_conv(zone.model_attr.orientation_facade))}) "Calculates diffuse solar radiation on titled surface for all directions" annotation (Placement(transformation(extent={{-68,20},{-48,40}}))); - Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[${zone.model_attr.n_outer}]( + IBPSA.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[${zone.model_attr.n_outer}]( til=${get_list(deg_to_rad(zone.model_attr.tilt_facade))}, each lat = ${deg_to_rad(zone.parent.latitude)}, azi=${get_list(azmiut_conv(zone.model_attr.orientation_facade))}) "Calculates direct solar radiation on titled surface for all directions" annotation (Placement(transformation(extent={{-68,52},{-48,72}}))); - Annex60.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(n=${zone.model_attr.n_outer}, + IBPSA.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(n=${zone.model_attr.n_outer}, UWin=${zone.model_attr.u_value_win}) "Correction factor for solar transmission" annotation (Placement(transformation(extent={{6,54},{26,74}}))); - Annex60.ThermalZones.ReducedOrder.RC.FourElements + IBPSA.ThermalZones.ReducedOrder.RC.FourElements thermalZoneFourElements( redeclare package Medium = Modelica.Media.Air.DryAirNasa, % if zone.parent.library_attr.consider_heat_capacity is True: @@ -74,7 +74,7 @@ model ${zone.parent.name}_${zone.name} "Thermal zone" annotation (Placement(transformation(extent={{44,-2},{92,34}}))); % if zone.model_attr.merge_windows is True: - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTemp( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTemp( n=${zone.model_attr.n_outer}, wfGro=${zone.model_attr.weightfactor_ground}, wfWall=${get_list(zone.model_attr.weightfactor_ow)}, @@ -86,7 +86,7 @@ model ${zone.parent.name}_${zone.name} TGro=${zone.t_ground}) "Computes equivalent air temperature" annotation (Placement(transformation(extent={{-24,-14},{-4,6}}))); % else: - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow eqAirTemp( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow eqAirTemp( n=${zone.model_attr.n_outer}, wfGro=${zone.model_attr.weightfactor_ground}, wfWall=${get_list(zone.model_attr.weightfactor_ow)}, @@ -119,7 +119,7 @@ model ${zone.parent.name}_${zone.name} Modelica.Blocks.Sources.Constant const[${zone.model_attr.n_outer}](each k=0) "Sets sunblind signal to zero (open)" annotation (Placement(transformation(extent={{-20,14},{-14,20}}))); - Annex60.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" + IBPSA.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" annotation (Placement( transformation(extent={{-100,-10},{-66,22}}),iconTransformation( extent={{-70,-12},{-50,8}}))); @@ -171,7 +171,7 @@ model ${zone.parent.name}_${zone.name} rotation=180, origin={84,-22}))); - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTempVDI( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTempVDI( aExt=${zone.model_attr.solar_absorp_rt}, wfGro=0, alphaWallOut=${zone.model_attr.alpha_conv_outer_rt}, @@ -201,13 +201,13 @@ model ${zone.parent.name}_${zone.name} Modelica.Blocks.Math.Add solRadRoof[${zone.model_attr.n_rt}] "Sums up solar radiation of both directions" annotation (Placement(transformation(extent={{4,76},{14,86}}))); - Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTilRoof[${zone.model_attr.n_rt}]( + IBPSA.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTilRoof[${zone.model_attr.n_rt}]( til=${get_list(deg_to_rad(zone.model_attr.tilt_rt))}, each lat = ${deg_to_rad(zone.parent.latitude)}, azi=${get_list(azmiut_conv(zone.model_attr.orientation_rt))}) "Calculates direct solar radiation on titled surface for both directions" annotation (Placement(transformation(extent={{-68,74},{-48,94}}))); - Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTilRoof[${zone.model_attr.n_rt}]( + IBPSA.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTilRoof[${zone.model_attr.n_rt}]( til=${get_list(deg_to_rad(zone.model_attr.tilt_rt))}, each lat = ${deg_to_rad(zone.parent.latitude)}, azi=${get_list(azmiut_conv(zone.model_attr.orientation_rt))}) diff --git a/teaser/data/output/modelicatemplate/Annex60/Annex60_OneElement b/teaser/data/output/modelicatemplate/IBPSA/IBPSA_OneElement similarity index 93% rename from teaser/data/output/modelicatemplate/Annex60/Annex60_OneElement rename to teaser/data/output/modelicatemplate/IBPSA/IBPSA_OneElement index b93b5caba..e6972ff30 100644 --- a/teaser/data/output/modelicatemplate/Annex60/Annex60_OneElement +++ b/teaser/data/output/modelicatemplate/IBPSA/IBPSA_OneElement @@ -3,13 +3,13 @@ within ${zone.parent.parent.name}.${zone.parent.name}.${zone.parent.name}_Models model ${zone.parent.name}_${zone.name} "This is the simulation model of ${zone.name} within building ${zone.parent.name} with traceable ID ${zone.parent.building_id}" - Annex60.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( - calTSky=Annex60.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation, + IBPSA.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( + calTSky=IBPSA.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation, computeWetBulbTemperature=false, filNam="${zone.parent.parent.weather_file_path.replace("\\", "/")}") "Weather data reader" annotation (Placement(transformation(extent={{-98,52},{-78,72}}))); - Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[${zone.model_attr.n_outer}]( + IBPSA.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[${zone.model_attr.n_outer}]( each outSkyCon=true, each outGroCon=true, til=${get_list(deg_to_rad(zone.model_attr.tilt_facade))}, @@ -17,17 +17,17 @@ model ${zone.parent.name}_${zone.name} azi = ${get_list(azmiut_conv(zone.model_attr.orientation_facade))}) "Calculates diffuse solar radiation on titled surface for all directions" annotation (Placement(transformation(extent={{-68,20},{-48,40}}))); - Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[${zone.model_attr.n_outer}]( + IBPSA.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[${zone.model_attr.n_outer}]( til=${get_list(deg_to_rad(zone.model_attr.tilt_facade))}, each lat = ${deg_to_rad(zone.parent.latitude)}, azi=${get_list(azmiut_conv(zone.model_attr.orientation_facade))}) "Calculates direct solar radiation on titled surface for all directions" annotation (Placement(transformation(extent={{-68,52},{-48,72}}))); - Annex60.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(n=${zone.model_attr.n_outer}, + IBPSA.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(n=${zone.model_attr.n_outer}, UWin=${zone.model_attr.u_value_win}) "Correction factor for solar transmission" annotation (Placement(transformation(extent={{6,54},{26,74}}))); - Annex60.ThermalZones.ReducedOrder.RC.OneElement + IBPSA.ThermalZones.ReducedOrder.RC.OneElement thermalZoneOneElement( redeclare package Medium = Modelica.Media.Air.DryAirNasa, % if zone.parent.library_attr.consider_heat_capacity is True: @@ -54,7 +54,7 @@ model ${zone.parent.name}_${zone.name} "Thermal zone" annotation (Placement(transformation(extent={{44,-2},{92,34}}))); % if zone.model_attr.merge_windows is True: - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTemp( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTemp( n=${zone.model_attr.n_outer}, wfGro=${zone.model_attr.weightfactor_ground}, wfWall=${get_list(zone.model_attr.weightfactor_ow)}, @@ -66,7 +66,7 @@ model ${zone.parent.name}_${zone.name} TGro=${zone.t_ground}) "Computes equivalent air temperature" annotation (Placement(transformation(extent={{-24,-14},{-4,6}}))); % else: - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow eqAirTemp( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow eqAirTemp( n=${zone.model_attr.n_outer}, wfGro=${zone.model_attr.weightfactor_ground}, wfWall=${get_list(zone.model_attr.weightfactor_ow)}, @@ -99,7 +99,7 @@ model ${zone.parent.name}_${zone.name} Modelica.Blocks.Sources.Constant const[${zone.model_attr.n_outer}](each k=0) "Sets sunblind signal to zero (open)" annotation (Placement(transformation(extent={{-20,14},{-14,20}}))); - Annex60.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" + IBPSA.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" annotation (Placement( transformation(extent={{-100,-10},{-66,22}}),iconTransformation( extent={{-70,-12},{-50,8}}))); diff --git a/teaser/data/output/modelicatemplate/Annex60/Annex60_ThreeElements b/teaser/data/output/modelicatemplate/IBPSA/IBPSA_ThreeElements similarity index 94% rename from teaser/data/output/modelicatemplate/Annex60/Annex60_ThreeElements rename to teaser/data/output/modelicatemplate/IBPSA/IBPSA_ThreeElements index e33722702..77324318d 100644 --- a/teaser/data/output/modelicatemplate/Annex60/Annex60_ThreeElements +++ b/teaser/data/output/modelicatemplate/IBPSA/IBPSA_ThreeElements @@ -3,13 +3,13 @@ within ${zone.parent.parent.name}.${zone.parent.name}.${zone.parent.name}_Models model ${zone.parent.name}_${zone.name} "This is the simulation model of ${zone.name} within building ${zone.parent.name} with traceable ID ${zone.parent.building_id}" - Annex60.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( - calTSky=Annex60.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation, + IBPSA.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( + calTSky=IBPSA.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation, computeWetBulbTemperature=false, filNam="${zone.parent.parent.weather_file_path.replace("\\", "/")}") "Weather data reader" annotation (Placement(transformation(extent={{-98,52},{-78,72}}))); - Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[${zone.model_attr.n_outer}]( + IBPSA.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[${zone.model_attr.n_outer}]( each outSkyCon=true, each outGroCon=true, til=${get_list(deg_to_rad(zone.model_attr.tilt_facade))}, @@ -17,17 +17,17 @@ model ${zone.parent.name}_${zone.name} azi = ${get_list(azmiut_conv(zone.model_attr.orientation_facade))}) "Calculates diffuse solar radiation on titled surface for all directions" annotation (Placement(transformation(extent={{-68,20},{-48,40}}))); - Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[${zone.model_attr.n_outer}]( + IBPSA.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[${zone.model_attr.n_outer}]( til=${get_list(deg_to_rad(zone.model_attr.tilt_facade))}, each lat = ${deg_to_rad(zone.parent.latitude)}, azi=${get_list(azmiut_conv(zone.model_attr.orientation_facade))}) "Calculates direct solar radiation on titled surface for all directions" annotation (Placement(transformation(extent={{-68,52},{-48,72}}))); - Annex60.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(n=${zone.model_attr.n_outer}, + IBPSA.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(n=${zone.model_attr.n_outer}, UWin=${zone.model_attr.u_value_win}) "Correction factor for solar transmission" annotation (Placement(transformation(extent={{6,54},{26,74}}))); - Annex60.ThermalZones.ReducedOrder.RC.ThreeElements + IBPSA.ThermalZones.ReducedOrder.RC.ThreeElements thermalZoneThreeElements( redeclare package Medium = Modelica.Media.Air.DryAirNasa, % if zone.parent.library_attr.consider_heat_capacity is True: @@ -67,7 +67,7 @@ model ${zone.parent.name}_${zone.name} "Thermal zone" annotation (Placement(transformation(extent={{44,-2},{92,34}}))); % if zone.model_attr.merge_windows is True: - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTemp( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTemp( n=${zone.model_attr.n_outer}, wfGro=${zone.model_attr.weightfactor_ground}, wfWall=${get_list(zone.model_attr.weightfactor_ow)}, @@ -79,7 +79,7 @@ model ${zone.parent.name}_${zone.name} TGro=${zone.t_ground}) "Computes equivalent air temperature" annotation (Placement(transformation(extent={{-24,-14},{-4,6}}))); % else: - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow eqAirTemp( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow eqAirTemp( n=${zone.model_attr.n_outer}, wfGro=${zone.model_attr.weightfactor_ground}, wfWall=${get_list(zone.model_attr.weightfactor_ow)}, @@ -112,7 +112,7 @@ model ${zone.parent.name}_${zone.name} Modelica.Blocks.Sources.Constant const[${zone.model_attr.n_outer}](each k=0) "Sets sunblind signal to zero (open)" annotation (Placement(transformation(extent={{-20,14},{-14,20}}))); - Annex60.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" + IBPSA.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" annotation (Placement( transformation(extent={{-100,-10},{-66,22}}),iconTransformation( extent={{-70,-12},{-50,8}}))); diff --git a/teaser/data/output/modelicatemplate/Annex60/Annex60_TwoElements b/teaser/data/output/modelicatemplate/IBPSA/IBPSA_TwoElements similarity index 94% rename from teaser/data/output/modelicatemplate/Annex60/Annex60_TwoElements rename to teaser/data/output/modelicatemplate/IBPSA/IBPSA_TwoElements index 6489dc9de..531c82e83 100644 --- a/teaser/data/output/modelicatemplate/Annex60/Annex60_TwoElements +++ b/teaser/data/output/modelicatemplate/IBPSA/IBPSA_TwoElements @@ -3,13 +3,13 @@ within ${zone.parent.parent.name}.${zone.parent.name}.${zone.parent.name}_Models model ${zone.parent.name}_${zone.name} "This is the simulation model of ${zone.name} within building ${zone.parent.name} with traceable ID ${zone.parent.building_id}" - Annex60.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( - calTSky=Annex60.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation, + IBPSA.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( + calTSky=IBPSA.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation, computeWetBulbTemperature=false, filNam="${zone.parent.parent.weather_file_path.replace("\\", "/")}") "Weather data reader" annotation (Placement(transformation(extent={{-98,52},{-78,72}}))); - Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[${zone.model_attr.n_outer}]( + IBPSA.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[${zone.model_attr.n_outer}]( each outSkyCon=true, each outGroCon=true, til=${get_list(deg_to_rad(zone.model_attr.tilt_facade))}, @@ -17,17 +17,17 @@ model ${zone.parent.name}_${zone.name} azi = ${get_list(azmiut_conv(zone.model_attr.orientation_facade))}) "Calculates diffuse solar radiation on titled surface for all directions" annotation (Placement(transformation(extent={{-68,20},{-48,40}}))); - Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[${zone.model_attr.n_outer}]( + IBPSA.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[${zone.model_attr.n_outer}]( til=${get_list(deg_to_rad(zone.model_attr.tilt_facade))}, each lat = ${deg_to_rad(zone.parent.latitude)}, azi=${get_list(azmiut_conv(zone.model_attr.orientation_facade))}) "Calculates direct solar radiation on titled surface for all directions" annotation (Placement(transformation(extent={{-68,52},{-48,72}}))); - Annex60.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(n=${zone.model_attr.n_outer}, + IBPSA.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(n=${zone.model_attr.n_outer}, UWin=${zone.model_attr.u_value_win}) "Correction factor for solar transmission" annotation (Placement(transformation(extent={{6,54},{26,74}}))); - Annex60.ThermalZones.ReducedOrder.RC.TwoElements + IBPSA.ThermalZones.ReducedOrder.RC.TwoElements thermalZoneTwoElements( redeclare package Medium = Modelica.Media.Air.DryAirNasa, % if zone.parent.library_attr.consider_heat_capacity is True: @@ -60,7 +60,7 @@ model ${zone.parent.name}_${zone.name} "Thermal zone" annotation (Placement(transformation(extent={{44,-2},{92,34}}))); % if zone.model_attr.merge_windows is True: - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTemp( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007 eqAirTemp( n=${zone.model_attr.n_outer}, wfGro=${zone.model_attr.weightfactor_ground}, wfWall=${get_list(zone.model_attr.weightfactor_ow)}, @@ -72,7 +72,7 @@ model ${zone.parent.name}_${zone.name} TGro=${zone.t_ground}) "Computes equivalent air temperature" annotation (Placement(transformation(extent={{-24,-14},{-4,6}}))); % else: - Annex60.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow eqAirTemp( + IBPSA.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow eqAirTemp( n=${zone.model_attr.n_outer}, wfGro=${zone.model_attr.weightfactor_ground}, wfWall=${get_list(zone.model_attr.weightfactor_ow)}, @@ -105,7 +105,7 @@ model ${zone.parent.name}_${zone.name} Modelica.Blocks.Sources.Constant const[${zone.model_attr.n_outer}](each k=0) "Sets sunblind signal to zero (open)" annotation (Placement(transformation(extent={{-20,14},{-14,20}}))); - Annex60.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" + IBPSA.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus" annotation (Placement( transformation(extent={{-100,-10},{-66,22}}),iconTransformation( extent={{-70,-12},{-50,8}}))); From 9a483b8d7dd99583e3f378f13139132b0bae1e13 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:11:01 +0200 Subject: [PATCH 03/16] export ibpsa models --- teaser/examples/e3_export_annex_models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/teaser/examples/e3_export_annex_models.py b/teaser/examples/e3_export_annex_models.py index 0d13a9546..22a467414 100644 --- a/teaser/examples/e3_export_annex_models.py +++ b/teaser/examples/e3_export_annex_models.py @@ -2,7 +2,7 @@ # TEASER Development Team """This module contains an example how to export buildings from a TEASER -project to ready-to-run simulation models for Modelica library Annex60. These +project to ready-to-run simulation models for Modelica library IBPSA. These models simulate in Dymola, OpenModelica and JModelica. """ @@ -13,7 +13,7 @@ def example_export_annex(): - """"This function demonstrates the export to Modelica library Annex60 using + """"This function demonstrates the export to Modelica library IBPSA using the API function of TEASER""" # In e1_generate_archetype we created a Project with three archetype @@ -33,7 +33,7 @@ def example_export_annex(): # file by setting Project().weather_file_path. However we will use default # weather file. - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.number_of_elements_calc = 4 prj.merge_windows_calc = False prj.weather_file_path = utilities.get_full_path( From 0575a75cf039d443c34013ebdf251bee3350446f Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:11:19 +0200 Subject: [PATCH 04/16] rename eyample --- .../{e3_export_annex_models.py => e3_export_ibpsa_models.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename teaser/examples/{e3_export_annex_models.py => e3_export_ibpsa_models.py} (100%) diff --git a/teaser/examples/e3_export_annex_models.py b/teaser/examples/e3_export_ibpsa_models.py similarity index 100% rename from teaser/examples/e3_export_annex_models.py rename to teaser/examples/e3_export_ibpsa_models.py From b3ddc460c20cf6248d6d3ed6325c5d5873ad352a Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:12:06 +0200 Subject: [PATCH 05/16] annex to ibpsa in gui --- teaser/gui/controller/controller.py | 4 ++-- teaser/gui/mainui.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/teaser/gui/controller/controller.py b/teaser/gui/controller/controller.py index b58633305..1402b6c5b 100644 --- a/teaser/gui/controller/controller.py +++ b/teaser/gui/controller/controller.py @@ -478,7 +478,7 @@ def click_export_button(self, project, internal_id, path_output_folder): def click_export_button_annex(self, project, num_of_elem, merge_win, internal_id, path_output_folder): ''' - Execute an export with Annex60 model. + Execute an export with IBPSA model. project : project() root class @@ -503,7 +503,7 @@ def click_export_button_annex(self, project, num_of_elem, merge_win, project.number_of_elements_calc = num_of_elem project.merge_windows_calc = merge_win - project.used_library_calc = 'Annex60' + project.used_library_calc = 'IBPSA' project.calc_all_buildings() project.export_annex(internal_id, path=str(path_output_folder)) diff --git a/teaser/gui/mainui.py b/teaser/gui/mainui.py index 9bf0e519a..27f770451 100644 --- a/teaser/gui/mainui.py +++ b/teaser/gui/mainui.py @@ -4062,7 +4062,7 @@ def show_export_window(self): self.aixlib_groupbox.setMaximumSize(QtCore.QSize(360, 120)) self.aixlib_groupbox.setObjectName(_fromUtf8("AixLibGroupBox")) - self.annex_groupbox = QtGui.QGroupBox("Annex60") + self.annex_groupbox = QtGui.QGroupBox("IBPSA") self.annex_groupbox.setGeometry(QtCore.QRect(5, 5, 360, 120)) self.annex_groupbox.setMinimumSize(QtCore.QSize(360, 120)) self.annex_groupbox.setMaximumSize(QtCore.QSize(360, 120)) @@ -4162,7 +4162,7 @@ def show_export_window(self): self.annex_create_merge_windows_combobox.setGeometry( QtCore.QRect(130, 55, 215, 25)) - library_type_list = ["AixLib", "Annex60"] + library_type_list = ["AixLib", "IBPSA"] modelTypeList = ["MultizoneEquipped", "Multizone", "None"] zoneTypeList = ["ThermalZoneEquipped", "ThermalZone", "None"] number_of_elements_list = ["2", "3", "4"] @@ -4846,7 +4846,7 @@ def click_export_button(self): " for current building " + "finished ") - elif self.export_create_library_combobox.currentText() == "Annex60": + elif self.export_create_library_combobox.currentText() == "IBPSA": sender = self.sender() num_of_elem = int( self.annex_create_number_of_elements_combobox.currentText()) From b64514d8e5ef27c1e70530187d32180a2a2455b1 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:15:08 +0200 Subject: [PATCH 06/16] annex to ibpsa in logic --- .../archetypebuildings/nonresidential.py | 4 +-- .../logic/archetypebuildings/residential.py | 4 +-- teaser/logic/buildingobjects/building.py | 26 +++++++++---------- .../buildingobjects/calculation/annex60.py | 10 +++---- .../calculation/four_element.py | 2 +- .../calculation/one_element.py | 2 +- .../calculation/three_element.py | 2 +- .../calculation/two_element.py | 2 +- teaser/logic/buildingobjects/thermalzone.py | 2 +- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/teaser/logic/archetypebuildings/nonresidential.py b/teaser/logic/archetypebuildings/nonresidential.py index a22a5a272..5fa687b26 100644 --- a/teaser/logic/archetypebuildings/nonresidential.py +++ b/teaser/logic/archetypebuildings/nonresidential.py @@ -96,10 +96,10 @@ class NonResidential(Building): False for separate resistance for window, default is False used_library_calc : str 'AixLib' for https://github.com/RWTH-EBC/AixLib - 'Annex60' for https://github.com/iea-annex60/modelica-annex60 + 'IBPSA' for https://github.com/ibpsa/modelica library_attr : Annex() or AixLib() instance Classes with specific functions and attributes for building models in - Annex60 and AixLib. Python classes can be found in calculation package. + IBPSA and AixLib. Python classes can be found in calculation package. """ diff --git a/teaser/logic/archetypebuildings/residential.py b/teaser/logic/archetypebuildings/residential.py index 248dad447..c5954f762 100644 --- a/teaser/logic/archetypebuildings/residential.py +++ b/teaser/logic/archetypebuildings/residential.py @@ -96,10 +96,10 @@ class Residential(Building): False for separate resistance for window, default is False used_library_calc : str 'AixLib' for https://github.com/RWTH-EBC/AixLib - 'Annex60' for https://github.com/iea-annex60/modelica-annex60 + 'IBPSA' for https://github.com/ibpsa/modelica library_attr : Annex() or AixLib() instance Classes with specific functions and attributes for building models in - Annex60 and AixLib. Python classes can be found in calculation package. + IBPSA and AixLib. Python classes can be found in calculation package. """ diff --git a/teaser/logic/buildingobjects/building.py b/teaser/logic/buildingobjects/building.py index 07fa3f0ac..e47c454c5 100644 --- a/teaser/logic/buildingobjects/building.py +++ b/teaser/logic/buildingobjects/building.py @@ -8,7 +8,7 @@ import re import warnings from teaser.logic.buildingobjects.calculation.aixlib import AixLib -from teaser.logic.buildingobjects.calculation.annex60 import Annex60 +from teaser.logic.buildingobjects.calculation.annex60 import IBPSA from teaser.logic.buildingobjects.buildingsystems.buildingahu \ @@ -103,13 +103,13 @@ class Building(object): merge_windows_calc : boolean True for merging the windows into the outer wall's RC-combination, False for separate resistance for window, default is False. (Only - supported for Annex60) + supported for IBPSA) used_library_calc : str 'AixLib' for https://github.com/RWTH-EBC/AixLib - 'Annex60' for https://github.com/iea-annex60/modelica-annex60 + 'IBPSA' for https://github.com/ibpsa/modelica library_attr : Annex() or AixLib() instance Classes with specific functions and attributes for building models in - Annex60 and AixLib. Python classes can be found in calculation package. + IBPSA and AixLib. Python classes can be found in calculation package. """ @@ -434,7 +434,7 @@ def calc_building_parameter( True for merging the windows into the outer walls, False for separate resistance for window, default is False used_library : str - used library (AixLib and Annex60 are supported) + used library (AixLib and IBPSA are supported) """ self._number_of_elements_calc = number_of_elements @@ -457,8 +457,8 @@ def calc_building_parameter( if self.used_library_calc == 'AixLib': self.library_attr = AixLib(parent=self) self.library_attr.calc_auxiliary_attr() - elif self.used_library_calc == 'Annex60': - self.library_attr = Annex60(parent=self) + elif self.used_library_calc == 'IBPSA': + self.library_attr = IBPSA(parent=self) else: warnings.warn("You set conflicting options for the used library " "in Building or Project class and " @@ -470,8 +470,8 @@ def calc_building_parameter( if self.used_library_calc == 'AixLib': self.library_attr = AixLib(parent=self) self.library_attr.calc_auxiliary_attr() - elif self.used_library_calc == 'Annex60': - self.library_attr = Annex60(parent=self) + elif self.used_library_calc == 'IBPSA': + self.library_attr = IBPSA(parent=self) def retrofit_building( self, @@ -791,9 +791,9 @@ def used_library_calc(self): @used_library_calc.setter def used_library_calc(self, value): - ass_error_1 = "used library needs to be AixLib or Annex60" + ass_error_1 = "used library needs to be AixLib or IBPSA" - assert value != ["AixLib", "Annex60"], ass_error_1 + assert value != ["AixLib", "IBPSA"], ass_error_1 if self.parent is None and value is None: self._used_library_calc = "AixLib" @@ -804,7 +804,7 @@ def used_library_calc(self, value): if self.used_library_calc == 'AixLib': self.library_attr = AixLib(parent=self) - elif self.used_library_calc == 'Annex60': - self.library_attr = Annex60(parent=self) + elif self.used_library_calc == 'IBPSA': + self.library_attr = IBPSA(parent=self) diff --git a/teaser/logic/buildingobjects/calculation/annex60.py b/teaser/logic/buildingobjects/calculation/annex60.py index cad4d859d..5aff07b23 100644 --- a/teaser/logic/buildingobjects/calculation/annex60.py +++ b/teaser/logic/buildingobjects/calculation/annex60.py @@ -1,7 +1,7 @@ # Created December 2016 # TEASER 4 Development Team -"""This module includes Annex60 calcuation class +"""This module includes IBPSA calcuation class """ import scipy.io @@ -10,11 +10,11 @@ import warnings import os -class Annex60(object): - """Annex60 Class +class IBPSA(object): + """IBPSA Class This class holds functions to sort and partly rewrite zone and building - attributes specific for Annex60 simulation. This includes the export of + attributes specific for IBPSA simulation. This includes the export of boundary coniditons. Parameters @@ -103,7 +103,7 @@ def modelica_gains_boundary( Parameters ---------- zone : ThermalZone() - TEASER instance of ThermalZone. As Annex60 computes single models + TEASER instance of ThermalZone. As IBPSA computes single models for single zones, we need to generate individual files for zones and internal gains time_line :[[int]] diff --git a/teaser/logic/buildingobjects/calculation/four_element.py b/teaser/logic/buildingobjects/calculation/four_element.py index 2dbb7f0e4..ec436b561 100644 --- a/teaser/logic/buildingobjects/calculation/four_element.py +++ b/teaser/logic/buildingobjects/calculation/four_element.py @@ -31,7 +31,7 @@ class FourElement(object): merge_windows : boolean True for merging windows into the outer wall's RC-combination, False for separate resistance for window, default is False. (Only - supported for Annex60) + supported for IBPSA) t_bt : float [d] Time constant according to VDI 6007 (default t_bt = 5) diff --git a/teaser/logic/buildingobjects/calculation/one_element.py b/teaser/logic/buildingobjects/calculation/one_element.py index 188a26e1e..38e886591 100644 --- a/teaser/logic/buildingobjects/calculation/one_element.py +++ b/teaser/logic/buildingobjects/calculation/one_element.py @@ -28,7 +28,7 @@ class OneElement(object): merge_windows : boolean True for merging the windows into the outer wall's RC-combination, False for separate resistance for window, default is False. (Only - supported for Annex60) + supported for IBPSA) t_bt : float [d] Time constant according to VDI 6007 (default t_bt = 5) diff --git a/teaser/logic/buildingobjects/calculation/three_element.py b/teaser/logic/buildingobjects/calculation/three_element.py index d3441b6a0..5ed5a5133 100644 --- a/teaser/logic/buildingobjects/calculation/three_element.py +++ b/teaser/logic/buildingobjects/calculation/three_element.py @@ -33,7 +33,7 @@ class ThreeElement(object): merge_windows : boolean True for merging windows into the outer wall's RC-combination, False for separate resistance for window, default is False. (Only - supported for Annex60) + supported for IBPSA) t_bt : float [d] Time constant according to VDI 6007 (default t_bt = 5) diff --git a/teaser/logic/buildingobjects/calculation/two_element.py b/teaser/logic/buildingobjects/calculation/two_element.py index 4cf479a9b..e30f06570 100644 --- a/teaser/logic/buildingobjects/calculation/two_element.py +++ b/teaser/logic/buildingobjects/calculation/two_element.py @@ -28,7 +28,7 @@ class TwoElement(object): merge_windows : boolean True for merging the windows into the outer wall's RC-combination, False for separate resistance for window, default is False. (Only - supported for Annex60) + supported for IBPSA) t_bt : float [d] Time constant according to VDI 6007 (default t_bt = 5) diff --git a/teaser/logic/buildingobjects/thermalzone.py b/teaser/logic/buildingobjects/thermalzone.py index 330740fe3..00c8d32d0 100644 --- a/teaser/logic/buildingobjects/thermalzone.py +++ b/teaser/logic/buildingobjects/thermalzone.py @@ -141,7 +141,7 @@ def calc_zone_parameters( merge_windows : bool True for merging the windows into the outer walls, False for separate resistance for window, default is False (Only - supported for Annex60) + supported for IBPSA) t_bt : float Time constant according to VDI 6007 (default t_bt = 5) From ce3f4e7efd7065deb0937dabbf6c91b5be7e7f2e Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:15:29 +0200 Subject: [PATCH 07/16] rename calculation.annex60 --- teaser/logic/buildingobjects/calculation/{annex60.py => ibpsa.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename teaser/logic/buildingobjects/calculation/{annex60.py => ibpsa.py} (100%) diff --git a/teaser/logic/buildingobjects/calculation/annex60.py b/teaser/logic/buildingobjects/calculation/ibpsa.py similarity index 100% rename from teaser/logic/buildingobjects/calculation/annex60.py rename to teaser/logic/buildingobjects/calculation/ibpsa.py From 7b8f4932f1b439fdbf505948b089efbf8cc4f7c9 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:16:07 +0200 Subject: [PATCH 08/16] annex to ibpsa in project --- teaser/project.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/teaser/project.py b/teaser/project.py index 85445c52f..d9f551fa0 100644 --- a/teaser/project.py +++ b/teaser/project.py @@ -73,9 +73,9 @@ class Project(object): merge_windows_calc : bool True for merging the windows into the outer walls, False for separate resistance for window, default is False (only supported for - Annex60) + IBPSA) used_library_calc : str - used library (AixLib and Annex60 are supported) + used library (AixLib and IBPSA are supported) """ def __init__(self, load_data=True): @@ -133,7 +133,7 @@ def calc_all_buildings(self, raise_errors=False): For AixLib vdi calculation is True, ebc calculation is False used_library_calc : str - used library (AixLib and Annex60 are supported) + used library (AixLib and IBPSA are supported) """ if raise_errors is True: @@ -1150,7 +1150,7 @@ def export_aixlib( double pane glazing) and supporting models, like tables and weather model. In contrast to versions < 0.5 TEASER now does not support any model options, as we observed no need, since single - ThermalZones are identically with Annex60 models. If you miss one of + ThermalZones are identically with IBPSA models. If you miss one of the old options please contact us. Parameters @@ -1353,9 +1353,9 @@ def used_library_calc(self): @used_library_calc.setter def used_library_calc(self, value): - ass_error_1 = "used library needs to be AixLib or Annex60" + ass_error_1 = "used library needs to be AixLib or IBPSA" - assert value != ["AixLib", "Annex60"], ass_error_1 + assert value != ["AixLib", "IBPSA"], ass_error_1 self._used_library_calc = value From c0146ae29a12e82596f30b37063e84b38380fdec Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:16:59 +0200 Subject: [PATCH 09/16] rename ibpsa output --- teaser/data/output/{annex60_output.py => ibpsa_output.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename teaser/data/output/{annex60_output.py => ibpsa_output.py} (100%) diff --git a/teaser/data/output/annex60_output.py b/teaser/data/output/ibpsa_output.py similarity index 100% rename from teaser/data/output/annex60_output.py rename to teaser/data/output/ibpsa_output.py From 793270bcc0c05c7df962794323398dc950fdc7d6 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:17:33 +0200 Subject: [PATCH 10/16] imports and function calls project --- teaser/project.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/teaser/project.py b/teaser/project.py index d9f551fa0..ef548a828 100644 --- a/teaser/project.py +++ b/teaser/project.py @@ -12,7 +12,7 @@ import teaser.data.input.teaserxml_input as txml_in import teaser.data.output.teaserxml_output as txml_out import teaser.data.output.aixlib_output as aixlib_output -import teaser.data.output.annex60_output as annex60_output +import teaser.data.output.ibpsa_output as ibpsa_output import teaser.data.output.text_output as text_out from teaser.data.dataclass import DataClass from teaser.logic.archetypebuildings.bmvbs.office import Office @@ -1228,14 +1228,14 @@ def export_annex( utilities.create_path(path) if internal_id is None: - annex60_output.export_annex60( + ibpsa_output.export_ibpsa( buildings=self.buildings, prj=self, path=path) else: for bldg in self.buildings: if bldg.internal_id == internal_id: - annex60_output.export_annex60( + ibpsa_output.export_ibpsa( buildings=[bldg], prj=self, path=path) From c673ba0719a3b491e4f36b89d2d3100e499fbbb1 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:17:59 +0200 Subject: [PATCH 11/16] ibpsa imports and calls data --- teaser/data/output/ibpsa_output.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/teaser/data/output/ibpsa_output.py b/teaser/data/output/ibpsa_output.py index 7dc483bc7..6a2be7225 100644 --- a/teaser/data/output/ibpsa_output.py +++ b/teaser/data/output/ibpsa_output.py @@ -1,7 +1,7 @@ # Created May 2016 # TEASER Development Team -"""annex60_output +"""ibpsa_output This module contains function to call Templates for IBPSA model generation """ @@ -13,7 +13,7 @@ from mako.lookup import TemplateLookup -def export_annex60( +def export_ibpsa( buildings, prj, path=None): @@ -26,7 +26,7 @@ def export_annex60( done in VDI 6007 (merge_windows=True) or not. For each zone, one model is exported, if you want to combine all thermal zones into one model, consider using AixLib. The export includes internal gains from use conditions ( - calculated in teaser.logic.calculation.annex60) but does not include any + calculated in teaser.logic.calculation.ibpsa) but does not include any heating or cooling equipment. From e2304df7fd9e7f4f34dcebe69413d795a8f7aefe Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:21:19 +0200 Subject: [PATCH 12/16] ibpsa import in building --- teaser/logic/buildingobjects/building.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/teaser/logic/buildingobjects/building.py b/teaser/logic/buildingobjects/building.py index e47c454c5..9063d4d38 100644 --- a/teaser/logic/buildingobjects/building.py +++ b/teaser/logic/buildingobjects/building.py @@ -8,7 +8,7 @@ import re import warnings from teaser.logic.buildingobjects.calculation.aixlib import AixLib -from teaser.logic.buildingobjects.calculation.annex60 import IBPSA +from teaser.logic.buildingobjects.calculation.ibpsa import IBPSA from teaser.logic.buildingobjects.buildingsystems.buildingahu \ From 2e4b352f95a7178d8f676e31c721b7fb115dd374 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:24:34 +0200 Subject: [PATCH 13/16] function call ibpsa --- teaser/project.py | 2 +- tests/test_data.py | 56 +++++++++++++++++++++++----------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/teaser/project.py b/teaser/project.py index ef548a828..4a3f223b2 100644 --- a/teaser/project.py +++ b/teaser/project.py @@ -1197,7 +1197,7 @@ def export_aixlib( path=path) - def export_annex( + def export_ibpsa( self, internal_id=None, path=None): diff --git a/tests/test_data.py b/tests/test_data.py index 3c59d89e3..f5fd3470a 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -648,59 +648,59 @@ def test_export_aixlib(self): prj.calc_all_buildings() prj.export_aixlib(path=utilities.get_default_path()) - def test_export_annex(self): - """test of export_annex, no calculation verification""" + def test_export_ibpsa(self): + """test of export_ibpsa, no calculation verification""" prj.number_of_elements_calc = 1 prj.merge_windows_calc = True - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex() + prj.export_ibpsa() prj.number_of_elements_calc = 1 prj.merge_windows_calc = False - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex() + prj.export_ibpsa() prj.number_of_elements_calc = 2 prj.merge_windows_calc = True - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex() + prj.export_ibpsa() prj.number_of_elements_calc = 2 prj.merge_windows_calc = False - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex() + prj.export_ibpsa() prj.number_of_elements_calc = 3 prj.merge_windows_calc = True - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex() + prj.export_ibpsa() prj.number_of_elements_calc = 3 prj.merge_windows_calc = False - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex() + prj.export_ibpsa() prj.number_of_elements_calc = 4 prj.merge_windows_calc = True - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex() + prj.export_ibpsa() prj.number_of_elements_calc = 4 prj.merge_windows_calc = False - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex() + prj.export_ibpsa() prj.number_of_elements_calc = 4 prj.merge_windows_calc = False - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex(internal_id=prj.buildings[-1].internal_id) + prj.export_ibpsa(internal_id=prj.buildings[-1].internal_id) prj.number_of_elements_calc = 4 prj.merge_windows_calc = False - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex(path=utilities.get_default_path()) + prj.export_ibpsa(path=utilities.get_default_path()) prj.set_default() def test_export_parameters_txt(self): @@ -1651,7 +1651,7 @@ def test_calc_weightfactor_one(self): helptest.building_test2(prj) prj.buildings[-1].calc_building_parameter(number_of_elements=1, merge_windows=True, - used_library='Annex60') + used_library='IBPSA') calc_attr = prj.buildings[-1].thermal_zones[-1].model_attr @@ -1727,7 +1727,7 @@ def test_calc_weightfactor_two(self): helptest.building_test2(prj) prj.buildings[-1].calc_building_parameter(number_of_elements=2, merge_windows=True, - used_library='Annex60') + used_library='IBPSA') calc_attr = prj.buildings[-1].thermal_zones[-1].model_attr @@ -1798,7 +1798,7 @@ def test_calc_weightfactor_three(self): helptest.building_test2(prj) prj.buildings[-1].calc_building_parameter(number_of_elements=3, merge_windows=True, - used_library='Annex60') + used_library='IBPSA') calc_attr = prj.buildings[-1].thermal_zones[-1].model_attr weightfactors_test_list = [ @@ -1865,7 +1865,7 @@ def test_calc_weightfactor_four(self): helptest.building_test2(prj) prj.buildings[-1].calc_building_parameter(number_of_elements=4, merge_windows=True, - used_library='Annex60') + used_library='IBPSA') calc_attr = prj.buildings[-1].thermal_zones[-1].model_attr @@ -2385,9 +2385,9 @@ def test_warnings_prj(self): prj.export_aixlib(internal_id=prj.buildings[-1].internal_id) prj.number_of_elements_calc = 1 prj.merge_windows_calc = True - prj.used_library_calc = 'Annex60' + prj.used_library_calc = 'IBPSA' prj.calc_all_buildings() - prj.export_annex(internal_id=prj.buildings[-1].internal_id) + prj.export_ibpsa(internal_id=prj.buildings[-1].internal_id) prj.set_default(load_data="Test") From db417828c90290a2915c34eee13a679cfafd21e6 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:26:25 +0200 Subject: [PATCH 14/16] fix example --- teaser/examples/e3_export_ibpsa_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/teaser/examples/e3_export_ibpsa_models.py b/teaser/examples/e3_export_ibpsa_models.py index 22a467414..dadccda47 100644 --- a/teaser/examples/e3_export_ibpsa_models.py +++ b/teaser/examples/e3_export_ibpsa_models.py @@ -57,7 +57,7 @@ def example_export_annex(): # exported. In this case we want to export all buildings to our home # directory, thus we are passing over None for both parameters. - prj.export_annex( + prj.export_ibpsa( internal_id=None, path=None) From d79d8adf3d0a0f641fc890fc6fe0a06a91478d17 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:32:45 +0200 Subject: [PATCH 15/16] just pep8 --- teaser/examples/e2_export_aixlib_models.py | 1 - teaser/examples/e3_export_ibpsa_models.py | 1 - 2 files changed, 2 deletions(-) diff --git a/teaser/examples/e2_export_aixlib_models.py b/teaser/examples/e2_export_aixlib_models.py index 3b4d1f4e6..6f74cee99 100644 --- a/teaser/examples/e2_export_aixlib_models.py +++ b/teaser/examples/e2_export_aixlib_models.py @@ -12,7 +12,6 @@ import os - def example_export_aixlib(): """"This function demonstrates the export to Modelica library AixLib using the API function of TEASER""" diff --git a/teaser/examples/e3_export_ibpsa_models.py b/teaser/examples/e3_export_ibpsa_models.py index dadccda47..b9968bb7b 100644 --- a/teaser/examples/e3_export_ibpsa_models.py +++ b/teaser/examples/e3_export_ibpsa_models.py @@ -11,7 +11,6 @@ import os - def example_export_annex(): """"This function demonstrates the export to Modelica library IBPSA using the API function of TEASER""" From 973f491ccb9d1d77d9baf88934aeee491bf7a565 Mon Sep 17 00:00:00 2001 From: PRemmen Date: Mon, 3 Apr 2017 15:35:25 +0200 Subject: [PATCH 16/16] update docs --- doc/index.rst | 2 +- doc/teaser.Data.Output.rst | 4 ++-- doc/teaser.Logic.BuildingObjects.Calculation.rst | 4 ++-- doc/teaser.Logic.rst | 2 +- doc/teaser_api_example.rst | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/index.rst b/doc/index.rst index 5ec2af099..47fcf42f7 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -13,7 +13,7 @@ TEASER TEASER (Tool for Energy Analysis and Simulation for Efficient Retrofit) allows fast generation of archetype buildings with low input requirements and the -export of individual dynamic simulation models for Modelica libraries `AixLib `_ and `IEA-EBC Annex60 `_. It is being +export of individual dynamic simulation models for Modelica libraries `AixLib `_ and `Modelica IBPSA library `_. It is being developed at the `RWTH Aachen University, E.ON Energy Research Center, Institute for Energy Efficient Buildings and Indoor Climate `_. diff --git a/doc/teaser.Data.Output.rst b/doc/teaser.Data.Output.rst index 9d6a239a3..d0e95b4d9 100644 --- a/doc/teaser.Data.Output.rst +++ b/doc/teaser.Data.Output.rst @@ -7,10 +7,10 @@ Export AixLib models :members: :show-inheritance: -Export Annex60 models +Export IBPSA models -------------------- -.. automodule:: teaser.data.output.annex60_output +.. automodule:: teaser.data.output.ibpsa_output :members: :show-inheritance: diff --git a/doc/teaser.Logic.BuildingObjects.Calculation.rst b/doc/teaser.Logic.BuildingObjects.Calculation.rst index 8f416697b..516282753 100644 --- a/doc/teaser.Logic.BuildingObjects.Calculation.rst +++ b/doc/teaser.Logic.BuildingObjects.Calculation.rst @@ -9,10 +9,10 @@ AixLib specific building class :members: :show-inheritance: -Annex specific building class +IBPSA specific building class ---------------------------------- -.. automodule:: teaser.logic.buildingobjects.calculation.annex60 +.. automodule:: teaser.logic.buildingobjects.calculation.ibpsa :members: :show-inheritance: diff --git a/doc/teaser.Logic.rst b/doc/teaser.Logic.rst index cca4ddb9f..d11834976 100644 --- a/doc/teaser.Logic.rst +++ b/doc/teaser.Logic.rst @@ -4,7 +4,7 @@ logic The logic package holds python modules for the representation of general building objects and archetypes. In addition the simulation package holds modules to sort and calculate model syntax specific parameters for AixLib and -Annex60 (e.g. in AixLib we need to define orientations and tilts for the +IBPSA (e.g. in AixLib we need to define orientations and tilts for the whole building) The utility module helps us to do path handling. .. toctree:: diff --git a/doc/teaser_api_example.rst b/doc/teaser_api_example.rst index 54218a7d7..af91711e3 100644 --- a/doc/teaser_api_example.rst +++ b/doc/teaser_api_example.rst @@ -16,7 +16,7 @@ Example 2: Export Modelica models for AixLib library using TEASER API Example 3: Export Modelica models for AixLib library using TEASER API --------------------------------------------------------------------- -.. literalinclude:: ../teaser/examples/e3_export_annex_models.py +.. literalinclude:: ../teaser/examples/e3_export_ibpsa_models.py Example 4: Save information ---------------------------