Package with examples of base class components for DX cooling coil model
Information
This package contains examples of base class components for DX cooling coil models.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
| Name | Description | 
|  ApparatusDewPoint | Test model for ApparatusDewPoint | 
|  ApparatusDryPoint | Test model for ApparatusDryPoint | 
|  Condensation | Test model for Condensation block | 
|  CoolingCapacityAirCooled | Test model for CoolingCapacityAirCooled | 
|  CoolingCapacityWaterCooled | Test model for CoolingCapacityWaterCooled | 
|  DXCooling | Test model for DXCooling | 
|  DryCoil | Test model for DryCoil | 
|  DryWetSelector | Test model for DryWetSelector | 
|  EvaporationFlowReversal | Test model for evaporation with zero flow and flow reversal | 
|  EvaporationPulse | Test model for evaporation with pulse signal | 
|  InputPower | Test model for InputPower | 
|  NominalCondition | Test model for NominalCondition | 
|  SensibleHeatRatio | Test model for SensibleHeatRatio | 
|  SpeedSelect | Test model for speed select | 
|  SpeedShift | Test model for SpeedShift block | 
|  UACp | Test model for UACp | 
|  WetCoil | Test model for WetCoil | 
|  PerformanceCurves | Package with sevral performance curves | 
Test model for ApparatusDewPoint
 
Information
This example illustrates calculation of air properties at apparatus dew point:
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.ApparatusDewPoint.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| Integer | nSta | 4 | Number of standard compressor speeds | 
| Real | minSpeRat | 0.2 | Minimum speed ratio | 
| Real | speRatDeaBan | 0.05 | Deadband for minimum speed ratio | 
| DXCoil | datCoi | datCoi(nSta=4, sta={Building... | Coil data | 
Modelica definition
model ApparatusDewPoint 
  
extends Modelica.Icons.Example;
  
parameter Integer nSta=4 ;
  
package Medium =
      
Buildings.Media.Air;
  
parameter Real minSpeRat(min=0,max=1) = 0.2 ;
  
parameter Real speRatDeaBan= 0.05 ;
  
Modelica.Blocks.Sources.Constant p(
    k=101325) ;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.ApparatusDewPoint adp(
    
redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true)
    ;
  
Modelica.Blocks.Sources.Ramp m_flow(
    duration=600,
    height=1.35,
    startTime=600) ;
  
Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    height=0.004,
    startTime=1800,
    offset=0.011) ;
  
Modelica.Blocks.Sources.Ramp Q_flow(
    duration=600,
    startTime=600,
    height=-20000) ;
  
Modelica.Blocks.Sources.TimeTable speRat(
    offset=0,
    startTime=0,
    table=[0.0,0.00; 600,0.25; 1800,0.5; 2700,0.75]) ;
  
parameter AirCooled.Data.Generic.DXCoil datCoi(nSta=4, sta={
     
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
      spe=900/60,
      nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-12000,COP_nominal=3,
          SHR_nominal=0.8, m_flow_nominal=0.9),
        perCur=
 Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-18000,COP_nominal=3,
          SHR_nominal=0.8,m_flow_nominal=1.2),
        perCur=
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-21000,COP_nominal=3,
          SHR_nominal=0.8,m_flow_nominal=1.5),
        perCur=
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_II_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-30000,COP_nominal=3,
          SHR_nominal=0.8,m_flow_nominal=1.8),
        perCur=
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_III_AirCooled())})
    ;
protected 
  Modelica.Blocks.Logical.Hysteresis deaBan(
     uLow=minSpeRat - speRatDeaBan/2,
     uHigh=minSpeRat + speRatDeaBan/2) ;
  
Modelica.Blocks.Math.BooleanToInteger onSwi(
    
final integerTrue=1,
    
final integerFalse=0) ;
public 
  Modelica.Blocks.Sources.Constant hEvaIn(k=
Medium.specificEnthalpy(
        
Medium.setState_pTX(
        p=101325,
        T=30 + 273.15,
        X={0.015}))) ;
