LBL logo

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples

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

NameDescription
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.ApparatusDewPoint ApparatusDewPoint Test model for ApparatusDewPoint
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.ApparatusDryPoint ApparatusDryPoint Test model for ApparatusDryPoint
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.Condensation Condensation Test model for Condensation block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.CoolingCapacity CoolingCapacity Test model for CoolingCapacity
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DryCoil DryCoil Test model for DryCoil
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DryWetSelector DryWetSelector Test model for DryWetSelector
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DXCooling DXCooling Test model for DXCooling
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.EvaporationFlowReversal EvaporationFlowReversal Test model for evaporation with zero flow and flow reversal
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.EvaporationPulse EvaporationPulse Test model for evaporation with pulse signal
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.InputPower InputPower Test model for InputPower
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.NominalCondition NominalCondition Test model for NominalCondition
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SensibleHeatRatio SensibleHeatRatio Test model for SensibleHeatRatio
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SpeedSelect SpeedSelect Test model for speed select
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SpeedShift SpeedShift Test model for SpeedShift block
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.UACp UACp Test model for UACp
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.WetCoil WetCoil Test model for WetCoil
Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.PerformanceCurves PerformanceCurves Package with sevral performance curves

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.ApparatusDewPoint Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.ApparatusDewPoint

Test model for ApparatusDewPoint

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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

TypeNameDefaultDescription
IntegernSta4Number of standard compressor speeds
RealminSpeRat0.2Minimum speed ratio
RealspeRatDeaBan0.05Deadband for minimum speed ratio
DXCoildatCoi Coil data

Modelica definition

model ApparatusDewPoint "Test model for ApparatusDewPoint"
  extends Modelica.Icons.Example;
  parameter Integer nSta=4 "Number of standard compressor speeds";
  package Medium =
      Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  parameter Real minSpeRat(min=0,max=1) = 0.2 "Minimum speed ratio";
  parameter Real speRatDeaBan= 0.05 "Deadband for minimum speed ratio";
  Modelica.Blocks.Sources.Constant p(
    k=101325) "Pressure";
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.ApparatusDewPoint
                                                              adp(
    redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true) 
    "Calculates air properties at apparatus dew point condition";
  Modelica.Blocks.Sources.Ramp m_flow(
    duration=600,
    height=1.35,
    startTime=600) "Mass flow rate of air";
  Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    height=0.004,
    startTime=1800,
    offset=0.011) "Inlet air mass fraction";
  Modelica.Blocks.Sources.Ramp Q_flow(
    duration=600,
    startTime=600,
    height=-20000) "Cooling rate";
  Modelica.Blocks.Sources.TimeTable speRat(
    offset=0,
    startTime=0,
    table=[0.0,0.00; 600,0.25; 1800,0.5; 2700,0.75]) "Speed ratio ";
  parameter Data.Generic.DXCoil
                datCoi(nSta=4, sta={
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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())}) 
    "Coil data";
protected 
  Modelica.Blocks.Logical.Hysteresis deaBan(
     uLow=minSpeRat - speRatDeaBan/2,
     uHigh=minSpeRat + speRatDeaBan/2) "Speed ratio deadband";
  Modelica.Blocks.Math.BooleanToInteger onSwi(
    final integerTrue=1,
    final integerFalse=0) "On/off switch";
public 
  Modelica.Blocks.Sources.Constant hEvaIn(k=Medium.specificEnthalpy(
        Medium.setState_pTX(
        p=101325,
        T=30 + 273.15,
        X={0.015}))) "Air enthalpy at inlet";
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;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.ApparatusDryPoint Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.ApparatusDryPoint

Test model for ApparatusDryPoint

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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

TypeNameDefaultDescription
IntegernSta4 
RealminSpeRat0.2Minimum speed ratio
RealspeRatDeaBan0.05Deadband for minimum speed ratio
DXCoildatCoi Coil data

Modelica definition

