Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples

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
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.MultiStage MultiStage Test model for multi speed water-cooled DX coil
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.SingleSpeed SingleSpeed Test model for single speed DX coil
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.VariableSpeed VariableSpeed Test model for variable speed DX coil
Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.PerformanceCurves PerformanceCurves Package with sevral performance curves

Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.MultiStage Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.MultiStage

Test model for multi speed water-cooled DX coil

Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.MultiStage

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

TypeNameDefaultDescription
MassFlowRatem_flow_nominaldatCoi.sta[datCoi.nSta].nomV...Nominal mass flow rate [kg/s]
PressureDifferencedpEva_nominal1000Pressure drop at m_flow_nominal [Pa]
PressureDifferencedpCon_nominal40000Pressure drop at mCon_flow_nominal [Pa]

Modelica definition

model MultiStage "Test model for multi speed water-cooled DX coil" 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 "Nominal mass flow rate"; parameter Modelica.SIunits.PressureDifference dpEva_nominal=1000 "Pressure drop at m_flow_nominal"; parameter Modelica.SIunits.PressureDifference dpCon_nominal=40000 "Pressure drop at mCon_flow_nominal"; Buildings.Fluid.Sources.Boundary_pT sinAir( redeclare package Medium = MediumAir, nPorts=1, p(displayUnit="Pa")) "Sink on air side"; Buildings.Fluid.Sources.MassFlowSource_T souAir( redeclare package Medium = MediumAir, use_T_in=true, nPorts=1, m_flow=1.5, T=299.85) "Source on air side"; Modelica.Blocks.Sources.Ramp TEvaIn( duration=600, startTime=2400, height=-5, offset=273.15 + 23) "Temperature"; 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) "Multi-speed DX coil"; 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 ())}) "Coil data"; Modelica.Blocks.Sources.Ramp mCon_flow( duration=600, startTime=6000, height=0, offset=1) "Condenser inlet mass flow"; Buildings.Fluid.Sources.MassFlowSource_T souWat( redeclare package Medium = MediumWater, nPorts=1, use_T_in=false, use_m_flow_in=true, T=298.15) "Source on water side"; Buildings.Fluid.Sources.Boundary_pT sinWat( redeclare package Medium = MediumWater, nPorts=1, p(displayUnit="Pa")) "Sink on water side"; Modelica.Blocks.Sources.IntegerTable speRat(table=[0.0, 0.0; 900, 1; 1800, 4; 2700, 3; 3600, 2]) "Speed ratio "; 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;

Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.SingleSpeed Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.SingleSpeed

Test model for single speed DX coil

Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.SingleSpeed

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

TypeNameDefaultDescription
MassFlowRatem_flow_nominaldatCoi.sta[datCoi.nSta].nomV...Nominal mass flow rate [kg/s]
PressureDifferencedpEva_nominal1000Pressure drop at m_flow_nominal [Pa]
PressureDifferencedpCon_nominal40000Pressure drop at mCon_flow_nominal [Pa]

Modelica definition

model SingleSpeed "Test model for single speed DX coil" 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 "Nominal mass flow rate"; parameter Modelica.SIunits.PressureDifference dpEva_nominal=1000 "Pressure drop at m_flow_nominal"; parameter Modelica.SIunits.PressureDifference dpCon_nominal=40000 "Pressure drop at mCon_flow_nominal"; Buildings.Fluid.Sources.Boundary_pT sinAir( redeclare package Medium = MediumAir, nPorts=1, p(displayUnit="Pa")) "Sink on air side"; Buildings.Fluid.Sources.MassFlowSource_T souAir( redeclare package Medium = MediumAir, use_T_in=true, nPorts=1, m_flow=1.5, T=299.85) "Source on air side"; Modelica.Blocks.Sources.BooleanStep onOff(startTime=600) "Compressor on-off signal"; Modelica.Blocks.Sources.Ramp TEvaIn( duration=600, startTime=2400, height=-5, offset=273.15 + 23) "Temperature"; 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) "Single speed DX coil"; 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 ())}) "Coil data"; Modelica.Blocks.Sources.Ramp mCon_flow( duration=600, startTime=6000, height=0, offset=1) "Condenser inlet mass flow"; Buildings.Fluid.Sources.MassFlowSource_T souWat( redeclare package Medium = MediumWater, nPorts=1, use_T_in=false, use_m_flow_in=true, T=298.15) "Source on water side"; Buildings.Fluid.Sources.Boundary_pT sinWat( redeclare package Medium = MediumWater, nPorts=1, p(displayUnit="Pa")) "Sink on water side"; 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;

Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.VariableSpeed Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.VariableSpeed

Test model for variable speed DX coil

Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Examples.VariableSpeed

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

TypeNameDefaultDescription
MassFlowRatem_flow_nominaldatCoi.sta[datCoi.nSta].nomV...Nominal mass flow rate [kg/s]
PressureDifferencedpEva_nominal1000Pressure drop at m_flow_nominal [Pa]
PressureDifferencedpCon_nominal40000Pressure drop at mCon_flow_nominal [Pa]

Modelica definition

model VariableSpeed "Test model for variable speed DX coil" 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 "Nominal mass flow rate"; parameter Modelica.SIunits.PressureDifference dpEva_nominal=1000 "Pressure drop at m_flow_nominal"; parameter Modelica.SIunits.PressureDifference dpCon_nominal=40000 "Pressure drop at mCon_flow_nominal"; Buildings.Fluid.Sources.Boundary_pT sinAir( redeclare package Medium = MediumAir, nPorts=1, p(displayUnit="Pa")) "Sink on air side"; Buildings.Fluid.Sources.MassFlowSource_T souAir( redeclare package Medium = MediumAir, use_T_in=true, nPorts=1, m_flow=1.5, T=299.85) "Source on air side"; Modelica.Blocks.Sources.Ramp TEvaIn( duration=600, startTime=2400, height=-5, offset=273.15 + 23) "Temperature"; 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) "Variable speed DX coil"; 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 ())}) "Coil data"; Modelica.Blocks.Sources.Ramp mCon_flow( duration=600, startTime=6000, height=0, offset=1) "Condenser inlet mass flow"; Buildings.Fluid.Sources.MassFlowSource_T souWat( redeclare package Medium = MediumWater, nPorts=1, use_T_in=false, use_m_flow_in=true, T=298.15) "Source on water side"; Buildings.Fluid.Sources.Boundary_pT sinWat( redeclare package Medium = MediumWater, nPorts=1, p(displayUnit="Pa")) "Sink on water side"; 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]) "Speed ratio "; 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;