equation 
  connect(Q_flow.y, adp.Q_flow);
  
connect(p.y, adp.p);
  
connect(m_flow.y, adp.m_flow);
  
connect(XEvaIn.y, adp.XEvaIn);
  
connect(speRat.y, adp.speRat);
  
connect(speRat.y, deaBan.u);
  
connect(deaBan.y, onSwi.u);
  
connect(onSwi.y, adp.stage);
  
connect(hEvaIn.y, adp.hEvaIn);
end ApparatusDewPoint;
 
Test model for ApparatusDryPoint
 
Information
This example illustrates working of ApparatusDryPoint block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.ApparatusDryPoint.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| Integer | nSta | 4 |  | 
| Real | minSpeRat | 0.2 | Minimum speed ratio | 
| Real | speRatDeaBan | 0.05 | Deadband for minimum speed ratio | 
| DXCoil | datCoi | datCoi(nSta=4, sta={Building... | Coil data | 
Modelica definition
model ApparatusDryPoint 
  
extends Modelica.Icons.Example;
  
parameter Integer nSta=4;
  
package Medium =
      
Buildings.Media.Air;
  
parameter Real minSpeRat(min=0,max=1) = 0.2 ;
  
parameter Real speRatDeaBan= 0.05 ;
  
Modelica.Blocks.Sources.Constant p(
    k=101325) ;
  
Modelica.Blocks.Sources.Constant hEvaIn(k=
Medium.specificEnthalpy(
        
Medium.setState_pTX(
        p=101325,
        T=30 + 273.15,
        X={0.015}))) ;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.ApparatusDryPoint appDryPt(
    
redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true) ;
  
Modelica.Blocks.Sources.Ramp m_flow(
    duration=600,
    height=1.35,
    startTime=900) ;
  
Modelica.Blocks.Sources.Ramp Q_flow(
    duration=600,
    height=-20000,
    offset=-2,
    startTime=900) ;
  
Modelica.Blocks.Sources.TimeTable speRat(
    table=[0.0,0.0; 900,0.25; 1800,0.50; 2700,0.75],
    offset=0.25,
    startTime=900) ;
  
parameter AirCooled.Data.Generic.DXCoil datCoi(nSta=4, sta={
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
 Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-12000,COP_nominal=3,
          SHR_nominal=0.8,m_flow_nominal=0.9),
        perCur=
 Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
 Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-18000,COP_nominal=3,
          SHR_nominal=0.8,m_flow_nominal=1.2),
        perCur=
 Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-21000,COP_nominal=3,
          SHR_nominal=0.8,m_flow_nominal=1.5),
        perCur=
 Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_II_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
 Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-30000,COP_nominal=3,
          SHR_nominal=0.8,m_flow_nominal=1.8),
        perCur=
 Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_III_AirCooled())})
    ;
protected 
  Modelica.Blocks.Logical.Hysteresis deaBan(
     uLow=minSpeRat - speRatDeaBan/2,
     uHigh=minSpeRat + speRatDeaBan/2) ;
  
Modelica.Blocks.Math.BooleanToInteger onSwi(
    
final integerTrue=1,
    
final integerFalse=0) ;
public 
  Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    height=0.004,
    startTime=1800,
    offset=0.011) ;
equation 
  connect(p.y, appDryPt.p);
  
connect(hEvaIn.y, appDryPt.hEvaIn);
  
connect(m_flow.y, appDryPt.m_flow);
  
connect(Q_flow.y, appDryPt.Q_flow);
  
connect(speRat.y, appDryPt.speRat);
  
connect(speRat.y,deaBan. u);
  
connect(deaBan.y,onSwi. u);
  
connect(onSwi.y, appDryPt.stage);
  
connect(XEvaIn.y, appDryPt.XEvaIn);
end ApparatusDryPoint;
 
Test model for Condensation block
 
