Buildings.Fluid.Chillers.ModularReversible.Examples

Collection of models that illustrate model use and test models

Information

This package contains examples for the use of models that can be found in Buildings.Fluid.Chillers.ModularReversible.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.Fluid.Chillers.ModularReversible.Examples.CarnotWithLosses CarnotWithLosses Example for reversible Carnot chiller model
Buildings.Fluid.Chillers.ModularReversible.Examples.LargeScaleWaterToWater LargeScaleWaterToWater Example for large scale water to water chiller
Buildings.Fluid.Chillers.ModularReversible.Examples.Modular Modular Example for modular reversible chiller

Buildings.Fluid.Chillers.ModularReversible.Examples.CarnotWithLosses Buildings.Fluid.Chillers.ModularReversible.Examples.CarnotWithLosses

Example for reversible Carnot chiller model

Buildings.Fluid.Chillers.ModularReversible.Examples.CarnotWithLosses

Information

Example that simulates a chiller based on the modular reversible approach using the Buildings.Fluid.Chillers.ModularReversible.CarnotWithLosses. model directly. The chiller control signal is the compressor speed ySet and the mode coo.

As the model contains internal safety controls, the compressor set speed ySet and actually applied speed yMea are plotted to show the influence of the safety control.

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

Modelica definition

model CarnotWithLosses "Example for reversible Carnot chiller model" extends Modelica.Icons.Example; package MediumCon = Buildings.Media.Water "Medium model for condenser"; package MediumEva = Buildings.Media.Water "Medium model for evaporator"; Buildings.Fluid.Chillers.ModularReversible.CarnotWithLosses chi( redeclare package MediumCon = MediumCon, redeclare package MediumEva = MediumEva, QCoo_flow_nominal=-30000, redeclare Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021 safCtrPar( minOffTime=100, use_maxCycRat=false, tabUppHea=[263.15,313.15; 333.15,313.15], tabLowCoo=[263.15,283.15; 333.15,283.15], use_TEvaOutCoo=true), TConCoo_nominal=313.15, dpCon_nominal(displayUnit="Pa") = 6000, use_conCap=false, CCon=0, GConOut=0, GConIns=0, TEvaCoo_nominal=278.15, dTEva_nominal(displayUnit="K") = 10, dTCon_nominal(displayUnit="K") = 5, dpEva_nominal(displayUnit="Pa") = 6000, use_evaCap=false, CEva=0, GEvaOut=0, GEvaIns=0, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, show_T=true, QHea_flow_nominal=40000, TConHea_nominal=293.15, TEvaHea_nominal=303.15) "Chiller instance with reversbile Carnot approach"; Buildings.Fluid.Sources.MassFlowSource_T souCon( nPorts=1, redeclare package Medium = MediumCon, use_T_in=true, m_flow=chi.mCon_flow_nominal, T=298.15) "Condenser source"; Buildings.Fluid.Sources.MassFlowSource_T souEva( nPorts=1, redeclare package Medium = MediumEva, use_T_in=true, m_flow=chi.mEva_flow_nominal, T=291.15) "Evaporator source"; Buildings.Fluid.Sources.Boundary_pT sinCon(nPorts=1, redeclare package Medium = MediumCon) "Condenser sink"; Buildings.Fluid.Sources.Boundary_pT sinEva(nPorts=1, redeclare package Medium = MediumEva) "Evaporator sink"; Modelica.Blocks.Sources.SawTooth ySet( amplitude=-1, period=500, offset=1, startTime=500) "Compressor control signal"; Modelica.Blocks.Sources.Ramp TConIn( height=10, duration=60, offset=273.15 + 30, startTime=60) "Condenser inlet temperature"; Modelica.Blocks.Sources.Ramp TEvaIn( height=10, duration=60, startTime=900, offset=273.15 + 15) "Evaporator inlet temperature"; equation connect(souCon.ports[1], chi.port_a1); connect(souEva.ports[1], chi.port_a2); connect(chi.port_b1, sinCon.ports[1]); connect(sinEva.ports[1], chi.port_b2); connect(TConIn.y, souCon.T_in); connect(TEvaIn.y, souEva.T_in); connect(ySet.y, chi.ySet); end CarnotWithLosses;

Buildings.Fluid.Chillers.ModularReversible.Examples.LargeScaleWaterToWater Buildings.Fluid.Chillers.ModularReversible.Examples.LargeScaleWaterToWater

Example for large scale water to water chiller

Buildings.Fluid.Chillers.ModularReversible.Examples.LargeScaleWaterToWater

Information

Example that simulates a chiller based on the modular reversible approach using the Buildings.Fluid.Chillers.ModularReversible.LargeScaleWaterToWater. model directly. The chiller control signal is the compressor speed ySet and the mode coo.

As the model contains internal safety controls, the compressor set speed ySet and actually applied speed yMea are plotted to show the influence of the safety control.

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

Modelica definition

