Package with example of water-cooled DX cooling coil models
Information
This package contains examples that use water-cooled 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-cooled 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-cooled DX coil
Information
This is a test model for
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.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] |
Modelica definition
model MultiStage
package MediumAir =
Buildings.Media.Air;
package MediumWater =
Buildings.Media.Water;
extends Modelica.Icons.Example;
parameter Modelica.SIunits.MassFlowRate m_flow_nominal = datCoi.sta[datCoi.nSta].nomVal.m_flow_nominal
;
parameter Modelica.SIunits.PressureDifference dpEva_nominal = 1000
;
parameter Modelica.SIunits.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.HeatExchangers.DXCoils.WaterCooled.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)
;
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.DXCoil datCoi(nSta=4, sta={
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.BaseClasses.Stage(
spe=900/60,
nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.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.HeatExchangers.DXCoils.WaterCooled.Examples.PerformanceCurves.Curve_I()),
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.BaseClasses.Stage(
spe=1200/60,
nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.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.HeatExchangers.DXCoils.WaterCooled.Examples.PerformanceCurves.Curve_I()),
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.BaseClasses.Stage(
spe=1800/60,
nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.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.HeatExchangers.DXCoils.WaterCooled.Examples.PerformanceCurves.Curve_I()),
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.BaseClasses.Stage(
spe=2400/60,
nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.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.HeatExchangers.DXCoils.WaterCooled.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.HeatExchangers.DXCoils.WaterCooled.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] |
Modelica definition
model SingleSpeed
package MediumAir =
Buildings.Media.Air;
package MediumWater =
Buildings.Media.Water;
extends Modelica.Icons.Example;
parameter Modelica.SIunits.MassFlowRate m_flow_nominal = datCoi.sta[datCoi.nSta].nomVal.m_flow_nominal
;
parameter Modelica.SIunits.PressureDifference dpEva_nominal = 1000
;
parameter Modelica.SIunits.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.HeatExchangers.DXCoils.WaterCooled.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)
;
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.DXCoil datCoi(
nSta=1,
sta={
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.BaseClasses.Stage(
spe=1800/60,
nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.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.HeatExchangers.DXCoils.WaterCooled.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.HeatExchangers.DXCoils.WaterCooled.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] |
Modelica definition
model VariableSpeed
package MediumAir =
Buildings.Media.Air;
package MediumWater =
Buildings.Media.Water;
extends Modelica.Icons.Example;
parameter Modelica.SIunits.MassFlowRate m_flow_nominal = datCoi.sta[datCoi.nSta].nomVal.m_flow_nominal
;
parameter Modelica.SIunits.PressureDifference dpEva_nominal = 1000
;
parameter Modelica.SIunits.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.HeatExchangers.DXCoils.WaterCooled.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)
;
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.DXCoil datCoi(nSta=1, sta={
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.BaseClasses.Stage(
spe=1800/60,
nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.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.HeatExchangers.DXCoils.WaterCooled.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;