Information
This example illustrates working of Condensation block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Condensation.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
Test model for CoolingCapacityAirCooled
 
Information
This example illustrates working of cooling capacity function
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| Stage | sta | sta(nomVal(Q_flow_nominal=-2... | Performance data | 
Modelica definition
model CoolingCapacityAirCooled 
  
extends Modelica.Icons.Example;
  
package Medium = 
Buildings.Media.Air;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled
    cooCap(
    sta={sta},
    nSta=1) ;
  
Modelica.Blocks.Sources.Ramp m_flow(
    duration=2400,
    startTime=600,
    height=sta.nomVal.m_flow_nominal,
    offset=0) ;
  
Modelica.Blocks.Sources.Ramp TWetBulIn(
    duration=2400,
    startTime=600,
    height=10,
    offset=273.15 + 19.4) ;
  
Modelica.Blocks.Sources.IntegerStep onOff(startTime=600)
    ;
  
Modelica.Blocks.Sources.Ramp TConIn(
    duration=2400,
    startTime=600,
    height=5,
    offset=273.15 + 30)
    ;
  
parameter Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage
                                                                                            sta(
    nomVal(Q_flow_nominal=-21000,COP_nominal=3,
      SHR_nominal=0.8,m_flow_nominal=1.5),
   perCur =
 Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_III_AirCooled(),
    spe=188.49555921539) ;
equation 
  connect(TConIn.y, cooCap.TConIn);
  
connect(m_flow.y, cooCap.m_flow);
  
connect(onOff.y, cooCap.stage);
  
connect(TWetBulIn.y, cooCap.TEvaIn);
end CoolingCapacityAirCooled;
 
Test model for CoolingCapacityWaterCooled
 
Information
This example illustrates working of cooling capacity function
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityWaterCooled.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| Stage | sta | sta(nomVal(Q_flow_nominal=-2... | Performance data | 
Modelica definition
model CoolingCapacityWaterCooled 
  
extends Modelica.Icons.Example;
  
package Medium = 
Buildings.Media.Air;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityWaterCooled
    cooCap(sta={sta},
    nSta=1) ;
  
Modelica.Blocks.Sources.Ramp m_flow(
    duration=2400,
    startTime=600,
    height=sta.nomVal.m_flow_nominal,
    offset=0) ;
  
Modelica.Blocks.Sources.Ramp TWetBulIn(
    duration=2400,
    startTime=600,
    height=10,
    offset=273.15 + 19.4) ;
  
Modelica.Blocks.Sources.IntegerStep onOff(startTime=600)
    ;
  
Modelica.Blocks.Sources.Ramp TConIn(
    duration=2400,
    startTime=600,
    height=5,
    offset=273.15 + 30)
    ;
  
parameter Buildings.Fluid.HeatExchangers.DXCoils.WaterCooled.Data.Generic.BaseClasses.Stage
    sta(
       nomVal(
    Q_flow_nominal=-21000,COP_nominal=3,SHR_nominal=0.8,
    m_flow_nominal=1.5,mCon_flow_nominal=1),
  perCur=
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_WaterCooled(),
    spe=188.49555921539) ;
  
Modelica.Blocks.Sources.Ramp mCon_flow(
    duration=2400,
    startTime=600,
    offset=0,
    height=sta.nomVal.mCon_flow_nominal)
    ;
equation 
  connect(TConIn.y, cooCap.TConIn);
  
connect(m_flow.y, cooCap.m_flow);
  
connect(onOff.y, cooCap.stage);
  
connect(TWetBulIn.y, cooCap.TEvaIn);
  
connect(mCon_flow.y, cooCap.mCon_flow);
end CoolingCapacityWaterCooled;
 
Test model for DXCooling
 
Information
This example illustrates working of DXCooling block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DXCooling.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| DXCoil | datCoi | datCoi(sta={Buildings.Fluid.... | Coil data | 
Modelica definition
model DXCooling 
  
extends Modelica.Icons.Example;
  
package Medium =
      
Buildings.Media.Air;
  
Modelica.Blocks.Sources.Constant p(
    k=101325) ;
  
Modelica.Blocks.Sources.Constant TConIn(
    k=273.15 + 35);
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DXCooling dxCoo(
   
redeclare package Medium = Medium,
   datCoi=datCoi,
   variableSpeedCoil=true,
   use_mCon_flow=false,
   wetCoi(
redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled
        cooCap),
    dryCoi(
redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled
        cooCap));
  
Modelica.Blocks.Sources.IntegerStep onOff(
    startTime=600) ;
  
Modelica.Blocks.Sources.Ramp m_flow(
    duration=600,
    startTime=1200,
    height=1.05) ;
  
Modelica.Blocks.Sources.Ramp TEvaIn(
    duration=600,
    startTime=2400,
    height=-5,
    offset=273.15 + 29) ;
  
Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    startTime=2400,
    height=-0.002,
    offset=0.012) ;
  
Modelica.Blocks.Sources.Ramp hEvaIn(
    duration=600,
    startTime=2400,
    offset=60000,
    height=-10000) ;
  
Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.0; 900,0.25; 1800,0.50;
        2700,0.75]) ;
  
parameter AirCooled.Data.Generic.DXCoil datCoi(sta={
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-12000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=0.9),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-18000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.2),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-21000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.5),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-30000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.8),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_III_AirCooled())},
      nSta=4) ;
