blockTankChargeFraction

Tank charge fraction

Information

The tank charge fraction y is computed as the 5-minute moving average of the following expression:

(∑i (TTani - min(TTanSet)) / (max(TTanSet) - min(TTanSet)) / nTTan - fraUslTan) / (1 - fraUslTan),

where TTani is the measurement from the i-th temperature sensor along the vertical axis of the tank, TTanSet are the tank temperature setpoints (two values for each tank cycle), nTTan is the number of temperature sensors along the vertical axis of the tank, fraUslTan is the useless fraction of the tank which is computed as shown in Buildings.DHC.Plants.Combined.Controls.BaseClasses.ModeCondenserLoop.

Parameters

TypeNameDefaultDescription
IntegernTTanNumber of tank temperature points
Real[2,2]TTanSetTank temperature setpoints: 2 cycles with 2 setpoints
RealfraUslTanUseless fraction of TES

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.RealInput[nTTan]TTanTES tank temperature
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyTank charge fraction

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.MatrixMaxrowMaxRow-wise maximum
Buildings.Controls.OBC.CDL.Reals.MatrixMinrowMinRow-wise minimum
Buildings.Controls.OBC.CDL.Reals.MultiMaxmaxSetMaximum setpoint temperature
Buildings.Controls.OBC.CDL.Reals.MultiMinminSetMinimum setpoint temperature
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2,2]temSetTank temperature setpoints: 2 cycles with 2 setpoints
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantnumTanTemPoiNumber of tank temperature points
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantuseFraUseless fraction
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorreaScaRepReplicate the input
Buildings.Controls.OBC.CDL.Reals.Subtract[nTTan]subFind the difference
Buildings.Controls.OBC.CDL.Reals.MultiSummulSumSum of the input vector
Buildings.Controls.OBC.CDL.Reals.Subtractsub1Find the difference
Buildings.Controls.OBC.CDL.Reals.Dividediv1Input 1 divided by input 2
Buildings.Controls.OBC.CDL.Reals.Dividediv2Input 1 divided by input 2
Buildings.Controls.OBC.CDL.Reals.Subtractsub2Find the difference
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantoneConstant one
Buildings.Controls.OBC.CDL.Reals.Subtractsub3Find the difference
Buildings.Controls.OBC.CDL.Reals.Dividediv3Input 1 divided by input 2
Buildings.Controls.OBC.CDL.Reals.MovingAveragefraChaTanMoving mean of tank charge fraction used for control logic

Revisions

  • February 12, 2025, by Jianjun Hu:
    First implementation.