Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples

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
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.MultiStage MultiStage Test model for multi speed water source DX coil
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.SingleSpeed SingleSpeed Test model for single speed DX coil
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.VariableSpeed VariableSpeed Test model for variable speed DX coil
Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.PerformanceCurves PerformanceCurves Package with sevral performance curves

Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.MultiStage Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.MultiStage

Test model for multi speed water source DX coil

Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.MultiStage

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

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]
DXCoildatCoidatCoi(nSta=4, sta={Building...Coil data

Modelica definition

model MultiStage "Test model for multi speed water source DX coil" 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 "Nominal mass flow rate"; parameter Modelica.Units.SI.PressureDifference dpEva_nominal=1000 "Pressure drop at m_flow_nominal"; parameter Modelica.Units.SI.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.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) "Multi-speed DX coil"; 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())}) "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.DXSystems.Cooling.WaterSource.Examples.SingleSpeed Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.SingleSpeed

Test model for single speed DX coil

Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.SingleSpeed

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

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]
DXCoildatCoidatCoi(nSta=1, sta={Building...Coil data

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.Units.SI.MassFlowRate m_flow_nominal=datCoi.sta[datCoi.nSta].nomVal.m_flow_nominal "Nominal mass flow rate"; parameter Modelica.Units.SI.PressureDifference dpEva_nominal=1000 "Pressure drop at m_flow_nominal"; parameter Modelica.Units.SI.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.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) "Single speed DX coil"; 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())}) "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.DXSystems.Cooling.WaterSource.Examples.VariableSpeed Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.VariableSpeed

Test model for variable speed DX coil

Buildings.Fluid.DXSystems.Cooling.WaterSource.Examples.VariableSpeed

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

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]
DXCoildatCoidatCoi(nSta=1, sta={Building...Coil data

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.Units.SI.MassFlowRate m_flow_nominal=datCoi.sta[datCoi.nSta].nomVal.m_flow_nominal "Nominal mass flow rate"; parameter Modelica.Units.SI.PressureDifference dpEva_nominal=1000 "Pressure drop at m_flow_nominal"; parameter Modelica.Units.SI.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.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) "Variable speed DX coil"; 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())}) "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;