diff --git a/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Components/BmsControl.mo b/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Components/BmsControl.mo index 47914acc0..4251db2ad 100644 --- a/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Components/BmsControl.mo +++ b/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Components/BmsControl.mo @@ -61,16 +61,16 @@ model BmsControl .Modelica.Blocks.Math.RealToInteger realToIntPrfProCoo annotation(Placement(transformation(extent = {{29.259458112116533,133.25945811211653},{38.74054188788347,142.74054188788347}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuNz(description = "North zone AHU air supply temperature setpoint", u(min=273.15+16, max=273.15+25, unit="K")) annotation(Placement(transformation(extent = {{0.7964094858412487,76.7964094858413},{11.203590514158751,87.2035905141587}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuSz(description = "South zone AHU air supply temperature setpoint", u(min=273.15+16, max=273.15+25, unit="K")) annotation(Placement(transformation(extent = {{0.7964094858412487,76.7964094858413},{11.203590514158751,87.2035905141587}},origin = {0.0,0.0},rotation = 0.0))); - .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuHeaNz(description = "North zone AHU heating water supply temperature setpoint", u(min=273.15+20, max=273.15+80, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,4.684102515082714},{-42.6841025150827,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0))); - .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuHeaSz(description = "South zone AHU heating water supply temperature setpoint", u(min=273.15+20, max=273.15+80, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,4.684102515082714},{-42.6841025150827,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0))); + .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuHeaNz(description = "North zone AHU heating water supply temperature setpoint", u(min=273.15+20, max=273.15+50, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,4.684102515082714},{-42.6841025150827,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0))); + .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuHeaSz(description = "South zone AHU heating water supply temperature setpoint", u(min=273.15+20, max=273.15+50, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,4.684102515082714},{-42.6841025150827,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuCooNz(description = "North zone AHU cooling water supply temperature setpoint", u(min=273.15+0, max=273.15+20, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-35.315897484917286},{-42.6841025150827,-24.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupAhuCooSz(description = "South zone AHU cooling water supply temperature setpoint", u(min=273.15+0, max=273.15+20, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-35.315897484917286},{-42.6841025150827,-24.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosAhuHeaNz(description = "North zone AHU heating circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,4.684102515082714},{41.3158974849173,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosAhuHeaSz(description = "South zone AHU heating circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,4.684102515082714},{41.3158974849173,15.315897484917286}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosAhuCooNz(description = "North zone AHU cooling circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,-35.315897484917286},{41.3158974849173,-24.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosAhuCooSz(description = "South zone AHU cooling circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,-35.315897484917286},{41.3158974849173,-24.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); - .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiHeaNz(description = "North zone heating emission circuit supply temperature setpoint", u(min=273.15+20, max=273.15+80, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-73.31589748491729},{-42.6841025150827,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); - .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiHeaSz(description = "South zone heating emission circuit supply temperature setpoint", u(min=273.15+20, max=273.15+80, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-73.31589748491729},{-42.6841025150827,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); + .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiHeaNz(description = "North zone heating emission circuit supply temperature setpoint", u(min=273.15+20, max=273.15+50, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-73.31589748491729},{-42.6841025150827,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); + .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiHeaSz(description = "South zone heating emission circuit supply temperature setpoint", u(min=273.15+20, max=273.15+50, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-73.31589748491729},{-42.6841025150827,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiCooNz(description = "North zone cooling emission circuit supply temperature setpoint", u(min=273.15+0, max=273.15+20, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-113.31589748491729},{-42.6841025150827,-102.68410251508271}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveTSupEmiCooSz(description = "Southh zone cooling emission circuit supply temperature setpoint", u(min=273.15+0, max=273.15+20, unit="K")) annotation(Placement(transformation(extent = {{-53.3158974849173,-113.31589748491729},{-42.6841025150827,-102.68410251508271}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite oveValPosEmiHeaNz(description = "North zone heating emission circuit mixing valve position setpoint", u(min=0, max=1, unit="1")) annotation(Placement(transformation(extent = {{30.6841025150827,-73.31589748491729},{41.3158974849173,-62.684102515082714}},origin = {0.0,0.0},rotation = 0.0))); @@ -101,10 +101,10 @@ model BmsControl .IDEAS.Utilities.IO.SignalExchange.Overwrite ovePrfEmiHeaNz(description = "North zone emission heating circuit activation setpoint",u(min = 0,max = 1, unit="1")) annotation(Placement(transformation(extent = {{72.43172280599326,-91.56827719400674},{83.56827719400674,-80.43172280599326}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite ovePrfEmiCooSz(u(min = 0,max = 1, unit="1"),description = "South zone emission cooling circuit activation setpoint") annotation(Placement(transformation(extent = {{72.68410251508271,-131.3158974849173},{83.31589748491729,-120.68410251508271}},origin = {0.0,0.0},rotation = 0.0))); .IDEAS.Utilities.IO.SignalExchange.Overwrite ovePrfEmiHeaSz(description = "South zone emission heating circuit activation setpoint",u(min = 0,max = 1, unit="1")) annotation(Placement(transformation(extent = {{72.43172280599326,-91.56827719400674},{83.56827719400674,-80.43172280599326}},origin = {0.0,0.0},rotation = 0.0))); - .Modelica.Blocks.Tables.CombiTable1Ds[nZones] heaCur(each table = [273.15 - 10, 273.15 + 70; 273.15 + 20, 273.15 + 40]) annotation(Placement(transformation(extent = {{-75.38187521415755,-73.38187521415755},{-64.61812478584245,-62.618124785842454}},origin = {0.0,0.0},rotation = 0.0))); + .Modelica.Blocks.Tables.CombiTable1Ds[nZones] heaCur(each table = [273.15 - 10, 273.15 + 50; 273.15 + 20, 273.15 + 35]) annotation(Placement(transformation(extent = {{-75.38187521415755,-73.38187521415755},{-64.61812478584245,-62.618124785842454}},origin = {0.0,0.0},rotation = 0.0))); .Modelica.Blocks.Interfaces.RealInput Te annotation(Placement(transformation(extent = {{-111.38569444853543,78.61430555146458},{-88.61430555146457,101.38569444853542}},origin = {0.0,0.0},rotation = 0.0))); .Modelica.Blocks.Tables.CombiTable1Ds[nZones] cooCur(each table = [273.15 + 15, 273.15 + 12; 273.15 + 35, 273.15 + 7]) annotation(Placement(transformation(extent = {{-75.38187521415755,-113.38187521415755},{-64.61812478584245,-102.61812478584245}},origin = {0.0,0.0},rotation = 0.0))); - .Modelica.Blocks.Sources.Constant[nVen] TSetAhuHea(k = {273.15 + 50,273.15 + 50}) annotation(Placement(transformation(extent = {{-76.1691289287923,3.830871071207696},{-63.830871071207696,16.169128928792304}},origin = {0.0,0.0},rotation = 0.0))); + .Modelica.Blocks.Sources.Constant[nVen] TSetAhuHea(k = {273.15 + 45,273.15 + 45}) annotation(Placement(transformation(extent = {{-76.1691289287923,3.830871071207696},{-63.830871071207696,16.169128928792304}},origin = {0.0,0.0},rotation = 0.0))); .Modelica.Blocks.Sources.Constant[nVen] TSetAhuCoo(k = {273.15 + 9,273.15 + 9}) annotation(Placement(transformation(extent = {{-76.1691289287923,-36.169128928792304},{-63.830871071207696,-23.830871071207696}},origin = {0.0,0.0},rotation = 0.0))); .Buildings.Utilities.Math.Max TSupProHea(nin = nVen + nZones) annotation(Placement(transformation(extent = {{-33.00368646072283,114.99631353927717},{-22.996313539277168,125.00368646072283}},origin = {0.0,0.0},rotation = 0.0))); .Buildings.Utilities.Math.Min TSupProCoo(nin = nVen + nZones) annotation(Placement(transformation(extent = {{-3.0036864607228324,94.99631353927717},{7.003686460722832,105.00368646072283}},origin = {0.0,0.0},rotation = 0.0))); diff --git a/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Components/IdealProduction.mo b/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Components/IdealProduction.mo index 59ff0b6a9..a5997acee 100644 --- a/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Components/IdealProduction.mo +++ b/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Components/IdealProduction.mo @@ -1,6 +1,6 @@ within BuildingEmulators.Components; model IdealProduction "Ideal production model which assumes a linear efficiency curve" - extends IDEAS.Fluid.Interfaces.PrescribedOutlet(show_T = true, allowFlowReversal=false); + extends IDEAS.Fluid.Interfaces.PrescribedOutlet(final use_TSet=true, show_T = true, allowFlowReversal=false); outer .IDEAS.BoundaryConditions.SimInfoManager sim "Simulation information manager for climate data" annotation(Placement(transformation(extent = {{-100.0,80.0},{-80.0,100.0}},rotation = 0.0,origin = {0.0,0.0}))); parameter Boolean boiler = true "if true, gas boiler whose efficiency only depends on the inlet temperature; if false, chiller/heat pump whose efficiency depends on inlet and ambient temperatures"; @@ -9,7 +9,7 @@ model IdealProduction "Ideal production model which assumes a linear efficiency .Modelica.Blocks.Interfaces.RealOutput P(unit = "W") "Energy used by the production component" annotation(Placement(transformation(extent = {{100.0,-70.0},{120.0,-50.0}},rotation = 0.0,origin = {0.0,0.0}))); - .Modelica.Blocks.Interfaces.RealInput TSetIn(unit = "K", displayUnit="degC"); + .Modelica.Blocks.Interfaces.RealInput TSetIn(unit = "K", displayUnit="degC") if use_TSet; parameter Real A = if boiler then 2.46575 else A_vcrs "Intercept of the linear expression"; diff --git a/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Templates/Heating/FanCoilUnits.mo b/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Templates/Heating/FanCoilUnits.mo index 23f26df78..af7c4e418 100644 --- a/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Templates/Heating/FanCoilUnits.mo +++ b/testcases/multizone_office_simple_hydronic/models/BuildingEmulators/Templates/Heating/FanCoilUnits.mo @@ -46,7 +46,7 @@ model FanCoilUnits parameter Modelica.Units.SI.TemperatureDifference deltaTCoo_nominal = 5 "Nominal temperature difference in water side in the cooling coil" annotation ( Dialog(group = "Cooling coil parameters")); - parameter Modelica.Units.SI.TemperatureDifference deltaTHea_nominal = 20 "Nominal temperature difference in water side in the heating coil" annotation ( + parameter Modelica.Units.SI.TemperatureDifference deltaTHea_nominal = 5 "Nominal temperature difference in water side in the heating coil" annotation ( Dialog(group = "Heating coil parameters")); parameter Modelica.Units.SI.MassFlowRate[nZones] mWatEmiHea_flow_nominal = QHeaEmi_flow_nominal / 4180 / deltaTHea_nominal "Nominal mass flow of the heating coil"; parameter Modelica.Units.SI.MassFlowRate[nZones] mWatEmiCoo_flow_nominal = -QCooEmi_flow_nominal / 4180 / deltaTCoo_nominal "Nominal mass flow of the cooling coil"; @@ -63,7 +63,7 @@ model FanCoilUnits each TCoo_a1_nominal = 273.15 + 7, each TCoo_a2_nominal = 273.15 + 31, QHea_flow_nominal = QHeaEmi_flow_nominal, - each THea_a1_nominal = 273.15 + 60, + each THea_a1_nominal = 273.15 + 50, each THea_a2_nominal = 273.15 + 16,deltaTHea_nominal = {20,20}) annotation (Placement(transformation(extent={{-79.0,68.0},{-53.0,96.0}},rotation = 0.0,origin = {0.0,0.0}))); Components.CollectorPair cooCol(nDist = nZones + nVen, m_flow_nominal = {mWatProCoo_flow_nominal},dp_nominal = 0) "Cooling collector"