Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias

Package with modules to model inertia of refrigerant cycles

Information

This package contains models to account for inertia in the refrigerant cycle.

Package Content

Name Description
Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.NoInertia NoInertia No inertia
Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.VariableOrder VariableOrder Inertia using a critical damper with variable order
Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.BaseClasses BaseClasses  

Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.NoInertia Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.NoInertia

No inertia

Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.NoInertia

Information

Placeholder model for no inertia. This block is identical to Modelica.Blocks.Routing.RealPassThrough and is replaceable but constrained by other inertia modules.

Extends from BaseClasses.PartialInertia (Partial inertia model).

Connectors

TypeNameDescription
input RealInputuConnector of Real input signal
output RealOutputyConnector of Real output signal

Modelica definition

model NoInertia "No inertia" extends BaseClasses.PartialInertia; equation connect(u, y); end NoInertia;

Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.VariableOrder Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.VariableOrder

Inertia using a critical damper with variable order

Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.VariableOrder

Information

Model that uses a variable order delay to account for inertia.

Following the associated publication by Wuellhorst et al. (2021), this model was used to calibrate the heat pump model. If first order is selected, the frequency refIneFreConst equals the inverse of the time constant of a first order delay element.

In usage, be careful with the order of the delay. While a second or third order delay may result in a better fit in calibration, simulation speed is impacted. See the discussion in the paper for more information: https://doi.org/10.3384/ecp21181561

Extends from BaseClasses.PartialInertia (Partial inertia model).

Parameters

TypeNameDefaultDescription
InitinitTypeModelica.Blocks.Types.Init.N...Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)
Refrigerant inertia
FrequencyrefIneFreConst Cut off frequency for inertia of refrigerant cycle [Hz]
IntegernthOrd1Order of refrigerant cycle interia
Initialization
Refrigerant inertia
Realx_start[nthOrd]zeros(nthOrd)Initial or guess values of states
RealyRefIne_start0Initial or guess value of output (= state)

Connectors

TypeNameDescription
input RealInputuConnector of Real input signal
output RealOutputyConnector of Real output signal

Modelica definition

model VariableOrder "Inertia using a critical damper with variable order" extends BaseClasses.PartialInertia; parameter Modelica.Units.SI.Frequency refIneFreConst "Cut off frequency for inertia of refrigerant cycle"; parameter Integer nthOrd=1 "Order of refrigerant cycle interia"; parameter Real x_start[nthOrd]=zeros(nthOrd) "Initial or guess values of states"; parameter Real yRefIne_start=0 "Initial or guess value of output (= state)"; parameter Modelica.Blocks.Types.Init initType=Modelica.Blocks.Types.Init.NoInit "Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)"; Modelica.Blocks.Continuous.CriticalDamping criDam( final n=nthOrd, final f=refIneFreConst, initType=initType, final x_start=x_start) "Variable order damping model"; equation connect(u, criDam.u); connect(criDam.y, y); end VariableOrder;