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
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nTTan | Number of tank temperature points | |
| Real[2,2] | TTanSet | Tank temperature setpoints: 2 cycles with 2 setpoints | |
| Real | fraUslTan | Useless fraction of TES |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nTTan] | TTan | TES tank temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | y | Tank charge fraction | |
| Buildings.Controls.OBC.CDL.Reals.MatrixMax | rowMax | Row-wise maximum | |
| Buildings.Controls.OBC.CDL.Reals.MatrixMin | rowMin | Row-wise minimum | |
| Buildings.Controls.OBC.CDL.Reals.MultiMax | maxSet | Maximum setpoint temperature | |
| Buildings.Controls.OBC.CDL.Reals.MultiMin | minSet | Minimum setpoint temperature | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant[2,2] | temSet | Tank temperature setpoints: 2 cycles with 2 setpoints | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | numTanTemPoi | Number of tank temperature points | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | useFra | Useless fraction | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | reaScaRep | Replicate the input | |
| Buildings.Controls.OBC.CDL.Reals.Subtract[nTTan] | sub | Find the difference | |
| Buildings.Controls.OBC.CDL.Reals.MultiSum | mulSum | Sum of the input vector | |
| Buildings.Controls.OBC.CDL.Reals.Subtract | sub1 | Find the difference | |
| Buildings.Controls.OBC.CDL.Reals.Divide | div1 | Input 1 divided by input 2 | |
| Buildings.Controls.OBC.CDL.Reals.Divide | div2 | Input 1 divided by input 2 | |
| Buildings.Controls.OBC.CDL.Reals.Subtract | sub2 | Find the difference | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | one | Constant one | |
| Buildings.Controls.OBC.CDL.Reals.Subtract | sub3 | Find the difference | |
| Buildings.Controls.OBC.CDL.Reals.Divide | div3 | Input 1 divided by input 2 | |
| Buildings.Controls.OBC.CDL.Reals.MovingAverage | fraChaTan | Moving mean of tank charge fraction used for control logic |
Revisions
-
February 12, 2025, by Jianjun Hu:
First implementation.