model LargeScaleWaterToWater "Example for large scale water to water chiller" extends Modelica.Icons.Example; package MediumCon = Buildings.Media.Water "Medium model for condenser"; package MediumEva = Buildings.Media.Water "Medium model for evaporator"; Buildings.Fluid.Chillers.ModularReversible.LargeScaleWaterToWater chi( redeclare Buildings.Fluid.Chillers.ModularReversible.Data.TableData2D.EN14511.Carrier30XWP1012_1MW datTab, redeclare Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021 safCtrPar, redeclare package MediumCon = MediumCon, redeclare package MediumEva = MediumEva, QCoo_flow_nominal=-1000000, TConCoo_nominal=313.15, dpCon_nominal(displayUnit="Pa") = 6000, TEvaCoo_nominal=278.15, dpEva_nominal(displayUnit="Pa") = 6000, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial) "Large scale water to water chiller"; Buildings.Fluid.Sources.MassFlowSource_T souCon( nPorts=1, redeclare package Medium = MediumCon, use_T_in=true, m_flow=chi.mCon_flow_nominal, T=298.15) "Condenser source"; Buildings.Fluid.Sources.MassFlowSource_T souEva( nPorts=1, redeclare package Medium = MediumEva, use_T_in=true, m_flow=chi.mEva_flow_nominal, T=291.15) "Evaporator source"; Buildings.Fluid.Sources.Boundary_pT sinCon(nPorts=1, redeclare package Medium = MediumCon) "Condenser sink"; Buildings.Fluid.Sources.Boundary_pT sinEva(nPorts=1, redeclare package Medium = MediumEva) "Evaporator sink"; Modelica.Blocks.Sources.Ramp ySet( height=-1, duration=900, offset=1, startTime=1800) "Compressor control signal"; Modelica.Blocks.Sources.Ramp TConIn( height=10, duration=60, offset=273.15 + 30, startTime=60) "Condenser inlet temperature"; Modelica.Blocks.Sources.Ramp TEvaIn( height=10, duration=60, startTime=900, offset=273.15 + 15) "Evaporator inlet temperature"; equation connect(souCon.ports[1], chi.port_a1); connect(souEva.ports[1], chi.port_a2); connect(chi.port_b1, sinCon.ports[1]); connect(sinEva.ports[1], chi.port_b2); connect(TConIn.y, souCon.T_in); connect(TEvaIn.y, souEva.T_in); connect(ySet.y, chi.ySet); end LargeScaleWaterToWater;

Buildings.Fluid.Chillers.ModularReversible.Examples.Modular Buildings.Fluid.Chillers.ModularReversible.Examples.Modular

Example for modular reversible chiller

Buildings.Fluid.Chillers.ModularReversible.Examples.Modular

Information

Example that simulates a chiller based on the modular reversible approach. The chiller control signal is the compressor speed ySet and the mode coo.

As the model contains internal safety controls, the compressor set speed ySet and actually applied speed yMea are plotted to show the influence of the safety control.

The example further demonstrates how to redeclare the replaceable options in the model approach Buildings.Fluid.Chillers.ModularReversible.Modular.

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

Modelica definition

model Modular "Example for modular reversible chiller" extends Modelica.Icons.Example; package MediumCon = Buildings.Media.Air "Medium model for condenser"; package MediumEva = Buildings.Media.Water "Medium model for evaporator"; Buildings.Fluid.Chillers.ModularReversible.Modular chi( redeclare package MediumCon = MediumCon, redeclare package MediumEva = MediumEva, use_rev=true, allowDifferentDeviceIdentifiers=true, QCoo_flow_nominal=-30000, redeclare model RefrigerantCycleInertia = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.VariableOrder ( refIneFreConst=1/300, nthOrd=1, initType=Modelica.Blocks.Types.Init.InitialState), redeclare Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021 safCtrPar(minOffTime=100, use_opeEnv=false), TConCoo_nominal=313.15, dpCon_nominal(displayUnit="Pa") = 6000, use_conCap=false, CCon=0, GConOut=0, GConIns=0, TEvaCoo_nominal=278.15, dTEva_nominal=5, dTCon_nominal=5, dpEva_nominal(displayUnit="Pa") = 6000, use_evaCap=false, CEva=0, GEvaOut=0, GEvaIns=0, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, show_T=true, QHea_flow_nominal=30000, redeclare model RefrigerantCycleChillerCooling = Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.ConstantCarnotEffectiveness (etaCarnot_nominal=0.35), redeclare model RefrigerantCycleChillerHeating = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2D ( redeclare Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Frosting.NoFrosting iceFacCal, datTab= Buildings.Fluid.HeatPumps.ModularReversible.Data.TableData2D.EN14511.Vitocal251A08()), TEvaHea_nominal=303.15, TConHea_nominal=298.15) "Modular reversible chiller instance"; Buildings.Fluid.Sources.MassFlowSource_T souCon( nPorts=1, redeclare package Medium = MediumCon, use_T_in=true, m_flow=chi.mCon_flow_nominal, T=298.15) "Condenser source"; Buildings.Fluid.Sources.MassFlowSource_T souEva( nPorts=1, redeclare package Medium = MediumEva, use_T_in=true, m_flow=chi.mEva_flow_nominal, T=291.15) "Evaporator source"; Buildings.Fluid.Sources.Boundary_pT sinCon(nPorts=1, redeclare package Medium = MediumCon) "Condenser sink"; Buildings.Fluid.Sources.Boundary_pT sinEva(nPorts=1, redeclare package Medium = MediumEva) "Evaporator sink"; Modelica.Blocks.Sources.SawTooth ySet( amplitude=-1, period=500, offset=1, startTime=500) "Compressor control signal"; Modelica.Blocks.Sources.Ramp TConIn( height=10, duration=60, offset=273.15 + 30, startTime=60) "Condenser inlet temperature"; Modelica.Blocks.Sources.Ramp TEvaIn( height=10, duration=60, startTime=900, offset=273.15 + 15) "Evaporator inlet temperature"; Modelica.Blocks.Sources.BooleanStep chiCoo(startTime=2100, startValue=true) "Chilling mode on"; equation connect(souCon.ports[1], chi.port_a1); connect(souEva.ports[1], chi.port_a2); connect(chi.port_b1, sinCon.ports[1]); connect(sinEva.ports[1], chi.port_b2); connect(TConIn.y, souCon.T_in); connect(TEvaIn.y, souEva.T_in); connect(ySet.y, chi.ySet); connect(chiCoo.y, chi.coo); end Modular;