equation 
  connect(TConIn.y, dxCoo.TConIn);
  
connect(p.y, dxCoo.p);
  
connect(m_flow.y, dxCoo.m_flow);
  
connect(TEvaIn.y, dxCoo.TEvaIn);
  
connect(XEvaIn.y, dxCoo.XEvaIn);
  
connect(hEvaIn.y, dxCoo.hEvaIn);
  
connect(speRat.y, dxCoo.speRat);
  
connect(onOff.y, dxCoo.stage);
end DXCooling;
 
Test model for DryCoil
 
Information
This example illustrates working of DryCoil block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DryCoil.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| DXCoil | datCoi | datCoi(sta={Buildings.Fluid.... | Coil data | 
Modelica definition
model DryCoil 
extends Modelica.Icons.Example;
  
package Medium =
      
Buildings.Media.Air;
  
Modelica.Blocks.Sources.Constant TConIn(
    k=273.15 + 35) ;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DryCoil dryCoi(
    
redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true,
    
redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled
      cooCap,
    use_mCon_flow=false) ;
  
Modelica.Blocks.Sources.IntegerStep onOff(
    startTime=1200) ;
  
Modelica.Blocks.Sources.Ramp m_flow(
    startTime=1200,
    duration=600,
    height=1.5) ;
  
Modelica.Blocks.Sources.Ramp TEvaIn(
    duration=600,
    startTime=2400,
    height=-4,
    offset=273.15 + 29) ;
  
Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.0; 900,0.25; 1800,0.50;
        2700,0.75]) ;
  
parameter AirCooled.Data.Generic.DXCoil datCoi(sta={
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-12000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=0.9),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-18000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.2),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-21000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.5),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_II_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-30000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.8),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_III_AirCooled())},
      nSta=4) ;
equation 
  connect(TConIn.y, dryCoi.TConIn);
  
connect(m_flow.y, dryCoi.m_flow);
  
connect(TEvaIn.y, dryCoi.TEvaIn);
  
connect(speRat.y, dryCoi.speRat);
  
connect(onOff.y, dryCoi.stage);
end DryCoil;
 
Test model for DryWetSelector
 
Information
This example illustrates working of DryWetSelector block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DryWetSelector.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model DryWetSelector 
extends Modelica.Icons.Example;
  
Modelica.Blocks.Sources.Ramp XADP(
    duration=20,
    startTime=20,
    height=-0.002,
    offset=0.006) ;
  
