modelBuoyancy
Model to add buoyancy if there is a temperature inversion in the tank
Extends from Modelica.Blocks.Icons.Block.
Information
This model outputs a heat flow rate that can be added to fluid volumes in order to emulate buoyancy during a temperature inversion. For simplicity, this model does not compute a buoyancy induced mass flow rate, but rather a heat flow that has the same magnitude as the enthalpy flow associated with the buoyancy induced mass flow rate.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.Volume | V | Volume | |
| Integer | nSeg | 2 | Number of volume segments |
| Modelica.SIunits.Time | tau | Time constant for mixing |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatPort | Heat input into the volumes | |
| Modelica.SIunits.HeatFlowRate | Q_flow | Heat flow rate from segment i+1 to i |
Contents
| Name | Description |
|---|---|
| Medium | Medium model |
Revisions
-
June 7, 2018 by Filip Jorissen:
Copied model from Buildings and update the model accordingly. This is for #314. -
December 14, 2012 by Michael Wetter:
Renamed protected parameters for consistency with naming convention. -
October 8, 2011 by Michael Wetter:
AddednoEvent(...)toQ_flow[i] = k*smooth(1, if dT[i]>0 then dT[i]^2 else 0);since the equation returns the same value to the left and right ofdT[i]>0. -
September 16, 2011 by Michael Wetter:
Changed the implementation fromQ_flow[i] = k*max(heatPort[i+1].T-heatPort[i].T, 0);toQ_flow[i] = k*smooth(1, if dT[i]>0 then dT[i]^2 else 0);. The previous implementation was not differentiable. In modeling a solar system, this change reduced the computing time by a factor of 20 during the time when the pumps were almost switched off and colder temperature was fed from the collector to the tank. -
October 28, 2008 by Michael Wetter:
First implementation.