Name | Description |
---|---|
ControlSignals | Generate ramp signal |
RoomLeakage | Room leakage model |
Suite | Model of a suite consisting of five rooms of the MIT system model |
Type | Name | Default | Description |
---|---|---|---|
Integer | NSig | 4 | Number of signals |
Real | h[NSig] | {0.7*22.333,0.7*8,-20/90,-30... | Height of ramps |
Real | dur[NSig] | 0.25*{1,1,1,1} | Durations of ramp |
Real | y0[NSig] | {0.3*22.333,0.3*8,55/90,55/90} | Offset of output signal |
Time | staTim[NSig] | 0.25*{0,0,1,2} | Output = offset for time < startTime [s] |
Type | Name | Description |
---|---|---|
output RealOutput | ySupFan | Fan control signal |
output RealOutput | yOSA | Outside air mixing box control signal |
output RealOutput | yVAV | VAV damper control signal |
output RealOutput | yRetFan | Fan control signal |
block ControlSignals "Generate ramp signal" parameter Integer NSig=4 "Number of signals"; parameter Real h[NSig]={0.7*22.333, 0.7*8, -20/90, -30/90} "Height of ramps"; parameter Real dur[NSig](min=Modelica.Constants.small) = 0.25 *{1, 1, 1, 1} "Durations of ramp"; parameter Real y0[NSig]={0.3*22.333, 0.3*8, 55/90, 55/90} "Offset of output signal"; parameter Modelica.SIunits.Time staTim[NSig]=0.25*{0, 0, 1, 2} "Output = offset for time < startTime"; output Real y[NSig] "Control signal"; extends Modelica.Blocks.Interfaces.BlockIcon; Modelica.Blocks.Interfaces.RealOutput ySupFan "Fan control signal"; Modelica.Blocks.Interfaces.RealOutput yOSA "Outside air mixing box control signal"; Modelica.Blocks.Interfaces.RealOutput yVAV "VAV damper control signal"; Modelica.Blocks.Interfaces.RealOutput yRetFan "Fan control signal"; equation for i in 1:NSig loop y[i] = y0[i] + (if time < staTim[i] then 0 else if time < (staTim[i] + dur[i]) then (time - staTim[i])*h[i]/dur[i] else h[i]); end for; ySupFan=y[1]; yRetFan=y[2]; yOSA=y[3]; yVAV=y[4]; end ControlSignals;
Room leakage used in the MIT system model.
Type | Name | Description |
---|---|---|
input RealInput | p | Pressure |
FluidPort_b | port_b |
model RoomLeakage "Room leakage model" extends Buildings.BaseClasses.BaseIcon; replaceable package Medium = Modelica.Media.Interfaces.PartialMedium "Medium in the component"; Buildings.Fluids.FixedResistances.FixedResistanceDpM res( m0_flow=1, dp0=1000, redeclare package Medium = Medium) "Resistance model"; Modelica.Blocks.Interfaces.RealInput p(redeclare type SignalType = Modelica.SIunits.AbsolutePressure) "Pressure"; Modelica_Fluid.Interfaces.FluidPort_b port_b(redeclare package Medium = Medium); Modelica_Fluid.Sources.PrescribedBoundary_pTX amb(redeclare package Medium = Medium, p=101325, T=293.15); equation connect(res.port_b, port_b); connect(amb.port, res.port_a); connect(p, amb.p_in); end RoomLeakage;
Model of a suite consisting of five rooms for the MIT system model.
Type | Name | Default | Description |
---|---|---|---|
MassFlowRate | m0Tot_flow | vav39.m0_flow + vav40.m0_flo... | [kg/s] |
Type | Name | Description |
---|---|---|
input RealInput | p | Pressure |
FluidPort_b | port_aSup | |
FluidPort_b | port_bSup | |
FluidPort_b | port_bExh | |
FluidPort_b | port_aExh | |
FluidPort_b | port_aRoo | |
FluidPort_b | port_bRoo | |
input RealInput | yDam | Damper signal |
model Suite "Model of a suite consisting of five rooms of the MIT system model" extends Buildings.BaseClasses.BaseIconLow; replaceable package Medium = Modelica.Media.Interfaces.PartialMedium "Medium in the component"; Modelica.Blocks.Interfaces.RealInput p(redeclare type SignalType = Modelica.SIunits.AbsolutePressure) "Pressure"; Modelica_Fluid.Interfaces.FluidPort_b port_aSup(redeclare package Medium = Medium); parameter Modelica.SIunits.MassFlowRate m0Tot_flow = vav39.m0_flow+vav40.m0_flow+vav41.m0_flow+vav42.m0_flow+vav43.m0_flow; Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM spl34( m0_flow=ones(3), dp0={0.176,0.844, 0.0662}, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM mix55( m0_flow=ones(3), dp0=1E3*{ 0.263200E-02,0.999990E-03,0.649000E-03}, redeclare package Medium = Medium); Buildings.Fluids.Actuators.VAVBoxExponential vav39( A=0.49, m0_flow=4.33*1.2, dp0=0.999E2, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.FixedResistanceDpM res13( m0_flow=1, dp0=0.1E3, redeclare package Medium = Medium); Buildings.Fluids.Actuators.VAVBoxExponential vav40( A=0.245, m0_flow=2.369*1.2, dp0=0.999E2, redeclare package Medium = Medium); Buildings.Fluids.Actuators.VAVBoxExponential vav41( dp0=0.999E2, A=0.128, m0_flow=0.837*1.2, redeclare package Medium = Medium); Buildings.Fluids.Actuators.VAVBoxExponential vav42( dp0=0.999E2, A=0.128, m0_flow=0.801*1.2, redeclare package Medium = Medium); Buildings.Fluids.Actuators.VAVBoxExponential vav43( dp0=0.999E2, A=0.0494, m0_flow=0.302*1.2, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.FixedResistanceDpM res14( m0_flow=1, dp0=0.1E3, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.FixedResistanceDpM res15( m0_flow=1, dp0=0.1E3, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.FixedResistanceDpM res16( m0_flow=1, dp0=0.1E3, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.FixedResistanceDpM res17( m0_flow=1, dp0=0.1E3, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM spl35( m0_flow=ones(3), dp0=1E3*{ 0.371000E-04,0.259000E-02,0.131000E-02}, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM spl36( m0_flow=ones(3), dp0=1E3*{ 0.211000E-03,0.128000E-01,0.223000E-02}, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM spl37( m0_flow=ones(3), dp0=1E3*{ 0.730000E-03,0.128000E-01,0.938000E-02}, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM spl38( m0_flow=ones(3), dp0=1E3*{ 0.731000E-02,0.895000E-01,0.942000E-01}, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM mix54( m0_flow=ones(3), dp0=1E3*{ 0.653000E-02,0.271000E-03,0.402000E-04}, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM mix53( m0_flow=ones(3), dp0=1E3*{ 0.566000E-01,0.541000E-02,0.749000E-04}, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM mix52( m0_flow=ones(3), dp0=1E3*{ 0.353960,0.494000E-03,0.922000E-03}, redeclare package Medium = Medium); Buildings.Fluids.FixedResistances.SplitterFixedResistanceDpM mix51( m0_flow=ones(3), dp0=1E3*{ 0.847600E-01,1.89750,0.150000E-02}, redeclare package Medium = Medium); Buildings.Fluids.Examples.BaseClasses.RoomLeakage lea45(redeclare package Medium = Medium) "Room leakage model"; Buildings.Fluids.Examples.BaseClasses.RoomLeakage lea46(redeclare package Medium = Medium) "Room leakage model"; Buildings.Fluids.Examples.BaseClasses.RoomLeakage lea47(redeclare package Medium = Medium) "Room leakage model"; Buildings.Fluids.Examples.BaseClasses.RoomLeakage lea48(redeclare package Medium = Medium) "Room leakage model"; Buildings.Fluids.Examples.BaseClasses.RoomLeakage lea49(redeclare package Medium = Medium) "Room leakage model"; Buildings.Fluids.Components.MixingVolume roo45(redeclare package Medium = Medium, V=10*5*2.5, nP=5, initType=Modelica_Fluid.Types.Init.SteadyStateHydraulic); Buildings.Fluids.Components.MixingVolume roo46(redeclare package Medium = Medium, V=10*5*2.5, nP=5, initType=Modelica_Fluid.Types.Init.SteadyStateHydraulic); Buildings.Fluids.Components.MixingVolume roo47(redeclare package Medium = Medium, V=10*5*2.5, nP=5, initType=Modelica_Fluid.Types.Init.SteadyStateHydraulic); Buildings.Fluids.Components.MixingVolume roo48(redeclare package Medium = Medium, V=10*5*2.5, nP=5, initType=Modelica_Fluid.Types.Init.SteadyStateHydraulic); Buildings.Fluids.Components.MixingVolume roo49(redeclare package Medium = Medium, V=10*5*2.5, nP=5, initType=Modelica_Fluid.Types.Init.SteadyStateHydraulic); Modelica_Fluid.Interfaces.FluidPort_b port_bSup(redeclare package Medium = Medium); Modelica_Fluid.Interfaces.FluidPort_b port_bExh(redeclare package Medium = Medium); Modelica_Fluid.Interfaces.FluidPort_b port_aExh(redeclare package Medium = Medium); Modelica_Fluid.Interfaces.FluidPort_b port_aRoo(redeclare package Medium = Medium); Modelica_Fluid.Interfaces.FluidPort_b port_bRoo(redeclare package Medium = Medium); Modelica.Blocks.Interfaces.RealInput yDam(redeclare type SignalType = Real) "Damper signal"; equation connect(spl34.port_3,vav39. port_a); connect(vav39.port_b,roo45.port[1]); connect(mix55.port_3,roo45.port[2]); connect(roo45.port[3],res13. port_a); connect(res13.port_b,roo46.port[1]); connect(vav40.port_b,roo46.port[2]); connect(vav41.port_b,roo47.port[1]); connect(vav42.port_b,roo48.port[1]); connect(vav43.port_b,roo49.port[1]); connect(spl34.port_2,spl35. port_1); connect(spl35.port_2,spl36. port_1); connect(spl36.port_2,spl37. port_1); connect(spl35.port_3,vav40. port_a); connect(spl36.port_3,vav41. port_a); connect(spl37.port_3,vav42. port_a); connect(roo46.port[3],mix54. port_3); connect(roo47.port[2],mix53. port_3); connect(roo47.port[3],res15. port_a); connect(res15.port_b,roo48.port[2]); connect(roo47.port[4],res14. port_b); connect(res14.port_a,roo46.port[4]); connect(mix55.port_2,mix54. port_1); connect(mix54.port_2,mix53. port_1); connect(mix53.port_2,mix52. port_1); connect(mix52.port_2,mix51. port_1); connect(roo48.port[3],mix51. port_3); connect(roo48.port[4],res16. port_a); connect(res16.port_b,roo49.port[2]); connect(roo49.port[3],mix52. port_3); connect(roo49.port[4],res17. port_a); connect(spl37.port_2,spl38. port_1); connect(vav43.port_a,spl38. port_3); connect(lea45.port_b,roo45.port[4]); connect(lea46.port_b,roo46.port[5]); connect(lea47.port_b,roo47.port[5]); connect(lea48.port_b,roo48.port[5]); connect(lea49.port_b,roo49.port[5]); connect(port_aSup, spl34.port_1); connect(port_bSup, spl38.port_2); connect(port_bExh, mix55.port_1); connect(port_aExh, mix51.port_2); connect(port_bRoo, res17.port_b); connect(port_aRoo, roo45.port[5]); connect(yDam, vav39.y); connect(yDam, vav40.y); connect(yDam, vav42.y); connect(yDam, vav43.y); connect(p, lea45.p); connect(p, lea46.p); connect(p, lea47.p); connect(p, lea48.p); connect(p, lea49.p); connect(yDam, vav41.y); end Suite;