This package contains base classes that are used to construct the models in Buildings.Fluid.Chillers.Examples.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
| Name | Description | 
|---|---|
| PartialElectric | Base class for test model of chiller electric EIR | 
| Type | Name | Default | Description | 
|---|---|---|---|
| Power | P_nominal | -per.QEva_flow_nominal/per.C... | Nominal compressor power (at y=1) [W] | 
| TemperatureDifference | dTEva_nominal | 10 | Temperature difference evaporator inlet-outlet [K] | 
| TemperatureDifference | dTCon_nominal | 10 | Temperature difference condenser outlet-inlet [K] | 
| Real | COPc_nominal | 3 | Chiller COP | 
| MassFlowRate | mEva_flow_nominal | per.mEva_flow_nominal | Nominal mass flow rate at evaporator [kg/s] | 
| MassFlowRate | mCon_flow_nominal | per.mCon_flow_nominal | Nominal mass flow rate at condenser [kg/s] | 
| PartialElectricSteadyState | chi | redeclare Buildings.Fluid.Ch... | Chiller model | 
| Chiller | per | redeclare parameter Building... | Base class for performance data | 
partial model PartialElectric 
  "Base class for test model of chiller electric EIR"
  import Buildings;
 package Medium1 = Buildings.Media.ConstantPropertyLiquidWater "Medium model";
 package Medium2 = Buildings.Media.ConstantPropertyLiquidWater "Medium model";
  parameter Modelica.SIunits.Power P_nominal=-per.QEva_flow_nominal/per.COP_nominal 
    "Nominal compressor power (at y=1)";
  parameter Modelica.SIunits.TemperatureDifference dTEva_nominal=10 
    "Temperature difference evaporator inlet-outlet";
  parameter Modelica.SIunits.TemperatureDifference dTCon_nominal=10 
    "Temperature difference condenser outlet-inlet";
  parameter Real COPc_nominal = 3 "Chiller COP";
  parameter Modelica.SIunits.MassFlowRate mEva_flow_nominal=
     per.mEva_flow_nominal "Nominal mass flow rate at evaporator";
  parameter Modelica.SIunits.MassFlowRate mCon_flow_nominal=
     per.mCon_flow_nominal "Nominal mass flow rate at condenser";
  replaceable Buildings.Fluid.Chillers.BaseClasses.PartialElectricSteadyState
    chi constrainedby 
    Buildings.Fluid.Chillers.BaseClasses.PartialElectricSteadyState(
       redeclare package Medium1 = Medium1,
       redeclare package Medium2 = Medium2,
       dp1_nominal=6000,
       dp2_nominal=6000) "Chiller model";
  Buildings.Fluid.Sources.MassFlowSource_T sou1(nPorts=1,
    redeclare package Medium = Medium1,
    use_T_in=true,
    m_flow=mEva_flow_nominal,
    T=298.15);
  Buildings.Fluid.Sources.MassFlowSource_T sou2(nPorts=1,
    redeclare package Medium = Medium2,
    use_T_in=true,
    m_flow=mCon_flow_nominal,
    T=291.15);
  Buildings.Fluid.Sources.FixedBoundary sin1(          redeclare package Medium
      = Medium1, nPorts=1);
  Buildings.Fluid.Sources.FixedBoundary sin2(          redeclare package Medium
      = Medium2, nPorts=1);
  Modelica.Blocks.Sources.Ramp TSet(
    duration=3600,
    startTime=3*3600,
    offset=273.15 + 10,
    height=8) "Set point for leaving chilled water temperature";
  inner Modelica.Fluid.System system;
  Modelica.Blocks.Sources.Ramp TCon_in(
    height=10,
    offset=273.15 + 20,
    duration=3600,
    startTime=2*3600) "Condenser inlet temperature";
  Modelica.Blocks.Sources.Ramp TEva_in(
    offset=273.15 + 15,
    height=5,
    startTime=3600,
    duration=3600) "Evaporator inlet temperature";
  replaceable parameter Buildings.Fluid.Chillers.Data.BaseClasses.Chiller per
  constrainedby Buildings.Fluid.Chillers.Data.BaseClasses.Chiller 
    "Base class for performance data";
  Modelica.Blocks.Sources.Pulse pulse(period=3600/2);
  Modelica.Blocks.Logical.GreaterThreshold greaterThreshold(threshold=0.5);
  Buildings.Fluid.FixedResistances.FixedResistanceDpM res1(
    redeclare package Medium = Medium1,
    m_flow_nominal=mCon_flow_nominal,
    dp_nominal=6000) "Flow resistance";
  Buildings.Fluid.FixedResistances.FixedResistanceDpM res2(
    dp_nominal=6000,
    redeclare package Medium = Medium2,
    m_flow_nominal=mEva_flow_nominal) "Flow resistance"; 
equation 
  connect(sou1.ports[1], chi.port_a1);
  connect(sou2.ports[1], chi.port_a2);
  connect(TCon_in.y, sou1.T_in);
  connect(TEva_in.y, sou2.T_in);
  connect(TSet.y, chi.TSet); 
  connect(greaterThreshold.u, pulse.y);
  connect(greaterThreshold.y, chi.on);
  connect(chi.port_b1, res1.port_a);
  connect(res1.port_b, sin1.ports[1]);
  connect(chi.port_b2, res2.port_a);
  connect(res2.port_b, sin2.ports[1]); 
end PartialElectric;