From 4efb7ed6e0f307f339714a6b238e52922f193234 Mon Sep 17 00:00:00 2001 From: AntoineGautier Date: Thu, 31 Aug 2023 15:35:06 +0200 Subject: [PATCH] Check out components from issue1374_template_CHW_final --- .../Interfaces/PartialPumpMultiple.mo | 55 ++++++++++- .../Components/Routing/MultipleToMultiple.mo | 94 +++++++++++++------ .../Components/Routing/MultipleToSingle.mo | 50 +++++++--- .../Components/Routing/SingleToMultiple.mo | 47 +++++++--- .../HeatingPlants/HotWater/BoilerPlant.mo | 10 +- .../HotWater/Interfaces/PartialBoilerPlant.mo | 2 +- .../HotWater/Validation/BoilerPlant.mo | 3 +- 7 files changed, 198 insertions(+), 63 deletions(-) diff --git a/Buildings/Templates/Components/Interfaces/PartialPumpMultiple.mo b/Buildings/Templates/Components/Interfaces/PartialPumpMultiple.mo index 73ea5943369..b372c10e1bb 100644 --- a/Buildings/Templates/Components/Interfaces/PartialPumpMultiple.mo +++ b/Buildings/Templates/Components/Interfaces/PartialPumpMultiple.mo @@ -153,6 +153,59 @@ First implementation. visible=typ<>Buildings.Templates.Components.Types.Pump.None and not have_var and nPum>=4, extent={{-100, 3*icon_dy+60},{0, 3*icon_dy+160}}, rotation=text_rotation, - fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/MotorStarter.svg")})); + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/MotorStarter.svg"), + Line( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=5, + points={{-100, 4*icon_dy},{100, 4*icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=5, + points={{-50, 4*icon_dy+60},{-50, 4*icon_dy+22}}, + color={0,0,0}), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=5, + extent={{-100, 4*icon_dy-70},{0, 4*icon_dy+30}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Pumps/Single.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and have_valChe and nPum>=5, + extent={{20, 4*icon_dy-40},{100, 4*icon_dy+40}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/Check.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and have_var and nPum>=5, + extent={{-100, 4*icon_dy+60},{0, 4*icon_dy+160}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and not have_var and nPum>=5, + extent={{-100, 4*icon_dy+60},{0, 4*icon_dy+160}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/MotorStarter.svg"), + Line( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=6, + points={{-100, 5*icon_dy},{100, 5*icon_dy}}, + color={0,0,0}, + thickness=5), + Line( visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=6, + points={{-50, 5*icon_dy+60},{-50, 5*icon_dy+22}}, + color={0,0,0}), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and nPum>=6, + extent={{-100, 5*icon_dy-70},{0, 5*icon_dy+30}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Pumps/Single.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and have_valChe and nPum>=6, + extent={{20, 5*icon_dy-40},{100, 5*icon_dy+40}}, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Valves/Check.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and have_var and nPum>=6, + extent={{-100, 5*icon_dy+60},{0, 5*icon_dy+160}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/VFD.svg"), + Bitmap( + visible=typ<>Buildings.Templates.Components.Types.Pump.None and not have_var and nPum>=6, + extent={{-100, 5*icon_dy+60},{0, 5*icon_dy+160}}, + rotation=text_rotation, + fileName="modelica://Buildings/Resources/Images/Templates/Components/Actuators/MotorStarter.svg") +})); end PartialPumpMultiple; diff --git a/Buildings/Templates/Components/Routing/MultipleToMultiple.mo b/Buildings/Templates/Components/Routing/MultipleToMultiple.mo index e23e8ac3d7c..c94efade48e 100644 --- a/Buildings/Templates/Components/Routing/MultipleToMultiple.mo +++ b/Buildings/Templates/Components/Routing/MultipleToMultiple.mo @@ -42,16 +42,17 @@ model MultipleToMultiple annotation ( Dialog(tab="Advanced", group="Diagnostics"), HideResult=true); - parameter Integer icon_extend = 0 - "Extend lines by this amount in x-direction in icon layer: >0 at outlet, <0 at inlet" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Integer icon_dy = 100 - "Distance in y-direction between each branch in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Buildings.Templates.Components.Types.IconPipe icon_pipe = + constant Integer icon_xinl = -100 + "Minimum x-coordinate of inlet connection lines"; + constant Integer icon_xout = 100 + "Maximum x-coordinate of outlet connection lines"; + constant Integer icon_offset = 0 + "Offset in y-direction between inlet and outlet in icon layer"; + constant Integer icon_dy = 100 + "Distance in y-direction between each branch in icon layer"; + constant Buildings.Templates.Components.Types.IconPipe icon_pipe = Buildings.Templates.Components.Types.IconPipe.Supply - "Pipe symbol" - annotation(Dialog(tab="Graphics", enable=false)); + "Pipe symbol"; Modelica.Fluid.Interfaces.FluidPorts_a ports_a[nPorts_a]( redeclare each final package Medium = Medium, @@ -160,49 +161,84 @@ equation Text( extent={{-149,-114},{151,-154}}, textColor={0,0,255}, textString="%name"), - Line( points={{-100 + min(0,icon_extend), 0}, {100 + max(0, icon_extend),0}}, + Line( points={{-100, 0}, {100, 0}}, + color={0,127,255}, + visible=icon_pipe==Buildings.Templates.Components.Types.IconPipe.None), + Line( points={{icon_xinl, 0}, {0,0}}, color={0,0,0}, thickness=5, + visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_a>=2, - points=if have_comLeg then - {{-100 + min(0,icon_extend), icon_dy}, {-40,icon_dy}, {-40, 0}} - else {{-100 + min(0,icon_extend),icon_dy}, {100 + max(0, icon_extend),icon_dy}}, + Line( visible=nPorts_a>=2 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, icon_dy}, {0,icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_a>=3, - points=if have_comLeg then - {{-100 + min(0,icon_extend), 2*icon_dy}, {-40, 2*icon_dy}, {-40, icon_dy}} - else {{-100 + min(0,icon_extend),2*icon_dy}, {100 + max(0, icon_extend),2*icon_dy}}, + Line( visible=nPorts_a>=3 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, 2*icon_dy}, {0, 2*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_a>=4, - points=if have_comLeg then - {{-100 + min(0,icon_extend), 3*icon_dy}, {-40, 3*icon_dy}, {-40, 2*icon_dy}} - else {{-100 + min(0,icon_extend),3*icon_dy}, {100 + max(0, icon_extend),3*icon_dy}}, + Line( visible=nPorts_a>=4 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, 3*icon_dy}, {0, 3*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_b>=2 and have_comLeg, - points={{40, 0}, {40, icon_dy}, {100 + max(0, icon_extend), icon_dy}}, + Line( visible=nPorts_a>=5 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, 4*icon_dy}, {0, 4*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_b>=3 and have_comLeg, - points={{40, icon_dy}, {40, 2*icon_dy}, {100 + max(0, icon_extend), 2*icon_dy}}, + Line( visible=nPorts_a>=6 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{icon_xinl, 5*icon_dy}, {0, 5*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts_b>=4 and have_comLeg, - points={{40, 2*icon_dy}, {40, 3*icon_dy}, {100 + max(0, icon_extend), 3*icon_dy}}, + Line( points={{0, icon_offset}, {icon_xout,icon_offset}}, + color={0,0,0}, + thickness=5, + visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=2 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 1*icon_dy}, {icon_xout,icon_offset + 1*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=3 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 2*icon_dy}, {icon_xout,icon_offset + 2*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=4 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 3*icon_dy}, {icon_xout,icon_offset + 3*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=5 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 4*icon_dy}, {icon_xout,icon_offset + 4*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=nPorts_b>=6 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points={{0, icon_offset + 5*icon_dy}, {icon_xout,icon_offset + 5*icon_dy}}, + color={0,0,0}, + thickness=5, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash), + Line( visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None and + max(nPorts_a, nPorts_b)>=2 and have_comLeg, + points={{0, 0}, {0, icon_offset + (max(nPorts_a, nPorts_b)-1)*icon_dy}}, color={0,0,0}, thickness=5, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply @@ -221,7 +257,7 @@ First implementation. This is a model of a many-to-many fluid connector with an optional control volume, and an optional mixing port (common leg). It is typically used to connect parallel pumps with parallel -chillers or boilers. +chillers or boilers. Selecting a mixing port allows modeling a headered pumping arrangement. Without any mixing port, a dedicated pumping arrangement is modeled.

diff --git a/Buildings/Templates/Components/Routing/MultipleToSingle.mo b/Buildings/Templates/Components/Routing/MultipleToSingle.mo index df088e2bfe3..a42b8bcda4e 100644 --- a/Buildings/Templates/Components/Routing/MultipleToSingle.mo +++ b/Buildings/Templates/Components/Routing/MultipleToSingle.mo @@ -35,16 +35,13 @@ model MultipleToSingle "Multiple inlet port, single outlet ports" Dialog(tab="Advanced", group="Diagnostics"), HideResult=true); - parameter Integer icon_offset = 0 - "Offset in y-direction between inlet and outlet in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Integer icon_dy = 100 - "Distance in y-direction between each branch in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Buildings.Templates.Components.Types.IconPipe icon_pipe = - Buildings.Templates.Components.Types.IconPipe.Supply - "Pipe symbol" - annotation(Dialog(tab="Graphics", enable=false)); + constant Integer icon_offset = 0 + "Offset in y-direction between inlet and outlet in icon layer"; + constant Integer icon_dy = 100 + "Distance in y-direction between each branch in icon layer"; + constant Buildings.Templates.Components.Types.IconPipe icon_pipe = + Buildings.Templates.Components.Types.IconPipe.None + "Pipe symbol"; Modelica.Fluid.Interfaces.FluidPorts_a ports_a[nPorts]( redeclare each final package Medium = Medium, @@ -100,8 +97,7 @@ equation -20,20},{-10,20}}, color={0,127,255})); end for; connect(ports_a, del.ports[1:nPorts]) annotation (Line(points={{-100,0},{-20,0}, - {-20,-20},{0,-20}}, - color={0,127,255})); + {-20,-20},{0,-20}}, color={0,127,255})); connect(del.ports[nPorts+1], port_b) annotation (Line(points={{0,-20},{20,-20}, {20,0},{100,0}}, color={0,127,255})); connect(pasSte.port_b, port_b) annotation (Line(points={{10,20},{20,20},{20,0}, @@ -112,12 +108,16 @@ equation Text( extent={{-149,-114},{151,-154}}, textColor={0,0,255}, textString="%name"), + Line( points={{-100, 0}, {100, 0}}, + color={0,127,255}, + visible=icon_pipe==Buildings.Templates.Components.Types.IconPipe.None), Line( points={{-100, icon_offset}, {0, icon_offset}, {0,0}, {100,0}}, color={0,0,0}, thickness=5, + visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts>=2, + Line( visible=nPorts>=2 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0,icon_offset},{0,icon_offset+icon_dy},{-100,icon_offset+icon_dy}} elseif icon_offset>0 and icon_offset+icon_dy<0 or icon_offset<0 and icon_offset+icon_dy>0 then @@ -127,7 +127,7 @@ equation pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, thickness=5), - Line( visible=nPorts>=3, + Line( visible=nPorts>=3 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset+icon_dy},{0, icon_offset+2*icon_dy},{-100, icon_offset+2*icon_dy}} elseif icon_offset>0 and icon_offset+2*icon_dy<0 or icon_offset<0 and icon_offset+2*icon_dy>0 then @@ -137,7 +137,7 @@ equation pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, thickness=5), - Line( visible=nPorts>=4, + Line( visible=nPorts>=4 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset+2*icon_dy},{0, icon_offset+3*icon_dy},{-100, icon_offset+3*icon_dy}} elseif icon_offset>0 and icon_offset+3*icon_dy<0 or icon_offset<0 and icon_offset+3*icon_dy>0 then @@ -146,6 +146,26 @@ equation color={0,0,0}, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, + thickness=5), + Line( visible=nPorts>=5 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points=if icon_offset*icon_dy>=0 then + {{0, icon_offset+3*icon_dy},{0, icon_offset+4*icon_dy},{-100, icon_offset+4*icon_dy}} + elseif icon_offset>0 and icon_offset+4*icon_dy<0 or icon_offset<0 and icon_offset+4*icon_dy>0 then + {{0, 0},{0, icon_offset+4*icon_dy},{-100, icon_offset+4*icon_dy}} + else {{0, icon_offset+4*icon_dy},{-100, icon_offset+4*icon_dy}}, + color={0,0,0}, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash, + thickness=5), + Line( visible=nPorts>=6 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points=if icon_offset*icon_dy>=0 then + {{0, icon_offset+4*icon_dy},{0, icon_offset+5*icon_dy},{-100, icon_offset+5*icon_dy}} + elseif icon_offset>0 and icon_offset+5*icon_dy<0 or icon_offset<0 and icon_offset+5*icon_dy>0 then + {{0, 0},{0, icon_offset+5*icon_dy},{-100, icon_offset+5*icon_dy}} + else {{0, icon_offset+5*icon_dy},{-100, icon_offset+5*icon_dy}}, + color={0,0,0}, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash, thickness=5)}), Diagram( coordinateSystem(preserveAspectRatio=false)), diff --git a/Buildings/Templates/Components/Routing/SingleToMultiple.mo b/Buildings/Templates/Components/Routing/SingleToMultiple.mo index 0c8996d1449..6bfd895ae96 100644 --- a/Buildings/Templates/Components/Routing/SingleToMultiple.mo +++ b/Buildings/Templates/Components/Routing/SingleToMultiple.mo @@ -35,16 +35,13 @@ model SingleToMultiple "Single inlet port, multiple outlet ports" Dialog(tab="Advanced", group="Diagnostics"), HideResult=true); - parameter Integer icon_offset = 0 - "Offset in y-direction between inlet and outlet in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Integer icon_dy = 100 - "Distance in y-direction between each branch in icon layer" - annotation(Dialog(tab="Graphics", enable=false)); - parameter Buildings.Templates.Components.Types.IconPipe icon_pipe = - Buildings.Templates.Components.Types.IconPipe.Supply - "Pipe symbol" - annotation(Dialog(tab="Graphics", enable=false)); + constant Integer icon_offset = 0 + "Offset in y-direction between inlet and outlet in icon layer"; + constant Integer icon_dy = 100 + "Distance in y-direction between each branch in icon layer"; + constant Buildings.Templates.Components.Types.IconPipe icon_pipe = + Buildings.Templates.Components.Types.IconPipe.None + "Pipe symbol"; Modelica.Fluid.Interfaces.FluidPort_a port_a( redeclare final package Medium = Medium, @@ -114,12 +111,16 @@ equation Text( extent={{-149,-114},{151,-154}}, textColor={0,0,255}, textString="%name"), + Line( points={{-100, 0}, {100, 0}}, + color={0,127,255}, + visible=icon_pipe==Buildings.Templates.Components.Types.IconPipe.None), Line( points={{-100,0},{0,0},{0,icon_offset},{100,icon_offset}}, color={0,0,0}, thickness=5, + visible=icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash), - Line( visible=nPorts>=2, + Line( visible=nPorts>=2 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset}, {0,icon_offset+icon_dy}, {100,icon_offset+icon_dy}} elseif icon_offset>0 and icon_offset+icon_dy<0 or icon_offset<0 and icon_offset+icon_dy>0 then @@ -129,7 +130,7 @@ equation pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, thickness=5), - Line( visible=nPorts>=3, + Line( visible=nPorts>=3 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset+icon_dy},{0, icon_offset+2*icon_dy},{100, icon_offset+2*icon_dy}} elseif icon_offset>0 and icon_offset+2*icon_dy<0 or icon_offset<0 and icon_offset+2*icon_dy>0 then @@ -139,7 +140,7 @@ equation pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, thickness=5), - Line( visible=nPorts>=4, + Line( visible=nPorts>=4 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, points=if icon_offset*icon_dy>=0 then {{0, icon_offset+2*icon_dy},{0, icon_offset+3*icon_dy},{100, icon_offset+3*icon_dy}} elseif icon_offset>0 and icon_offset+3*icon_dy<0 or icon_offset<0 and icon_offset+3*icon_dy>0 then @@ -148,6 +149,26 @@ equation color={0,0,0}, pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply then LinePattern.Solid else LinePattern.Dash, + thickness=5), + Line( visible=nPorts>=5 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points=if icon_offset*icon_dy>=0 then + {{0, icon_offset+3*icon_dy},{0, icon_offset+4*icon_dy},{100, icon_offset+4*icon_dy}} + elseif icon_offset>0 and icon_offset+4*icon_dy<0 or icon_offset<0 and icon_offset+4*icon_dy>0 then + {{0, 0},{0, icon_offset+4*icon_dy},{100, icon_offset+4*icon_dy}} + else {{0, icon_offset+4*icon_dy},{100, icon_offset+4*icon_dy}}, + color={0,0,0}, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash, + thickness=5), + Line( visible=nPorts>=6 and icon_pipe<>Buildings.Templates.Components.Types.IconPipe.None, + points=if icon_offset*icon_dy>=0 then + {{0, icon_offset+4*icon_dy},{0, icon_offset+5*icon_dy},{100, icon_offset+5*icon_dy}} + elseif icon_offset>0 and icon_offset+5*icon_dy<0 or icon_offset<0 and icon_offset+5*icon_dy>0 then + {{0, 0},{0, icon_offset+5*icon_dy},{100, icon_offset+5*icon_dy}} + else {{0, icon_offset+5*icon_dy},{100, icon_offset+5*icon_dy}}, + color={0,0,0}, + pattern=if icon_pipe==Buildings.Templates.Components.Types.IconPipe.Supply + then LinePattern.Solid else LinePattern.Dash, thickness=5)}), Diagram( coordinateSystem(preserveAspectRatio=false)), diff --git a/Buildings/Templates/HeatingPlants/HotWater/BoilerPlant.mo b/Buildings/Templates/HeatingPlants/HotWater/BoilerPlant.mo index ceacf15d110..c6238f5ebfb 100644 --- a/Buildings/Templates/HeatingPlants/HotWater/BoilerPlant.mo +++ b/Buildings/Templates/HeatingPlants/HotWater/BoilerPlant.mo @@ -59,7 +59,8 @@ model BoilerPlant "Boiler plant" final energyDynamics=energyDynamics, final tau=tau, final allowFlowReversal=allowFlowReversal, - icon_extend=-300, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply, + icon_xinl=-400, icon_dy=-300) if have_boiCon "Primary HW pumps inlet manifold" annotation (Placement(transformation(extent={{-110,-150},{-90,-130}}))); @@ -81,6 +82,7 @@ model BoilerPlant "Boiler plant" final energyDynamics=energyDynamics, final tau=tau, final allowFlowReversal=allowFlowReversal, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply, icon_dy=-300) if have_boiCon "Primary HW pumps outlet manifold" annotation (Placement(transformation(extent={{-70,-150},{-50,-130}}))); @@ -252,7 +254,8 @@ model BoilerPlant "Boiler plant" final energyDynamics=energyDynamics, final tau=tau, final allowFlowReversal=allowFlowReversal, - icon_extend=-300, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply, + icon_xinl=-400, icon_dy=-300) if have_boiNon "Primary HW pumps inlet manifold" annotation (Placement(transformation(extent={{-110,-10},{-90,10}}))); @@ -274,6 +277,7 @@ model BoilerPlant "Boiler plant" final energyDynamics=energyDynamics, final tau=tau, final allowFlowReversal=allowFlowReversal, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply, icon_dy=-300) if have_boiNon "Primary HW pumps outlet manifold" annotation (Placement(transformation(extent={{-70,-10},{-50,10}}))); @@ -419,6 +423,7 @@ model BoilerPlant "Boiler plant" final m_flow_nominal=mHeaWat_flow_nominal, final energyDynamics=energyDynamics, final allowFlowReversal=allowFlowReversal, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply, icon_dy=-300) if have_pumHeaWatSec "Secondary HW pumps inlet manifold" @@ -442,6 +447,7 @@ model BoilerPlant "Boiler plant" final energyDynamics=energyDynamics, final tau=tau, final allowFlowReversal=allowFlowReversal, + icon_pipe=Buildings.Templates.Components.Types.IconPipe.Supply, icon_dy=-300) if have_pumHeaWatSec "Secondary HW pumps outlet manifold" diff --git a/Buildings/Templates/HeatingPlants/HotWater/Interfaces/PartialBoilerPlant.mo b/Buildings/Templates/HeatingPlants/HotWater/Interfaces/PartialBoilerPlant.mo index 7307339183b..60d7015b8b1 100644 --- a/Buildings/Templates/HeatingPlants/HotWater/Interfaces/PartialBoilerPlant.mo +++ b/Buildings/Templates/HeatingPlants/HotWater/Interfaces/PartialBoilerPlant.mo @@ -461,7 +461,7 @@ initial equation fillColor={255,255,255})}), Diagram(coordinateSystem( preserveAspectRatio=false, - extent={{-300,-280},{300,280}})), + extent={{-300,-300},{300,300}})), Documentation(revisions="