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] | 
| 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.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)
                 ;
  
parameter 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] | 
| 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.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)
                 ;
  
parameter 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] | 
| 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.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)
                                 ;
  
parameter 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;