| Name | Description |
|---|---|
| Generate ramp signal | |
| Room leakage model | |
| Model of a suite consisting of five rooms of the MIT system model |
Buildings.Fluids.Examples.BaseClasses.ControlSignals
| 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;
Buildings.Fluids.Examples.BaseClasses.RoomLeakage
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;
Buildings.Fluids.Examples.BaseClasses.Suite
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.Dampers.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.Dampers.VAVBoxExponential vav40(
A=0.245,
m0_flow=2.369*1.2,
dp0=0.999E2,
redeclare package Medium = Medium);
Buildings.Fluids.Actuators.Dampers.VAVBoxExponential vav41(
dp0=0.999E2,
A=0.128,
m0_flow=0.837*1.2,
redeclare package Medium = Medium);
Buildings.Fluids.Actuators.Dampers.VAVBoxExponential vav42(
dp0=0.999E2,
A=0.128,
m0_flow=0.801*1.2,
redeclare package Medium = Medium);
Buildings.Fluids.Actuators.Dampers.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;