Package with example of water source DX cooling coil models
Information
This package contains examples that use water source DX cooling coil models.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name |
Description |
MultiStage
|
Test model for multi speed water source DX coil |
SingleSpeed
|
Test model for single speed DX coil |
VariableSpeed
|
Test model for variable speed DX coil |
PerformanceCurves
|
Package with sevral performance curves |
Test model for multi speed water source DX coil
Information
This is a test model for
Buildings.Fluid.DXSystems.Cooling.WaterSource.MultiStage.
The model has open-loop control and time-varying input conditions.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
MassFlowRate | m_flow_nominal | datCoi.sta[datCoi.nSta].nomV... | Nominal mass flow rate [kg/s] |
PressureDifference | dpEva_nominal | 1000 | Pressure drop at m_flow_nominal [Pa] |
PressureDifference | dpCon_nominal | 40000 | Pressure drop at mCon_flow_nominal [Pa] |
DXCoil | datCoi | datCoi(nSta=4, sta={Building... | Coil data |
Modelica definition
model MultiStage
package MediumAir =
Buildings.Media.Air;
package MediumWater =
Buildings.Media.Water;
extends Modelica.Icons.Example;
parameter Modelica.Units.SI.MassFlowRate m_flow_nominal=datCoi.sta[datCoi.nSta].nomVal.m_flow_nominal
;
parameter Modelica.Units.SI.PressureDifference dpEva_nominal=1000
;
parameter Modelica.Units.SI.PressureDifference dpCon_nominal=40000
;
Buildings.Fluid.Sources.Boundary_pT sinAir(
redeclare package Medium = MediumAir,
nPorts=1,
p(displayUnit="Pa")) ;
Buildings.Fluid.Sources.MassFlowSource_T souAir(
redeclare package Medium = MediumAir,
use_T_in=true,
nPorts=1,
m_flow=1.5,
T=299.85) ;
Modelica.Blocks.Sources.Ramp TEvaIn(
duration=600,
startTime=2400,
height=-5,
offset=273.15 + 23) ;
Buildings.Fluid.DXSystems.Cooling.WaterSource.MultiStage mulSpeDX(
redeclare package MediumEva = MediumAir,
redeclare package MediumCon = MediumWater,
datCoi=datCoi,
dpEva_nominal=dpEva_nominal,
dpCon_nominal=dpCon_nominal,
show_T=true,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState)
;
parameter Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.DXCoil
datCoi(nSta=4, sta={
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.Stage(
spe=900/60,
nomVal=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.NominalValues(
Q_flow_nominal=-12000,
COP_nominal=3,
SHR_nominal=0.8,
m_flow_nominal=0.9,
mCon_flow_nominal=0.57143,
TEvaIn_nominal=273.15 + 26.67,
TConIn_nominal=273.15 + 29.4),
perCur=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.PerformanceCurves.Curve_I()),
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.Stage(
spe=1200/60,
nomVal=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.NominalValues(
Q_flow_nominal=-18000,
COP_nominal=3,
SHR_nominal=0.8,
m_flow_nominal=1.2,
mCon_flow_nominal=0.85714,
TEvaIn_nominal=273.15 + 26.67,
TConIn_nominal=273.15 + 29.4),
perCur=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.PerformanceCurves.Curve_I()),
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.Stage(
spe=1800/60,
nomVal=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.NominalValues(
Q_flow_nominal=-21000,
COP_nominal=3,
SHR_nominal=0.8,
m_flow_nominal=1.5,
mCon_flow_nominal=1,
TEvaIn_nominal=273.15 + 26.67,
TConIn_nominal=273.15 + 29.4),
perCur=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.PerformanceCurves.Curve_I()),
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.Stage(
spe=2400/60,
nomVal=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.NominalValues(
Q_flow_nominal=-30000,
COP_nominal=3,
SHR_nominal=0.8,
m_flow_nominal=1.8,
mCon_flow_nominal=1.42857,
TEvaIn_nominal=273.15 + 26.67,
TConIn_nominal=273.15 + 29.4),
perCur=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.PerformanceCurves.Curve_I())})
;
Modelica.Blocks.Sources.Ramp mCon_flow(
duration=600,
startTime=6000,
height=0,
offset=1) ;
Buildings.Fluid.Sources.MassFlowSource_T souWat(
redeclare package Medium = MediumWater,
nPorts=1,
use_T_in=false,
use_m_flow_in=true,
T=298.15) ;
Buildings.Fluid.Sources.Boundary_pT sinWat(
redeclare package Medium = MediumWater,
nPorts=1,
p(displayUnit="Pa")) ;
Modelica.Blocks.Sources.IntegerTable speRat(table=[
0.0,0.0;
900,1;
1800,4;
2700,3;
3600,2]) ;
equation
connect(TEvaIn.y, souAir.T_in);
connect(mulSpeDX.portCon_a, souWat.ports[1]);
connect(mulSpeDX.portCon_b, sinWat.ports[1]);
connect(souAir.ports[1], mulSpeDX.port_a);
connect(sinAir.ports[1], mulSpeDX.port_b);
connect(mCon_flow.y, souWat.m_flow_in);
connect(speRat.y,mulSpeDX. stage);
end MultiStage;
Test model for single speed DX coil
Information
This is a test model for
Buildings.Fluid.DXSystems.Cooling.WaterSource.SingleSpeed.
The model has open-loop control and time-varying input conditions.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
MassFlowRate | m_flow_nominal | datCoi.sta[datCoi.nSta].nomV... | Nominal mass flow rate [kg/s] |
PressureDifference | dpEva_nominal | 1000 | Pressure drop at m_flow_nominal [Pa] |
PressureDifference | dpCon_nominal | 40000 | Pressure drop at mCon_flow_nominal [Pa] |
DXCoil | datCoi | datCoi(nSta=1, sta={Building... | Coil data |
Modelica definition
model SingleSpeed
package MediumAir =
Buildings.Media.Air;
package MediumWater =
Buildings.Media.Water;
extends Modelica.Icons.Example;
parameter Modelica.Units.SI.MassFlowRate m_flow_nominal=datCoi.sta[datCoi.nSta].nomVal.m_flow_nominal
;
parameter Modelica.Units.SI.PressureDifference dpEva_nominal=1000
;
parameter Modelica.Units.SI.PressureDifference dpCon_nominal=40000
;
Buildings.Fluid.Sources.Boundary_pT sinAir(
redeclare package Medium = MediumAir,
nPorts=1,
p(displayUnit="Pa")) ;
Buildings.Fluid.Sources.MassFlowSource_T souAir(
redeclare package Medium = MediumAir,
use_T_in=true,
nPorts=1,
m_flow=1.5,
T=299.85) ;
Modelica.Blocks.Sources.BooleanStep onOff(startTime=600)
;
Modelica.Blocks.Sources.Ramp TEvaIn(
duration=600,
startTime=2400,
height=-5,
offset=273.15 + 23) ;
Buildings.Fluid.DXSystems.Cooling.WaterSource.SingleSpeed sinSpeDX(
redeclare package MediumEva = MediumAir,
redeclare package MediumCon = MediumWater,
datCoi=datCoi,
dpEva_nominal=dpEva_nominal,
dpCon_nominal=dpCon_nominal,
show_T=true,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState)
;
parameter Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.DXCoil
datCoi(nSta=1, sta={
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.Stage(
spe=1800/60,
nomVal=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.NominalValues(
Q_flow_nominal=-21000,
COP_nominal=3,
SHR_nominal=0.8,
m_flow_nominal=1.5,
mCon_flow_nominal=1,
TEvaIn_nominal=273.15 + 26.67,
TConIn_nominal=273.15 + 29.4),
perCur=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.PerformanceCurves.Curve_I())})
;
Modelica.Blocks.Sources.Ramp mCon_flow(
duration=600,
startTime=6000,
height=0,
offset=1) ;
Buildings.Fluid.Sources.MassFlowSource_T souWat(
redeclare package Medium = MediumWater,
nPorts=1,
use_T_in=false,
use_m_flow_in=true,
T=298.15) ;
Buildings.Fluid.Sources.Boundary_pT sinWat(
redeclare package Medium = MediumWater,
nPorts=1,
p(displayUnit="Pa")) ;
equation
connect(TEvaIn.y, souAir.T_in);
connect(onOff.y, sinSpeDX.on);
connect(sinSpeDX.portCon_a, souWat.ports[1]);
connect(sinSpeDX.portCon_b, sinWat.ports[1]);
connect(souAir.ports[1], sinSpeDX.port_a);
connect(sinAir.ports[1], sinSpeDX.port_b);
connect(mCon_flow.y, souWat.m_flow_in);
end SingleSpeed;
Test model for variable speed DX coil
Information
This is a test model for
Buildings.Fluid.DXSystems.Cooling.WaterSource.VariableSpeed.
The model has open-loop control and time-varying input conditions.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
MassFlowRate | m_flow_nominal | datCoi.sta[datCoi.nSta].nomV... | Nominal mass flow rate [kg/s] |
PressureDifference | dpEva_nominal | 1000 | Pressure drop at m_flow_nominal [Pa] |
PressureDifference | dpCon_nominal | 40000 | Pressure drop at mCon_flow_nominal [Pa] |
DXCoil | datCoi | datCoi(nSta=1, sta={Building... | Coil data |
Modelica definition
model VariableSpeed
package MediumAir =
Buildings.Media.Air;
package MediumWater =
Buildings.Media.Water;
extends Modelica.Icons.Example;
parameter Modelica.Units.SI.MassFlowRate m_flow_nominal=datCoi.sta[datCoi.nSta].nomVal.m_flow_nominal
;
parameter Modelica.Units.SI.PressureDifference dpEva_nominal=1000
;
parameter Modelica.Units.SI.PressureDifference dpCon_nominal=40000
;
Buildings.Fluid.Sources.Boundary_pT sinAir(
redeclare package Medium = MediumAir,
nPorts=1,
p(displayUnit="Pa")) ;
Buildings.Fluid.Sources.MassFlowSource_T souAir(
redeclare package Medium = MediumAir,
use_T_in=true,
nPorts=1,
m_flow=1.5,
T=299.85) ;
Modelica.Blocks.Sources.Ramp TEvaIn(
duration=600,
startTime=2400,
height=-5,
offset=273.15 + 23) ;
Buildings.Fluid.DXSystems.Cooling.WaterSource.VariableSpeed varSpeDX(
redeclare package MediumEva = MediumAir,
redeclare package MediumCon = MediumWater,
dpEva_nominal=dpEva_nominal,
dpCon_nominal=dpCon_nominal,
datCoi=datCoi,
show_T=true,
minSpeRat=datCoi.minSpeRat,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState)
;
parameter Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.DXCoil
datCoi(nSta=1, sta={
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.Stage(
spe=1800/60,
nomVal=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Data.Generic.BaseClasses.NominalValues(
Q_flow_nominal=-21000,
COP_nominal=3,
SHR_nominal=0.8,
m_flow_nominal=1.5,
mCon_flow_nominal=1,
TEvaIn_nominal=273.15 + 26.67,
TConIn_nominal=273.15 + 29.4),
perCur=
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.PerformanceCurves.Curve_I())})
;
Modelica.Blocks.Sources.Ramp mCon_flow(
duration=600,
startTime=6000,
height=0,
offset=1) ;
Buildings.Fluid.Sources.MassFlowSource_T souWat(
redeclare package Medium = MediumWater,
nPorts=1,
use_T_in=false,
use_m_flow_in=true,
T=298.15) ;
Buildings.Fluid.Sources.Boundary_pT sinWat(
redeclare package Medium = MediumWater,
nPorts=1,
p(displayUnit="Pa")) ;
Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.0; 100,0.0; 900,0.2;
1800,0.8; 2700,0.75; 3600,0.75]) ;
equation
connect(TEvaIn.y, souAir.T_in);
connect(varSpeDX.portCon_a, souWat.ports[1]);
connect(varSpeDX.portCon_b, sinWat.ports[1]);
connect(souAir.ports[1], varSpeDX.port_a);
connect(sinAir.ports[1], varSpeDX.port_b);
connect(mCon_flow.y, souWat.m_flow_in);
connect(speRat.y, varSpeDX.speRat);
end VariableSpeed;