Buildings.Templates.Components.BaseClasses

Package with base classes for Buildings.Templates.Components

Information

This package contains base classes that are used to construct the models in Buildings.Templates.Components.

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

Package Content

Name Description
Buildings.Templates.Components.BaseClasses.PartialHeatPumpTableData2DLoadDep PartialHeatPumpTableData2DLoadDep Interface for heat pump using load-dependent 2D table data

Buildings.Templates.Components.BaseClasses.PartialHeatPumpTableData2DLoadDep Buildings.Templates.Components.BaseClasses.PartialHeatPumpTableData2DLoadDep

Interface for heat pump using load-dependent 2D table data

Buildings.Templates.Components.BaseClasses.PartialHeatPumpTableData2DLoadDep

Information

This is the base class for heat pump models where the capacity and input power are computed by interpolating manufacturer data along the condenser entering or leaving temperature, the evaporator entering or leaving temperature and the part load ratio. Toggling the Boolean parameter is_rev enables representing either a non-reversible (heating-only) heat pump or a reversible heat pump.

This model is a wrapper for Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep, which the user may refer to for the modeling assumptions.

Control points

The following input and output points are available.

Extends from Buildings.Templates.Components.Interfaces.PartialHeatPump.

Parameters

TypeNameDefaultDescription
replaceable package MediumHeaWatWaterHW medium
replaceable package MediumSouWaterSource-side medium
replaceable package MediumAirAirAir medium
HeatPumpdat Design and operating parameters
Configuration
HeatPumptyp Equipment type
Booleanis_rev Set to true for reversible heat pumps, false for heating only
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
BooleanallowFlowReversalSoutrueSource side flow reversal: false to simplify equations, assuming, but not enforcing, no flow reversal
Booleanhave_dpChiHeaWattrueSet to true for CHW/HW pressure drop computed by this model, false for external computation
Booleanhave_dpSoutrueSet to true for source fluid pressure drop computed by this model, false for external computation
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Dynamics
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
FluidPort_aport_aSouFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bSouFluid connector b (positive design flow direction is from port_a to port_b)
BusbusControl bus
BusbusWeaWeather bus

Modelica definition

partial model PartialHeatPumpTableData2DLoadDep "Interface for heat pump using load-dependent 2D table data" extends Buildings.Templates.Components.Interfaces.PartialHeatPump; Controls.StatusEmulator y1_actual "Compute heat pump status"; Fluid.Sensors.MassFlowRate mChiHeaWat_flow(redeclare final package Medium = MediumHeaWat) "CHW/HW mass flow rate"; Fluid.Sensors.TemperatureTwoPort TChiHeaWatEnt(redeclare final package Medium = MediumHeaWat, final m_flow_nominal=max(mChiWat_flow_nominal, mHeaWat_flow_nominal)) "CHW/HW entering temperature"; Fluid.Sensors.TemperatureTwoPort TChiHeaWatLvg(redeclare final package Medium = MediumHeaWat, final m_flow_nominal=max(mChiWat_flow_nominal, mHeaWat_flow_nominal)) "CHW/HW leaving temperature"; Fluid.Sensors.TemperatureTwoPort TSouEnt( redeclare final package Medium = MediumSou, final m_flow_nominal= mSouHea_flow_nominal) "Source fluid entering temperature"; Fluid.Sensors.TemperatureTwoPort TSouLvg( redeclare final package Medium = MediumSou, final m_flow_nominal= mSouHea_flow_nominal) "Source fluid leaving temperature"; Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep hp( redeclare final package MediumCon = MediumHeaWat, redeclare final package MediumEva = MediumSou, final datHea=dat.perHea, final datCoo=dat.perCoo, final P_min=dat.P_min, final use_rev=is_rev, final QCoo_flow_nominal=QCoo_flow_nominal, final QHea_flow_nominal=QHea_flow_nominal, final TConHea_nominal=THeaWatSup_nominal, final TEvaHea_nominal=TSouHea_nominal, final TConCoo_nominal=TChiWatSup_nominal, final TEvaCoo_nominal=TSouCoo_nominal, final allowFlowReversalCon=allowFlowReversal, final allowFlowReversalEva=allowFlowReversalSou, final dTCon_nominal=THeaWatSup_nominal - THeaWatRet_nominal, dTEva_nominal=0, final dpCon_nominal=if have_dpChiHeaWat then dpHeaWat_nominal else 0, final dpEva_nominal=if have_dpSou then dpSouHea_nominal else 0, final energyDynamics=energyDynamics, final mCon_flow_nominal=mHeaWat_flow_nominal, final mEva_flow_nominal=mSouHea_flow_nominal, final show_T=show_T, use_conCap=false, use_evaCap=false) "Heat pump"; equation connect(port_a, mChiHeaWat_flow.port_a); connect(mChiHeaWat_flow.port_b, TChiHeaWatEnt.port_a); connect(TChiHeaWatLvg.port_b, port_b); connect(TSouLvg.port_b, port_bSou); connect(TChiHeaWatEnt.port_b, hp.port_a1); connect(hp.port_b1, TChiHeaWatLvg.port_a); connect(TSouLvg.port_a, hp.port_b2); connect(TSouEnt.port_b, hp.port_a2); connect(y1_actual.y1_actual, bus.y1_actual); connect(bus.y1, hp.on); connect(bus.y1Hea, hp.hea); connect(bus.THeaWatSet, hp.THwSet); connect(bus.TChiWatSet, hp.TChwSet); connect(hp.on, y1_actual.y1); end PartialHeatPumpTableData2DLoadDep;