Modelica.Blocks.Sources.Ramp XEvaIn(
    startTime=20,
    height=0.002,
    offset=0.004,
    duration=20) ;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DryWetSelector dryWet
    ;
  
Modelica.Blocks.Sources.Constant mWetWat_flow(k=0.01);
  
Modelica.Blocks.Sources.Constant SHRWet(k=0.5);
  
Modelica.Blocks.Sources.Constant QWet_flow(k=-3000);
  
Modelica.Blocks.Sources.Constant EIRWet(k=0.3);
  
Modelica.Blocks.Sources.Constant QDry_flow(k=-2000);
  
Modelica.Blocks.Sources.Constant EIRDry(k=0.2);
equation 
  connect(XEvaIn.y, dryWet.XEvaIn);
  
connect(XADP.y, dryWet.XADP);
  
connect(mWetWat_flow.y, dryWet.mWetWat_flow);
  
connect(SHRWet.y, dryWet.SHRWet);
  
connect(QWet_flow.y, dryWet.QWet_flow);
  
connect(EIRWet.y, dryWet.EIRWet);
  
connect(QDry_flow.y, dryWet.QDry_flow);
  
connect(EIRDry.y, dryWet.EIRDry);
end DryWetSelector;
 
Test model for evaporation with zero flow and flow reversal
 
