diff --git a/IDEAS/Airflow/Multizone/BaseClasses/DoorDiscretized.mo b/IDEAS/Airflow/Multizone/BaseClasses/DoorDiscretized.mo index 0d7dfae653..9256996f82 100644 --- a/IDEAS/Airflow/Multizone/BaseClasses/DoorDiscretized.mo +++ b/IDEAS/Airflow/Multizone/BaseClasses/DoorDiscretized.mo @@ -10,9 +10,9 @@ partial model DoorDiscretized displayUnit="Pa") = 0.01 "Pressure difference where laminar and turbulent flow relation coincide. Recommended: 0.01"; - Modelica.Units.SI.PressureDifference dpAB[nCom](each nominal=1) + Modelica.Units.SI.PressureDifference dpAB[nCom](each nominal=((1/3600)/(A*sqrt(2/rho_default)))^(1/m)) "Pressure difference between compartments"; - Modelica.Units.SI.Velocity v[nCom](each nominal=0.01) + Modelica.Units.SI.Velocity v[nCom](each nominal=0.001) "Velocity in compartment from A to B"; Modelica.Units.SI.Velocity vTop "Velocity at top of opening from A to B"; Modelica.Units.SI.Velocity vBot "Velocity at bottom of opening from A to B"; diff --git a/IDEAS/Airflow/Multizone/CrackOrOperableDoor.mo b/IDEAS/Airflow/Multizone/CrackOrOperableDoor.mo index 07d1e2ce5e..041413d556 100644 --- a/IDEAS/Airflow/Multizone/CrackOrOperableDoor.mo +++ b/IDEAS/Airflow/Multizone/CrackOrOperableDoor.mo @@ -69,10 +69,11 @@ model CrackOrOperableDoor final parameter Boolean openDoorOnePort = useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.OnePort "Sets whether a door is open or closed in one port configuration" ; - parameter Modelica.Units.SI.PressureDifference dp_turbulent(min=0,displayUnit="Pa") = - if useDoor then (MFtrans/(rho_default*(CDOpe * hOpe*wOpe * sqrt(2/rho_default))))^(1/mOpe) else 0.01 - "Pressure difference where laminar and turbulent flow relation coincide for large cavities" - annotation (Dialog(tab="Advanced",group="Model regularisation", enable=useDoor)); + parameter Modelica.Units.SI.PressureDifference dp_turbulent(min=0,displayUnit="Pa") = + 0.01 + "Pressure difference where laminar and turbulent flow relation coincide for large cavities" + annotation (Dialog(tab="Advanced",group="Model regularisation", enable=useDoor)); + //dp_turbulent(min=0,displayUnit="Pa") = if useDoor then max(10e-10, (MFtrans/(rho_default*(CDOpe * hOpe*wOpe * sqrt(2/rho_default))))^(1/mOpe)) else 0.01 parameter Modelica.Units.SI.MassFlowRate MFtrans=(hOpe*wOpe)*VItrans*REtrans/DOpe "Mass flow rate used for reguralisation" annotation (Dialog(tab="Advanced",group="Model regularisation", enable=useDoor)); diff --git a/IDEAS/Buildings/Components/Shading/Box.mo b/IDEAS/Buildings/Components/Shading/Box.mo index 7b79e8503f..dedcac2b43 100644 --- a/IDEAS/Buildings/Components/Shading/Box.mo +++ b/IDEAS/Buildings/Components/Shading/Box.mo @@ -159,9 +159,9 @@ equation connect(TDryBul, sideFins.TDryBul) annotation (Line(points={{40,-10},{3.5,-10}, {3.5,26.6667}}, color={0,0,127})); connect(m_flow, sideFins.m_flow) annotation( - Line(points = {{40, -90}, {2, -90}, {2, 20}}, color = {0, 0, 127})); + Line(points={{40,-90},{2.5,-90},{2.5,20}}, color = {0, 0, 127})); connect(m_flow, overhang.m_flow) annotation( - Line(points = {{40, -90}, {4, -90}, {4, 60}}, color = {0, 0, 127})); + Line(points={{40,-90},{4.5,-90},{4.5,60}}, color = {0, 0, 127})); annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100, -100},{100,200}})), Documentation(info="
@@ -199,4 +199,4 @@ Cleaned up implementation and documentation. "), Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100, 200}}))); -end Box; \ No newline at end of file +end Box; diff --git a/IDEAS/Buildings/Components/Shading/BuildingShade.mo b/IDEAS/Buildings/Components/Shading/BuildingShade.mo index 45cb396064..e7ee3590d6 100644 --- a/IDEAS/Buildings/Components/Shading/BuildingShade.mo +++ b/IDEAS/Buildings/Components/Shading/BuildingShade.mo @@ -2,7 +2,7 @@ within IDEAS.Buildings.Components.Shading; model BuildingShade "Component for modeling shade cast by distant objects such as buildings and treelines" extends IDEAS.Buildings.Components.Shading.Interfaces.PartialShadingDevice( - final controlled=false); + use_m_flow=false, final controlled=false); parameter Modelica.Units.SI.Length L(min=0) "Distance to object perpendicular to window" @@ -10,10 +10,12 @@ model BuildingShade parameter Modelica.Units.SI.Length dh "Height difference between top of object and top of window glazing" annotation (Dialog(group="Dimensions (see illustration in documentation)")); - parameter Modelica.Units.SI.Length hWin(min=0) = 1 + parameter Modelica.Units.SI.Length hWin(min=0)=1 "Window height: distance between top and bottom of window glazing" annotation (Dialog(group="Dimensions (see illustration in documentation)")); - parameter Real fraSha(min=0,max=1) = 1 + parameter Real fraSha( + max=1, + min=0)=1 "Fraction of the light that is shaded, e.g. smaller than 1 for shading cast by tree lines."; final parameter Real fraSunDifSky(final min=0,final max=1, final unit="1") = 1-vieAngObj/(Modelica.Constants.pi/2) "Fraction of window area exposed to diffuse sun light"; @@ -23,6 +25,11 @@ model BuildingShade // Computation assumes that window base is at ground level. // Viewing angle computed from center of glazing. + Modelica.Blocks.Sources.RealExpression HShaDirexpr(y=fraSunDir*HDirTil) + annotation (Placement(transformation(extent={{-30,40},{-10,60}}))); + Modelica.Blocks.Sources.RealExpression HShaSkyDifexpr(y=fraSunDifSky* + HSkyDifTil) + annotation (Placement(transformation(extent={{-30,20},{-10,40}}))); protected parameter Modelica.Units.SI.Angle vieAngObj=atan((hWin/2 + dh)/L) "Viewing angle of opposite object"; @@ -57,13 +64,16 @@ equation fraSunDir=1; end if; - HShaDirTil=fraSunDir*HDirTil; - HShaSkyDifTil = fraSunDifSky*HSkyDifTil; + connect(angInc, iAngInc) annotation (Line(points={{-60,-50},{-14,-50},{-14,-50}, {40,-50}}, color={0,0,127})); - connect(HGroDifTil, HShaGroDifTil) - annotation (Line(points={{-60,10},{40,10},{40,10}}, color={0,0,127})); + connect(HShaDirexpr.y, HShaDir.u) + annotation (Line(points={{-9,50},{-1.2,50}}, color={0,0,127})); + connect(HShaSkyDifexpr.y, HShaSkyDif.u) + annotation (Line(points={{-9,30},{-1.2,30}}, color={0,0,127})); + connect(HGroDifTil, HShaSkyGro.u) + annotation (Line(points={{-60,10},{-1.2,10}}, color={0,0,127})); annotation ( Icon(coordinateSystem(extent = {{-100, -100}, {100, 200}})), Documentation(info=" diff --git a/IDEAS/Buildings/Components/Shading/HorizontalFins.mo b/IDEAS/Buildings/Components/Shading/HorizontalFins.mo index b85c259245..cda7a17eff 100644 --- a/IDEAS/Buildings/Components/Shading/HorizontalFins.mo +++ b/IDEAS/Buildings/Components/Shading/HorizontalFins.mo @@ -44,6 +44,12 @@ protected Modelica.Units.SI.Length dy3Dif=max(0, min(dzDif*tan(angAltDif), s)); Modelica.Units.SI.Length dzDif=dx/cos(angAltDif); +public + Modelica.Blocks.Sources.RealExpression HShaDirexpr(y=(1 - shaFrac)*HDirTil) + annotation (Placement(transformation(extent={{-32,40},{-12,60}}))); + Modelica.Blocks.Sources.RealExpression HShaSkyDifexpr(y=(1 - shaFracDif)* + HSkyDifTil) + annotation (Placement(transformation(extent={{-32,20},{-12,40}}))); initial equation if not use_betaInput then assert(beta >= 0 and beta < acos(t/s), "In " + getInstanceName() + ": Beta must be within the feasible range."); @@ -84,12 +90,16 @@ equation shaFracDif = disp_internal*(1 - (dy1-min(dy1,dy3Dif))/s); end if; - HShaDirTil = (1-shaFrac)*HDirTil; - HShaSkyDifTil = (1-shaFracDif)*HSkyDifTil; angInc = iAngInc; - connect(HGroDifTil, HShaGroDifTil); + + connect(HGroDifTil, HShaSkyGro.u) + annotation (Line(points={{-60,10},{-1.2,10}}, color={0,0,127})); + connect(HShaDirexpr.y, HShaDir.u) + annotation (Line(points={{-11,50},{-1.2,50}}, color={0,0,127})); + connect(HShaSkyDifexpr.y, HShaSkyDif.u) + annotation (Line(points={{-11,30},{-1.2,30}}, color={0,0,127})); annotation ( Icon(coordinateSystem(extent = {{-100, -100}, {100, 200}})), Documentation(info=" diff --git a/IDEAS/Buildings/Components/Shading/Interfaces/DoubleShading.mo b/IDEAS/Buildings/Components/Shading/Interfaces/DoubleShading.mo index 2fff4d0d47..8941e1110b 100644 --- a/IDEAS/Buildings/Components/Shading/Interfaces/DoubleShading.mo +++ b/IDEAS/Buildings/Components/Shading/Interfaces/DoubleShading.mo @@ -3,7 +3,7 @@ model DoubleShading "Two shading components in series" extends PartialShading( final controlled=stateShading1.controlled or stateShading2.controlled); - replaceable PartialShading stateShading1 + replaceable PartialShading stateShading1(use_m_flow=use_m_flow) constrainedby PartialShading( haveFrame=haveFrame, A_glazing=A_glazing, @@ -19,7 +19,7 @@ model DoubleShading "Two shading components in series" azi=azi) "First shading device" annotation (Placement(transformation(extent={{-28,-18},{-18,2}}))); - replaceable PartialShading stateShading2 + replaceable PartialShading stateShading2(use_m_flow=use_m_flow) constrainedby PartialShading( haveFrame=haveFrame, A_glazing=A_glazing, @@ -109,16 +109,16 @@ equation connect(stateShading1.TDryBul, TDryBul) annotation ( Line(points={{-20.5,-11.3333},{40,-11.3333},{40,-10}}, color = {0, 0, 127})); - connect(Te, stateShading1.Te) annotation (Line(points={{-60,130},{-6,130},{-6, + connect(Te, stateShading1.Te) annotation (Line(points={{-60,130},{-8,130},{-8, -2},{-25.5,-2}},color={0,0,127})); connect(hForcedConExt, stateShading1.hForcedConExt) annotation (Line(points={{-60,110}, {-8,110},{-8,-3.33333},{-25.5,-3.33333}}, color={0,0,127})); connect(TEnv, stateShading1.TEnv) annotation (Line(points={{-60,90},{-10,90}, - {-10,-4.66667},{-25.5,-4.66667}},color={0,0,127})); + {-10,-4.66667},{-25.5,-4.66667}},color={0,0,127})); connect(stateShading2.m_flow, m_flow) annotation( - Line(points = {{2, -18}, {40, -18}, {40, -90}}, color = {0, 0, 127})); + Line(points={{2.5,-18},{40,-18},{40,-90}}, color = {0, 0, 127})); connect(stateShading1.m_flow, m_flow) annotation( - Line(points = {{-22, -18}, {40, -18}, {40, -90}}, color = {0, 0, 127})); + Line(points={{-21.5,-18},{40,-18},{40,-90}}, color = {0, 0, 127})); annotation (Diagram(coordinateSystem(preserveAspectRatio = false, extent = {{-100, -100}, {100, 200}})), Documentation(revisions="
This model can be extended or used if two shading models need to be combined.
"), Icon(coordinateSystem(extent = {{-100, -100}, {100, 200}}, preserveAspectRatio = false))); -end DoubleShading; \ No newline at end of file +end DoubleShading; diff --git a/IDEAS/Buildings/Components/Shading/Interfaces/PartialShading.mo b/IDEAS/Buildings/Components/Shading/Interfaces/PartialShading.mo index 01c3bfde21..8577d24078 100644 --- a/IDEAS/Buildings/Components/Shading/Interfaces/PartialShading.mo +++ b/IDEAS/Buildings/Components/Shading/Interfaces/PartialShading.mo @@ -26,6 +26,7 @@ partial model PartialShading "Window shading partial" annotation (Dialog(group="Window properties")); parameter Boolean haveBoundaryPorts = true "Include ports for setting boundary conditions"; + parameter Boolean use_m_flow = false "conditonally remove m_flow input connector"; parameter Boolean haveFrame = A_frame*epsLw_frame > 0 "Frame enabled"; parameter Modelica.Units.SI.CoefficientOfHeatTransfer hSha = 12 "Equivalent thermal conductance of the shading device"; @@ -97,7 +98,8 @@ partial model PartialShading "Window shading partial" Placement(visible = true, transformation(extent = {{-80, 90}, {-40, 130}}, rotation = 0), iconTransformation(origin = {-50, 120}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput TDryBul if haveBoundaryPorts "Exterior surface air temperature" annotation ( Placement(visible = true, transformation(extent = {{20, -30}, {60, 10}}, rotation = 0), iconTransformation(extent = {{40, -10}, {60, 10}}, rotation = 0))); - Modelica.Blocks.Interfaces.RealInput m_flow annotation( + Modelica.Blocks.Interfaces.RealInput m_flow if use_m_flow + annotation( Placement(visible = true, transformation(origin = {-20, 0}, extent = {{80, -110}, {40, -70}}, rotation = 0), iconTransformation(origin = {30, -100}, extent = {{10, -10}, {-10, 10}}, rotation = -90))); protected Modelica.Blocks.Interfaces.RealInput Te_internal(unit="K"); diff --git a/IDEAS/Buildings/Components/Shading/Interfaces/PartialShadingDevice.mo b/IDEAS/Buildings/Components/Shading/Interfaces/PartialShadingDevice.mo index d3944d2afa..4a426597a7 100644 --- a/IDEAS/Buildings/Components/Shading/Interfaces/PartialShadingDevice.mo +++ b/IDEAS/Buildings/Components/Shading/Interfaces/PartialShadingDevice.mo @@ -30,13 +30,21 @@ partial model PartialShadingDevice linearise = linCon) if haveBoundaryPorts annotation ( Placement(visible = true, transformation(extent = {{12, 104}, {-8, 124}}, rotation = 0))); Modelica.Blocks.Math.Add solDif(k1 = 1, k2 = 1) if haveBoundaryPorts and haveFrame annotation ( - Placement(visible = true, transformation(origin = {90, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Placement(visible = true, transformation(origin={50,90}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Sources.RealExpression TeExpr(y=Te_internal) "Expression for Te" annotation (Placement(transformation(extent={{-68,178},{-48,198}}))); Modelica.Blocks.Sources.RealExpression TEnvExpr(y=TEnv_internal) "Expression for TEnv" annotation (Placement(transformation(extent={{-68,160},{-48,180}}))); + Modelica.Blocks.Sources.RealExpression TDryBulExp(y=TDryBul_internal) + annotation (Placement(transformation(extent={{-20,-20},{0,0}}))); + Modelica.Blocks.Routing.RealPassThrough HShaDir + annotation (Placement(transformation(extent={{0,44},{12,56}}))); + Modelica.Blocks.Routing.RealPassThrough HShaSkyDif + annotation (Placement(transformation(extent={{0,24},{12,36}}))); + Modelica.Blocks.Routing.RealPassThrough HShaSkyGro + annotation (Placement(transformation(extent={{0,4},{12,16}}))); protected Modelica.Blocks.Interfaces.RealInput TDryBul_internal = Te_internal "Internal variable to avoid assigning a value to a non-input in the model extends statement"; @@ -48,7 +56,6 @@ equation TEnv_internal = 273.15; end if; - connect(TDryBul,TDryBul_internal); connect(skyRadFra.port_a, port_frame) annotation ( Line(points = {{10, 192}, {55, 192}, {55, 160}, {100, 160}}, color = {191, 0, 0})); connect(eConFra.port_a, port_frame) annotation ( @@ -57,14 +64,9 @@ equation Line(points = {{-12, 172}, {-36, 172}, {-36, 110}, {-60, 110}}, color = {0, 0, 127})); connect(solAbs.port_a, port_frame) annotation ( Line(points = {{10, 160}, {100, 160}}, color = {191, 0, 0})); - connect(solDif.u2, HShaGroDifTil) annotation ( - Line(points = {{78, 24}, {40, 24}, {40, 10}}, color = {0, 0, 127})); - connect(solDif.u1, HShaSkyDifTil) annotation ( - Line(points = {{78, 36}, {40, 36}, {40, 30}}, color = {0, 0, 127})); connect(solDif.y, solAbs.solDif) annotation ( - Line(points = {{101, 30}, {108, 30}, {108, 142}, {-10, 142}, {-10, 162}}, color = {0, 0, 127})); - connect(solAbs.solDir, HShaDirTil) annotation ( - Line(points = {{-10, 166}, {-14, 166}, {-14, 90}, {40, 90}, {40, 50}}, color = {0, 0, 127})); + Line(points={{61,90},{64,90},{64,106},{16,106},{16,100},{-18,100},{-18,142}, + {-20,142},{-20,162},{-10,162}}, color = {0, 0, 127})); connect(eCon.hForcedConExt, hForcedConExt) annotation ( Line(points = {{-10, 110}, {-60, 110}}, color = {0, 0, 127})); connect(eCon.port_a, port_glazing) annotation ( @@ -79,6 +81,21 @@ equation {-24,170},{-47,170}}, color={0,0,127})); connect(skyRadFra.Tenv, TEnvExpr.y) annotation (Line(points={{-10,192},{-24, 192},{-24,170},{-47,170}}, color={0,0,127})); + connect(TDryBulExp.y, TDryBul) + annotation (Line(points={{1,-10},{40,-10}}, color={0,0,127})); + connect(HShaDir.y, HShaDirTil) + annotation (Line(points={{12.6,50},{40,50}}, color={0,0,127})); + connect(HShaDir.y, solAbs.solDir) annotation (Line(points={{12.6,50},{16,50}, + {16,98},{-20,98},{-20,112},{-22,112},{-22,166},{-10,166}}, color={0,0, + 127})); + connect(HShaSkyDif.y, HShaSkyDifTil) + annotation (Line(points={{12.6,30},{40,30}}, color={0,0,127})); + connect(HShaSkyGro.y, HShaGroDifTil) + annotation (Line(points={{12.6,10},{40,10}}, color={0,0,127})); + connect(HShaSkyDif.y, solDif.u1) annotation (Line(points={{12.6,30},{16,30},{ + 16,96},{38,96}}, color={0,0,127})); + connect(HShaSkyGro.y, solDif.u2) annotation (Line(points={{12.6,10},{16,10},{ + 16,84},{38,84}}, color={0,0,127})); annotation ( Documentation(revisions="Shading model of an overhang above a window where diff --git a/IDEAS/Buildings/Components/Shading/Screen.mo b/IDEAS/Buildings/Components/Shading/Screen.mo index cfa84a2adf..cb9f8f2d71 100644 --- a/IDEAS/Buildings/Components/Shading/Screen.mo +++ b/IDEAS/Buildings/Components/Shading/Screen.mo @@ -1,6 +1,7 @@ within IDEAS.Buildings.Components.Shading; model Screen "Controllable exterior screen" extends IDEAS.Buildings.Components.Shading.Interfaces.PartialShadingDevice( + use_m_flow=true, TSha = TShaScreen, TDryBul_internal = Ctrl_internal*TSha + (1-Ctrl_internal)*Te_internal, epsSw_shading = 1 - shaCorr - refSw_shading, @@ -8,28 +9,46 @@ model Screen "Controllable exterior screen" TEnvExpr(y = TEnv_screen), TeExpr(y = TDryBul_internal)); - parameter Real shaCorr(min=0, max=1) = 0.24 + parameter Real shaCorr( + max=1, + min=0)=0.24 "Shortwave transmittance of the screen"; - parameter Real refSw_shading(min=0, max=1) = 0 + parameter Real refSw_shading( + max=1, + min=0)=0 "Shortwave reflectance of the screen"; - + protected constant Modelica.Units.SI.SpecificHeatCapacity cp_air = 1004 "Specific heat capacity"; Modelica.Units.SI.Temperature TEnv_screen = Ctrl_internal*TSha + (1-Ctrl_internal)*TEnv_internal "Assuming the environment temperature is a weighted average of the shading device temperature and the ambient temperature"; // This assumes that the window rejects 1-g_glazing of the incoming solar irradation is entirely converted into sensible heat - Modelica.Units.SI.Temperature TShaScreen = Te_internal + (HSha*(1-g_glazing) + (H - HSha) * epsSw_shading) /(hSha + abs(m_flow)*cp_air) +public + Modelica.Blocks.Sources.RealExpression HShaDirexpr(y=HDirTil*((1 - + Ctrl_internal) + Ctrl_internal*shaCorr)) + annotation (Placement(transformation(extent={{-30,38},{-10,58}}))); + Modelica.Blocks.Sources.RealExpression HShaSkyDifexpr(y=HSkyDifTil*((1 - + Ctrl_internal) + Ctrl_internal*shaCorr)) + annotation (Placement(transformation(extent={{-30,18},{-10,38}}))); + Modelica.Blocks.Sources.RealExpression HShaGroDifexpr(y=HGroDifTil*((1 - + Ctrl_internal) + Ctrl_internal*shaCorr)) + annotation (Placement(transformation(extent={{-30,-2},{-10,18}}))); +protected + Modelica.Units.SI.Temperature TShaScreen = Te_internal + (HSha*(1-g_glazing) + (H - HSha) * epsSw_shading) /(hSha + (if use_m_flow then abs(m_flow)*cp_air else 0)) "Modified shading device heat balance"; initial equation assert( abs(shaCorr + refSw_shading + epsSw_shading - 1) < 1e-3, "In " + getInstanceName() + ": The sum of the screen transmittance 'shaCorr', reflectance 'refSw_shading' and absorptance 'epsSw_shading' does not equal one. This is non-physical."); equation - HShaDirTil = HDirTil*((1 - Ctrl_internal) + Ctrl_internal*shaCorr); - HShaSkyDifTil = HSkyDifTil*((1 - Ctrl_internal) + Ctrl_internal*shaCorr); - HShaGroDifTil = HGroDifTil*((1 - Ctrl_internal) + Ctrl_internal*shaCorr); connect(angInc, iAngInc) annotation (Line(points={{-60,-50},{-14,-50},{-14, -50},{40,-50}}, color={0,0,127})); + connect(HShaDirexpr.y, HShaDir.u) + annotation (Line(points={{-9,48},{-8,50},{-1.2,50}}, color={0,0,127})); + connect(HShaSkyDifexpr.y, HShaSkyDif.u) + annotation (Line(points={{-9,28},{-8,30},{-1.2,30}}, color={0,0,127})); + connect(HShaGroDifexpr.y, HShaSkyGro.u) + annotation (Line(points={{-9,8},{-8,10},{-1.2,10}}, color={0,0,127})); annotation ( Icon(coordinateSystem(extent = {{-100, -100}, {100, 200}})), Documentation(info=" diff --git a/IDEAS/Buildings/Components/Shading/Shading.mo b/IDEAS/Buildings/Components/Shading/Shading.mo index 8ce4bdfd3b..a8990f2e13 100644 --- a/IDEAS/Buildings/Components/Shading/Shading.mo +++ b/IDEAS/Buildings/Components/Shading/Shading.mo @@ -701,28 +701,28 @@ equation connect(boxAndScreen.TDryBul, TDryBul) annotation (Line(points={{-8.5, -55.3333},{40,-55.3333},{40,-10}}, color={0,0,127})); - - + + connect(m_flow, boxAndScreen.m_flow) annotation( - Line(points = {{40, -90}, {-12, -90}, {-12, -62}, {-10, -62}}, color = {0, 0, 127})); + Line(points={{40,-90},{-12,-90},{-12,-62},{-9.5,-62}}, color = {0, 0, 127})); connect(m_flow, none.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, -40}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,-40}}, color = {0, 0, 127})); connect(m_flow, sideFins.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, -20}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,-20}}, color = {0, 0, 127})); connect(m_flow, screen.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, 0}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,0}}, color = {0, 0, 127})); connect(m_flow, overhangAndScreen.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, 20}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,20}}, color = {0, 0, 127})); connect(m_flow, overhang.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, 40}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,40}}, color = {0, 0, 127})); connect(m_flow, buildingShade.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, 60}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,60}}, color = {0, 0, 127})); connect(m_flow, box.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, 80}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,80}}, color = {0, 0, 127})); connect(m_flow, horizontalFins.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, 100}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,100}}, color = {0, 0, 127})); connect(m_flow, overhangAndHorizontalFins.m_flow) annotation( - Line(points = {{40, -90}, {-10, -90}, {-10, 120}}, color = {0, 0, 127})); + Line(points={{40,-90},{-9.5,-90},{-9.5,120}}, color = {0, 0, 127})); annotation (Documentation(revisions="