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"; equationconnect(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;