Information
This example illustrates the evaporation of water vapor that
accumulated on the coil.
Input to the model is an air mass flow rate that is first positive, then
ramps down to a negative value, and eventually ramps up to zero where
it remains for a while.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| NominalValues | nomVal | nomVal(Q_flow_nominal=-5000,... | Nominal values for DX coil | 
| MassFraction | XEvaIn_nominal | Buildings.Utilities.Psychrom... | Mass fraction at nominal inlet conditions [1] | 
| MassFraction | XEvaOut_nominal | XEvaIn_nominal + (1 - nomVal... | Nominal air outlet humidity [1] | 
Modelica definition
model EvaporationFlowReversal
  
  
extends Modelica.Icons.Example;
  
package Medium =
Buildings.Media.Air;
  
parameter Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues
    nomVal(
    Q_flow_nominal=-5000,
    COP_nominal=3,
    SHR_nominal=0.8,
    m_flow_nominal=5000/1006/10) ;
  
parameter Modelica.SIunits.MassFraction XEvaIn_nominal=
    
Buildings.Utilities.Psychrometrics.Functions.X_pSatpphi(
     pSat=
Medium.saturationPressure(nomVal.TEvaIn_nominal),
     p=nomVal.p_nominal,
     phi=nomVal.phiIn_nominal) ;
  
parameter Modelica.SIunits.MassFraction XEvaOut_nominal = XEvaIn_nominal +
   (1-nomVal.SHR_nominal) * nomVal.Q_flow_nominal/nomVal.m_flow_nominal/
Medium.enthalpyOfVaporization(293.15)
    ;
  
Evaporation eva(
redeclare package Medium = Medium, nomVal=nomVal,
    m(start=0.55, fixed=true)) ;
  
Modelica.Blocks.Sources.BooleanConstant offSignal(k=false);
  
Modelica.Blocks.Sources.TimeTable mAir_flow(table=[0,1; 300,1; 900,-1; 1200,-1;
        1500,0; 1800,0]) ;
  
Modelica.Blocks.Sources.Constant TEva(k=nomVal.TEvaIn_nominal)
    ;
  
Modelica.Blocks.Continuous.Integrator int
    ;
  
Modelica.Blocks.Sources.Constant mWat_flow(k=0)
    ;
  
Modelica.Blocks.Math.Gain gain(k=nomVal.m_flow_nominal);
  
Modelica.Blocks.Sources.Constant XEvaIn(k=XEvaIn_nominal)
    ;
equation 
  connect(offSignal.y, eva.on);
  
connect(mWat_flow.y, eva.mWat_flow);
  
connect(mAir_flow.y, gain.u);
  
connect(gain.y, eva.mAir_flow);
  
connect(eva.mTotWat_flow, int.u);
  
connect(XEvaIn.y, eva.XEvaOut);
  
connect(TEva.y, eva.TEvaOut);
end EvaporationFlowReversal;
 
Test model for evaporation with pulse signal
 
Information
This example illustrates the evaporation of water vapor that
accumulated on the coil.
Input to the model is a pulse signal that switches the coil on and off.
The two instances have a different frequency of the on and off signal
to illustrate that the reevaporation of mass is larger if the coil
short-cycles.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| NominalValues | nomVal | nomVal(Q_flow_nominal=-5000,... | Nominal values for DX coil | 
| MassFraction | XEvaIn_nominal | Buildings.Utilities.Psychrom... | Mass fraction at nominal inlet conditions [1] | 
| MassFraction | XEvaOut_nominal | XEvaIn_nominal + (1 - nomVal... | Nominal air outlet humidity [1] | 
Modelica definition
model EvaporationPulse 
  
extends Modelica.Icons.Example;
  
package Medium =
Buildings.Media.Air;
  
parameter Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues
    nomVal(
    Q_flow_nominal=-5000,
    COP_nominal=3,
    SHR_nominal=0.8,
    m_flow_nominal=5000/1006/10) ;
  
parameter Modelica.SIunits.MassFraction XEvaIn_nominal=
    
Buildings.Utilities.Psychrometrics.Functions.X_pSatpphi(
     pSat=
Medium.saturationPressure(nomVal.TEvaIn_nominal),
     p=nomVal.p_nominal,
     phi=nomVal.phiIn_nominal) ;
  
parameter Modelica.SIunits.MassFraction XEvaOut_nominal = XEvaIn_nominal +
   (1-nomVal.SHR_nominal) * nomVal.Q_flow_nominal/nomVal.m_flow_nominal/
Medium.enthalpyOfVaporization(293.15)
    ;
  
Modelica.Blocks.Sources.Pulse pulSho(period=30*60)
    ;
  
Evaporation evaSho(
redeclare package Medium = Medium, nomVal=nomVal)
    ;
  
Modelica.Blocks.Math.RealToBoolean realToBoolean;
  
Modelica.Blocks.Sources.Constant mAir_flow(k=nomVal.m_flow_nominal)
    ;
  
Modelica.Blocks.Sources.Constant TIn(k=nomVal.TEvaIn_nominal)
    ;
  
Modelica.Blocks.Continuous.Integrator intSho
    ;
  
Evaporation evaNor(
redeclare package Medium = Medium, nomVal=nomVal)
    ;
  
Modelica.Blocks.Continuous.Integrator intNor
    ;
  
Modelica.Blocks.Sources.Pulse pulNor(period=3600)
    ;
  
Modelica.Blocks.Math.RealToBoolean realToBoolean1;
  
Modelica.Blocks.Math.Gain mWat_flow(k=nomVal.Q_flow_nominal*(1 - nomVal.SHR_nominal)
        /
Medium.enthalpyOfVaporization(293.15))
    ;
  
Modelica.Blocks.Math.Gain mWat_flow1(k=nomVal.Q_flow_nominal*(1 - nomVal.SHR_nominal)
        /
Medium.enthalpyOfVaporization(293.15))
    ;
  
Modelica.Blocks.Sources.Constant XEvaIn(k=XEvaIn_nominal)
    ;
equation 
  connect(pulSho.y, realToBoolean.u);
  
connect(realToBoolean.y, evaSho.on);
  
connect(evaSho.mAir_flow, mAir_flow.y);
  
connect(evaNor.mAir_flow, mAir_flow.y);
  
connect(pulNor.y, realToBoolean1.u);
  
connect(realToBoolean1.y, evaNor.on);
  
connect(pulNor.y, mWat_flow1.u);
  
connect(mWat_flow1.y, evaNor.mWat_flow);
  
connect(pulSho.y, mWat_flow.u);
  
connect(mWat_flow.y, evaSho.mWat_flow);
  
connect(XEvaIn.y, evaSho.XEvaOut);
  
connect(XEvaIn.y, evaNor.XEvaOut);
  
connect(evaNor.mTotWat_flow, intNor.u);
  
connect(evaSho.mTotWat_flow, intSho.u);
  
connect(TIn.y, evaSho.TEvaOut);
  
connect(TIn.y, evaNor.TEvaOut);
end EvaporationPulse;
 
Test model for InputPower
 
Information
This example illustrates working of InputPower block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.InputPower.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model InputPower 
extends Modelica.Icons.Example;
  
Modelica.Blocks.Sources.Ramp SHR(
    height=0.5,
    duration=60,
    offset=0.5,
    startTime=0) ;
  
Modelica.Blocks.Sources.Ramp EIR(
    height=-0.083,
    duration=60,
    offset=0.333,
    startTime=0) ;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.InputPower pwr
    ;
  
Modelica.Blocks.Sources.Ramp Q_flow(
    height=-20000,
    duration=60,
    startTime=0) ;
equation 
  connect(EIR.y, pwr.EIR);
  
connect(Q_flow.y, pwr.Q_flow);
  
connect(SHR.y, pwr.SHR);
end InputPower;
 
Test model for NominalCondition
 
Information
This example illustrates the calculation of inlet and outlet parameters at the nominal condition.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| NominalCondition | nomCon | nomCon(redeclare package Med... | Calculates nominal values | 
| NominalValues | per | per(Q_flow_nominal=-21000, C... | Nominal values | 
Modelica definition
Test model for SensibleHeatRatio
 
Information
This example illustrates calculation of sensible heat ratio in block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SensibleHeatRatio.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model SensibleHeatRatio 
 
extends Modelica.Icons.Example;
 
package Medium =
      
Buildings.Media.Air;
  
Modelica.Blocks.Sources.Constant p(
    k=101325) ;
  
Modelica.Blocks.Sources.BooleanStep onOff(
    startTime=600) ;
  
Modelica.Blocks.Sources.Ramp hEvaIn(
    duration=600,
    startTime=2400,
    offset=60000,
    height=-10000) ;
  
Modelica.Blocks.Sources.Ramp TEvaIn(
    duration=600,
    startTime=2400,
    height=-5,
    offset=273.15 + 29) ;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SensibleHeatRatio shr(
    
redeclare package Medium = Medium);
  
Modelica.Blocks.Sources.Constant XADP(k=0.01) ;
  
Modelica.Blocks.Sources.Constant hADP(k=35000) ;
equation 
  connect(onOff.y, shr.on);
  
connect(hEvaIn.y, shr.hEvaIn);
  
connect(TEvaIn.y, shr.TEvaIn);
  
connect(p.y, shr.p);
  
connect(XADP.y, shr.XADP);
  
connect(hADP.y, shr.hADP);
end SensibleHeatRatio;
 
Test model for speed select
 
Information
This example illustrates working of SpeedSelect block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SpeedSelect.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| DXCoil | datCoi | datCoi(nSta=4, sta={Building... | Coil data | 
Modelica definition
model SpeedSelect 
  
extends Modelica.Icons.Example;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SpeedSelect speSel(
    nSta=datCoi.nSta,
    speSet=datCoi.sta.spe) ;
  
parameter Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.DXCoil
                                                                         datCoi(
      nSta=4, sta={
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-12000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=0.9),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-18000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.2),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-21000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.5),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_II_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-30000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.8),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_III_AirCooled())})
    ;
  
Modelica.Blocks.Sources.IntegerTable sta(table=[0,0; 10,1; 20,2; 30,3; 40,4;
        50,0]) ;
equation 
  connect(sta.y, speSel.stage);
end SpeedSelect;
 
Test model for SpeedShift block
 
Information
This example illustrates working of SpeedShift block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SpeedShift.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| Integer | nSta | 4 | Number of standard compressor speeds | 
| DXCoil | datCoi | datCoi(nSta=4, sta={Building... | Coil data | 
Modelica definition
model SpeedShift 
 
extends Modelica.Icons.Example;
 
parameter Integer nSta=4 ;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SpeedShift speShi(nSta=nSta, speSet=
        datCoi.sta.spe,
    variableSpeedCoil=true);
  
Modelica.Blocks.Sources.Constant u[nSta](k={10,20,30,40}) ;
  
Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.25; 900,0.50; 1800,0.50;
        2700,0.75; 3600,0.75]) ;
  
parameter AirCooled.Data.Generic.DXCoil datCoi(nSta=4, sta={
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-12000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=0.9),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-18000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.2),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-21000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.5),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_II_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-30000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.8),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_III_AirCooled())})
    ;
  