model ApparatusDryPoint "Test model for ApparatusDryPoint"
  extends Modelica.Icons.Example;
  parameter Integer nSta=4;
  package Medium =
      Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  parameter Real minSpeRat(min=0,max=1) = 0.2 "Minimum speed ratio";
  parameter Real speRatDeaBan= 0.05 "Deadband for minimum speed ratio";
  Modelica.Blocks.Sources.Constant p(
    k=101325) "Pressure";
  Modelica.Blocks.Sources.Constant hEvaIn(k=Medium.specificEnthalpy(
        Medium.setState_pTX(
        p=101325,
        T=30 + 273.15,
        X={0.015}))) "Air enthalpy at inlet";
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.ApparatusDryPoint appDryPt(
    redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true) "Dry point condition";
  Modelica.Blocks.Sources.Ramp m_flow(
    duration=600,
    height=1.35,
    startTime=900) "Mass flow rate of air";
  Modelica.Blocks.Sources.Ramp Q_flow(
    duration=600,
    height=-20000,
    offset=-2,
    startTime=900) "Heat extracted from air";
  Modelica.Blocks.Sources.TimeTable speRat(
    table=[0.0,0.0; 900,0.25; 1800,0.50; 2700,0.75],
    offset=0.25,
    startTime=900) "Speed ratio ";
  parameter Data.Generic.DXCoil
                datCoi(
    nSta=4,
    sta={
      Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
              Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
              Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
              Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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())}) 
    "Coil data";
protected 
  Modelica.Blocks.Logical.Hysteresis deaBan(
     uLow=minSpeRat - speRatDeaBan/2,
     uHigh=minSpeRat + speRatDeaBan/2) "Speed ratio deadband";
  Modelica.Blocks.Math.BooleanToInteger onSwi(
    final integerTrue=1,
    final integerFalse=0) "On/off switch";
public 
  Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    height=0.004,
    startTime=1800,
    offset=0.011) "Inlet air mass fraction";
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;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.Condensation Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.Condensation

Test model for Condensation block

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.Condensation

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

model Condensation "Test model for Condensation block"
 package Medium =
      Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
 extends Modelica.Icons.Example;
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Condensation mWat(
      redeclare package Medium = Medium) "Calculates rate of condensation";
  Modelica.Blocks.Sources.Ramp Q_flow(
    height=-20000,
    startTime=600,
    offset=0,
    duration=2400) "Heat flow";
  Modelica.Blocks.Sources.Ramp TDewPoi(
    each startTime=600,
    height=20,
    offset=5.4,
    each duration=1200) "Apparatus dew point temperature";
  Modelica.Blocks.Sources.Ramp shr(
    startTime=1800,
    height=1,
    offset=0,
    duration=1200) "Sensible heat ratio";
equation 

  connect(TDewPoi.y, mWat.TDewPoi);
  connect(Q_flow.y, mWat.Q_flow);
  connect(shr.y, mWat.SHR);
end Condensation;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.CoolingCapacity Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.CoolingCapacity

Test model for CoolingCapacity

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.CoolingCapacity

Information

This example illustrates working of cooling capacity function Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacity.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
Stagesta Performance data

Modelica definition

model CoolingCapacity "Test model for CoolingCapacity"
  extends Modelica.Icons.Example;
  package Medium = Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacity cooCap(
    sta={sta},
    m_flow_small=0.0001*sta.nomVal.m_flow_nominal,
    nSta=1) "Cooling capacity calculation";
  Modelica.Blocks.Sources.Ramp m_flow(
    duration=2400,
    startTime=600,
    height=sta.nomVal.m_flow_nominal,
    offset=0) "Mass flow rate of air";
  Modelica.Blocks.Sources.Ramp TWetBulIn(
    duration=2400,
    startTime=600,
    height=10,
    offset=273.15 + 19.4) "Air wet bulb temperature entering the coil";
  Modelica.Blocks.Sources.IntegerStep onOff(startTime=600) 
    "Compressor on-off signal";
  Modelica.Blocks.Sources.Ramp TConIn(
    duration=2400,
    startTime=600,
    height=5,
    offset=273.15 + 30) 
    "Condenser inlet temperature (Outside drybulb temperature)";
  parameter 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(),
    spe=188.49555921539) "Performance data";

equation 
  connect(TConIn.y, cooCap.TConIn);
  connect(m_flow.y, cooCap.m_flow);
  connect(onOff.y, cooCap.stage);
  connect(TWetBulIn.y, cooCap.TEvaIn);
end CoolingCapacity;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DryCoil Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DryCoil

Test model for DryCoil

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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

TypeNameDefaultDescription
DXCoildatCoi Coil data

Modelica definition

