Extends from Buildings.BaseClasses.BaseIconExamples (Icon for Examples packages).
| Name | Description |
|---|---|
| Package with base classes for example models | |
| MITScalable | System model for MIT building |
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | NSui | 1 | Number of suites |
| MassFlowRate | mOneSuite_flow | sui[1].m0Tot_flow | Nominal mass flow rate of one suite [kg/s] |
| MassFlowRate | mMIT_flow | mOneSuite_flow + vav44.m0_flow | Nominal mass flow rate of MIT system model as in ASHRAE 825-RP [kg/s] |
| Pressure | dp0SuiSup | 95 | Pressure drop supply air leg with splitters of one suite (obtained from simulation) [Pa] |
| Pressure | dp0SuiRet | 233 | Pressure drop return air leg with splitters of one suite (obtained from simulation) [Pa] |
| Pressure | dp0FanSupMIT | 1050 | Pressure increase over supply fan in MIT system model as in ASHRAE 825-RP (obtained from simulation) [Pa] |
| Pressure | dp0FanRetMIT | 347 | Pressure increase over supply fan in MIT system model as in ASHRAE 825-RP (obtained from simulation) [Pa] |
| Real | scaM_flow | (mMIT_flow + (NSui - 1)*mOne... | Scaling factor for mass flow rate with NSui number of suites |
| Real | scaDp0FanSup | (dp0FanSupMIT + (NSui - 1)*d... | Scaling factor for supply fan pressure lift with NSui number of suites |
| Real | scaDp0FanRet | (dp0FanRetMIT + (NSui - 1)*d... | Scaling factor for supply fan pressure lift with NSui number of suites |
model MITScalable "System model for MIT building"
// package Medium = Buildings.Media.IdealGases.SimpleAir;
// package Medium = Modelica.Media.Air.SimpleAir;
// package Medium = Modelica.Media.Air.MoistAir;
// package Medium = Buildings.Media.GasesPTDecoupled.SimpleAir;
//package Medium = Buildings.Media.PerfectGases.MoistAir;
package Medium = Buildings.Media.GasesPTDecoupled.MoistAir;
parameter Integer NSui = 1 "Number of suites";
parameter Modelica.SIunits.MassFlowRate mOneSuite_flow = sui[1].m0Tot_flow
"Nominal mass flow rate of one suite";
parameter Modelica.SIunits.MassFlowRate mMIT_flow = mOneSuite_flow + vav44.m0_flow
"Nominal mass flow rate of MIT system model as in ASHRAE 825-RP";
parameter Modelica.SIunits.Pressure dp0SuiSup = 95
"Pressure drop supply air leg with splitters of one suite (obtained from simulation)";
parameter Modelica.SIunits.Pressure dp0SuiRet = 233
"Pressure drop return air leg with splitters of one suite (obtained from simulation)";
parameter Modelica.SIunits.Pressure dp0FanSupMIT = 1050
"Pressure increase over supply fan in MIT system model as in ASHRAE 825-RP (obtained from simulation)";
parameter Modelica.SIunits.Pressure dp0FanRetMIT = 347
"Pressure increase over supply fan in MIT system model as in ASHRAE 825-RP (obtained from simulation)";
parameter Real scaM_flow = ( mMIT_flow + (NSui-1) * mOneSuite_flow) / mMIT_flow
"Scaling factor for mass flow rate with NSui number of suites";
parameter Real scaDp0FanSup = ( dp0FanSupMIT + (NSui-1) * dp0SuiSup) / dp0FanSupMIT
"Scaling factor for supply fan pressure lift with NSui number of suites";
parameter Real scaDp0FanRet = ( dp0FanRetMIT + (NSui-1) * dp0SuiRet) / dp0FanRetMIT
"Scaling factor for supply fan pressure lift with NSui number of suites";
Buildings.Fluids.Actuators.Dampers.OAMixingBoxMinimumDamper mixBox(
dp0Out=0.467,
dp0Rec=0.665,
dp0Exh=0.164,
dp0OutMin=0.467,
AOutMin=scaM_flow*0.38,
AOut=scaM_flow*1.32,
AExh=scaM_flow*1.05,
ARec=scaM_flow*1.05,
m0OutMin_flow=scaM_flow*0.1*1,
m0Out_flow=scaM_flow*1,
m0Rec_flow=scaM_flow*1,
m0Exh_flow=scaM_flow*1,
redeclare package Medium = Medium) "mixing box";
Modelica_Fluid.Sources.Boundary_pT bouIn( redeclare package
Medium = Medium,
nPorts=3,
use_p_in=true,
T=293.15);
Modelica.Blocks.Sources.Constant PAtm(k=101325);
Modelica.Blocks.Sources.Constant yMinOA(k=0.5);
Buildings.Fluids.FixedResistances.FixedResistanceDpM res31(
dp0=0.546,
m0_flow=scaM_flow*1,
dh=sqrt(scaM_flow)*1,
redeclare package Medium = Medium);
Buildings.Fluids.Movers.FlowMachinePolynomial fan32(
D=0.6858,
a={4.2904,-1.387,4.2293,-3.92920,0.8534},
b={0.1162,1.5404,-1.4825,0.7664,-0.1971},
mNorMin_flow=1,
mNorMax_flow=2,
scaM_flow=scaM_flow,
scaDp=scaDp0FanSup,
redeclare package Medium = Medium,
m0_flow=scaM_flow*1);
Buildings.Fluids.FixedResistances.FixedResistanceDpM res33(
dp0=0.164,
dh=sqrt(scaM_flow)*1,
m0_flow=scaM_flow*1,
redeclare package Medium = Medium);
Buildings.Fluids.FixedResistances.FixedResistanceDpM res57(
dp0=0.118000,
m0_flow=scaM_flow*1,
dh=sqrt(scaM_flow)*1,
redeclare package Medium = Medium);
Buildings.Fluids.Movers.FlowMachinePolynomial fan56(
D=1.13,
a={4.19370,-1.63370,12.2110,-23.9619,9.81620},
b={0.619000E-01,3.14170,-5.75510,6.16760,-3.37480},
mNorMin_flow=0.7,
mNorMax_flow=1.0,
scaM_flow=scaM_flow,
scaDp=scaDp0FanRet,
redeclare package Medium = Medium,
m0_flow=scaM_flow*1);
Buildings.Fluids.Actuators.Dampers.VAVBoxExponential vav44(
dp0=0.999E2,
A=0.024,
m0_flow=0.132*1.2,
redeclare package Medium = Medium);
Buildings.Fluids.MixingVolumes.MixingVolume roo50(redeclare package Medium = Medium,
V=10*5*2.5,
nPorts=5);
Buildings.Fluids.Examples.BaseClasses.RoomLeakage lea50(redeclare package
Medium =
Medium) "Room leakage model";
Buildings.Fluids.FixedResistances.FixedResistanceDpM res1(
m0_flow=1, dp0=0.1E3,
redeclare package Medium = Medium);
Buildings.Fluids.Examples.BaseClasses.Suite[NSui] sui(redeclare each package
Medium = Medium);
Buildings.Fluids.Examples.BaseClasses.ControlSignals y;
inner Modelica_Fluid.System system;
equation
connect(yMinOA.y, mixBox.yOutMin);
connect(mixBox.port_Sup, res31.port_a);
connect(res31.port_b,fan32.port_a);
connect(fan32.port_b, res33.port_a);
connect(fan56.port_b, res57.port_b);
connect(res57.port_a, mixBox.port_Ret);
connect(PAtm.y, bouIn.p_in);
connect(vav44.port_b,roo50.ports[1]);
connect(PAtm.y, lea50.p);
connect(lea50.port_b,roo50.ports[2]);
connect(res1.port_a, roo50.ports[3]);
connect(sui[1].port_aRoo, res1.port_b);
connect(roo50.ports[4], sui[NSui].port_aExh);
connect(vav44.port_a, sui[NSui].port_bSup);
connect(sui[NSui].port_bRoo, roo50.ports[5]);
connect(res33.port_b, sui[1].port_aSup);
connect(fan56.port_a, sui[1].port_bExh);
for i in 1:NSui loop
connect(PAtm.y, sui[i].p);
connect(y.yVAV, sui[i].yDam);
end for;
for i in 1:NSui-1 loop
connect(sui[i+1].port_aSup, sui[i].port_bSup);
connect(sui[i+1].port_bExh, sui[i].port_aExh);
connect(sui[i+1].port_aRoo, sui[i].port_bRoo);
end for;
connect(y.ySupFan, fan32.N_in);
connect(y.yRetFan, fan56.N_in);
connect(y.yOSA, mixBox.y);
connect(y.yVAV, vav44.y);
connect(bouIn.ports[1], mixBox.port_OutMin);
connect(bouIn.ports[2], mixBox.port_Out);
connect(bouIn.ports[3], mixBox.port_Exh);
end MITScalable;