modelInfraredRadiationExchange
Extends from Buildings.ThermalZones.Detailed.BaseClasses.PartialSurfaceInterfaceRadiative (Partial model that is used for infrared radiation balance).
Information
This model computes the infrared radiative heat transfer between the interior surfaces of a room. Each opaque surface emits radiation according to
Ei = σ Ai εi (Ti)4,
where
σ
is the Stefan-Boltzmann constant,
Ai
is the surface area,
εi
is the absorptivity in the infrared spectrum, and
Ti
is the surface temperature.
If the parameter linearizeRadidation is set to true,
then the term (Ti)4 is replaced with
T03 Ti,
where T0 = 20°C is a parameter.
The incoming radiation at surface i is
Gi = -∑j Fj,i Jj
where Fj,i is the view factor from surface j to surface i, Jj is the radiosity leaving surface j and the sum is over all surfaces. For opaque surfaces, it follows from the first law that the radiosity Ji is
Ji = -Ei - (1-εi) Gi.
For windows, the outgoing radiosity is an input into this model because the window model computes this quantity directly.
For each surface i, the heat balance is
0 = Qi + Ji + Gi.
For opaque surfaces, the heat flow rate Qi is set to be equal to the heat flow rate at the heat port. For the glass of the windows, the radiosity outflow at the connector is set to the radiosity Gi that is leaving the surface.
The view factor from surface i to j is approximated as
Fi,j = Aj ⁄ ∑k Ak.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | NConExt (from ConstructionNumbers) | max(1, nConExt) | Number of elements for exterior constructions |
| Integer | NConExtWin (from ConstructionNumbers) | max(1, nConExtWin) | Number of elements for exterior constructions with windows |
| Integer | NConPar (from ConstructionNumbers) | max(1, nConPar) | Number of elements for partition constructions |
| Integer | NConBou (from ConstructionNumbers) | max(1, nConBou) | Number of elements for constructions that have their outside surface exposed to the boundary of this room |
| Integer | NSurBou (from ConstructionNumbers) | max(1, nSurBou) | Number of elements for surface heat transfer models that connect to constructions that are modeled outside of this room |
| Boolean | haveConExt (from ConstructionNumbers) | nConExt > 0 | Flag to conditionally remove components |
| Boolean | haveConExtWin (from ConstructionNumbers) | nConExtWin > 0 | Flag to conditionally remove components |
| Boolean | haveConPar (from ConstructionNumbers) | nConPar > 0 | Flag to conditionally remove components |
| Boolean | haveConBou (from ConstructionNumbers) | nConBou > 0 | Flag to conditionally remove components |
| Boolean | haveSurBou (from ConstructionNumbers) | nSurBou > 0 | Flag to conditionally remove components |
| ParameterConstruction[NConExt] | datConExt (from ConstructionRecords) | Data for exterior construction | |
| Buildings.ThermalZones.Detailed.BaseClasses.ParameterConstructionWithWindow[NConExtWin] | datConExtWin (from ConstructionRecords) | Data for exterior construction with window | |
| Buildings.ThermalZones.Detailed.BaseClasses.ParameterConstruction[NConPar] | datConPar (from ConstructionRecords) | Data for partition construction | |
| Buildings.ThermalZones.Detailed.BaseClasses.ParameterConstruction[NConBou] | datConBou (from ConstructionRecords) | Data for construction boundary | |
| Buildings.ThermalZones.Detailed.BaseClasses.OpaqueSurface[NSurBou] | surBou (from ConstructionRecords) | Record for data of surfaces whose heat conduction is modeled outside of this room | |
| HeatTransfer.Data.OpaqueConstructions.Brick120 | dummyCon (from ConstructionRecords) | Dummy construction to assign a parameter to the instance | |
| Buildings.HeatTransfer.Data.GlazingSystems.SingleClear3 | dummyGlaSys (from ConstructionRecords) | Dummy construction to assign a parameter to the instance | |
| Boolean | homotopyInitialization | true | = true, use homotopy method |
| Boolean | linearizeRadiation | Set to true to linearize emissive power | |
| Exterior constructions | |||
| Integer | nConExt (from ConstructionNumbers) | Number of exterior constructions | |
| Integer | nConExtWin (from ConstructionNumbers) | Number of window constructions | |
| Partition constructions | |||
| Integer | nConPar (from ConstructionNumbers) | Number of partition constructions | |
| Boundary constructions | |||
| Integer | nConBou (from ConstructionNumbers) | Number of constructions that have their outside surface exposed to the boundary of this room | |
| Integer | nSurBou (from ConstructionNumbers) | Number of surface heat transfer models that connect to constructions that are modeled outside of this room | |
| Experimental (may be changed in future releases) | |||
| Boolean | sampleModel | false | Set to true to time-sample the model, which can give shorter simulation time if there is already time sampling in the system model |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a[NConExt] | conExt (from PartialSurfaceInterface) | Heat port that connects to room-side surface of exterior constructions | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a[NConExtWin] | conExtWin (from PartialSurfaceInterface) | Heat port that connects to room-side surface of exterior constructions that contain a window | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a[NConExtWin] | conExtWinFra (from PartialSurfaceInterface) | Heat port that connects to room-side surface of window frame | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a[NConPar] | conPar_a (from PartialSurfaceInterface) | Heat port that connects to room-side surface a of partition constructions | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a[NConPar] | conPar_b (from PartialSurfaceInterface) | Heat port that connects to room-side surface b of partition constructions | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a[NConBou] | conBou (from PartialSurfaceInterface) | Heat port that connects to room-side surface of constructions that expose their other surface to the outside | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a[NSurBou] | conSurBou (from PartialSurfaceInterface) | Heat port to surfaces of models that compute the heat conduction outside of this room | |
| HeatTransfer.Interfaces.RadiosityInflow[NConExtWin] | JInConExtWin | Incoming radiosity that connects to non-frame part of the window | |
| HeatTransfer.Interfaces.RadiosityOutflow[NConExtWin] | JOutConExtWin | Outgoing radiosity that connects to non-frame part of the window |
Revisions
-
November 30, 2021, by Michael Wetter:
Removed test on radiation balance that was added for debugging purposes. -
April 14, 2020, by Michael Wetter:
ChangedhomotopyInitializationto a constant.
This is for IBPSA, #1341. -
January 23, 2017, by Michael Wetter:
Corrected wrong start value forJ. The start value was positive, butJ(each max =0).
This is for issue 627. -
May 21, 2015, by Michael Wetter:
Reformulated to reduce use of the division macro in Dymola. This is for issue 417. -
May 30, 2014, by Michael Wetter:
Removed undesirable annotationEvaluate=true. -
June 27, 2013, by Michael Wetter:
Changed model because the outflowing radiosity has been changed to be a non-negative quantity. See track issue #158. -
April 18, 2013, by Michael Wetter:
Removedcardinalityfunction as this is deprecated in the MSL specification and not correctly implemented in omc. -
February 10, 2012 by Wangda Zuo:
Fixed a bug for linearization of T4. -
April 21, 2011 by Michael Wetter:
Fixed a bug in the view factor calculation, and rewrote the model to reduce simulation time. The bug caused too much radiosity to flow from large to small surfaces because the law of reciprocity for view factors was not satisfied. This led to low surface temperatures if a surface had a large area compared to other surfaces. -
April 2, 2011 by Michael Wetter:
Addedhomotopyoperator. -
Feb. 3, 2011, by Michael Wetter:
Corrected bug in start value of radiosity, reformulated equations to get smaller system of coupled equations. -
Dec. 1, 2010, by Michael Wetter:
First implementation.