model DryCoil "Test model for DryCoil"
extends Modelica.Icons.Example;
  package Medium =
      Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  Modelica.Blocks.Sources.Constant p(
    k=101325);
  Modelica.Blocks.Sources.Constant TConIn(
    k=273.15 + 35) "Condenser inlet air temperature";
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DryCoil dryCoi(
    redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true) "Performs calculation for dry coil condition";
  Modelica.Blocks.Sources.IntegerStep onOff(
    startTime=1200) "Compressor on-off signal";
  Modelica.Blocks.Sources.Ramp m_flow(
    startTime=1200,
    duration=600,
    height=1.5) "Mass flow rate of air";
  Modelica.Blocks.Sources.Ramp TEvaIn(
    duration=600,
    startTime=2400,
    height=-4,
    offset=273.15 + 29) "Dry bulb temperature of air entering the coil";
  Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    startTime=2400,
    height=-0.002,
    offset=0.006) "Inlet mass-fraction";
  Modelica.Blocks.Sources.Ramp hEvaIn(
    duration=600,
    startTime=2400,
    height=-10000,
    offset=45000) "Specific enthalpy of air entering the coil";
  Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.0; 900,0.25; 1800,0.50;
        2700,0.75]) "Speed ratio ";
  parameter Data.Generic.DXCoil
                datCoi(sta={
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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())},           nSta=
       4) "Coil data";
equation 
  connect(TConIn.y, dryCoi.TConIn);
  connect(p.y, dryCoi.p);
  connect(m_flow.y, dryCoi.m_flow);
  connect(TEvaIn.y, dryCoi.TEvaIn);
  connect(XEvaIn.y, dryCoi.XEvaIn);
  connect(hEvaIn.y, dryCoi.hEvaIn);
  connect(speRat.y, dryCoi.speRat);
  connect(onOff.y, dryCoi.stage);
end DryCoil;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DryWetSelector Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DryWetSelector

Test model for DryWetSelector

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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 "Test model for DryWetSelector"

extends Modelica.Icons.Example;
  Modelica.Blocks.Sources.Ramp XADP(
    duration=20,
    startTime=20,
    height=-0.002,
    offset=0.006) "Mass fraction at ADP";
  Modelica.Blocks.Sources.Ramp XEvaIn(
    startTime=20,
    height=0.002,
    offset=0.004,
    duration=20) "Inlet mass-fraction";
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DryWetSelector dryWet 
    "Averages dry and wet coil conditions";
  Modelica.Blocks.Sources.Constant TWet(k=283.15);
  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 TDry(k=293.15);
  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(TWet.y, dryWet.TADPWet);
  connect(SHRWet.y, dryWet.SHRWet);
  connect(QWet_flow.y, dryWet.QWet_flow);
  connect(EIRWet.y, dryWet.EIRWet);
  connect(TDry.y, dryWet.TADPDry);
  connect(QDry_flow.y, dryWet.QDry_flow);
  connect(EIRDry.y, dryWet.EIRDry);
end DryWetSelector;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DXCooling Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.DXCooling

Test model for DXCooling

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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

TypeNameDefaultDescription
DXCoildatCoi Coil data

Modelica definition

model DXCooling "Test model for DXCooling"
  extends Modelica.Icons.Example;
  package Medium =
      Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  Modelica.Blocks.Sources.Constant p(
    k=101325) "pressure";
  Modelica.Blocks.Sources.Constant TConIn(
    k=273.15 + 35);
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.DXCooling dxCoo(
    redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true);
  Modelica.Blocks.Sources.IntegerStep onOff(
    startTime=600) "Compressor on-off signal";
  Modelica.Blocks.Sources.Ramp m_flow(
    duration=600,
    startTime=1200,
    height=1.05) "Mass flow rate of air";
  Modelica.Blocks.Sources.Ramp TEvaIn(
    duration=600,
    startTime=2400,
    height=-5,
    offset=273.15 + 29) "Dry bulb temperature of air entering the coil";
  Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    startTime=2400,
    height=-0.002,
    offset=0.012) "Inlet mass-fraction";
  Modelica.Blocks.Sources.Ramp hEvaIn(
    duration=600,
    startTime=2400,
    offset=60000,
    height=-10000) "Specific enthalpy of air entering the coil";
  Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.0; 900,0.25; 1800,0.50;
        2700,0.75]) "Speed ratio ";
  parameter Data.Generic.DXCoil
                datCoi(sta={
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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())},           nSta=
       4) "Coil data";
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;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.EvaporationFlowReversal Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.EvaporationFlowReversal

