diff --git a/IDEAS/Buildings/Components/BoundaryWall.mo b/IDEAS/Buildings/Components/BoundaryWall.mo index e062482bc..0cccb8adb 100644 --- a/IDEAS/Buildings/Components/BoundaryWall.mo +++ b/IDEAS/Buildings/Components/BoundaryWall.mo @@ -40,18 +40,24 @@ model BoundaryWall "Opaque wall with optional prescribed heat flow rate or tempe "Constant block for temperature" annotation (Placement(transformation(extent={{-110,32},{-100,42}}))); - Fluid.Sources.MassFlowSource_T boundary1( + IDEAS.Fluid.Sources.MassFlowSource_T boundary1( redeclare package Medium = Medium, nPorts=1, final m_flow=1e-10) if sim.interZonalAirFlowType <> IDEAS.BoundaryConditions.Types.InterZonalAirFlow.None annotation (Placement(transformation(extent={{-28,-40},{-8,-20}}))); - Fluid.Sources.MassFlowSource_T boundary2( + IDEAS.Fluid.Sources.MassFlowSource_T boundary2( redeclare package Medium = Medium, nPorts=1, final m_flow=1e-10) if sim.interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts annotation (Placement(transformation(extent={{-28,-76},{-8,-56}}))); + IDEAS.Fluid.Sources.MassFlowSource_T boundary3( + redeclare package Medium = Medium, + m_flow = 1e-10, + nPorts = 1) + if sim.interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts annotation( + Placement(transformation(origin = {0, -14}, extent = {{-28, -76}, {-8, -56}}))); protected final parameter Real U_value=1/(1/8 + sum(constructionType.mats.R) + 1/8) "Wall U-value"; @@ -107,50 +113,12 @@ equation {42,-30},{42,19.91},{56.09,19.91}}, color={0,127,255})); connect(boundary2.ports[1], propsBusInt.port_2) annotation (Line(points={{-8,-66}, {44,-66},{44,19.91},{56.09,19.91}}, color={0,127,255})); - annotation ( - Diagram(coordinateSystem(preserveAspectRatio=false,extent={{-100,-100},{100, - 100}})), - Icon(coordinateSystem(preserveAspectRatio=false,extent={{-60,-100},{60,100}}), - graphics={ - Rectangle( - extent={{-50,-90},{50,-70}}, - pattern=LinePattern.None, - lineColor={0,0,0}, - fillColor={255,255,255}, - fillPattern=FillPattern.Solid), - Rectangle( - extent={{-50,80},{50,100}}, - pattern=LinePattern.None, - lineColor={0,0,0}, - fillColor={255,255,255}, - fillPattern=FillPattern.Solid), - Line( - points={{-50,80},{50,80}}, - color={175,175,175}), - Line( - points={{-50,-70},{50,-70}}, - color={175,175,175}), - Line( - points={{-50,-90},{50,-90}}, - color={175,175,175}), - Line( - points={{-50,100},{50,100}}, - color={175,175,175}), - Rectangle( - extent={{-10,80},{10,-70}}, - fillColor={175,175,175}, - fillPattern=FillPattern.Backward, - pattern=LinePattern.None), - Line( - points={{-10,80},{-10,-70}}, - smooth=Smooth.None, - color={175,175,175}), - Line( - points={{10,80},{10,-70}}, - smooth=Smooth.None, - color={0,0,0}, - thickness=0.5)}), - Documentation(info=" + connect(boundary3.ports[1], propsBusInt.port_3) annotation( + Line(points = {{-8, -80}, {56, -80}, {56, 20}}, color = {0, 127, 255})); + annotation( + Diagram(coordinateSystem(preserveAspectRatio = false, extent = {{-100, -100}, {100, 100}})), + Icon(coordinateSystem(preserveAspectRatio = false, extent = {{-60, -100}, {60, 100}}), graphics = {Rectangle(fillColor = {255, 255, 255}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-50, -90}, {50, -70}}), Rectangle(fillColor = {255, 255, 255}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-50, 80}, {50, 100}}), Line(points = {{-50, 80}, {50, 80}}, color = {175, 175, 175}), Line(points = {{-50, -70}, {50, -70}}, color = {175, 175, 175}), Line(points = {{-50, -90}, {50, -90}}, color = {175, 175, 175}), Line(points = {{-50, 100}, {50, 100}}, color = {175, 175, 175}), Rectangle(fillColor = {175, 175, 175}, pattern = LinePattern.None, fillPattern = FillPattern.Backward, extent = {{-10, 80}, {10, -70}}), Line(points = {{-10, 80}, {-10, -70}}, color = {175, 175, 175}), Line(points = {{10, 80}, {10, -70}}, thickness = 0.5)}), + Documentation(info = "

This is a wall model that should be used to simulate a wall between a zone and a prescribed temperature or prescribed heat flow rate boundary condition. @@ -171,9 +139,13 @@ to specify a fixed boundary condition temperature. It is not allowed to enabled multiple of these three options. If all are disabled then an adiabatic boundary (Q_flow=0) is used.

-", revisions=" +", revisions = " ")); -end BoundaryWall; +end BoundaryWall; \ No newline at end of file diff --git a/IDEAS/Buildings/Components/Interfaces/DummyConnection.mo b/IDEAS/Buildings/Components/Interfaces/DummyConnection.mo index d53f49a3a..96152061e 100644 --- a/IDEAS/Buildings/Components/Interfaces/DummyConnection.mo +++ b/IDEAS/Buildings/Components/Interfaces/DummyConnection.mo @@ -59,7 +59,7 @@ model DummyConnection "Source generator/sink for propsbus" annotation (Placement(transformation(extent={{-80,-130},{-60,-110}}))); Modelica.Blocks.Sources.Constant hZone(k = 0.88) if isZone "Zone height" annotation( Placement(visible = true, transformation(origin = {-42, -16}, extent = {{0, 80}, {20, 100}}, rotation = 0))); - IDEAS.Fluid.Sources.Boundary_pT bou(redeclare package Medium= IDEAS.Media.Air, nPorts = 2) if isZone annotation( + IDEAS.Fluid.Sources.Boundary_pT bou(redeclare package Medium= IDEAS.Media.Air, nPorts = 3) if isZone annotation( Placement(visible = true, transformation(origin = {-30, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); equation connect(prescribedHeatFlow[1].port, zoneBus.surfCon) annotation (Line( @@ -141,6 +141,8 @@ equation Line(points = {{-20, 74}, {100, 74}, {100, -2}}, color = {0, 0, 127})); connect(hZone.y, zoneBus.hfloor) annotation( Line(points = {{-20, 74}, {100, 74}, {100, -2}}, color = {0, 0, 127})); + connect(bou.ports[3], zoneBus.port_3) annotation( + Line(points = {{-20, 40}, {100, 40}, {100, -2}}, color = {255, 204, 51})); connect(bou.ports[2], zoneBus.port_2) annotation( Line(points = {{-20, 40}, {100, 40}, {100, -2}}, color = {255, 204, 51})); connect(bou.ports[1], zoneBus.port_1) annotation( diff --git a/IDEAS/Buildings/Components/Interfaces/PartialZone.mo b/IDEAS/Buildings/Components/Interfaces/PartialZone.mo index 6d9cd0e99..e36da8b25 100644 --- a/IDEAS/Buildings/Components/Interfaces/PartialZone.mo +++ b/IDEAS/Buildings/Components/Interfaces/PartialZone.mo @@ -198,7 +198,7 @@ protected parameter Integer n_ports_interzonal= if sim.interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.None then 0 elseif sim.interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.OnePort then nSurf - else nSurf*2 + else nSurf*3 "Number of fluid ports for interzonal air flow modelling" annotation(Evaluate=true); IDEAS.Buildings.Components.Interfaces.ZoneBus[nSurf] propsBusInt( @@ -500,6 +500,9 @@ end for; if sim.interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts then connect(airModel.ports[interzonalAirFlow.nPorts + 1 + nSurf:interzonalAirFlow.nPorts + nSurf*2], propsBusInt[1:nSurf].port_2) annotation (Line(points={{-30, 40},{-30,39.9},{-80.1,39.9}}, color={0,127,255})); + connect(airModel.ports[interzonalAirFlow.nPorts + 1 + nSurf*2:interzonalAirFlow.nPorts + nSurf*3], propsBusInt[1:nSurf].port_3) annotation (Line(points={{-30, + 40},{-30,39.9},{-80.1,39.9}}, color={0,127,255})); + end if; connect(setq50.Area, propsBusInt.area) annotation (Line(points={{-60.6,-88.6}, {-60.6,-89.3},{-80.1,-89.3},{-80.1,39.9}}, color={0,0,127})); @@ -548,6 +551,10 @@ end for; ", revisions="