Modelica.Blocks.Logical.GreaterThreshold greaterThreshold(threshold=0.1);
  
Modelica.Blocks.Math.BooleanToInteger booleanToInteger;
equation 
  connect(u.y, speShi.u);
  
connect(speRat.y, speShi.speRat);
  
connect(speRat.y, greaterThreshold.u);
  
connect(greaterThreshold.y, booleanToInteger.u);
  
connect(booleanToInteger.y, speShi.stage);
end SpeedShift;
 
Test model for UACp
 
Information
This example illustrates calculation of UA/Cp factor of coil (working of 
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.UACp).
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| NominalValues | nomVal | nomVal(Q_flow_nominal=-21000... | Nominal values | 
Modelica definition
Test model for WetCoil
 
Information
This example illustrates working of WetCoil block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.WetCoil.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|
| DXCoil | datCoi | datCoi(nSta=4, sta={Building... | Coil data | 
Modelica definition
model WetCoil 
 
extends Modelica.Icons.Example;
 
package Medium =  
Buildings.Media.Air;
  
Modelica.Blocks.Sources.Constant p(
    k=101325) ;
  
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.WetCoil wetCoi(
    
redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true,
    use_mCon_flow=false,
    
redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled
                                                                                  cooCap)
      ;
  
Modelica.Blocks.Sources.Constant TConIn(
    k=273.15 + 35) ;
  
Modelica.Blocks.Sources.IntegerStep onOff(
    startTime=600) ;
  
Modelica.Blocks.Sources.Ramp m_flow(
    duration=600,
    startTime=1200,
    height=1.05) ;
  
Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    startTime=2400,
    height=-0.002,
    offset=0.012) ;
  
Modelica.Blocks.Sources.Ramp hEvaIn(
    duration=600,
    startTime=2400,
    offset=60000,
    height=-10000) ;
  
Modelica.Blocks.Sources.Ramp TEvaIn(
    duration=600,
    startTime=2400,
    height=-5,
    offset=273.15 + 29) ;
  
Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.0; 900,0.25; 1800,0.50;
        2700,0.75]) ;
  
parameter AirCooled.Data.Generic.DXCoil datCoi(nSta=4, sta={
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-12000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=0.9),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-18000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.2),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_I_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-21000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.5),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_II_AirCooled()),
        
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.BaseClasses.NominalValues(
          Q_flow_nominal=-30000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=1.8),
        perCur=
          
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves.Curve_III_AirCooled())})
    ;
equation 
  connect(p.y, wetCoi.p);
  
connect(TConIn.y, wetCoi.TConIn);
  
connect(m_flow.y, wetCoi.m_flow);
  
connect(XEvaIn.y, wetCoi.XEvaIn);
  
connect(hEvaIn.y, wetCoi.hEvaIn);
  
connect(TEvaIn.y, wetCoi.TEvaIn);
  
connect(speRat.y, wetCoi.speRat);
  
connect(onOff.y, wetCoi.stage);
end WetCoil;