Test model for evaporation with zero flow and flow reversal

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.EvaporationFlowReversal

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

TypeNameDefaultDescription
NominalValuesnomVal Nominal values for DX coil
MassFractionXEvaIn_nominalBuildings.Utilities.Psychrom...Mass fraction at nominal inlet conditions [1]
MassFractionXEvaOut_nominalXEvaIn_nominal + (1 - nomVal...Nominal air outlet humidity [1]

Modelica definition

model EvaporationFlowReversal 
  "Test model for evaporation with zero flow and flow reversal"
  extends Modelica.Icons.Example;
  package Medium =Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;

  parameter Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.NominalValues
                                                                          nomVal(
          Q_flow_nominal=-5000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=5000/1006/10) "Nominal values for DX coil";

  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) "Mass fraction at nominal inlet conditions";

  parameter Modelica.SIunits.MassFraction XEvaOut_nominal = XEvaIn_nominal +
   (1-nomVal.SHR_nominal) * nomVal.Q_flow_nominal/nomVal.m_flow_nominal/Medium.enthalpyOfVaporization(293.15) 
    "Nominal air outlet humidity";

  Evaporation eva(redeclare package Medium = Medium, nomVal=nomVal,
    m(start=0.55, fixed=true)) "Evaporation model";
  Modelica.Blocks.Sources.BooleanConstant offSignal(k=false);
  Modelica.Blocks.Sources.Constant TWat(k=293.15);
  Modelica.Blocks.Sources.TimeTable mAir_flow(table=[0,1; 300,1; 900,-1; 1200,-1;
        1500,0; 1800,0]) "Air flow rate";
  Modelica.Blocks.Sources.Constant TEva(k=nomVal.TEvaIn_nominal) 
    "Inlet Temperature";
  Modelica.Blocks.Continuous.Integrator int 
    "Mass of water that evaporates into air stream";
  Modelica.Blocks.Sources.Constant mWat_flow(k=0) 
    "Water flow rate added into the medium from the coil model (without reevaporation flow rate)";
  Modelica.Blocks.Math.Gain gain(k=nomVal.m_flow_nominal);
  Modelica.Blocks.Sources.Constant XEvaIn(k=XEvaIn_nominal) 
    "Inlet water vapor mass fraction";
equation 

  connect(offSignal.y, eva.on);
  connect(eva.TWat, TWat.y);
  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;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.EvaporationPulse Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.EvaporationPulse

Test model for evaporation with pulse signal

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.EvaporationPulse

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

TypeNameDefaultDescription
NominalValuesnomVal Nominal values for DX coil
MassFractionXEvaIn_nominalBuildings.Utilities.Psychrom...Mass fraction at nominal inlet conditions [1]
MassFractionXEvaOut_nominalXEvaIn_nominal + (1 - nomVal...Nominal air outlet humidity [1]

Modelica definition

model EvaporationPulse "Test model for evaporation with pulse signal"
  extends Modelica.Icons.Example;
  package Medium =Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;

  parameter Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.NominalValues
                                                                          nomVal(
          Q_flow_nominal=-5000,
          COP_nominal=3,
          SHR_nominal=0.8,
          m_flow_nominal=5000/1006/10) "Nominal values for DX coil";

  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) "Mass fraction at nominal inlet conditions";

  parameter Modelica.SIunits.MassFraction XEvaOut_nominal = XEvaIn_nominal +
   (1-nomVal.SHR_nominal) * nomVal.Q_flow_nominal/nomVal.m_flow_nominal/Medium.enthalpyOfVaporization(293.15) 
    "Nominal air outlet humidity";

  Modelica.Blocks.Sources.Pulse pulSho(period=30*60) 
    "Control signal for short-cycling coil";
  Evaporation evaSho(redeclare package Medium = Medium, nomVal=nomVal) 
    "Evaporation model";
  Modelica.Blocks.Math.RealToBoolean realToBoolean;
  Modelica.Blocks.Sources.Constant TWat(k=293.15);
  Modelica.Blocks.Sources.Constant mAir_flow(k=nomVal.m_flow_nominal) 
    "Air flow rate";
  Modelica.Blocks.Sources.Constant TIn(k=nomVal.TEvaIn_nominal) 
    "Inlet temperature";
  Modelica.Blocks.Continuous.Integrator intSho 
    "Mass of water that evaporates into air stream";
  Evaporation evaNor(redeclare package Medium = Medium, nomVal=nomVal) 
    "Evaporation model";
  Modelica.Blocks.Continuous.Integrator intNor 
    "Mass of water that evaporates into air stream";
  Modelica.Blocks.Sources.Pulse pulNor(period=3600) 
    "Control signal for normal-cycling coil";
  Modelica.Blocks.Math.RealToBoolean realToBoolean1;
  Modelica.Blocks.Math.Gain mWat_flow(k=nomVal.Q_flow_nominal*(1 - nomVal.SHR_nominal)
        /Medium.enthalpyOfVaporization(293.15)) 
    "Water mass flow rate from air to coil surface";
  Modelica.Blocks.Math.Gain mWat_flow1(k=nomVal.Q_flow_nominal*(1 - nomVal.SHR_nominal)
        /Medium.enthalpyOfVaporization(293.15)) 
    "Water mass flow rate from air to coil surface";
  Modelica.Blocks.Sources.Constant XEvaIn(k=XEvaIn_nominal) 
    "Inlet water vapor mass fraction";
