Extends from Buildings.BaseClasses.BaseIconExamples (Icon for Examples packages).
| Name | Description |
|---|---|
| Carnot | Test model for chiller based on Carnot efficiency |
| Type | Name | Default | Description |
|---|---|---|---|
| Power | P_nominal | 10E3 | 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 | 3 | Chiller COP |
| MassFlowRate | m1_flow_nominal | P_nominal*(COPc + 1)/dTEva_n... | Nominal mass flow rate at evaporator [kg/s] |
| MassFlowRate | m2_flow_nominal | m1_flow_nominal*COPc/(COPc +... | Nominal mass flow rate at condenser [kg/s] |
model Carnot "Test model for chiller based on Carnot efficiency"
import Buildings;
package Medium1 = Buildings.Media.ConstantPropertyLiquidWater "Medium model";
package Medium2 = Buildings.Media.ConstantPropertyLiquidWater "Medium model";
parameter Modelica.SIunits.Power P_nominal=10E3
"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 = 3 "Chiller COP";
parameter Modelica.SIunits.MassFlowRate m1_flow_nominal=
P_nominal*(COPc+1)/dTEva_nominal/4200
"Nominal mass flow rate at evaporator";
parameter Modelica.SIunits.MassFlowRate m2_flow_nominal=
m1_flow_nominal*COPc/(COPc+1) "Nominal mass flow rate at condenser";
Buildings.Fluid.Chillers.Carnot chi(
redeclare package Medium1 = Medium1,
redeclare package Medium2 = Medium2,
P_nominal=P_nominal,
dTEva_nominal=dTEva_nominal,
dTCon_nominal=dTCon_nominal,
COP_nominal=COPc,
use_eta_Carnot=true,
etaCar=0.3,
dp1_nominal=6000,
dp2_nominal=6000,
m1_flow_nominal=m1_flow_nominal,
m2_flow_nominal=m2_flow_nominal) "Chiller model";
Buildings.Fluid.Sources.MassFlowSource_T sou1(nPorts=1,
redeclare package Medium = Medium1,
use_T_in=true,
m_flow=m1_flow_nominal,
T=298.15);
Buildings.Fluid.Sources.MassFlowSource_T sou2(nPorts=1,
redeclare package Medium = Medium2,
use_T_in=true,
m_flow=m2_flow_nominal,
T=291.15);
Buildings.Fluid.Sources.FixedBoundary sin1(nPorts=1, redeclare package Medium
= Medium1);
Buildings.Fluid.Sources.FixedBoundary sin2(nPorts=1, redeclare package Medium
= Medium2);
Modelica.Blocks.Sources.Ramp uCom(
height=-1,
duration=60,
offset=1,
startTime=1800) "Compressor control signal";
inner Modelica.Fluid.System system;
Modelica.Blocks.Sources.Ramp TEva_in(
height=10,
duration=60,
offset=273.15 + 20,
startTime=60) "Evaporator inlet temperature";
Modelica.Blocks.Sources.Ramp TCon_in(
height=10,
duration=60,
startTime=900,
offset=273.15 + 10) "Condenser inlet temperature";
equation
connect(sou1.ports[1], chi.port_a1);
connect(sou2.ports[1], chi.port_a2);
connect(chi.port_b1, sin1.ports[1]);
connect(sin2.ports[1], chi.port_b2);
connect(TEva_in.y, sou1.T_in);
connect(TCon_in.y, sou2.T_in);
connect(uCom.y, chi.y);
end Carnot;