`Buildings.HeatTransfer`

consists of models
for heat transfer. The models have the same interface as models of
the package Modelica.Thermal.HeatTransfer.This user's guide describes the model structure and how to instantiate models for heat transfer calculations.

The models that compute heat transfer in solids consist of data records for the materials and of models that compute the heat transfer. The data records are composed hierarchically and consist of data records that define material properties with thermal storage (Buildings.HeatTransfer.Data.Solids) and of material properties of thermal resistors with no heat storage (Buildings.HeatTransfer.Data.Resistances). These records are used to assemble layers that define the thermal properties of constructions (Buildings.HeatTransfer.Data.OpaqueConstructions).

This layer definition is then used in models that compute the heat conduction. Like the materials, these models are assembled hierarchically. The simplest model is Buildings.HeatTransfer.Conduction.SingleLayer for heat conduction through a single layer of material. If the material's specific heat capacity is non-zero, then the model solves the Fourier equation

dT ⁄ dt = k ⁄ (ρ c)
d^{2}T ⁄ dx^{2}

If *ρ c=0*, then the model computes steady-state heat
conduction

Q = A k
(T_{a}-T_{b})

The boundary conditions for this model are the temperatures and heat flow rates at the material interface.

The model Buildings.HeatTransfer.Conduction.SingleLayer
is then used to construct the heat conductor Buildings.HeatTransfer.Conduction.MultiLayer
that has multiple layers of material. Some layers may be computed
transient (if *ρ c > 0*) and others are computed
steady-state. The boundary conditions for this model are its
surface temperatures and heat flow rates.

To model convective heat transfer, instances of the model Buildings.HeatTransfer.Convection are used, which allow using a convective heat transfer coefficient that is fixed or that is a function of the temperature difference between the solid surface and the fluid.

This section describes how to specify materials, and how to instantiate models that compute the heat transfer. The section describes the syntax used to declare heat conduction models. Note that such syntax is typically generated through the use of a graphical user interface that will show fields that can be edited and that provide options for predefined data that may be used as-is or adjusted for a particular building.

Suppose we want to model a construction with a surface area of
*20 m ^{2}* that consists of a

First, we define the materials as

Buildings.HeatTransfer.Data.Solids.InsulationBoard insulation(x=0.1, nStaRef=4); Buildings.HeatTransfer.Data.Solids.Concrete concrete(x=0.2, nStaRef=4);

Here, we selected to use four state variables for each material layer.

Next, we define the construction. In the room model, the convention is that the first material layer faces the outside, and the last material layer faces the room-side. Therefore, the declaration for an exterior wall with insulation at the outside is

Buildings.HeatTransfer.Data.OpaqueConstructions.Generic wall(nLay=2, material={insulation,concrete});

(Note that `nLay`

must be set to the number of layers
to allow a Modelica translator to know how many layers there are
prior to translating the model.)

Alternatively, to model the insulation in steady-state, we can set its heat capacity to zero by declaring

Buildings.HeatTransfer.Data.Solids.InsulationBoard insulation(c=0, x=0.1, nStaRef=4);

Instead of specifying a material with specific heat capacity and
setting `c=0`

, materials from the library Buildings.HeatTransfer.Data.Resistances
can be used. For example, for a floor with carpet, the declaration
would be

Buildings.HeatTransfer.Data.Resistances.Carpet carpet; Buildings.HeatTransfer.Data.Solids.Concrete concrete(x=0.2, nStaRef=4); Buildings.HeatTransfer.Data.OpaqueConstructions.Generic floor(nLay=2, material={concrete, carpet});

To change the thermal resistance, we could have written

Buildings.HeatTransfer.Data.Resistances.Carpet carpet(R=0.3);

or

Buildings.HeatTransfer.Data.Resistances.Generic carpet(R=0.3);

Both definitions are identical.

Generated at 2021-02-25T02:00:29Z by OpenModelicaOpenModelica 1.18.0~dev-65-g9ac6586 using GenerateDoc.mos