equation 

  connect(pulSho.y, realToBoolean.u);
  connect(realToBoolean.y, evaSho.on);
  connect(evaSho.TWat, TWat.y);
  connect(evaSho.mAir_flow, mAir_flow.y);
  connect(evaNor.TWat, TWat.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;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.InputPower Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.InputPower

Test model for InputPower

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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 "Test model for InputPower"
extends Modelica.Icons.Example;
  Modelica.Blocks.Sources.Ramp SHR(
    height=0.5,
    duration=60,
    offset=0.5,
    startTime=0) "Sensible heat ratio";
  Modelica.Blocks.Sources.Ramp EIR(
    height=-0.083,
    duration=60,
    offset=0.333,
    startTime=0) "Energy input ratio";
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.InputPower pwr 
    "Calculates electrical power consumed by the unit";
  Modelica.Blocks.Sources.Ramp Q_flow(
    height=-20000,
    duration=60,
    startTime=0) "Cooling rate";
equation 
  connect(EIR.y, pwr.EIR);
  connect(Q_flow.y, pwr.Q_flow);
  connect(SHR.y, pwr.SHR);
end InputPower;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.NominalCondition Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.NominalCondition

Test model for NominalCondition

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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

TypeNameDefaultDescription
NominalConditionnomCon Calculates nominal values
NominalValuesnomVal Nominal values

Modelica definition

model NominalCondition "Test model for NominalCondition"
  extends Modelica.Icons.Example;
  package Medium =
      Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  parameter Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.NominalCondition
     nomCon(redeclare package Medium = Medium, per=nomVal) 
    "Calculates nominal values";
  parameter Data.Generic.BaseClasses.NominalValues
   nomVal(
    Q_flow_nominal=-21000,
    COP_nominal=3,
    SHR_nominal=0.8,
    m_flow_nominal=1.5) "Nominal values";
end NominalCondition;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SensibleHeatRatio Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SensibleHeatRatio

Test model for SensibleHeatRatio

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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 "Test model for SensibleHeatRatio"
 extends Modelica.Icons.Example;
 package Medium =
      Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  Modelica.Blocks.Sources.Constant p(
    k=101325) "Pressure";
  Modelica.Blocks.Sources.BooleanStep onOff(
    startTime=600) "Compressor on-off signal";
  Modelica.Blocks.Sources.Ramp hEvaIn(
    duration=600,
    startTime=2400,
    offset=60000,
    height=-10000) "Specific enthalpy of air entering the coil";
  Modelica.Blocks.Sources.Ramp TEvaIn(
    duration=600,
    startTime=2400,
    height=-5,
    offset=273.15 + 29) "Inlet air temperature";
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SensibleHeatRatio shr(
    redeclare package Medium = Medium);
  Modelica.Blocks.Sources.Constant XADP(k=0.01) "Mass fraction";
  Modelica.Blocks.Sources.Constant hADP(k=35000) "Specific enthalpy";
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;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SpeedSelect Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SpeedSelect

Test model for speed select

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SpeedSelect

Information

This example illustrates working of SpeedSelect block Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SpeedSelect.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
DXCoildatCoi Coil data

Modelica definition

model SpeedSelect "Test model for speed select"
  extends Modelica.Icons.Example;
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SpeedSelect speSel(
    nSta=datCoi.nSta,
    speSet=datCoi.sta.spe) "Normalizes the input speed";
  parameter Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.DXCoil
                datCoi(nSta=4, sta={
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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())}) 
    "Coil data";
  Modelica.Blocks.Sources.IntegerTable sta(table=[0,0; 10,1; 20,2; 30,3; 40,4;
        50,0]) "Stage of compressor";
