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] |
| PartialElectric | 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"
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.PartialElectric chi
constrainedby Buildings.Fluid.Chillers.BaseClasses.PartialElectric(
redeclare package Medium1 = Medium1,
redeclare package Medium2 = Medium2,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
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=mCon_flow_nominal,
T=298.15);
Buildings.Fluid.Sources.MassFlowSource_T sou2(nPorts=1,
redeclare package Medium = Medium2,
use_T_in=true,
m_flow=mEva_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;