Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Is temperature inversion correction in stratified tank model of Buildings Library dimensionally correct?

I was reading code for the stratified tank model in particular the buoyancy model (Buildings.Fluid.Storage.BaseClasses.Buoyancy).

Q_flow[i] = k*noEvent(smooth(1, if dT[i]>0 then dT[i]^2 else 0));

Now "k" has dimensions "W/K", so right hand side becomes [W/K * K^2] while left hand side is [W].

The old implementation was:

Q_flow[i] = k*max(heatPort[i+1].T-heatPort[i].T, 0);

which is dimensionally correct.

The smooth operator does not differentiate dT^2. Is this a correction factor kind of equation and so we do not look at dimensions? What am I missing here?

Is temperature inversion correction in stratified tank model of Buildings Library dimensionally correct?

I was reading code for the stratified tank model in particular the buoyancy model (Buildings.Fluid.Storage.BaseClasses.Buoyancy).

Q_flow[i] $Q_flow[i] = k*noEvent(smooth(1, if dT[i]>0 then dT[i]^2 else 0));0));$

Now "k" has dimensions "W/K", so right hand side becomes [W/K * K^2] while left hand side is [W].

The old implementation was:

Q_flow[i] = k*max(heatPort[i+1].T-heatPort[i].T, 0);

which is dimensionally correct.

The smooth operator does not differentiate dT^2. Is this a correction factor kind of equation and so we do not look at dimensions? What am I missing here? here?

Is temperature inversion correction in stratified tank model of Buildings Library dimensionally correct?

I was reading code for the stratified tank model in particular the buoyancy model (Buildings.Fluid.Storage.BaseClasses.Buoyancy). (Buildings.Fluid.Storage.BaseClasses.Buoyancy).

$Q_flow[i]

Q_flow[i] = k*noEvent(smooth(1, if dT[i]>0 then dT[i]^2 else 0));$

0));

Now "k" k has dimensions "W/K", W/K, so right hand side becomes [W/K * K^2] K^2] while left hand side is [W].[W].

The old implementation was:

Q_flow[i] = k*max(heatPort[i+1].T-heatPort[i].T, 0);

0);

which is dimensionally correct.

The smooth operator does not differentiate dT^2. dT^2. Is this a correction factor kind of equation and so we do not look at dimensions? What am I missing here?

Is temperature inversion correction in stratified tank model of Buildings Library dimensionally correct?

I was reading code for the stratified tank model in particular the buoyancy model (Buildings.Fluid.Storage.BaseClasses.Buoyancy, see code on GitHub).

Q_flow[i] = k*noEvent(smooth(1, if dT[i]>0 then dT[i]^2 else 0));

Now k has dimensions W/K, so right hand side becomes [W/K * K^2] while left hand side is [W].

The old implementation was:

Q_flow[i] = k*max(heatPort[i+1].T-heatPort[i].T, 0);

which is dimensionally correct.

The smooth operator does not differentiate dT^2. Is this a correction factor kind of equation and so we do not look at dimensions? What am I missing here?

Is temperature inversion correction in stratified tank model of Buildings Library dimensionally correct?

I was reading code for the stratified tank model in particular the buoyancy model (Buildings.Fluid.Storage.BaseClasses.Buoyancy, see code on GitHub).

Q_flow[i] = k*noEvent(smooth(1, if dT[i]>0 then dT[i]^2 else 0));

Now k has dimensions W/K, so right hand side becomes [W/K * K^2] while left hand side is [W].

The old implementation was:

Q_flow[i] = k*max(heatPort[i+1].T-heatPort[i].T, 0);

which is dimensionally correct.

The smooth operator does not differentiate dT^2. Is this a correction factor kind of equation and so we do not look at dimensions? What am I missing here?