equation 

  connect(sta.y, speSel.stage);
end SpeedSelect;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SpeedShift Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SpeedShift

Test model for SpeedShift block

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.SpeedShift

Information

This example illustrates working of SpeedShift block Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.SpeedShift.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
IntegernSta4Number of standard compressor speeds
DXCoildatCoi Coil data

Modelica definition

model SpeedShift "Test model for SpeedShift block"
 extends Modelica.Icons.Example;
 parameter Integer nSta=4 "Number of standard compressor speeds";
  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}) "Inputs";
  Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.25; 900,0.50; 1800,0.50;
        2700,0.75; 3600,0.75]) "Speed ratio ";
  parameter Data.Generic.DXCoil
                datCoi(nSta=4, sta={
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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())}) 
    "Coil data";
  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;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.UACp Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.UACp

Test model for UACp

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.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

TypeNameDefaultDescription
NominalValuesnomVal Nominal values

Modelica definition

model UACp "Test model for UACp"
  extends Modelica.Icons.Example;
  package Medium =Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.UACp uacp(
    per=nomVal,
    redeclare package Medium = Medium,
    homotopyInitialization=true) "Calculates UA/Cp value for the coil";
  parameter Data.Generic.BaseClasses.NominalValues
                                 nomVal(
    Q_flow_nominal=-21000,
    COP_nominal=3,
    SHR_nominal=0.8,
    m_flow_nominal=1.5) "Nominal values";
end UACp;

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.WetCoil Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.WetCoil

Test model for WetCoil

Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.Examples.WetCoil

Information

This example illustrates working of WetCoil block Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.WetCoil.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model WetCoil "Test model for WetCoil"
 extends Modelica.Icons.Example;
 package Medium =
      Buildings.Media.GasesConstantDensity.MoistAirUnsaturated;
  Modelica.Blocks.Sources.Constant p(
    k=101325) "Pressure";
  Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.WetCoil wetCoi(
    redeclare package Medium = Medium,
    datCoi=datCoi,
    variableSpeedCoil=true) "Performs calculation for wet coil condition";
  Modelica.Blocks.Sources.Constant TConIn(
    k=273.15 + 35) "Condenser inlet air temperature";
  Modelica.Blocks.Sources.IntegerStep onOff(
    startTime=600) "Compressor on-off signal";
  Modelica.Blocks.Sources.Ramp m_flow(
    duration=600,
    startTime=1200,
    height=1.05) "Mass flow rate of air";
  Modelica.Blocks.Sources.Ramp XEvaIn(
    duration=600,
    startTime=2400,
    height=-0.002,
    offset=0.012) "Inlet mass-fraction";
  Modelica.Blocks.Sources.Ramp hEvaIn(
    duration=600,
    startTime=2400,
    offset=60000,
    height=-10000) "Specific enthalpy of air entering the coil";
  Modelica.Blocks.Sources.Ramp TEvaIn(
    duration=600,
    startTime=2400,
    height=-5,
    offset=273.15 + 29) "Inlet air temperature";
  Modelica.Blocks.Sources.TimeTable speRat(table=[0.0,0.0; 900,0.25; 1800,0.50;
        2700,0.75]) "Speed ratio ";
  Data.Generic.DXCoil
                datCoi(nSta=4, sta={
        Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=900/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
              Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1200/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
              Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=1800/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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()),
              Buildings.Fluid.HeatExchangers.DXCoils.Data.Generic.BaseClasses.Stage(
        spe=2400/60,
        nomVal=
          Buildings.Fluid.HeatExchangers.DXCoils.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())}) 
    "Coil data";
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;

Automatically generated Thu Oct 24 15:09:16 2013.